(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-01
(45)【発行日】2024-03-11
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
B41J 29/38 20060101AFI20240304BHJP
H04N 1/00 20060101ALI20240304BHJP
【FI】
B41J29/38 104
B41J29/38 801
H04N1/00 885
H04N1/00 127A
(21)【出願番号】P 2020036186
(22)【出願日】2020-03-03
【審査請求日】2023-02-21
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】小林 紀彦
【審査官】加藤 昌伸
(56)【参考文献】
【文献】特開2014-010470(JP,A)
【文献】特開2016-034084(JP,A)
【文献】特開2006-094021(JP,A)
【文献】特開2012-103557(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/00 - 29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
電力供給を受ける状態として、複数の省電力状態と、通常状態とを持つ画像処理装置であって、
電源オフ状態から電力供給をうける状態になった場合に、起動時の通知すべき情報を収集するための起動時収集処理を実行する実行手段と、
前記起動時収集処理で収集された情報をネットワークを介して通知する通知手段と、を有し、
前記実行手段は、第1省電力状態から通常状態になった場合に、前記起動時収集処理を実行し、
第2省電力状態から通常状態になった場合に、前記実行手段による前記起動時収集処理が実行され
ず、
前記実行手段は、前記電力供給をうける状態で指定時間毎の通知すべき情報を収集する定期収集処理を更に実行し、前記第2省電力状態では、登録された前記指定時間までのタイマーを動作させて前記定期収集処理を行い、前記第1省電力状態では、前記タイマーが登録された状態でも前記定期収集処理を行わないことを特徴とする画像処理装置。
【請求項2】
電力供給を受ける状態として、複数の省電力状態と、通常状態とを持つ画像処理装置であって、
電源オフ状態から電力供給をうける状態になった場合に、起動時の通知すべき情報を収集するための起動時収集処理を実行する実行手段と、
前記起動時収集処理で収集された情報をネットワークを介して通知する通知手段と、を有し、
前記実行手段は、第1省電力状態から通常状態になった場合に、前記起動時収集処理を実行し、
第2省電力状態から通常状態になった場合に、前記実行手段による前記起動時収集処理が実行され
ず、
前記実行手段は、前記電力供給をうける状態で指定時間毎の通知すべき情報を収集する定期収集処理を更に実行し、
前記第1省電力状態から通常状態になった場合に、前記定期収集処理を停止させる
ことを特徴とする画像処理装置。
【請求項3】
前記第1省電力状態から通常状態への移行は、前記第
2省電力状態から通常状態へ
の移
行よりも速いことを特徴とする請求項1
又は2に記載の画像処理装置。
【請求項4】
前記第1省電力状態は、所定条件で電源ボタンがオフ操作された場合に移行する状態であることを特徴とする請求項1
乃至3の何れか1項に記載の画像処理装置。
【請求項5】
前記第1省電力状態から通常状態になった場合に、前記定期収集処理を停止させることを特徴とする請求項
1に記載の画像処理装置。
【請求項6】
前記実行手段は、前記指定時間から所定時間以上経過した後で前記定期収集処理が開始されたときに、前記第1省電力状態から通常状態になったと判断することを特徴とする請求項
2又は5に記載の画像処理装置。
【請求項7】
電力供給を受ける状態として、複数の省電力状態と、通常状態とを持つ画像処理装置における画像処理方法であって、
電源オフ状態から電力供給をうける状態になった場合に、起動時の通知すべき情報を収集するための起動時収集処理を実行する実行工程と、
前記起動時収集処理で収集された情報をネットワークを介して通知する通知工程と、を有し、
前記実行工程
では、第1省電力状態から通常状態になった場合に、前記起動時収集処理を実行し、
第2省電力状態から通常状態になった場合に、前記実行工程による前記起動時収集処理が実行され
ず、
前記実行工程では、前記電力供給をうける状態で指定時間毎の通知すべき情報を収集する定期収集処理を更に実行し、前記第2省電力状態では、登録された前記指定時間までのタイマーを動作させて前記定期収集処理を行い、前記第1省電力状態では、前記タイマーが登録された状態でも前記定期収集処理を行わない
ことを特徴とする画像処理方法。
【請求項8】
請求項1乃至
6の何れか1項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置の起動時に動作履歴の分析・解析を行う技術に関する。
【背景技術】
【0002】
従来より、画像処理装置の動作履歴を分析したり解析したりすることで、その画像処理装置の状態を監視する技術が知られている。画像処理装置の状態を監視することで、デバイスで障害が発生したときや、消耗品の補充が必要になったときに、迅速に対応することができる。また、このような状態監視に基づいて、障害発生等の予兆を検出して予測を行ったり、その画像処理装置が搭載する各種機能の改善等に有益なデータを収集したりすることができる。
【0003】
また、従来より、管理サーバを用いて、複数台の画像処理装置の状態監視を一括して行うシステムが知られている。このようなシステムでは、稼働中の画像処理装置から管理サーバへ、ジョブログやシステムログ、イベントログ、センサ情報などを含む稼働データを大量に送信して保存させる。また、このようなシステムでは、イベントログを、障害等の事象が発生したときに送信するだけでなく、画像処理装置の起動時に送信したり、定期送信したりすることで、装置状態を管理サーバへ通知することもできる。
【0004】
管理サーバとしては、例えばクラウド・サーバが使用される。クラウド・サーバを使用する場合、この管理サーバは、内部に蓄積した各種イベントログと、このサーバ上で動作するアプリケーション・プログラムとを用い、管理下の各画像処理装置について、各種状態の変化を分析する。そして、この管理サーバは、その分析の結果(発生事象の種類等)に応じて、消耗品の交換作業やメンテナンス作業を手配するための通知等を行う。このため、各画像処理装置は、その装置内で発生した事象を示すデータを、管理サーバが取り扱いやすい形式のイベントログとして、送信することが望まれる。
【0005】
近年、画像処理装置内で動作させるプログラムのサイズが増大する傾向にあり、そのため、システム起動時間も増大する傾向にある。これに対して、サスペンド・レジューム機能やハイバネーション機能を設けることで高速起動を実現した画像処理装置が知られている。サスペンド・レジューム機能とは、画像処理装置を、サスペンド状態(コンピュータの一部の機能を停止して省電力モードで待機する状態)から通常動作状態へ高速で復帰させることができる機能である。また、ハイバネーション機能とは、画像処理装置を、停止状態から通常動作状態へ高速で復帰させることができる機能である。
【0006】
これらの機能を使用する場合、電源切断操作等が行われたときに、その画像処理装置内の状態をメモリへ保存した後で、電源の切断等が行われる。一方、電源投入操作等が行われて画像処理装置が起動等するとき、そのメモリへ保存されている状態が、自動的に復元される。
【0007】
下記特許文献1には、電源ボタンの押下操作が行われたことを検知して、サスペンド処理又は電源オフ処理の何れを実行するかを自動的に判断する画像処理装置が開示されている。かかる画像処理装置によれば、ユーザが意識すること無しに、高速起動と通常起動とを切り替えることができる。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述のように、画像処理装置が電源オフから起動する時に、所定種類のイベントログを管理サーバへ送信する場合がある。しかしながら、従来の画像処理装置では、電源オフからの起動時に送信すると規定されたイベントログは、画像処理装置がサスペンド状態等から復帰したときには送信されない。
【0010】
そこで、本発明は、所定の省電力状態から通常通電状態へ移行する場合に、電源オフから起動する場合と同等の情報収集処理を行える画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の一実施形態に係る画像処理装置は、電力供給を受ける状態として、複数の省電力状態と、通常状態とを持つ画像処理装置であって、電源オフ状態から電力供給をうける状態になった場合に、起動時の通知すべき情報を収集するための起動時収集処理を実行する実行手段と、前記起動時収集処理で収集された情報をネットワークを介して通知する通知手段と、を有し、前記実行手段は、第1省電力状態から通常状態になった場合に、前記起動時収集処理を実行し、第2省電力状態から通常状態になった場合に、前記実行手段による前記起動時収集処理が実行されず、前記実行手段は、前記電力供給をうける状態で指定時間毎の通知すべき情報を収集する定期収集処理を更に実行し、前記第2省電力状態では、登録された前記指定時間までのタイマーを動作させて前記定期収集処理を行い、前記第1省電力状態では、前記タイマーが登録された状態でも前記定期収集処理を行わないことを特徴とする。
【発明の効果】
【0012】
本発明によれば、第1省電力状態から通常通電状態へ移行する場合に、電源オフから起動する場合と同等の起動時収集処理を行う画像処理装置を提供できる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係るシステムの全体構成を概略的に示す概念図である。
【
図2】上記実施形態に係る管理サーバのハードウェア構成を概略的に示すブロック図である。
【
図3】上記実施形態に係るクライアント機のハードウェア構成を概略的に示すブロック図である。
【
図4】
図3に示した情報処理コントローラユニットのハードウェア構成を概略的に示すブロック図である。
【
図5】上記実施形態に係るクライアント機のソフトウェア構成を概略的に示すブロック図である。
【
図6】上記実施形態に係る管理サーバ及びクライアント機のイベント送付処理を説明するフローチャートである。
【
図7】上記実施形態に係るクライアント機のイベント回収処理を説明するフローチャートである。
【
図8】
図7に示した通知判定処理を説明するフローチャートである。
【
図9】
図8に示したイベント回収処理を説明するためのフローチャートである。
【
図10】上記実施形態に係るクライアント機のタイマー発火処理を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態について、図面を用いて説明する。
図1は、本発明に係るシステムの全体構成を概略的に示す概念図である。
図1に示したように、本実施形態のネットワーク100には、管理サーバ110と、複数のクライアント機120a,120b,・・・(以下、「クライアント機120」と総称する)とが接続されている。
【0015】
図1において、管理サーバ110は、ネットワーク100を介してクライアント機120と通信して、これらクライアント機120からイベントの通知を受け取り、管理サーバ内のストレージに保存する。更に、管理サーバ110は、保存したイベントを用いた演算処理に基づいて、クライアント機120を管理する(詳細は後述)。
この管理サーバ110としては、例えばコンピュータ等の一般的な情報処理装置や、これと同等の機能を持つクラウド・コンピューティング・サービス等を使用できる。
【0016】
クライアント機120は、内部で発生した事象を、イベントとして管理サーバ110へ送信する機能を有する。クライアント機120が送信したイベントは、上述のように、管理サーバ110のストレージに保存されて、稼働監視情報の分析等に利用される。
【0017】
本実施形態では、クライアント機120として、複数種類の機能、例えばコピーやFAX等の機能を実現する複合機を用いる場合を説明する。また、本実施形態のクライアント機120は、複合機の各機能を実行した履歴に加えて、省電力モードへの遷移やその省電力モードからの復帰の履歴、エラー発生など異常状態への遷移やその異常状態からの復帰の履歴等を、管理サーバ110へ送信する。
【0018】
図2は、管理サーバ110のハードウェア構成を概略的に示すブロック図である。
図2は、管理サーバ110を汎用コンピュータで実現した場合の例である。
図2に示したように、本実施形態の管理サーバ110は、コントローラユニット200と、操作部209と、表示部220とを有する。
【0019】
コントローラユニット200は、CPU(Central Processing Unit)201を有する。
このCPU201は、システムバス208を介して、ROM(Read Only Memory)202、RAM(Random Access Memory)203及びHDD(Hard Disk Drive)204へ接続されている。
【0020】
そして、CPU201は、ROM202に格納されたブートプログラムを実行することにより、OS(Operating System)を起動する。
更に、CPU201は、このOS上で、HDD204に格納されたアプリケーションプログラムを実行することにより、各種処理を実行する。処理の実行時、CPU201は、作業領域としてRAM203を使用する。
【0021】
HDD204は、上記アプリケーションプログラムに加えて、このアプリケーションプログラムの各種設定や履歴等のデータを格納する。
CPU201は、更に、システムバス208を介して、操作部I/F205、表示部I/F206及びネットワーク207へ接続される。
【0022】
操作部I/F205は、CPU201と操作部209との通信に介在するインタフェースであり、操作部209は、例えばマウスやキーボード等の入力デバイスである。操作部I/F205は、操作部209を用いてユーザが入力した各種情報を、CPU201に送信する。
【0023】
表示部I/F206は、CPU201の制御に基づいて、画像データを表示部210へ出力して表示させる。表示部210は、例えば液晶ディスプレイ等である。
ネットワークI/F207は、ネットワーク100(
図1参照)に接続され、このネットワーク100を介して、外部装置との間で情報の送受信を行う。
【0024】
図3は、クライアント機120のハードウェア構成を概略的に示すブロック図である。
図3に示したように、クライアント機120は、情報処理コントローラユニット301、プリンタコントローラユニット302、スキャナコントローラユニット303、プリンタ304、スキャナ305及び操作部306を有する、複合機である。
【0025】
情報処理コントローラユニット301は、クライアント機120の動作に係る情報処理制御を統括するコントローラである。この情報処理コントローラユニット301は、プリンタコントローラユニット302、スキャナコントローラユニット303及び操作部306へ接続される。
【0026】
プリンタコントローラユニット302は、プリンタ304の動作を制御する。プリンタ304は、通常の画像出力デバイスである。
スキャナコントローラユニット303は、スキャナ305を制御する。スキャナ305は、通常の画像入力デバイスである。
【0027】
操作部306は、ユーザが、ディスプレイを確認しつつ、情報入力を行うデバイスである。操作部306としては、ディスプレイ部と入力部とが一体化したデバイス(例えばタッチパネル)を使用してもよいし、これらが互いに独立したデバイスを用いてもよい。
【0028】
図4は、情報処理コントローラユニット301(
図3参照)のハードウェア構成を概略的に示すブロック図である。
この情報処理コントローラユニット301は、CPU401を有する。このCPU201は、システムバス410を介して、ROM402、RAM403及びHDD404へ接続されている。
【0029】
そして、CPU401は、ROM402に格納されたブートプログラムを実行することにより、OSを起動する。
更に、CPU401は、このOS上で、HDD404に格納されたアプリケーションプログラムを実行することにより、各種処理を実行する。処理の実行時、CPU401は、作業領域としてRAM403を使用する。
【0030】
RAM403は、作業領域を提供することに加えて、画像データを一時記憶するための画像メモリ領域を提供する。
HDD404は、上記アプリケーションプログラムや画像データに加えて、各種設定値や履歴等を格納する。
【0031】
CPU401は、更に、システムバス410を介して、ネットワークI/F405、操作部I/F406、画像処理部407、デバイスコントローラI/F408及び電源管理部409が接続される。
ネットワークI/F405は、ネットワーク100(
図1参照)に接続され、このネットワーク100を介して、外部装置との間で情報の送受信を行う。
【0032】
操作部I/F406は、CPU401と操作部306(
図3参照)との通信に介在するインタフェースである。すなわち、操作部I/F406は、操作部306に表示すべき画像データを、その操作部306に対して出力する。更に、操作部I/F406は、操作部306を用いてユーザが入力した情報を、CPU401へ送信する。
【0033】
画像処理部407は、プリンタ304への画像出力処理やスキャナ305からの画像入力処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う。
【0034】
デバイスコントローラI/F408は、プリンタコントローラユニット302及びスキャナコントローラユニット303へ接続される。このデバイスコントローラI/F408は、画像データの同期系/非同期系の変換を行う。
電源管理部409は、クライアント機120全体の電源制御を行う。すなわち、電源管理部409は、電源のオン/オフ制御に加えて、通常通電状態から省電力状態への移行や、省電力状態から通常状態への復帰等の制御を行う。
【0035】
図5は、クライアント機120に係るソフトウェア構成の一例を概略的に示すブロック図である。
図5のソフトウェア構成は、ROM402、RAM403又はHDD404に記憶されたプログラムを、CPU401が実行することにより、実現される。
【0036】
上述のように、本実施形態では、クライアント機120が複合機である場合を説明する。このため、本実施形態のクライアント機120は、スキャン機能、プリント機能に加えて、ネットワークやメモリストレージを利用した各種機能を実現するためのソフトウェアを実行する。
【0037】
図5において、ユーザインターフェース501は、ユーザが操作する画面を操作部306に表示させたり、ユーザが操作部306で行った操作をクライアント機120のCPU401(
図4参照)へ伝えたりする。
【0038】
機能アプリケーション502は、例えばコピー、プリント、メール送信などの機能毎に作成されて、クライアント機120内に保存される。従って、1台のクライアント機120は、複数の機能アプリケーション502を有する。各機能アプリケーション502は、ユーザが操作部306を操作することで与えた指示や、ネットワーク405を経由して外部から受信した命令等をトリガとして、動作を開始する。
【0039】
ジョブ制御部503は、機能アプリケーション502からの指示に基づいて、プリンタコントローラユニット302及びスキャナコントローラユニット303(
図3参照)を制御することにより、プリンタ304やスキャナ305を動作させる。
【0040】
電源制御部504は、クライアント機120の状態に基づいて電源管理部409を制御することにより、通常通電状態と省電力状態とを切り換える。
本実施形態では、二種類の省電力状態を使用することができる。
【0041】
第1省電力状態は、クライアント機120の高速起動を可能にするための省電力状態である。クライアント機120の電源ボタンを用いて所定のオフ操作が行われると、電源制御部504は、電源供給を完全に停止するのではなく、この第1省電力状態へ遷移する。この遷移に先立って、情報処理コントローラユニット301の状態を、例えばHDD404へ一時保存してもよい。そして、電源ボタンがオン操作されたとき、クライアント機120は、第1省電力状態から通常通電状態へ、高速で復帰する。
【0042】
第2省電力状態は、いわゆるスリープ状態である。クライアント機120の節電ボタン(図示せず)が押下されると、電源制御部504が、まず、情報処理コントローラユニット301の状態を例えばRAM403へ保存し、その後で、情報処理コントローラユニット301の動作を休止させる。そして、情報処理コントローラユニット301自体や、プリンタコントローラユニット302、スキャナコントローラユニット303、操作部306等への電源供給が、部分的に行われなくなる。一方、通常通電状態へ復帰する際には、情報処理コントローラユニット301等への電源供給を再開すると同時に、情報処理コントローラユニット301の状態をRAM403から読み出して復元する。すなわち、本実施形態の第2省電力状態は、一般に、サスペンド或いはハイバネーションと称されている機能に基づいている。
【0043】
エラー制御部505は、ジョブ制御部503や、プリンタコントローラユニット302、スキャナコントローラユニット303等から、異常が発生したとの通知を受け取る。この場合、エラー制御部505は、システム全体に対して、動作を停止させたり、縮退動作(機能や性能を制限した状態での動作)を実行させたりする。
【0044】
履歴・設定保持部506は、クライアント機120内に保存された不揮発情報を管理する。すなわち、履歴・設定保持部506は、クライアント機120の制御やジョブの実行に必要な設定を保持したり、ユーザの操作履歴、ジョブ実行結果、エラーの発生等をサマライズして保存したりする。更に、履歴・設定保持部506は、システムのログ情報を保存する。このログ情報は、システムに不具合が発生した際に、プログラムの解析やデバッグに使用される。本実施形態では、これらの不揮発情報を、HDD404へ保存する。
【0045】
カウンタ管理部507は、クライアント機120がスキャンした原稿の枚数やプリントした用紙の枚数、各消耗品の消耗度を図るための計数値(例えば印刷用紙の消費枚数)等を管理する。更に、カウンタ管理部507は、これらの値に基づいて各消耗品の寿命を算出して、管理する。本実施形態では、カウンタ管理部507が管理する情報を、HDD404に保持する。
【0046】
構成情報管理部508は、クライアント機120を構成するハードウェア構成やソフトウェア構成に関する情報を管理する。ハードウェア構成としては、例えば、給紙段、排紙段、フィニッシャ等、外付けアクセサリの構成が管理される。また、ソフトウェア構成としては、例えば、ファームウェアのバージョンや、インストールされているアプリケーションの一覧等が管理される。
【0047】
統一制御コマンド群制御部509は、製造業者が自社製品群に適用している統一制御コマンド群(例えばCPCA:Common Peripheral Controlling Architecture)を用いた動作制御を行う。統一制御コマンド群制御部509は、クライアント機120に関する様々な情報を取得するためのコマンドを含んでおり、そのクライアント機120の内部で生成されたコマンドの実行や外部から受け取ったコマンドの実行に基づいて、様々な情報を提供する。
【0048】
イベント回収部510は、上記モジュール501~506、509が自発的に発行したイベントに基づいて、クライアント機120の状態遷移を監視する。監視の結果は、イベントの形で正規化されてメッセージバッファ520へ一旦保存されたのち、管理サーバ110へ送られる。メッセージバッファ520は、HDD404等の不揮発性メモリ内に形成される。
【0049】
また、イベント回収部510は、タイマー通知部540に対して、指定時間経過後にタイマーを発火させるように(すなわち、指定時間に達したことをタイマーが通知するように)、要求する。タイマー通知部540から通知を受けると、イベント回収部510は、その発火(通知)をトリガにして、定期送信するイベントログを回収する。
【0050】
回収されるのは、例えば、カウンタ管理部507が管理する各種計数値や、構成情報管理部508が管理する構成等の情報である。イベント回収部510が回収した情報は、正規化されてメッセージバッファ520へ保存される。なお、このイベント回収部510は、クライアント機120内でイベントが発生した場合にも、これら情報を回収して正規化し、メッセージバッファ520へ保存する。
【0051】
なお、イベントの正規化には、例えばJSON(JavaScript(登録商標) Object Notation)等の、汎用のフォーマットが使用される。また、イベントには、イベント名称、発生時刻、情報処理装置のシリアル番号等の基本情報に加え、イベントの種別に応じて様々な情報が付加される。これらの付加情報は、イベント回収部510が、クライアント機120内の各モジュール501~508の状態を示す情報や、不揮発領域に保持されている情報等から、収集する。
【0052】
イベント送付部530は、メッセージバッファ520への書き込みを検知すること等によって、イベントが発行されたことを認識する。イベントの発行を認識すると、イベント送付部530は、そのイベントをメッセージバッファ520から読み出す。
【0053】
ネットワーク通信部531は、ネットワークI/F405(
図4参照)を介してネットワーク100へ接続され、更に、このネットワーク100を介して管理サーバ110と接続されている。このネットワーク通信部531は、イベント送付部530がメッセージバッファ520から読み出したイベントを、ネットワーク通信部531を介して管理サーバ110へ送信する。更に、ネットワーク通信部531は、管理サーバ110から、イベント通知の設定を受信する。
【0054】
通知設定取得部532は、ネットワーク通信部531を介して管理サーバ110から、通知設定を取得する。
通知設定保持部521は、通知設定取得部532が取得した通知設定を、ファイルの形式で保存する。通知設定保持部521は、HDD404内に形成される。この通知設定保持部521は、そのクライアント機120内で発生してイベント化される事象から、管理サーバ110へ送信するイベントを特定する。上述のイベント回収部510は、通知するイベントを、通知設定保持部521内の通知設定に基づいて特定して、メッセージバッファ520へ保存する。また、通知設定保持部521は、保存する通知設定が変更された場合に、その変更をイベント回収部510へ通知する(後述の
図8、ステップS809参照)。
【0055】
次に、通知設定保持部521に保存される通知設定について、表Aを用いて説明する。表Aは、実際にクライアント機120上で発生するイベントと通知設定との関係の一例である。
【0056】
【0057】
表Aにおいて、“Event”欄には、イベント名称が列挙されている。本実施形態において、イベントとは、クライアント機120内で起きた状態遷移を正規化した単位である。そして、この単位毎に、イベント回収部510によるメッセージバッファ520への書き込みが行われ、更には、管理サーバ110への送信が行われる。例えば、“JobStarted”は、コピーやプリントなどのジョブが実行開始したことを意味するイベントであり、また、“ErrorOccurred”は、装置内で何らかの異常状態が発生したことを意味するイベントである。
【0058】
“Collection”欄には、コレクションの名称、すなわち複数のイベントを動作の種類に基づいてグループ分けすることで得られた各グループの名称が、列挙されている。上述の通知設定保持部521には、これらグループ毎に通知設定が決定されて、保存される。例えば“Alarm”が通知に設定されると、“ErrorOccurred”と“AlarmOccurred”との両方について、イベントが送信される。
【0059】
また、“起動時”、“定期送信”、“イベント発生時”の各欄には、対応するイベントに関するデータ収集と送信とを実行する契機が列挙されている。
“起動時”欄は、クライアント機120が起動したことを契機に送信されるイベントを指定する欄である。“起動時”欄に“○”で示したように、コレクション“Basic”、“Counter”、“FunctionCounter”、“PartsCounter”及び“Confiruration”に属する各イベントが、これに対応する。以下、起動時に送信される各イベントを、「起動時送信イベント」と称する。
【0060】
“定期送信”欄は、起動からの経過時間等に基づいて決定されるタイミングで、定期的に送信されるイベント、すなわちスナップショットのイベントを指定する欄である。以下、この欄で指定されたイベントを、「定期送信イベント」と称する。表Aにおいて、“定期送信”欄に“○”を記入されたイベントが、定期送信イベントである。定期送信イベントには、それぞれ、「送信間隔」が設定される。送信間隔の設定値は、通知設定と共に、上述の通知設定保持部521へ保存される。なお、本実施形態では、イベントの送信を「定期的」に(すなわち、一定の時間間隔で)送信することとしたが、送信の時間間隔を一定にする必要はなく、所定の条件に従って周期的に繰り返し行うこととしてもよい。
【0061】
表Aの例では、コレクション“Basic”に属するイベントが、定期送信イベントに指定されている。これにより、“BasicInfoSnapshotted”、すなわち機種名、設置場所、ファームウェア・バージョン等の基本情報を含むイベントが、管理サーバ110へ定期的に送信される。また、コレクション“Counter”に属するイベントである“CounterSnapshotted”が定期送信イベントに指定されているため、課金用のカウンタ情報の一覧が、定期的に管理サーバ110へ送信される。更には、コレクション“PartsCounter”に属するイベントである“PartsCounterSnapshotted”が定期送信イベントに指定されているため、部品の摩耗度のカウンタ情報の一覧が、定期的に管理サーバ110へ送信される。
【0062】
“イベント発生時”欄は、管理対象の状態が変化したことや、管理対象である処理が実行されたことを契機に送信されるイベントを指定する欄である。以下、この欄で指定されたイベントを、「リアルタイム送信イベント」と称する。表Aにおいて、“イベント発生時”欄に“○”を記入されたイベントが、リアルタイム送信イベントである。表Aの例では、“Power”、“Alarm”、“Information”、“Job”、“Diagnosi”に属する各イベントが、これに該当する。
【0063】
図6は、実施形態に係る管理サーバ110及びクライアント機120のイベント送付処理を説明するためのフローチャートである。
図6において、フローチャート600は管理サーバ110のアプリケーションプログラムが実行する動作を示しており、フローチャート650はクライアント機120が実行する動作を示している。
【0064】
図6のイベント送付処理では、まず、ステップS601で、管理サーバ110のアプリケーションプログラム(以下、単に「管理サーバ110」と記す)が、接続先となるクライアント機120の情報を、デバイスシリアル番号や顧客情報等と共に登録する。
【0065】
ステップS602で、管理サーバ110は、顧客の契約内容に基づいて、利用するサービスを決定する。
そして、ステップS603で、クライアント機120は、ステップS602の決定結果に基づいて、通知設定(表A参照)を決定する。
【0066】
一方、クライアント機120は、ステップS651で、管理サーバ110への接続動作を行う。具体的には、まず、ネットワーク設定を行い、続いて、管理サーバ110のアドレスを入力する等の手順で、ネットワーク100を介して管理サーバ110へアクセスする。
これ対して、管理サーバ110は、ステップS604で、クライアント機120からのアクセスに応答して、接続処理を行う。その結果、管理サーバ110とクライアント機120との接続が確立する。
【0067】
続いて、ステップS605で、管理サーバ110が、クライアント機120へ、通知設定(ステップS603参照)を送信する。
クライアント機120は、ステップS652で、この通知設定を受信し、更に、ステップS653で、内部に保存していた通知設定と比較する。
そして、新たに受信した通知設定に設定変更がないと判定した場合、クライアント機120は、ステップS655の待機状態へ移行する。
【0068】
一方、ステップS653で、新たに受信した通知設定に設定変更があると判定した場合、クライアント機120は、ステップS654で、通知設定保持部521(
図5参照)に保存されている通知設定を更新し、その後、ステップS655の待機状態へ移行する。
ステップS655で、クライアント機120は、所定時間だけ待機する。その後、クライアント機120は、ステップS652~S654の処理を繰り返す。
【0069】
一方、管理サーバ110は、ステップS605で通信設定を送信したあと、ステップS606で、登録サービスの内容が変更されたか否かの確認を繰り返す。例えば、管理サーバ110の運営者とクライアント機120のユーザとの契約が変更された場合等に、登録サービスの内容が変更される場合がある。登録サービスの変更が確認された場合、管理サーバ110は、ステップS607で、その変更に対応させて通信設定を変更したのち、ステップS605で、変更後の通信設定をクライアント機120へ送信する。
クライアント機120は、ステップS652で新たな通信設定を受信すると、上述のステップS653、S654で示した手順に従って、通信設定を更新する。
【0070】
このように、本実施形態によれば、顧客の契約するサービス内容に応じてクライアント機120の通知設定を変更することができる。通知設定が更新されたあとは、更新後の通知設定に基づいて、クライアント機120がインベントの発行して送信することにより、そのクライアント機120の状態変化を管理サーバ110へ通知する。
【0071】
図7は、本実施形態に係るクライアント機120のイベント回収処理を説明するためのフローチャートである。
図7に示したイベント回収処理は、クライアント機120に電源が投入されている間、継続的に実行される。このイベント回収処理を実行するアプリケーションプログラムは、ROM402、RAM403又はHDD404の何れかのメモリに保存され、CPU401によって実行される(
図4参照)。
【0072】
まず、ステップS701で、電源制御部504(
図5参照)に対して、プロセス制御コールバック設定が行われる。この設定では、電源状態が変化したときに呼び出すコールバック関数を、電源制御部504へ登録する。これにより、イベント回収部510を動作させるプロセスがCPU401によって実行されている最中に、そのプロセスが、電源制御部504からの指示に応答できるようになる。
【0073】
電源制御部504は、クライアント機120を通常通電状態から省電力状態や電源オフ状態へ移行させる際に、登録されたコールバック関数を呼び出し、動作中の各プロセスに対して状態変化を通知する。
【0074】
次に、ステップS702で、メッセージバッファ520の初期化処理が行われる。
続いて、ステップS703で、通知設定保持部521への監視(すなわち、通知設定が更新されたか否かの監視)が開始される。
【0075】
ステップS704では、電源遷移イベントへの監視が開始される。
以下、この電源遷移イベントについて、説明する。
クライアント機120で実行される各プロセスは、電源の状態(通常通電状態と省電力状態との区別)を把握する必要がある。このため、コールバック関数を用いて、電源状態が把握される(上述のステップS701参照)。
【0076】
上述のように、本実施形態では、省電力状態として、第1省電力状態(高速起動が可能な省電力状態)と第2省電力状態(スリープ状態)とを使用できる。しかし、電源制御部504は、通常通電状態から省電力状態へ移行するときと、第1省電力状態と第2省電力状態とで、同じイベントを発行する。
【0077】
ここで、通常通電状態から省電力状態へ移行するとき、クライアント機120で実行される各プロセスは、その省電力状態が第1省電力状態か第2省電力状態かを区別する必要はない。
その一方で、本実施形態では、イベント回収部510は、電源状態が省電力状態から通常通電状態へ復帰するとき、第1省電力状態からの復帰と第2省電力状態からの復帰とで、異なるプロセスを実行する(後述)。従って、これら二種類の復帰は、区別される必要がある。
【0078】
このため、ステップS704では、統一制御コマンド群制御部509に対して、イベントの監視を行わせて電源状態遷移イベントを発行させるための登録を行う。上述のように、統一制御コマンド群制御部509は、クライアント機120の内部及び外部の両方から利用できるAPI(Application Programming Interface)群であり、例えばCPCAが知られている。
電源状態遷移イベントは、電源制御部504が発行するイベントよりも詳細な情報が含まれているため、第1、第2省電力状態の区別に使用することが可能である。
【0079】
ステップS705で、イベント回収部510は、クライアント機120内の各モジュール501~508がイベントを発行したときに統一制御コマンド群制御部509から通知を受け取るための、登録を行う。或いは、イベント回収部510は、クライアント機120内の各モジュール501~508から直接イベントを受信するための、登録を行ってもよい。
【0080】
ステップ706で、イベント回収部510は、ステップS701、S703、S704及びS705での設定に基づく通知を受信する処理を行う。
そして、通知を受信すると、イベント回収部510は、ステップS707で、通知判定処理を実行する。通知判定処理の詳細については、
図8を用いて後述する。
【0081】
通知判定処理が終了すると、イベント回収部510は、ステップS708で、電源がオフされたか否かを確認する。そして、電源がオフされていないとき、イベント回収部510の処理は、ステップS706へ戻る。一方、電源がオフされたとき、イベント回収部510の処理は終了する。
図7の処理により、イベント回収部510は、イベントログを回収するための準備を完成する。
【0082】
図8は、
図7の通知判定処理S707を詳細に説明するためのフローチャートである。
図8の処理も、イベント回収部510によって実行される。具体的には、
図8の処理は、通知判定処理を実行するアプリケーションプログラムが、ROM402、RAM403又はHDD404の何れかのメモリから読み出されてCPU401に実行されることで、実現される。
【0083】
まず、ステップS801で、イベント回収部510は、通知受信処理(
図7のステップS706参照)で受け取った通知が、電源制御部504から受信された通知か否かを判定する。電源制御部504からの通知でない場合、処理はステップS806へ進む。
【0084】
一方、ステップS801で電源制御部504からの通知であると判定された場合、イベント回収部510は、ステップS802で、そのイベントが電源オフ・イベント“DevicePowerOff”(表A参照)であるか否かを判定する。そして、電源オフ・イベントであると判定した場合、イベント回収部510は、ステップS803で、電源オフに必要な処理を実行したあと、通知判定処理を終了する。
【0085】
一方、ステップS802で、電源オフ・イベントではないと判定した場合、イベント回収部510は、ステップS804で、そのイベントが“DeviceSleepStarted”(表A参照)であるか否かを判定する。上述のように、“DeviceSleepStarted”は、省電力状態への遷移を通知するイベントである。
そして、そのイベントが省電力状態遷移の通知ではなかった場合、イベント回収部510は、通知判定処理を終了する。
【0086】
一方、ステップS804で、そのイベントが省電力状態遷移の通知であった場合、イベント回収部510は、ステップS805で、プロセスが省電力状態へ移行するために必要な処理を実行する。
ここで、省電力状態とは、各アプリケーションが動作をしていない状態を意味し、上述の第1省電力状態(高速再起動が可能な省電力状態)と第2省電力状態(スリープ状態)との両方を含む。
【0087】
上述のように、ステップS801で電源制御部504からの通知でないと判定された場合、ステップS806以降の処理が実行される。このステップS806で、イベント回収部510は、通知受信処理(
図7のステップS
706参照)で受け取った通知が、統一制御コマンド群制御部509(
図7のステップS704参照)からの、電源状態遷移通知であるか否かを判定する。電源状態遷移通知とは、上述の電源状態遷移イベントに係る通知である(
図7のステップS704参照)。電源状態遷移通知ではないと判定した場合、処理はS809へ進む。
【0088】
一方、ステップS806で電源状態遷移通知であると判定された場合、イベント回収部510は、ステップS807で、その電源状態遷移が「第1省電力状態からの復帰」であるか否かを判定する。第1省電力状態からの復帰であると判定された場合、処理はステップS808へ進む。一方、第1省電力状態からの復帰ではないと判定された場合、イベント回収部510は、処理を終了する。
【0089】
イベント回収部510は、統一制御コマンド群制御部509から、その電源状態遷移の遷移元についての、状態遷移の情報を受け取ることができ、その情報に基づいて、第1省電力状態からの復帰か否かの判定を行うことができる。或いは、イベント回収部510は、統一制御コマンド群から、電源状態の遷移の種類を表す名称や識別番号(ID)等を受け取り、その名称等に基づいて第1省電力状態からの復帰か否かを判定してもよい。
【0090】
ステップS809では、イベント回収部510は、通知受信処理(
図7のステップS
706)参照)で受け取った通知が、通知設定保持部521からの通知設定変更通知であるか否かを判定する。通知設定変更通知であると判定された場合、処理はステップS808へ進む。一方、通知設定変更通知ではないと判定された場合、イベント回収部510は、通知
判定処理を終了する。
【0091】
このように、ステップS807で、電源状態遷移が第1省電力状態からの復帰であると判断された場合と、ステップS809で、通知設定変更通知が受信されたと判断した場合には、イベント回収部510が、ステップS808のイベント回収処理を実行する。
【0092】
図9は、イベント回収処理を説明するためのフローチャートである。このイベント回収処理も、イベント回収部510によって実行される。具体的には、
図9の処理は、イベント回収処理を実行するアプリケーションプログラムが、ROM402、RAM403又はHDD404の何れかのメモリから読み出されてCPU401に実行されることで、実現される。
【0093】
まず、ステップS901で、イベント回収部510は、コレクション設定を通知設定保持部521から取得する。
次に、ステップS902で、イベント回収部510は、そのイベント回収処理が初期化処理であるか否かを判定する。初期化処理であると判定された場合、処理はステップS903へ進む。
初期化処理であるか否かの判定は、例えばフラグを用いて行うことができる。すなわち、プログラムの初回実行時にフラグを有効化しておき、そのフラグの値により、初期化処理か否かを、イベント回収部510が判定すればよい。そして、イベント回収部510が、ステップS902の判定の実行後或いは初期化処理の実行後等に、そのフラグを無効化すればよい。
【0094】
一方、ステップS902で初期化処理ではないと判定された場合、イベント回収部510は、ステップS904で、そのイベント回収処理が再初期化処理であるか否かを判定する。再初期化処理ではないと判定された場合、処理はステップS903へ進む。
本実施形態においては、ステップS807で、第1省電力状態からの復帰であると判定された場合には、ステップS904で再初期化処理であると判定される。
【0095】
ステップS904で再初期化処理であると判定された場合、ステップS905で、イベント回収部510が、イベント収集停止処理を実行する。
このイベント収集停止処理では、タイマー通知部540へ登録されている、イベント取得のためのタイマー登録が解除される。
【0096】
タイマー登録を解除する理由は、以下の通りである。
本実施形態では、クライアント機120は、通常の動作時だけでなく、第2省電力状態でも、タイマーの発火時間になると、イベント収集処理を行う。このため、第2省電力状態へ遷移する場合には、タイマーを動作させる必要がある。一方、第1省電力状態では、電源オフ時と同様、イベント収集処理は行われず、タイマーは登録状態のままでも動作しない。
【0097】
また、上述のように、イベント回収部510は、省電力状態に遷移する際に、その遷移が第1省電力状態への遷移か第2省電力状態への遷移かを区別できない。
従って、本実施形態では、クライアント機120が省電力状態へ遷移する際にはタイマー登録を解除しないこととした。
【0098】
しかし、第1省電力状態へ遷移する際にもタイマー登録を解除しないこととすると、この第1省電力状態から通常通電状態へ復帰した際に、タイマーの動作が再開されて、イベント収集処理の実行が可能になる。すなわち、第1省電力状態から通常通電状態へ遷移した際のクライアント機120の動作は、第2省電力状態から遷移したときと同じ動作、すなわち、通常の電源オン時とは異なる動作となる。通常の電源オン時と第1省電力状態から通常通電状態への復帰時とでクライアント機120の起動動作が異なる場合、ユーザ等の混乱を招くおそれがある。
【0099】
ここで、上述にように、本実施形態では、省電力状態から復帰する場合に、第1省電力状態からの復帰か或いは第2省電力状態からの復帰かを区別できる。
このため、本実施形態では、第1省電力状態から通常通電状態への復帰時に、一旦タイマーの動作を停止させて、イベント収集処理が実行されないようにした。これにより、通常の電源オン時と第1省電力状態から通常通電状態への復帰時とで、ユーザ等にとってのクライアント機120の起動動作が、同等となるようにした。
【0100】
ステップS903で、イベント回収部510は、リアルタイム送信イベントを収集するための設定処理を行う。上述のように、リアルタイム送信イベントとは、管理対象の状態が変化したことや、管理対象である処理が実行されたことを契機に送信されるイベントである。このため、リアルタイム送信イベントについては、事象の発生を検知する必要があり、従って、この設定処理で、統一制御コマンド群制御部509或いはモジュール501~508に対して、変更検知のための登録が行われる。
【0101】
次に、ステップS906で、イベント回収部510は、初期化処理或いは再初期化処理を実行するか否かを判定する。
初期化処理或いは再初期化処理を実行すると判定された場合、イベント回収部510は、起動時イベント収集処理(ステップS907)と、定期イベント収集タイマー設定処理(ステップS908)とを行う。
【0102】
まず、イベント回収部510は、ステップS907で、起動時送信イベントの収集処理を実行する。起動時送信イベントとは、上述のように、起動時のタイミングで送信されるイベントである。起動時送信イベントを用いることで、クライアント機120が起動したときのデータを収集できる。
【0103】
本実施形態では、第1省電力状態から通常通電状態へ復帰する際に、クライアント機120に、ユーザが電源オン時と区別できないような動作を行わせる。このため、第1省電力状態からの復帰動作では、電源ON時の動作と同等のイベント通知を行う。そのため、ステップS907では、起動時イベントを収集し、収集結果を例えばJSON等の汎用フォーマットにして正規化して、メッセージバッファ520へ記録する。
【0104】
続いて、ステップS908で、イベント回収部510は、定期送信イベント収集のためのタイマーを設定する処理を実行する。このタイマー設定処理では、タイマー通知部540へ、次回発火までの時間間隔或いは次回の発火時刻と、タイマーが発火した時に呼び出すコールバック関数とが、登録される。
【0105】
ステップS906で、初期化処理及び再初期化処理を実行しないと判定された場合、イベント回収部510は、定期イベント収集処理及び定期イベント収集タイマー設定処理(ステップS909)を行う。
【0106】
このステップS909では、ステップS908と同様のタイマー設定処理に加え、イベントの収集処理も実施される。イベントの収集処理をこのタイミングで実施することにより、通知設定保持部521がコレクションを変更した場合に、その時点でのイベント収集が行われることになる。そして、イベント回収部510は、そのイベント収集タイミングから次回発火までの時間間隔や、次回の発火時刻を算出し、その結果に基づいてタイマー登録を実施する。
【0107】
次に、
図10のフローチャートを用いて、本実施形態に係るタイマー発火処理を説明する。このタイマー発火処理は、上述のステップS908、S909で登録したタイマーが発火した場合に、イベント回収部510が実行する。具体的には、
図10の処理は、タイマー発火処理を実行するアプリケーションプログラムが、ROM402、RAM403又はHDD404の何れかのメモリから読み出されてCPU401に実行されることで、実現される。
【0108】
上述のように、タイマーが発火すると、コールバック関数が呼び出され、このコールバック関数に対応するパラメータが生成される。イベント回収部510は、ステップS1001で、このパラメータを取得する。このパラメータには、タイマーが指定時間に発火したのか、或いはその指定時間よりも後で発火したかを示す情報を含めることができる。
【0109】
ステップS1002で、イベント回収部510は、このパラメータを用いて、発火のタイミングを判定する。
指定時間に発火した場合、ステップS1003で、イベント回収部510は、イベントログを収集し、収集した情報をメッセージバッファ520へ書き込んで、タイマー発火処理を終了する。
【0110】
一方、ステップS1002で、指定時間よりも後で発火したと判定された場合、クライアント機120が第1省電力状態から通常通電状態へ復帰した直後に発火したと判断できる。この場合、イベント回収部510は、ステップS1004で、タイマーの登録を解除して、タイマー発火処理を終了する。
【0111】
上述したように、本実施形態では、第1省電力状態からの復帰時に、タイマー通知部540に登録されたタイマーの解除を行う(
図9のステップS905参照)。しかし、イベント回収部510が動作を再開するよりも早くタイマー通知部540の動作が再開すると、タイマー解除よりも先にタイマーが発火してしまう可能性がある。特に、第1省電力状態ではタイマーが発火しないので、通常通電状態へ復帰するとすぐにタイマーが発火する可能性がある。このため、本実施形態では、イベントの取得を行うこと無しに、ステップS1004で、タイマー設定を解除する処理を行うこととした。
【0112】
なお、指定時間を用いる代わりに、その指定時間よりも所定時間遅い時間を用いてもよい。これにより、第1、第2省電力状態の何れから通常通電状態へ復帰したのかを、正確に判断することが可能となる。
【0113】
以上説明したように、本実施形態では、第1省電力状態からの復帰時に、内部で動作するアプリケーションソフトウェアとしては第2省電力状態からの復帰と同等の状態遷移であるにも拘わらず、電源オン時と同等のイベント送信処理を実行できる。
すなわち、ユーザ等が電源スイッチをオンすることで、クライアント機120が電源オフ状態から起動した場合と第1省電力状態から起動した場合とで、同じイベント送信処理を実行することができる。
【符号の説明】
【0114】
100 ネットワーク
110 管理サーバ
120a,120b クライアント機