JP6848340B2 - 情報処理システム、更新方法、情報処理装置及びプログラム - Google Patents

情報処理システム、更新方法、情報処理装置及びプログラム Download PDF

Info

Publication number
JP6848340B2
JP6848340B2 JP2016208945A JP2016208945A JP6848340B2 JP 6848340 B2 JP6848340 B2 JP 6848340B2 JP 2016208945 A JP2016208945 A JP 2016208945A JP 2016208945 A JP2016208945 A JP 2016208945A JP 6848340 B2 JP6848340 B2 JP 6848340B2
Authority
JP
Japan
Prior art keywords
data processing
mode
test
test mode
execution request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016208945A
Other languages
English (en)
Other versions
JP2018072948A (ja
Inventor
熊谷 政輝
政輝 熊谷
本田 正
正 本田
西川 幸一郎
幸一郎 西川
智哉 網倉
智哉 網倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016208945A priority Critical patent/JP6848340B2/ja
Priority to US15/786,716 priority patent/US10621070B2/en
Publication of JP2018072948A publication Critical patent/JP2018072948A/ja
Application granted granted Critical
Publication of JP6848340B2 publication Critical patent/JP6848340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)

Description

本発明は情報処理システム、更新方法、情報処理装置及びプログラムに関する。
例えばデータ変換を実行するサーバはプログラムの独立性やメンテナンス性を高めるために、データ変換を行うデータ変換エンジン(データ変換プログラム、データ変換ライブラリなど)を用いる場合がある。
データ変換の種類やデータ処理の種類が複数の場合には、多数のデータ変換エンジンやデータ処理エンジンが必要となる。このようなデータ変換エンジンやデータ処理エンジンを用いる稼働中の情報処理システムにおいて、データ変換エンジンやデータ処理エンジンの更新を行う技術は従来から知られている(例えば特許文献1参照)。
しかしながら、データ変換エンジンやデータ処理エンジンを用いる従来の情報処理システムは、そのデータ変換エンジンやデータ処理エンジンにより提供するサービスを停止してデータ変換エンジンやデータ処理エンジンの更新を行う必要があった。
本発明の実施の形態は、上記の点に鑑みなされたもので、データ処理プログラムにより提供するサービスを停止することなくデータ処理プログラムを更新できる情報処理システムを提供することを目的とする。
上記目的を達成する為に本願請求項1は、複数の情報処理装置を含む情報処理システムであって、データ処理の実行要求情報を前記データ処理の種類ごとに保持する第1保持手段と、テスト用の前記データ処理の実行要求情報を保持する第2保持手段と、前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行う通常モード及び前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うテストモードを有し、前記テストモードで起動し、前記テストモードを継続するか、前記テストモードから前記通常モードに移行するか、を表すフラグを前記テストモードの状態において監視し、前記フラグが前記テストモードから前記通常モードに移行することを表した場合に、前記テストモードから前記通常モードに移行するデータ処理手段と、を備えたことを特徴とする。
本発明の実施の形態によれば、データ処理プログラムにより提供するサービスを停止することなくデータ処理プログラムを更新できる。
第1の実施形態に係る情報処理システムの一例の構成図である。 サービス提供システムの他の例の構成図である。 コンピュータシステムの一例のハードウェア構成図である。 第1の実施形態に係るサービス提供システムの一例の処理ブロック図である。 組織情報の一例の構成図である。 ユーザ情報の一例の構成図である。 機器情報の一例の構成図である。 ワーカーの従来のリリース方法の一例を示した説明図である。 ワーカーの本実施形態のリリース方法の一例を示した説明図である。 ワーカーの状態遷移の一例を示した説明図である。 ワーカーをテスト及び起動する処理の一例のシーケンス図である。 サービス提供システムによる非同期処理の一例について説明する図である。
以下、本発明の実施形態について図面を参照しながら説明する。
[第1の実施形態]
<システム構成>
図1は第1の実施形態に係る情報処理システムの一例の構成図である。図1の情報処理システム1000は例えばオフィス内ネットワーク等のネットワークN1と、クラウドサービスに代表されるサービス提供システムのネットワークN2と、インターネットなどのネットワークN3とを有する。
ネットワークN1は、ファイヤウォールFWの内側にあるプライベートなネットワークである。ファイヤウォールFWはネットワークN1とネットワークN3との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークN1にはクライアント端末1011、携帯端末1012、複合機などの画像形成装置1013が接続されている。
クライアント端末1011は端末装置の一例である。クライアント端末1011は一般的なOSなどが搭載された情報処理装置によって実現できる。クライアント端末1011は無線による通信の手段または有線による通信の手段を有する。クライアント端末1011は、タブレットPC、ノートPCなど、ユーザが操作可能な端末である。
携帯端末1012は端末装置の一例である。携帯端末1012は、無線による通信の手段または有線による通信の手段を有している。携帯端末1012は、スマートフォンや携帯電話、タブレットPC、ノートPCなど、ユーザが携帯可能な端末である。
画像形成装置1013は複合機などの画像形成機能を有する装置である。画像形成装置1013は無線による通信の手段または有線による通信の手段を有する。画像形成装置1013は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板など、画像形成に係る処理を行う装置である。図1では、一例としてクライアント端末1011、携帯端末1012、画像形成装置1013がそれぞれ一台である例を示しているが複数台であってもよい。
ネットワークN2はアクセス制御装置1021によってネットワークN3に接続されている。ネットワークN2はアクセス制御装置1021によってセキュリティが保護されている。ネットワークN2にはプリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024が接続されている。
図1の情報処理システム1000は、アクセス制御装置1021、プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024がサービス提供システムを実現している。プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024はプリントサービス、スキャンサービスや他サービスを提供する。
アクセス制御装置1021はプリントサービス提供装置1022が提供するプリントサービスやスキャンサービス提供装置1023が提供するスキャンサービスなどへのログインを制御する。
アクセス制御装置1021、プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024は、一台以上の情報処理装置によって実現される。
アクセス制御装置1021、プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024は一台の情報処理装置に統合して実現してもよいし、複数の情報処理装置に分散して実現してもよい。
ネットワークN2側のサービスの一部はネットワークN2以外にあってもよい。携帯端末1012は、オフィス内ネットワーク等のネットワークN1以外にあってもよい。図1の情報処理システム1000では携帯端末1012がネットワークN1と、ネットワークN3とにある例を示している。
ネットワークN3に接続されているオンラインストレージ1031は、ファイルを保存する装置である。オンラインストレージ1031は、ベンダーにより提供されるファイル保存用の装置であってもよい。
図1のサービス提供システムの構成は一例であって、図2に示すような構成によっても実現できる。図2はサービス提供システムの他の例の構成図である。図2のサービス提供システムはネットワークN2がファイヤウォールFWによってネットワークN3に接続されている。
ネットワークN2にはSaaS(Software as a Service)系のサービス提供装置、共通サービス(Network Service Platform)系のサービス提供装置、ストレージ(Storage)系の記憶装置が接続されている。なお、共通サービス系のサービス提供装置はSaaS系のサービス提供装置が共通で使えるサービスを提供する。
SaaS系のサービス提供装置は、例えばポータルサービス提供装置1051、プリントサービス提供装置1052、スキャンサービス提供装置1053など、提供するサービスに応じたサービス提供装置が含まれる。また、共通サービス系のサービス提供装置は、例えば認証サービス提供装置1061、データ処理サービス提供装置1062、一時データ保存サービス提供装置1063など、提供する共通サービスに応じたサービス提供装置が含まれる。ストレージ系の記憶装置は、例えば認証情報記憶装置1071、ジョブ情報記憶装置1072、一時データ記憶装置1073など、記憶する情報(データ)に応じた記憶装置が含まれる。
図2のサービス提供システムでは、例えばファイヤウォールFW、認証サービス提供装置1061が提供する認証サービスによってセキュリティが保護されている。なお、図2のサービス提供システムの構成も一例であって、他の構成であってもよい。
<ハードウェア構成>
図1のクライアント端末1011、携帯端末1012、アクセス制御装置1021、プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024は、例えば図3に示すようなハードウェア構成のコンピュータシステムにより実現される。図2のSaaS系のサービス提供装置、共通サービス系のサービス提供装置、ストレージ系の記憶装置も、例えば図3に示すハードウェア構成のコンピュータシステムにより実現される。
図3はコンピュータシステムの一例のハードウェア構成図である。図3のコンピュータシステム1500は、入力装置1501、表示装置1502、外部I/F1503、RAM(Random Access Memory)1504、ROM(Read Only Memory)1505、CPU(Central Processing Unit)1506、通信I/F1507、及びHDD(Hard Disk Drive)1508などを備え、それぞれがバスBで相互に接続されている。
入力装置1501はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置1502はディスプレイ等を含み、コンピュータシステム1500による処理結果を表示する。
通信I/F1507はコンピュータシステム1500をネットワークN1〜N3に接続するインタフェースである。これにより、コンピュータシステム1500は通信I/F1507を介してデータ通信を行うことができる。
HDD1508はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム1500全体を制御する基本ソフトウェアであるOS(Operating System)や、OS上において各種機能を提供するアプリケーションソフトウェアなどがある。
HDD1508は格納しているプログラムやデータを所定のファイルシステム及び/又はDB(データベース)により管理している。外部I/F1503は、外部装置とのインタフェースである。外部装置には、記録媒体1503aなどがある。これにより、コンピュータシステム1500は外部I/F1503を介して記録媒体1503aの読み取り及び/又は書き込みを行うことができる。記録媒体1503aにはフレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)などがある。
ROM1505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM1505には、コンピュータシステム1500の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM1504は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU1506は、ROM1505やHDD1508などの記憶装置からプログラムやデータをRAM1504上に読み出し、処理を実行することで、コンピュータシステム1500全体の制御や機能を実現する演算装置である。
クライアント端末1011、携帯端末1012、アクセス制御装置1021、プリントサービス提供装置1022、スキャンサービス提供装置1023、他サービス提供装置1024は、コンピュータシステム1500のハードウェア構成により、後述するような各種処理を実現できる。また、図2のSaaS系のサービス提供装置、共通サービス系のサービス提供装置、ストレージ系の記憶装置も、コンピュータシステム1500のハードウェア構成により、後述するような各種処理を実現できる。なお、図1に示した画像形成装置1013、ファイヤウォールFWのハードウェア構成については説明を省略する。
<ソフトウェア構成>
《サービス提供システム》
第1の実施形態に係るサービス提供システムは例えば図4に示す処理ブロックにより実現される。図4は第1の実施形態に係るサービス提供システムの一例の処理ブロック図である。
サービス提供システム1100はプログラムを実行することにより、アプリケーション1101、共通サービス1102、データベース(DB)1103及びプラットフォームAPI(Application Programming Interface)1104を実現している。
アプリケーション1101は、ポータルサービスアプリ1111、スキャンサービスアプリ1112、プリントサービスアプリ1113を一例として有する。
ポータルサービスアプリ1111は、ポータルサービスを提供するアプリケーションである。ポータルサービスは、サービス提供システム1100を利用するための入り口となるサービスを提供する。スキャンサービスアプリ1112はスキャンサービスを提供するアプリケーションである。プリントサービスアプリ1113はプリントサービスを提供するアプリケーションである。アプリケーション1101には、その他のサービスアプリが含まれていてもよい。
プラットフォームAPI1104はポータルサービスアプリ1111、スキャンサービスアプリ1112、プリントサービスアプリ1113などのアプリケーション1101が共通サービス1102を利用するためのインタフェースである。プラットフォームAPI1104はアプリケーション1101からの要求を共通サービス1102が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
プラットフォームAPI1104は、サービス提供システム1100が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばWeb APIにより実現できる。
共通サービス1102は、認証・認可部1121、組織管理部1122、ユーザ管理部1123、ライセンス管理部1124、機器管理部1125、一時画像保存部1126、画像処理ワークフロー制御部1127、ログ収集部1128を有する。
また、画像処理ワークフロー制御部1127はメッセージキュー1131、1つ以上のワーカー(Worker)1132を有する。ワーカー1132は画像変換や画像送信などの機能を実現する。
認証・認可部1121は、クライアント端末1011や画像形成装置1013などのオフィス機器からのログイン要求に基づいて認証・認可を実行する。オフィス機器はクライアント端末1011、携帯端末1012、画像形成装置1013などの総称である。
認証・認可部1121は、例えば後述するユーザ情報記憶部1143、ライセンス情報記憶部1144などにアクセスしてユーザを認証・認可する。また、認証・認可部1121は例えば後述する組織情報記憶部1142、ライセンス情報記憶部1144、機器情報記憶部1145などにアクセスして画像形成装置1013などを認証する。
組織管理部1122は後述する組織情報記憶部1142に記憶されている組織情報を管理する。ユーザ管理部1123は、後述するユーザ情報記憶部1143に記憶されているユーザ情報を管理する。
ライセンス管理部1124は後述するライセンス情報記憶部1144に記憶されているライセンス情報を管理する。機器管理部1125は後述する機器情報記憶部1145に記憶されている機器情報を管理する。一時画像保存部1126は後述する一時画像記憶部1146への一時画像の保存、一時画像記憶部1146からの一時画像の取得を行う。
画像処理ワークフロー制御部1127はアプリケーション1101からの要求に基づいて画像処理に関するワークフローを制御する。メッセージキュー1131は処理の種類に対応するキューを有する。なお、メッセージキュー1131は、後述するようなテスト専用のキューも有している。画像処理ワークフロー制御部1127は処理(ジョブ)に係るリクエストのメッセージを、そのジョブの種類に対応するキューに投入する。
ワーカー1132は対応するキューを監視している。また、ワーカーは通常モードと後述のテストモードとを有している。キューにメッセージが投入されると通常モードで起動されているワーカー1132は、対応するジョブの種類に応じた画像変換や画像送信などの処理を行う。テストモードで起動されているワーカー1132はテスト専用のキューにメッセージが投入されると、そのメッセージに応じた処理を行う。
なお、キューに投入されたメッセージはワーカー1132が主体的に読み出す(Pull)ようにしてもよいし、キューからワーカー1132に提供する(Push)ようにしてもよい。画像処理ワークフロー制御部1127の処理の詳細は後述する。
データベース1103は、ログ情報記憶部1141、組織情報記憶部1142、ユーザ情報記憶部1143、ライセンス情報記憶部1144、機器情報記憶部1145、一時画像記憶部1146、ジョブ情報記憶部1147、アプリケーション固有の設定情報記憶部1148を有する。
ログ情報記憶部1141は、ログ情報を記憶する。組織情報記憶部1142は、後述の組織情報を記憶する。ユーザ情報記憶部1143は、後述のユーザ情報を記憶する。ライセンス情報記憶部1144は、ライセンス情報を記憶する。機器情報記憶部1145は後述の機器情報を記憶する。
一時画像記憶部1146は一時画像を記憶する。一時画像は、例えばワーカー1132が処理するスキャン画像などのファイルやデータである。ジョブ情報記憶部1147は処理(ジョブ)に係るリクエストの情報(ジョブ情報)を記憶する。アプリケーション固有の設定情報記憶部1148はアプリケーション1101に固有の設定情報を記憶する。
サービス提供システム1100は、認証・認可や画像処理に関するワークフローなどの共通サービスを提供する統合基盤と、統合基盤の機能を利用してスキャンサービス、プリントサービス等のアプリサービスを提供するサービス群と、して機能する。統合基盤は例えば共通サービス1102、DB1103及びプラットフォームAPI1104によって構成される。サービス群は例えばアプリケーション1101によって構成される。
なお、図4に示したサービス提供システム1100の処理ブロックの分類形態は一例であり、アプリケーション1101、共通サービス1102、DB1103が図4に示されるような階層で分類されていることが必須ではない。第1の実施形態に係るサービス提供システム1100の処理を実施できるのであれば、図4に示される階層関係などは特定のものに限定されない。
図5は組織情報の一例の構成図である。組織情報は、データ項目として組織ID、組織名、国、言語、アドレス情報などを有する。組織IDは企業、部署などのグループを特定する情報である。組織IDは組織という言語に限定されるものではなく、例えば契約を識別する情報であってもよい。なお、組織IDは一意である。
組織名は企業、部署などのグループの名称である。国は企業、部署などのグループの属する国名を表している。言語は企業、部署などのグループの使用言語を表している。アドレス情報は企業、部署などのグループのメールアドレスを表している。
図6はユーザ情報の一例の構成図である。図6のユーザ情報はデータ項目として組織ID、ユーザ名、パスワード、アドレス情報などを有する。ユーザ名、パスワードはユーザを特定する情報である。したがって、ユーザ名はユーザID等であってもよい。また、パスワードは必須でない。また、同じ組織IDで管理されるユーザ名、パスワードは一意であるが、組織IDが異なれば重複していてもよい。アドレス情報は例えばユーザのメールアドレスを表している。
さらに、ユーザ名はユーザが所持する電子媒体(例えばICカード)を識別する情報を用いてもよい。ユーザが所持する電子媒体としてはICカード、携帯電話、タブレット端末、電子書籍端末等を利用できる。電子媒体を識別する情報としては、カードID、シリアルID、携帯電話の電話番号、端末のプロフィール情報などを利用できる。電子媒体を識別する情報は組み合わせて利用してもよい。
図7は機器情報の一例の構成図である。図7の機器情報はデータ項目として組織ID、デバイス認証情報、事業所情報、ケーパビリティなどを有する。デバイス認証情報はオフィス機器が特定の条件を備えたものであることを判別するデバイス認証のための情報である。デバイス認証情報はオフィス機器に特定のアプリケーションが搭載されていることを示すIDや、特定のオフィス機器であることを示す機器番号などであってもよい。事業所情報は例えばオフィス機器が設置されている事業所を表している。ケーパビリティは例えばオフィス機器の能力を表している。
<処理の詳細>
《ワーカーの従来のリリース方法》
図8はワーカーの従来のリリース方法の一例を示した説明図である。ワーカー1132は例えばワーカーサーバにおいて動作する。ワーカーサーバは、例えば開発者からの指示を受け取ってワーカー1132に関する処理を行う。
図8(A)において、例えば開発者はリリースするワーカー1132のサービスを停止して、これ以上、新たなジョブが入力されないようにしたあとジョブ完了を待って、更新対象のワーカー1132の更新を指示する。ワーカーサーバはワーカー1132のプログラムを書き換えることで、更新対象のワーカー1132を更新する。
図8(B)において、開発者は更新したワーカー1132をテストモードのワーカー1132aとして起動する。なお、テストモードのワーカー1132aは、ダミーワーカーと呼ぶ。また、開発者はテスト用のキュー(以下、ダミーキューと呼ぶ)を起動する。テストモードのワーカー1132aはダミーキューと接続される。
図8(C)において、開発者はダミーキューにジョブを投入し、ダミーワーカー1132aにジョブを処理させることで、ダミーワーカー1132aが正常に動作するかをテストする。
図8(D)において、開発者は、ダミーワーカー1132aによるジョブの処理結果を受け、問題が無ければ、ダミーキュー及びダミーワーカー1132aを停止する。開発者は更新したワーカー1132を通常モードで起動し、ワーカー1132によるサービスを再開する。なお、通常モードのワーカー1132は、ユーザ用のキュー(以下、ノーマルキューという)からのメッセージを受け付ける。
《ワーカーの本実施形態のリリース方法》
図9はワーカーの本実施形態のリリース方法の一例を示した説明図である。ワーカー1132、1132x及び1132yは例えばワーカーサーバにおいて動作する。なお、図9ではワーカー1132は通常モードでの動作を継続する。図9(A)において、開発者はリリースするワーカー1132xを配置し、テストモードで起動する。
なお、テストモードで起動したワーカー1132xはノーマルキューからのメッセージを受け付けず、テスト専用キューからのメッセージを受け付ける。図9(B)において関係者はテスト専用キューにジョブを投入し、ワーカー1132xにジョブを処理させることで、ワーカー1132xが正常に動作するかをテストする。
図9(C)において開発者はワーカー1132xによるジョブの処理結果を受け、問題が無ければ、ワーカー1132xをテストモードから通常モードに移行させる。なお、テストモードから通常モードへの移行判定は、後述のように、例えば特定のファイルの有無により判断させることができる。この特定のファイルが削除されることで、ワーカー1132xはテストモードから通常モードに移行する。
なお、一度通常モードに移行したワーカー1132は、通常モードからテストモードへ移行することはない。したがって、ワーカー1132xのテスト中、ワーカー1132は影響を受けず、通常モードでの動作を継続できる。図9(C)では、ワーカー1132xに続いて、ワーカー1132yを配置し、テストモードで起動する例を示している。
《ワーカーの状態遷移》
図10はワーカーの状態遷移の一例を示した説明図である。ワーカー1132の状態はテストモードと通常モードとエラーモードとがある。ワーカー1132は起動するとテストモードへ移行する。テストモードのワーカー1132は、前述したように、テスト専用キューからのメッセージしか受け付けられない。
テストモードのワーカー1132はテストモードフラグを監視し、テストモードフラグが無くなればテストモードから通常モードに移行する。例えばテストモードフラグの例としては、特定の名前の空ファイルの存在の有無が挙げられる。ワーカー1132はテストモードフラグのファイルが存在すればテストモードで動作し、存在しなければ通常モードで動作する。
なお、テストモードの場合、ワーカー1132はテストモードのまま、一定時間が経過すると、テストが正常に終了しなかったと判断し、エラーモードに遷移する。また、通常モードのワーカー1132は接続エラーなどのエラーが発生すると、エラーモードに遷移する。エラーモードのワーカー1132は新たなジョブを受け付けない。
図11はワーカーをテスト及び起動する処理の一例のシーケンス図である。図11に示す手順により、第1の実施形態に係るサービス提供システム1100は、通常モードに移行後のワーカー1132に影響を与えずにワーカー1132xをテストし、ワーカー1132xを起動する。
ステップS11において開発者はテストモードフラグとなる特定の名前のファイルを作成しておく。ステップS12に進み、開発者はワーカーサーバにリリースするワーカー1132xを配置し、そのワーカー1132xを起動する。ワーカー1132xは、テストモードで起動される。
ステップS13に進み、ワーカー1132xはテストモードフラグのファイルが存在するか否かを判定する。テストモードフラグのファイルが存在すれば、ワーカー1132xはステップS14に進み、メッセージキュー1131にテスト専用キュー1135xへの接続を要求する。メッセージキュー1131はワーカー1132xをテスト専用キュー1135xに接続する。ステップS14の処理後、テスト専用キュー1135xに投入されたメッセージのジョブ処理をワーカー1132xはメッセージキュー1131から依頼されるようになる。
ワーカー1132xが起動した後、開発者はステップS15においてテスト用のジョブをテスト専用キュー1135xに投入する。ここで投入するテスト用のジョブの内容は通常用のジョブと同じものとなる。このように、テスト用のジョブを通常用のジョブと同じ内容とすることで、ワーカー1132xではジョブが通常用かテスト用かを意識することなく処理ができるため、ワーカー1132xに新たな処理を追加する必要がない。テスト用のジョブ又は通常用のジョブを処理するときのワーカー1132xにおける違いは接続されているキューがテスト専用キュー1135xであるかノーマルキュー1135aであるかの違いとなる。
ステップS16において、ワーカー1132xはテスト専用キュー1135xに投入されたテスト用のジョブを取得する。ステップS17に進み、ワーカー1132xは取得したジョブを処理する。
テスト用のジョブの結果を受け、問題がなければ、開発者はステップS18においてテストモードフラグのファイルを削除する。ステップS19において、ワーカー1132xはテストモードフラグのファイルが無くなったことを検知し、ステップS20においてテスト専用キュー1135xとの接続を切る。ステップS21に進み、ワーカー1132xはメッセージキュー1131にノーマルキュー1135aへの接続を要求する。ステップS21の処理後、ワーカー1132xはノーマルキュー1135aに投入されたユーザからのジョブをメッセージキュー1131から依頼されるようになる。
《非同期処理》
図4のサービス提供システム1100が行う非同期処理において更新対象のワーカーは以下のように他のワーカーを停止することなく、リリースされる。図12は、サービス提供システムによる非同期処理の一例について説明する図である。
図12は、図4に示したサービス提供システム1100の処理ブロックのうち、アプリケーション1101と、一時画像保存部1126と、画像処理ワークフロー制御部1127と、メッセージキュー1131と、ワーカー1132と、を示している。
アプリケーション1101は、画像形成装置1013からアップロードされたスキャン画像のファイル保存を一時画像保存部1126に要求する。一時画像保存部1126は一時画像記憶部1146にスキャン画像のファイルを保存し、ファイルの保存場所を示すURIをアプリケーション1101に返す。アプリケーション1101は、画像処理ワークフロー制御部1127にジョブ情報の登録を要求する。画像処理ワークフロー制御部1127はジョブ情報をジョブ情報記憶部1147に登録する。ジョブ情報記憶部1147はジョブ情報を登録したジョブのジョブIDを発行し、画像処理ワークフロー制御部1127に返す。
画像処理ワークフロー制御部1127は、ジョブ情報に含まれるタイプ(type)から処理の種類(機能)を解析する。画像処理ワークフロー制御部1127は処理の種類に合致するメッセージキュー1131のキューに、ジョブに係るリクエストのメッセージを投入する。画像処理ワークフロー制御部1127は、必要な処理の種類を解析し、非同期処理を実行させる制御を行う。
メッセージキュー1131は複数の処理の種類に対応するキューを有している。図12ではワーカー1132と、そのワーカー1132が担当するキューとを線で結んで表現している。また、図12のメッセージキュー1131はノーマルキュー1135a及びテスト専用キュー1135xを有している。
例えば図12では、処理の種類が「pdf2XXX」のワーカー1132xがリリースするワーカー1132xとして配置されている。処理の種類が「doc2XXX」「pdf2XXX」「XXX2pdf」「storage2XXX」のワーカー1132は、通常モードでの動作を継続している。
ワーカー1132xは、テストモードで起動されているため、処理の種類「pdf2XXX」のノーマルキュー1135aではなく、テスト専用キュー1135xに接続されている。したがって、テストモードで起動したワーカー1132xはノーマルキュー1135aからのメッセージを受け付けず、テスト専用キュー1135xからのメッセージを受け付ける。
ワーカー1132xはテスト専用キュー1135xに投入されたメッセージのジョブ処理を行う。ワーカー1132xがテストモードで起動している間も、処理の種類が「pdf2XXX」のワーカー1132はノーマルキュー1135aに投入されたメッセージのジョブ処理を継続する。したがって、図4のサービス提供システム1100では更新対象のワーカー1132xがテストモードで起動している間も、例えば処理の種類が「pdf2XXX」のサービスを停止する必要がない。
テスト用のジョブの結果を受け、問題がなければ、例えば開発者はテストモードフラグのファイルを削除する。ワーカー1132xはテストモードフラグのファイルの削除を検知し、テスト専用キュー1135xとの接続を切る。ワーカー1132xはメッセージキュー1131に処理の種類が「pdf2XXX」のノーマルキュー1135aへの接続を要求する。この後、ワーカー1132xは処理の種類が「pdf2XXX」のノーマルキュー1135aに投入されたユーザからのジョブをメッセージキュー1131から依頼されるようになる。
例えばワーカー1132xはノーマルキュー1135aに投入されたジョブに係るリクエストのメッセージを検知する。ワーカー1132xはキューに登録されたメッセージを取得する。ワーカー1132xは取得したメッセージに含まれるジョブIDのジョブ情報をジョブ情報記憶部1147から取得する。ワーカー1132xは取得したジョブ情報から、一時画像記憶部1146に保存されているスキャン画像のファイルの保存場所を示すURIを読み出す。
そして、ワーカー1132xは一時画像記憶部1146に保存されているスキャン画像のファイルの保存場所を示すURIを指定して、一時画像記憶部1146からスキャン画像のファイルを取得する。ワーカー1132xは取得したスキャン画像のファイルに対してジョブを実行する。ワーカー1132xはジョブの完了をジョブ情報記憶部1147に通知して、完了したジョブのステータス(状態)情報を更新させる。
<まとめ>
このように、本実施形態に係る情報処理システム1000では、ワーカー1132xを追加又は更新する場合に、運用中のサービスに影響しないようにする必要がある。このため本実施形態に係る情報処理システム1000では追加又は更新するワーカー1132xをデプロイ(配置)した後にテストし、テストが成功して初めて動作させる必要がある。
そこで、本実施形態に係る情報処理システム1000では、起動したワーカー1132xが、まずテストモードで動作するようにし、テストが成功してからテストモードを解除して通常モードに移行させるようにした。テストモードのワーカー1132xはノーマルキューからのメッセージを受け付けず、テスト専用キューからのメッセージを受け付けるため、サービスを停止することなく、ワーカー1132xを追加又は更新できる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、ノーマルキュー1135aは特許請求の範囲に記載した第1保持手段の一例である。テスト専用キュー1135xは第2保持手段の一例である。ワーカー1132xはデータ処理手段の一例である。
1000 情報処理システム
1011 クライアント端末
1012 携帯端末
1013 画像形成装置
1021 アクセス制御装置
1022 プリントサービス提供装置
1023 スキャンサービス提供装置
1024 他サービス提供装置
1031 オンラインストレージ
1051 ポータルサービス提供装置
1052 プリントサービス提供装置
1053 スキャンサービス提供装置
1061 認証サービス提供装置
1062 データ処理サービス提供装置
1063 一時データ保存サービス提供装置
1071 認証情報記憶装置
1072 ジョブ情報記憶装置
1073 一時データ記憶装置
1100 サービス提供システム
1101 アプリケーション
1102 共通サービス
1103 データベース
1104 プラットフォームAPI(Application Programming Interface)
1111 ポータルサービスアプリ
1112 スキャンサービスアプリ
1113 プリントサービスアプリ
1121 認証・認可部
1122 組織管理部
1123 ユーザ管理部
1124 ライセンス管理部
1125 機器管理部
1126 一時画像保存部
1127 画像処理ワークフロー制御部
1128 ログ収集部
1131 メッセージキュー
1132、1132x ワーカー
1135x テスト専用キュー
1135a ノーマルキュー
1141 ログ情報記憶部
1142 組織情報記憶部
1143 ユーザ情報記憶部
1144 ライセンス情報記憶部
1145 機器情報記憶部
1146 一時画像記憶部
1147 ジョブ情報記憶部
1148 アプリケーション固有の設定情報記憶部
1500 コンピュータシステム
1501 入力装置
1502 表示装置
1503 外部I/F
1503a 記録媒体
1504 RAM
1505 ROM
1506 CPU
1507 通信I/F
1508 HDD
B バス
FW ファイヤウォール
N1〜N3 ネットワーク
特開2014−153804号公報

Claims (7)

  1. 複数の情報処理装置を含む情報処理システムであって、
    データ処理の実行要求情報を前記データ処理の種類ごとに保持する第1保持手段と、
    テスト用の前記データ処理の実行要求情報を保持する第2保持手段と、
    前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行う通常モード及び前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うテストモードを有し、前記テストモードで起動し、前記テストモードを継続するか、前記テストモードから前記通常モードに移行するか、を表すフラグを前記テストモードの状態において監視し、前記フラグが前記テストモードから前記通常モードに移行することを表した場合に、前記テストモードから前記通常モードに移行するデータ処理手段と、
    を備えた情報処理システム。
  2. 前記データ処理手段は、前記テストモードの状態で所定時間が経過すると、前記テストモードからエラーモードに移行することを特徴とする請求項1記載の情報処理システム。
  3. 前記データ処理手段は、前記テストモードから前記通常モードに移行した場合、前記第1保持手段が保持している前記実行要求情報を取得し、前記フラグが前記テストモードから前記通常モードに移行することを表していない場合、前記第2保持手段が保持している前記実行要求情報を取得する請求項1又は2に記載の情報処理システム。
  4. 前記データ処理手段は、前記テストモードを継続するか、前記テストモードから前記通
    常モードに移行するか、を特定のファイルが存在しているか否かにより表すフラグを前記
    テストモードの状態において監視し、前記特定のファイルが存在していなければ、前記テ
    ストモードから前記通常モードに移行すること
    を特徴とする請求項1乃至3何れか一項記載の情報処理システム。
  5. データ処理の実行要求情報を前記データ処理の種類ごとに保持する第1保持手段と、テスト用の前記データ処理の実行要求情報を保持する第2保持手段と、前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行う通常モード及び前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うテストモードを有するデータ処理手段と、を有する情報処理システムが実行するデータ処理プログラムの更新方法であって
    前記データ処理手段が前記テストモードで起動し、前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うステップと、
    前記データ処理手段が前記テストモードを継続するか、前記テストモードから前記通常モードに移行するか、を表すフラグを前記テストモードの状態において監視し、前記フラグが前記テストモードから前記通常モードに移行することを表した場合に、前記テストモードから前記通常モードに移行し、前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行うステップと、
    を有することを特徴とする更新方法。
  6. データ処理の実行要求情報を前記データ処理の種類ごとに保持する第1保持手段と、
    テスト用の前記データ処理の実行要求情報を保持する第2保持手段と、
    前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行う通常モード及び前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うテストモードを有し、前記テストモードで起動し、前記テストモードを継続するか、前記テストモードから前記通常モードに移行するか、を表すフラグを前記テストモードの状態において監視し、前記フラグが前記テストモードから前記通常モードに移行することを表した場合に、前記テストモードから前記通常モードに移行するデータ処理手段と、
    を備えた情報処理装置。
  7. コンピュータを、
    データ処理の実行要求情報を前記データ処理の種類ごとに保持する第1保持手段、
    テスト用の前記データ処理の実行要求情報を保持する第2保持手段、
    前記第1保持手段が保持している前記実行要求情報を取得して前記データ処理を行う通常モード及び前記第2保持手段が保持している前記実行要求情報を取得して前記データ処理を行うテストモードを有し、前記テストモードで起動し、前記テストモードを継続するか、前記テストモードから前記通常モードに移行するか、を表すフラグを前記テストモードの状態において監視し、前記フラグが前記テストモードから前記通常モードに移行することを表した場合に、前記テストモードから前記通常モードに移行するデータ処理手段、
    として機能させるためのプログラム。
JP2016208945A 2016-10-25 2016-10-25 情報処理システム、更新方法、情報処理装置及びプログラム Active JP6848340B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016208945A JP6848340B2 (ja) 2016-10-25 2016-10-25 情報処理システム、更新方法、情報処理装置及びプログラム
US15/786,716 US10621070B2 (en) 2016-10-25 2017-10-18 Information processing system and updating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016208945A JP6848340B2 (ja) 2016-10-25 2016-10-25 情報処理システム、更新方法、情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2018072948A JP2018072948A (ja) 2018-05-10
JP6848340B2 true JP6848340B2 (ja) 2021-03-24

Family

ID=61971527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016208945A Active JP6848340B2 (ja) 2016-10-25 2016-10-25 情報処理システム、更新方法、情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US10621070B2 (ja)
JP (1) JP6848340B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880365B2 (en) * 2018-03-08 2020-12-29 Ricoh Company, Ltd. Information processing apparatus, terminal apparatus, and method of processing information
EP3778826B1 (en) 2018-04-05 2024-08-07 Mitsubishi Electric Corporation Heat storage material, method for preparing same, and heat storage tank
CN108710554B (zh) * 2018-05-21 2023-06-06 格兰菲智能科技有限公司 处理器侦错系统及方法
CN110069406B (zh) * 2019-03-29 2020-08-11 梁俊杰 自动触发的tpc-ds测试方法以及系统
JP2022147777A (ja) * 2021-03-23 2022-10-06 株式会社リコー データ変換処理システム、データ変換処理方法及びデータ変換処理プログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH081607B2 (ja) * 1989-02-28 1996-01-10 甲府日本電気株式会社 情報処理システムにおける擬似障害発生方式
JPH03159345A (ja) * 1989-11-16 1991-07-09 Matsushita Electric Ind Co Ltd プロトコルの試験方法
JPH05241884A (ja) * 1992-02-27 1993-09-21 Mitsubishi Electric Corp 計算機の試験装置
JPH07121409A (ja) * 1993-10-28 1995-05-12 Fujitsu Ltd 性能評価装置
JP2001202101A (ja) * 2000-01-18 2001-07-27 Toshiba Corp 二重化制御システムおよびそのプログラムメンテナンス方法
US7509533B1 (en) * 2003-06-30 2009-03-24 Sun Microsystems, Inc. Methods and apparatus for testing functionality of processing devices by isolation and testing
US8364633B2 (en) * 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US8527681B2 (en) * 2007-05-25 2013-09-03 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US7861116B2 (en) * 2007-12-31 2010-12-28 Intel Corporation Device, system, and method for optimized concurrent error detection
WO2012027701A2 (en) * 2010-08-26 2012-03-01 Massively Parallel Technologies, Inc. Parallel processing development environment and associated methods
US9367360B2 (en) * 2012-01-30 2016-06-14 Microsoft Technology Licensing, Llc Deploying a hardware inventory as a cloud-computing stamp
JP2013178748A (ja) 2012-02-01 2013-09-09 Ricoh Co Ltd 情報処理装置、プログラム、情報処理システム及びデータ変換処理方法
US9081556B2 (en) * 2012-06-26 2015-07-14 Apple Inc. Power on reset detector
US8990778B1 (en) * 2012-09-14 2015-03-24 Amazon Technologies, Inc. Shadow test replay service
JP6364738B2 (ja) 2013-01-11 2018-08-01 株式会社リコー 情報処理システム、情報処理装置、プログラム及び処理実行方法
JP6357780B2 (ja) 2013-02-06 2018-07-18 株式会社リコー ネットワークシステム及び情報通知方法
JP2014153804A (ja) 2013-02-06 2014-08-25 Ricoh Co Ltd 情報処理装置、情報処理システム、停止方法及びプログラム
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
FR3004825B1 (fr) * 2013-04-19 2015-04-24 Krono Safe Procede d'allocation temporelle de taches permettant une recuperation d'erreur deterministe en temps reel
JP6268991B2 (ja) 2013-12-02 2018-01-31 株式会社リコー 情報処理システム、情報処理装置及びプログラム
JP5721808B2 (ja) * 2013-12-09 2015-05-20 京セラ株式会社 携帯電話機
US9448785B1 (en) * 2015-11-06 2016-09-20 AO Kaspersky Lab System and method updating full disk encryption software

Also Published As

Publication number Publication date
US20180113792A1 (en) 2018-04-26
JP2018072948A (ja) 2018-05-10
US10621070B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
JP6848340B2 (ja) 情報処理システム、更新方法、情報処理装置及びプログラム
JP6476760B2 (ja) 情報処理システム、情報処理装置、ログイン方法、及びプログラム
US9294484B2 (en) System, service providing device, and service providing method
US9854131B2 (en) Image forming apparatus with personal setting synchronization and method for controlling same
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
JP6291826B2 (ja) 情報処理システム及びライセンス管理方法
US9514291B2 (en) Information processing system, information processing device, and authentication information management method
US20130160126A1 (en) Malware remediation system and method for modern applications
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
US9317396B2 (en) Information processing apparatus including an execution control unit, information processing system having the same, and stop method using the same
JP6357780B2 (ja) ネットワークシステム及び情報通知方法
US20170149788A1 (en) Information processing apparatus, terminal apparatus, program, and information processing system
JP2014059696A (ja) 情報処理装置、出力システム及びプログラム
JP6427880B2 (ja) 情報処理システム、情報処理装置及びプログラム
US20180270246A1 (en) Information processing system, information processing apparatus, and information processing method
JP6927282B2 (ja) 情報処理装置、端末装置、プログラム及び情報処理システム
US9319562B2 (en) Image forming apparatus capable of sychronizing personal setting information
JP6716899B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2014153807A (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
JP5822581B2 (ja) 画像形成装置、その方法、及びプログラム
CN112153233A (zh) 设备设定装置和计算机可读非临时性记录介质
JP2017027272A (ja) 情報処理システム、情報処理方法、及びプログラム
JP7524639B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2018081572A (ja) サービス提供システム、情報処理装置、プログラム及び情報処理システム
JP6337532B2 (ja) 情報処理システム、及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R151 Written notification of patent or utility model registration

Ref document number: 6848340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151