<第1実施形態>
図1は、本発明の情報処理装置の一例であるMFP (Multifunction Peripheral Product Printer)100を具備する情報処理システムの具体例を説明するための図である。
以上の情報処理システムでは、ネットワークNを介して、MFP100(a、b)とサーバ(外部装置)200とが通信可能である。以上の各構成は、例えば、HTTP(HyperText Transfer Protocol)方式の通信でHTML(HyperText Markup Language)形式のデータを送受信する。ただし、各構成の通信方式等は適宜に変更できる。MFP100には、サーバ200のアドレスが予め記憶される。
ネットワークNとしては、例えばインターネット、専用のネットワーク、VPN(仮想プライベートネットワーク)およびローカルネットワークの何れであってもよい。また、以上の各ネットワークの組合せであってもよい。また、有線通信および無線通信の何れを採用してもよい。
MFP100は、各種のジョブ(例えば、印刷ジョブ)を実行可能である。また、MFP100は、ジョブを実行する毎に、当該ジョブに関するログ情報DLを生成する。例えば、印刷ジョブに関するログ情報DLには、ジョブの実行者、ジョブの実行日時、印刷枚数、カラー印刷であるかモノクロ印刷であるかを特定可能な機器ログ情報、および、印刷される画像データと当該画像データの書誌情報を含む画像ログ情報が含まれる。
図1に示す通り、MFP100で生成されたログ情報DLは、ネットワークNを介して、サーバ200へ送信される。サーバ200は、MFP100から送信されたログ情報DLを記憶(蓄積)する。なお、図1では、2台のMFP100(a、b)が生成したログ情報DLをサーバ200が記憶する例を示すが、MFP100は1台であってもよいし、3台以上であってもよい。
以上の情報システムで不具合(通信障害など)が生じた場合、ログ情報DLの送信に失敗する場合がある。なお、本実施形態の「ログ情報DLの送信に失敗」とは、MFP100でログ情報DLが生成されたが、当該ログ情報DLがサーバ200で記憶されないことを意味する。すなわち、本実施形態の「ログ情報DLの送信に失敗」した場合には、MFP100の不具合でログ情報DLが正常に送信されなかった場合に加え、サーバ200またはネットワークNの不具合でログ情報DLがサーバ200で正常に記憶されなかった場合が含まれる。
本実施形態では、ログ情報DLの送信に失敗した場合、その旨をMFP100が判断可能な構成が採用される。具体的には、サーバ200は、ログ情報DLを記憶すると、その旨をMFP100へ通知する。MFP100は、ログ情報DLを送信した後に、当該ログ情報DLがサーバ200に記憶された旨の通知が受信されない場合、ログ情報DLの送信に失敗したと判断する。ただし、ログ情報DLの送信に失敗したか否かを判断するための構成は、以上の例に限定されない。
MFP100は、ログ情報DLの送信に失敗したと判断した場合、当該ログ情報DLを削除することなく保持する。具体的には、送信に失敗したログ情報DLは、MFP100のログ保存領域(後述の第1記憶部13)において不揮発的に記憶される。以上の構成では、MFP100への電源の供給が停止する期間(電源がOFFの期間)であっても、送信に失敗したログ情報DLを保持できる。したがって、送信に失敗したログ情報DLが、MFP100およびサーバ200の何れにも記憶されない不都合が抑制される。
また、MFP100は、送信に失敗したログ情報DLを再度送信し、送信に成功すると、当該ログ情報DLをログ保存領域から削除する。以上の構成では、ログ保存領域の残り容量が、不要なログ情報DLが原因で不足する問題が生じ難くなる。ただし、以上の構成では、ログ情報DLの送信に連続して失敗した場合、MFP100に複数個のログ情報DLが滞留する。
本実施形態のログ保存領域は、予め定められた個数(以下「上限個数」)のログ情報DLが記憶されると、残り容量が不足する。したがって、仮にログ保存領域のログ情報DLが上限個数に達した後に、新たなジョブが実行された場合、当該ジョブに関するログ情報DLがログ保存領域に保存できないという不都合が生じる。
そこで、本実施形態では、ログ保存領域のログ情報DLが上限個数に達する前に、新たなジョブの実行が抑止される構成(後述の抑止部15)を採用した。具体的には、ログ保存領域のログ情報DLの個数が閾値Tに達した場合、MFP100が抑止状態へ移行する。以上の抑止状態では、予め定められたジョブ(以下「特定ジョブ」)の実行が原則禁止される。特定ジョブとしては、例えば、印刷ジョブが想定される。以上の構成によれば、上述の不都合が抑制される。
ただし、MFP100は、電源断から復帰した直後(起動時)では、ログ保存領域に記憶されるログ情報DLの個数によらず、抑止状態に移行していない(状態が初期化されている)。すなわち、MFP100の起動時において、ログ保存領域に記憶されるログ情報DLの個数が閾値Tに達している場合(本来、抑止状態へ移行すべき場合)であっても、抑止状態に移行していない。以上の事情から、本実施形態では、MFP100が起動した契機で、抑止状態へ移行可能な構成が採用される。
しかし、仮に、MFP100が起動してから抑止状態へ移行するまでの期間が長期化すると、当該期間において、新たなジョブが実行されてしまう不都合が生じ易くなるという事情がある。したがって、MFP100の起動時に抑止状態へ直ちに移行し易い構成(MFP100が起動してから抑止状態へ移行するまでの期間が短縮される構成)が好適である。
以上の事情を考慮して、本実施形態では、MFP100の起動時に抑止状態へ直ちに移行し易い構成を採用した。具体的には、本実施形態のMFP100は、予め定められた契機(例えば、ログ保存領域にログ情報DLが追加される契機)でカウント処理を実行する。以上のカウント処理では、ログ保存領域に滞留するログ情報DLの個数がカウントされる。MFP100は、以上のカウント処理の結果を「滞留情報DS」として滞留情報保存領域(後述の第2記憶部14)に記憶する。
滞留情報保存領域は、滞留情報DSを不揮発的に記憶する。以上の構成では、電源断以前のカウント処理の結果である滞留情報DSが、電源断の期間においても保持される。MFP100は、起動時において、滞留情報保存領域の滞留情報DSが示すログ情報DLの個数が閾値Tに達しているか否かを判定し、閾値Tに達している場合、抑止状態へ移行することができる。
仮に、滞留情報DSが揮発性メモリに記憶される対比例(後述の図4(c)参照)を想定する。以上の対比例では、滞留情報DSが電源断後に維持されない。したがって、MFP100の起動時において、抑止状態へ移行させるか否かを判定するため、カウント処理を再度実行し、当該カウント処理が終了するのを待つ必要がある。
上述の本実施形態では、滞留情報DSが不揮発的に記憶されるため、MFP100の起動時において、カウント処理の終了を待たずに抑止状態への移行できる。したがって、例えば、上述の対比例と比較して、抑止状態へ移行するのに要する時間が短縮される。以上の構成の詳細については後述する。
図2は、MFP100のハードウェア構成図である。図2に示されているように、MFP100は、コントローラ110、近距離通信回路120、エンジン制御部130、操作パネル140、ネットワークI/F150を備えている。
コントローラ110は、コンピュータの主要部であるCPU101、システムメモリ(MEM-P)102、ノースブリッジ(NB)103、サウスブリッジ(SB)204、ASIC(Application Specific Integrated Circuit)206、記憶部であるローカルメモリ(MEM-C)107、HDDコントローラ108、及び、記憶部であるHD109を有し、NB103とASIC106との間をAGP(Accelerated Graphics Port)バス121で接続した構成となっている。
CPU101は、MFP100の全体制御を行う制御部である。NB103は、CPU101と、MEM-P102、SB104、及びAGPバス121とを接続するためのブリッジであり、MEM-P102に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P102は、コントローラ110の各機能を実現させるプログラムやデータの格納用メモリであるROM102a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM102bとからなる。なお、RAM102bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB104は、NB103とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC106は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス121、PCIバス122、HDDコントローラ108およびMEM-C107をそれぞれ接続するブリッジの役割を有する。
ASIC106は、PCIターゲットおよびAGPマスタ、ASIC206の中核をなすアービタ(ARB)、MEM-C107を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC (Direct Memory Access Controller)、並びに、スキャナ部131及びプリンタ部132との間でPCIバス122を介したデータ転送を行うPCIユニットとからなる。なお、ASIC106には、USB (Universal Serial Bus)のインターフェースや、IEEE1394 (Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。
MEM-C107は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD109は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、HD109には、外部装置のアドレス等が蓄積される。
HDDコントローラ108は、CPU101の制御にしたがってHD109に対するデータの読出又は書込を制御する。AGPバス121は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P102に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路120には、近距離通信回路120aが備わっている。近距離通信回路120は、NFC、Bluetooth(登録商標)等の通信回路である。更に、エンジン制御部130は、スキャナ部131及びプリンタ部132によって構成されている。また、操作パネル140は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部140a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作パネル140bを備えている。
コントローラ110は、MFP100全体の制御を行い、例えば、描画、通信、操作パネル140からの入力等を制御する。スキャナ部131又はプリンタ部132には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、MFP100は、操作パネル140のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F150は、通信ネットワークを利用してデータ通信をするためのインターフェースである。近距離通信回路120及びネットワークI/F150は、PCIバス122を介して、ASIC106に電気的に接続されている。
図3は、本実施形態の情報処理装置10(MFP100)の機能ブロック図である。図3に示す通り、情報処理装置10は、生成部11、送信部12、第1記憶部13、第2記憶部14、抑止部15および解除部16を含んで構成される。
生成部11は、情報処理装置10でジョブが実行された場合、当該ジョブに関するログ情報DLを生成する。以上のログ情報DLには、上述の特定ジョブ(例えば印刷ジョブ)に関するログ情報DLが含まれる。
送信部12は、生成部11が生成したログ情報DLを外部装置へ送信する。具体的には、送信部12は、ログ情報DLが生成された契機で、当該ログ情報DLをサーバ200へ送信する。ただし、ログ情報DLが送信される契機は適宜に変更してもよい。送信部12が送信したログ情報DLは、上述のサーバ200に蓄積される。
第1記憶部13は、送信に失敗したログ情報DLを不揮発的に記憶する。また、第1記憶部13に記憶されたログ情報DLは、その後、送信に成功した契機で削除される。以上の構成では、送信に失敗した時点で(成功・失敗を問わず)ログ情報DLが削除される構成と比較して、当該ログ情報DLをサーバ200に確実に蓄積することができる。
以上の第1記憶部13として、例えば、上述のHD109が機能する。なお、第1記憶部13はログ情報DLを不揮発的に記憶可能であれば足り、HD以外の記憶装置が第1記憶部13として機能する構成としてもよい。例えば、NVRAM(Non-Volatile RAM)を第1記憶部13として機能させる構成としてもよい。また、情報処理装置10に着脱可能なフラッシュメモリ(メモリーカード)を第1記憶部13として機能させる構成としてもよい。
第2記憶部14は、滞留情報DSを不揮発的に記憶する。滞留情報DSは、第1記憶部13へのログ情報DLの追加に伴い更新される情報である。本実施形態では、滞留情報DSとして、第1記憶部13に記憶されるログ情報DLの合計個数が第2記憶部14に記憶される。
具体的には、情報処理装置10は、予め定められた契機でカウント処理を実行する。以上のカウント処理では、第1記憶部13に記憶されるログ情報DLがカウントされ、ログ情報DLの合計個数が滞留情報DSとして第2記憶部14に記憶される。カウント処理は、例えば、第1記憶部13にログ情報DLが追加された契機(ログ情報DLの送信に失敗した契機)で実行される。
以上の第2記憶部14として、例えば、上述のHD109が機能する。なお、第2記憶部14は滞留情報DSを不揮発的に記憶可能であれば足り、HD以外の記憶装置を第2記憶部14として機能させる構成としてもよい(上述の第1記憶部13と同様)。また、一のハードウェア(例えば、HD109)が第1記憶部13および第2記憶部14の双方の機能を兼備してもよいし、第1記憶部13として機能するハードウェアと第2記憶部14として機能するハードウェアとを別々に設けてもよい。
詳細には後述するが、第2記憶部14に滞留情報DSを不揮発的に記憶することで、起動時において直ちに抑止状態へ移行させ易くなる。以上の構成では、情報処理装置10が起動してから抑止状態へ移行するまでの期間が短縮されるため、当該期間で新たなジョブが実行されてしまう不都合が抑制できるとも換言される。
抑止部15は、滞留情報DSに応じて、新たなジョブの実行を抑止する。上述した通り、滞留情報DSは、第1記憶部13に記憶されるログ情報DLの合計個数である。抑止部15は、滞留情報DSが閾値Tに達した場合、特定ジョブ(印刷ジョブ等)の実行が抑止(原則禁止)される抑止状態へ移行させる。なお、閾値Tは適宜に設定できるが、例えば、第1記憶部13の残り容量が無くなる前に(ニアフルの状態で)抑止状態へ移行する閾値Tが好適である。
本実施形態の抑止部15は、情報処理装置10が起動した契機で、第2記憶部14の滞留情報DSを判定し、該判定の結果に応じて、新たなジョブの実行を抑止可能である。以上の抑止部15によれば、情報処理装置10の起動時において、滞留情報DSが閾値Tに達しているにもよらず(本来、抑止状態へ移行すべき期間において)、特定ジョブが実行される不都合が抑制される。以上の構成については、後述の図6を用いて詳細に説明する。
解除部16は、第1記憶部13からログ情報DLが削除された場合、新たなジョブの実行の抑止を解除可能である。具体的には、抑止状態において、第1記憶部13からログ情報DLが削除された場合、第1記憶部13のログ情報DLの合計個数(滞留情報DS)が閾値Tより少ないか否かが判定される。以上の判定において、ログ情報DLの合計個数が閾値T以上であると判断された場合、抑止状態が維持される。一方、ログ情報DLの合計個数が閾値Tより少ないと判断された場合、抑止状態が解除される。以上の構成については、後述の図7を用いて詳細に説明する。
図4は、本実施形態の情報処理装置10が実行する各モジュールM(1~3)の概要を説明するための図である。
情報処理装置10は、ジョブ実行モジュールM1、イベント制御モジュールM2およびログ管理モジュールM3を実行する。以上の各モジュールMが実行されると、上述の第1記憶部13および第2記憶部14の各情報(ログ情報DL、滞留情報DS)が適宜に更新される。
ジョブ実行モジュールM1は、上述の特定ジョブを含む各種のジョブを実行する。なお、図4に示す各モジュールMの他に、情報処理装置10は、起動制御モジュールM0(後述の図6参照)およびログ送信モジュールM4(後述の図5参照)を実行する。
図4(a)は、情報処理装置10の通常期間(起動時を経過した後の期間)における各モジュールMの動作を説明するための図である。具体的には、図4(a)は、通常期間において、ログ情報DLの送信に失敗した場合の各モジュールMの動作を説明するための図である。送信に失敗したログ情報DLは、ログ管理モジュールM3により、第1記憶部13に蓄積される。
ログ管理モジュールM3は、第1記憶部13にログ情報DLを記憶した後に、カウント処理を実行し、第1記憶部13に記憶されるログ情報DLの個数をカウントする(図4の(A))。また、ログ管理モジュールM3は、第1記憶部13のログ情報DLの合計個数を、滞留情報DSとして第2記憶部14に記憶する(図4(B))。
その後、ログ管理モジュールM3は、滞留情報DSが閾値T以上であるか否かを判定する。仮に、滞留情報DSが閾値T以上であると判断した場合、ログ管理モジュールM3は、ログ滞留通知をジョブ実行モジュールM1へ入力する(図4の(C))。ジョブ実行モジュールM1は、ログ滞留通知が入力されると、抑止状態へ移行し、特定ジョブの実行を抑止する。
図4(b)は、情報処理装置10の起動時(起動直後の期間)における各モジュールMの動作を説明するための図である。具体的には、図4(b)は、情報処理装置10の起動時において、第1記憶部13に閾値T以上のログ情報DLが蓄積されている具体例である。すなわち、抑止状態において情報処理装置10が電源断され、再度電源が投入された場合の動作を説明するための図である。
本実施形態では、情報処理装置10の起動時において、上述の各モジュールM(1~3)のうちイベント制御モジュールM2が最初に起動する。すなわち、イベント制御モジュールM2は、ジョブ実行モジュールM1より先に起動する。
上述した通り、第2記憶部14は、滞留情報DSを不揮発的に記憶する。以上の構成では、電源断より前に第2記憶部14に記憶された滞留情報DSが、情報処理装置10の起動時(再起動時)において維持される。したがって、情報処理装置10の起動時において、上述のカウント処理(図4(a)の(A))を要することなく、第1記憶部13に蓄積したログ情報DLの個数が滞留情報DSから特定できる。
以上の本実施形態の構成は、カウント処理を要することなく、情報処理装置10を抑止状態へ移行させるべきか否かを判定できるとも換言される。具体的には、情報処理装置10が起動すると、イベント制御モジュールM2は、第2記憶部14の滞留情報DSを参照する(図4(b)の(A))。図4(b)の具体例では、滞留情報DSは閾値T以上であると判断され、イベント制御モジュールM2は、ジョブ実行モジュールM1へ滞留通知を入力する(図4(b)の(B))。
図4(c)は、本実施形態の対比例を説明するための図である。具体的には、図4(c)は、対比例の情報処理装置10の起動時(起動直後の期間)における各モジュールMの動作を説明するための図である。
上述した通り、本実施形態の第2記憶部14は、カウント処理で算出された滞留情報DSを不揮発的に記憶する。図4(c)の対比例では、上述の第2記憶部14に替えて、記憶部24に滞留情報DSが記憶される。以上の記憶部24は揮発性メモリである。したがって、以上の記憶部24では、情報処理装置10が電源断した場合、滞留情報DSが維持されない。すなわち、情報処理装置10の起動時において、滞留情報DSが維持されていない。
以上の対比例では、情報処理装置10の起動時において、抑止状態へ移行させるか否かを判定するために、カウント処理を実行し、滞留情報DSを算出する必要がある。具体的には、対比例の情報処理装置10は、起動時において、第1記憶部13のログ情報DLをカウントするカウント処理を実行する(図4(c)の(A))。また、カウント処理で算出された滞留情報DSを記憶部24に記憶する(図4(c)の(B))。
滞留情報DSを記憶部24に記憶した後に、対比例のイベント制御モジュールM2は、滞留情報DSを参照する(図4(c)の(C))。その後、滞留情報DSが閾値T以上であると判断され、イベント制御モジュールM2は、ジョブ実行モジュールM1へ滞留通知を入力する(図4(c)の(D))。
以上の説明から理解される通り、対比例では、滞留情報DSを揮発性メモリ(記憶部24)が記憶する。したがって、起動時に滞留情報DSを直ちに参照できないという不都合がある。本実施形態では、滞留情報DSが不揮発的に記憶されるため、以上の不都合が抑制されるという利点がある。
また、本実施形態では、情報処理装置10が起動してから抑止状態へ移行するまでの期間において、上述の対比例と比較して、各種の処理(カウント処理など)を省略できる。したがって、情報処理装置10が起動してから抑止状態へ移行するまでの期間を短縮し易く、当該期間において新たなジョブが実行される不都合が抑制されるという利点がある。
図5は、情報処理装置10(各モジュールM)の動作の具体例を説明するためのシーケンス図である。図5には、上述の通常期間の各時点における各モジュールMの動作の具体例が示される。
図5に示す通り、ジョブ実行モジュールM1は、ジョブ実行要求を受付ける(Sa1)。例えば、情報処理装置10のユーザーにより操作パネル140が適宜に操作されると、当該操作に応じたジョブを実行させるためのジョブ実行要求が受付られる。ただし、操作パネル140の操作以外の方法(例えば、携帯用端末の操作)で、ジョブ実行要求が受付可能な構成としてもよい。以上のジョブ実行モジュールM1は、情報処理装置10が実行可能なジョブ毎に複数設けられる。
ジョブ実行モジュールM1は、ジョブ実行要求が入力されると、ジョブを実行開始する。また、ジョブ実行モジュールM1は、当該ジョブに関するログ情報DLを保存するためのログ記録依頼をイベント制御モジュールM2に入力する(Sa2)。
図5に示す通り、ログ記録依頼は、イベント制御モジュールM2からログ管理モジュールM3へ入力される(Sa3)。ログ管理モジュールM3は、ログ記録依頼が入力されると、ログ生成処理(Sa4)を実行する。以上のログ生成処理では、ジョブ実行モジュールM1が実行するジョブに関するログ情報DLが生成される。
ログ管理モジュールM3は、ログ生成処理を実行した後に、ログ送信要求をログ送信モジュールM4へ入力する(Sa5)。ログ送信モジュールM4は、以上のログ送信要求が入力されると、ログ情報DLをサーバ200へ送信する(Sa6)。本実施形態では、第1記憶部13にログ情報DLが残っている場合、ログ送信要求が所定周期で送信される。ただし、ログ送信要求が他の契機で送信される構成としてもよい。
図5は、ログ情報DLの送信に失敗した具体例を想定する。以上の具体例では、図5に示す通り、ログ送信モジュールM4は、ログ情報DLの送信に失敗した旨をログ管理モジュールM3に通知する(Sa7)。なお、仮にログ情報DLの送信に成功した場合、図5のステップSa7以降の各ステップSは実行されない。
ログ管理モジュールM3は、ログ情報DLの送信に失敗した旨が通知されると、当該ログ情報DLを第1記憶部13に記憶する(Sa8)。その後、ログ管理モジュールM3は、カウント処理(Sa9)を実行する。以上のカウント処理では、第1記憶部13におけるログ情報DLの合計個数がカウントされる。
ログ管理モジュールM3は、カウント処理で算出したログ情報DLの合計個数を、滞留情報DSとして第2記憶部14に記憶する(Sa10)。以上のステップSa10では、第1記憶部13におけるログ滞留数の状態が保存されるとも換言される。なお、以上の構成に替えて、第1記憶部13に追加されるログ情報DLの個数(例えば1個)を、第2記憶部14の滞留情報DSに加算する処理が実行される構成としてもよい。
ログ管理モジュールM3は、第2記憶部14に滞留情報DSを記憶した後に、当該滞留情報DSに応じて、抑止状態へ移行させるか否かを判定する。具体的には、滞留情報DS(第1記憶部13のログ情報DLの合計個数)が閾値Tに達していない場合、抑止状態への移行を決定しない。一方、滞留情報DSが閾値Tに達している場合、抑止状態への移行を決定する。
図5の具体例では、滞留情報DSが閾値Tに達した場合を想定する。以上の具体例では、図5に示す通り、ログ滞留通知がイベント制御モジュールM2に入力される(Sa11)。また、イベント制御モジュールM2は、ログ滞留通知をジョブ実行モジュールM1へ入力する(Sa12)。具体的には、イベント制御モジュールM2は、各ジョブを実行する各ジョブ実行モジュールM1のうち、上述の特定ジョブを実行する全てのジョブ実行モジュールM1へログ滞留通知を入力する。
ジョブ実行モジュールM1は、ログ滞留通知が入力されると、抑止状態へ移行する(Sa13)。以上の構成によれば、第1記憶部13に閾値以上のログ情報DLが滞留すると抑止状態へ移行する。以上の構成では、第1記憶部13の残り容量が不足して、ログ情報DLが記憶されない不都合が抑制される。
図6は、情報処理装置10の動作の他の具体例を説明するためのシーケンス図である。図6には、情報処理装置10が起動した直後の期間(起動時)における各モジュールMの動作が示される。
図6に示す通り、情報処理装置10が起動した場合、起動制御モジュールM0は、イベント制御モジュールM2を起動する(Sb1)。イベント制御モジュールM2は、起動した直後に第2記憶部14の滞留情報DSを参照する(Sb2)。
上述した通り、第2記憶部14は、滞留情報DSを不揮発的に記憶する。したがって、起動時における第2記憶部14の滞留情報DSは、電源断時における第2記憶部14の滞留情報DS(第1記憶部13のログ情報DLの合計個数)と一致する。
図6に示す通り、起動制御モジュールM0は、イベント制御モジュールM2をステップSb1で起動した後に、ジョブ実行モジュールM1を起動する(Sb3)。ジョブ実行モジュールM1は、起動した直後に、対象イベントをイベント制御モジュールM2に通知(登録)する(Sb4)。
本実施形態のイベント制御モジュールM2は、各モジュールMで発生したイベントを検出する。また、イベント制御モジュールM2は、検出したイベントに対象イベントが含まれる場合、当該対象イベントを登録したモジュールMにその旨を通知する。
図6の具体例では、滞留情報DSが閾値Tに達している場合を想定する。また、上述のステップSb4では、「滞留情報DSが閾値Tに到達」というイベントが対象イベントとして登録される。以上の具体例では、図6に示す通り、ジョブ実行モジュールM1からイベント制御モジュールM2へ対象イベントが通知されると、その直後に、ジョブ実行モジュールM1へログ滞留通知が入力される(Sb5)。すなわち、滞留情報DSが閾値Tに到達した旨がジョブ実行モジュールM1に通知される。ログ滞留通知が入力されると、ジョブ実行モジュールM1は、抑止状態へ移行する(Sb6)。
以上の説明から理解される通り、滞留情報D2が不揮発的に記憶されるため、イベント制御モジュールM2は、情報処理装置10が起動した直後に(カウント処理を要することなく)、ログ滞留通知をジョブ実行モジュールM1へ送信できるという利点がある。したがって、情報処理装置10が起動した直後に、ログ滞留通知が送信可能になる前に、ジョブ実行モジュールM1が新たなジョブを実行する不都合が抑制される。
なお、上述のステップSb4が実行される時点では、ステップSb5が実行可能であることが確実である構成が好適である。以上の観点から、ジョブ実行モジュールM1が起動してからステップSb4が実行されるまでの期間において、予め定められた時間のウェイト期間を設ける構成としてもよい。以上のウェイト期間では、新たなジョブは実行されない。
図6に示す通り、起動制御モジュールM0は、ジョブ実行モジュールM1をステップSb3で起動した後に、ログ管理モジュールM3を起動する(Sb7)。ログ管理モジュールM3は、起動した直後に、対象イベントをイベント制御モジュールM2に通知(登録)する(Sb8)。例えば、ステップSb8では、「ログ記録依頼の通知」(上述の図5のSa2参照)が対象イベントとして登録される。
ログ管理モジュールM3は、対象イベントを登録した後に、カウント処理を実行し(Sb9)、カウント処理の結果を滞留情報DSとして第2記憶部14に記憶する(Sb10)。また、ログ管理モジュールM3は、ステップSb10で更新した滞留情報DSが閾値Tに達している場合、イベント制御モジュールM2へログ滞留通知を送信する(Sb11)。また、ログ滞留通知は、イベント制御モジュールM2からジョブ実行モジュールM1へ転送される(Sb12)。
以上の説明から理解される通り、情報処理装置10の起動時において、ログ滞留通知は、電源断前に記憶された滞留情報DSに基づいて送信され(上述のSb5)、且つ、起動時に改めて記憶された滞留情報DSに基づいても送信される(上述のSb12)。以上の構成では、仮に、第2記憶部14の滞留情報DSが電源断中に破壊(他の数値に変化)された場合であっても、ログ滞留通知が適当に送信できるという利点がある。
図7は、情報処理装置10の動作の他の具体例を説明するためのシーケンス図である。図7には、抑止状態が解除される場合の各モジュールMの動作の具体例が示される。
具体的には、図7では、ジョブ実行モジュールM1が抑止状態の期間において、ログ送信要求が送信された具体例を想定する(Sc1)。以上の場合、ログ送信要求に応じて、ログ送信モジュールM4が第1記憶部13のログ情報DLをサーバ200に送信する(Sc2)。図7の具体例では、ステップSc2において、ログ情報DLの送信に成功した場合を想定する。以上の場合としては、抑止状態において、情報処理装置10とサーバ200との通信障害が復旧した場合が想定される。
図7に示す通り、第1記憶部13に記憶されていたログ情報DLの送信に成功すると、ログ送信モジュールM4は、その旨をログ管理モジュールM3へ送信する(Sc3)。ログ管理モジュールM3は、ログ情報DLの送信に成功した旨が通知されると、第1記憶部13から当該ログ情報DLを削除する。また、ログ管理モジュールM3は、ログ情報DLを削除した後に、第1記憶部13に残っているログ情報DLをカウントし(Sc4)、その結果を滞留情報DSとして第2記憶部14に記憶する(Sc5)。
ログ管理モジュールM3は、滞留情報DSを記憶した後に、当該滞留情報DSが閾値Tを下回ったか否かを判定する。図7の具体例では、閾値Tを下回ったと判断された場合を想定する。以上の場合、ログ管理モジュールM3は、ログ滞留解除通知をイベント制御モジュールM2へ入力する(Sc6)。イベント制御モジュールM2は、以上のログ滞留解除通知をジョブ実行モジュールM1(特定ジョブを実行するジョブ実行モジュールM1)へ入力する(Sc7)。
ジョブ実行モジュールM1は、ログ滞留解除通知が入力されると、抑止状態を解除し、新たなジョブを実行可能にする。以上の構成によれば、第1記憶部13へ新たなログ情報DLが記憶可能になった場合、抑止状態を解除することができる。
なお、以上の各処理を実行する装置は、適宜に変更可能である。また、上述の各機能(判定部等)は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<第2実施形態>
本発明の他の実施形態を以下に説明する。なお、以下に例示する各形態において作用や機能が第1実施形態と同等である要素については、第1実施形態の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
図8は、第2実施形態の構成を説明するための図である。第2実施形態の情報処理装置10は、外部装置30と通信可能に構成される。
上述の第1実施形態では、滞留情報DSとして、第1記憶部13のログ情報DLの個数が採用された。第2実施形態では、以上の滞留情報DSに替えて、第1記憶部13のログ情報DLの個数が予め定められた閾値を超えた場合、「normal」から「full」に変更される情報(フラグ)が滞留情報DSとして採用される。
第2実施形態のログ情報DLは、第1実施形態と同様に、機器ログ情報と画像ログ情報とを含む。また、第2実施形態の滞留情報DSは、第1滞留情報DSaと第2滞留情報DSbとを含む。以上の第1滞留情報DSaは、画像ログ情報が予め定められた閾値に達した場合に「normal」から「full」に変更される。また、第2滞留情報DSbは、機器ログ情報が予め定められた閾値に達した場合に「normal」から「full」に変更される。第2実施形態の情報処理装置10は、第1滞留情報DSaおよび第2滞留情報DSbの何れか一方が「full」を示す場合、抑止状態に制御される。
第2実施形態の情報処理装置10は、第1実施形態で説明した各構成(第1記憶部13など)に加え、報知制御部17を具備する。詳細には後述するが、報知制御部17は、滞留情報DSに応じた報知を実行可能にする。具体的には、報知制御部17により、抑止状態であるか否かが報知可能になる。
例えば、外部装置30が適宜に操作されると、図8に示すリクエストが情報処理装置10へ送信される。図8の具体例では、HTTP (Hypertext Transfer Protocol)リクエストが例示される。ただし、リクエストの形式は適宜に変更できる。
以上のリクエストを受信すると、情報処理装置10は、図8に示すレスポンスを外部装置30へ送信する。図8の具体例では、JSON (JavaScript(登録商標) Object Notation)形式のレスポンスが示される。ただし、以上のレスポンスの形式は適宜に変更できる。例えば、レスポンスがXML (Extensible Markup Language)形式であってもよい。
図8のレスポンスの具体例では、画像ログ情報「imglogStatus」の第1滞留情報Daが「full」であり、機器ログ情報「oblogStatus」の第2滞留情報Dbが「normal」である場合を想定する。また、レスポンスの「robustSetting」は、情報処理装置10が抑止状態であるか否かを示し、図8の具体例では、当該情報処理装置10が抑止状態であることを示す「true」になる。
外部装置30は、情報処理装置10からレスポンスを受信すると、当該レスポンスに応じた画像をディスプレイに表示させる。具体的には、情報処理装置10が抑止状態であるか否かが報知される画像が表示される。例えば、図8の具体例のレスポンスが受信された場合、外部装置30は、「抑止状態です。新規なジョブは実行されません。」というメッセージを示す画像を表示させる。
以上の第2実施形態によれば、情報処理装置10が抑止状態であるか否かが報知可能になる。なお、本発明における「滞留情報DSに応じた報知」は、上述の例に限定されない。例えば、上述の第1滞留情報DSaおよび第2滞留情報Daの何れが「full」であるかを把握可能な報知としてもよい。また、第1記憶部13に記憶されるログ情報DLの個数が滞留情報DSとして採用される構成として、第1記憶部13に記憶されるログ情報DLの個数が報知される構成としてもよい。
さらに、第2実施形態では、外部装置30のディスプレイにより、滞留情報DSに応じた報知が実行されたが、当該報知が他の装置で実行される構成としてもよい。例えば、情報処理装置10の操作部(例えば操作パネル140)が操作された場合、当該情報処理装置10の表示部(パネル表示部140a)において上述の報知が実行される構成としてもよい。
<変形例>
以上の各形態は多様に変形される。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
(1)本実施形態の変形例として、第1記憶部13に記憶されるログ情報DLの情報量(合計値)を、滞留情報DSとして第2記憶部14に記憶する構成としてもよい。以上の構成では、予め定められた情報量まで滞留情報DSが増加した場合に抑止状態へ移行される。同様に、第1記憶部13がログ情報DLを記憶できる残り容量が、滞留情報DSとして第2記憶部14に記憶される構成としてもよい。以上の構成では、予め定められた残り容量まで滞留情報DSが減少した場合に抑止状態へ移行される。
(2)本実施形態の他の変形例として、状態フラグ(正常、ニアフル、フル)が滞留情報DSとして第2記憶部14に記憶される構成としてもよい。具体的には、第1記憶部13に記憶されるログ情報DLの個数が閾値T以下の場合、状態フラグが「正常」となる。また、第1記憶部13に記憶されるログ情報DLの個数が、閾値Tに達した直後では、状態フラグが「ニアフル」に更新される。さらに、第1記憶部13に記憶されるログ情報DLの個数が、上限個数に達した場合、状態フラグが「フル」に更新される。以上の変形例では、状態フラグ(滞留情報DS)が「ニアフル」に更新された契機で、情報処理装置10が抑止状態へ移行する構成が好適である。
<本実施形態の態様例の作用、効果のまとめ>
<第1態様>
本態様の情報処理装置は、ジョブに関するログ情報(DL)を生成する生成手段(生成部11)と、ログ情報を外部装置へ送信する送信手段(送信部12)と、送信に失敗したログ情報を不揮発的に記憶する第1記憶手段(第1記憶部13)と、第1記憶手段へのログ情報の追加に伴い更新される滞留情報(DS)を不揮発的に記憶する第2記憶手段(第2記憶部14)と、滞留情報に応じて、ジョブの実行を抑止可能な抑止手段(抑止部15)とを具備する。以上の本態様によれば、滞留情報が不揮発的に記憶されるため、情報処理装置の起動時に、滞留情報を直ちに参照できる。
<第2態様>
本態様の情報処理装置は、抑止手段は、情報処理装置が起動した契機で、第2記憶手段の滞留情報を判定し、該判定の結果に応じて、ジョブの実行を抑止可能である(図4のSb2、Sb5参照)。以上の本態様によれば、情報処理装置の起動時に、第2記憶手段が記憶した滞留情報に基づいて、ジョブの実行が抑止できる。したがって、例えば情報処理装置の起動時に改めて生成した滞留情報に基づいてのみジョブの抑止が開始できる構成と比較して、情報処理装置が起動してからジョブの抑止が開始されるまでの時間が短縮できる。
<第3態様>
本態様の情報処理装置は、第1記憶手段からログ情報が削除された場合、ジョブの実行の抑止を解除可能な解除手段(解除部16)を具備する。以上の本態様によれば、第1記憶手段へ新たなログ情報が記憶可能になった場合、ジョブの抑止を解除することができる。
<第4態様>
本態様の情報処理装置は、第2記憶手段が記憶している滞留情報に応じた報知を実行可能にする報知制御手段(報知制御部17)を具備する。以上の本態様によれば、例えば、滞留情報を報知することで、情報処理装置が抑止状態であるか否かを利用者に認識させることができる。
<第5態様>
本態様の情報処理方法は、ジョブに関するログ情報を生成するステップ(図5のSa4)と、ログ情報を外部装置へ送信するステップ(図5のSa6)と、送信に失敗したログ情報を不揮発的に記憶するステップ(図5のSa8)と、第1記憶手段へのログ情報の追加に伴い更新される滞留情報を不揮発的に記憶するステップ(Sa10)と、滞留情報に応じて、ジョブの実行を抑止可能なステップ(Sa13)とを具備する。以上の本態様によれば、上述の第1態様と同様な効果が奏せられる。
<第6態様>
本態様のプログラムは、上述の第5態様の情報処理方法におけるステップをコンピュータに実行させることを特徴とする。以上の本態様では、上述の第1態様と同様な効果が奏せられる。