(57)【要約】      （修正有）【課題】  ネットワーク上の機器の状態通知を実現するとともに、ネットワークに係る負荷を低減することができるサーバ装置を提供する。【解決手段】  プリンタから順次受信した状態情報をメッセージ管理部に累積管理する。また、状態情報を受信する毎に、そのメッセージの種類に基づいて、更新保持する。ネットワークのトラフィック状態を検知する。保持部で保持しているメッセージと同種類の第１メッセージを送信しようとする際に、検知したトラフィック状態が所定値より高い場合、その第１メッセージを破棄する。その場合、前記保持手段で保持される内容をコピーして記憶部に記憶する。保持部で保持しているメッセージと同種類の第２メッセージをメッセージ管理部から新たに取得して送信しようとする際に、第２メッセージの内容が、記憶部に記憶されている内容と同一であるか否かを判定し、第２メッセージのクライアント装置への送信を制御する。【選択図】  図５
2006004085.tif 000002
【特許請求の範囲】
【請求項１】
プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置であって、
前記プリンタから、該プリンタの状態情報を順次受信する受信手段と、
前記受信手段で順次受信した状態情報を示すメッセージを累積管理するメッセージ管理手段と、
前記受信手段で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を更新保持する保持手段と、
前記ネットワークのトラフィック状態を検知する検知手段と、
第１メッセージを前記メッセージ管理手段から取得して送信しようとする際に、前記検知手段で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持手段で保持される内容をコピーして記憶する記憶手段と、
第２メッセージを前記メッセージ管理手段から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶手段に記憶されている内容に存在するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御手段と
を備えることを特徴とするサーバ装置。
【請求項２】
前記記憶手段で内容をコピーする場合に、前記第１メッセージを破棄する破棄手段を更に備える
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記メッセージの種類毎に、前記メッセージの優先度を管理する管理手段を更に備える
ことを特徴とする請求項１または２に記載のサーバ装置。
【請求項４】
前記制御手段は、前記管理手段を参照して処理対象のメッセージの優先度を判定し、その優先度に基づいて、そのメッセージの送信を制御する
ことを特徴とする請求項３に記載のサーバ装置。
【請求項５】
前記制御手段は、前記第２メッセージの内容が前記記憶手段に記憶されている内容に存在しない場合、前記第２メッセージを破棄する
ことを特徴とする請求項１または２に記載のサーバ装置。
【請求項６】
前記ネットワーク負荷値が所定値以上であるか否かを判定する負荷判定手段を更に備え、
前記負荷判定手段の判定の結果、前記ネットワーク負荷値が所定値より高い場合、前記判定手段は、前記第１メッセージの内容が、前記記憶手段に記憶されている内容に存在するか否かを判定する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項７】
前記ネットワーク負荷値が所定値より高い場合で、かつ前記判定手段の判定の結果、前記第１メッセージの内容が、前記記憶手段に記憶されているメッセージの内容に存在する場合、前記制御手段は、該第１メッセージの送信が成功するまで、送信を再試行する
ことを特徴とする請求項６に記載のサーバ装置。
【請求項８】
当該サーバ装置におけるデータ解析の状態情報を順次取得する取得手段を更に備え、
前記メッセージ管理手段は、前記受信手段で順次受信した状態情報を示すメッセージ及び前記取得手段で順次取得した状態情報を示すメッセージを累積管理する
ことを特徴とする請求項１に記載のサーバ装置。
【請求項９】
プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置の制御方法であって、
前記プリンタから、該プリンタの状態情報を順次受信する受信工程と、
前記受信工程で順次受信した状態情報を示すメッセージをメッセージ管理部で累積管理するメッセージ管理工程と、
前記受信工程で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を保持部に更新保持する保持工程と、
前記ネットワークのトラフィック状態を検知する検知工程と、
第１メッセージを前記メッセージ管理部から取得して送信しようとする際に、前記検知工程で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持部で保持される内容をコピーして記憶部に記憶する記憶工程と、
第２メッセージを前記メッセージ管理部から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶部に記憶されている内容に存在するか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御工程と
を備えることを特徴とするサーバ装置の制御方法。
【請求項１０】
プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置の制御を実現するプログラムであって、
前記プリンタから、該プリンタの状態情報を順次受信する受信工程のプログラムコードと、
前記受信工程で順次受信した状態情報を示すメッセージをメッセージ管理部で累積管理するメッセージ管理工程のプログラムコードと、
前記受信工程で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を保持部に更新保持する保持工程のプログラムコードと、
前記ネットワークのトラフィック状態を検知する検知工程のプログラムコードと、
第１メッセージを前記メッセージ管理部から取得して送信しようとする際に、前記検知工程で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持部で保持される内容をコピーして記憶部に記憶する記憶工程のプログラムコードと、
第２メッセージを前記メッセージ管理部から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶部に記憶されている内容に存在するか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
プリントサーバにおいては、印刷処理を行うのみではなく、ジョブの管理および出力するプリンタのステータスを管理することが必要な場合がある。そこで、プリントサーバでこれらの情報を取得し、クライアント上に表示することが必要となる。但し、これらの情報は、プリンタの台数やネットワークの回線の状態により通信負荷が高くなり、すべての情報が送れないもしくは時差が発生し、現在の状態と表示が著しく異なる状況が発生しえる。この状況を回避するために、クライアントとの通信処理になにかしら仕組みが必要となる。
【０００３】
その１つとして、例えば、特許文献１には、クライアントに最新状態を表示するシステムが開示されている。特に、ネットワーク負荷の軽減とクライアントの更新を頻繁に繰り返さないように動作するものである。このシステムにおいては、段落番号＜００１４＞から＜００１６＞に記載されているように、フラグを２つ用いてタイマーにより待たせ処理という機能を用いて通知の削減をおこなっている。
【０００４】
また、その他の技術として、通信障害が発生したときには不必要なメッセージを削除する構成がある。
【特許文献１】特開平７−１７５６１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のシステムにおいては、通信データ量の削減が可能であるが、タイマーの設定間隔によってはネットワークの負荷がない場合にも情報が間引きされるため不自然に感じられることもある。
【０００６】
また、ネットワーク障害が回復するまで不必要なメッセージを削除する場合では、メッセージが送れるような状態になって、キューにある必要なメッセージを送信して、クライアントの表示画面にプリンタや印刷状状態を更新しても、実際には印刷やプリンタの状態は刻々と変化しているためだいぶ前の情報が表示されてしまうことになり、実際の状況と大きく違いユーザにとってわかりにくいものとなっていた。
【０００７】
本発明は上記の課題を解決するためになされたものであり、ネットワーク上の機器の状態通知をサーバクライアントシステム間で実現する環境において、有効なメッセージ通知を実現するとともに、ネットワークに係る負荷を低減することができるサーバ装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明によるサーバ装置は以下の構成を備える。即ち、
また、好ましくは、プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置であって、
前記プリンタから、該プリンタの状態情報を順次受信する受信手段と、
前記受信手段で順次受信した状態情報を示すメッセージを累積管理するメッセージ管理手段と、
前記受信手段で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を更新保持する保持手段と、
前記ネットワークのトラフィック状態を検知する検知手段と、
第１メッセージを前記メッセージ管理手段から取得して送信しようとする際に、前記検知手段で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持手段で保持される内容をコピーして記憶する記憶手段と、
第２メッセージを前記メッセージ管理手段から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶手段に記憶されている内容に存在するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御手段と
を備えることを特徴とするサーバ装置。
【０００９】
また、好ましくは、前記記憶手段で内容をコピーする場合に、前記第１メッセージを破棄する破棄手段を更に備える。
【００１０】
また、好ましくは、前記メッセージの種類毎に、前記メッセージの優先度を管理する管理手段を更に備える。
【００１１】
また、好ましくは、前記制御手段は、前記管理手段を参照して処理対象のメッセージの優先度を判定し、その優先度に基づいて、そのメッセージの送信を制御する。
【００１２】
また、好ましくは、前記制御手段は、前記第２メッセージの内容が前記記憶手段に記憶されている内容に存在しない場合、前記第２メッセージを破棄する。
【００１３】
また、好ましくは、前記ネットワーク負荷値が所定値以上であるか否かを判定する負荷判定手段を更に備え、
前記負荷判定手段の判定の結果、前記ネットワーク負荷値が所定値より高い場合、前記判定手段は、前記第１メッセージの内容が、前記記憶手段に記憶されている内容に存在するか否かを判定する。
【００１４】
また、好ましくは、前記ネットワーク負荷値が所定値より高い場合で、かつ前記判定手段の判定の結果、前記第１メッセージの内容が、前記記憶手段に記憶されているメッセージの内容に存在する場合、前記制御手段は、該第１メッセージの送信が成功するまで、送信を再試行する。
【００１５】
また、好ましくは、当該サーバ装置におけるデータ解析の状態情報を順次取得する取得手段を更に備え、
前記メッセージ管理手段は、前記受信手段で順次受信した状態情報を示すメッセージ及び前記取得手段で順次取得した状態情報を示すメッセージを累積管理する。
【００１６】
上記の目的を達成するための本発明によるサーバ装置の制御方法は以下の構成を備える。即ち、
プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置の制御方法であって、
前記プリンタから、該プリンタの状態情報を順次受信する受信工程と、
前記受信工程で順次受信した状態情報を示すメッセージをメッセージ管理部で累積管理するメッセージ管理工程と、
前記受信工程で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を保持部に更新保持する保持工程と、
前記ネットワークのトラフィック状態を検知する検知工程と、
第１メッセージを前記メッセージ管理部から取得して送信しようとする際に、前記検知工程で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持部で保持される内容をコピーして記憶部に記憶する記憶工程と、
第２メッセージを前記メッセージ管理部から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶部に記憶されている内容に存在するか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御工程と
を備える。
【００１７】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
また、好ましくは、プリンタ及びクライアント装置とネットワークを介して接続され、前記プリンタに関する状態情報を示すメッセージを、前記クライアント装置へ出力するサーバ装置の制御を実現するプログラムであって、
前記プリンタから、該プリンタの状態情報を順次受信する受信工程のプログラムコードと、
前記受信工程で順次受信した状態情報を示すメッセージをメッセージ管理部で累積管理するメッセージ管理工程のプログラムコードと、
前記受信工程で前記状態情報を受信する毎に、その状態情報を示すメッセージの種類に基づいて、そのメッセージの内容を保持部に更新保持する保持工程のプログラムコードと、
前記ネットワークのトラフィック状態を検知する検知工程のプログラムコードと、
第１メッセージを前記メッセージ管理部から取得して送信しようとする際に、前記検知工程で検知したトラフィック状態が示すネットワーク負荷値が所定値より高い場合、前記保持部で保持される内容をコピーして記憶部に記憶する記憶工程のプログラムコードと、
第２メッセージを前記メッセージ管理部から新たに取得して送信しようとする際に、前記第２メッセージの内容が、前記記憶部に記憶されている内容に存在するか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記第２メッセージの前記クライアント装置への送信を制御する制御工程のプログラムコードと
を備える。
【発明の効果】
【００１８】
本発明によれば、ネットワーク上の機器の状態通知をサーバクライアントシステム間で実現する環境において、有効なメッセージ通知を実現するとともに、ネットワークに係る負荷を低減することができるサーバ装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２０】
本発明は、特に、プリントサーバシステムに関するものである。但し、これに限定されず、ネットワーク上の複数の機器間でデータ送受信が実行される環境、例えば、ネットワークスキャナやネットワーク機能を有する複合機（ファックス機能、印刷機能、スキャン機能等を有する機器）と、それを利用する端末間においても、本発明を適用することが可能である。
【００２１】
＜実施形態１＞
図１は本発明の実施形態１のプリントサーバシステムの構成を示す図である。
【００２２】
尚、図１のネットワーク１０５上に接続される各種端末の構成は、一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２３】
ホストコンピュータ１０１は、プリンタ１０３に対する印刷データを生成し、出力する。プリントサーバ１０２は、プリントサーバ機能を有し、ホストコンピュータ１０１で生成された印刷データの印刷の管理や、プリンタ１０３の状態（ステータス）情報の管理等を行う。また、状態情報を示すメッセージを、後述する処理に基づいて、クライアントＰＣ１０４に送信する。
【００２４】
プリンタ１０３は、ネットワーク１０５を介して受信する印刷データに基づいて、記録媒体に印刷を実行する。また、このプリンタ１０３は、プリントサーバ１０２によって自身の状態（印刷状況や機器状況）の監視対象となる。この状態を示す状態情報は、プリンタ１０３自身が、必要に応じてプリンタサーバ１０２に通知することもあれば、プリンタサーバ１０２の要求に応じて通知する場合もある。
【００２５】
尚、図１では、プリンタ１０３は一つだけ記載されているが、複数あるものとする。また、プリンタ１０３の印刷方式としては、例えば、インクジェット方式、レーザビーム方式、熱転写方式等の各種印刷方式のプリンタが想定される。
【００２６】
クライアントＰＣ（パーソナルコンピュータ）１０４は、プリントサーバ１０２とネットワーク１０５を介してプリントサーバ１０２からプリンタ１０３の状態情報を受信して表示する、プリンタ１０３のステータス確認用端末として主に機能するが、ホストコンピュータ１０１と同様に、プリンタ１０３に対する印刷データを生成して、出力することも可能である。
【００２７】
ネットワーク１０５は、典型的にはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
【００２８】
次に、ホストコンピュータ１０１、プリントサーバ１０２、クライアントＰＣ１０４の各種端末のハードウエア構成について、図２を用いて説明する。
【００２９】
図２は本発明の実施形態１の各種端末のハードウエア構成を示す図である。
【００３０】
図２において、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ＬＡＮアダプタ２４、ビデオアダプタ２５、キーボード２６、マウス２７、ハードディスク２８、ＣＤ−ＲＯＭドライブ２９はそれぞれシステムバス２０を介して互いに接続されている。システムバス２０は、例えば、ＰＣＩバス、ＡＧＰバス、メモリバス等を意味する。また、図２では、各バス間の接続用チップやキーボードインタフェースやいわゆるＳＣＳＩやＡＴＡＰＩのような入出力用インタフェースは省略されている。
【００３１】
ＣＰＵ２１は、オペレーションシステムのプログラムやアプリケーションプログラムに基づいて四則演算や比較演算等の各種の演算や、ハードウェアの制御を行う。ＲＡＭ２２には、ハードディスク２８やＣＤ−ＲＯＭドライブ２９に装着されたＣＤ−ＲＯＭやＣＤ−Ｒ等の記憶媒体から読み出されたオペレーションシステムのプログラムやアプリケーションプログラム等が記憶され、これらはＣＰＵ２１の制御の元に実行される。ＲＡＭ２２の内容については、後にメモリマップの内容として詳述する。
【００３２】
ＲＯＭ２３は、オペレーションシステムと協働してハードディスク等への入出力を司るいわゆるＢＩＯＳ等のデータを記憶している。ＬＡＮアダプタ２４は、ＣＰＵによって制御されるオペレーションシステムの通信プログラムと協働して、ネットワークを介した外部との通信を行う。ビデオアダプタ２５は、ディスプレイ装置に出力する画像信号を生成する。入力部として機能する、キーボード２６やマウス２７は、当該端末への各種指示を入力するために用いられる。
【００３３】
ハードディスク２８は、オペレーションシステムやアプリケーションプログラムや、以下で説明するフローチャートを実現可能なプログラムを記憶している。
【００３４】
ＣＤ−ＲＯＭドライブ２９は、ＣＤ−ＲＯＭやＣＤ−ＲやＣＤ−Ｒ／Ｗ等の記憶媒体を装着してアプリケーションプログラムをハードディスク２８にインストールするのに用いる。尚、ＣＤ−ＲＯＭドライブの代わりにＣＤ−ＲドライブやＣＤ−Ｒ／ＷドライブやＭＯドライブ、ＤＶＤドライブ等を用いても良いのは言うまでもない。
【００３５】
次に、プリントサーバシステムの機能構成について、図３を用いて説明する。
【００３６】
図３は本発明の実施形態１のプリントサーバシステムの機能構成を示す図である。
【００３７】
尚、図３では、特に、プリントサーバ１０２の機能構成を中心に説明する。
【００３８】
プリンタ１０３では、印刷ジョブの追加や、印刷済ページ数等の印刷ジョブの状態の変更及び機器の状態の変更があった場合に、プリントサーバ１０２の状態受信部３０２に、その内容を状態情報として都度通知を行う。
【００３９】
状態受信部３０２は、メッセージキュー３０４（状態情報を示すメッセージを累積管理するメッセージ管理機能）へ通知された内容を追加する。
【００４０】
印刷データ管理部３０３は、プリントサーバ１０２で、印刷データの解析処理を行っていて、その状態の変化があった場合、変更内容に応じた状態情報を示すメッセージをメッセージキュー３０４へ追加する。印刷データの解析処理とは、例えば、ホストコンピュータ１０１から受信した印刷データを、印刷可能形式（例えば、ＰＤＬ、ビットマップ等）への変換処理等の処理が挙げられる。
【００４１】
通信管理部３０６は、メッセージキュー３０４からメッセージを順次読み出し、その読み出したメッセージの種類やメッセージの内容に基づいて、クライアントＰＣ１０４へそのメッセージの通知を制御する。
【００４２】
例えば、プリンタ１０３の現在の印刷ページ数をメッセージとして送信する場合を考えると、そのメッセージは、その後の状態に影響を与えず、またすぐにカウントアップされたページ数を送信することとなる。そのため、今回送信するはずであったメッセージを破棄してもその後のメッセージにより表示の更新が見込めることとなる。
【００４３】
但し、印刷データの最終ページの場合は、その後、カウントアップされたページ数はこないが、印刷完了などのメッセージによりページ数の表示をクリアすることで状態表示の矛盾を回避する。
【００４４】
また、プリンタ１０３の現在の状態は、場合によっては頻繁に変化することもあるが、長い期間変化しないような場合は、その後に同様のメッセージがあれば今回のメッセージは破棄し、なければ必ず送信するように処理を行う。
【００４５】
例えば、長い期間変化しないような場合は、プリンタで障害が発生し紙詰まりするといった時に発生する。また、紙詰まりを示すメッセージと同様のメッセージとは、紙詰まりを取り除き正常に戻るものがあげられる。
【００４６】
以上のような種類のメッセージは、状態変更通知元となる状態受信部３０２や印刷データ管理部３０３から、メッセージキュー３０４に追加すると同時に、状態保持部３０５に対して、その状態情報を示すメッセージを更新保持する。これにより、状態保持部３０５では、最新情報のメッセージの内容が保持されることになる。そして、通信管理部３０６は、メッセージキュー３０６から、このような種類のメッセージを取得後、クライアントＰＣ１０４に対して通知する。
【００４７】
ここで、通知が失敗した場合は、状態保持部３０５から最新の情報（メッセージの内容）をコピーして、状態記憶部３０７に記憶する。その後、状態記憶部３０７に記憶された通知内容（メッセージの内容）がメッセージキュー３０４から取り出されるまでは、同種のメッセージは、送信を試みる前に破棄する（つまり、そのメッセージの送信を禁止して、破棄する）。また、状態記憶部３０７に記憶されたメッセージと同一内容のメッセージがメッセージキュー３０４から取り出された場合は、状態記憶部３０７に記憶されている該当内容のメッセージの内容をクリア（消去）する。
【００４８】
一方、上述の種類のメッセージとは逆に、印刷データの削除メッセージの場合、そのメッセージを破棄してしまうとプリントサーバ１０２では、印刷データが存在していないものがクライアントＰＣ１０４に情報として残ってしまい、その後の動作に矛盾が生じてしまう。そのため、このような種類のメッセージは、送信ができるようになるまで待ち状態を維持する。
【００４９】
このように、メッセージの種類に応じて、クライアントＰＣ１０４へ送信するメッセージを取捨選択するとともに、その送信を制御する。特に、ネットワーク負荷が高い場合は、負荷を減らすように優先度の低いメッセージを破棄することで、処理状態の変更を可能な限り早く通知を行うことが可能となる。
【００５０】
次に、状態受信部３０２及び印刷データ管理部３０３におけるメッセージ生成処理について、図４を用いて説明する。
【００５１】
図４は本発明の実施形態１のメッセージ生成処理を示すフローチャートである。
【００５２】
まず、ステップＳ４０１では、クライアントＰＣ１０４への通知対象のイベントが発生したか否かを判定する。イベントが発生していない場合（ステップＳ４０１でＮＯ）、一旦処理を終了し、再度イベントの発生の有無を判定する。一方、イベントが発生した場合（ステップＳ４０１でＹＥＳ）、ステップＳ４０２に進む。
【００５３】
ステップＳ４０２で、発生したイベントを受信し、その内容判別を実行して、そのイベントに対するメッセージを生成するイベント受信処理を実行する。
【００５４】
ここで、メッセージの生成とは、メッセージキュー３０４に追加するメッセージを生成することであり、例えば、状態受信部３０２で受信した状態情報を、内部的に定義した構造を持った形式のメッセージに変換する。
【００５５】
ステップＳ４０３で、生成したメッセージをメッセージキュー３０４へ追加する。ステップＳ４０４で、生成したメッセージがキャッシュ対象であるか否かを判定する。
【００５６】
尚、ステップＳ４０４において、メッセージがキャッシュ対象であるか否かの判定は、メッセージの種類毎に対応づけられた、予めキャッシュ対象の有無（Ｈ（Ｈｉ）／Ｌ（Ｌｏｗ））を示すキャッシュ対象フラグを管理するキャッシュ対象フラグ管理テーブル（図６）を参照して判定する。
【００５７】
ここで、キャッシュ対象フラグ管理テーブルについて、図６を用いて説明する。
【００５８】
図６は本発明の実施形態のキャッシュ対象フラグ管理テーブルの一例を示す図である。
【００５９】
図６に示すように、キャッシュ対象フラグ管理テーブルでは、メッセージ種別毎に、キャッシュ対象の有無（Ｈ（Ｈｉ）／Ｌ（Ｌｏｗ））を示すキャッシュ対象フラグが対応づけて管理される。
【００６０】
また、キャッシュ対象のメッセージとは、基本的には、送信対象のメッセージをリアルタイムでクライアントＰＣ１０４に通知しなくても、その後の動作に矛盾が生じないメッセージのことである。換言すれば、キャッシュ対象のメッセージは、送信の優先度の低いメッセージであり、一方、非キャッシュ対象のメッセージは、送信の優先度の高いメッセージであると言える。つまり、図６は、メッセージの送信優先度を定義した管理テーブルとも言える。
【００６１】
但し、キャッシュ対象フラグは、各メッセージの種類に対して、管理者によって任意に設定することが可能であるので、キャッシュ対象のメッセージが、必ずしもリアルタイムでクライアントに通知しなくても、その後の動作に矛盾が生じないメッセージであるとは限らない。そのため、キャッシュ対象のメッセージであるか否かは、最終的には、管理者の用途や目的に応じて設定されたキャッシュ対象フラグの値に委ねられることになる。
【００６２】
尚、このキャッシュ対象フラグ管理テーブルを用いずに、メッセージ種類毎に優先度をプログラム上に定義しておき、その定義に基づいて、キャッシュ対象の有無を判定するようにしても良い。
【００６３】
また、メッセージの一例について、図７を用いて説明する。
【００６４】
図７は本発明の実施形態１のメッセージ構造の一例を示す図である。
【００６５】
図７では、メッセージの一例として、プリンタの印刷済ページ数を示すプリンタ  ページカウントメッセージ及びプリンタに対する印刷ジョブの追加を示すプリンタ  ジョブ追加メッセージを示している。
【００６６】
プリンタ  ページカウントメッセージは、そのメッセージを固有に識別するメッセージ種別ＩＤ、メッセージの発行元のプリンタを固有に識別するプリンタＩＤ、印刷済ページ数を示す情報で構成される。また、プリンタ  ジョブ追加メッセージは、メッセージ種別ＩＤ、プリンタＩＤ、ジョブ名称、そのジョブを固有に識別するジョブＩＤを示す情報で構成される。
【００６７】
同様に、他の種別のメッセージについても、そのメッセージの内容に応じて、メッセージ種別ＩＤ、プリンタＩＤ等の必要な情報で構成される。
【００６８】
図４の説明に戻る。
【００６９】
ステップＳ４０４において、メッセージがキャッシュ対象でない場合（ステップＳ４０４でＮＯ）、つまり、キャッシュ対象フラグがＬである場合、処理を終了する。一方、メッセージがキャッシュ対象である場合（ステップＳ４０４でＹＥＳ）、つまり、キャッシュ対象フラグがＨの場合、ステップＳ４０５に進む。
【００７０】
ステップＳ４０５で、キャッシュ対象のメッセージを、その内容に基づき、状態保持部３０５へ出力する。
【００７１】
次に、通信管理部３０６におけるメッセージ送信処理について、図５を用いて説明する。
【００７２】
図５は本発明の実施形態１のメッセージ送信処理を示すフローチャートである。
【００７３】
まず、ステップＳ５０１で、メッセージキュー３０４からメッセージを読み出す。尚、このメッセージの読出は、ＦＩＦＯ（ファーストインファーストアウト）形式で読み出す。
【００７４】
ステップＳ５０２で、読み出したメッセージがキャッシュ対象であるか否かを判定する。キャッシュ対象である場合（ステップＳ５０２でＹＥＳ）、ステップＳ５０３に進む。一方、キャッシュ対象でない場合（ステップＳ５０２でＮＯ）、ステップＳ５０７に進む。
【００７５】
尚、ステップＳ５０１の判定は、図４のステップＳ４０４の判定と同様である。
【００７６】
ステップＳ５０３で、状態記憶部３０７に状態保持部３０５より取得した情報が存在しているか否かを判定する。情報が存在していない場合（ステップＳ５０３でＮＯ）、ステップＳ５０７に進む。この場合、キャッシュ対象でないメッセージと同様の処理を、以降の処理で行うことになる。一方、情報が存在している場合（ステップＳ５０３でＹＥＳ）、ステップＳ５０４へ進む。
【００７７】
ステップＳ５０４で、読み出したメッセージの内容が、状態記憶部３０７に保持されている内容と同一内容の情報があるか否かを判定する。同一内容がない場合（ステップＳ５０４でＮＯ）、つまり、読み出したメッセージが、状態記憶部３０７に記憶されている情報より古いメッセージであるため、読み出したメッセージは破棄して、処理を終了する。一方、同一内容がある場合（ステップＳ５０４でＹＥＳ）、ステップＳ５０５に進み、状態記憶部３０７の内容をすべてクリアする。
【００７８】
尚、ステップＳ５０４の判定は、読み出したメッセージが最新状態のメッセージであるか否かを判定するためのものである。また、具体的な判定は、メッセージと記憶された情報の単純な比較でも良いし、メッセージに付加されるシーケンス番号と記憶された情報のシーケンス番号の比較でも良いし、メッセージの種類を特定する一意の識別子の比較でも良い。
【００７９】
ステップＳ５０７で、ネットワークのトラフィック状態を確認し、メッセージを送信可能とするか否かを判定する。送信可能とする場合（ステップＳ５０７でＮＯ）、ステップＳ５０８に進む。一方、送信可能とする場合（ステップＳ５０７でＹＥＳ）、ステップＳ５１１に進む。
【００８０】
尚、ステップＳ５０７の判定は、汎用的なネットワークのトラフィック状態を判定する判定機能、例えば、サーバＯＳで用意されているＡＰＩ等を用いて行う。そして、そのトラフィック状態が示すネットワーク負荷値が所定値未満の場合に送信可能と判定し、所定値以上の場合に送信不可と判定する。ここで、ネットワーク負荷値とは、例えば、ネットワーク使用率や、単位時間当たりの転送パケット数が挙げられる。ネットワーク使用率で判定を行う場合は、例えば、ネットワーク使用率が７０％以上である場合には、送信不可能であると判定する。
【００８１】
ステップＳ５０８で、メッセージがキャッシュ対象であるか否かを判定する。キャッシュ対象でない場合（ステップＳ５０８でＮＯ）、ステップＳ５０７に戻り、メッセージの再送を試行する。一方、キャッシュ対象である場合（ステップＳ５０８でＹＥＳ）、ステップＳ５０９へ進む。
【００８２】
ステップＳ５０９で、状態保持部３０５の内容を状態記憶部３０７へコピーする。ステップＳ５１０で、メッセージはキャッシュ対象でない、つまり、送信不要のメッセージであるため、そのメッセージを破棄して、処理を終了する。
【００８３】
一方、ステップＳ５１１で、メッセージをクライアントＰＣ１０４へ送信する。ステップＳ５１２で、メッセージの送信が成功したか否かを判定する。成功していない場合（ステップＳ５１２でＮＯ）、ステップＳ５０７に戻る。一方、成功した場合（ステップＳ５１２でＹＥＳ）、処理を終了する。
【００８４】
尚、ステップＳ５０９では、状態保持部３０５の内容の内、キャッシュ対象のメッセージの内容のみを、状態記憶部３０７にコピーするようにしても良い。この場合、状態記憶部３０７として確保するメモリ容量を節約することができる。この場合、ステップＳ５０８の判定を行わずに、処理対象のメッセージの内容と、状態記憶部３０７の内容を比較して、その比較結果に基づいて、処理対象のメッセージの送信を制御するようにしても良い。つまり、処理対象のメッセージが、状態記憶部３０７に記憶されていないメッセージであれば、そのメッセージの送信を再試行する。
【００８５】
また、図５ではメッセージと状態記憶部３０７の比較（ステップＳ５０２〜ステップＳ５０６）をステップＳ５０７の前に実行したが、メッセージと状態記憶部３０７の比較をステップＳ５０７の後で実行することも実現可能である。
【００８６】
具体的には、ステップＳ５０９の前にステップＳ５０４、ステップＳ５０５を挿入する。その際、ステップＳ５０４でＮＯの場合には、ステップＳ５０６に処理が移り。終了となる。また、ステップＳ５０４でＹＥＳの場合には、ステップＳ５０５の処理を行い、ステップＳ５１０に処理が移る。
【００８７】
ここで、図３の状態保持部３０５及び状態記憶部３０７で保持されるメッセージテーブルの一例について、図８を用いて説明する。
【００８８】
図８は本発明の実施形態１の状態保持部及び状態記憶部で保持されるメッセージテーブルの一例を示す図である。
【００８９】
図８のメッセージテーブルでは、イベントの発生する機器（例えば、プリンタ１０３）及び処理毎に、キャッシュ対象のメッセージの最新の内容を個別に記憶している。図８では、キャッシュ対象のメッセージとして、４台のプリンタＡ〜Ｄからのメッセージと、プリントサーバ１０２で実行された解析処理の処理状態を示すメッセージを記憶している例を示しており、それぞれが発生したイベントに対応している。
【００９０】
尚、このメッセージテーブルの構成及びその内容は、これに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００９１】
次に、メッセージ生成処理時のプリントサーバ１０２の具体例について、図３及び図４のフローチャートを参照して説明する。
【００９２】
また、動作例の開始時点で、状態保持部３０５が保持するメッセージテーブルは図８の状態、メッセージキュー３０４が保持する内容は図９の状態、状態記憶部３０７が保持するメッセージテーブルは空の状態であると想定する。
【００９３】
１．プリンタＡでの印刷ページ数が１４に更新され、状態情報が発生する（ステップＳ４０１）。
【００９４】
２．状態受信部３０２において、状態情報を取得する（ステップＳ４０２）。
【００９５】
３．取得した状態情報からメッセージ（プリンタＡ  １４ページ（メッセージ種類：プリンタ  ページカウント））を生成し、メッセージキュー３０４に追加する（ステップＳ４０３）。
【００９６】
４．キャッシュ対象フラグ管理テーブル（図６）を参照すると、生成したメッセージ（プリンタＡ  １４ページ（メッセージ種類：プリンタ  ページカウント））は、キャッシュ対象であるため、状態保持部３０５にそのメッセージを保持する（ステップＳ４０５）。これにより、図８のメッセージテーブルは、図１０のメッセージテーブルに更新される。
【００９７】
５．プリンタＢで、デバイスのエラーが発生し、状態情報が発生する（ステップＳ４０１）。
【００９８】
６．状態受信部３０２において、状態情報を取得する（ステップＳ４０２）。
【００９９】
７．取得した状態情報からメッセージ（プリンタＢ  エラー発生（メッセージ種類：プリンタ  エラー））を生成し、メッセージキュー３０４に追加する（ステップＳ４０３）。
【０１００】
８．キャッシュ対象フラグ管理テーブルを参照すると、生成したメッセージ（プリンタ  エラー）は、キャッシュ対象でないため、図３のフローチャートの先頭へ戻る（ステップＳ４０４）。
【０１０１】
ここまでの処理で、図９のメッセージキュー３０４の内容は、図１１のようになる。
【０１０２】
続いて、メッセージ送信処理時のプリントサーバ１０２の動作例について、図３及び図５のフローチャートを参照して説明する。
【０１０３】
また、動作例の開始時点で、状態保持部３０５が保持するメッセージテーブルは図１０の状態、メッセージキュー３０４が保持する内容は図１１の状態、状態記憶部３０７が保持するメッセージテーブルは空の状態であると想定する。
【０１０４】
尚、本実施形態では、状態記憶部３０７が保持するメッセージテーブルを空の状態を想定して説明するが、ネットワークのトラフィックが増大した際、はじめにその時の状態保持部３０５が保持するメッセージテーブルの情報を状態記憶部３０７が保持するメッセージテーブルにコピーするようにして、状態記憶部３０７が保持するメッセージテーブルに情報が入っているようにしても良い。
【０１０５】
１．メッセージキュー３０４からメッセージ（プリンタＡ  １０ページ（メッセージ種類：プリンタ  ページカウント））を読み出す（ステップＳ５０１）。
【０１０６】
２．キャッシュ対象フラグ管理テーブルを参照すると、取得したメッセージ（プリンタＡ  １０ページ（メッセージ種類：プリンタ  ページカウント））は、キャッシュ対象であると判定する（ステップＳ５０２）。
【０１０７】
３．状態記憶部３０７に、状態保持部３０５より取得した情報が存在しないため、メッセージの送信処理に移行する（ステップＳ５０３）。
【０１０８】
４．ネットワークのトラフィック状態を確認し、送信可能であるか否かを判定する（ステップＳ５０７）。
【０１０９】
５．ここでは送信可能であると仮定し、メッセージをクライアントＰＣ１０４へ送信する（ステップＳ５１１）。
【０１１０】
６．送信が成功したか否かを判定する（ステップＳ５１２）。
【０１１１】
７．送信が成功した場合、メッセージキュー３０４から次のメッセージを読み出す（ステップＳ５０１）。
【０１１２】
ここで、以下の８〜１３では、メッセージ（プリンタＡ  １０ページ（メッセージ種類：ページカウント））が送信不可である場合を説明する。
【０１１３】
８．キャッシュ対象フラグ管理テーブルを参照すると、取得したメッセージ（プリンタＡ  １０ページ（メッセージ種類：ページカウント））は、キャッシュ対象であると判定する（ステップＳ５０２）。
【０１１４】
９．状態記憶部３０７には、メッセージが存在しないため、そのメッセージの送信処理に移行する（ステップＳ５０３）。
【０１１５】
１０．ネットワークのトラフィック状態を確認し、送信可能であるか否かを判定する（ステップＳ５０７）。
【０１１６】
１１．ここでは、ネットワークの負荷が高く、送信不可と仮定する。その後、キャッシュ対象フラグ管理テーブルを参照して、メッセージがキャッシュ対象であるか否かを判定する（ステップＳ５０８）。
【０１１７】
１２．メッセージは、キャッシュ対象であるため、図１０の状態保持部３０５のメッセージテーブルの内容を、状態記憶部３０７のメッセージテーブルにコピーする（ステップＳ５０９）。
【０１１８】
１３．今回、取得したメッセージは破棄して、処理を進める（ステップＳ５１０）。
【０１１９】
１４．メッセージキュー３０４から次のメッセージ（プリンタＢ  １００ページ（メッセージ種類：ページカウント））を読み出す（ステップＳ５０１）。
【０１２０】
１５．キャッシュ対象フラグ管理テーブルを参照すると、取得したメッセージ（プリンタＢ  １００ページ（メッセージ種類：ページカウント））は、キャッシュ対象であると判定する（ステップＳ５０２）。
【０１２１】
１６．状態記憶部３０７のメッセージテーブルの内容を確認する（ステップＳ５０３）
１７．メッセージ（プリンタＢ  １００ページ）に対し、状態記憶部３０７のメッセージテーブル中にメッセージ（プリンタＢ  １０２ページ）があるので、両者の内容を比較する。この場合、両者の内容は同一内容でないと判定する（ステップＳ５０４）。
【０１２２】
１８．取得したメッセージは破棄して、処理を進める（ステップＳ５０６）。
【０１２３】
１９．次に、メッセージキュー３０４中のメッセージにおいて、メッセージ（プリンタＡの１１ページ）からメッセージ（プリンタＢ  １０１ページ１０１）までは、上記の１４（ステップＳ５０１）から１８（ステップ５０６）を繰り返すことになる。
【０１２４】
２０．その後、メッセージキュー３０４から次のメッセージ（データＴＥＳＴＡ追加（メッセージ種類：ジョブ追加）を読み出す（ステップＳ５０１）。
【０１２５】
２１．キャッシュ対象フラグ管理テーブルを参照すると、取得したメッセージ（データＴＥＳＴＡ追加（メッセージ種類：ジョブ追加）は、キャッシュ対象でないと判定する（ステップＳ５０２）。
【０１２６】
２２．ネットワークのトラフィック状態を確認し、ここでは、送信不可と仮定する（ステップＳ５０７）。
【０１２７】
２３．キャッシュ対象フラグ管理テーブルを参照すると、メッセージは、キャッシュ対象でないと判定する（ステップＳ５０８）。
【０１２８】
２４．再度、ネットワークのトラフィック状態を確認する。そして、送信可能になるまで、２２（ステップＳ５０７）及び２３（ステップＳ５０８）を繰り返す。
【０１２９】
２５．送信可能になったら、クライアントＰＣ１０４へメッセージを送信する（ステップＳ５１１）
２６．送信が成功したか否かを判定する（ステップＳ５１２）。送信が成功しない場合は、２２（ステップＳ５０７）から２５（ステップＳ５１１）を繰り返す。その後、送信が成功したら、処理を進める。
【０１３０】
２７．その後、メッセージキュー３０４から次のメッセージ（データＴＥＳＴＢ（メッセージ種類：ジョブ削除））を読み出す。キャッシュ対象フラグ管理テーブルを参照すると、メッセージは、キャッシュ対象でないため、２０（ステップＳ５０１）から２６（ステップＳ５１２）の処理を行う。また、その後のメッセージキュー３０４から読み出すメッセージ（プリンタＡ  １３ページ）、メッセージ（プリンタＢ  １０２ページ）は、１４（ステップＳ５０１）から１８（ステップＳ５０６）を繰り返す。
【０１３１】
２８．メッセージキュー３０４から次のメッセージ（プリンタＡ  １４ページ（メッセージ種類：ページカウント））を読み出す（ステップＳ５０１）。
【０１３２】
２９．キャッシュ対象フラグ管理テーブルを参照すると、取得したメッセージ（プリンタＡ  １４ページ（メッセージ種類：ページカウント））は、キャッシュ対象であると判定する（ステップＳ５０２）。
【０１３３】
３０．状態記憶部３０７のメッセージテーブルの内容を確認する（ステップＳ５０３）。
【０１３４】
３１．メッセージ（プリンタＡ  １４ページ）に対し、状態記憶部３０７のメッセージテーブル中の情報（プリンタＡ  １４ページ）であるので、両者の内容を比較する。この場合、両者の内容は同一内容であると判定する(ステップＳ５０４)。
【０１３５】
３２．状態記憶部３０７の内容をクリアする（ステップＳ５０５）。
【０１３６】
３３．以降、４（ステップＳ５０７）から６（ステップＳ５１２）もしくは１０（ステップＳ５０７）から１３（ステップＳ５１０）の処理を同様に実行する。
【０１３７】
以上説明したように、実施形態１によれば、ネットワーク負荷（ネットワークのトラフィック状況）に応じて、クライアントへ通知するメッセージを削減できるため、負荷をかけ続ける状況から回避可能となり、リアルタイムでメッセージ通知が可能となる。
【０１３８】
また、メッセージの送信を制御するフラグを付与して、そのメッセージの送信を制御することで、より有効なメッセージ通知が可能となる。
【０１３９】
特に、実施形態１では、キャッシュ対象のメッセージの最新の内容を保持する状態保持部３０５と、キャッシュ対象のメッセージを送信不可の場合に、その時点の状態保持部３０５の内容を別途コピーして記憶する状態記憶部３０７を構成する。
【０１４０】
この構成により、送信対象のメッセージがキャッシュ対象で、かつその内容が状態保持部３０５の内容よりも古ければ、送信不要として、そのメッセージを破棄する制御を実現することができる。
【０１４１】
一方、そのメッセージの送信不可である場合には、その時点のメッセージの最新の内容を保持する状態保持部３０４の内容を状態記憶部３０７にコピーして記憶しておき、この内容と同一のメッセージをメッセージキュー３０４から取得して送信する場合には、その送信を直ちに破棄するのではなく、一旦送信の機会を設けて、送信可能であれば、そのメッセージを送信する制御を実現することができる。
【０１４２】
このような２種類の制御によって、送信不要となり得るメッセージを、常に破棄するのではなく、必要に応じて送信することが可能となるので、より有効なメッセージの通知が可能となる。
【０１４３】
＜実施形態２＞
実施形態１では、ステップＳ５０１で、メッセージキュー３０４からメッセージを読み出した後、ステップＳ５０２で、メッセージがキャッシュ対象であるか否かを判定する構成としているが、先に、ステップＳ５０７で、メッセージが送信可能であるか否かを判定するようにしても良い。
【０１４４】
以下、実施形態２のメッセージ送信処理について、図１２を用いて説明する。
【０１４５】
図１２は本発明の実施形態２のメッセージ送信処理を示すフローチャートである。
【０１４６】
尚、図１２のフローチャートは、図５のフローチャートの処理順序及び不要なステップを変更した構成であり、以下の説明では、特徴的な部分についてのみ説明する。
【０１４７】
上述したように、実施形態２では、メッセージ送信処理において、ステップＳ５０１の処理後、ステップＳ５０７において、メッセージが送信可能であるか否かを判定する。
【０１４８】
ステップＳ５０７において、メッセージが送信可能である場合（ステップＳ５０７でＹＥＳ）、ネットワーク負荷が低い状態であり、そのメッセージを送信しても差し支えないといえるので、送信対象のメッセージのキャッシュ対象フラグの値に関係なく、ステップＳ５１１で、そのメッセージをクライアントＰＣへ送信する。
【０１４９】
一方、メッセージが送信不可である場合（ステップＳ５０７でＮＯ）、ステップＳ５０８に進み、そのメッセージがキャッシュ対象であるか否かを判定する。キャッシュ対象でない場合（ステップＳ５０８でＮＯ）、ステップＳ５０７に戻り、そのメッセージの送信を再試行する。一方、キャッシュ対象である場合（ステップＳ５０８でＹＥＳ）、ステップＳ５０４に進む。
【０１５０】
ステップＳ５０４で、読み出したメッセージの内容が、状態記憶部３０７に保持されている内容と同一内容であるか否かを判定する。同一内容でない場合（ステップＳ５０４でＮＯ）、ステップＳ５０７に戻り、そのメッセージの送信を再試行する。一方、同一内容である場合（ステップＳ５０４でＹＥＳ）、ステップＳ５０５に進み、状態記憶部３０７の内容をすべてクリアする。その後、ステップＳ５０９及びステップＳ５１０の処理を実行する。
【０１５１】
尚、図１２において、ステップＳ５０７へ処理が移る前に、ステップＳ５０５及びステップＳ５０９の処理を実行するようにしても良い。また、ステップＳ５０４でＹＥＳの場合、ステップＳ５０５、ステップＳ５０９を実行し、ステップＳ５０７へ処理が進むようにしても良い。
【０１５２】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、ネットワーク負荷が低い状態であれば、そのメッセージがキャッシュ対象であるか否かに関わらず、そのメッセージを通知することができる。
【０１５３】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５４】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１５５】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１５６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１５７】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１５８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１６１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１６２】
【図１】本発明の実施形態１のプリントサーバシステムの構成を示す図である。
【図２】本発明の実施形態１の各種端末のハードウエア構成を示す図である。
【図３】本発明の実施形態１のプリントサーバシステムの機能構成を示す図である。
【図４】本発明の実施形態１のメッセージ生成処理を示すフローチャートである。
【図５】本発明の実施形態１のメッセージ送信処理を示すフローチャートである。
【図６】本発明の実施形態のキャッシュ対象フラグ管理テーブルの一例を示す図である。
【図７】本発明の実施形態１のメッセージ構造の一例を示す図である。
【図８】本発明の実施形態１の状態保持部及び状態記憶部で保持するメッセージテーブルの一例を示す図である。
【図９】本発明の実施形態１のメッセージキューの状態の一例を示す図である。
【図１０】本発明の実施形態１の状態保持部のメッセージテーブルの一例を示す図である。
【図１１】本発明の実施形態１のメッセージキューの状態の一例を示す図である。
【図１２】本発明の実施形態２のメッセージ送信処理を示すフローチャートである。
【符号の説明】
【０１６３】
１０１  ホストコンピュータ
１０２  プリントサーバ
１０３  プリンタ
１０４  クライアントＰＣ
１０５  ネットワーク
【図１】
2006004085.tif 000003
【図２】
2006004085.tif 000004
【図３】
2006004085.tif 000005
【図４】
2006004085.tif 000006
【図５】
2006004085.tif 000007
【図６】
2006004085.tif 000008
【図７】
2006004085.tif 000009
【図８】
2006004085.tif 000010
【図９】
2006004085.tif 000011
【図１０】
2006004085.tif 000012
【図１１】
2006004085.tif 000013
【図１２】
2006004085.tif 000014