(57)【要約】【課題】データ処理プログラムにより提供するサービスを停止することなくデータ処理プログラムを更新できる情報処理システムを提供することを課題とする。【解決手段】複数の情報処理装置を含む情報処理システムであって、データ処理の実行要求情報をデータ処理の種類ごとに保持する第１保持手段と、テスト用のデータ処理の実行要求情報を保持する第２保持手段と、第１保持手段が保持している実行要求情報を取得してデータ処理を行う通常モード及び第２保持手段が保持している実行要求情報を取得してデータ処理を行うテストモードを有し、テストモードで起動し、ユーザからの指示によりテストモードから通常モードに移行するデータ処理手段と、を備えた情報処理システムにより、上記課題を解決する。【選択図】  図９
2018072948.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）１１０４を実現している。
【００３６】
アプリケーション１１０１は、ポータルサービスアプリ１１１１、スキャンサービスアプリ１１１２、プリントサービスアプリ１１１３を一例として有する。
【００３７】
ポータルサービスアプリ１１１１は、ポータルサービスを提供するアプリケーションである。ポータルサービスは、サービス提供システム１１００を利用するための入り口となるサービスを提供する。スキャンサービスアプリ１１１２はスキャンサービスを提供するアプリケーションである。プリントサービスアプリ１１１３はプリントサービスを提供するアプリケーションである。アプリケーション１１０１には、その他のサービスアプリが含まれていてもよい。
【００３８】
プラットフォームＡＰＩ１１０４はポータルサービスアプリ１１１１、スキャンサービスアプリ１１１２、プリントサービスアプリ１１１３などのアプリケーション１１０１が共通サービス１１０２を利用するためのインタフェースである。プラットフォームＡＰＩ１１０４はアプリケーション１１０１からの要求を共通サービス１１０２が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
【００３９】
プラットフォームＡＰＩ１１０４は、サービス提供システム１１００が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩにより実現できる。
【００４０】
共通サービス１１０２は、認証・認可部１１２１、組織管理部１１２２、ユーザ管理部１１２３、ライセンス管理部１１２４、機器管理部１１２５、一時画像保存部１１２６、画像処理ワークフロー制御部１１２７、ログ収集部１１２８を有する。
【００４１】
また、画像処理ワークフロー制御部１１２７はメッセージキュー１１３１、１つ以上のワーカー（Ｗｏｒｋｅｒ）１１３２を有する。ワーカー１１３２は画像変換や画像送信などの機能を実現する。
【００４２】
認証・認可部１１２１は、クライアント端末１０１１や画像形成装置１０１３などのオフィス機器からのログイン要求に基づいて認証・認可を実行する。オフィス機器はクライアント端末１０１１、携帯端末１０１２、画像形成装置１０１３などの総称である。
【００４３】
認証・認可部１１２１は、例えば後述するユーザ情報記憶部１１４３、ライセンス情報記憶部１１４４などにアクセスしてユーザを認証・認可する。また、認証・認可部１１２１は例えば後述する組織情報記憶部１１４２、ライセンス情報記憶部１１４４、機器情報記憶部１１４５などにアクセスして画像形成装置１０１３などを認証する。
【００４４】
組織管理部１１２２は後述する組織情報記憶部１１４２に記憶されている組織情報を管理する。ユーザ管理部１１２３は、後述するユーザ情報記憶部１１４３に記憶されているユーザ情報を管理する。
【００４５】
ライセンス管理部１１２４は後述するライセンス情報記憶部１１４４に記憶されているライセンス情報を管理する。機器管理部１１２５は後述する機器情報記憶部１１４５に記憶されている機器情報を管理する。一時画像保存部１１２６は後述する一時画像記憶部１１４６への一時画像の保存、一時画像記憶部１１４６からの一時画像の取得を行う。
【００４６】
画像処理ワークフロー制御部１１２７はアプリケーション１１０１からの要求に基づいて画像処理に関するワークフローを制御する。メッセージキュー１１３１は処理の種類に対応するキューを有する。なお、メッセージキュー１１３１は、後述するようなテスト専用のキューも有している。画像処理ワークフロー制御部１１２７は処理（ジョブ）に係るリクエストのメッセージを、そのジョブの種類に対応するキューに投入する。
【００４７】
ワーカー１１３２は対応するキューを監視している。また、ワーカーは通常モードと後述のテストモードとを有している。キューにメッセージが投入されると通常モードで起動されているワーカー１１３２は、対応するジョブの種類に応じた画像変換や画像送信などの処理を行う。テストモードで起動されているワーカー１１３２はテスト専用のキューにメッセージが投入されると、そのメッセージに応じた処理を行う。
【００４８】
なお、キューに投入されたメッセージはワーカー１１３２が主体的に読み出す（Ｐｕｌｌ）ようにしてもよいし、キューからワーカー１１３２に提供する（Ｐｕｓｈ）ようにしてもよい。画像処理ワークフロー制御部１１２７の処理の詳細は後述する。
【００４９】
データベース１１０３は、ログ情報記憶部１１４１、組織情報記憶部１１４２、ユーザ情報記憶部１１４３、ライセンス情報記憶部１１４４、機器情報記憶部１１４５、一時画像記憶部１１４６、ジョブ情報記憶部１１４７、アプリケーション固有の設定情報記憶部１１４８を有する。
【００５０】
ログ情報記憶部１１４１は、ログ情報を記憶する。組織情報記憶部１１４２は、後述の組織情報を記憶する。ユーザ情報記憶部１１４３は、後述のユーザ情報を記憶する。ライセンス情報記憶部１１４４は、ライセンス情報を記憶する。機器情報記憶部１１４５は後述の機器情報を記憶する。
【００５１】
一時画像記憶部１１４６は一時画像を記憶する。一時画像は、例えばワーカー１１３２が処理するスキャン画像などのファイルやデータである。ジョブ情報記憶部１１４７は処理（ジョブ）に係るリクエストの情報（ジョブ情報）を記憶する。アプリケーション固有の設定情報記憶部１１４８はアプリケーション１１０１に固有の設定情報を記憶する。
【００５２】
サービス提供システム１１００は、認証・認可や画像処理に関するワークフローなどの共通サービスを提供する統合基盤と、統合基盤の機能を利用してスキャンサービス、プリントサービス等のアプリサービスを提供するサービス群と、して機能する。統合基盤は例えば共通サービス１１０２、ＤＢ１１０３及びプラットフォームＡＰＩ１１０４によって構成される。サービス群は例えばアプリケーション１１０１によって構成される。
【００５３】
なお、図４に示したサービス提供システム１１００の処理ブロックの分類形態は一例であり、アプリケーション１１０１、共通サービス１１０２、ＤＢ１１０３が図４に示されるような階層で分類されていることが必須ではない。第１の実施形態に係るサービス提供システム１１００の処理を実施できるのであれば、図４に示される階層関係などは特定のものに限定されない。
【００５４】
図５は組織情報の一例の構成図である。組織情報は、データ項目として組織ＩＤ、組織名、国、言語、アドレス情報などを有する。組織ＩＤは企業、部署などのグループを特定する情報である。組織ＩＤは組織という言語に限定されるものではなく、例えば契約を識別する情報であってもよい。なお、組織ＩＤは一意である。
【００５５】
組織名は企業、部署などのグループの名称である。国は企業、部署などのグループの属する国名を表している。言語は企業、部署などのグループの使用言語を表している。アドレス情報は企業、部署などのグループのメールアドレスを表している。
【００５６】
図６はユーザ情報の一例の構成図である。図６のユーザ情報はデータ項目として組織ＩＤ、ユーザ名、パスワード、アドレス情報などを有する。ユーザ名、パスワードはユーザを特定する情報である。したがって、ユーザ名はユーザＩＤ等であってもよい。また、パスワードは必須でない。また、同じ組織ＩＤで管理されるユーザ名、パスワードは一意であるが、組織ＩＤが異なれば重複していてもよい。アドレス情報は例えばユーザのメールアドレスを表している。
【００５７】
さらに、ユーザ名はユーザが所持する電子媒体（例えばＩＣカード）を識別する情報を用いてもよい。ユーザが所持する電子媒体としてはＩＣカード、携帯電話、タブレット端末、電子書籍端末等を利用できる。電子媒体を識別する情報としては、カードＩＤ、シリアルＩＤ、携帯電話の電話番号、端末のプロフィール情報などを利用できる。電子媒体を識別する情報は組み合わせて利用してもよい。
【００５８】
図７は機器情報の一例の構成図である。図７の機器情報はデータ項目として組織ＩＤ、デバイス認証情報、事業所情報、ケーパビリティなどを有する。デバイス認証情報はオフィス機器が特定の条件を備えたものであることを判別するデバイス認証のための情報である。デバイス認証情報はオフィス機器に特定のアプリケーションが搭載されていることを示すＩＤや、特定のオフィス機器であることを示す機器番号などであってもよい。事業所情報は例えばオフィス機器が設置されている事業所を表している。ケーパビリティは例えばオフィス機器の能力を表している。
【００５９】
＜処理の詳細＞
《ワーカーの従来のリリース方法》
図８はワーカーの従来のリリース方法の一例を示した説明図である。ワーカー１１３２は例えばワーカーサーバにおいて動作する。ワーカーサーバは、例えば開発者からの指示を受け取ってワーカー１１３２に関する処理を行う。
【００６０】
図８（Ａ）において、例えば開発者はリリースするワーカー１１３２のサービスを停止して、これ以上、新たなジョブが入力されないようにしたあとジョブ完了を待って、更新対象のワーカー１１３２の更新を指示する。ワーカーサーバはワーカー１１３２のプログラムを書き換えることで、更新対象のワーカー１１３２を更新する。
【００６１】
図８（Ｂ）において、開発者は更新したワーカー１１３２をテストモードのワーカー１１３２ａとして起動する。なお、テストモードのワーカー１１３２ａは、ダミーワーカーと呼ぶ。また、開発者はテスト用のキュー（以下、ダミーキューと呼ぶ）を起動する。テストモードのワーカー１１３２ａはダミーキューと接続される。
【００６２】
図８（Ｃ）において、開発者はダミーキューにジョブを投入し、ダミーワーカー１１３２ａにジョブを処理させることで、ダミーワーカー１１３２ａが正常に動作するかをテストする。
【００６３】
図８（Ｄ）において、開発者は、ダミーワーカー１１３２ａによるジョブの処理結果を受け、問題が無ければ、ダミーキュー及びダミーワーカー１１３２ａを停止する。開発者は更新したワーカー１１３２を通常モードで起動し、ワーカー１１３２によるサービスを再開する。なお、通常モードのワーカー１１３２は、ユーザ用のキュー（以下、ノーマルキューという）からのメッセージを受け付ける。
【００６４】
《ワーカーの本実施形態のリリース方法》
図９はワーカーの本実施形態のリリース方法の一例を示した説明図である。ワーカー１１３２、１１３２ｘ及び１１３２ｙは例えばワーカーサーバにおいて動作する。なお、図９ではワーカー１１３２は通常モードでの動作を継続する。図９（Ａ）において、開発者はリリースするワーカー１１３２ｘを配置し、テストモードで起動する。
【００６５】
なお、テストモードで起動したワーカー１１３２ｘはノーマルキューからのメッセージを受け付けず、テスト専用キューからのメッセージを受け付ける。図９（Ｂ）において関係者はテスト専用キューにジョブを投入し、ワーカー１１３２ｘにジョブを処理させることで、ワーカー１１３２ｘが正常に動作するかをテストする。
【００６６】
図９（Ｃ）において開発者はワーカー１１３２ｘによるジョブの処理結果を受け、問題が無ければ、ワーカー１１３２ｘをテストモードから通常モードに移行させる。なお、テストモードから通常モードへの移行判定は、後述のように、例えば特定のファイルの有無により判断させることができる。この特定のファイルが削除されることで、ワーカー１１３２ｘはテストモードから通常モードに移行する。
【００６７】
なお、一度通常モードに移行したワーカー１１３２は、通常モードからテストモードへ移行することはない。したがって、ワーカー１１３２ｘのテスト中、ワーカー１１３２は影響を受けず、通常モードでの動作を継続できる。図９（Ｃ）では、ワーカー１１３２ｘに続いて、ワーカー１１３２ｙを配置し、テストモードで起動する例を示している。
【００６８】
《ワーカーの状態遷移》
図１０はワーカーの状態遷移の一例を示した説明図である。ワーカー１１３２の状態はテストモードと通常モードとエラーモードとがある。ワーカー１１３２は起動するとテストモードへ移行する。テストモードのワーカー１１３２は、前述したように、テスト専用キューからのメッセージしか受け付けられない。
【００６９】
テストモードのワーカー１１３２はテストモードフラグを監視し、テストモードフラグが無くなればテストモードから通常モードに移行する。例えばテストモードフラグの例としては、特定の名前の空ファイルの存在の有無が挙げられる。ワーカー１１３２はテストモードフラグのファイルが存在すればテストモードで動作し、存在しなければ通常モードで動作する。
【００７０】
なお、テストモードの場合、ワーカー１１３２はテストモードのまま、一定時間が経過すると、テストが正常に終了しなかったと判断し、エラーモードに遷移する。また、通常モードのワーカー１１３２は接続エラーなどのエラーが発生すると、エラーモードに遷移する。エラーモードのワーカー１１３２は新たなジョブを受け付けない。
【００７１】
図１１はワーカーをテスト及び起動する処理の一例のシーケンス図である。図１１に示す手順により、第１の実施形態に係るサービス提供システム１１００は、通常モードに移行後のワーカー１１３２に影響を与えずにワーカー１１３２ｘをテストし、ワーカー１１３２ｘを起動する。
【００７２】
ステップＳ１１において開発者はテストモードフラグとなる特定の名前のファイルを作成しておく。ステップＳ１２に進み、開発者はワーカーサーバにリリースするワーカー１１３２ｘを配置し、そのワーカー１１３２ｘを起動する。ワーカー１１３２ｘは、テストモードで起動される。
【００７３】
ステップＳ１３に進み、ワーカー１１３２ｘはテストモードフラグのファイルが存在するか否かを判定する。テストモードフラグのファイルが存在すれば、ワーカー１１３２ｘはステップＳ１４に進み、メッセージキュー１１３１にテスト専用キュー１１３５ｘへの接続を要求する。メッセージキュー１１３１はワーカー１１３２ｘをテスト専用キュー１１３５ｘに接続する。ステップＳ１４の処理後、テスト専用キュー１１３５ｘに投入されたメッセージのジョブ処理をワーカー１１３２ｘはメッセージキュー１１３１から依頼されるようになる。
【００７４】
ワーカー１１３２ｘが起動した後、開発者はステップＳ１５においてテスト用のジョブをテスト専用キュー１１３５ｘに投入する。ここで投入するテスト用のジョブの内容は通常用のジョブと同じものとなる。このように、テスト用のジョブを通常用のジョブと同じ内容とすることで、ワーカー１１３２ｘではジョブが通常用かテスト用かを意識することなく処理ができるため、ワーカー１１３２ｘに新たな処理を追加する必要がない。テスト用のジョブ又は通常用のジョブを処理するときのワーカー１１３２ｘにおける違いは接続されているキューがテスト専用キュー１１３５ｘであるかノーマルキュー１１３５ａであるかの違いとなる。
【００７５】
ステップＳ１６において、ワーカー１１３２ｘはテスト専用キュー１１３５ｘに投入されたテスト用のジョブを取得する。ステップＳ１７に進み、ワーカー１１３２ｘは取得したジョブを処理する。
【００７６】
テスト用のジョブの結果を受け、問題がなければ、開発者はステップＳ１８においてテストモードフラグのファイルを削除する。ステップＳ１９において、ワーカー１１３２ｘはテストモードフラグのファイルが無くなったことを検知し、ステップＳ２０においてテスト専用キュー１１３５ｘとの接続を切る。ステップＳ２１に進み、ワーカー１１３２ｘはメッセージキュー１１３１にノーマルキュー１１３５ａへの接続を要求する。ステップＳ２１の処理後、ワーカー１１３２ｘはノーマルキュー１１３５ａに投入されたユーザからのジョブをメッセージキュー１１３１から依頼されるようになる。
【００７７】
《非同期処理》
図４のサービス提供システム１１００が行う非同期処理において更新対象のワーカーは以下のように他のワーカーを停止することなく、リリースされる。図１２は、サービス提供システムによる非同期処理の一例について説明する図である。
【００７８】
図１２は、図４に示したサービス提供システム１１００の処理ブロックのうち、アプリケーション１１０１と、一時画像保存部１１２６と、画像処理ワークフロー制御部１１２７と、メッセージキュー１１３１と、ワーカー１１３２と、を示している。
【００７９】
アプリケーション１１０１は、画像形成装置１０１３からアップロードされたスキャン画像のファイル保存を一時画像保存部１１２６に要求する。一時画像保存部１１２６は一時画像記憶部１１４６にスキャン画像のファイルを保存し、ファイルの保存場所を示すＵＲＩをアプリケーション１１０１に返す。アプリケーション１１０１は、画像処理ワークフロー制御部１１２７にジョブ情報の登録を要求する。画像処理ワークフロー制御部１１２７はジョブ情報をジョブ情報記憶部１１４７に登録する。ジョブ情報記憶部１１４７はジョブ情報を登録したジョブのジョブＩＤを発行し、画像処理ワークフロー制御部１１２７に返す。
【００８０】
画像処理ワークフロー制御部１１２７は、ジョブ情報に含まれるタイプ（ｔｙｐｅ）から処理の種類（機能）を解析する。画像処理ワークフロー制御部１１２７は処理の種類に合致するメッセージキュー１１３１のキューに、ジョブに係るリクエストのメッセージを投入する。画像処理ワークフロー制御部１１２７は、必要な処理の種類を解析し、非同期処理を実行させる制御を行う。
【００８１】
メッセージキュー１１３１は複数の処理の種類に対応するキューを有している。図１２ではワーカー１１３２と、そのワーカー１１３２が担当するキューとを線で結んで表現している。また、図１２のメッセージキュー１１３１はノーマルキュー１１３５ａ及びテスト専用キュー１１３５ｘを有している。
【００８２】
例えば図１２では、処理の種類が「ｐｄｆ２ＸＸＸ」のワーカー１１３２ｘがリリースするワーカー１１３２ｘとして配置されている。処理の種類が「ｄｏｃ２ＸＸＸ」「ｐｄｆ２ＸＸＸ」「ＸＸＸ２ｐｄｆ」「ｓｔｏｒａｇｅ２ＸＸＸ」のワーカー１１３２は、通常モードでの動作を継続している。
【００８３】
ワーカー１１３２ｘは、テストモードで起動されているため、処理の種類「ｐｄｆ２ＸＸＸ」のノーマルキュー１１３５ａではなく、テスト専用キュー１１３５ｘに接続されている。したがって、テストモードで起動したワーカー１１３２ｘはノーマルキュー１１３５ａからのメッセージを受け付けず、テスト専用キュー１１３５ｘからのメッセージを受け付ける。
【００８４】
ワーカー１１３２ｘはテスト専用キュー１１３５ｘに投入されたメッセージのジョブ処理を行う。ワーカー１１３２ｘがテストモードで起動している間も、処理の種類が「ｐｄｆ２ＸＸＸ」のワーカー１１３２はノーマルキュー１１３５ａに投入されたメッセージのジョブ処理を継続する。したがって、図４のサービス提供システム１１００では更新対象のワーカー１１３２ｘがテストモードで起動している間も、例えば処理の種類が「ｐｄｆ２ＸＸＸ」のサービスを停止する必要がない。
【００８５】
テスト用のジョブの結果を受け、問題がなければ、例えば開発者はテストモードフラグのファイルを削除する。ワーカー１１３２ｘはテストモードフラグのファイルの削除を検知し、テスト専用キュー１１３５ｘとの接続を切る。ワーカー１１３２ｘはメッセージキュー１１３１に処理の種類が「ｐｄｆ２ＸＸＸ」のノーマルキュー１１３５ａへの接続を要求する。この後、ワーカー１１３２ｘは処理の種類が「ｐｄｆ２ＸＸＸ」のノーマルキュー１１３５ａに投入されたユーザからのジョブをメッセージキュー１１３１から依頼されるようになる。
【００８６】
例えばワーカー１１３２ｘはノーマルキュー１１３５ａに投入されたジョブに係るリクエストのメッセージを検知する。ワーカー１１３２ｘはキューに登録されたメッセージを取得する。ワーカー１１３２ｘは取得したメッセージに含まれるジョブＩＤのジョブ情報をジョブ情報記憶部１１４７から取得する。ワーカー１１３２ｘは取得したジョブ情報から、一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを読み出す。
【００８７】
そして、ワーカー１１３２ｘは一時画像記憶部１１４６に保存されているスキャン画像のファイルの保存場所を示すＵＲＩを指定して、一時画像記憶部１１４６からスキャン画像のファイルを取得する。ワーカー１１３２ｘは取得したスキャン画像のファイルに対してジョブを実行する。ワーカー１１３２ｘはジョブの完了をジョブ情報記憶部１１４７に通知して、完了したジョブのステータス（状態）情報を更新させる。
【００８８】
＜まとめ＞
このように、本実施形態に係る情報処理システム１０００では、ワーカー１１３２ｘを追加又は更新する場合に、運用中のサービスに影響しないようにする必要がある。このため本実施形態に係る情報処理システム１０００では追加又は更新するワーカー１１３２ｘをデプロイ（配置）した後にテストし、テストが成功して初めて動作させる必要がある。
【００８９】
そこで、本実施形態に係る情報処理システム１０００では、起動したワーカー１１３２ｘが、まずテストモードで動作するようにし、テストが成功してからテストモードを解除して通常モードに移行させるようにした。テストモードのワーカー１１３２ｘはノーマルキューからのメッセージを受け付けず、テスト専用キューからのメッセージを受け付けるため、サービスを停止することなく、ワーカー１１３２ｘを追加又は更新できる。
【００９０】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、ノーマルキュー１１３５ａは特許請求の範囲に記載した第１保持手段の一例である。テスト専用キュー１１３５ｘは第２保持手段の一例である。ワーカー１１３２ｘはデータ処理手段の一例である。
【符号の説明】
【００９１】
１０００    情報処理システム
１０１１    クライアント端末
１０１２    携帯端末
１０１３    画像形成装置
１０２１    アクセス制御装置
１０２２    プリントサービス提供装置
１０２３    スキャンサービス提供装置
１０２４    他サービス提供装置
１０３１    オンラインストレージ
１０５１    ポータルサービス提供装置
１０５２    プリントサービス提供装置
１０５３    スキャンサービス提供装置
１０６１    認証サービス提供装置
１０６２    データ処理サービス提供装置
１０６３    一時データ保存サービス提供装置
１０７１    認証情報記憶装置
１０７２    ジョブ情報記憶装置
１０７３    一時データ記憶装置
１１００    サービス提供システム
１１０１    アプリケーション
１１０２    共通サービス
１１０３    データベース
１１０４    プラットフォームＡＰＩ（Application Programming Interface）
１１１１    ポータルサービスアプリ
１１１２    スキャンサービスアプリ
１１１３    プリントサービスアプリ
１１２１    認証・認可部
１１２２    組織管理部
１１２３    ユーザ管理部
１１２４    ライセンス管理部
１１２５    機器管理部
１１２６    一時画像保存部
１１２７    画像処理ワークフロー制御部
１１２８    ログ収集部
１１３１    メッセージキュー
１１３２、１１３２ｘ    ワーカー
１１３５ｘ    テスト専用キュー
１１３５ａ    ノーマルキュー
１１４１    ログ情報記憶部
１１４２    組織情報記憶部
１１４３    ユーザ情報記憶部
１１４４    ライセンス情報記憶部
１１４５    機器情報記憶部
１１４６    一時画像記憶部
１１４７    ジョブ情報記憶部
１１４８    アプリケーション固有の設定情報記憶部
１５００    コンピュータシステム
１５０１    入力装置
１５０２    表示装置
１５０３    外部Ｉ／Ｆ
１５０３ａ    記録媒体
１５０４    ＲＡＭ
１５０５    ＲＯＭ
１５０６    ＣＰＵ
１５０７    通信Ｉ／Ｆ
１５０８    ＨＤＤ
Ｂ    バス
ＦＷ    ファイヤウォール
Ｎ１〜Ｎ３    ネットワーク
【先行技術文献】
【特許文献】
【００９２】
【特許文献１】特開２０１４−１５３８０４号公報
【図１】
2018072948.tif 000003
【図２】
2018072948.tif 000004
【図３】
2018072948.tif 000005
【図４】
2018072948.tif 000006
【図５】
2018072948.tif 000007
【図６】
2018072948.tif 000008
【図７】
2018072948.tif 000009
【図８】
2018072948.tif 000010
【図９】
2018072948.tif 000011
【図１０】
2018072948.tif 000012
【図１１】
2018072948.tif 000013
【図１２】
2018072948.tif 000014