(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【0010】
[第1の実施形態]
<システム構成>
図1は、第1の実施形態に係る情報処理システムの一例の構成図である。
図1に示される情報処理システム1はサービス提供環境E1、ユーザ環境E2を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
【0011】
サービス提供環境E1は、ネットワークN1を介してクラウドサービス等のサービスを提供するシステム環境である。本実施形態では、サービスの一例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)により提供されるサービスやWebサービス等のサービスであってもよい。
【0012】
サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークN1を介して所定のサービスを提供する。
【0013】
例えばサービス提供システム10は、保存している電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供する。第1の実施形態に係る情報処理システム1では、サービス提供システム10が、このようなクラウドプリントサービスを提供するものとして説明する。
【0014】
なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていてもよい。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部はユーザ環境E2に包含されていてもよい。
【0015】
ユーザ環境E2は、例えば画像形成装置20を使用するユーザである企業等のシステム環境である。ユーザ環境E2は、画像形成装置20、端末装置30が例えばLANなどのネットワークN2を介して接続されている。第1の実施形態に係る画像形成装置20はプリント機能を有する装置である。なお、画像形成装置20はプリント機能以外にスキャン機能、コピー機能やファックス(FAX)通信機能などを備える複合機などの電子機器であってもよい。第1の実施形態に係る端末装置30は、一般的なOSなどが搭載されたデスクトップPC、ノートPC、スマートフォンや携帯電話、タブレットPCなど、ユーザが操作可能な装置である。
【0016】
図1の情報処理システム1の構成は一例であって、他の構成であってもよい。例えば画像形成装置20は複数台あってもよい。また、端末装置30はネットワークN1に接続されていてもよい。
【0017】
<ハードウェア構成>
≪コンピュータ≫
図1のサービス提供システム10を実現する一台以上の情報処理装置は
図2に示すようなハードウェア構成のコンピュータにより実現される。また、
図1の端末装置30も
図2に示すようなハードウェア構成のコンピュータにより実現される。
図2は、第1の実施形態に係るコンピュータの一例のハードウェア構成図である。
【0018】
図2に示したコンピュータ500は、入力装置11と、表示装置12と、外部I/F13と、RAM14と、ROM15と、CPU16と、通信I/F17と、HDD18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
【0019】
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、コンピュータ500による処理結果を表示する。なお、入力装置11及び表示装置12は、必要なときに接続して利用する形態であってもよい。
【0020】
通信I/F17は、コンピュータ500をネットワークN1に接続するインタフェースである。これにより、コンピュータ500は、通信I/F17を介してデータ通信を行うことができる。HDD18は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ500全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。
【0021】
なお、コンピュータ500はHDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用してもよい。HDD18は格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
【0022】
外部I/F13は外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、コンピュータ500は、外部I/F13を介して記録媒体13aの読み取り及び/又は書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0023】
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM15には、コンピュータ500の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
【0024】
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。
【0025】
サービス提供システム10を実現する一台以上の情報処理装置はコンピュータ500のハードウェア構成により、後述するような各種処理を実現できる。また、端末装置30もコンピュータ500のハードウェア構成により、後述する各種処理を実現できる。
【0026】
≪画像形成装置≫
図1に示される画像形成装置20は例えば
図3に示すハードウェア構成を有する。
図3は、第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。
図3に示す画像形成装置20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。
【0027】
また、コントローラ21は、CPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを有する。ROM213は、各種プログラムやデータが格納されている。RAM212はプログラムやデータを一時保持する。NVRAM214は例えば設定情報等が格納されている。また、HDD215は各種プログラムやデータが格納されている。
【0028】
CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する。
【0029】
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、画像形成装置20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0030】
通信I/F24は、画像形成装置20をネットワークN2に接続するインタフェースである。これにより、画像形成装置20は通信I/F24を介してデータ通信を行うことができる。
【0031】
プリンタ25は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、OHP、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ26は原稿から画像データ(電子データ)を読み取り、画像ファイル(電子ファイル)を生成するための読取装置である。
【0032】
第1の実施形態に係る画像形成装置20は、上記したハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0033】
<ソフトウェア構成>
第1の実施形態に係る情報処理システム1は例えば
図4に示されるような処理ブロックにより実現することができる。
図4は、第1の実施形態に係る情報処理システムの一例の処理ブロック図である。
【0034】
画像形成装置20はブラウザ51が搭載されている。画像形成装置20のユーザはブラウザ51を介して、サービス提供システム10により提供されるサービスを利用することができる。このように、第1の実施形態に係る画像形成装置20では、ブラウザ51が搭載されていればよい。ブラウザ51は例えばサービス提供システム10から取得したWebコンテンツを表示できる。
【0035】
サービス提供システム10はドキュメントサービス部101、ファイルサービス部102、入出力サービス処理部103、認証管理部104、デバイスサービス部105、印刷データファイル記憶部106及びデバイスアプリ情報記憶部107を有する。なお、印刷データファイル記憶部106及びデバイスアプリ情報記憶部107は、サービス提供システム10とネットワークを介して接続される記憶装置等により実現されてもよい。
【0036】
ドキュメントサービス部101は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部101には、例えば各形式のドキュメントを画像形成装置20が解釈可能なデータ形式へと変換する印刷変換部111が含まれている。なお、ドキュメントサービス部101は印刷変換部111以外にも、電子ファイルの圧縮又は解凍するためのプログラム、電子ファイルに対してOCR処理を実行するプログラムなど、各種の処理を実行するプログラムが含まれていてもよい。ファイルサービス部102はデータ管理部112を有する。データ管理部112は外部から利用されるファイルのアクセス管理を行う。
【0037】
入出力サービス処理部103は、フロー制御部113及びコンポーネント群114を有する。フロー制御部113はドキュメントに関する入力、出力、変換の機能を持つ複数のコンポーネントを連結させて実行することでドキュメントワークフローを実現する。ここでコンポーネントとは各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。フロー制御部113はコンポーネントの連結やパラメータを指定可能なAPIを後述の外部アプリケーション31に対して提供する。
【0038】
コンポーネント群114はコンポーネントの集合である。コンポーネント群114には印刷変換コンポーネント121、認証コンポーネント122、ファイル入力コンポーネント123及び印刷命令コンポーネント124が含まれる。
【0039】
印刷変換コンポーネント121はドキュメントサービス部101の印刷変換部111を利用して電子ファイルを印刷可能な形式の印刷データに変換する。認証コンポーネント122はサービスの認証を行う。認証コンポーネント122はサービス提供システム10の認証の他、外部サービスを利用する場合に、外部サービスの代理認証も行う。
【0040】
ファイル入力コンポーネント123は後述の外部アプリケーション31から直接ファイルの入力を受け付ける。なお、ファイル入力コンポーネント123は、外部のファイルストレージサービス上のファイルを指定して入力とするようなコンポーネントの場合もあり得る。印刷命令コンポーネント124は印刷対象のファイルのロケーションを含む、所定の形式で記載された印刷命令を後述の命令配信部115に投入する。
【0041】
認証管理部104は、ユーザアカウントの認証管理を行う。また、認証管理部104はユーザログインを行わないで印刷を実行するための一時コードの発行と検証を行う。デバイスサービス部105は、命令配信部115及びアプリ配信部116を有する。
【0042】
命令配信部115は印刷命令コンポーネント124から投入された印刷命令をキューイングしておき、画像形成装置20からの要求に応じて印刷命令を画像形成装置20に送信する。
【0043】
アプリ配信部116は画像形成装置20のブラウザ51上で表示、実行されるデバイスアプリ情報132のWebコンテンツを配信する。例えばアプリ配信部116は、ブラウザ51からの要求に応じて、デバイスアプリ情報132に含まれる画面定義に基づく画面を返信する。これにより、画像形成装置20のブラウザ51には、サービス提供システム10により提供されるサービスを利用するための画面が表示される。
【0044】
印刷データファイル記憶部106は印刷データファイル131を記憶する。デバイスアプリ情報記憶部107はデバイスアプリ情報132を記憶する。デバイスアプリ情報132は、HTMLやCSSなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。デバイスアプリ情報132の処理内容には印刷ジョブ処理部が含まれている。印刷ジョブ処理部は、印刷命令を行い印刷ジョブを実行する。
【0045】
端末装置30は外部アプリケーション31が搭載されている。外部アプリケーション31は入出力サービス処理部103のAPIを利用し、ドキュメントの印刷をサービス提供システム10に要求する。
【0046】
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
【0047】
《印刷命令投入》
第1の実施形態に係る情報処理システム1で印刷を行うためには、まず、端末装置30の外部アプリケーション31から印刷命令を含むワークフローを実行してサービス提供システム10に印刷命令を投入する。その後、情報処理システム1では、画像形成装置20がサービス提供システム10から印刷命令を取得して印刷を実行する。
【0048】
図5は印刷命令投入処理の一例のシーケンス図である。ステップS11において外部アプリケーション31は
図6に示すジョブ実行リクエストをサービス提供システム10に投入する。
図6はサービス提供システムに投入されるジョブ実行リクエストの一例の構成図である。
【0049】
図6のジョブ実行リクエストは、フロー設定とパラメータ、印刷対象のファイルを同時に送るため、multipart/formdataの形式で送信する。
図6のジョブ実行リクエストは最初のパートにJSON形式のフロー設定とパラメータが記載され、次のパートにファイルのデータが記載されている。なお、ファイルを含まないジョブ実行リクエストであれば、application/jsonの形式でフロー設定とパラメータとを送信してもよい。
【0050】
図6のジョブ実行リクエストのフロー設定は、component、params及びnextのフィールドを持つオブジェクトの配列として表現される。componentはコンポーネントの名前である。印刷変換コンポーネント121の名前は
図6のジョブ実行リクエストにおいて「print_convert」である。認証コンポーネント122の名前は
図6のジョブ実行リクエストにおいて「auth」である。
【0051】
ファイル入力コンポーネント123の名前は
図6のジョブ実行リクエストにおいて「file_input」である。印刷命令コンポーネント124の名前は
図6のジョブ実行リクエストにおいて「print_command」である。
【0052】
paramsはコンポーネントに対するパラメータ設定であり、コンポーネントにより異なる。例えば
図6では認証コンポーネント122に対するパラメータとしてユーザログインに使うユーザ名(username)とパスワード(password)とが設定されている。また、
図6ではファイル入力コンポーネント123に対するパラメータとしてファイル名(name)が設定されている。また、
図6では印刷変換コンポーネント121に対するパラメータとしてPDL種別と印刷設定のパラメータとが設定されている。
【0053】
PDL種別(pdl)は印刷データフォーマットの種類を示す。また、印刷設定のパラメータには部数(copies)とカラーモノクロ設定(colormode)と用紙サイズ(papersize)と両面設定(2sided)と集約設定(layout)とが含まれている。
【0054】
また、
図6では印刷命令コンポーネント124に対するパラメータとして画像形成装置20のブラウザ51に表示する印刷命令の説明(description)とジョブ実行リクエストの投入日時(created_at)とが設定されている。
【0055】
nextは次に処理されるコンポーネントの名前である。次に処理されるコンポーネントには処理結果が渡される。つまり、各コンポーネントには処理を実行する際にジョブ実行リクエストによって指定されたパラメータと、前に処理を行ったコンポーネントの処理結果とが渡される。
【0056】
例えば
図6のジョブ実行リクエストに基づくフローを実行した場合、各コンポーネント間のデータフローは、例えば
図7に示すようになる。
図7は各コンポーネント間における一例のデータフロー図である。
【0057】
フロー制御部113は
図6のジョブ実行リクエストのフロー設定のnextを参照することでコンポーネント間の依存関係を構築する。そして、フロー制御部113はジョブ実行リクエストのパラメータ設定と、前に処理を行ったコンポーネントの処理結果と、を渡して次々にコンポーネントを実行していく。
【0058】
なお、
図7に示したように、依存関係の無いコンポーネント同士は、並列実行が可能である。
図7の例では、認証コンポーネント122が、ファイル入力コンポーネント123及び印刷変換コンポーネント121と並列実行されている。
【0059】
図6のジョブ実行リクエストの場合、フロー制御部113は例えば
図5のシーケンス図に示すように、認証コンポーネント122、ファイル入力コンポーネント123、印刷変換コンポーネント121、印刷命令コンポーネント124の順に処理を実行する。
【0060】
図5に戻り、フロー制御部113は
図6のジョブ実行リクエストに記載されている認証コンポーネント122のパラメータ設定のユーザログインに使うユーザ名とパスワードとを読み出す。そして、ステップS12においてフロー制御部113はユーザログインに使うユーザ名とパスワードとを認証コンポーネント122に渡して実行を指示する。
【0061】
ステップS13に進み、認証コンポーネント122はユーザログインに使うユーザ名とパスワードとを指定して、認証管理部104にユーザ認証を要求する。認証管理部104は認証が成功すると、認証情報を認証コンポーネント122に返す。なお、認証情報にはユーザ名と認証トークンとが含まれる。そして、認証情報は認証コンポーネント122からフロー制御部113に返される。
【0062】
フロー制御部113は
図6のジョブ実行リクエストに記載されているファイル入力コンポーネント123のパラメータ設定のファイル名に基づき、ジョブ実行リクエストから印刷対象のファイルを読み出す。そして、ステップS14においてフロー制御部113は印刷対象のファイルをファイル入力コンポーネント123に渡して実行を指示する。そしてステップS15に進み、ファイル入力コンポーネント123は受け取ったファイルをテンポラリに保存し、そのファイルパスをフロー制御部113に返す。
【0063】
続いて、フロー制御部113は
図6のジョブ実行リクエストに記載されている印刷変換コンポーネント121のパラメータ設定のPDL種別、印刷設定を読み出す。ステップS16に進み、フロー制御部113は印刷変換コンポーネント121のパラメータ設定のPDL種別、印刷設定と、ファイル入力コンポーネント123の処理結果であるファイルパスとを印刷変換コンポーネント121に渡して実行を指示する。
【0064】
ステップS17に進み、印刷変換コンポーネント121は、印刷変換コンポーネント121のパラメータ設定のPDL種別、印刷設定と、ファイル入力コンポーネント123の処理結果であるファイルパスとを印刷変換部111に渡して変換を指示する。
【0065】
ステップS18に進み、印刷変換部111はファイルパスを利用してテンポラリに保存されているファイルを取得する。そして、印刷変換部111は取得したファイルを印刷設定に基づく印刷データに変換する。ステップS19に進み、印刷変換部111は変換した印刷データをテンポラリに保存する。そしてステップS20に進み、印刷変換部111は印刷データのファイルパスと、PDL種別とをフロー制御部113に返す。
【0066】
続いて、フロー制御部113は
図6のジョブ実行リクエストに記載されている印刷命令コンポーネント124のパラメータ設定を読み出す。ステップS21に進み、フロー制御部113は読み出したパラメータ設定と、認証コンポーネント122の処理結果と、印刷変換コンポーネント121の処理結果と、を印刷命令コンポーネント124に渡して実行を指示する。なお、認証コンポーネント122の処理結果は認証情報である。印刷変換コンポーネント121の処理結果は印刷データのファイルパス及びPDL種別である。
【0067】
ステップS22に進み、印刷命令コンポーネント124はフロー制御部113から渡された認証情報と印刷データのファイルパスとを指定し、データ管理部112に印刷データの保存を指示する。データ管理部112は印刷データの保存場所を示す保存先URLを発行して印刷命令コンポーネント124に返す。これにより、第1の実施形態に係る情報処理システム1ではサービス提供システム10の外部から、ユーザの権限により印刷データにアクセス可能となる。
【0068】
ステップS23に進み、印刷命令コンポーネント124は認証管理部104を利用して一時コードの発行を行う。この一時コードは画像形成装置20からユーザログインの代わりに一時コードの入力によって印刷を実行する場合に利用する。なお、一時コードは例えば所定の時間が経過すると利用不能とする。
【0069】
ステップS24に進み、印刷命令コンポーネント124は一時コード、認証情報、
図8に示す印刷命令データを指定して、命令配信部115に印刷命令発行を指示する。
図8は命令配信部に登録される印刷命令データの一例の構成図である。
【0070】
description及びcreated_atは印刷命令コンポーネント124のパラメータ設定に含まれていたものである。pdlは印刷変換コンポーネント121の処理結果に含まれていたものである。fileurlは保存先URLである。typeは印刷命令であることを示すために追加された情報である。
【0071】
命令配信部115は受け取った印刷命令データをキューイングしておき、画像形成装置20からの要求に応じて画像形成装置20に印刷命令データを返す。命令配信部115は受け取った印刷命令データを
図9のように加工して保存する。
図9は加工された印刷命令データの一例の構成図である。
【0072】
idは命令を一意に識別するための識別情報の一例である。updated_atは最後に印刷命令の状態が変更された日時である。updated_atの初期値はcreated_atと同一である。statusは印刷命令の状態である。statusの初期値はcreatedである。その後のstatusの印刷命令の状態変化については後述する。
【0073】
なお、命令配信部115は、加工した印刷命令データを
図10に示すように認証情報及び一時コードに対応付けて管理する。
図10は印刷命令データの保存形式の一例について説明する図である。
図10に示すように、各印刷命令データが、一時コードに対して一意に対応付けられている。また、各印刷命令データとユーザIDとはn対1に対応付けられている。
図10に示す対応付けにより、命令配信部115は一時コードに対応する印刷命令データを一意に取り出したり、ユーザIDに対応する印刷命令データの一覧を取り出したり、できる。
【0074】
ステップS25に進み、印刷命令コンポーネント124は一時コードをフロー制御部113に返す。全てのコンポーネントの実行が完了すると、フロー制御部113は最後のコンポーネントである印刷命令コンポーネント124の実行結果である一時コードを端末装置30の外部アプリケーション31に返す。そして、ステップS26において、外部アプリケーション31は何らかの手段(例えば表示など)により、一時コードをユーザに提示する。
【0075】
図11は外部アプリケーションの一例の画面遷移図である。ユーザはトップ画面1000からドキュメント選択画面1001に遷移し、ドキュメント選択画面1001から印刷対象のドキュメントを選択する。また、ユーザはトップ画面1000から印刷設定を選択する。
【0076】
ユーザによりトップ画面1000のOKボタンが押下されると、外部アプリケーション31は
図5のステップS11の処理により、
図6に示したジョブ実行リクエストをサービス提供システム10に投入する。
【0077】
例えばドキュメント選択画面1001から選択したドキュメントは、ファイル入力コンポーネント123のパラメータ設定のファイル名(name)となる。また、ドキュメント選択画面1001から選択した印刷設定は印刷変換コンポーネント121のパラメータ設定の印刷設定となる。サービス提供システム10から一時コードがレスポンスとして返ると、外部アプリケーション31は結果画面1002に一時コードを表示する。結果画面1002には一時コードを画像形成装置20に入力することで印刷対象のドキュメントを印刷できることをユーザに促す表示がなされる。
【0078】
《印刷実行》
図12はサービス提供システムから画像形成装置へのコンテンツ配信について説明する図である。画像形成装置20上に搭載されたブラウザ51はサービス提供システム10のアプリ配信部116のURLをデフォルトのURLとして保持している。ブラウザ51は起動されるとアプリ配信部116に対し、デバイスアプリ情報132のダウンロードリクエストを行う。
【0079】
デバイスアプリ情報132は、HTMLやCSSで記述された画面定義や、Javascript(登録商標)などのスクリプト言語で記述された印刷ジョブ処理部などのコンテンツを含む構成である。ダウンロードされたデバイスアプリ情報132は画像形成装置20上のブラウザ51上で実行/表示される。また、サービス提供システム10のアプリ配信部116はアプリケーションキャッシュに対応している。したがって、画像形成装置20にダウンロードされたデバイスアプリ情報132の再ダウンロードは、デバイスアプリ情報132の更新が行われるまで発生しない。
【0080】
第1の実施形態に係る情報処理システム1は、サービス提供システム10上に配置されたデバイスアプリ情報132を、画像形成装置20のブラウザ51がダウンロードして表示/実行する構成である。なお、第1の実施形態に係る情報処理システム1は画像形成装置20上のローカルストレージにデバイスアプリを配置し、デバイスアプリが各サービスのAPIを利用する構成であってもよい。
【0081】
図13は画像形成装置のブラウザ上に表示されるUIの一例の遷移図である。
図13に示したUIはデバイスアプリ情報132の画面定義に基づいて表示される。トップ画面1501には「一時コードで実行」ボタン1511が設けられている。ユーザにより「一時コードで実行」ボタン1511が押下されると、ブラウザ51は一時コード画面1502を表示する。
【0082】
一時コード画面1502には一時コードを入力する欄が設けられている。ユーザは
図11の結果画面1002に表示された一時コードを、一時コード画面1502に入力してOKボタンを押下する。一時コードが正しければ、画像形成装置20は印刷中画面1503を表示し、
図14に示す手順により印刷を実行する。
【0083】
図14は一時コード入力による印刷実行の一例のシーケンス図である。ステップS31においてユーザはブラウザ51上に表示された一時コード画面1502に一時コードを入力し、OKボタンを押下する。
【0084】
ステップS32に進み、ブラウザ51は画像形成装置20のブラウザ51上で実行されている印刷ジョブ処理部52に一時コードによるジョブ実行を要求する。ステップS33に進み、印刷ジョブ処理部52は一時コードを指定し、サービス提供システム10の命令配信部115に命令取得を要求する。
【0085】
ステップS34に進み、命令配信部115は一時コードが有効か否かの検証を認証管理部104に要求する。ここでは一時コードが有効であったものとして説明する。命令配信部115は一時コードが有効であれば、ステップS35において、一時コードに対応付いて保存されていた
図9の印刷命令データを印刷ジョブ処理部52に返す。
【0086】
印刷ジョブ処理部52は印刷ジョブを開始するため、印刷命令データの状態(status)を
図15のように処理中(processing)に変更する必要がある。
図15は状態が処理中に変更された印刷命令データの一例の構成図である。
図15に示した印刷命令データは、statusがprocessingに変更され、updated_atが、その時点の時刻に変更されている。
【0087】
ステップS36に進み、印刷ジョブ処理部52は命令配信部115に対し、
図15に示したように印刷命令データの状態を処理中に変更するため、処理中への命令状態変更の要求を行う。処理中への命令状態変更の要求を受け付けた命令配信部115はステップS37において、印刷データの保存先URLを指定してアクセストークンの発行をデータ管理部112に要求する。
【0088】
アクセストークンは一時的に利用可能であり、保存先URLの印刷データにアクセスするために必要となる。なお、アクセストークンは保存先URLの印刷データに対して有効であり、一定時間経過したら無効となる。データ管理部112は発行したアクセストークンを命令配信部115に返す。
【0089】
ステップS38に進み、命令配信部115は状態が処理中に変更された
図15に示したような印刷命令データにアクセストークンを含めた
図16のような印刷命令データを印刷ジョブ処理部52に返す。
図16はアクセストークンを含む印刷命令データの一例の構成図である。
図16の印刷命令データにはフィールドにアクセストークン(accessToken)が追加されている。
【0090】
ステップS39に進み、印刷ジョブ処理部52は印刷データの保存先URLとアクセストークンとを指定してデータ管理部112にファイルの取得要求を行う。データ管理部112はアクセストークンが正当なものであれば、保存先URLの印刷データを印刷ジョブ処理部52に返す。
【0091】
ステップS40に進み、印刷ジョブ処理部52は印刷データをコントローラ21に投入して印刷を実行する。ステップS41に進み、印刷ジョブ処理部52は命令配信部115に対し、
図16に示したような印刷命令データの状態を完了に変更するため、完了への命令状態変更の要求を行う。命令配信部115は完了への命令状態変更の要求により、印刷命令データの処理が完了したと判断する。
【0092】
完了への命令状態変更の要求を受け付けた命令配信部115は、
図16に示した印刷命令データのstatusを
図17のように完了(completed)に変更し、updated_atを、その時点の時刻に変更する。命令配信部115は状態が完了に変更された
図17に示したような印刷命令データを印刷ジョブ処理部52に返す。
【0093】
図18は印刷命令データの状態遷移図である。命令配信部115に投入された直後の印刷命令データの状態は
図9のように生成済(created)である。その後、印刷命令データの状態はジョブ実行開始により、
図15に示す印刷命令データように処理中(processing)に変更される。
【0094】
正常にジョブが完了すれば、印刷命令データの状態は
図17に示す印刷命令データのように完了(completed)に変更される。ジョブ実行中の画像形成装置20において続行不能なエラーによる中断が発生した場合や、ユーザによるキャンセルが発生した場合、印刷ジョブ処理部52は印刷命令データの状態を中断中(cancelled)に変更する。状態が中断中の印刷命令データは、再度、処理中(processing)に移行できる。
【0095】
また、状態が生成済や中断中の印刷命令データは削除が可能である。例えば状態が生成済や中断中の印刷命令データの削除は
図19に示すような命令選択画面1601のリストに削除ボタンを設けることで実行できる。
図19は印刷命令データの削除が可能な命令選択画面の一例のイメージ図である。
【0096】
なお、印刷ジョブ処理部52が命令配信部115から取得可能な印刷命令データは状態が生成済みか中断中の印刷命令データとすることで、既に処理中の印刷命令データが他の画像形成装置20で同時に処理されることを防ぐことができる。また、印刷ジョブ処理部52が命令配信部115から取得可能な印刷命令データは状態が生成済みか中断中の印刷命令データとすることで、状態が完了や削除済みの印刷命令データが再度処理されることを防ぐことができる。また、印刷命令データの状態はサービス提供システム10側で利用ログを管理するのにも利用できる。
【0097】
[第2の実施形態]
第1の実施形態は一時コードにより画像形成装置20がサービス提供システム10から印刷命令データを取り出していた。第2の実施形態はログインにより画像形成装置20がサービス提供システム10から印刷命令データを取り出すものである。なお、第2の実施形態は一部を除いて第1の実施形態と同様であるため、適宜説明を省略する。
【0098】
図20は画像形成装置のブラウザ上に表示されるUIの他の例の遷移図である。
図20に示したUIもデバイスアプリ情報132の画面定義に基づいて表示される。トップ画面1501には「一時コードで実行」ボタン1511と「ログインして実行」ボタン1512とが設けられている。ユーザにより「一時コードで実行」ボタン1511が押下された場合は第1の実施形態において説明した処理を行う。
【0099】
また、ユーザにより「ログインして実行」ボタン1512が押下されると、ブラウザ51はユーザ認証画面1504を表示する。ユーザ認証画面1504には、ユーザ名とパスワードとを入力する欄が設けられている。ユーザはユーザ名とパスワードとをユーザ認証画面1504に入力してログインボタンを押下する。
【0100】
認証に成功すると、画像形成装置20は命令選択画面1505に遷移する。命令選択画面1505には認証に成功したユーザのユーザIDと対応付けられてサービス提供システム10に保存されている印刷命令データの一覧が表示される。命令選択画面1505に表示される印刷命令データの一覧には印刷命令データのdescriptionに設定されている印刷命令の説明が、印刷命令データを特定するために表示されている。
【0101】
ユーザは命令選択画面1505の一覧からジョブ実行したい印刷命令データを選択してOKボタンを押下する。画像形成装置20は印刷中画面1503を表示し、
図21に示す手順により印刷を実行する。
【0102】
図21はユーザ認証による印刷実行の一例のシーケンス図である。ステップS51においてユーザはブラウザ51上に表示された
図20のユーザ認証画面1504にユーザ名とパスワードとを入力し、OKボタンを押下する。
【0103】
ステップS52に進み、ブラウザ51は画像形成装置20のブラウザ51上で実行されている印刷ジョブ処理部52に、ログインによるジョブ実行を要求する。ステップS53に進み、印刷ジョブ処理部52はサービス提供システム10の認証管理部104に対してユーザ認証を要求する。認証管理部104はユーザ認証に成功すると、印刷ジョブ処理部52に認証情報を返す。
【0104】
ステップS54に進み、印刷ジョブ処理部52は認証情報を指定し、サービス提供システム10の命令配信部115に命令一覧取得を要求する。ステップS55に進み、命令配信部115は認証情報の検証を認証管理部104に要求する。ここでは認証情報の検証結果がOKであったものとして説明する。
【0105】
命令配信部115は認証情報がOKであれば、ステップS56に進み、認証に成功したユーザのユーザIDに対応付けられてサービス提供システム10に保存されている印刷命令データの一覧を取得する。ステップS57において、命令配信部115は取得した印刷命令データの一覧を印刷ジョブ処理部52に返す。
【0106】
図22は命令配信部から印刷ジョブ処理部に返される印刷命令データの一覧の一例の構成図である。
図22の印刷命令データの一覧は、端末装置30からユーザが投入した印刷命令データがタイムスタンプの新しい順にソートされている。なお、印刷命令データの一覧には、状態が生成済か中断中の印刷命令データが含まれる。
【0107】
ステップS58に進み、印刷ジョブ処理部52は印刷命令データの一覧を
図20の命令選択画面1505のようにブラウザ51に表示し、印刷命令データ一覧からユーザに印刷命令データを選択させる。
【0108】
ステップS59においてユーザは命令選択画面1505の一覧からジョブ実行したい印刷命令データを選択してOKボタンを押下する。ステップS60に進み、ブラウザ51は選択された印刷命令データのid(命令ID)を指定して、印刷ジョブ処理部52に命令実行を要求する。印刷ジョブ処理部52は印刷ジョブを開始するため、印刷命令データの状態(status)を処理中(processing)に変更する必要がある。
【0109】
ステップS61に進み、印刷ジョブ処理部52は命令配信部115に対し、認証情報を指定して印刷命令データの状態を処理中に変更する命令状態変更の要求を行う。認証情報が指定された場合、命令配信部115は認証情報によるアクセスが可能であるため、アクセストークンの発行を行わない。したがって、命令配信部115から印刷ジョブ処理部52に返される印刷命令データは
図15と同様な形式となる。
【0110】
ステップS62に進み、印刷ジョブ処理部52は印刷データの保存先URLと認証情報とを指定してデータ管理部112にファイルの取得要求を行う。そして、データ管理部112は認証情報が正当なものであれば、保存先URLの印刷データを印刷ジョブ処理部52に返す。
【0111】
ステップS63に進み、印刷ジョブ処理部52は印刷データをコントローラ21に投入して印刷を実行する。ステップS64に進み、印刷ジョブ処理部52は命令配信部115に対し、印刷命令データの状態を完了に変更するために、完了への命令状態変更の要求を行う。命令配信部115は完了への命令状態変更の要求により、印刷命令データの処理が完了したと判断する。
【0112】
完了への命令状態変更の要求を受け付けた命令配信部115は印刷命令データのstatusを完了(completed)に変更し、updated_atを、その時点の時刻に変更する。命令配信部115は状態が完了に変更された印刷命令データを印刷ジョブ処理部52に返す。
【0113】
<まとめ>
以上、第1及び第2の実施形態に係る情報処理システム1では、コンポーネントの連携によってドキュメントワークフローを構成可能なサービス提供システム10に、画像形成装置20への印刷命令を発行する印刷命令コンポーネント124を追加している。
【0114】
サービス提供システム10のAPIを通じて投入された印刷命令データはサービス提供システム10内に保存される。画像形成装置20はサービス提供システム10から印刷命令データを取得し、その印刷命令データに従って出力対象の印刷データを印刷する。
【0115】
したがって、第1及び第2の実施形態に係る情報処理システム1では、画像形成装置20に対して出力可能なサービスを、画像形成装置20側の開発を行うことなく実現可能なサービス提供システム10のプラットフォームを提供できる。
【0116】
第1及び第2の実施形態に係る情報処理システム1によれば、画像形成装置20と連携して処理を行うサービスの開発を支援するサービス提供システム10を提供できる。
【0117】
[第3の実施形態]
第3の実施形態はサービス提供システム10に用意したサービス提供システムAPI301を用いてクラウドプリントのフローを行うものである。なお、第3の実施形態は一部を除いて第1及び第2の実施形態と同様であるため、適宜説明を省略する。
【0118】
<ソフトウェア構成>
第3の実施形態に係る情報処理システム1は例えば
図23に示される処理ブロックにより実現することができる。
図23は、第3の実施形態に係る情報処理システムの一例の処理ブロック図である。
【0119】
画像形成装置20はブラウザ51が搭載されている。また、画像形成装置20には機器SDK API331が用意されている。ブラウザ51は機器SDK API331を介して、スキャン実行部332、プリント実行部333、イベント検知部334及び機器情報蓄積部335を利用できる。また、ブラウザ51はサービス提供システム10からWebコンテンツを取得して表示できる。
【0120】
サービス提供システム10は、ネットワークN1を介してクラウドサービス等のサービスを提供するシステム環境である。サービス提供システム10は、ファイルサービス部102、入出力サービス処理部103、認証管理部104、デバイスサービス部105、印刷データファイル記憶部106、デバイスアプリ情報記憶部107及びサービス提供システムAPI301を有する。
【0121】
サービス提供システムAPI301は、ジョブAPI302及び認証API303を有する。端末装置30の外部アプリケーション31は、ジョブAPI302を介して入出力サービス処理部103を利用できる。また、外部アプリケーション31は認証API303を介して認証管理部104を利用できる。
【0122】
図23の入出力サービス処理部103は、ファイル変換部311及びコマンド処理部312を有する。ファイル変換部311はファイル変換に関する処理を行う。コマンド処理部312はコマンドに関する処理を行う。デバイスサービス部105は、命令配信部115、アプリ配信部116及び利用履歴部321を有する。利用履歴部321は利用履歴情報の登録や取得に関する処理を行う。デバイスアプリ情報記憶部107はデバイスアプリ情報132を記憶する。デバイスアプリ情報132はHTMLやCSSなどで記述された画面レイアウトの定義と、サービスを実現するための一例の処理を示す処理内容と、が記述されている。デバイスアプリ情報132の処理内容にはジョブ処理部、機器情報送信部及び機器情報管理部が含まれている。
【0123】
<処理の詳細>
次に、第3の実施形態に係る情報処理システム1の処理の詳細について説明する。
【0124】
《プリントジョブ登録》
図24はプリントジョブ登録処理の一例のシーケンス図である。ユーザはステップS101において、端末装置30の外部アプリケーション31上でユーザID及びパスワードを指定し、サインインを要求する。
【0125】
ステップS102に進み、外部アプリケーション31はサービス提供システム10に用意されたサービス提供システムAPI301の認証API303に、ユーザID及びパスワードを指定し、サインインを要求する。認証API303は認証管理部104に認証を要求する。認証が成功すれば、認証管理部104は認証トークンを発行し、認証API303を介して外部アプリケーション31に返す。
【0126】
ユーザはステップS104において、外部アプリケーション31上でプリントジョブの登録を要求する。ステップS105に進み、外部アプリケーション31はサービス提供システム10に用意されたサービス提供システムAPI301のジョブAPI302に、
図25のファイル登録リクエストによりファイル登録を要求する。
図25はファイル登録リクエスト及びファイル登録レスポンスの一例を示す構成図である。
【0127】
ステップS106において、ジョブAPI302は印刷対象のファイルをデータ管理部112に渡して保存を指示する。データ管理部112は印刷対象のファイルの保存場所を示す保存先URLを発行してジョブAPI302に返す。また、ステップS107においてジョブAPI302は認証トークンの検証を認証管理部104に依頼する。認証管理部104は検証を依頼された認証トークンの検証を行い、検証結果が正しければ一時コードをジョブAPI302に返す。
【0128】
ステップS108に進み、外部アプリケーション31はサービス提供システム10に用意されたサービス提供システムAPI301のジョブAPI302に、
図26のコマンド登録リクエストによりコマンド登録を要求する。
図26はコマンド登録リクエスト及びコマンド登録レスポンスの一例を示す構成図である。
【0129】
ステップS109においてジョブAPI302は一時コードを指定し、入出力サービス処理部103のコマンド処理部312にコマンド登録を要求する。コマンド処理部312の処理手順については後述する。
【0130】
ステップS110に進み、コマンド処理部312は変換あり又は変換なしのファイル処理依頼をデータ管理部112に対して行う。変換ありのファイル処理依頼の場合、データ管理部112はファイル変換部311にファイル変換を行わせる。ファイル変換部311では、ファイル変換処理が必要な場合、一時コードを返すレスポンスを早くするために、非同期で処理を行う。
【0131】
コマンド処理部312はステップS112において、一時コードを指定してコマンド登録を命令配信部115に要求する。命令配信部115は一時コードと対応付けてコマンドを保存する。ステップS113に進み、命令配信部115はジョブ登録完了の履歴登録を利用履歴部321に要求する。利用履歴部321はジョブ登録完了の利用履歴情報を登録しておく。
【0132】
また、ステップS114に進み、コマンド処理部312はコマンドと対応付けて保存した一時コードを含む
図26のようなコマンド登録レスポンスをジョブAPI302から外部アプリケーション31に返す。外部アプリケーション31は
図26のようなコマンド登録レスポンスを返されると一時コードを表示する。
【0133】
したがって、端末装置30を操作しているユーザは登録したプリントジョブと対応付けられた一時コードを知ることができる。なお、
図24のシーケンス図ではユーザが外部アプリケーション31を操作する例を示したが、PC(ドライバ含む)やメール、他システムを操作するものであってもよい。
【0134】
図30はコマンド処理部の処理手順の一例のフローチャートである。コマンド登録の要求を受け付けたコマンド処理部312は
図30に示す手順で処理を行う。ステップS201に進み、コマンド処理部312はファイル登録リクエストの「Content−Type」がサポート対象か否かを判定する。
【0135】
サポート対象でなければ、コマンド処理部312はステップS205に進み、エラーレスポンスをジョブAPI302に返す。サポート対象であれば、コマンド処理部312はステップS202に進み、ファイル登録リクエストの「Content−Type」がPDLか否かを判定する。
【0136】
図31はファイル登録リクエストの「Content−Type」がJPEGの例とPDLの例とを表した説明図である。PDLであれば、コマンド処理部312はステップS203に進み、変換なしのファイル処理依頼をデータ管理部112に対して行う。PDLでなければ、コマンド処理部312はステップS204に進み、変換ありのファイル処理依頼をデータ管理部112に対して行う。
【0137】
《プリントジョブ実行》
図27はプリントジョブ実行処理の一例のシーケンス図である。ステップS121においてユーザは、画像形成装置20のブラウザ51に一時コードを入力し、一時コードによるプリントジョブ実行を指示する。
【0138】
ステップS122に進み、ブラウザ51は画像形成装置20のブラウザ51上で実行されているジョブ処理部341に一時コードによるジョブ実行を要求する。ステップS123においてジョブ処理部341は一時コードを指定して命令取得を命令配信部115に要求する。ステップS124に進み、命令配信部115は一時コードの検証を認証管理部104に依頼する。認証管理部104は検証を依頼された一時コードが正しければ、命令配信部115に許可を返す。
【0139】
許可を返された命令配信部115は一時コードと対応付けられているコマンドをジョブ処理部341に返す。ステップS125に進み、ジョブ処理部341は命令配信部115に処理中を指定して命令状態変更を要求する。処理中への命令状態変更の要求を受け付けた命令配信部115はステップS126において、印刷データの保存先URLを指定してアクセストークンの発行をデータ管理部112に要求する。データ管理部112は発行したアクセストークンを命令配信部115に返す。ステップS127に進み、命令配信部115は処理中の履歴登録を利用履歴部321に要求する。利用履歴部321はジョブ登録完了から処理中に利用履歴情報を変更する。
【0140】
ステップS128に進み、ジョブ処理部341は印刷データの保存先とアクセストークンとを指定してデータ管理部112にファイルの取得要求を行う。データ管理部112はアクセストークンが正当なものであれば、保存先の印刷データのファイルをジョブ処理部341に返す。
【0141】
ステップS129に進み、ジョブ処理部341は機器SDK API331を利用して印刷データのファイルの印刷を実行する。ステップS130に進み、ジョブ処理部341は命令配信部115にジョブ完了を指定して命令状態変更を要求する。ステップS131に進み、命令配信部115はジョブ完了の履歴登録を利用履歴部321に要求する。そして、利用履歴部321は処理中からジョブ完了に利用履歴情報を変更する。
【0142】
《コマンド状態取得》
図28はコマンド状態取得処理の一例のシーケンス図である。ステップS151において外部アプリケーション31はサービス提供システム10に用意されたサービス提供システムAPI301の認証API303に認証を要求する。ステップS152に進み、認証API303は認証管理部104に認証を要求する。認証が成功すれば認証管理部104は認証トークンを発行し、認証API303を介して外部アプリケーション31に返す。
【0143】
ステップS153に進み、外部アプリケーション31は例えば
図29(A)に示すようなコマンド状態取得リクエストにより、ジョブAPI302にコマンド状態の取得を要求する。
図29はコマンド状態取得リクエスト及びコマンド状態取得レスポンスの一例を示す構成図である。
【0144】
ステップS154に進み、ジョブAPI302はコマンドIDを指定してコマンド状態を利用履歴部321から取得する。また、ステップS155に進み、ジョブAPI302は認証トークンの検証を認証管理部104に依頼する。認証管理部104は検証を依頼された認証トークンの検証を行い、検証結果をジョブAPI302に返す。認証トークンの検証結果が正しければ、ジョブAPI302は利用履歴部321から取得したコマンド状態を
図29(B)に示すようなコマンド状態取得レスポンスにより外部アプリケーション31に返す。
【0145】
以上、第3の実施形態に係る情報処理システム1は、サービス提供システム10に画像形成装置20を操作するサービス提供システムAPI301を用意する。サービス提供システム10は外部ストレージシステムとの連携を行い、また、画像形成装置20の操作パネル22に表示するコンテンツを持つことができる。
【0146】
したがって、第3の実施形態に係る情報処理システム1によれば、外部ストレージシステムとの連携の柔軟性や画像形成装置20を利用する外部アプリケーション31の開発効率を高めることができる。なお、サービス提供システムAPI301には、ジョブのコマンド登録、状態取得、印刷対象ファイルのアップロード、印刷対象ファイルのダウンロードなどのAPIを用意する。
【0147】
画像形成装置20に搭載されるアプリケーションの開発ではないため、第3の実施形態に係る情報処理システム1では、画像形成装置20の内部の仕様や振る舞いを知らずとも画像形成装置20を利用する外部アプリケーション31を開発できる。また、サービス提供システムAPI301をHTML+JavaScriptで操作できる程度にまで簡単にすることで、第3の実施形態に係る情報処理システム1は画像形成装置20を操作するWebアプリの開発が容易となる。さらに、第3の実施形態に係る情報処理システム1ではPDLダイレクト入力による印刷が可能となる。
【0148】
[第4の実施形態]
第1〜第3の実施形態はユーザによる一時コードの入力やログインを行う画像形成装置20により、印刷を行う画像形成装置20を特定していた。第4の実施形態は、印刷対象のファイルのファイル情報(例えばファイル名)に設定したキーワードにより、印刷を行う画像形成装置20を特定する。なお、第4の実施形態は一部を除いて第1〜第3の実施形態と同様であり、適宜説明を省略する。
【0149】
<システム構成>
図32は、第4の実施形態に係る情報処理システムの一例の構成図である。
図32に示される情報処理システム1は
図1の情報処理システム1の1台の画像形成装置20を2台の画像形成装置20A及び20Bに置き換えたものである。なお、画像形成装置20A及び20Bの何れでもよい場合は単に画像形成装置20と呼ぶ。また、
図32の情報処理システム1には外部ストレージシステムが接続されていてもよい。
【0150】
<ソフトウェア構成>
第4の実施形態に係る情報処理システム1は例えば
図33に示される処理ブロックにより実現することができる。
図33は、第4の実施形態に係る情報処理システムの一例の処理ブロック図である。
【0151】
図33に示される情報処理システム1は
図23の情報処理システム1に紐付け情報記憶部411及びステータスチェック部421が追加された構成である。紐付け情報記憶部411は紐付け情報を記憶している。紐付け情報は、キーワードと画像形成装置20とを紐付ける情報である。なお、紐付け情報の詳細は後述する。また、ステータスチェック部421は印刷できる状態であるかを画像形成装置20に問い合わせるステータスチェック要求を行う。
【0152】
<処理の詳細>
次に、第4の実施形態に係る情報処理システム1の処理の詳細について説明する。
【0153】
《印刷ジョブの登録及び実行》
図34は印刷ジョブの登録及び実行処理の一例のシーケンス図である。ステップS301においてユーザは端末装置30の外部アプリケーション31上で印刷対象のファイルを指定して印刷ジョブの登録を要求する。なお、ユーザは印刷対象のファイルのファイル名として、印刷したい画像形成装置20と紐付けられているキーワードを設定しておく。
【0154】
図35は登録される印刷ジョブの一例の構成図である。
図35の印刷ジョブは、ファイル情報、印刷設定及び印刷データを有する。ファイル情報はファイル名などのファイルとしての情報である。印刷設定は、印刷するために必要となる印刷設定の情報である。印刷データは実際に印刷に使うデータである。
【0155】
ステップS302において外部アプリケーション31はステップS301で登録を要求された印刷ジョブの印刷対象のファイルのファイル名に、特定のキーワードが含まれているかのチェック(キーワードチェック)を行う。外部アプリケーション31は例えば
図36に示すキーワード表をキーワードチェックに利用する。
図36はキーワード表の一例の構成図である。
【0156】
印刷対象のファイルのファイル名に、特定のキーワードが含まれていれば、外部アプリケーション31はステップS303に進み、そのキーワードを指定して画像形成装置20の情報取得依頼をサービス提供システム10に対して行う。キーワードを指定した画像形成装置20の情報取得依頼は、例えばサービス提供システム10に用意されたサービス提供システムAPI301のジョブAPI302を利用して行う。
【0157】
ステップS304に進み、ジョブAPI302は画像形成装置20の情報取得依頼に指定されていたキーワードを入出力サービス処理部103に渡して、そのキーワードに紐付く画像形成装置20の情報(例えば画像形成装置IDなど)を要求する。入出力サービス処理部103の例えばコマンド処理部312は
図37の紐付け情報をチェックすることにより、キーワードに紐付く画像形成装置20の情報を取得する。
【0158】
図37は紐付け情報の一例の構成図である。
図37の紐付け情報は、画像形成装置20の情報と、キーワードと、画像形成装置20の位置情報と、代替機器の情報と、が紐付けられている。代替機器の情報は、キーワードに紐付く画像形成装置20が印刷できない状態であるとき、代わりに印刷を行う候補となる画像形成装置20の情報である。
【0159】
例えば
図37の例では「Abcdefg1002」の画像形成装置20が印刷できない状態であるとき、代わりに「Abcdefg1001」の画像形成装置20が印刷を行う候補となる。また、
図37の例では「Abcdefg1001」の画像形成装置20が印刷できない状態であるとき、代わりに「Abcdefg1000」の画像形成装置20が印刷を行う候補となる。
【0160】
なお、
図37の例では「Abcdefg1000」の画像形成装置20の代替機器が設定されていない。本実施形態では「Abcdefg1000」の画像形成装置20のように代替機器が設定されていない画像形成装置20が印刷できない状態であるとき、前述した一時コードによる印刷へ変更される。
【0161】
また、
図37の紐付け情報に含まれる位置情報は画像形成装置20の登録時に、その画像形成装置20の近くにある他の画像形成装置20を代替機器の候補としてユーザに提示するためなどに利用される。
【0162】
ステップS305に進み、サービス提供システム10はキーワードに紐付く画像形成装置20の情報を端末装置30の外部アプリケーション31に返す。ステップS305に続いてステップS306に進み、外部アプリケーション31はステップS305で返された画像形成装置20の情報を、印刷を行う候補の画像形成装置20の情報として印刷ジョブに付与する。ステップS307に進み、外部アプリケーション31はサービス提供システム10に印刷ジョブ実行を要求する。
【0163】
ステップS308に進み、サービス提供システム10のステータスチェック部421は印刷を行う候補の画像形成装置20に対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置20は印刷できる状態であるか否かをチェックするステータスチェックを行い、その結果を応答する。ここでは、印刷できる状態であることを示す応答を受信したものとする。サービス提供システム10は印刷できる状態であることを確認できたため、ステップS309に進み、印刷を行う候補の画像形成装置20に対して印刷ジョブ実行を要求する。ステップS310に進み、画像形成装置20は要求された印刷ジョブに基づき、印刷データのファイルの印刷を実行する。
【0164】
なお、
図34のステップS302において、外部アプリケーション31は、キーワードチェックの結果、印刷対象のファイルのファイル名に、特定のキーワードが含まれていなければ、前述した一時コードによる印刷へ変更する。
【0165】
図34のステップS308〜S309に示した出力先確定処理は、例えば
図38に示すように行われる。
図38は出力先確定処理の一例のフローチャートである。ステップS401において、サービス提供システム10は印刷を行う候補の画像形成装置20に対してステータスチェック要求を行う。そして、ステップS402においてサービス提供システム10はステータスチェックの結果の応答を待つ。
【0166】
ステータスチェックの結果の応答があると、サービス提供システム10はステップS403に進み、ステータスチェックの結果の応答から印刷を行う候補の画像形成装置20が印刷できる状態であるか否かを判定する。候補の画像形成装置20が印刷できる状態であれば、サービス提供システム10はステップS404に進み、印刷を行う候補の画像形成装置20に対して印刷ジョブ実行を要求する。候補の画像形成装置20が印刷できる状態でなければ、サービス提供システム10はステップS405に進み、後述の出力先変更処理を行ったあと、ステップS401に戻り、処理を続ける。
【0167】
図38の出力先確定処理によれば、サービス提供システム10は印刷できる状態にある印刷を行う候補の画像形成装置に印刷ジョブ実行を要求できる。
【0168】
図39は出力先変更処理の一例のフローチャートである。サービス提供システム10はステップS411において
図37の紐付け情報を参照し、代替機器が設定されているか否かを判定する。代替機器が設定されていれば、サービス提供システム10はステップS412に進み、その代替機器を出力先(印刷を行う候補の画像形成装置20)に変更して
図38の出力先確定処理に戻る。なお、代替機器が設定されていなければ、サービス提供システム10はステップS413に進み、前述した一時コードによる印刷に移行する。
【0169】
図40は印刷ジョブの登録及び実行処理の他の例のシーケンス図である。
図40は
図34に示したシーケンス図において、印刷できる状態でないことを示す応答を受信した場合のシーケンス図を示している。
【0170】
ステップS321〜S327の処理は
図34に示したステップS301〜S307の処理と同様である。ステップS328に進み、サービス提供システム10は印刷を行う候補の画像形成装置20Aに対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置20Aはステータスチェックを行い、その結果を応答する。ここでは印刷できる状態でないことを示す応答を受信したものとする。
【0171】
サービス提供システム10は印刷できる状態でないことを確認したため、
図39に示した出力先変更処理を行い、画像形成装置20Aの代替機器として設定されている画像形成装置20Bを出力先に変更する。ステップS329に進み、サービス提供システム10は端末装置30の外部アプリケーション31に、画像形成装置20Bへの出力先変更依頼を行う。外部アプリケーション31は必要があればユーザに出力先変更の確認を行う。
【0172】
ステップS330に進み、外部アプリケーション31は変更された出力先である画像形成装置20Bの情報を、印刷を行う候補として印刷ジョブに付与する。ステップS330に進み、外部アプリケーション31はサービス提供システム10に印刷ジョブ実行を要求する。ステップS331に進み、サービス提供システム10は印刷を行う候補の画像形成装置20Bに対して、ステータスチェック要求を行う。ステータスチェック要求を受けた画像形成装置20Bは印刷できる状態であるか否かをチェックするステータスチェックを行い、その結果を応答する。ここでは、印刷できる状態であることを示す応答を受信したものとする。
【0173】
サービス提供システム10はステップS332に進み、印刷を行う候補の画像形成装置20Bに対して印刷ジョブ実行を要求する。ステップS333に進み、画像形成装置20Bは要求された印刷ジョブに基づき、印刷データのファイルの印刷を実行する。
【0174】
以上、第4の実施形態に係る情報処理システム1によれば、ユーザが印刷対象のファイルのファイル情報に、画像形成装置20と紐付けられた特定のキーワードを付与しておくことで、サービス提供システム10が印刷を行う画像形成装置20を特定できる。
【0175】
また、第4の実施形態に係る情報処理システム1によれば、特定のキーワードにより特定された画像形成装置20に対し、印刷できる状態であるかを確認できる。印刷できる状態でなければ、第4の実施形態に係る情報処理システム1は代替機器への変更や、前述した一時コードによる印刷を行うことができる。
【0176】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。コンポーネント群114は複数の処理手段の一例である。
【0177】
フロー制御部113はフロー制御手段の一例である。命令配信部115は印刷命令配信手段の一例である。印刷命令コンポーネント124は印刷命令手段の一例である。認証管理部104は認証管理手段の一例である。印刷変換コンポーネント121は印刷変換手段の一例である。データ管理部112はデータ管理手段の一例である。