(57)【要約】      （修正有）【課題】ネットワークに接続された機器のアラート情報と共に関連情報を格納する際に、アラート情報が同じ場合に情報を格納しないようにすると最新の情報を格納できず、情報を格納する場合は情報を格納するための記憶容量が必要になる。【解決手段】アラート情報と関連情報を保存する際に、記憶装置内の直近2つの情報内のアラート情報が等しい場合は記憶装置内の直近の情報を最新の情報で置き換え、そうでない場合は最新の情報を追加保存する。【選択図】図５
2018005779.tif 000002
【特許請求の範囲】
【請求項１】
サーバー装置とクライアント装置とを含むデバイス管理システムであって、
前記クライアント装置は、
デバイスの状態情報を取得する手段と、
前記状態情報を前記サーバー装置に送信する送信手段とを有し、
前記サーバー装置は、
前記クライアント装置から前記状態情報を受信する受信手段と、
前記クライアント装置から受信した前記状態情報の履歴を格納するための格納手段と、
前記受信手段により前記状態情報を受信した際に、前記格納手段から最後に格納された状態情報を取得し、該状態情報が、該状態情報のさらに前に格納された状態情報と同一である場合には、前記受信手段により受信した状態情報を、前記最後に格納された状態情報に上書きして前記格納手段に格納する制御手段とを有する
ことを特徴とするデバイス管理システム。
【請求項２】
前記制御手段は、前記格納手段から取得した前記最後に格納された状態情報が、該状態情報のさらに前に格納された状態情報と同一でない場合には、前記受信手段により受信した状態情報を、前記格納手段に追加的に格納することを特徴とする請求項１に記載のデバイス管理システム。
【請求項３】
前記制御手段は、前記格納手段から取得した前記最後に格納された状態情報が、該状態情報のさらに前に格納された状態情報と同一であるか否かを、前記状態情報に含まれたアラート情報を基に判定することを特徴とする請求項１または２に記載のデバイス管理システム。
【請求項４】
前記制御手段は、前記格納手段に格納する前記状態情報が、前記格納手段に最後に格納された状態情報と同じであるか否かを判定し、同じである場合には、同じであることを示す同一表示情報を前記状態情報に追加してから前記格納手段に格納し、
前記制御手段は、前記最後に格納された状態情報の前記同一表示情報を参照して、前記最後に格納された状態情報が、該状態情報のさらに前に格納された状態情報と同一であるか否かを判定することを特徴とする請求項１乃至３のいずれか一項に記載のデバイス管理システム。
【請求項５】
前記状態情報には、デバイスの電源状態を含み、
前記制御手段は、前記受信手段により受信した前記状態情報の前記電源状態が休止状態を示す場合には、前記格納手段から取得した前記最後に格納された状態情報を、該状態情報と同じであることを示す前記同一表示情報を追加して前記格納手段に登録することを特徴とする請求項４に記載のデバイス管理システム。
【請求項６】
前記クライアント装置は、前記デバイスから取得した状態情報を格納する格納手段をさらに有し、
前記送信手段は、前記デバイスから取得した状態情報を、前記クライアントの前記格納手段に格納された状態情報と比較し、同一の値を持つ項目については送信しないことを特徴とする請求項１乃至５のいずれか一項に記載のデバイス管理システム。
【請求項７】
前記状態情報には、前記デバイスの電源状態を含み、
前記クライアント装置は、定期的に前記状態情報を前記デバイスに要求して前記状態情報を受信し、さらに、前記デバイスの電源状態が変化した際には、前記デバイスから自発的に送信される電源状態を受信し、
受信した前記電源状態が休止状態の場合には、前記電源状態が稼働中に復帰するまで、前記定期的な前記状態情報の要求をしないことを特徴とする請求項１乃至６のいずれか一項に記載のデバイス管理システム。
【請求項８】
サーバー装置とクライアント装置とを含むデバイス管理システムにおけるデバイス管理方法であって、
前記クライアント装置が、
デバイスの状態情報を取得し、
前記状態情報を前記サーバー装置に送信し、
前記サーバー装置が、
前記クライアント装置から前記状態情報を受信し、
前記クライアント装置から受信した前記状態情報の履歴を格納手段に格納し、
前記サーバー装置が、前記状態情報を受信した際に、前記格納手段から最後に格納された状態情報を取得し、該状態情報が、該状態情報のさらに前に格納された状態情報と同一である場合には、受信した前記状態情報を、前記最後に格納された状態情報に上書きして前記格納手段に格納する
ことを特徴とするデバイス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたデバイスを管理するデバイス管理システム及びデバイス管理方法に関する。
【背景技術】
【０００２】
従来のネットワーク接続された機器の状態を管理する方法には、ネットワークに接続された機器のイベント情報とイベント関連情報（イベント情報等と呼ぶ）とをサーバー等に送信し、機器の状態管理を行うものがある。そのような方法では、ネットワークに接続された画像形成装置がイベント情報等を送信する際に、イベント情報等の送信から一定期間以上経過しない場合は、新たなイベント情報等を送信しないものがある（例えば、特許文献１参照）。また、ネットワーク機器の稼働情報等を受信した管理装置において、ネットワーク接続された機器の情報の内、前回から変化のない稼働情報は保存せず、変化のあった稼働情報のみを格納するものがある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７８２８０号公報
【特許文献２】特開２０１２−６４１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された技術では、所定の時間経過しないと関連情報が送信されないため、関連情報に変化があった場合でもこれを記録や表示することができないという問題がある。また特許文献２に記載された技術では、稼働情報が頻繁に変化する場合に稼働情報を格納するための記憶装置（データベース）の容量が大量に必要になるという問題がある。
【０００５】
本発明は上記従来例に鑑みて成されたもので、上記問題を解決することを目的とする。具体的には、ネットワークに接続された機器の状態情報の履歴として、最新の状態情報を保存するとともに、それ以前の状態情報については、同じ状態情報を統合することでデータ量を減らすことができるデバイス管理システム及びデバイス管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を有する。すなわち、
サーバー装置とクライアント装置とを含むデバイス管理システムであって、
前記クライアント装置は、
デバイスの状態情報を取得する手段と、
前記状態情報を前記サーバー装置に送信する送信手段とを有し、
前記サーバー装置は、
前記クライアント装置から前記状態情報を受信する受信手段と、
前記クライアント装置から受信した前記状態情報の履歴を格納するための格納手段と、
前記受信手段により前記状態情報を受信した際に、前記格納手段から最後に格納された状態情報を取得し、該状態情報が、該状態情報のさらに前に格納された状態情報と同一である場合には、前記受信手段により受信した状態情報を、前記最後に格納された状態情報に上書きして前記格納手段に格納する制御手段とを有する。
【発明の効果】
【０００７】
以上説明したように本発明によれば、ネットワークに接続された機器の状態情報の履歴として、最新の状態情報を保存するとともに、それ以前の状態情報については、同じ状態情報を統合することでデータ量を減らすことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明を実施したシステムの全体構成を示すブロック図
【図２】情報処理装置のハードウェア構成の例を示すブロック図
【図３】クライアントアプリケーションのソフトウェア構成を示すブロック図
【図４】サーバーアプリケーションのソフトウェア構成を示すブロック図
【図５】サーバーによる、状態情報データの受信処理の流れを示すフローチャート
【図６Ａ】、
【図６Ｂ】、
【図６Ｃ】状態一覧表示、および個々の画像形成装置の状態履歴表示の例を示す図
【図７】クライアントによる、サーバーに送信する状態情報を作成する処理の流れを示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。図１は、本発明が適用されるネットワーク機器及び、ネットワーク機器を管理するデバイス管理システムを含むネットワークシステムの全体構成を示す図である。このシステムによりデバイス管理方法が実施される。同図において、管理システム１０１は、管理対象となっている複数のネットワーク機器の状態などを示す状態情報を格納し、管理する。管理システム１０１は、そのようなネットワーク機器の管理のための機能を実現するためのサーバーアプリケーションを実行する１台以上のサーバーコンピューターによって構成される。ホストコンピューター１０２は、ネットワーク機器から状態を取得して、取得した情報を管理システム１０１に対して送信する機能を実現するためのクライアントアプリケーションを実行する。またホストコンピューター１０２を、クライアントと呼ぶこともある。
【００１０】
画像形成装置１０４、１０５、１０６はネットワークに接続されたネットワーク機器であり、ホストコンピューター１０２で実行されるクライアントアプリケーションはこれら画像形成装置１０４、１０５、１０６から状態を取得する。画像形成装置１０４等は、動作中は、電源状態に変化があると、自身の電源状態をネットワークにマルチキャスト（少なくともクライアント１０２が送信先に含む）する機能を有する。また、稼働状態にある場合には、定期的に電源状態を送信する機能を有する。ネットワーク１０３は、画像形成装置１０４、１０５、１０６とホストコンピューター１０２とを接続する。画像形成装置１０４、１０５、１０６とホストコンピューター１０２とはネットワーク１０３を介して通信する。同様にネットワーク１０７は管理システム１０１とホストコンピューター１０２とを接続し、管理システム１０１とホストコンピューター１０２とはネットワーク１０７を介して通信する。ネットワーク１０３とネットワーク１０７は同一のネットワーク、または異なるネットワークである。例えば、管理システム１０１をインターネット上に、ホストコンピューター１０２と画像形成装置１０４から１０６を企業内イントラネット上に配置することも可能である。この場合、管理システム１０１とホストコンピューター１０２とは図示しないプロキシサーバやファイヤーウォールを仲介して通信する。
【００１１】
＜コンピューターの構成＞
図２は、管理システム１０１を構成するサーバーコンピューターや、ホストコンピューター１０２といった情報処理装置（たとえば汎用コンピューター）のハードウェア構成の例を示すブロック図である。同図において、情報処理装置は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、外部記憶装置２０７を備える。ＣＰＵ２０１は、ＲＯＭ２０３や外部記憶装置２０７に記憶された、或いはネットワーク２０２よりダウンロードしたソフトウェアを実行し、システムバス２０９に接続された各デバイスを総括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリあるいはワークエリアなどとして機能する。外部記憶装置２０７はハードディスク（ＨＤ）やソリッドステートドライブ（ＳＳＤ）等からなる。外部記憶装置２０７は、ブートプログラム、オペレーティングシステム、認証サーバー、認証クライアント等を含む各種のアプリケーション、データベースデータ、ユーザファイル等を記憶する。さらに情報処理装置において、キーボードコントローラー（ＫＢＤＣ）２０４はキーボードやポインティングデバイスからの入力情報をＣＰＵ２０１に送る。ビデオコントローラー（ＶＣ）２０５は、ＬＣＤ等からなる表示装置の表示を制御する。ディスクコントローラー（ＤＣ）２０６は、外部記憶装置２０７とのアクセスを制御する。通信コントローラー（ＮＩＣ）２０８は、ネットワーク２０２に接続し、情報処理装置とネットワークとのインターフェースを提供する。
【００１２】
クライアント１０２が、画像形成装置１０４から取得する各種、状態情報の例を、表を用いて説明する。なお、画像形成装置１０４〜１０６のいずれのであっても取得できる情報は同様である。状態情報は、アラート（Ａｌｅｒｔ）情報、入力（Ｉｎｐｕｔ）情報、消耗品（ＭａｒｋｅｒＳｕｐｐｌｉｅｓ）情報、カラー（Ｃｏｌｏｒａｎｔ）情報、その他情報に分類される。
【００１３】
＜アラート情報＞
表１は、アラート情報について説明するための表である。
【００１４】
【表１】
2018005779.tif 000003
【００１５】
アラート情報は画像形成装置１０４で発生しているエラーや警告情報を格納するテーブルである。アラート情報は、アラートコード（Ｃｏｄｅ）、重要度（Ｓｅｖｅｒｉｔｙ）、熟練度（Ｔｒａｉｎｉｎｇ）、グループ（Ｇｒｏｕｐ）、グループインデックス（ＧｒｏｕｐＩｎｄｅｘ）、記述（Ｄｅｓｃｒｉｐｔｉｏｎ）により構成される。アラートコードはエラーや警告の内容を示唆する数値（符号）、重要度（Ｓｅｖｅｒｉｔｙ）はエラーや警告の重要度（警告、エラー）を示す数値である。例えば、３はエラー、４は警告を意味する。習熟度はアラートを解消するために必要な習熟度を示す数値である。例えば、３は訓練の必要なし、４は訓練が必要、５は専用の知識が必要であることを意味する。グループはアラートの発生源を特定するための番号である。例えば用紙切れ等の給紙に問題がある場合８（ｉｎｐｕｔ）となり、トナー残量少等の消耗品に問題がある場合は１１（ｍａｒｋｅｒＳｕｐｐｌｉｅｓ）となる。グループインデックスはグループの中のインデックスを格納する。表１の１番目のアラート（コード８０８）は、これが入力情報（後述）のインデックス１の内容に起因していることを示す。記述はアラートの内容を人間が理解できるように表現した文字列である。
【００１６】
＜入力情報＞
表２は、入力情報について説明するための表である。
【００１７】
【表２】
2018005779.tif 000004
【００１８】
入力（Ｉｎｐｕｔ）情報は給紙カセットやデッキの様な給紙に関する情報を格納するテーブルである。入力情報は、インデックス（Ｉｎｄｅｘ）、タイプ（Ｔｙｐｅ）、ユニット（Ｕｎｉｔ）、最大値（Ｍａｘ）、現在値（Ｃｕｒｒ．）、ＤｉｍＵｎｉｔ、ＤｉｍＸ，ＤｉｍＹ，名前（Ｎａｍｅ）により構成される。インデックスはアラート情報のグループインデックスで指定される値であり、このテーブルの各行を一意に識別するための番号である。タイプは給紙タイプを示す番号であり、マニュアル給紙（５）、トレイ（２）、デッキ（４）等が格納される。ユニットは最大値と現在値に格納される数値の単位を示す番号であり、枚数（４）、メートル（１７）等が格納される。最大値と現在値には前述のユニットを単位とした最大値と現在値が格納される。表２の例のインデックス１の入力情報は給紙トレイを示し、この給紙トレイは最大５００枚の用紙を搭載可能で現在給紙トレイには用紙が一枚もないことを示している。ＤｉｍＵｎｉｔ、ＤｉｍＸ，ＤｉｍＹは給紙内の用紙のサイズに関する情報を格納する。ＤｉｍＸ，ＤｉｍＹは用紙の横方向及び縦方向の長さを、ＤｉｍＵｎｉｔに格納された単位で表した数値である。ＤｉｍＵｎｉｔには、マイクロメートル（４）、１万分の１インチ（３）等の長さの単位を示す数値が格納される。名前は給紙を人間が理解できるように表現した文字列である。Ｎａｍｅは給紙トレイ等の名称である。
【００１９】
＜消耗品情報＞
表３は、消耗品情報について説明するための表である。
【００２０】
【表３】
2018005779.tif 000005
【００２１】
消耗品（ＭａｒｋｅｒＳｕｐｐｌｉｅｓ）情報はトナーやドラム等の消耗品に関する情報を格納するテーブルである。テーブルはインデックス（Ｉｎｄｅｘ）、カラーインデックス（ＣｏｌｏｒａｎｔＩｎｄｅｘ）、ユニット（Ｕｎｉｔ）、最大値（Ｍａｘ）、現在値（Ｃｕｒｒ．）、クラス（Ｃｌａｓｓ）、記述（Ｄｅｓｃｒｉｐｔｉｏｎ）により構成される。インデックスはアラート情報のグループインデックスで指定される値であり、このテーブルの各行を一意に識別するための番号である。カラーインデックスは後述のカラー情報のインデックスであり、消耗品のカラー情報のテーブルを辿ることで消耗品のカラーを特定可能である。廃トナー容器の様に色に関係のない消耗品の場合は０が格納される。ユニットは最大値と現在値に格納される数値の単位を示す番号であり、パーセント（１９）、枚数（８）、１０分の１グラム（３）等が格納される。最大値と現在値は前述のユニットを単位とした消耗品の最大値と現在値を示す数値である。クラスは消耗品が消費されるものか（ｃｏｎｓｕｍｅｄ＝３）、蓄積されるものか（ｆｉｌｌｅｄ＝４）を示す数値である。例ではトナーは消費されるため３が、廃トナーは蓄積されるため４がそれぞれ格納されている。記述は消耗品の内容を人間が理解できるように表現した文字列である。
【００２２】
＜カラー情報＞
表４は、カラー情報について説明するための表である。
【００２３】
【表４】
2018005779.tif 000006
【００２４】
カラー（Ｃｏｌｏｒａｎｔ）情報は、色に関する情報を格納するテーブルであり、インデックス（Ｉｎｄｅｘ）と値（Ｖａｌｕｅ）により構成される。インデックスは消耗品のカラーインデックスで指定される値であり、このテーブルの各行を一意に識別するための番号である。値は色を表す文字列である。
【００２５】
その他情報には、総印刷枚数（ＴｏｔａｌＰａｇｅｓ）と、画像形成装置１０４の電源状態（ＰｏｗｅｒＳｔａｔｕｓ）がある。電源状態には、ＵＰ（稼働中）、ＳＬＥＥＰ（省電力モードで稼働中）、ＤＯＷＮ（電源オフ）等が格納される。
【００２６】
＜クライアントアプリケーションの構成＞
図３は、ホストコンピューター１０２上で動作するクライアントアプリケーション３００で実現されるモジュール構成を示すブロック図である。全体制御部３０１はプログラム全体を制御する。状態情報送信部３０２は画像形成装置の状態情報をサーバーアプリケーションに送信する。管理対象管理部３０３はクライアントアプリケーション３００が管理する画像形成装置の情報と電源状態とを管理する。電源状態通知受信部３０４は画像形成装置１０４等からの電源状態の通知を受信する。ここで画像形成装置１０４等は、動作中は、電源状態に変化がある場合に、および、稼働状態にある場合には一定時間ごとに、自身の電源状態を自発的にネットワークにマルチキャストする機能を有する。また、画像形成装置は、リクエストに応じて、状態情報をリクエスト元に送信する機能を有する。状態情報取得部３０５は、画像形成装置からＳＮＭＰプロトコルを用いて状態情報を取得し、取得した画像形成装置の状態情報のサーバーアプリケーションへの送信を状態情報送信部３０２に要求する。ＳＮＭＰプロトコルスタック３０６は、画像形成装置１０４等とＳＮＭＰを用いて通信する際などに利用される。クライアント１０２はこのほか、ウエブブラウザを有し、ＨＴＴＰを通して管理システム１０１のウエブサーバーにアクセスすることができる。これにより、管理システム１０１のデータベース等にアクセスすることもできる。
【００２７】
クライアントアプリケーション３００は起動されると全体制御部３０１に処理の開始を指示する。全体制御部３０１は最初に、管理対象管理部３０３の管理対象取得処理を呼び出す。管理対象管理部３０３の管理対象取得処理はサーバーアプリケーション４０１（図４に示す）からクライアントアプリケーション３００が管理する画像形成装置の情報を取得する。次に全体制御部３０１は、電源状態通知受信部３０４に画像形成装置１０４等からの電源状態の受信の開始を指示する。これに応じて電源状態通知受信部３０４は電源状態をリッスンする。最後に、全体制御部３０１は、タイマーを起動し一定時間毎に管理対象の画像形成装置の状態取得処理を呼び出すように設定する。全体制御部３０１の状態取得処理は、タイマーにより一定時間毎に呼び出されると、最初に、管理対象管理部３０２から管理対象の画像形成装置の情報の一覧を取得する。次に取得した一覧からそれぞれの画像形成装置から状態情報を取得してサーバーアプリケーションに送信するように状態情報取得部３０５に要求し、処理を終了する。
【００２８】
状態情報取得部３０５は、状態情報の取得要求を受け取ると、最初に、管理対象管理部３０３に取得対象の画像形成装置の電源状態を問い合わせる。管理対象管理部３０３には、管理対象の画像形成装置の最新の電源情報がキャッシュされており、問い合わせに応じてキャッシュされた電源情報を応答する。取得対象の画像形成装置の電源状態が動作中（ＵＰ）の場合、状態情報取得部３０５は、ＳＮＭＰプロトコルスタック３０６経由で、指定された画像形成装置から状態情報を取得し、状態情報送信部３０２に、取得した画像形成装置の状態情報のサーバーアプリケーションに対する送信を要求する。状態情報送信部３０２は要求に応じて状態情報を送信する。一方取得対象の画像形成装置の電源状態が休止中（スリープ）または電源オフ（ダウン）の場合、クライアント１０２は画像形成装置に対して状態情報を要求することはない。この場合には、電源状態のみを状態情報としてサーバーアプリケーションに送信すればよい。
【００２９】
電源状態通知受信部３０４は、画像形成装置１０４等からの電源状態の通知を受信すると、管理対象管理部３０３に画像形成装置の電源状態の設定すなわちキャッシュを要求する。管理対象管理部３０３は、電源状態の設定の要求を受け取ると内部に記憶している画像形成装置の電源情報を指定された状態に変更する。管理対象管理部３０３は、サーバーアプリケーションから管理対象となる画像形成装置のリストを取得して保持するとともに、電源状態通知受信部３０４から画像形成装置の電源状態を受信し、受信した画像形成装置の電源状態を保持する。管理対象管理部３０２は全体制御部３０１からの管理対象の画像形成装置の一覧取得要求に対して、保持している画像形成装置の一覧を返す。管理対象管理部３０２は状態情報取得部３０５からの画像形成装置の電源状態の取得要求に対して、指定された画像形成装置の電源状態を返す。このときのクライアントアプリケーション３００の動作は図７を、サーバーアプリケーション４０１の動作は図５を参照して後で説明する。
【００３０】
状態情報取得部３０５が状態情報送信部３０２に送信を依頼する画像形成装置の状態情報を示すＪＳＯＮ（JavaScript Object Notation）データの例をコード１に示す。管理システム１０１に送信される状態情報は、画像形成装置から取得した状態情報そのものであってもよいし、再構成されたものであってもよい。コード１に示す各行の後半のかっこ書きはそのラインの意味を示す。なおＪＳＯＮは一例であってもちろん他の表記方法でもよい。
【００３１】
＜コード１＞
{
"deviceId": "9032097f-95e5-4bf6-a427-936045b90f1e",（デバイスＩＤ）
"receivedDate": "2016-04-25T20:29:41.782",（受信日時）
"alerts": [{（以下、角かっこがアラート情報全体を示し、中かっこが個別のアラート情報を示し、中かっこ内のコンマで区切られた文字列がアラート情報の各フィールド（内容あるいは属性）を示す。）
"code": 808,（アラートコード）
"severity": 4,（アラートの重要度）
"training": 3,（熟練度）
"group": 8,（グループ）
"groupIndex": 1,（グループインデックス：入力情報等のインデックスを指定）
"description": "No Paper Tray 1"（記述：「トレイ１の用紙切れ」）
}, {
"code": 807,
"severity": 4,
"training": 3,
"group": 8,
"groupIndex": 2,
"description": "Low Paper Tray 2"
}, {
"code": 807,
"severity": 4,
"training": 3,
"group": 8,
"groupIndex": 3,
"description": "Low Paper Tray 3"
}, {
"code": 1104,
"severity": 4,
"training": 4,
"group": 11,
"groupIndex": 3,
"description": "Toner Low"
}],
"powerStatus": "UP",（電力状態：「稼働中」）
"totalPages": 827189,（総ページ数）
"inputs": [{（以下、角かっこが入力情報全体を示し、中かっこが個別の入力情報を示し、中かっこ内のコンマで区切られた文字列が入力情報の各フィールド（内容あるいは属性）を示す。）
"index": 1,（インデックス：アラート情報のグループインデックスで指定される）
"type": 2,（給紙タイプ）
"unit": 8,（ユニット：最大値および現在値に記載された数値の単位）
"max": 500,（最大値：５００枚）
"current": 0,（現在値：０枚）
"dimUnit": 4,（dimX、dimYの単位）
"dimX": 297000,（用紙縦サイズ）
"dimY": 210000,（用紙横サイズ）
"name": "Tray 1"（トレイ）
}, {
"index": 2,
"type": 2,
"unit": 8,
"max": 1500,
"current": 60,
"dimUnit": 4,
"dimX": 257000,
"dimY": 182000,
"name": "Tray 2"
}, {
"index": 3,
"type": 2,
"unit": 8,
"max": 1000,
"current": 50,
"dimUnit": 4,
"dimX": 297000,
"dimY": 210000,
"name": "Tray 3"
}, {
"index": 4,
"type": 2,
"unit": 8,
"max": 2000,
"current": 1500,
"dimUnit": 4,
"dimX": 297000,
"dimY": 210000,
"name": "Tray 4"
}],
"markerSupplies": [{（以下、角かっこが消耗品情報全体を示し、中かっこが個別の消耗品情報を示し、中かっこ内のコンマで区切られた文字列が消耗品情報の各フィールド（内容あるいは属性）を示す。）
"index": 1,（インデックス：アラート情報のグループインデックスで指定される）
"colorantIndex": 1,（カラーインデックス：消耗品の色）
"unit": 19,（ユニット：最大値および現在値に記載された数値の単位）
"max": 100,（最大値）
"current": 80,（現在値）
"type": 3,（タイプ）
"class": 3,（クラス：消耗品の分類）
"description": "Cyan Toner"（記述：「シアントナー」）
}, {
"index": 2,
"colorantIndex": 2,
"unit": 19,
"max": 100,
"current": 50,
"type": 3,
"class": 3,
"description": "Magenta Toner"
}, {
"index": 3,
"colorantIndex": 3,
"unit": 19,
"max": 100,
"current": 5,
"type": 3,
"class": 3,
"description": "Yello Toner"
}, {
"index": 4,
"colorantIndex": 4,
"unit": 19,
"max": 100,
"current": 90,
"type": 3,
"class": 3,
"description": "Black Toner"
}, {
"index": 5,
"colorantIndex": 0,
"unit": 19,
"max": 100,
"current": 30,
"type": 4,
"class": 4,
"description": "Waste Toner"
}],
"colorant": [{（以下、角かっこがカラー情報全体を示し、中かっこが個別のカラー情報を示し、中かっこ内のコンマで区切られた文字列がカラー情報の各フィールド（内容あるいは属性）を示す。）
"index": 1,（インデックス：消耗品情報のカラーインデックスで指定される）
"value": "cyan"（値：色を示す）
}, {
"index": 2,
"value": "magenta"
}, {
"index": 3,
"value": "yellow"
}, {
"index": 4,
"value": "black"
}]
}。
【００３２】
ここでｄｅｖｉｃｅＩｄは画像形成装置を一意に識別するための識別子である。状態情報を取得できたので電源状態ｐｏｗｅｒＳｔａｔｕｓはＵＰとなる。電源状態通知受信部３０４は、受信した電源状態が省電力モードへの移行（ＳＬＥＥＰ）或いは電源オフへの移行（ＤＯＷＮ）である場合、状態情報送信部３０２に、管理システム１０１への該画像形成装置の電源状態の送信を要求する。電源状態通知受信部３０４が状態情報送信部３０２に送信を依頼する画像形成装置の状態が省電力モードへ遷移したことを示すJSONデータの例をコード２に示す。
【００３３】
＜コード２＞
{
"deviceId": "9032097f-95e5-4bf6-a427-936045b90f1e",
"receivedDate": "2016-04-25T20:35:28.138",
"powerStatus": "SLEEP"
}
図４は、管理システム１０１上で動作するサーバーアプリケーション（サーバーアプリケーションプログラム）で実現されるモジュール構成を示すブロック図である。同図において、サーバーアプリケーション４０１はＷＥＢサーバーで動作するＷＥＢアプリケーションである。ＨＴＴＰリクエスト受信部４０２はサーバーアプリケーション４０１により提供される。ＨＴＴＰリクエスト受信部４０２は、クライアントから受信したＨＴＴＰリクエストのＵＲＩとメソッドとを確認してＷＥＢサーバーに配置されたモジュールの適切なメソッドを呼び出したりエラーを返信したり、ＨＴＴＰリクエストに含まれる認証情報の確認などを行う。クライアントアプリケーション３００およびＷＥＢブラウザ４０８はそれぞれクライアントであるホストコンピューター１０２で実行されるプログラムであり、サーバーアプリケーション４０１に対してＨＴＴＰリクエストを送信する。状態情報受信部４０４は、クライアントアプリケーション３００（詳しくは、図３の状態情報送信部３０２）が送信する画像形成装置の状態情報を受信する。ＷｅｂＵＩ処理部４０６はＷＥＢブラウザ４０８からのＨＴＴＰリクエストを処理する。データベース４０７は、管理アプリケーションが管理する画像形成装置に情報や、各画像形成装置の過去の状態データの履歴を格納する。データベースアクセス層４０６は、状態データ受信部４０４やＷｅｂＵＩ処理部４０６によるデータベース４０７へのアクセスを仲介する。図示しないがサーバーアプリケーション４０１は、クライアントアプリケーション４０３内の管理対象管理部３０３からのＨＴＴＰリクエストに対しクライアントアプリケーション３００が管理する画像形成装置のリストをレスポンスとして返すＷＥＢ ＡＰＩ処理部を含む。
【００３４】
なお図４ではサーバーアプリケーション４０１をＷｅｂサーバーと不可分な構成として記載しているが、たとえばサーバーアプリケーション４０１はＷｅｂサーバーのバックエンドで機能するものであってもよい。図４においては例えばＨＴＴＰリクエスト受信部４０２とＷｅｂＵＩ処理部４０６とをＷｅｂサーバーの機能とし、その他をサーバーアプリケーションの機能として提供してもよい。
【００３５】
表５は、画像形成装置の状態情報を格納するデータベース４０７内の状態情報テーブルの定義を説明する表である。
【００３６】
【表５】
2018005779.tif 000007
【００３７】
以下、テーブル内のカラムを順に説明する。ＤｅｖｉｃｅＩｄはネットワーク上の各画像形成装置を一意に識別するために管理システムが割り当てた識別子であり、ＵＵＩＤ等が用いられる。ＲｅｃｅｉｖｅｄＤａｔｅは状態情報取得部３０５が画像形成装置の状態情報を収集した日時、および電源状態通知受信部３０４が画像形成装置からの電源状態の通知を受信した日時である。ＰｏｗｅｒＳｔａｔｕｓは画像形成装置の電源状態であり、ＵＰ、ＳＬＥＥＰ，ＤＯＷＮ等の文字列が格納される。ＳｅｖｅｒｉｔｙＬｅｖｅｌは画像形成装置で発生しているエラーの内最も重要度の高い重要度を示す数値（例えば、０＝エラーなし、３＝緊急、４＝警告）が格納される。ＴｒａｉｎｉｎｇＬｅｖｅｌは画像形成装置で発生しているエラーの回復に必要な熟練度のうち、最も高い熟練度を示す数値（例えば、０＝エラーなし、３＝非訓練、４＝要訓練、５＝要フィールドサービス）が格納される。Ａｌｅｒｔｓ、Ｉｎｐｕｔｓ，ＭａｒｋｅｒＳｕｐｐｌｉｅｓ、Ｃｏｌｏｒａｎｔｓはそれぞれ表１のＡｌｅｒｔ、Ｉｎｐｕｔ、ＭａｒｋｅｒＳｕｐｐｌｉｅｓ、Ｃｏｌｏｒａｎｔの内容をＪＳＯＮ化した文字列が格納される。ＴｏｔａｌＰａｇｅｓは同じく表１のＴｏｔａｌＰａｇｅｓの内容が格納される。ＳａｍｅＡｓＰｒｅｖ（同一表示情報とも呼ぶ）はＡｌｅｒｔｓの内容が一つ前に受信した内容と同じであるか否かを示す論理値であり、前の受信内容とＡｌｅｒｔｓの内容が同じであれば真が格納される。
【００３８】
＜クライアントアプリケーション３００による状態情報の送信処理＞
図７は、図３の状態情報取得部３０５が画像形成装置１０４より取得した状態情報から、状態情報送信部３０２が送信する状態情報を作成する処理の流れを示すフローチャートである。図７の手順は、たとえば定期的に状態情報を取得するためにホストコンピューター（クライアント）１０２により周期的に（定期的に）実行される。
【００３９】
状態情報取得部３０５は、管理対象の画像形成装置毎に前回取得した状態情報を保持する機能を持つ。状態情報取得部３０５は、まずステップＳ７００で管理対象管理部３０３に取得対象の画像形成装置の電源状態を問い合わせる。管理対象管理部３０３には、管理対象の画像形成装置から通知された最新の電源情報がキャッシュされており、問い合わせに応じてキャッシュされた電源情報を応答する。取得対象の画像形成装置の電源状態が動作中（ＵＰ）の場合、ステップＳ７０１に分岐する。一方取得対象の画像形成装置の電源状態が休止中（スリープ）または電源オフ（ダウン）の場合、ステップＳ７０２に分岐する。
【００４０】
状態情報取得部３０５は、ステップＳ７０１で画像形成装置１０４から状態情報を取得する。取得する状態情報は、表１から表４の情報とその他情報として総印刷枚数と画像形成装置１０４の電源状態である。ここでアラート情報と電源情報とを状態情報と呼び、その他の情報を状態関連情報と呼ぶ。状態関連情報には消耗品情報（残量など）や用紙情報、総印刷枚数等を含む。次に状態情報取得部３０５は、ステップＳ７０２で、画像形成装置１０４から前回取得して保存された状態情報（状態関連情報も含む。）が存在するかを判定する。前回取得して保存された状態情報が存在しないと判定された場合、状態情報取得部３０５は、ステップＳ７０３で、今回Ｓ７０１で取得した状態情報から送信データを作成する。作成される送信データは、コード１に示すような全ての状態情報を含むものである。
【００４１】
前回取得して保存された状態情報が存在するとＳ７０２において判定された場合、状態情報取得部３０５は、ステップＳ７０４で、前回取得して保存された状態情報と、今回取得した状態情報との差分から送信データを作成する。たとえば、状態情報の種類（アラート情報や入力情報、消耗品情報など）の単位で前記と今回とで同一ならば、その情報を送信する状態情報に含めない。あるいは、情報の種類を示すコード（"alerts"や"inputs"、"markerSupplies"など）に続けて、内容が前回と同一であることを示すコード（たとえば"*"のコードなど）を付加する。またとえば、各種類の状態情報のなかで、アラートコードやインデックスの単位で同一であれば、その単位で送信する状態情報に含めないか、あるいはアラートコードやインデックスに続けて、内容が前回と同一であることを示すコードを付加する。電源状態については管理対象管理部３０３にキャッシュされた電源状態を用いて送信用の状態情報を作成する。電源状態も他の状態情報と同様に、前回と同じ値の送信を省略してもよいが、電源状態の情報量は少ないので、Ｓ７０１で取得した値そのままとしても良い。前回取得して保存されている状態情報と今回のそれとが一致しない場合には、今回取得した状態情報から送信データを作成する。この部分に関してはコード１に例示したものでよい。
【００４２】
状態情報取得部３０５は、ステップＳ７０３あるいはＳ７０４により作成した送信データの送信を、ステップＳ７０５で状態情報送信部３０２に依頼する。送信先は管理システム１０１のサーバーアプリケーション４０１である。状態情報送信部３０２は、送信依頼された状態情報を管理システム１０１に送信する。最後に状態情報取得部３０５は、ステップＳ７０６では、ステップＳ７０１で今回取得した状態情報を状態情報の格納部に格納して、処理を終了する。このＳ７０１で格納された状態情報が、次回の図７の処理の実行時には、前回取得されて保存されている状態情報としてステップＳ７０２で参照される。
【００４３】
このように、クライアントアプリケーション３００は、画像形成装置から状態情報と共に装置状態に関連する状態関連情報も併せて取得し、管理システム１０１に送信する。状態情報には、たとえば装置の動作状態を示すアラート情報や、電源状態が含まれる。また、状態関連情報にはたとえば、消耗品情報（消耗品残量など）、用紙情報（用紙残量など）、総印刷枚数などが含まれる。さらに、クライアントアプリケーション３００は、状態に変化がなくても、取得した状態情報を管理システム１０１に送信する。 ただし、前回取得時から変化していないデータに関しては、送信データの中に項目を示すコードのみを含めて、その値を含めなくてよい。あるいは、変化がない旨を示す情報（たとえば"*"のコードなど）を送信してもよい。変化した情報に関しては、その情報そのものを送信する。
【００４４】
なお、ステップＳ７００の判定で電源状態が電源オン以外の場合には、電源状態以外の状態情報を取得できないので、電源状態以外の状態情報については送信しなくともよい。そのため電源状態が電源オン以外の場合、ステップＳ７０２ではなく、たとえばステップＳ７０３に分岐してもよい。
【００４５】
以上のように、クライアントアプリケーション３００は、定期的に状態情報を画像形成装置に要求して状態情報を受信するとともに、画像形成装置の電源状態が休止状態にある場合には、状態情報を画像形成装置に要求しないことで、その休止状態からの復帰を防止できる。この場合には、図５で説明するように、サーバーアプリケーション４０１では、電源状態と日時以外は前回の状態情報テーブルの内容を用いるために、状態情報を送信しなくともよい、さらに、前回取得した状態情報と同じ値の項目に関してはサーバーに送信しないことで送信データ量を削減できる。
【００４６】
コード３は、コード１のデータが送信されてから約５００枚の印刷がなされた後に、状態情報取得部３０５が、コード１に示す前回の状態情報と今回取得した状態情報からステップＳ７０４で作成した画像形成装置の状態情報を示すJSONデータの例である。
【００４７】
＜コード３＞
{
"deviceId": "9032097f-95e5-4bf6-a427-936045b90f1e",
"receivedDate": "2016-04-25T21:07:23.813",
"totalPages": 827623,
"inputs": [{
"index": 1,
"type": 2,
"unit": 8,
"max": 500,
"current": 0,
"dimUnit": 4,
"divX": 297000,
"dimY": 210000,
"name": "Tray 1"
}, {
"index": 2,
"type": 2,
"unit": 8,
"max": 1500,
"current": 60,
"dimUnit": 4,
"divX": 257000,
"dimY": 182000,
"name": "Tray 2"
}, {
"index": 3,
"type": 2,
"unit": 8,
"max": 1000,
"current": 50,
"dimUnit": 4,
"divX": 297000,
"dimY": 210000,
"name": "Tray 3"
}, {
"index": 4,
"type": 2,
"unit": 8,
"max": 2000,
"current": 1000,
"dimUnit": 4,
"divX": 297000,
"dimY": 210000,
"name": "Tray 4"
}],
"markerSupplies": [{
"index": 1,
"colorantIndex": 1,
"unit": 19,
"max": 100,
"current": 76,
"type": 3,
"class": 3,
"description": "Cyan Toner"
}, {
"index": 2,
"colorantIndex": 2,
"unit": 19,
"max": 100,
"current": 47,
"type": 3,
"class": 3,
"description": "Magenta Toner"
}, {
"index": 3,
"colorantIndex": 3,
"unit": 19,
"max": 100,
"current": 3,
"type": 3,
"class": 3,
"description": "Yello Toner"
}, {
"index": 4,
"colorantIndex": 4,
"unit": 19,
"max": 100,
"current": 85,
"type": 3,
"class": 3,
"description": "Black Toner"
}, {
"index": 5,
"colorantIndex": 0,
"unit": 19,
"max": 100,
"current": 32,
"type": 4,
"class": 4,
"description": "Waste Toner"
}]
}。
【００４８】
今回取得した状態情報は、コード１に示す前回の状態情報から、アラート情報とカラー情報ついては変化がないとする。そのためコード３では、変化のない項目（Ａｌｅｒｔ、Ｃｏｌｏｒａｎｔ）に関しては送信する状態情報に含めないことで送信するデータ量が減少する。ここで、項目にデータが存在しない場合、例えばＡｌｅｒｔ情報がない（エラーや警告がない状態）状態を空の配列（［］）で表現することにより、変化がない場合と情報がないデータとを区別する。コード３に示す状態情報を受信したサーバーアプリケーション４０１の状態情報受信部４０４は、ステップＳ５０５の受信したデータからＤＢに格納するデータを作成する処理で、値がない項目に関しては、ステップＳ５０１でデータベース４０７から取得した状態情報テーブル内の対応する項目の値をコピーする。
【００４９】
＜サーバーアプリケーション４０１による状態情報の登録処理＞
図５は、図４のサーバーアプリケーション４０１の状態情報受信部４０４がクライアントアプリケーション３００（詳細には図３の状態情報送信部３０２）からの、ステップＳ７０５における画像形成装置の状態情報を受信した際の処理の流れを示すフローチャートである。図５の手順は管理システム１０１により実行される。
【００５０】
状態情報受信部４０４はクライアントアプリケーション３００から状態情報を受信すると、ステップＳ５０１にて、受信した状態情報のＤｅｖｉｃｅＩｄを用いてデータベース４０７に格納されている該当するデバイスＩＤを持つ画像形成装置の最後の状態情報テーブル（表５参照）を取り出す。次に状態情報受信部４０４は、ステップＳ５０２でデータベース４０７から状態情報テーブルの取得ができたかを判定する。
【００５１】
データベース４０７に該当する状態情報テーブルが取得できなかった場合、即ち当該画像形成装置からの初めての状態情報の受信の場合、ステップＳ５０３にて、クライアントアプリケーション３００から受信した状態情報に基づいてデータベース４０７に格納する状態情報テーブルを作成する。この際、受信データに含まれた電源状態がＳＬＥＥＰまたはＤＯＷＮの場合、新たに登録する状態情報テーブルのＳｅｖｅｒｉｔｙＬｅｖｅｌとＴｒａｉｎｉｎｇＬｅｖｅｌは未定（Ｕｎｋｎｏｗｎ）に設定し、Ａｌｅｒｔｓ、Ｉｎｐｕｔｓ、ＭａｒｋｅｒＳｕｐｐｌｉｅｓ、Ｃｏｌｏｒａｎｔｓには空文字列、ＴｏｔａｌＰａｇｅｓには−１を設定する。一方それ以外、即ち電源状態がＵＰの場合、クライアントアプリケーション３００から受信した状態情報のＡｌｅｒｔ情報から最も重要度の高い値を新たに登録する状態情報テーブルのＳｅｒｖｅｒｉｔｙＬｅｖｅｌに、最も熟練度が高い値をＴｒａｉｎｉｎｇＬｅｖｅｌにそれぞれ設定する。その他の値については受信した状態情報に含まれる値を対応する状態情報テーブルの項目に設定する。状態情報受信部４０４は、ステップＳ５０３の状態情報テーブルの作成が終了したら、作成した状態情報テーブルをステップＳ５１０にてデータベースに追加的に格納する。
【００５２】
一方ステップＳ５０２において、ステップＳ５０１でのデータベース４０７からのデータ取得に成功したと判定した場合、状態情報取得部４０４はステップＳ５０４で、受信した状態情報の電源状態（Ｐｏｗｅｒｓｔａｔｕｓ）がＳＬＥＥＰまたはＤＯＷＮであるかを判定する。状態情報取得部４０４は、ステップＳ５０５での判定の結果、受信したデータの電源状態がＳＬＥＥＰまたはＤＯＷＮの場合、ステップＳ５０６に遷移する。ステップＳ５０６においては、クライアントアプリケーション３００から受信した状態情報と、ステップＳ５０１でデータベース４０７から取得した状態情報テーブルとから、データベース４０７に格納する状態情報テーブルを作成する。ステップＳ５０６でのデータ作成時、状態情報受信部４０４は、状態情報テーブルの受信日付と電源状態とＳａｍｅＡｓＰｒｅｖフィールド以外には、データベース４０７から取得した状態情報テーブルの値を設定する。また受信日時と電源状態にはクライアント１０２から受信した状態情報の値を、ＳａｍｅＡｓＰｒｅｖには真を設定する。状態情報取得部４０４は、ステップＳ５０６での状態情報テーブルの作成後はステップＳ５０９に遷移する。
【００５３】
状態情報受信部４０４は、ステップＳ５０５で、受信した状態情報の電源状態がＳＬＥＥＰでもＤＯＷＮでもないと判定された場合（即ちＵＰの場合）、ステップＳ５０７に遷移する。ステップＳ５０７では、受信した状態情報からデータベース４０７に新たに格納する状態情報テーブルを作成する。その際、状態情報受信部４０４は、受信データのＡｌｅｒｔ情報から、最も重要度の高い値をＳｅｒｖｅｒｉｔｙＬｅｖｅｌに、最も熟練度が高い値をＴｒａｉｎｉｎｇＬｅｖｅｌに設定する。また、受信した状態情報において、含まれていない項目もしくは前回送信した状態情報から値が変化していないことを示すコードが設定されている項目に関しては、データベース４０７から取得した状態情報テーブルから該当する項目の値を取得して、新たな状態情報テーブルに設定する。状態情報受信部４０４は次に、ステップＳ５０１でデータベースから取得した状態情報テーブルとステップＳ５０７で作成した状態情報テーブルのＡｌｅｒｔｓの内容を比較し、比較の結果をステップＳ５０７で作成した状態情報テーブルのＳａｍｅＡｓＰｒｅｖに設定する。このときＳａｍｅＡｓＰｒｅｖに設定する値は、比較の結果、一致する場合は真、しない場合は偽である。ここで行う比較は、Ａｌｅｒｔｓ文字列の比較ではなく、ＡｌｅｒｔｓをＡｌｅｒｔ情報の配列に復元して各項目の値どうしがすべて一致するか、という比較である。
【００５４】
状態情報受信部４０４は、ステップＳ５０８でのＳａｍｅＡｓＰｒｅｖの値の設定が終了したら、ステップ５０９に遷移する。ステップ５０９で状態情報受信部４０４は、ステップＳ５０１でデータベース４０７から取得した状態情報テーブルのＳａｍｅＡｓＰｒｅｖの値を調べる。取得した状態情報テーブルのＳａｍｅＡｓＰｒｅｖの値が偽の場合、状態情報受信部４０４はステップＳ５１０で、作成した状態情報テーブルをデータベース４０７に追加保存して受信処理を終了する。データベース４０７から取得した状態情報テーブルのＳａｍｅＡｓＰｒｅｖの値が真の場合、状態情報受信部４０４はステップＳ５１１で、ステップＳ５０７およびＳ５０８で作成した状態情報テーブルで、データベース４０７内の最新のデータ（即ち、ステップＳ５０１でデータベース４０７から取得した状態情報テーブル）を上書きして処理を終了する。
【００５５】
以上の処理により、データベース内には各画像形成装置のＡｌｅｒｔ情報が変化した時点の状態情報の履歴が記録される。また、Ａｌｅｒｔ情報の変化に関係なく最後に受信した状態情報がデータベース４０７に格納される。また電源状態がスリープの場合には、クライアント１０２からその他の状態情報を受信しなくとも、状態情報の履歴をデータベースに記録することができる。
【００５６】
＜状態情報の表示＞
図６Ａはサーバーアプリケーション４０１のＷｅｂＵＩ処理部４０６が、ＷＥＢブラウザ４０８からの状態情報のリクエストに応じて送信して表示させる、アプリケーションが管理対象にしている画像形成装置の状態一覧表示画面の例である。サーバーアプリケーション４０１は、リクエストに応じてデータベース４０７から指定された画像形成装置の指定された時期の状態情報テーブルを検索して、表示用データに再構成してＷｅｂブラウザ４０８に応答する。もちろん表示用データを生成してからデータベースに登録してもよい。Ｗｅｂブラウザ４０８は表示用状態情報を受信してそれを表示する。時期の指定はたとえば「最新」などを指定できてもよい。
【００５７】
図６Ａでは、各管理対象の画像形成装置の各種情報（デバイス名、製品名、ＩＰアドレス）と共に、デバイスの電源状態、状態情報とその状態情報を画像形成装置から取得した日時が表示している。状態情報欄にはハイパーリンクが張られている。ユーザによる状態情報欄のクリックを検出すると、ＷｅｂＵＩ処理部４０６は、図６Ｂに示す画像形成装置の状態の履歴を表示するためのＨＴＭＬデータを、ＷＥＢブラウザ４０８に送信する。図６Ｂでは、画像形成装置の基本情報と共に、該画像形成装置で発生した状態の履歴を表示している。図６Ｂでは、最新の状態情報の取得日時が「２０１６／４／２６ １５：３２」であり、トナーロー警告とその他１件のアラートが発生しており、トナーロー警告の内容がシアントナーの残量が６％であることを示している。また、このトナーロー警告は「２０１６／４／２６ １４：２４」に最初に検出され、その時点ではシアントナーの残量は８％であったことを示している。図６Ｃは図６Ｂの履歴表示からさらに時間が経過した後の履歴表示の例である。すなわち、図６Ｂの基となる状態情報テーブルが更新された際の表示例である。図６Ｂで発生していたトナーロー警告は「２０１６／４／２６ １６：０１」に解決され、その時点で、トレイ１で用紙残量が少いことを示す警告が発生していて用紙残量が８％であり、最新の状態では用紙残量が更に残量が７％に減少していることを示している。
【００５８】
以上のように、本実施形態では、最新の状態情報をデータベースに登録するため、最新の状態情報に関しては、その状態に関わらず参照することができる。さらに、データベースに前回登録した状態情報テーブルのアラート情報が、その更に前に登録されていた状態情報テーブルのアラート情報と同じ場合には、その前回登録した状態情報テーブルを、保存せず、新たに登録する状態情報テーブルで上書きする。これによって同じデータを繰り返し保存することなく、保存するデータ量をセーブできる。さらに、クライアントから送信する状態情報についても、前回取得した状態情報と同じ値となる場合には、状態情報を送信するものの、同じ値の項目を送信しないあるいは同じ値であることを示すコード等を送信することで、データ量を削減できる。
【００５９】
なお本例では、電源状態が稼働状態（ＵＰ）の場合に限って、クライアントから受信した状態情報に基づいた状態情報テーブルをデータベースに登録している。しかしながら、ステップＳ５０５、Ｓ５０６を実施せず、ステップＳ５０４からステップＳ５０７へと分岐させてもよい。また、ステップＳ５０８ではアラート情報のみを比較の対象としているが、他の情報も含めて比較の対象としても良い。
【００６０】
［第２の実施形態］
第２の実施形態では、第１の実施形態の状態情報取得部３０５が状態情報送信部３０２に、画像形成装置から取得した状態情報をそのまま送信するよう依頼する。構成要素、フローチャートの多くは第１の実施形態に同じである。
【００６１】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６２】
また実施形態では、監視対象は画像形成装置としたが、クライアント１０２と通信可能なネットワークに接続されたデバイスであれば、他の種のデバイスであっても監視対象とできる。
【符号の説明】
【００６３】
１０１：サーバーシステム、１０２：ホストコンピューター、１０３：ネットワーク、１０４〜１０６：画像形成装置
【図１】
2018005779.tif 000008
【図２】
2018005779.tif 000009
【図３】
2018005779.tif 000010
【図４】
2018005779.tif 000011
【図５】
2018005779.tif 000012
【図６Ａ】
2018005779.tif 000013
【図６Ｂ】
2018005779.tif 000014
【図６Ｃ】
2018005779.tif 000015
【図７】
2018005779.tif 000016