(57)【要約】【課題】処理の完了を容易に通知することができるネットワークシステム及び情報通知方法を提供することを課題とする。【解決手段】１以上の情報処理装置により構成されるネットワークシステムであって、それぞれ異なる処理を実行する複数の情報処理プログラムと、ネットワークを介してネットワークシステムに接続される外部装置に搭載されているアプリケーションから、１以上の処理の指定と該１以上の処理の実行が完了したことを示す完了通知の通知先とを、予め定義されたインタフェースを介して受信すると、該指定に基づいて、複数の情報処理プログラムのうち１以上の情報処理プログラムに処理を実行させ、１以上の情報処理プログラムに実行させた処理の実行が完了したとき、１以上の処理の実行が完了した旨を、予め定義されたインターフェースを介して受信した通知先に送信する実行制御手段とを有することにより、上記課題を解決する。【選択図】  図１０
2014170526.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報処理装置により構成されるネットワークシステムであって、
それぞれ異なる処理を実行する複数の情報処理プログラムと、
ネットワークを介して前記ネットワークシステムに接続される外部装置に搭載されているアプリケーションから、１以上の処理の指定と該１以上の処理の実行が完了したことを示す完了通知の通知先とを、予め定義されたインタフェースを介して受信すると、該指定に基づいて、前記複数の情報処理プログラムのうち１以上の情報処理プログラムに処理を実行させ、前記１以上の情報処理プログラムに実行させた処理の実行が完了したとき、前記１以上の処理の実行が完了した旨を、前記予め定義されたインターフェースを介して受信した前記通知先に送信する実行制御手段と
を有することを特徴とするネットワークシステム。
【請求項２】
前記実行制御手段は、前記１以上の処理の実行が完了した旨を、前記通知先に送信する際に必要な情報を付加して、前記通知先へ前記１以上の処理の実行が完了した旨を送信すること
を特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記実行制御手段は、前記１以上の処理の実行が完了した旨を、前記通知先に送信するとき、前記１以上の処理の結果を送信内容に含ませること
を特徴とする請求項１又は２記載のネットワークシステム。
【請求項４】
前記情報処理プログラムは、前記実行制御手段から前記指定に基づいた処理の実行指示を受け付けると、前記指定に基づいた処理を実行し、前記処理の結果を前記実行制御手段に送信すること
を特徴とする請求項３記載のネットワークシステム。
【請求項５】
前記情報処理プログラムは、前記実行制御手段から前記指定に基づいた処理の実行指示として所定の記憶装置へのファイルの保存を指示されると、前記所定の記憶装置に接続するための認証情報を取得し、前記認証情報を用いて前記所定の記憶装置へのファイルの保存を実行すること
を特徴とする請求項１乃至４何れか一項記載のネットワークシステム。
【請求項６】
前記実行制御手段は、前記指定に基づいて、前記複数の情報処理プログラムを連携させて処理を実行させること
を特徴とする請求項１乃至５何れか一項記載のネットワークシステム。
【請求項７】
１以上の情報処理装置により構成されるネットワークシステムが実行する情報通知方法であって、
実行制御手段が、ネットワークを介して前記ネットワークシステムに接続される外部装置に搭載されているアプリケーションから、１以上の処理の指定と該１以上の処理の実行が完了したことを示す完了通知の通知先とを、予め定義されたインタフェースを介して受信するステップと、
前記実行制御手段が、前記指定に基づいて、それぞれ異なる処理を実行する複数の情報処理プログラムのうち１以上の情報処理プログラムに処理を実行させるステップと、
前記実行制御手段が、前記１以上の情報処理プログラムに実行させた処理の実行が完了したとき、前記１以上の処理の実行が完了した旨を、前記予め定義されたインターフェースを介して受信した前記通知先に送信するステップと
を有することを特徴とする情報通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム及び情報通知方法に関する。
【背景技術】
【０００２】
クライアントからサーバに対して印刷指示を送信し、印刷指示を受信したサーバが印刷対象のコンテンツを印刷データに変換する技術は従来から知られている。このような技術において、サーバは印刷データを生成するサービスをクライアントに提供している。
【０００３】
近年、注目を集めているクラウドコンピューティングは、上記のようにサーバがクライアントにサービスを提供する一形態である。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を処理する。このようなクラウドコンピューティングを実現するクラウドコンピューティング環境上にＷｅｂサービスを実装し、多種多様なサービスを提供するベンダーも乱立しつつある（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばサーバによって実行されるデータ変換やデータ処理には、終了するまでに長時間を要するものもある。データ変換やデータ処理を要求したクライアントは、サーバに問い合わせなければ、データ変換やデータ処理の終了を知り得なかった。このような事情はクライアント−サーバ間と同様に、データ変換などのデータ（情報）処理を連携して分散実行するサーバ間においても共通の課題である。
【０００５】
本発明の実施の形態は、上記の点に鑑みなされたもので、処理の完了を容易に通知することができるネットワークシステム及び情報通知方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本願請求項１は、１以上の情報処理装置により構成されるネットワークシステムであって、それぞれ異なる処理を実行する複数の情報処理プログラムと、ネットワークを介して前記ネットワークシステムに接続される外部装置に搭載されているアプリケーションから、１以上の処理の指定と該１以上の処理の実行が完了したことを示す完了通知の通知先とを、予め定義されたインタフェースを介して受信すると、該指定に基づいて、前記複数の情報処理プログラムのうち１以上の情報処理プログラムに処理を実行させ、前記１以上の情報処理プログラムに実行させた処理の実行が完了したとき、前記１以上の処理の実行が完了した旨を、前記予め定義されたインターフェースを介して受信した前記通知先に送信する実行制御手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、処理の完了を容易に通知することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】サービス提供システムの他の例の構成図である。
【図３】コンピュータシステムの一例のハードウェア構成図である。
【図４】第１の実施形態に係るサービス提供システムの一例の処理ブロック図である。
【図５】組織情報の一例の構成図である。
【図６】ユーザ情報の一例の構成図である。
【図７】機器情報の一例の構成図である。
【図８】スキャン画像をオンラインストレージに保存する処理の一例を表した模式図である。
【図９】スキャン画像をオンラインストレージに保存する処理の一例を表したシーケンス図である。
【図１０】ジョブ情報の一例の構成図である。
【図１１】ジョブ情報の他の例の構成図である。
【図１２】ジョブ完了の通知の一例の構成図（１／２）である。
【図１３】ジョブ完了の通知の一例の構成図（２／２）である。
【図１４】サービス提供システムによる非同期処理の一例について説明する図である。
【図１５】キューとワーカーとワーカーフレームワークとの関係について説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら説明する。
［第１の実施形態］
＜システム構成＞
図１は第１の実施形態に係る情報処理システムの一例の構成図である。図１の情報処理システム１０００は例えばオフィス内ネットワーク等のネットワークＮ１と、クラウドサービスに代表されるサービス提供システムのネットワークＮ２と、インターネットなどのネットワークＮ３とを有する。
【００１０】
ネットワークＮ１は、ファイヤウォールＦＷの内側にあるプライベートなネットワークである。ファイヤウォールＦＷはネットワークＮ１とネットワークＮ３との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークＮ１にはクライアント端末１０１１、携帯端末１０１２、複合機などの画像形成装置１０１３が接続されている。
【００１１】
クライアント端末１０１１は端末装置の一例である。クライアント端末１０１１は一般的なＯＳなどが搭載された情報処理装置によって実現できる。クライアント端末１０１１は無線による通信の手段または有線による通信の手段を有する。クライアント端末１０１１は、タブレットＰＣ、ノートＰＣなど、ユーザが操作可能な端末である。
【００１２】
携帯端末１０１２は端末装置の一例である。携帯端末１０１２は、無線による通信の手段または有線による通信の手段を有している。携帯端末１０１２は、スマートフォンや携帯電話、タブレットＰＣ、ノートＰＣなど、ユーザが携帯可能な端末である。
【００１３】
画像形成装置１０１３は複合機などの画像形成機能を有する装置である。画像形成装置１０１３は無線による通信の手段または有線による通信の手段を有する。画像形成装置１０１３は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板など、画像形成に係る処理を行う装置である。図１では、一例としてクライアント端末１０１１、携帯端末１０１２、画像形成装置１０１３がそれぞれ一台である例を示しているが複数台であってもよい。
【００１４】
ネットワークＮ２はアクセス制御装置１０２１によってネットワークＮ３に接続されている。ネットワークＮ２はアクセス制御装置１０２１によってセキュリティが保護されている。ネットワークＮ２にはプリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４が接続されている。
【００１５】
図１の情報処理システム１０００は、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４がサービス提供システムを実現している。プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４はプリントサービス、スキャンサービスや他サービスを提供する。
【００１６】
アクセス制御装置１０２１はプリントサービス提供装置１０２２が提供するプリントサービスやスキャンサービス提供装置１０２３が提供するスキャンサービスなどへのログインを制御する。
【００１７】
アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、一台以上の情報処理装置によって実現される。
【００１８】
アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は一台の情報処理装置に統合して実現してもよいし、複数の情報処理装置に分散して実現してもよい。
【００１９】
ネットワークＮ２側のサービスの一部はネットワークＮ２以外にあってもよい。携帯端末１０１２は、オフィス内ネットワーク等のネットワークＮ１以外にあってもよい。図１の情報処理システム１０００では携帯端末１０１２がネットワークＮ１と、ネットワークＮ３とにある例を示している。
【００２０】
ネットワークＮ３に接続されているオンラインストレージ１０３１は、ファイルを保存する装置である。オンラインストレージ１０３１は、ベンダーにより提供されるファイル保存用の装置であってもよい。
【００２１】
図１のサービス提供システムの構成は一例であって、図２に示すような構成によっても実現できる。図２はサービス提供システムの他の例の構成図である。図２のサービス提供システムはネットワークＮ２がファイヤウォールＦＷによってネットワークＮ３に接続されている。
【００２２】
ネットワークＮ２にはＳａａＳ（Software as a Service）系のサービス提供装置、共通サービス（Network Service Platform）系のサービス提供装置、ストレージ（Storage）系の記憶装置が接続されている。なお、共通サービス系のサービス提供装置はＳａａＳ系のサービス提供装置が共通で使えるサービスを提供する。
【００２３】
ＳａａＳ系のサービス提供装置は、例えばポータルサービス提供装置１０５１、プリントサービス提供装置１０５２、スキャンサービス提供装置１０５３など、提供するサービスに応じたサービス提供装置が含まれる。また、共通サービス系のサービス提供装置は、例えば認証サービス提供装置１０６１、データ処理サービス提供装置１０６２、一時データ保存サービス提供装置１０６３など、提供する共通サービスに応じたサービス提供装置が含まれる。ストレージ系の記憶装置は、例えば認証情報記憶装置１０７１、ジョブ情報記憶装置１０７２、一時データ記憶装置１０７３など、記憶する情報（データ）に応じた記憶装置が含まれる。
【００２４】
図２のサービス提供システムでは、例えばファイヤウォールＦＷ、認証サービス提供装置１０６１が提供する認証サービスによってセキュリティが保護されている。なお、図２のサービス提供システムの構成も一例であって、他の構成であってもよい。
【００２５】
＜ハードウェア構成＞
図１のクライアント端末１０１１、携帯端末１０１２、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、例えば図３に示すようなハードウェア構成のコンピュータシステムにより実現される。
【００２６】
図２のＳａａＳ系のサービス提供装置、共通サービス系のサービス提供装置、ストレージ系の記憶装置も、例えば図３に示すようなハードウェア構成のコンピュータシステムにより実現される。
【００２７】
図３はコンピュータシステムの一例のハードウェア構成図である。図３のコンピュータシステム１５００は、入力装置１５０１、表示装置１５０２、外部Ｉ／Ｆ１５０３、ＲＡＭ（Random Access Memory）１５０４、ＲＯＭ（Read Only Memory）１５０５、ＣＰＵ（Central Processing Unit）１５０６、通信Ｉ／Ｆ１５０７、及びＨＤＤ（Hard Disk Drive）１５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２８】
入力装置１５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置１５０２はディスプレイ等を含み、コンピュータシステム１５００による処理結果を表示する。
【００２９】
通信Ｉ／Ｆ１５０７はコンピュータシステム１５００をネットワークＮ１〜Ｎ３に接続するインタフェースである。これにより、コンピュータシステム１５００は通信Ｉ／Ｆ１５０７を介してデータ通信を行うことができる。
【００３０】
ＨＤＤ１５０８はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム１５００全体を制御する基本ソフトウェアであるＯＳ（Operating System）や、ＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。
【００３１】
ＨＤＤ１５０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（データベース）により管理している。外部Ｉ／Ｆ１５０３は、外部装置とのインタフェースである。外部装置には、記録媒体１５０３ａなどがある。これにより、コンピュータシステム１５００は外部Ｉ／Ｆ１５０３を介して記録媒体１５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００３２】
ＲＯＭ１５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５０５には、コンピュータシステム１５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００３３】
ＣＰＵ１５０６は、ＲＯＭ１５０５やＨＤＤ１５０８などの記憶装置からプログラムやデータをＲＡＭ１５０４上に読み出し、処理を実行することで、コンピュータシステム１５００全体の制御や機能を実現する演算装置である。
【００３４】
クライアント端末１０１１、携帯端末１０１２、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、コンピュータシステム１５００のハードウェア構成により、後述するような各種処理を実現できる。また、図２のＳａａＳ系のサービス提供装置、共通サービス系のサービス提供装置、ストレージ系の記憶装置も、コンピュータシステム１５００のハードウェア構成により、後述するような各種処理を実現できる。なお、図１に示した画像形成装置１０１３、ファイヤウォールＦＷのハードウェア構成については説明を省略する。
【００３５】
＜ソフトウェア構成＞
《サービス提供システム》
第１の実施形態に係るサービス提供システムは例えば図４に示す処理ブロックにより実現される。図４は第１の実施形態に係るサービス提供システムの一例の処理ブロック図である。
【００３６】
サービス提供システム１１００はプログラムを実行することにより、アプリケーション１１０１、共通サービス１１０２、データベース（ＤＢ）１１０３及びプラットフォームＡＰＩ（Application Programming Interface）１１０４を実現している。
【００３７】
アプリケーション１１０１は、ポータルサービスアプリ１１１１、スキャンサービスアプリ１１１２、プリントサービスアプリ１１１３を一例として有する。
【００３８】
ポータルサービスアプリ１１１１は、ポータルサービスを提供するアプリケーションである。ポータルサービスは、サービス提供システム１１００を利用するための入り口となるサービスを提供する。スキャンサービスアプリ１１１２はスキャンサービスを提供するアプリケーションである。プリントサービスアプリ１１１３はプリントサービスを提供するアプリケーションである。アプリケーション１１０１には、その他のサービスアプリが含まれていてもよい。
【００３９】
プラットフォームＡＰＩ１１０４はポータルサービスアプリ１１１１、スキャンサービスアプリ１１１２、プリントサービスアプリ１１１３などのアプリケーション１１０１が共通サービス１１０２を利用するためのインタフェースである。プラットフォームＡＰＩ１１０４はアプリケーション１１０１からの要求を共通サービス１１０２が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
【００４０】
プラットフォームＡＰＩ１１０４は、サービス提供システム１１００が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩにより実現できる。
【００４１】
共通サービス１１０２は、認証・認可部１１２１、組織管理部１１２２、ユーザ管理部１１２３、ライセンス管理部１１２４、機器管理部１１２５、一時画像保存部１１２６、画像処理ワークフロー制御部１１２７、ログ収集部１１２８を有する。
【００４２】
また、画像処理ワークフロー制御部１１２７はメッセージキュー１１３１、１つ以上のワーカー（Ｗｏｒｋｅｒ）１１３２を有する。ワーカー１１３２は画像変換や画像送信などの機能を実現する。
【００４３】
認証・認可部１１２１は、クライアント端末１０１１や画像形成装置１０１３などのオフィス機器からのログイン要求に基づいて認証・認可を実行する。オフィス機器はクライアント端末１０１１、携帯端末１０１２、画像形成装置１０１３などの総称である。
【００４４】
認証・認可部１１２１は、例えば後述するユーザ情報記憶部１１４３、ライセンス情報記憶部１１４４などにアクセスしてユーザを認証・認可する。また、認証・認可部１１２１は例えば後述する組織情報記憶部１１４２、ライセンス情報記憶部１１４４、機器情報記憶部１１４５などにアクセスして画像形成装置１０１３などを認証する。
【００４５】
組織管理部１１２２は後述する組織情報記憶部１１４２に記憶されている組織情報を管理する。ユーザ管理部１１２３は、後述するユーザ情報記憶部１１４３に記憶されているユーザ情報を管理する。
【００４６】
ライセンス管理部１１２４は後述するライセンス情報記憶部１１４４に記憶されているライセンス情報を管理する。機器管理部１１２５は後述する機器情報記憶部１１４５に記憶されている機器情報を管理する。一時画像保存部１１２６は後述する一時画像記憶部１１４６への一時画像の保存、一時画像記憶部１１４６からの一時画像の取得を行う。
【００４７】
画像処理ワークフロー制御部１１２７はアプリケーション１１０１からの要求に基づいて画像処理に関するワークフローを制御する。メッセージキュー１１３１は処理の種類に対応するキューを有する。画像処理ワークフロー制御部１１２７は処理（ジョブ）に係るリクエストのメッセージを、そのジョブの種類に対応するキューに投入する。
【００４８】
ワーカー１１３２は対応するキューを監視している。キューにメッセージが投入されるとワーカー１１３２は、対応するジョブの種類に応じた画像変換や画像送信などの処理を行う。なお、キューに投入されたメッセージはワーカー１１３２が主体的に読み出す（Ｐｕｌｌ）ようにしてもよいし、キューからワーカー１１３２に提供する（Ｐｕｓｈ）ようにしてもよい。画像処理ワークフロー制御部１１２７の処理の詳細は後述する。
【００４９】
データベース１１０３は、ログ情報記憶部１１４１、組織情報記憶部１１４２、ユーザ情報記憶部１１４３、ライセンス情報記憶部１１４４、機器情報記憶部１１４５、一時画像記憶部１１４６、ジョブ情報記憶部１１４７、アプリケーション固有の設定情報記憶部１１４８を有する。
【００５０】
ログ情報記憶部１１４１は、ログ情報を記憶する。組織情報記憶部１１４２は、後述の組織情報を記憶する。ユーザ情報記憶部１１４３は、後述のユーザ情報を記憶する。ライセンス情報記憶部１１４４は、ライセンス情報を記憶する。機器情報記憶部１１４５は後述の機器情報を記憶する。
【００５１】
一時画像記憶部１１４６は一時画像を記憶する。一時画像は、例えばワーカー１１３２が処理するスキャン画像などのファイルやデータである。ジョブ情報記憶部１１４７は処理（ジョブ）に係るリクエストの情報（ジョブ情報）を記憶する。アプリケーション固有の設定情報記憶部１１４８はアプリケーション１１０１に固有の設定情報を記憶する。
【００５２】
サービス提供システム１１００は、認証・認可や画像処理に関するワークフローなどの共通サービスを提供する統合基盤と、統合基盤の機能を利用してスキャンサービス、プリントサービス等のアプリサービスを提供するサービス群と、して機能する。統合基盤は例えば共通サービス１１０２、ＤＢ１１０３及びプラットフォームＡＰＩ１１０４によって構成される。サービス群は例えばアプリケーション１１０１によって構成される。
【００５３】
なお、図４に示したサービス提供システム１１００の処理ブロックの分類形態は一例であり、アプリケーション１１０１、共通サービス１１０２、ＤＢ１１０３が図４に示されるような階層で分類されていることが必須ではない。第１の実施形態に係るサービス提供システム１１００の処理を実施できるのであれば、図４に示される階層関係などは特定のものに限定されない。
【００５４】
図５は組織情報の一例の構成図である。組織情報は、データ項目として組織ＩＤ、組織名、国、言語、アドレス情報などを有する。組織ＩＤは企業、部署などのグループを特定する情報である。組織ＩＤは組織という言語に限定されるものではなく、例えば契約を識別する情報であってもよい。なお、組織ＩＤは一意である。
【００５５】
組織名は企業、部署などのグループの名称である。国は企業、部署などのグループの属する国名を表している。言語は企業、部署などのグループの使用言語を表している。アドレス情報は企業、部署などのグループのメールアドレスを表している。
【００５６】
図６はユーザ情報の一例の構成図である。図６のユーザ情報はデータ項目として組織ＩＤ、ユーザ名、パスワード、アドレス情報などを有する。ユーザ名、パスワードはユーザを特定する情報である。したがって、ユーザ名はユーザＩＤ等であってもよい。また、パスワードは必須でない。また、同じ組織ＩＤで管理されるユーザ名、パスワードは一意であるが、組織ＩＤが異なれば重複していてもよい。アドレス情報は例えばユーザのメールアドレスを表している。
【００５７】
さらに、ユーザ名はユーザが所持する電子媒体（例えばＩＣカード）を識別する情報を用いてもよい。ユーザが所持する電子媒体としてはＩＣカード、携帯電話、タブレット端末、電子書籍端末等を利用できる。電子媒体を識別する情報としては、カードＩＤ、シリアルＩＤ、携帯電話の電話番号、端末のプロフィール情報などを利用できる。電子媒体を識別する情報は組み合わせて利用してもよい。
【００５８】
図７は機器情報の一例の構成図である。図７の機器情報はデータ項目として組織ＩＤ、デバイス認証情報、事業所情報、ケーパビリティなどを有する。デバイス認証情報はオフィス機器が特定の条件を備えたものであることを判別するデバイス認証のための情報である。デバイス認証情報はオフィス機器に特定のアプリケーションが搭載されていることを示すＩＤや、特定のオフィス機器であることを示す機器番号などであってもよい。事業所情報は例えばオフィス機器が設置されている事業所を表している。ケーパビリティは例えばオフィス機器の能力を表している。
【００５９】
＜処理の詳細＞
《スキャン画像をオンラインストレージ１０３１に保存》
図８は、スキャン画像をオンラインストレージに保存する処理の一例を表した模式図である。なお、図８に示した処理は例えば画像形成装置１０１３を操作するユーザからの要求に基づき、開始される。
【００６０】
ステップＳ１において、インプット側機器の一例としての画像形成装置１０１３は例えば原稿をスキャンしてスキャン画像（ファイル）を作成する。画像形成装置１０１３はステップＳ２において、作成したファイルを例えばクラウド上のサービス提供システム１１００にアップロードする。
【００６１】
ステップＳ３において、サービス提供システム１１００はアップロードされたファイルをオンラインストレージに保存するために必要な処理を行う。なお、ステップＳ３の処理の詳細は後述する。そして、ステップＳ４において、サービス提供システム１１００は画像形成装置１０１３からアップロードされたファイルをオンラインストレージ１０３１に保存する。
【００６２】
図８に示すスキャン画像をオンラインストレージ１０３１に保存する処理は図４に示すようなサービス提供システム１１００の場合、例えば図９に示すシーケンス図のように行われる。
【００６３】
図９は、スキャン画像をオンラインストレージに保存する処理の一例を表したシーケンス図である。なお、図９に示したシーケンス図は画像形成装置１０１３からサービス提供システム１１００にスキャン画像のファイルがアップロードされた後の処理を一例として表している。
【００６４】
ステップＳ１１において、アプリケーション１１０１の一例としてのスキャンサービスアプリ１１１２は画像形成装置１０１３からアップロードされたスキャン画像のファイル保存を一時画像保存部１１２６に要求する。一時画像保存部１１２６は一時画像記憶部１１４６にスキャン画像のファイルを保存し、ファイルの保存場所を示すＵＲＩ（Uniform Resource Identifier）をスキャンサービスアプリ１１１２に返す。
【００６５】
ステップＳ１２において、スキャンサービスアプリ１１１２は画像処理ワークフロー制御部１１２７にジョブ情報の登録を要求する。なお、スキャンサービスアプリ１１１２から受け付けるジョブ情報は例えば図１０に示すようなものである。
【００６６】
図１０はジョブ情報の一例の構成図である。図１０のジョブ情報は、ジョブの定義に関わる部分１と、タスクの定義に関わる部分２とを含む。ジョブの定義に関わる部分１はジョブＩＤ、ユーザＩＤ、組織ＩＤ、アプリＩＤ、コールバックする先のＵＲＬ、コールバックに必要なクッキー情報などを含む。また、タスクの定義に関わる部分２はタスクＩＤ、親ジョブＩＤ、タイプ（ｔｙｐｅ）、パラメータ（Ｐａｒａｍｓ）などを含む。
【００６７】
ジョブＩＤはジョブを識別する為の情報である。タスクＩＤはタスクを識別する為の情報である。親ジョブＩＤはタスクとジョブとを対応付けるものであり、ジョブの定義に関わる部分１のジョブＩＤと同一となる。なお、画像処理ワークフロー制御部１１２７が受け付けるジョブ情報はジョブＩＤ、タスクＩＤ及び親ジョブＩＤが空である。
【００６８】
タイプ（ｔｙｐｅ）はワーカー１１３２に行わせる処理の種類を表すものであり、処理の種類（機能）に応じて設定される。図１０ではオンラインストレージ１０３１の一例としての「ｘｘｘＤｒｉｖｅ」１０３１Ａにファイルを保存する処理を設定している。
【００６９】
パラメータ（Ｐａｒａｍｓ）は、ワーカー１１３２が処理を実行するために必要なパラメータである。図１０ではオンラインストレージ１０３１Ａにファイルを保存する処理を実行するために必要なパラメータとして、フォルダＩＤ、ファイル名、組織ＩＤ、フェデレーションＩＤ、ファイルを設定している。
【００７０】
フォルダＩＤはファイルを保存するフォルダを表している。ファイル名はファイルを保存するときに利用するファイルの名称を表している。組織ＩＤ及びフェデレーションＩＤは「ｘｘｘＤｒｉｖｅ」１０３１Ａに接続するための後述のトークンを認証・認可部１１２１から入手するための情報である。ファイルは「ｘｘｘＤｒｉｖｅ」１０３１Ａに保存するファイルの元の所在を示す情報である。例えばファイルには、一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩが設定される。
【００７１】
なお、パラメータ（Ｐａｒａｍｓ）はワーカー１１３２に行わせる処理の種類に応じたパラメータとなる。パラメータ（Ｐａｒａｍｓ）は、ワーカー１１３２に行わせる処理の種類に固有のパラメータである。
【００７２】
ユーザＩＤは、ジョブの実行を要求したユーザを表す情報である。組織ＩＤは、ジョブの実行を要求した組織を表す情報である。アプリＩＤは、ジョブの実行を要求したアプリケーション１１０１を表す情報である。コールバックする先のＵＲＬは、コールバックする先を表す情報である。コールバックに必要なクッキー情報は、アプリケーション１１０１にコールバックする際に用いられる情報である。
【００７３】
ステップＳ１３において、画像処理ワークフロー制御部１１２７は登録の要求があったジョブのジョブ情報をジョブ情報記憶部１１４７に登録する。ジョブ情報記憶部１１４７はジョブ情報を登録したジョブのジョブＩＤを発行する。また、ジョブ情報記憶部１１４７は登録したジョブのジョブ情報に含まれるタスクのタスクＩＤを発行する。ジョブ情報記憶部１１４７は発行したジョブＩＤ、タスクＩＤを、ジョブ情報のジョブＩＤ、タスクＩＤ及び親ジョブＩＤに追加される。そして、ジョブ情報記憶部１１４７はジョブ情報を登録したジョブのジョブＩＤを画像処理ワークフロー制御部１１２７に返す。
【００７４】
ステップＳ１４において、画像処理ワークフロー制御部１１２７は、ジョブ情報に含まれるタイプ（ｔｙｐｅ）から処理の種類（機能）を解析する。画像処理ワークフロー制御部１１２７は処理の種類に合致するメッセージキュー１１３１のキューに、ジョブに係るリクエストのメッセージを投入（キューイング）する。なお、ジョブに係るリクエストのメッセージにはジョブＩＤが含まれる。画像処理ワークフロー制御部１１２７はステップＳ１５において、登録したジョブのジョブＩＤをジョブ登録結果としてスキャンサービスアプリ１１１２に返す。
【００７５】
ステップＳ１６において、メッセージキュー１１３１のキューを監視している画像処理ワークフロー制御部１１２７のワーカーフレームワーク（ＷｏｒｋｅｒＦｒａｍｅｗｏｒｋ）１１３３はキューに、ジョブに係るリクエストのメッセージが投入されたことを検知する。そして、ワーカーフレームワーク１１３３はキューに登録されたメッセージを取得する。
【００７６】
ステップＳ１７において、ワーカーフレームワーク１１３３は取得したメッセージに含まれるジョブＩＤのジョブ情報をジョブ情報記憶部１１４７から取得する。ステップＳ１８において、ワーカーフレームワーク１１３３は取得したジョブ情報のタスクの定義に関わる部分２に含まれるファイルから、一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを読み出す。
【００７７】
そして、ワーカーフレームワーク１１３３は一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを指定して、一時画像記憶部１１４６からスキャン画像のファイルを取得する。
【００７８】
ステップＳ１９において、ワーカーフレームワーク１１３３は、取得したジョブ情報のタスクの定義に関わる部分２に含まれているタイプ（ｔｙｐｅ）及びパラメータ（Ｐａｒａｍｓ）を読み出す。ワーカーフレームワーク１１３３はタイプ（ｔｙｐｅ）から処理の種類を解析する。
【００７９】
そして、ワーカーフレームワーク１１３３は処理の種類に合致するワーカー１１３２の一例としての「Ｓｔｏｒａｇｅ２ｘｘｘＤｒｉｖｅ  Ｗｏｒｋｅｒ」にパラメータ（Ｐａｒａｍｓ）を指定してジョブ実行を指示する。
【００８０】
ステップＳ２０において、ワーカー１１３２の一例としての「Ｓｔｏｒａｇｅ２ｘｘｘＤｒｉｖｅ  Ｗｏｒｋｅｒ」はパラメータ（Ｐａｒａｍｓ）に含まれている組織ＩＤ及びフェデレーションＩＤを指定して、ｘｘｘＤｒｉｖｅライブラリ１１３４にインスタンスの生成（コンストラクタ）を要求する。
【００８１】
ステップＳ２１において、ワーカー１１３２の一例としての「Ｓｔｏｒａｇｅ２ｘｘｘＤｒｉｖｅ  Ｗｏｒｋｅｒ」はパラメータ（Ｐａｒａｍｓ）を指定して、ｘｘｘＤｒｉｖｅライブラリ１１３４のインスタンスにファイル転送を要求する。ステップＳ２１において指定するパラメータ（Ｐａｒａｍｓ）には、フォルダＩＤ、ファイル名、ファイルが含まれる。
【００８２】
ステップＳ２２において、ｘｘｘＤｒｉｖｅライブラリ１１３４のインスタンスは組織ＩＤ及びフェデレーションＩＤを指定して、認証・認可部１１２１にＩＤ連携認証を要求する。なお、ＩＤ連携認証とはサービス提供システム１１００での認証及び「ｘｘｘＤｒｉｖｅ」１０３１Ａでの認証を連携させるものである。
【００８３】
認証・認可部１１２１は、例えばサービス提供システム１１００の認証情報と「ｘｘｘＤｒｉｖｅ」１０３１Ａの認証情報とが対応付けられて記憶されていれば「ｘｘｘＤｒｉｖｅ」１０３１Ａに接続するためのｘｘｘトークンをｘｘｘＤｒｉｖｅライブラリ１１３４に提供する。なお、認証・認可部１１２１は「ｘｘｘＤｒｉｖｅ」１０３１Ａの認証情報（組織ＩＤ及びフェデレーションＩＤ）を利用して「ｘｘｘＤｒｉｖｅ」１０３１Ａに接続するためのｘｘｘトークンを取得しておくことができる。トークンは認証情報の一例である。トークンは認証済みであることを証明する情報であってもよい。
【００８４】
ステップＳ２３において、ｘｘｘＤｒｉｖｅライブラリ１１３４は認証・認可部１１２１から提供されたｘｘｘトークンと、パラメータ（Ｐａｒａｍｓ）に設定されたフォルダＩＤ、ファイル名、ファイルとを指定して「ｘｘｘＤｒｉｖｅ」１０３１Ａにファイル保存を要求する。
【００８５】
「ｘｘｘＤｒｉｖｅ」１０３１Ａへのファイル保存の結果は「ｘｘｘＤｒｉｖｅ」１０３１ＡからｘｘｘＤｒｉｖｅライブラリ１１３４のインスタンスに返される。ｘｘｘＤｒｉｖｅライブラリ１１３４のインスタンスからワーカー１１３２の一例としての「Ｓｔｏｒａｇｅ２ｘｘｘＤｒｉｖｅ  Ｗｏｒｋｅｒ」にファイル保存の結果が返される。
【００８６】
ステップＳ２４において、ワーカーフレームワーク１１３３はワーカー１１３２の一例としての「Ｓｔｏｒａｇｅ２ｘｘｘＤｒｉｖｅ  Ｗｏｒｋｅｒ」からファイル保存の結果が返される。
【００８７】
ステップＳ２５において、ワーカーフレームワーク１１３３はジョブの完了をジョブ情報記憶部１１４７に通知する。ジョブ情報記憶部１１４７は必要に応じて完了したジョブのステータス（状態）情報を更新する。
【００８８】
ステップＳ２６において、ワーカーフレームワーク１１３３はジョブ情報からジョブの定義に関わる部分１に含まれるコールバックする先のＵＲＬを読み出し、コールバックする先のＵＲＬに、ジョブ完了を通知する。図９のシーケンス図ではコールバックする先のＵＲＬがスキャンサービスアプリ１１１２である例を示している。
【００８９】
なお、ジョブ情報のジョブの定義に関わる部分１に、コールバックに必要なクッキー情報が設定されている場合、ワーカーフレームワーク１１３３はコールバックにクッキー情報を付加できる。
【００９０】
このように、第１の実施形態に係るサービス提供システム１１００では、処理時間の長いジョブをアプリケーション１１０１から画像処理ワークフロー制御部１１２７に登録したあと、アプリケーション１１０１がジョブ完了の通知を受け取ることができる。アプリケーション１１０１は登録と非同期に行われるジョブについて、ジョブ完了を迅速に知ることができる。
【００９１】
第１の実施形態に係るサービス提供システム１１００では、ジョブ情報にコールバックする先のＵＲＬを設定しておくことで、ジョブ完了したあと、コールバック先のＵＲＬにジョブの完了を通知できる。また、第１の実施形態に係るサービス提供システム１１００では、ジョブ情報にコールバックに必要なクッキー情報を設定しておくことによりコールバック時にクッキー情報（ＨＴＴＰヘッダ）が必要な場合であっても対応できる。
【００９２】
なお、ステップＳ２６におけるジョブ完了の通知には、正常／エラーなどの処理結果が通知内容として含まれる。ジョブ完了の通知を受け取ったスキャンサービスアプリ１１１２はジョブ完了をメールでユーザに通知してもよい。
【００９３】
第１の実施形態に係るサービス提供システム１１００はジョブ完了の通知を行うコールバック処理をワーカーフレームワーク１１３３に実装することで、どのワーカー１１３２を使ってもジョブ完了をアプリケーション１１０１に通知できる。
【００９４】
第１の実施形態に係るサービス提供システム１１００は、ワーカーフレームワーク１１３３にキューからメッセージを取得する機能、ジョブ情報記憶部１１４７からジョブ情報を取得する機能、一時画像保存部１１２６からファイルを取得する機能を設ける。
【００９５】
さらに、第１の実施形態に係るサービス提供システム１１００は、ジョブ実行の指示をワーカー１１３２に行う機能、ジョブ完了の通知をジョブ情報記憶部１１４７及びアプリケーション１１０１に行う機能を設ける。このように、第１の実施形態に係るサービス提供システム１１００はワーカー１１３２が共通に利用する機能をワーカーフレームワーク１１３３に設けることで、ワーカー１１３２が重複した機能を持つことを避けることができる。
【００９６】
《ジョブ情報とジョブ完了の通知の他の例》
図１１はジョブ情報の他の例の構成図である。図１１のジョブ情報は、スキャン画像に対してＯＣＲ（Optical Character Reader）を実行し、生成したファイルをオンラインストレージ１０３１に保存する処理の例を表している。なお、図１１はスキャンサービスアプリ１１１２から受け付けるジョブ情報の例であり、空であるジョブＩＤ、タスクＩＤ及び親ジョブＩＤを省略している。
【００９７】
図１１のジョブ情報は図１０のジョブ情報と同様、ジョブの定義に関わる部分１と、タスクの定義に関わる部分２とを含む。ジョブの定義に関わる部分１には、図１０のジョブ情報と同様であるが、将来的に任意のパラメータを増やしていけるように、予約要素が追加されている。
【００９８】
また、タスクの定義に関わる部分２も、図１０のジョブ情報と同様であるが、２つのタスクが定義されている。１つ目のタスクはスキャン画像に対してＯＣＲを実行する処理の例である。２つ目のタスクは生成したファイルをオンラインストレージ１０３１に保存する処理の例である。
【００９９】
１つ目のタスクの定義に含まれるパラメータ（Ｐａｒａｍｓ）はスキャン画像に対してＯＣＲを実行する処理に固有のパラメータである。スキャン画像に対してＯＣＲを実行する処理に固有のパラメータには、ＯＣＲ後のファイルフォーマットの設定、ＯＣＲを行う言語の設定、ＯＣＲ後のファイルの画像（用紙）サイズの設定などが含まれる。
【０１００】
２つ目のタスクの定義に含まれるパラメータ（Ｐａｒａｍｓ）は生成したファイルをオンラインストレージ１０３１に保存する処理に固有のパラメータである。生成したファイルをオンラインストレージ１０３１に保存する処理に固有のパラメータには、オンラインストレージ１０３１に保存するファイルの保存場所を示すＵＲＬが設定される。図１１の例ではオンラインストレージ１０３１に保存するファイルの保存場所を示すＵＲＬに＄１を設定することで、１つ目のタスクの結果を使うことを表している。
【０１０１】
また、生成したファイルをオンラインストレージ１０３１に保存する処理に固有のパラメータには、ファイルを保存するフォルダの設定、オンラインストレージ１０３１に接続するためのトークンを認証・認可部１１２１から入手するための設定などが含まれる。
【０１０２】
図１２及び図１３は、ジョブ完了の通知の一例の構成図である。ジョブ完了の通知にはジョブの定義に関わる部分１と、タスクの定義に関わる部分２と、タスクの実行結果の定義に関わる部分３と、が含まれる。ジョブの定義に関わる部分１は、ジョブＩＤ、アプリＩＤ、組織ＩＤ、ユーザＩＤ、ステータス、エラー情報、ジョブの作成日時、ジョブの更新日時、コールバックする先のＵＲＬ、コールバックに必要なクッキー情報、予約要素などを含む。ステータスはジョブのステータスであり、受理、処理中、完了、エラーなどが設定される。エラー情報はステータスがエラーの場合に、何のエラーかを示す情報が設定される。
【０１０３】
タスクの定義に関わる部分２は図１１のタスクの定義に関わる部分２に、タスクＩＤ及び親ジョブＩＤが追加されたものである。タスクの実行結果の定義に関わる部分３はタスクの定義に関わる部分２に定義された２つのタスクを実行した結果が列挙されている。
【０１０４】
１つ目のタスクの実行結果の定義には図１２のタスクの定義に関わる部分２に設定されている１つ目のタスクの定義の他、エラー情報、処理結果の詳細、タスクの処理開始日時及び完了日時が設定されている。
【０１０５】
処理結果の詳細としては、例えばスキャン画像に対してＯＣＲを実行する処理に固有の処理結果として、処理後のファイルの所在を示すＵＲＬ、処理後のファイルのサイズなどが設定される。また、処理結果の詳細としては各機能で共通に提供される情報として、タスク全体（ワーカーフレームワーク１１３３及びワーカー１１３２）で掛かった時間、エンジン（ワーカー１１３２）で掛かった時間などが設定される。
【０１０６】
２つ目のタスクの実行結果の定義には図１２のタスクの定義に関わる部分２に設定されている２つ目のタスクの定義の他、エラー情報、処理結果の詳細、タスクの処理開始日時及び完了日時が設定されている。処理結果の詳細としては、例えば生成したファイルをオンラインストレージ１０３１に保存する処理に固有の処理結果として、保存されたファイルの名前、オンラインストレージ１０３１が発行したファイルＩＤ、保存したファイルの所在を示すＵＲＬなどが設定される。また、処理結果の詳細としては各機能で共通に提供される情報として、１つ目のタスクと同様に、タスク全体で掛かった時間、エンジンで掛かった時間などが設定される。
【０１０７】
《非同期処理》
図４に示すサービス提供システム１１００による非同期処理の流れについて詳細に説明する。図１４は、サービス提供システムによる非同期処理の一例について説明する図である。
【０１０８】
図１４は、図４に示したサービス提供システム１１００の処理ブロックのうち、アプリケーション１１０１と、一時画像保存部１１２６と、画像処理ワークフロー制御部１１２７と、メッセージキュー１１３１と、ワーカー１１３２と、を示している。
【０１０９】
アプリケーション１１０１は、画像形成装置１０１３からアップロードされたスキャン画像のファイル保存を一時画像保存部１１２６に要求する。一時画像保存部１１２６は一時画像記憶部１１４６にスキャン画像のファイルを保存し、ファイルの保存場所を示すＵＲＩをスキャンサービスアプリ１１１２に返す。アプリケーション１１０１は、画像処理ワークフロー制御部１１２７にジョブ情報の登録を要求する。画像処理ワークフロー制御部１１２７はジョブ情報をジョブ情報記憶部１１４７に登録する。ジョブ情報記憶部１１４７はジョブ情報を登録したジョブのジョブＩＤを発行し、画像処理ワークフロー制御部１１２７に返す。
【０１１０】
画像処理ワークフロー制御部１１２７は、ジョブ情報に含まれるタイプ（ｔｙｐｅ）から処理の種類（機能）を解析する。画像処理ワークフロー制御部１１２７は処理の種類に合致するメッセージキュー１１３１のキューに、ジョブに係るリクエストのメッセージを投入（キューイング）する。画像処理ワークフロー制御部１１２７は、必要な処理の種類を解析し、非同期処理を実行させる制御を行う。
【０１１１】
メッセージキュー１１３１は複数の処理の種類に対応するキューを有している。図１４ではワーカー１１３２と、そのワーカー１１３２が担当するキューとを線で結んで表現している。図１４に示すように、ワーカー１１３２は１又は複数のキューを担当することができる。また、図１４に示すように、キューは１又は複数のワーカー１１３２に担当されることができる。
【０１１２】
例えば図１４では、１つのワーカー１１３２が担当する処理の種類として「ｄｏｃ２ＸＸＸ」「ｐｄｆ２ＸＸＸ」「ＸＸＸ２ｐｄｆ」「ｓｔｏｒａｇｅ２ＸＸＸ」「ｏｃｒ」「ｐｄｆ２ＸＸＸ、ｏｃｒ」を表している。処理の種類「ｐｄｆ２ＸＸＸ、ｏｃｒ」を担当するワーカー１１３２は複数の処理の種類を担当するワーカー１１３２の例である。
【０１１３】
メッセージキュー１１３１のキューを監視しているワーカーフレームワーク１１３３はキューに投入されたジョブに係るリクエストのメッセージを検知する。ワーカーフレームワーク１１３３はキューに登録されたメッセージを取得する。ワーカーフレームワーク１１３３は図１４において図示を省略している。ワーカーフレームワーク１１３３の詳細は後述する。
【０１１４】
ワーカーフレームワーク１１３３は取得したメッセージに含まれるジョブＩＤのジョブ情報をジョブ情報記憶部１１４７から取得する。ワーカーフレームワーク１１３３は取得したジョブ情報から、一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを読み出す。
【０１１５】
そして、ワーカーフレームワーク１１３３は一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを指定して、一時画像記憶部１１４６からスキャン画像のファイルを取得する。
【０１１６】
ワーカーフレームワーク１１３３は取得したジョブ情報から処理の種類を解析し、処理の種類に合致するワーカー１１３２にジョブ実行を指示する。指示されたジョブを実行したワーカー１１３２はワーカーフレームワーク１１３３にジョブの実行結果を返す。
【０１１７】
ワーカーフレームワーク１１３３はジョブの完了をジョブ情報記憶部１１４７に通知する。ジョブ情報記憶部１１４７は必要に応じて完了したジョブのステータス（状態）情報を更新する。また、ワーカーフレームワーク１１３３はジョブ情報からコールバックする先のＵＲＬを読み出し、コールバックする先のＵＲＬに、ジョブ完了を通知する。
【０１１８】
メッセージキュー１１３１のキューと、ワーカー１１３２と、ワーカーフレームワーク１１３３との関係は、例えば図１５のように表すことができる。
【０１１９】
図１５はキューとワーカーとワーカーフレームワークとの関係について説明するための図である。メッセージキュー１１３１は、複数のキューを有する。キューは「ｄｏｃ２ＸＸＸ」などの処理の種類（機能）ごとに分離されている。メッセージキュー１１３１は例えば１つのサーバ１０上で動作する。
【０１２０】
また、ワーカー１１３２及びワーカーフレームワーク１１３３はワーカーサーバ１１Ａ及び１１Ｂ上で動作する。ワーカーサーバ１１Ａ及び１１Ｂは例えばＷｉｎｄｏｗｓ（登録商標）サーバやＬｉｎｕｘ（登録商標）サーバにより実現される。
【０１２１】
例えばワーカーサーバ１１Ａ及び１１ＢはＷｉｎｄｏｗｓ（登録商標）サーバである場合に、２つのワーカー１１３２を動作させる。また、ワーカーサーバ１１Ａ及び１１ＢはＬｉｎｕｘ（登録商標）サーバである場合に、３つのワーカー１１３２を動作させる。図１５に示すようにワーカーサーバ１１Ａ及び１１Ｂには、ワーカーフレームワーク１１３３と複数のワーカー１１３２とが配置される。
【０１２２】
図１５に示すように、ワーカーフレームワーク１１３３は１つの接続で複数のキューをポーリングすることができる。ただし、１つの接続でポーリングすることができる複数のキューの範囲は例えば同一のＯＳサーバ上で動作するワーカー１１３２の範囲とする。
【０１２３】
メッセージキュー１１３１のキューと、ワーカー１１３２と、ワーカーフレームワーク１１３３とが図１５に示すような関係を有することにより、サービス提供システム１１００は図９に示したようなシーケンス図の処理が実現できる。
【０１２４】
（まとめ）
第１の実施形態に係るサービス提供システム１１００によれば、完了するまでに長時間を要するワーカー１１３２を用いた非同期処理において、ワーカー１１３２による処理の完了をジョブの要求元に、容易に通知することができる。
【０１２５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１２６】
なお、サービス提供システム１１００は特許請求の範囲に記載したネットワークシステムの一例である。ワーカー１１３２は情報処理プログラムの一例である。ワーカーフレームワーク１１３３は実行制御手段の一例である。コールバックに必要なクッキー情報は１以上の処理の実行が完了した旨を、通知先に送信する際に必要な情報の一例である。オンラインストレージ１０３１は所定の記憶装置の一例である。トークンは所定の記憶装置に接続するための認証情報の一例である。ジョブ完了の通知は完了通知の一例である。
【符号の説明】
【０１２７】
１０    サーバ
１１Ａ、１１Ｂ    ワーカーサーバ
１０００    情報処理システム
１０１１    クライアント端末
１０１２    携帯端末
１０１３    画像形成装置
１０２１    アクセス制御装置
１０２２    プリントサービス提供装置
１０２３    スキャンサービス提供装置
１０２４    他サービス提供装置
１０３１    オンラインストレージ
１０５１    ポータルサービス提供装置
１０５２    プリントサービス提供装置
１０５３    スキャンサービス提供装置
１０６１    認証サービス提供装置
１０６２    データ処理サービス提供装置
１０６３    一時データ保存サービス提供装置
１０７１    認証情報記憶装置
１０７２    ジョブ情報記憶装置
１０７３    一時データ記憶装置
１１００    サービス提供システム
１１０１    アプリケーション
１１０２    共通サービス
１１０３    データベース
１１０４    プラットフォームＡＰＩ（Application Programming Interface）
１１１１    ポータルサービスアプリ
１１１２    スキャンサービスアプリ
１１１３    プリントサービスアプリ
１１２１    認証・認可部
１１２２    組織管理部
１１２３    ユーザ管理部
１１２４    ライセンス管理部
１１２５    機器管理部
１１２６    一時画像保存部
１１２７    画像処理ワークフロー制御部
１１２８    ログ収集部
１１３１    メッセージキュー
１１３２    ワーカー
１１３３    ワーカーフレームワーク
１１４１    ログ情報記憶部
１１４２    組織情報記憶部
１１４３    ユーザ情報記憶部
１１４４    ライセンス情報記憶部
１１４５    機器情報記憶部
１１４６    一時画像記憶部
１１４７    ジョブ情報記憶部
１１４８    アプリケーション固有の設定情報記憶部
１５００    コンピュータシステム
１５０１    入力装置
１５０２    表示装置
１５０３    外部Ｉ／Ｆ
１５０３ａ    記録媒体
１５０４    ＲＡＭ
１５０５    ＲＯＭ
１５０６    ＣＰＵ
１５０７    通信Ｉ／Ｆ
１５０８    ＨＤＤ
Ｂ    バス
ＦＷ    ファイヤウォール
Ｎ１〜Ｎ３    ネットワーク
【先行技術文献】
【特許文献】
【０１２８】
【特許文献１】特開２０１２−２２６７００号公報
【図１】
2014170526.tif 000003
【図２】
2014170526.tif 000004
【図３】
2014170526.tif 000005
【図４】
2014170526.tif 000006
【図５】
2014170526.tif 000007
【図６】
2014170526.tif 000008
【図７】
2014170526.tif 000009
【図８】
2014170526.tif 000010
【図９】
2014170526.tif 000011
【図１０】
2014170526.tif 000012
【図１１】
2014170526.tif 000013
【図１２】
2014170526.tif 000014
【図１３】
2014170526.tif 000015
【図１４】
2014170526.tif 000016
【図１５】
2014170526.tif 000017