イベント通知装置、イベント通知方法及びイベント通知プログラム
【課題】イベント通知装置の処理負担を軽減させる。
【解決手段】画像処理装置は、イベント種類と、イベント通知先クライアントと、を対応付けて記憶するイベント管理情報と、各クライアントから、監視を要求するイベント種類を含むSubscribeメッセージを受信するリクエスト受信部と、Subscribeメッセージを受信した場合、Subscribeメッセージに含まれているイベント種類と、Subscribeメッセージの送信元のクライアントを示すクライアントと、を対応付けてイベント管理情報に追加する追加部と、イベント管理情報に格納されている監視イベント数に応じてイベントの監視間隔を設定する設定部と、設定されたイベント間隔で、それぞれのイベントが発生したか否かを監視するイベント監視部と、イベント発生を検出した場合、発生したイベントを示すイベント種類の監視を要求したクライアントに対して、当該発生したイベントを通知するイベント通知部と、を備える。
【解決手段】画像処理装置は、イベント種類と、イベント通知先クライアントと、を対応付けて記憶するイベント管理情報と、各クライアントから、監視を要求するイベント種類を含むSubscribeメッセージを受信するリクエスト受信部と、Subscribeメッセージを受信した場合、Subscribeメッセージに含まれているイベント種類と、Subscribeメッセージの送信元のクライアントを示すクライアントと、を対応付けてイベント管理情報に追加する追加部と、イベント管理情報に格納されている監視イベント数に応じてイベントの監視間隔を設定する設定部と、設定されたイベント間隔で、それぞれのイベントが発生したか否かを監視するイベント監視部と、イベント発生を検出した場合、発生したイベントを示すイベント種類の監視を要求したクライアントに対して、当該発生したイベントを通知するイベント通知部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークなどを介して接続された他の機器にイベントを通知するイベント通知装置、イベント通知方法及びイベント通知プログラムに関するものである。
【背景技術】
【0002】
近年、インターネットやイントラネットなどのネットワークに接続する機能を備え、ネットワークを介して他の機器(ユーザ)からの操作指示などを受け付けるプリンタなどの画像処理装置(ネットワーク対応の画像処理装置)が普及してきている。このような画像処理装置は、自身においてイベントが発生した場合、自身を利用するユーザに対して発生したイベントの内容を通知する。各ユーザは、イベントの内容(画像処理装置の状態)を把握し、必要に応じてその内容に従った動作を実行する。
【0003】
ところで、ある特定の画像処理装置を多数のユーザが利用する場合、発生したイベントの内容を各ユーザに対して一斉に通知するため、ネットワーク上のトラフィックが一時的に増大し、応答速度が低下してしまう、という問題が指摘されていた。そのため、この問題を解決するために、下記特許文献1に記載の技術では、イベントの通知先となるユーザ数に応じて、各ユーザに対するイベント通知動作の間に待ち時間(ディレイ)を設けることによりトラフィックが急増するのを防止し、応答速度が低下するのを回避するようにしている。
【0004】
【特許文献1】特開2001−282471号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、上記特許文献1に記載の技術によれば、応答速度が低下するのを回避することが可能である。しかしながら、イベントの通知先(イベント内容を示す情報の宛先)となるユーザ数が多い場合には、イベント発生時にその旨を全てのユーザに対して通知できないことがある、という上記応答速度の低下とは異なる解決すべき課題が存在する。
【0006】
たとえば、画像処理装置が2秒間隔でイベントを監視する場合について考えてみると、第1のイベントの発生を検出してから2秒経過後に新たなイベント(第2のイベント)が発生(イベント発生を検出)すると、その時点で第1のイベントの内容を示す第1のイベント発生情報が通知されていないユーザに対しては、引き続き第1のイベント発生情報を通知する。その結果、第1のイベントが発生してから2秒以内に第1のイベント発生情報を通知されなかったユーザの認識と、画像処理装置の実際の状態とに不一致が生じ、ユーザが混乱する可能性がある。すなわち、図34(A)に示した例のような場合には全てのユーザに対して正しくイベント発生情報を通知できるが、図34(B)に示した例のような場合には正しく通知できず、2秒以内に通知を受けることができなかったユーザは古い情報の通知を受ける可能性がある。
【0007】
また、他の例としては、複数の装置に対してイベント通知を要求する有効期限が長いために、通知を要求するユーザ数が多くなり、通知処理に遅延が生じる可能性がある。
【0008】
本発明は、上記に鑑みてなされたものであって、イベント発生時に当該イベントの通知を必要とするユーザに対して適切にイベントの通知を行うイベント通知装置、イベント通知方法及びイベント通知プログラムを得ることを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明にかかるイベント通知装置は、クライアント装置とネットワークを介して接続されたイベント通知装置であって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けて記憶するイベント情報記憶手段と、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信手段と、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加手段と、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定手段と、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視手段と、前記イベント監視手段がイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知手段と、を備える。
【0010】
また、本発明にかかるイベント通知装置は、上記のイベント通知装置において、前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0011】
また、本発明にかかるイベント通知装置は、上記のイベント通知装置において、前記イベント情報記憶手段は、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて記憶し、前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記有効時間内に限り行うこと、を特徴とする。
【0012】
また、本発明にかかるイベント通知方法は、ネットワークを介して接続されたクライアント装置に対してイベントを通知するイベント通知方法であって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、を有することを特徴とする。
【0013】
また、本発明にかかるイベント通知方法は、上記のイベント通知方法において、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0014】
また、本発明にかかるイベント通知方法は、上記のイベント通知方法において、前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、を特徴とする。
【0015】
また、本発明にかかるイベント通知プログラムは、ネットワークを介して接続されたクライアント装置に対してイベントを通知させることをコンピュータに実行させるイベント通知プログラムであって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、をコンピュータに実行させることを特徴とする。
【0016】
また、本発明にかかるイベント通知プログラムは、上記のイベント通知プログラムにおいて、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0017】
また、本発明にかかるイベント通知プログラムは、上記のイベント通知プログラムにおいて、前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、を特徴とする。
【発明の効果】
【0018】
本発明によれば、所定の監視制御に用いる設定情報を設定し、当該設定情報を使用して所定の監視制御を行うことで、状況に応じて適切な監視を行うことを可能とし、処理負担を軽減させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0019】
以下に、添付図面を参照して、この発明にかかるイベント通知装置であってコピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能及び入力画像(スキャナ機能による読み取り原稿画像やプリンタあるいはFAX機能により入力された画像)を配信する機能等を備える画像処理装置に適用した最良な実施形態を詳細に説明する。
【0020】
(第1の実施の形態)
図1は、第1の実施形態にかかる画像処理装置およびネットワークを介して画像処理装置を利用する端末により構成されるシステムの一例を示す図である。このシステムは、上記画像処理装置に相当する“機器”および当該機器を利用する複数のパーソナルコンピュータ(PC−A,PC−B,PC−C,PC−D,PC−E,PC−F,PC−G)を含んでいる。通常、ネットワークを介して画像処理装置1を利用するためには、所定の手続を実行する必要があるが、上記各パーソナルコンピュータは、必要な手続を既に実行し、上記画像処理装置1を利用可能な状態にあるものとする。なお、画像処理装置1を利用するのはパーソナルコンピュータに限らず、同様の通信機能などを備えた端末であってもよい。また、これ以降、ネットワークを介して上記画像処理装置1を利用する端末をクライアントと呼ぶ。
【0021】
図2は、本実施の形態にかかる画像処理装置のハードウェア構成例を示す図であり、この画像処理装置1は、CPU11と、システムメモリ12と、ノースブリッジ(NB)13と、サウスブリッジ(SB)14と、ASIC15と、記憶部16と、I/F部17と、を備える。なお、以下、上記画像処理装置を“画像処理装置1”と呼ぶ。
【0022】
画像処理装置1において、CPU11は、画像処理装置1の全体の制御を行う。システムメモリ12は、描画処理を行う際などに使用される。NB13は、CPU11、システムメモリ12、SB14、ASIC15、I/F部17を接続するためのブリッジ、SB14は、図2に示した各構成要素と図示されていない他の構成要素(ROMなど)とを接続するためのブリッジである。ASIC15は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。記憶部16は、ローカルメモリ,HDD(Hard Disk Drive),Flash ROM,NVRAM,などを含み、画像データ等の格納用領域や画像処理を行う際の作業用領域、などとして使用される。I/F部17は、Ethernet(登録商標) I/F,USB I/F,IEEE1394 I/F,無線I/F,などを含む。これらのI/Fは、インターネットやイントラネットなどのネットワークへの接続やパーソナルコンピュータなどへの接続のためなどに使用される。
【0023】
図3は、本実施の形態にかかる画像処理装置1のソフトウェア構成例を示す図である。アプリケーション部21、プラットフォーム部22およびSOAP/XML処理部23がソフトウェアを構成し、これらの各構成要素は、図2に示したCPU11により制御される。また、アプリケーション部21は、プリンタ、コピーなどの画像形成処理に関連するユーザーサービスに固有の処理を行う複数のアプリケーション処理部(アプリ#1,アプリ#2,アプリ#3,アプリ#4,…)を含み、プラットフォーム部22は、OS/Kernel28とともに、アプリケーション部21からの処理要求を解釈してハードウェアなどの各種資源の獲得要求を発生する各種制御部(システム制御部24,メモリ制御部25,配信制御部26,ネットワーク制御部27,…)を含む。また、プラットフォーム部22は、予め定義されている関数によりアプリケーション部21からの処理要求を受信可能とするアプリケーションプログラムインターフェース(API)を有する。
【0024】
なお、システム制御部24は、アプリケーションの管理、ハードウェア資源の管理、などの処理を行う。メモリ制御部25は、メモリの取得および解放などのメモリ制御を行う。配信制御部26は、他機器との送受信のためのデータの管理やデータの加工などを行う。ネットワーク制御部27は、図1に示したEthernet(登録商標)I/Fなどのネットワークインタフェイスと接続され、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供し、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。また、OS/Kernel28にはソケット以下のネットワーク処理部が存在している。
【0025】
SOAP/XML処理部23は、アプリケーション部からもプラットフォーム部からも使用できるような形で存在している。このSOAP/XML処理部23は、SOAP/XMLメッセージのエンコード/デコードを行う。なお、SOAP/XML処理部23は、通常、ライブラリの形式で提供されるが、プロセスの形式でもかまわない。
【0026】
図4は、本実施の形態にかかる画像処理装置1の特徴的な処理を実現するためのイベント処理部の構成例および図3に示したアプリケーション部21の構成例を示す図である。このイベント処理部は、図3に示したプラットフォーム部22に含まれるネットワーク制御部27およびSOAP/XML処理部23と、図2に示した記憶部16およびI/F部17と、により構成される。
【0027】
ネットワーク制御部27は、全体を統括する全体制御部41、WS-Eventingプロトコルを処理するWS-Eventing処理部42、イベントを管理するイベント管理部43、図3に示したアプリケーション部21との間で各種情報(メッセージやデータ)のやり取りを行うアプリ通信部44、HTTP制御部45、およびHTTP以外の各種プロトコル(たとえばFTP,Port9100,LPR)を処理するプロトコル制御部46を備える。
【0028】
HTTP制御部45は、リクエスト受信部51と、イベント通知部52とを備え、HTTPプロトコルを用いてデータの送受信を行う。リクエスト受信部51は、クライアントからイベント監視リクエストを受信する。そして、リクエスト受信部51は、受信したイベント監視リクエストを、イベント管理情報71に登録する。
【0029】
イベント通知部52は、後述するイベント管理部43がイベントを検出した場合に、HTTPプロトコルを用いて、送信先にイベント通知を行う。
【0030】
イベント管理部43は、イベント監視部61と、追加部62と、更新部63と、設定部64とを備える。イベント監視部61は、アプリ通信部44を介して、アプリケーション部21の各アプリにおいてイベントが発生するか否かを監視する。
【0031】
追加部62は、イベント監視リクエストをリクエスト受信部51が受信した場合、イベント監視リクエストに含まれているイベント名と、イベント監視リクエストの送信元のクライアント名と、有効期限とを対応付けて、後述するイベント管理情報71に追加する。なお、この送信元のクライアントは、イベントの通知先のクライアントとして追加される。また、イベント名は、換言すれば発生するイベントの種類を示している。なお、有効期限の取得手法については後述する。更新部63は、当該イベント管理情報に対して更新処理を行う。
【0032】
設定部64は、イベント管理情報71が記憶しているイベントの通知先のクライアントおよびイベント名のいずれか一つ以上に基づいて、イベント監視部61が監視制御を行う設定情報を設定する。本実施の形態では、設定部64が、設定情報としてイベントの監視周期を設定する場合について説明する。
【0033】
記憶部16は、イベント管理情報71と、監視間隔テーブル72と、優先度テーブル73と、を記憶する。なお、各テーブルの詳細については後述する。
【0034】
アプリケーション部21に含まれる各アプリケーション処理部(アプリ#1,…)は、それぞれ同様の構成をとり、アプリケーション処理部の制御を行うアプリケーション制御部31と、イベントを検出するイベント検出部32と、図3に示したプラットフォーム部22を構成する各制御部(すなわち上記イベント処理部に含まれる各制御部)との間で各種情報(メッセージやデータ)のやり取りを行う情報通信部33と、を備える。
【0035】
そして、上記イベント処理部は、アプリケーション部21の各アプリケーション処理部(アプリ#1,…)においてイベントが発生したかどうかの監視を定期的に行い、いずれかのアプリケーション処理部におけるイベント発生を検出した場合には、その旨を各クライアントへ通知する。イベントが発生したかどうかの監視動作の詳細およびイベント発生時の各クライアントへのイベント内容通知動作の詳細については後述する。
【0036】
つづいて、イベント処理部の動作を中心に、本実施の形態にかかる画像処理装置1の詳細動作を説明する。まず、各クライアントが上記画像処理装置1からイベント発生時にその内容の通知を受けるために必要な動作である画像処理装置1に対する初期設定動作について説明する。具体的には、クライアントが画像処理装置1に対して、発生したイベントを通知するように要求を出し、この要求に対して画像処理装置1が実行する動作について説明する。
【0037】
WS-Eventingプロトコルを使用する場合の例を以下に示す。まずクライアントは、図5に示したような内容のメッセージを画像処理装置1に対して送信する。図5は、Subscribeメッセージの一例を示したものであり、クライアントが、このメッセージで指示するイベントが発生した場合、その内容を通知するように画像処理装置1に対して要求するものである。このメッセージの内容は、「“StatusEvent(符号501)”が示すイベントについてStatusが変化したら(イベントが発生したら)通知をしてほしい」ということを示している。Subscribeメッセージを受信した画像処理装置1は、その要求内容に応じることができるかどうかを確認し、確認結果に基づいた内容の応答メッセージを返信する。
【0038】
つぎに、Subscribeメッセージを受信した画像処理装置1は、たとえば図6に示したような内容のメッセージをクライアントに対して送信する。図6は、Subscribeメッセージに対するレスポンス(SubscribeResponse)メッセージの一例を示したものであり、Subscribeメッセージを正常に受け付けた場合のものである。この内容は、「Subscribeメッセージで指示されたイベントが発生(検知)した場合、Expiresフィールド601に示された有効期限が到来するまでの間、その内容(発生したイベント)を通知する」ということを示している。これ以後、原則としてExpiresフィールドに示された有効期限が到来するまで、画像処理装置1は、上記Subscribeメッセージで指示されたイベントを検知した場合、その内容を上記SubscribeResponseメッセージの送信相手先クライアントへ通知する。
【0039】
また、上記SubscribeResponseメッセージを受信したクライアントは、当該受信したメッセージに示された上記有効期限が到来後も引き続いてイベントの通知を受けたい場合、図7に示したような内容のメッセージを画像処理装置1に対して送信する。図7は、Renewメッセージの一例を示したものであり、通常はクライアントが画像処理装置1からイベント通知を受けている状態において送信される。この内容は、「(それ以前に受信したSubscribeResponseメッセージなどに含まれるExpiresフィールドに示された)有効期限が到来後も引き続いて、発生したイベントを通知してほしい」ということを示している。
【0040】
Renewメッセージを受信すると、画像処理装置1は、たとえば図8に示したような内容のメッセージをクライアントに対して送信する。図8は、Renewメッセージに対するレスポンス(RenewResponse)メッセージの一例を示したものであり、Renewメッセージを正常に受け付けた場合のものである。この内容は、「Expiresフィールドに示された有効期限が到来するまでの間、発生(検知)したイベントを通知する」ということを示している。すなわち、更新された有効期限がExpiresフィールドに示される。
【0041】
なお、図9は、SubscriptionEndメッセージの一例を示す図である。このSubscriptionEndメッセージは、上記Expiresフィールドに示された有効期限内であるにもかかわらずイベントの通知を停止する場合、画像処理装置1がイベントの通知を停止するクライアントに対して送信する。
【0042】
図10は、StatusEventReportメッセージの一例を示す図である。画像処理装置1は、SubscribeResponseメッセージおよびRenewResponseメッセージの送信先であるクライアントに対して、それらのメッセージにて通知した有効期限が到来するまでに発生したイベントを、このStatusEventReportメッセージを使用して通知する。図10に示した例は、トナーがなくなった(Out of Toner)ことを検出した場合にそれを通知するためのメッセージである。
【0043】
また、図11の(A),(B)は、それぞれSubscribeメッセージ(図5参照),Renewメッセージ(図7参照)に対する応答メッセージの一例を示す図であり、画像処理装置1が要求(Subscribe,Renew)を受け付けられない場合に返送するfaultメッセージの一例を示している。SubscribeメッセージまたはRenewメッセージを受信したが、それを受け付けることができない場合、画像処理装置1は、SubscribeResponseメッセージまたはRenewメッセージに代えて、faultメッセージを送信する。図11の(A)および(B)に示したいずれの例も、リソース不足(not-enough resource)を理由として要求(SubscribeまたはRenew)を受け付けられない場合に返送されるメッセージである。
【0044】
図12は、画像処理装置1がクライアントからSubscribeメッセージまたはRenewメッセージを受信するシーケンス例を示す図である。なお、“Subscriber”がクライアントに相当する。
【0045】
画像処理装置1がクライアントからSubscribeメッセージまたはRenewメッセージを受信すると(ステップS11)、画像処理装置1のネットワーク制御部において、HTTP制御部45のリクエスト受信部51が、受信したメッセージをWS-Eventing処理部42へ渡す(ステップS12)。WS-Eventing処理部42はHTTP制御部45から渡されたメッセージをさらにSOAP/XML処理部23に渡してその内容を解析させる(ステップS13)。SOAP/XML処理部23はステップS13において受け取ったメッセージの内容解析結果をWS-Eventing処理部42に対して返信する(ステップS14)。
【0046】
つぎに、WS-Eventing処理部42は、ステップS14において受け取った内容解析結果を登録するように、イベント管理部43に対して要求し(ステップS15)、イベント管理部43はステップS15における要求内容に基づいた処理を実行する。
【0047】
たとえば、リクエスト受信部51がSubscribeメッセージを受信し、イベント管理部43が当該メッセージで示された要求を受け入れることができると判断した場合、イベント管理部43の追加部62は、Subscribeメッセージの内容に基づいて、新たなレコードをイベント管理情報71に追加する。このイベント管理情報71は、あるイベントが発生した場合、そのイベントをどのクライアントに通知すべきかを示した情報であり、各イベントとその通知先クライアントの対応関係を示したものである。イベント管理情報71にはイベント通知動作の有効期限情報(どのイベントの通知をどのクライアントに対していつまで行うかを示す情報)も含まれる。
【0048】
図13は、イベント管理情報71のテーブル構造を示した図である。図13に示すようにイベント管理情報71は、イベント名と、通知先クライアントと、有効期限とを対応付けて記憶している。つまり、イベント管理部43が任意のイベントが発生したと判断した場合、イベント通知部52が、当該イベントを示すイベント名と対応付けられた通知先クライアントに対して、有効期限内であれば、発生した当該イベントを示すメッセージを通知する。
【0049】
また、リクエスト受信部51がRenewメッセージを受信し、イベント管理部43が当該メッセージが示す要求を受け入れることができると判断した場合、更新部62は上記イベント管理情報71に含まれるイベント通知動作の有効期限情報を更新、すなわちイベント管理情報71を更新する。なお、SubscribeメッセージやRenewメッセージの受信に伴い更新されたイベント管理情報71は、記憶部16などに保持される。SubscribeメッセージやRenewメッセージが示す要求を受け入れられない場合、イベント管理情報71は更新されない。
【0050】
イベント管理部43は、処理が終了すると、その処理結果をWS-Eventing処理部42へ通知する(ステップS16)。さらに、WS-Eventing処理部42は、上記SubscribeメッセージまたはRenewメッセージの送信元であるクライアントに対して返信するメッセージ(レスポンスメッセージ)を、ステップS16において通知を受けた処理結果に基づいて生成するようにSOAP/XML処理部23に対して要求する(ステップS17)。SOAP/XML処理部23は、WS-Eventing処理部42からの要求内容に従ってレスポンスメッセージを生成し、それをWS-Eventing処理部42に渡す(ステップS18)。ステップS18においてレスポンスメッセージを受け取ったWS-Eventing処理部42は、それをHTTP制御部45へ渡し(ステップS19)、HTTP制御部45は受け取ったレスポンスメッセージをクライアントに対して返信する(ステップS20)。
【0051】
なお、ステップS20においてHTTP制御部45から返信されるメッセージの内容は、上記ステップS11において画像処理装置が受け取ったメッセージの内容(SubscribeメッセージかRenewメッセージか)および上記ステップS16におけるイベント管理部43の処理結果により異なる。ステップS11において受け取ったメッセージが示す内容(要求)を画像処理装置1が受け付ける場合には、SubscribeResponseメッセージ(図6参照)またはRenewResponseメッセージ(図8参照)が返信される。一方、要求を受け付けない場合には、faultメッセージ(図11(A)および(B)参照)が返信される。
【0052】
図14は、画像処理装置1におけるイベント発生監視動作シーケンスおよび検出したイベントの通知動作シーケンスの一例を示す図である。
【0053】
画像処理装置1においてネットワーク制御部のイベント管理部43のイベント監視部61は、アプリケーション部21の各アプリケーション処理部においてイベントが発生したかどうかの監視を定期的に行う(ステップS31,S33)。具体的には、イベント監視部61は、アプリ通信部44を介して、イベントが発生したかどうか(状態が変化したかどうか)を各アプリケーション処理部のイベント検出部32に対して問い合わせる。
【0054】
なお、図14に示した例においては、説明を簡単にするためにイベント管理部43が1つのアプリケーション処理部(アプリ#N)のイベント検出部32に対してのみ問い合わせを行っているが、実際には全てのアプリケーション処理部に対して問い合わせを行う。また、イベント管理部43と各アプリケーション処理部のイベント検出部32はアプリ通信部44および情報通信部33を介して通信を行う。
【0055】
ここで、イベント管理部43のイベント監視部61が各アプリケーション処理部においてイベントが発生したかどうかの監視を定期的に行うにあたり、イベント管理部43の設定部64が、その監視周期を監視結果の通知対象となるクライアント数に応じて設定する。
【0056】
図15は、画像処理装置がイベント監視動作時に使用する情報の一例を示す図である。たとえば、図15(A)に示したような監視間隔テーブル72を予め準備して記憶部16に保持しておく。そして、設定部64が、上記イベント管理情報71から監視結果の通知対象であるSubscribe登録済みクライアントの数(イベント発生時にその通知を行う相手先となるクライアントの数)を確認する。確認の結果、設定部64は、クライアント数が100以下であれば(Subscribe登録個数が100個以下であれば)イベント発生の監視周期(Polling間隔)を1秒に設定し、101以上200未満であれば監視周期を2秒に設定する。なお、図15(A)の監視間隔テーブル72に示した監視周期は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。これにより、検出したイベントをSubscribe登録済みのクライアント全てに対して正しく通知することができる。
【0057】
ところで、画像処理装置1において発生するイベントには、その内容を迅速かつ正確に通知する必要があるものとそうでないものが存在する。たとえば、トナーに関するイベントでは、トナーが完全に無くなったことを検出するのは頻繁に行う必要があると考えられる。一方、トナーが少なくなったことを検出するのはそれほど頻繁に行う必要はなく、またトナーが少なくなったことをクライアントに対して直ちに、正しく通知しなくても(トナーが少ない状態となった後、直ちにその状態が通知されなくても)それほど大きな問題とはならない。そのため、各イベントの監視周期を一律にするのではなく、アプリケーションごとにイベントの監視周期を違えてもよい。
【0058】
そこで、本実施の形態の変形例としては、図15(A)に示した監視間隔テーブル72の代わりに、図15(B)に示したような監視間隔テーブルを予め準備して記憶部16に保持しておき、設定部64は、当該監視間隔テーブルに示された監視時間を使用して監視間隔を設定する。そして、イベント監視部61が当該監視間隔で各イベントの監視を行う。これにより、優先度の高いイベント(通知の迅速性や正確性が要求されるイベント)の発生をより迅速かつ正しくSubscribe登録済みのクライアント全てに対して通知することができる。なお、図15(B)の監視間隔テーブルに示した監視周期は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。また、図15(B)の例では監視間隔を2種類としているが3種類以上としてもよい。
【0059】
第1の実施の形態の図14に戻り、イベント検出部32は、イベント管理部43のイベント監視部61からの問い合わせに対して、イベントが発生していなければその旨を通知する(ステップS32)。これに対して、イベント検出部32は、イベントが発生している場合にはその旨を通知する(ステップS34)。
【0060】
イベント検出部32からイベント発生の通知を受けた場合、イベント管理部43はその旨をWS-Eventing処理部42へ通知する(ステップS35)。WS-Eventing処理部42は、イベントの発生をクライアントに対して通知するためのメッセージを生成するようにSOAP/XML処理部23に対して要求し(ステップS36)、これに対するメッセージをSOAP/XML処理部23から受け取り(ステップS37)、さらに、SOAP/XML処理部23から受け取ったメッセージをHTTP制御部45へ渡す(ステップS38)。そして、HTTP制御部45のイベント通知部52は、WS-Eventing処理部42から受け取ったメッセージ(図10に例示したようなStatusEventReportメッセージ)をクライアントに対して送信する(ステップS39)。図14においてはStatusEventReportメッセージをNotificationメッセージと表現している。通常、クライアントは受信したメッセージに対する応答メッセージ(図14の例ではHTTP 200 Response)を返信する(ステップS40)。なお、上記ステップS39では、画像処理装置1のイベント通知部52は、イベントの通知要求を受けている全てのクライアント(SubscribeメッセージまたはRenewメッセージを受信済み、かつそれらに対する応答メッセージにおいて示した有効期限が到来していないクライアント)に対して、発生したイベントを示すメッセージを送信する。
【0061】
図16は、画像処理装置1がSubscriptionEndメッセージを送出する場合のシーケンス例を示す図である。イベント管理部43はSubscriptionEndに相当する事象が発生すると、その旨をWS-Eventing処理部42へ通知する(ステップS51)。WS-Eventing処理部42は、SubscriptionEndをクライアントに対して通知するためのメッセージを生成するようにSOAP/XML処理部23に対して要求し(ステップS52)、これに対するメッセージをSOAP/XML処理部23から受け取り(ステップS53)、さらに、SOAP/XML処理部23から受け取ったメッセージをHTTP制御部45へ渡す(ステップS54)。そして、HTTP制御部45はWS-Eventing処理部42から受け取ったメッセージ(図9に例示したようなSubscriptionEndメッセージ)をクライアントに対して送信する(ステップS55)。通常、クライアントは受信メッセージに対する応答メッセージを返信する(ステップS56)。
【0062】
図17は、画像処理装置1がSubscribeメッセージ/Renewメッセージを受信した場合の動作例を示すフローチャートである。SubscribeメッセージまたはRenewメッセージを受信すると(ステップS61)、画像処理装置1のイベント管理部43は、その内容を確認し、特定条件に該当するかどうかを確認する(ステップS62)。ここで、特定条件に該当するかどうかは、たとえば、SubscribeメッセージやRenewメッセージの送信元(クライアント)や、監視するイベントの種類に応じて判断する。
【0063】
つまり、追加部62は、Subscribeメッセージ/Renewメッセージを受信した場合、常にイベント管理情報71にレコードを追加するわけではなく、Subscribeメッセージ/Renewメッセージに含まれているイベント名又はSubscribeメッセージ/Renewメッセージを送信したクライアントと、イベント管理情報71に格納されている情報(例えば、イベント、通知先クライアント)と、に基づいて、Subscribeメッセージ/Renewメッセージに含まれているイベント名や、Subscribeメッセージ/Renewメッセージの送信元のクライアントと、を対応付けてイベント管理情報71に追加するか否か判断する。この例としては、イベントやクライアント等に優先度を設定し、当該優先度に基づいて追加するか否か判断することが考えられる。
【0064】
図18は、Subscribe/Renewメッセージの送信元のIPアドレスと優先度の関係を保持する優先度テーブル73の一例を示す図である。この場合、図18(A)に示したような優先度テーブル73を予め準備して記憶部16に保持しておき、保持しておいたテーブルを用いて判断を行う。たとえば、優先度(Priority)の高いIPアドレスの送信元からメッセージを受信した場合や、特定条件と判断する。
【0065】
つまり、リクエスト受信部51がSubscribeメッセージを受信した場合、イベント管理部43の追加部62は、当該Subscribeメッセージに含まれるイベント名が、イベント管理情報71のフィールド“イベント”に格納されているレコード数を算出する。そして、追加部62は、算出したレコード数が所定の数(例えば100)だけ存在しているか否か判断する。そして、追加部62は、レコード数が所定の数と一致していると判断した場合に、Subscribeメッセージの送信元のクライアントが、優先度テーブル73で優先すべきクライアントであるか否か判断する。この優先すべきクライアントであるか否かは、例えば優先度テーブル73で、優先度Highのクライアントを、優先すべきクライアントと判断する等が考えられる。そして、追加部62は、優先すべきクライアントであると判断した場合に、イベント管理情報71で優先すべきではないと判断されたクライアント(例えば優先度テーブル73で優先度がLowと対応付けられているクライアント)が格納されているレコードを削除し、Subscribeメッセージの送信元のクライアントを通知先クライアントとしたレコードを追加する。
【0066】
また、本実施の形態の変形例として、受信したメッセージの内容がテーブルに示した優先度の高い項目に該当する場合に、特定条件と判断してもよい。図18(B)は、通知対象イベントの種類と優先度の関係を保持する優先度テーブルの一例を示す図である。この場合、Subscribeメッセージを受信して、イベント管理情報71のレコード数が所定の数以上となった場合に、優先度が低いイベントのレコードが削除され、優先度が高いイベントのレコードが追加されることになる。
【0067】
さらには、特定条件に該当するかどうかの確認処理においては、図18(A)または(B)のいずれか一つのテーブルのみを用いて判断するようにしてもよいし、双方を用いて判断するようにしてもよい。また、これらのテーブルは、メッセージ(Subscribe/Renew)の送信元の機器の種類や、画像処理装置の仕様や種類により異なる可能性がある。
【0068】
図17に戻り、上記ステップS62において特定条件に該当しないと判断した場合(ステップS62,No)、画像処理装置1はエラーレスポンス(図11(A)または(B)に例示したようなfaultメッセージ)を返信する(ステップS63)。これに対して、特定条件に該当すると判断した場合(ステップS62,Yes)、正常レスポンス(図6に例示したSubscribeResponseメッセージまたは図8に例示したRenewResponseメッセージ)を返信する(ステップS64)。なお、ステップS63,S64の詳細動作については、図12に基づいて上述したとおりである。
【0069】
また、図17で示した処理手順では、特定条件に該当するか否かのみでイベント管理情報71に追加するか否か判断していたが、これにイベント管理情報71で保持しているレコード数も考慮しても良い。そこで、特定条件とレコード数とを考慮した変形例について説明する。
【0070】
図19は、当該変形例にかかる画像処理装置1がSubscribeメッセージを受信した場合の動作例を示すフローチャートである。リクエスト受信部51がSubscribeメッセージを受信すると(ステップS71)、画像処理装置1のイベント管理部43の追加部62は、Subscribe登録済みのクライアント数が登録可能な最大数に達しているかどうかを確認する(ステップS72)。図5に例示したSubscribeメッセージの説明において示したように、クライアントはSubscribeする対象のイベントを個別に指定できるため、Subscribe登録済みのクライアント数が登録可能な最大数に達しているイベントとそうでないイベントが混在している可能性がある。そのためステップS72においては、Subscribeメッセージで指示されたイベントそれぞれについて、Subscribe登録済みのクライアント数が登録可能な最大数に達しているかどうかを確認する。ステップS72の処理の結果、確認した全てのイベントについて、追加部62がSubscribe登録済みのクライアント数が登録可能最大数に達していないと判断した場合(ステップS72,No)、HTTP制御部45が正常レスポンス(図6に例示したSubscribeResponseメッセージ)を返信する(ステップS74)。一方、追加部62がSubscribe登録済みのクライアント数が登録可能な最大数に達しているイベントが1つでも存在すると判断した場合には(ステップS72,Yes)、受信したSubscribeメッセージの内容を確認し、特定条件に該当するかどうかを確認する(ステップS73)。ここで、特定条件に該当するかどうかの確認処理は、上記図16に示したステップS62における確認処理と同様である。追加部62が、ステップS73において特定条件に該当しないと判断した場合(ステップS73,No)、画像処理装置1のHTTP制御部45がエラーレスポンス(図11(A)に例示したようなfaultメッセージ)を返信する(ステップS75)。これに対して、追加部62が、特定条件に該当すると判断した場合(ステップS73,Yes)、正常レスポンス(図6に例示したようなSubscribeResponseメッセージ)を返信する(ステップS76)。
【0071】
リクエスト受信部51が優先度の高いクライアントからSuscribeメッセージを受信した場合、追加部62が、優先度の低いSubscribe登録済みのクライアントを選択してその登録を抹消し、HTTP制御部45が、当該クライアントに対してSbscriptionEndメッセージを送信する(ステップS77)、すなわち、追加部62が、Subscribe登録済みのクライアント数が登録可能な最大数に達しているイベントに関して、選択した登録済みの情報に代えて上記ステップS71において受信したSubscribeメッセージの内容を新しい情報として登録する。なお、上記登録可能最大数はSubscribe登録するイベント(監視対象として登録するイベント)の種類に応じて異なる値としてもよい。
【0072】
また、優先度の高いイベントの監視を要求するSuscribeメッセージを受信した場合には、Subscribe登録済みのクライアント数が登録可能最大数に達しているイベントのSubscribe登録済みのクライアントの中から、優先度の低いクライアントを選択し、選択したクライアントに代えて上記ステップS71において受信したSubscribeメッセージの送信元クライアントを新たにSubscribe登録する。
【0073】
図20は、画像処理装置1においてイベントが発生した場合の動作例を示すフローチャートである。イベントの発生を検出すると、イベント管理部43は、それを通知するためのメッセージの宛先としてSubscribe登録済みのクライアントの中から選択する(ステップS81)。そして、イベント通知部52が、上記図14に示したステップS36〜S39の処理を実行することにより発生したイベントの内容を通知するためのメッセージ(イベント通知メッセージ)をステップS81で選択した宛先(クライアント)に対して送信する(ステップS82)。そして、イベント通知部52が、指定時間内にメッセージの宛先から応答が返ってきたかどうかを確認する(ステップS83)。指定時間内に応答がなかった場合(ステップS83,No)、イベント通知部52が、上記ステップS82において送信したメッセージのあて先を送信失敗あて先に登録する(ステップS84)。このとき、必要に応じて、イベント管理部からそのイベント情報を削除する。なお、指定時間の設定手法については後述する。
【0074】
これに対して、指定時間内に応答があった場合(ステップS83,Yes)、イベント通知部52が、上記イベント通知メッセージの送信先がまだ残っているかどうか(Subscribe登録済みの全てのクライアントに対してイベント通知メッセージを送信したかどうか)を確認する(ステップS85)。送信先が残っていない(Subscribe登録済みの全てのクライアントに対してイベント通知メッセージを送信した)ことを確認した場合(ステップS85,No)、処理を終了する。イベント通知部52が、送信先が残っていることを確認した場合(ステップS85,Yes)、上記ステップS81に遷移して、上述したステップS81〜S85に示した処理を継続する。
【0075】
図21は、上記イベントが発生した場合の動作例を時系列に示した図である。また、上記ステップS83の処理においては、Subscribeの登録個数(Subscribe登録済みのクライアント数)に基づいてメッセージの宛先からの応答を待つ時間(上記指定時間に相当)を変更する。たとえば、図22に示したようなテーブルを予め準備して記憶部16に保持しておき、Subscribeの登録個数が100個以下であれば、応答待ち時間を4秒とする。これにより、全てのSubscribe登録済みのクライアントに対するイベント通知処理を特定の時間内において終了することが可能となる。なお、図22に示した応答待ち時間は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。
【0076】
このように、本実施の形態においては、イベント発生時の通知相手先(イベント通知先)となるクライアントの数(Subscribe登録済みのクライアント数)に応じて、イベントの検出間隔を変化させるようにした。これにより、イベント発生を検出した場合には、全てのイベント通知先に対して、最新の情報(発生イベント)を正しく通知することができる。
【0077】
また、受け付けるイベント監視リクエスト(Subscribeメッセージ)の種類により、優先度を設定して、イベントの検出間隔を変化させるようにしたので、イベント発生を検出した場合には、全てのイベント通知先に対して、発生イベントを正しくかつ効率的に通知することができる。
【0078】
また、Subscribe登録済みのクライアント数に基づいて、すなわち、Subscribe登録済のクライアント数が、登録可能最大数に達しているかどうかを考慮して、新たなイベント監視リクエストや更新イベント監視リクエスト(Renewメッセージ)を処理するかどうか判断するようにしたので、一度登録されたイベント通知先に対して、発生イベントを確実に通知することができる。
【0079】
また、Subscribe登録済のクライアント数が、登録可能最大数に達している場合であっても、優先度が高いなどの特定の相手(優先クライアント)からのイベント監視リクエストを受け付けた場合には、他の優先度がそれほど高くないSubscribe登録済のクライアントに関する登録を抹消し、優先クライアントをSubscribe登録することにしたので、優先度の高い相手に対して、発生イベントを確実に通知することができる。
【0080】
また、Subscribe登録済のクライアント数が、登録可能最大数に達している場合であっても、優先度が高いなどの特定の種類のイベント監視リクエストを受け付けた場合には、他の優先度がそれほど高くないSubscribe登録済のクライアントに関する登録を抹消することにしたので、優先度の高いイベントが発生した場合にそれを確実に通知することができる。
【0081】
また、Subscribe登録済のクライアント数に応じて、イベント通知に対するイベント通知先からの応答待ち時間を変化させるようにしたので、イベント通知をできるだけ多くのイベント通知先に対して行うことができる。
【0082】
また、本実施の形態では、イベントを通知する画像処理装置1について説明したが、画像処理装置に制限するものではなく様々な装置に適用することができる。例えば、社内ネットワークを介して様々な装置と接続されているビジネスオフィス機器等にも適用する子ことができる。つまり、ネットワークを介してクライアントなどの装置と接続され、監視対象の状態が変化した場合に通知を行うことが可能な装置であればよい。
【0083】
また、本実施の形態にかかる画像処理装置1においては、監視イベント数に応じて監視間隔が設定されるので、監視イベント数が多くなれば監視間隔を長くすることで、処理負担を軽減させることができる。
【0084】
(第2の実施の形態)
上述した第1の実施の形態にかかる画像処理装置1においては、イベントを監視する監視制御の設定情報として、監視周期を設定する場合について説明した。しかしながら、監視制御の設定情報を監視周期に限るものではない。そこで、第2の実施形態では、監視制御の設定情報として、イベント通知を行う際の有効期限を設定する場合について説明する。
【0085】
第2の実施の形態にかかる画像処理装置1は、上述した第1の実施の形態にかかる画像処理装置1とは、ネットワーク制御部27とは処理が異なるネットワーク制御部2601に変更された構成を有している点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0086】
図23は、本実施の形態にかかる画像処理装置1のイベント処理部の構成例およびアプリケーション部21の構成例を示す図である。上述した第1の実施形態にかかるイベント処理部とは、ネットワーク制御部2601の他、記憶部16に格納されているテーブルが異なる点とする。
【0087】
記憶部16は、イベント管理テーブル2621と、有効時間管理テーブル2622と、を備える。
【0088】
図24は、イベント管理テーブル2621のテーブル構造を示した図である。図24に示すように、イベント管理テーブル2621は、管理番号と、通知先クライアント、イベント種類、SubscribeID、有効時間及び登録時間とを対応付けて記憶している。イベント管理テーブル2621のレコードは、クライアントからイベント通知要求に応じて登録される。そして、イベントが発生した場合、画像処理装置1は、当該イベント監視テーブルを参照して、通知先クライアントに、イベントの通知を行う。
【0089】
管理番号は各レコードを示すシーケンシャルな番号とする。また、SubscribeIDは、Subscribeメッセージ毎に割り当てられるユニークなIDとする。登録時間は、当該レコードの登録や更新が行われた時間を保持する。そして、当該登録時間から有効時間だけ時間が経過すると、該当するレコードが削除される。なお、詳細な処理については後述する。
【0090】
図25は、有効時間管理テーブル2622のテーブル構造を示した図である。図25に示すように、有効時間管理テーブル2622は、監視イベント数と、有効時間とを対応付けて記憶している。そして、本実施の形態にかかる画像処理装置1では、当該有効時間管理テーブル2622を用いて、上述したイベント管理テーブル2621の有効時間を設定する。
【0091】
また、有効時間管理テーブル2622は、記憶部16のNBRAM内に保存することが考えられる。また、当該有効時間管理テーブル2622は、書き換え可能な記憶部ではなくともよいし、当該処理を行うためにソフトウェア上ハードコーディングすることなども考えられる。
【0092】
そして、画像処理装置1では、有効時間管理テーブル2622を参照し、イベント管理テーブル2621のレコードの登録、更新を行う際に適切な有効時間を設定する。
【0093】
図23に戻り、ネットワーク制御部2601は、第1の実施の形態にかかるネットワーク処理部27とは、イベント管理部43とは処理が異なるイベント管理部2611に変更され、WS-Discovery処理部2612が追加された点とする。
【0094】
WS-Discovery処理部2612は、WS-Discoveryプロトコルを処理する。WS-Discoveryプロトコルで定義されているパケットとしては、ネットワーク離脱パケットByeがある。
【0095】
つまり、本実施の形態にかかる画像処理装置1では、第1の実施形態の画像処理装置1が処理したSubscribeメッセージなどのWS-Eventingプロトコルのメッセージに加えて、ByeパケットなどのWS-Discoveryプロトコルで定義されているパケットについても処理する。
【0096】
図26は、WS-EventingプロトコルにおけるSubscribeのメッセージの一例を示した図である。クライアントは、このようなSubscribeメッセージを画像処理装置1に対して送信することで、イベントの通知を要求する。図26に示すSubscribeメッセージは、行3001でSubscribeメッセージであることが特定できる。また、行3002には、有効時間が記載されている。さらに、行3003は、イベント“PrinterStatusEvent”を監視対象として登録することを要求している。なお、イベント“PrinterStatusEvent”は、画像処理装置1の“PrinterStatus”が変化した場合に発生するイベントとする。つまり、画像処理装置1の“PrinterStatus”が変更した場合に、クライアントに対してイベント通知が行われる。
【0097】
図27は、WS-EventingプロトコルにおけるSubscribeResponseメッセージの一例を示した図である。行3101でSubscribeResponseメッセージであることが特定できる。また、行3102のExpiresタグで囲まれた“PT30M”がこのイベント監視の有効時間として、30分を設定したことを示している。
【0098】
また、図27に示すSubscribeResponseメッセージは、図26に示すSubscribeメッセージのレスポンスメッセージの第1の例である。当該SubscribeResponseメッセージは、図26に示すSubscribeメッセージを通知したクライアントに対して画像処理装置1が送信する。具体的には、図26で示すSubscribeメッセージで、有効時間として30分要求したのに対して、図27に示すSubscribeResponseメッセージで要求通り有効時間として30分で設定した旨の応答を行っている。
【0099】
図28に示すSubscribeResponseメッセージは、図26に示すSubscribeメッセージのレスポンスメッセージの第2の例である。当該レスポンスメッセージでは、行3201でSubscribeResponseメッセージであることが特定できる。また、行3202のExpiresタグで囲まれた“PT10M”がこのイベント監視の有効時間として、10分を設定したことを示している。つまり、図26で示すSubscribeメッセージで、有効時間として30分要求したのに対して、図28に示すSubscribeResponseメッセージでは、要求より少ない10分が有効時間として設定された旨の応答を行っている。
【0100】
このように本実施の形態にかかる画像処理装置1では、クライアントからイベント通知の要求があった場合、当該要求の有効時間を状況に応じて適切に設定する。この有効時間を設定するための状況としては、イベント数、イベント監視先、イベント種類等が考えられる。本実施の形態では、イベント数で有効時間を変更する場合について説明している。
【0101】
図23に戻り、イベント管理部2611は、イベント監視部61と、追加部62と、更新部63と、設定部2631とを備える。
【0102】
設定部2631は、イベント管理テーブル2621に記憶されているイベント数に基づいて、各イベントの監視する有効時間を設定する。
【0103】
次に、以上のように構成された本実施の形態にかかる画像処理装置1におけるメッセージを受信した場合の処理について説明する。図29は、本実施の形態にかかる画像処理装置1における上述した処理の手順を示すフローチャートである。
【0104】
まず、リクエスト受信部51が、クライアントからのSubscribeリクエスト又はRenewリクエストを受信する(ステップS3301)。
【0105】
そして、設定部2631は、有効時間管理テーブル2622を参照して、有効時間を設定する(ステップS3302)。本実施の形態では、設定部2631は、受信したリクエストの数と、イベント管理テーブルで有効期限が経過していないレコードとの和を監視対象であるイベント数として算出し、算出されたイベント数と有効時間管理テーブル2622を参照して、有効時間を設定する。
【0106】
また、設定部2631は、監視イベント数が1−50であればSubscribeメッセージ又はRenewメッセージで要求された有効時間を、実際の有効時間と設定する。監視イベント数が、51−100であれば有効時間を30分と設定する。監視イベント数が、101−100であれば有効時間を20分と設定する。監視イベント数が、201以上であれば有効時間を10分と設定する。さらに、Subscribeメッセージ又はRenewメッセージで有効時間を要求されなかった場合、有効時間を10分と設定する。
【0107】
このようにして設定された各レコードは、有効時間が経過すると、イベント管理テーブル2621から削除される。しかしながら、有効時間が経過する前にクライアントからRenewリクエストを受信した場合は、当該レコードは削除されず、新たな有効時間が設定される。この有効時間を設定する際に監視イベント数が変化していれば、その数にしたがって新しい有効時間が設定される。このように、以前のSubscribeリクエストやRenewリクエストの時の有効時間とは異なる有効時間が設定される場合がある。
【0108】
つまり、設定部2631は、イベント管理テーブル2621を参照して、監視イベント数が1〜50であればクライアントが要求した有効時間通りに設定し、それ以上の監視イベント数であれば、監視イベント数が多くなるに従って有効時間を短く設定する。これにより、画像処理装置1の監視負担を軽減することができる。
【0109】
そして、設定部2631は、設定された有効時間と共に、クライアントから監視を要求されたイベントに関する情報対応付けて、イベント管理テーブル2621に登録/更新する。なお、Subscribeリクエストを受信した場合にレコードの登録を行い、Renewリクエストを受信した場合にレコードの更新を行うこととする。なお、本実施の形態では、設定部2631の有効時間の設定は新たに登録/更新したレコードに対して飲み行うが、イベント管理テーブル2621の全てのレコードに対して有効期限の再設定を行ってもよい。
【0110】
次に、設定部2631は、Subscribeリクエスト又はRenewリクエストを送信してきたクライアントに対して、Subscribe/Renewレスポンスメッセージを送信する(ステップS3304)。
【0111】
上述した処理手順により、Subscribeリクエスト又はRenewリクエストを受信した場合に、イベント監視数に応じて適切な有効時間の設定することが可能となる。
【0112】
なお、本実施の形態とは異なるが、イベント種類や、リクエスト送信元のクライアントに応じて有効時間を設定しても良い。そこで、変形例として、イベント種類に従って有効時間を設定する場合について説明する。図30は、変形例1にかかる有効時間管理テーブルのテーブル構造を示した図である。図30(A)に示すように、有効時間管理テーブルでは、イベント種類と、有効時間とが対応付けられている。これにより、図29のステップS3302において、設定部は、当該有効時間管理テーブルを参照し、Subscribeリクエスト又はRenewリクエストで監視を要求するイベントを表すイベント種類と対応付けられた有効時間の設定を行う。また、本変形例にかかる有効時間管理テーブルにおいては、重要なイベント種類ほど長い有効時間が設定されている。これにより、重要なイベントがクライアントに通知される可能性が向上する。なお、他の処理は第1の実施形態と同様とする。
【0113】
さらに他の変形例として、リクエスト送信元のクライアントに応じて有効時間を設定する場合について説明する。図30(B)は、変形例2にかかる有効時間管理テーブルのテーブル構造を示した図である。図30(B)に示すように、有効時間管理テーブルでは、クライアントを識別するIPアドレスと、有効時間とが対応付けられている。また、有効時間管理テーブルにおいては、重要なイベント種類ほど長い有効時間が設定されている。また、本変形例にかかる有効時間管理テーブルにおいては、クライアントほど長い有効時間が設定されている。これにより、図29のステップS3302において、設定部は、当該有効時間管理テーブルを参照し、Subscribeリクエスト又はRenewリクエストで監視を要求してきたクライアントに応じて、有効時間の設定を行う。また、本変形例にかかる有効時間管理テーブルにおいては、重要なクライアントほど長い有効時間が設定されている。なお、他の処理は第1の実施形態と同様とする。
【0114】
上述した変形例のように、利用者の実施する環境に応じて適切な有効時間管理テーブルを使用して良い。また、上述した実施の形態及び変形例で説明した全ての有効時間管理テーブルを予め画像処理装置に格納して、管理者が適切な有効時間管理テーブルを使用するように設定しても良い。この設定手法としては、画像処理装置に備え付けられているオペレーションパネルからネットワーク制御部に対して設定してもよいし、ネットワーク制御部を通じて外部から設定されたりする。
【0115】
また、本実施の形態にかかる画像処理装置1においては、イベント管理テーブル2621からレコードを削除するのは、有効期間を経過した場合に限るものではない。例えば、画像処理装置1は、クライアントがネットワークから離脱した場合にも、イベント管理テーブル2621からレコードを削除する。
【0116】
次に、本実施の形態にかかる画像処理装置1におけるネットワーク離脱パケット受信処理について説明する。図31は、本実施の形態にかかる画像処理装置1における上述した処理の手順を示すフローチャートである。
【0117】
まず、本実施の形態にかかる画像処理装置1のHTTP制御部45は、I/F部17を介して、パケットの受信を受け付ける(ステップS3601)。
【0118】
次に、HTTP制御部45は、WS-Discoveryプロトコルによるパケットを受信したか否か判断する(ステップS3602)。WS-Discoveryプロトコル以外のパケットを受信した場合(ステップS3602:No)、WS-Discovery処理部2612以外の構成が処理を行ったあと、再びパケットの受信の受付から開始する(ステップS3601)。
【0119】
そして、WS-Discoveryプロトコルによるパケットを受信した場合(ステップS3602:Yes)、WS-Discovery処理部2612が、当該パケットが、クライアントからのネットワーク離脱パケットか判断する(ステップS3603)。ネットワーク離脱パケットではないと判断した場合(ステップS3603:No)、判断したパケットに応じて適切な処理を行った後、再びパケットの受信の受付から開始する(ステップS3601)。
【0120】
図32は、ネットワーク離脱パケットの一例を示した図である。図32の行3701を確認すると、“Bye”と記載されているためにネットワーク離脱パケットと判断できる。
【0121】
図31に戻り、WS-Discovery処理部2612が、ネットワーク離脱パケットと判断した場合(ステップS3603:Yes)、その旨を、ネットワークを離脱したクライアントを示すIPアドレスと共にイベント管理部2611に通知する。
【0122】
そして、イベント管理部2611が、イベント管理テーブル2621で、通知されたIPアドレスが通知先クライアントとして登録されたレコードが存在するか否か判断する(ステップS3604)。無いと判断した場合(ステップS3604:No)、特に処理を行わず、再びパケットの受信の受付から開始する(ステップS3601)。
【0123】
また、イベント管理部2611は、当該レコードが存在すると判断した場合(ステップS3604:Yes)、イベント管理テーブル2621から、当該レコードを削除する処理を行う(ステップS3605)。これにより、ネットワーク離脱されたクライアントからのイベント監視要求が削除されたことになる。その後、再びパケットの受信の受付から開始する(ステップS3601)。
【0124】
上述した処理によりネットワーク離脱したクライアントからのイベント通知要求が削除される。
【0125】
次に、画像処理装置1において、ネットワーク離脱パケットを受信した場合について説明する。図33は、画像処理装置1において、ネットワーク離脱パケットを受信した場合のシーケンス図である。
【0126】
まずは、HTTP制御部45は、クライアント(Subscriber)から、ネットワーク離脱パケット(Bye)を受信する(ステップS3801)。
【0127】
当該ネットワーク離脱パケットは、WS-Discoveryプロトコルで記載されているので、WS-Discovery処理部2612に受信したパケットを通知する(ステップS3802)。
【0128】
そして、WS-Discovery処理部2612は、HTTP制御部45から渡されたパケットをさらにSOAP/XML処理部23に渡してその内容を解析させる(ステップS3803)。SOAP/XML処理部23はステップS3803において受け取ったメッセージの内容解析結果をWS-Discovery処理部2612に対して返信する(ステップS3804)。
【0129】
つぎに、WS-Discovery処理部2612は、受け取った内容解析結果から、所定のクライアントのネットワーク離脱が発生したことを認識し、イベント管理部2611に対して、ネットワークを離脱したクライアントしたことを通知する(ステップS3805)。これにより、ネットワークを離脱したクライアントからのイベント監視が格納されているレコードをイベント管理テーブル2621から削除できる。
【0130】
本実施の形態にかかる画像処理装置1では、当該リクエストを出したクライアントに対してイベントを通知する有効時間を状況に応じて変化させることで、画像処理装置1の処理負担を軽減させることができる。
【0131】
また、有効時間管理テーブルで有効時間を管理し、受け付けたリクエストに応じて有効時間を変更させることで、画像処理装置1に自由度を持たせることができる。また、有効時間管理テーブルに格納されているデータを利用者に変更可能とすることで、カスタマイズ性を向上させることができる。
【0132】
また、上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0133】
また、上述した実施の形態にかかる画像処理装置1、2600のイベント通知プログラムを、ROM等に予め組みこまれて提供される。
【0134】
上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムは、上述した各部(システム制御部24、メモリ制御部25、配信制御部26、ネットワーク制御部27、OS/Kernel28)を含むモジュール構成となっており、実際のハードウェアとしてはCPUが上記記録媒体からイベント通知プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、システム制御部24、メモリ制御部25、配信制御部26、ネットワーク制御部27、OS/Kernel28が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【0135】
以上のように、本発明にかかるイベント通知装置、イベント通知方法及びイベント通知プログラムは、他の装置に対してイベントを通知する技術に有用であり、特に、イベント通知を行う際に処理負担を軽減させる技術に適している。
【図面の簡単な説明】
【0136】
【図1】第1の実施の形態にかかる画像処理装置およびネットワークを介して画像処理装置を利用する装置により構成されるシステムの一例を示す図である。
【図2】第1の実施の形態にかかる画像処理装置のハードウェア構成例を示す図である。
【図3】第1の実施の形態にかかる画像処理装置のソフトウェア構成例を示す図である。
【図4】第1の実施の形態にかかる画像処理装置の特徴的な処理を実現するためのイベント通知部およびアプリケーション部の構成例を示す図である。
【図5】Subscribeメッセージの一例を示す図である。
【図6】SubscribeResponseメッセージの一例を示す図である。
【図7】Renewメッセージの一例を示す図である。
【図8】RenewResponseメッセージの一例を示す図である。
【図9】SubscriptionEndメッセージの一例を示す図である。
【図10】StatusEventReportメッセージの一例を示す図である。
【図11】faultメッセージの一例を示す図である。
【図12】画像処理装置がSubscribeメッセージまたはRenewメッセージを受信するシーケンス例を示す図である。
【図13】第1の実施形態にかかるイベント管理情報のテーブル構造を示した図である。
【図14】イベント発生監視動作およびイベント通知動作のシーケンス例を示す図である。
【図15】画像処理装置がイベント監視動作時に使用する情報の一例を示す図である。
【図16】画像処理装置がSubscriptionEndメッセージを送出する場合のシーケンス例を示す図である。
【図17】画像処理装置がSubscribeメッセージ/Renewメッセージを受信した場合の動作例を示すフローチャートである。
【図18】画像処理装置がSubscribeメッセージ/Renewメッセージ受信時の動作において使用する情報の一例を示す図である。
【図19】画像処理装置がSubscribeメッセージを受信した場合の動作例を示すフローチャートである。
【図20】画像処理装置においてイベントが発生した場合の動作例を示すフローチャートである。
【図21】画像処理装置においてイベントが発生した場合の動作例を時系列に示した図である。
【図22】画像処理装置がイベント通知動作において使用する情報の一例を示す図である。
【図23】第2の実施の形態にかかる画像処理装置のイベント通知部およびアプリケーション部の構成例を示す図である。
【図24】第2の実施の形態にかかるイベント管理テーブルのテーブル構造を示した図である。
【図25】第2の実施の形態にかかる有効時間管理テーブルのテーブル構造を示した図である。
【図26】WS-EventingプロトコルにおけるSubscribeのメッセージの一例を示した図である。
【図27】第2の実施の形態にかかるSubscribeResponseメッセージの第1の例を示した図である。
【図28】第2の実施の形態にかかるSubscribeResponseメッセージの第2の例を示した図である。
【図29】第2の実施の形態にかかる画像処理装置におけるメッセージを受信した場合の処理の手順を示すフローチャートである。
【図30】第2の実施の形態の変形例にかかる有効時間管理テーブルのテーブル構造を示した図である。
【図31】第2の実施の形態にかかる画像処理装置におけるネットワーク離脱パケット受信処理の手順を示すフローチャートである。
【図32】ネットワーク離脱パケットの一例を示した図である。
【図33】第2の実施の形態にかかる画像処理装置において、ネットワーク離脱パケットを受信した場合のシーケンス図である。
【図34】課題を説明するための図である。
【符号の説明】
【0137】
1 画像処理装置
11 CPU
12 システムメモリ
13 ノースブリッジ(NB)
14 サウスブリッジ(SB)
15 ASIC
16 記憶部
17 I/F部
21 アプリケーション部
22 プラットフォーム部
23 SOAP/XML処理部
24 システム制御部
25 メモリ制御部
26 配信制御部
27、2601 ネットワーク制御部
28 OS/Kernel
31 アプリケーション制御部
32 イベント検出部
33 情報通信部
41 全体制御部
42 WS-Eventing処理部
43、2611 イベント管理部
44 アプリ通信部
45 HTTP制御部
46 プロトコル制御部
51 リクエスト受信部
52 イベント通知部
61 イベント監視部
62 追加部
63 更新部
64、2631 設定部
71 イベント管理情報
72 監視間隔テーブル
73 優先度テーブル
2612 WS-Discovery処理部
2621 イベント管理テーブル
2622 有効時間管理テーブル
【技術分野】
【0001】
本発明は、ネットワークなどを介して接続された他の機器にイベントを通知するイベント通知装置、イベント通知方法及びイベント通知プログラムに関するものである。
【背景技術】
【0002】
近年、インターネットやイントラネットなどのネットワークに接続する機能を備え、ネットワークを介して他の機器(ユーザ)からの操作指示などを受け付けるプリンタなどの画像処理装置(ネットワーク対応の画像処理装置)が普及してきている。このような画像処理装置は、自身においてイベントが発生した場合、自身を利用するユーザに対して発生したイベントの内容を通知する。各ユーザは、イベントの内容(画像処理装置の状態)を把握し、必要に応じてその内容に従った動作を実行する。
【0003】
ところで、ある特定の画像処理装置を多数のユーザが利用する場合、発生したイベントの内容を各ユーザに対して一斉に通知するため、ネットワーク上のトラフィックが一時的に増大し、応答速度が低下してしまう、という問題が指摘されていた。そのため、この問題を解決するために、下記特許文献1に記載の技術では、イベントの通知先となるユーザ数に応じて、各ユーザに対するイベント通知動作の間に待ち時間(ディレイ)を設けることによりトラフィックが急増するのを防止し、応答速度が低下するのを回避するようにしている。
【0004】
【特許文献1】特開2001−282471号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、上記特許文献1に記載の技術によれば、応答速度が低下するのを回避することが可能である。しかしながら、イベントの通知先(イベント内容を示す情報の宛先)となるユーザ数が多い場合には、イベント発生時にその旨を全てのユーザに対して通知できないことがある、という上記応答速度の低下とは異なる解決すべき課題が存在する。
【0006】
たとえば、画像処理装置が2秒間隔でイベントを監視する場合について考えてみると、第1のイベントの発生を検出してから2秒経過後に新たなイベント(第2のイベント)が発生(イベント発生を検出)すると、その時点で第1のイベントの内容を示す第1のイベント発生情報が通知されていないユーザに対しては、引き続き第1のイベント発生情報を通知する。その結果、第1のイベントが発生してから2秒以内に第1のイベント発生情報を通知されなかったユーザの認識と、画像処理装置の実際の状態とに不一致が生じ、ユーザが混乱する可能性がある。すなわち、図34(A)に示した例のような場合には全てのユーザに対して正しくイベント発生情報を通知できるが、図34(B)に示した例のような場合には正しく通知できず、2秒以内に通知を受けることができなかったユーザは古い情報の通知を受ける可能性がある。
【0007】
また、他の例としては、複数の装置に対してイベント通知を要求する有効期限が長いために、通知を要求するユーザ数が多くなり、通知処理に遅延が生じる可能性がある。
【0008】
本発明は、上記に鑑みてなされたものであって、イベント発生時に当該イベントの通知を必要とするユーザに対して適切にイベントの通知を行うイベント通知装置、イベント通知方法及びイベント通知プログラムを得ることを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明にかかるイベント通知装置は、クライアント装置とネットワークを介して接続されたイベント通知装置であって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けて記憶するイベント情報記憶手段と、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信手段と、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加手段と、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定手段と、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視手段と、前記イベント監視手段がイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知手段と、を備える。
【0010】
また、本発明にかかるイベント通知装置は、上記のイベント通知装置において、前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0011】
また、本発明にかかるイベント通知装置は、上記のイベント通知装置において、前記イベント情報記憶手段は、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて記憶し、前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記有効時間内に限り行うこと、を特徴とする。
【0012】
また、本発明にかかるイベント通知方法は、ネットワークを介して接続されたクライアント装置に対してイベントを通知するイベント通知方法であって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、を有することを特徴とする。
【0013】
また、本発明にかかるイベント通知方法は、上記のイベント通知方法において、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0014】
また、本発明にかかるイベント通知方法は、上記のイベント通知方法において、前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、を特徴とする。
【0015】
また、本発明にかかるイベント通知プログラムは、ネットワークを介して接続されたクライアント装置に対してイベントを通知させることをコンピュータに実行させるイベント通知プログラムであって、イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、をコンピュータに実行させることを特徴とする。
【0016】
また、本発明にかかるイベント通知プログラムは、上記のイベント通知プログラムにおいて、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、を特徴とする。
【0017】
また、本発明にかかるイベント通知プログラムは、上記のイベント通知プログラムにおいて、前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、を特徴とする。
【発明の効果】
【0018】
本発明によれば、所定の監視制御に用いる設定情報を設定し、当該設定情報を使用して所定の監視制御を行うことで、状況に応じて適切な監視を行うことを可能とし、処理負担を軽減させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0019】
以下に、添付図面を参照して、この発明にかかるイベント通知装置であってコピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能及び入力画像(スキャナ機能による読み取り原稿画像やプリンタあるいはFAX機能により入力された画像)を配信する機能等を備える画像処理装置に適用した最良な実施形態を詳細に説明する。
【0020】
(第1の実施の形態)
図1は、第1の実施形態にかかる画像処理装置およびネットワークを介して画像処理装置を利用する端末により構成されるシステムの一例を示す図である。このシステムは、上記画像処理装置に相当する“機器”および当該機器を利用する複数のパーソナルコンピュータ(PC−A,PC−B,PC−C,PC−D,PC−E,PC−F,PC−G)を含んでいる。通常、ネットワークを介して画像処理装置1を利用するためには、所定の手続を実行する必要があるが、上記各パーソナルコンピュータは、必要な手続を既に実行し、上記画像処理装置1を利用可能な状態にあるものとする。なお、画像処理装置1を利用するのはパーソナルコンピュータに限らず、同様の通信機能などを備えた端末であってもよい。また、これ以降、ネットワークを介して上記画像処理装置1を利用する端末をクライアントと呼ぶ。
【0021】
図2は、本実施の形態にかかる画像処理装置のハードウェア構成例を示す図であり、この画像処理装置1は、CPU11と、システムメモリ12と、ノースブリッジ(NB)13と、サウスブリッジ(SB)14と、ASIC15と、記憶部16と、I/F部17と、を備える。なお、以下、上記画像処理装置を“画像処理装置1”と呼ぶ。
【0022】
画像処理装置1において、CPU11は、画像処理装置1の全体の制御を行う。システムメモリ12は、描画処理を行う際などに使用される。NB13は、CPU11、システムメモリ12、SB14、ASIC15、I/F部17を接続するためのブリッジ、SB14は、図2に示した各構成要素と図示されていない他の構成要素(ROMなど)とを接続するためのブリッジである。ASIC15は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。記憶部16は、ローカルメモリ,HDD(Hard Disk Drive),Flash ROM,NVRAM,などを含み、画像データ等の格納用領域や画像処理を行う際の作業用領域、などとして使用される。I/F部17は、Ethernet(登録商標) I/F,USB I/F,IEEE1394 I/F,無線I/F,などを含む。これらのI/Fは、インターネットやイントラネットなどのネットワークへの接続やパーソナルコンピュータなどへの接続のためなどに使用される。
【0023】
図3は、本実施の形態にかかる画像処理装置1のソフトウェア構成例を示す図である。アプリケーション部21、プラットフォーム部22およびSOAP/XML処理部23がソフトウェアを構成し、これらの各構成要素は、図2に示したCPU11により制御される。また、アプリケーション部21は、プリンタ、コピーなどの画像形成処理に関連するユーザーサービスに固有の処理を行う複数のアプリケーション処理部(アプリ#1,アプリ#2,アプリ#3,アプリ#4,…)を含み、プラットフォーム部22は、OS/Kernel28とともに、アプリケーション部21からの処理要求を解釈してハードウェアなどの各種資源の獲得要求を発生する各種制御部(システム制御部24,メモリ制御部25,配信制御部26,ネットワーク制御部27,…)を含む。また、プラットフォーム部22は、予め定義されている関数によりアプリケーション部21からの処理要求を受信可能とするアプリケーションプログラムインターフェース(API)を有する。
【0024】
なお、システム制御部24は、アプリケーションの管理、ハードウェア資源の管理、などの処理を行う。メモリ制御部25は、メモリの取得および解放などのメモリ制御を行う。配信制御部26は、他機器との送受信のためのデータの管理やデータの加工などを行う。ネットワーク制御部27は、図1に示したEthernet(登録商標)I/Fなどのネットワークインタフェイスと接続され、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供し、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。また、OS/Kernel28にはソケット以下のネットワーク処理部が存在している。
【0025】
SOAP/XML処理部23は、アプリケーション部からもプラットフォーム部からも使用できるような形で存在している。このSOAP/XML処理部23は、SOAP/XMLメッセージのエンコード/デコードを行う。なお、SOAP/XML処理部23は、通常、ライブラリの形式で提供されるが、プロセスの形式でもかまわない。
【0026】
図4は、本実施の形態にかかる画像処理装置1の特徴的な処理を実現するためのイベント処理部の構成例および図3に示したアプリケーション部21の構成例を示す図である。このイベント処理部は、図3に示したプラットフォーム部22に含まれるネットワーク制御部27およびSOAP/XML処理部23と、図2に示した記憶部16およびI/F部17と、により構成される。
【0027】
ネットワーク制御部27は、全体を統括する全体制御部41、WS-Eventingプロトコルを処理するWS-Eventing処理部42、イベントを管理するイベント管理部43、図3に示したアプリケーション部21との間で各種情報(メッセージやデータ)のやり取りを行うアプリ通信部44、HTTP制御部45、およびHTTP以外の各種プロトコル(たとえばFTP,Port9100,LPR)を処理するプロトコル制御部46を備える。
【0028】
HTTP制御部45は、リクエスト受信部51と、イベント通知部52とを備え、HTTPプロトコルを用いてデータの送受信を行う。リクエスト受信部51は、クライアントからイベント監視リクエストを受信する。そして、リクエスト受信部51は、受信したイベント監視リクエストを、イベント管理情報71に登録する。
【0029】
イベント通知部52は、後述するイベント管理部43がイベントを検出した場合に、HTTPプロトコルを用いて、送信先にイベント通知を行う。
【0030】
イベント管理部43は、イベント監視部61と、追加部62と、更新部63と、設定部64とを備える。イベント監視部61は、アプリ通信部44を介して、アプリケーション部21の各アプリにおいてイベントが発生するか否かを監視する。
【0031】
追加部62は、イベント監視リクエストをリクエスト受信部51が受信した場合、イベント監視リクエストに含まれているイベント名と、イベント監視リクエストの送信元のクライアント名と、有効期限とを対応付けて、後述するイベント管理情報71に追加する。なお、この送信元のクライアントは、イベントの通知先のクライアントとして追加される。また、イベント名は、換言すれば発生するイベントの種類を示している。なお、有効期限の取得手法については後述する。更新部63は、当該イベント管理情報に対して更新処理を行う。
【0032】
設定部64は、イベント管理情報71が記憶しているイベントの通知先のクライアントおよびイベント名のいずれか一つ以上に基づいて、イベント監視部61が監視制御を行う設定情報を設定する。本実施の形態では、設定部64が、設定情報としてイベントの監視周期を設定する場合について説明する。
【0033】
記憶部16は、イベント管理情報71と、監視間隔テーブル72と、優先度テーブル73と、を記憶する。なお、各テーブルの詳細については後述する。
【0034】
アプリケーション部21に含まれる各アプリケーション処理部(アプリ#1,…)は、それぞれ同様の構成をとり、アプリケーション処理部の制御を行うアプリケーション制御部31と、イベントを検出するイベント検出部32と、図3に示したプラットフォーム部22を構成する各制御部(すなわち上記イベント処理部に含まれる各制御部)との間で各種情報(メッセージやデータ)のやり取りを行う情報通信部33と、を備える。
【0035】
そして、上記イベント処理部は、アプリケーション部21の各アプリケーション処理部(アプリ#1,…)においてイベントが発生したかどうかの監視を定期的に行い、いずれかのアプリケーション処理部におけるイベント発生を検出した場合には、その旨を各クライアントへ通知する。イベントが発生したかどうかの監視動作の詳細およびイベント発生時の各クライアントへのイベント内容通知動作の詳細については後述する。
【0036】
つづいて、イベント処理部の動作を中心に、本実施の形態にかかる画像処理装置1の詳細動作を説明する。まず、各クライアントが上記画像処理装置1からイベント発生時にその内容の通知を受けるために必要な動作である画像処理装置1に対する初期設定動作について説明する。具体的には、クライアントが画像処理装置1に対して、発生したイベントを通知するように要求を出し、この要求に対して画像処理装置1が実行する動作について説明する。
【0037】
WS-Eventingプロトコルを使用する場合の例を以下に示す。まずクライアントは、図5に示したような内容のメッセージを画像処理装置1に対して送信する。図5は、Subscribeメッセージの一例を示したものであり、クライアントが、このメッセージで指示するイベントが発生した場合、その内容を通知するように画像処理装置1に対して要求するものである。このメッセージの内容は、「“StatusEvent(符号501)”が示すイベントについてStatusが変化したら(イベントが発生したら)通知をしてほしい」ということを示している。Subscribeメッセージを受信した画像処理装置1は、その要求内容に応じることができるかどうかを確認し、確認結果に基づいた内容の応答メッセージを返信する。
【0038】
つぎに、Subscribeメッセージを受信した画像処理装置1は、たとえば図6に示したような内容のメッセージをクライアントに対して送信する。図6は、Subscribeメッセージに対するレスポンス(SubscribeResponse)メッセージの一例を示したものであり、Subscribeメッセージを正常に受け付けた場合のものである。この内容は、「Subscribeメッセージで指示されたイベントが発生(検知)した場合、Expiresフィールド601に示された有効期限が到来するまでの間、その内容(発生したイベント)を通知する」ということを示している。これ以後、原則としてExpiresフィールドに示された有効期限が到来するまで、画像処理装置1は、上記Subscribeメッセージで指示されたイベントを検知した場合、その内容を上記SubscribeResponseメッセージの送信相手先クライアントへ通知する。
【0039】
また、上記SubscribeResponseメッセージを受信したクライアントは、当該受信したメッセージに示された上記有効期限が到来後も引き続いてイベントの通知を受けたい場合、図7に示したような内容のメッセージを画像処理装置1に対して送信する。図7は、Renewメッセージの一例を示したものであり、通常はクライアントが画像処理装置1からイベント通知を受けている状態において送信される。この内容は、「(それ以前に受信したSubscribeResponseメッセージなどに含まれるExpiresフィールドに示された)有効期限が到来後も引き続いて、発生したイベントを通知してほしい」ということを示している。
【0040】
Renewメッセージを受信すると、画像処理装置1は、たとえば図8に示したような内容のメッセージをクライアントに対して送信する。図8は、Renewメッセージに対するレスポンス(RenewResponse)メッセージの一例を示したものであり、Renewメッセージを正常に受け付けた場合のものである。この内容は、「Expiresフィールドに示された有効期限が到来するまでの間、発生(検知)したイベントを通知する」ということを示している。すなわち、更新された有効期限がExpiresフィールドに示される。
【0041】
なお、図9は、SubscriptionEndメッセージの一例を示す図である。このSubscriptionEndメッセージは、上記Expiresフィールドに示された有効期限内であるにもかかわらずイベントの通知を停止する場合、画像処理装置1がイベントの通知を停止するクライアントに対して送信する。
【0042】
図10は、StatusEventReportメッセージの一例を示す図である。画像処理装置1は、SubscribeResponseメッセージおよびRenewResponseメッセージの送信先であるクライアントに対して、それらのメッセージにて通知した有効期限が到来するまでに発生したイベントを、このStatusEventReportメッセージを使用して通知する。図10に示した例は、トナーがなくなった(Out of Toner)ことを検出した場合にそれを通知するためのメッセージである。
【0043】
また、図11の(A),(B)は、それぞれSubscribeメッセージ(図5参照),Renewメッセージ(図7参照)に対する応答メッセージの一例を示す図であり、画像処理装置1が要求(Subscribe,Renew)を受け付けられない場合に返送するfaultメッセージの一例を示している。SubscribeメッセージまたはRenewメッセージを受信したが、それを受け付けることができない場合、画像処理装置1は、SubscribeResponseメッセージまたはRenewメッセージに代えて、faultメッセージを送信する。図11の(A)および(B)に示したいずれの例も、リソース不足(not-enough resource)を理由として要求(SubscribeまたはRenew)を受け付けられない場合に返送されるメッセージである。
【0044】
図12は、画像処理装置1がクライアントからSubscribeメッセージまたはRenewメッセージを受信するシーケンス例を示す図である。なお、“Subscriber”がクライアントに相当する。
【0045】
画像処理装置1がクライアントからSubscribeメッセージまたはRenewメッセージを受信すると(ステップS11)、画像処理装置1のネットワーク制御部において、HTTP制御部45のリクエスト受信部51が、受信したメッセージをWS-Eventing処理部42へ渡す(ステップS12)。WS-Eventing処理部42はHTTP制御部45から渡されたメッセージをさらにSOAP/XML処理部23に渡してその内容を解析させる(ステップS13)。SOAP/XML処理部23はステップS13において受け取ったメッセージの内容解析結果をWS-Eventing処理部42に対して返信する(ステップS14)。
【0046】
つぎに、WS-Eventing処理部42は、ステップS14において受け取った内容解析結果を登録するように、イベント管理部43に対して要求し(ステップS15)、イベント管理部43はステップS15における要求内容に基づいた処理を実行する。
【0047】
たとえば、リクエスト受信部51がSubscribeメッセージを受信し、イベント管理部43が当該メッセージで示された要求を受け入れることができると判断した場合、イベント管理部43の追加部62は、Subscribeメッセージの内容に基づいて、新たなレコードをイベント管理情報71に追加する。このイベント管理情報71は、あるイベントが発生した場合、そのイベントをどのクライアントに通知すべきかを示した情報であり、各イベントとその通知先クライアントの対応関係を示したものである。イベント管理情報71にはイベント通知動作の有効期限情報(どのイベントの通知をどのクライアントに対していつまで行うかを示す情報)も含まれる。
【0048】
図13は、イベント管理情報71のテーブル構造を示した図である。図13に示すようにイベント管理情報71は、イベント名と、通知先クライアントと、有効期限とを対応付けて記憶している。つまり、イベント管理部43が任意のイベントが発生したと判断した場合、イベント通知部52が、当該イベントを示すイベント名と対応付けられた通知先クライアントに対して、有効期限内であれば、発生した当該イベントを示すメッセージを通知する。
【0049】
また、リクエスト受信部51がRenewメッセージを受信し、イベント管理部43が当該メッセージが示す要求を受け入れることができると判断した場合、更新部62は上記イベント管理情報71に含まれるイベント通知動作の有効期限情報を更新、すなわちイベント管理情報71を更新する。なお、SubscribeメッセージやRenewメッセージの受信に伴い更新されたイベント管理情報71は、記憶部16などに保持される。SubscribeメッセージやRenewメッセージが示す要求を受け入れられない場合、イベント管理情報71は更新されない。
【0050】
イベント管理部43は、処理が終了すると、その処理結果をWS-Eventing処理部42へ通知する(ステップS16)。さらに、WS-Eventing処理部42は、上記SubscribeメッセージまたはRenewメッセージの送信元であるクライアントに対して返信するメッセージ(レスポンスメッセージ)を、ステップS16において通知を受けた処理結果に基づいて生成するようにSOAP/XML処理部23に対して要求する(ステップS17)。SOAP/XML処理部23は、WS-Eventing処理部42からの要求内容に従ってレスポンスメッセージを生成し、それをWS-Eventing処理部42に渡す(ステップS18)。ステップS18においてレスポンスメッセージを受け取ったWS-Eventing処理部42は、それをHTTP制御部45へ渡し(ステップS19)、HTTP制御部45は受け取ったレスポンスメッセージをクライアントに対して返信する(ステップS20)。
【0051】
なお、ステップS20においてHTTP制御部45から返信されるメッセージの内容は、上記ステップS11において画像処理装置が受け取ったメッセージの内容(SubscribeメッセージかRenewメッセージか)および上記ステップS16におけるイベント管理部43の処理結果により異なる。ステップS11において受け取ったメッセージが示す内容(要求)を画像処理装置1が受け付ける場合には、SubscribeResponseメッセージ(図6参照)またはRenewResponseメッセージ(図8参照)が返信される。一方、要求を受け付けない場合には、faultメッセージ(図11(A)および(B)参照)が返信される。
【0052】
図14は、画像処理装置1におけるイベント発生監視動作シーケンスおよび検出したイベントの通知動作シーケンスの一例を示す図である。
【0053】
画像処理装置1においてネットワーク制御部のイベント管理部43のイベント監視部61は、アプリケーション部21の各アプリケーション処理部においてイベントが発生したかどうかの監視を定期的に行う(ステップS31,S33)。具体的には、イベント監視部61は、アプリ通信部44を介して、イベントが発生したかどうか(状態が変化したかどうか)を各アプリケーション処理部のイベント検出部32に対して問い合わせる。
【0054】
なお、図14に示した例においては、説明を簡単にするためにイベント管理部43が1つのアプリケーション処理部(アプリ#N)のイベント検出部32に対してのみ問い合わせを行っているが、実際には全てのアプリケーション処理部に対して問い合わせを行う。また、イベント管理部43と各アプリケーション処理部のイベント検出部32はアプリ通信部44および情報通信部33を介して通信を行う。
【0055】
ここで、イベント管理部43のイベント監視部61が各アプリケーション処理部においてイベントが発生したかどうかの監視を定期的に行うにあたり、イベント管理部43の設定部64が、その監視周期を監視結果の通知対象となるクライアント数に応じて設定する。
【0056】
図15は、画像処理装置がイベント監視動作時に使用する情報の一例を示す図である。たとえば、図15(A)に示したような監視間隔テーブル72を予め準備して記憶部16に保持しておく。そして、設定部64が、上記イベント管理情報71から監視結果の通知対象であるSubscribe登録済みクライアントの数(イベント発生時にその通知を行う相手先となるクライアントの数)を確認する。確認の結果、設定部64は、クライアント数が100以下であれば(Subscribe登録個数が100個以下であれば)イベント発生の監視周期(Polling間隔)を1秒に設定し、101以上200未満であれば監視周期を2秒に設定する。なお、図15(A)の監視間隔テーブル72に示した監視周期は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。これにより、検出したイベントをSubscribe登録済みのクライアント全てに対して正しく通知することができる。
【0057】
ところで、画像処理装置1において発生するイベントには、その内容を迅速かつ正確に通知する必要があるものとそうでないものが存在する。たとえば、トナーに関するイベントでは、トナーが完全に無くなったことを検出するのは頻繁に行う必要があると考えられる。一方、トナーが少なくなったことを検出するのはそれほど頻繁に行う必要はなく、またトナーが少なくなったことをクライアントに対して直ちに、正しく通知しなくても(トナーが少ない状態となった後、直ちにその状態が通知されなくても)それほど大きな問題とはならない。そのため、各イベントの監視周期を一律にするのではなく、アプリケーションごとにイベントの監視周期を違えてもよい。
【0058】
そこで、本実施の形態の変形例としては、図15(A)に示した監視間隔テーブル72の代わりに、図15(B)に示したような監視間隔テーブルを予め準備して記憶部16に保持しておき、設定部64は、当該監視間隔テーブルに示された監視時間を使用して監視間隔を設定する。そして、イベント監視部61が当該監視間隔で各イベントの監視を行う。これにより、優先度の高いイベント(通知の迅速性や正確性が要求されるイベント)の発生をより迅速かつ正しくSubscribe登録済みのクライアント全てに対して通知することができる。なお、図15(B)の監視間隔テーブルに示した監視周期は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。また、図15(B)の例では監視間隔を2種類としているが3種類以上としてもよい。
【0059】
第1の実施の形態の図14に戻り、イベント検出部32は、イベント管理部43のイベント監視部61からの問い合わせに対して、イベントが発生していなければその旨を通知する(ステップS32)。これに対して、イベント検出部32は、イベントが発生している場合にはその旨を通知する(ステップS34)。
【0060】
イベント検出部32からイベント発生の通知を受けた場合、イベント管理部43はその旨をWS-Eventing処理部42へ通知する(ステップS35)。WS-Eventing処理部42は、イベントの発生をクライアントに対して通知するためのメッセージを生成するようにSOAP/XML処理部23に対して要求し(ステップS36)、これに対するメッセージをSOAP/XML処理部23から受け取り(ステップS37)、さらに、SOAP/XML処理部23から受け取ったメッセージをHTTP制御部45へ渡す(ステップS38)。そして、HTTP制御部45のイベント通知部52は、WS-Eventing処理部42から受け取ったメッセージ(図10に例示したようなStatusEventReportメッセージ)をクライアントに対して送信する(ステップS39)。図14においてはStatusEventReportメッセージをNotificationメッセージと表現している。通常、クライアントは受信したメッセージに対する応答メッセージ(図14の例ではHTTP 200 Response)を返信する(ステップS40)。なお、上記ステップS39では、画像処理装置1のイベント通知部52は、イベントの通知要求を受けている全てのクライアント(SubscribeメッセージまたはRenewメッセージを受信済み、かつそれらに対する応答メッセージにおいて示した有効期限が到来していないクライアント)に対して、発生したイベントを示すメッセージを送信する。
【0061】
図16は、画像処理装置1がSubscriptionEndメッセージを送出する場合のシーケンス例を示す図である。イベント管理部43はSubscriptionEndに相当する事象が発生すると、その旨をWS-Eventing処理部42へ通知する(ステップS51)。WS-Eventing処理部42は、SubscriptionEndをクライアントに対して通知するためのメッセージを生成するようにSOAP/XML処理部23に対して要求し(ステップS52)、これに対するメッセージをSOAP/XML処理部23から受け取り(ステップS53)、さらに、SOAP/XML処理部23から受け取ったメッセージをHTTP制御部45へ渡す(ステップS54)。そして、HTTP制御部45はWS-Eventing処理部42から受け取ったメッセージ(図9に例示したようなSubscriptionEndメッセージ)をクライアントに対して送信する(ステップS55)。通常、クライアントは受信メッセージに対する応答メッセージを返信する(ステップS56)。
【0062】
図17は、画像処理装置1がSubscribeメッセージ/Renewメッセージを受信した場合の動作例を示すフローチャートである。SubscribeメッセージまたはRenewメッセージを受信すると(ステップS61)、画像処理装置1のイベント管理部43は、その内容を確認し、特定条件に該当するかどうかを確認する(ステップS62)。ここで、特定条件に該当するかどうかは、たとえば、SubscribeメッセージやRenewメッセージの送信元(クライアント)や、監視するイベントの種類に応じて判断する。
【0063】
つまり、追加部62は、Subscribeメッセージ/Renewメッセージを受信した場合、常にイベント管理情報71にレコードを追加するわけではなく、Subscribeメッセージ/Renewメッセージに含まれているイベント名又はSubscribeメッセージ/Renewメッセージを送信したクライアントと、イベント管理情報71に格納されている情報(例えば、イベント、通知先クライアント)と、に基づいて、Subscribeメッセージ/Renewメッセージに含まれているイベント名や、Subscribeメッセージ/Renewメッセージの送信元のクライアントと、を対応付けてイベント管理情報71に追加するか否か判断する。この例としては、イベントやクライアント等に優先度を設定し、当該優先度に基づいて追加するか否か判断することが考えられる。
【0064】
図18は、Subscribe/Renewメッセージの送信元のIPアドレスと優先度の関係を保持する優先度テーブル73の一例を示す図である。この場合、図18(A)に示したような優先度テーブル73を予め準備して記憶部16に保持しておき、保持しておいたテーブルを用いて判断を行う。たとえば、優先度(Priority)の高いIPアドレスの送信元からメッセージを受信した場合や、特定条件と判断する。
【0065】
つまり、リクエスト受信部51がSubscribeメッセージを受信した場合、イベント管理部43の追加部62は、当該Subscribeメッセージに含まれるイベント名が、イベント管理情報71のフィールド“イベント”に格納されているレコード数を算出する。そして、追加部62は、算出したレコード数が所定の数(例えば100)だけ存在しているか否か判断する。そして、追加部62は、レコード数が所定の数と一致していると判断した場合に、Subscribeメッセージの送信元のクライアントが、優先度テーブル73で優先すべきクライアントであるか否か判断する。この優先すべきクライアントであるか否かは、例えば優先度テーブル73で、優先度Highのクライアントを、優先すべきクライアントと判断する等が考えられる。そして、追加部62は、優先すべきクライアントであると判断した場合に、イベント管理情報71で優先すべきではないと判断されたクライアント(例えば優先度テーブル73で優先度がLowと対応付けられているクライアント)が格納されているレコードを削除し、Subscribeメッセージの送信元のクライアントを通知先クライアントとしたレコードを追加する。
【0066】
また、本実施の形態の変形例として、受信したメッセージの内容がテーブルに示した優先度の高い項目に該当する場合に、特定条件と判断してもよい。図18(B)は、通知対象イベントの種類と優先度の関係を保持する優先度テーブルの一例を示す図である。この場合、Subscribeメッセージを受信して、イベント管理情報71のレコード数が所定の数以上となった場合に、優先度が低いイベントのレコードが削除され、優先度が高いイベントのレコードが追加されることになる。
【0067】
さらには、特定条件に該当するかどうかの確認処理においては、図18(A)または(B)のいずれか一つのテーブルのみを用いて判断するようにしてもよいし、双方を用いて判断するようにしてもよい。また、これらのテーブルは、メッセージ(Subscribe/Renew)の送信元の機器の種類や、画像処理装置の仕様や種類により異なる可能性がある。
【0068】
図17に戻り、上記ステップS62において特定条件に該当しないと判断した場合(ステップS62,No)、画像処理装置1はエラーレスポンス(図11(A)または(B)に例示したようなfaultメッセージ)を返信する(ステップS63)。これに対して、特定条件に該当すると判断した場合(ステップS62,Yes)、正常レスポンス(図6に例示したSubscribeResponseメッセージまたは図8に例示したRenewResponseメッセージ)を返信する(ステップS64)。なお、ステップS63,S64の詳細動作については、図12に基づいて上述したとおりである。
【0069】
また、図17で示した処理手順では、特定条件に該当するか否かのみでイベント管理情報71に追加するか否か判断していたが、これにイベント管理情報71で保持しているレコード数も考慮しても良い。そこで、特定条件とレコード数とを考慮した変形例について説明する。
【0070】
図19は、当該変形例にかかる画像処理装置1がSubscribeメッセージを受信した場合の動作例を示すフローチャートである。リクエスト受信部51がSubscribeメッセージを受信すると(ステップS71)、画像処理装置1のイベント管理部43の追加部62は、Subscribe登録済みのクライアント数が登録可能な最大数に達しているかどうかを確認する(ステップS72)。図5に例示したSubscribeメッセージの説明において示したように、クライアントはSubscribeする対象のイベントを個別に指定できるため、Subscribe登録済みのクライアント数が登録可能な最大数に達しているイベントとそうでないイベントが混在している可能性がある。そのためステップS72においては、Subscribeメッセージで指示されたイベントそれぞれについて、Subscribe登録済みのクライアント数が登録可能な最大数に達しているかどうかを確認する。ステップS72の処理の結果、確認した全てのイベントについて、追加部62がSubscribe登録済みのクライアント数が登録可能最大数に達していないと判断した場合(ステップS72,No)、HTTP制御部45が正常レスポンス(図6に例示したSubscribeResponseメッセージ)を返信する(ステップS74)。一方、追加部62がSubscribe登録済みのクライアント数が登録可能な最大数に達しているイベントが1つでも存在すると判断した場合には(ステップS72,Yes)、受信したSubscribeメッセージの内容を確認し、特定条件に該当するかどうかを確認する(ステップS73)。ここで、特定条件に該当するかどうかの確認処理は、上記図16に示したステップS62における確認処理と同様である。追加部62が、ステップS73において特定条件に該当しないと判断した場合(ステップS73,No)、画像処理装置1のHTTP制御部45がエラーレスポンス(図11(A)に例示したようなfaultメッセージ)を返信する(ステップS75)。これに対して、追加部62が、特定条件に該当すると判断した場合(ステップS73,Yes)、正常レスポンス(図6に例示したようなSubscribeResponseメッセージ)を返信する(ステップS76)。
【0071】
リクエスト受信部51が優先度の高いクライアントからSuscribeメッセージを受信した場合、追加部62が、優先度の低いSubscribe登録済みのクライアントを選択してその登録を抹消し、HTTP制御部45が、当該クライアントに対してSbscriptionEndメッセージを送信する(ステップS77)、すなわち、追加部62が、Subscribe登録済みのクライアント数が登録可能な最大数に達しているイベントに関して、選択した登録済みの情報に代えて上記ステップS71において受信したSubscribeメッセージの内容を新しい情報として登録する。なお、上記登録可能最大数はSubscribe登録するイベント(監視対象として登録するイベント)の種類に応じて異なる値としてもよい。
【0072】
また、優先度の高いイベントの監視を要求するSuscribeメッセージを受信した場合には、Subscribe登録済みのクライアント数が登録可能最大数に達しているイベントのSubscribe登録済みのクライアントの中から、優先度の低いクライアントを選択し、選択したクライアントに代えて上記ステップS71において受信したSubscribeメッセージの送信元クライアントを新たにSubscribe登録する。
【0073】
図20は、画像処理装置1においてイベントが発生した場合の動作例を示すフローチャートである。イベントの発生を検出すると、イベント管理部43は、それを通知するためのメッセージの宛先としてSubscribe登録済みのクライアントの中から選択する(ステップS81)。そして、イベント通知部52が、上記図14に示したステップS36〜S39の処理を実行することにより発生したイベントの内容を通知するためのメッセージ(イベント通知メッセージ)をステップS81で選択した宛先(クライアント)に対して送信する(ステップS82)。そして、イベント通知部52が、指定時間内にメッセージの宛先から応答が返ってきたかどうかを確認する(ステップS83)。指定時間内に応答がなかった場合(ステップS83,No)、イベント通知部52が、上記ステップS82において送信したメッセージのあて先を送信失敗あて先に登録する(ステップS84)。このとき、必要に応じて、イベント管理部からそのイベント情報を削除する。なお、指定時間の設定手法については後述する。
【0074】
これに対して、指定時間内に応答があった場合(ステップS83,Yes)、イベント通知部52が、上記イベント通知メッセージの送信先がまだ残っているかどうか(Subscribe登録済みの全てのクライアントに対してイベント通知メッセージを送信したかどうか)を確認する(ステップS85)。送信先が残っていない(Subscribe登録済みの全てのクライアントに対してイベント通知メッセージを送信した)ことを確認した場合(ステップS85,No)、処理を終了する。イベント通知部52が、送信先が残っていることを確認した場合(ステップS85,Yes)、上記ステップS81に遷移して、上述したステップS81〜S85に示した処理を継続する。
【0075】
図21は、上記イベントが発生した場合の動作例を時系列に示した図である。また、上記ステップS83の処理においては、Subscribeの登録個数(Subscribe登録済みのクライアント数)に基づいてメッセージの宛先からの応答を待つ時間(上記指定時間に相当)を変更する。たとえば、図22に示したようなテーブルを予め準備して記憶部16に保持しておき、Subscribeの登録個数が100個以下であれば、応答待ち時間を4秒とする。これにより、全てのSubscribe登録済みのクライアントに対するイベント通知処理を特定の時間内において終了することが可能となる。なお、図22に示した応答待ち時間は、1クライアントに対する監視結果通知処理に必要とする時間に基づいて決定する。
【0076】
このように、本実施の形態においては、イベント発生時の通知相手先(イベント通知先)となるクライアントの数(Subscribe登録済みのクライアント数)に応じて、イベントの検出間隔を変化させるようにした。これにより、イベント発生を検出した場合には、全てのイベント通知先に対して、最新の情報(発生イベント)を正しく通知することができる。
【0077】
また、受け付けるイベント監視リクエスト(Subscribeメッセージ)の種類により、優先度を設定して、イベントの検出間隔を変化させるようにしたので、イベント発生を検出した場合には、全てのイベント通知先に対して、発生イベントを正しくかつ効率的に通知することができる。
【0078】
また、Subscribe登録済みのクライアント数に基づいて、すなわち、Subscribe登録済のクライアント数が、登録可能最大数に達しているかどうかを考慮して、新たなイベント監視リクエストや更新イベント監視リクエスト(Renewメッセージ)を処理するかどうか判断するようにしたので、一度登録されたイベント通知先に対して、発生イベントを確実に通知することができる。
【0079】
また、Subscribe登録済のクライアント数が、登録可能最大数に達している場合であっても、優先度が高いなどの特定の相手(優先クライアント)からのイベント監視リクエストを受け付けた場合には、他の優先度がそれほど高くないSubscribe登録済のクライアントに関する登録を抹消し、優先クライアントをSubscribe登録することにしたので、優先度の高い相手に対して、発生イベントを確実に通知することができる。
【0080】
また、Subscribe登録済のクライアント数が、登録可能最大数に達している場合であっても、優先度が高いなどの特定の種類のイベント監視リクエストを受け付けた場合には、他の優先度がそれほど高くないSubscribe登録済のクライアントに関する登録を抹消することにしたので、優先度の高いイベントが発生した場合にそれを確実に通知することができる。
【0081】
また、Subscribe登録済のクライアント数に応じて、イベント通知に対するイベント通知先からの応答待ち時間を変化させるようにしたので、イベント通知をできるだけ多くのイベント通知先に対して行うことができる。
【0082】
また、本実施の形態では、イベントを通知する画像処理装置1について説明したが、画像処理装置に制限するものではなく様々な装置に適用することができる。例えば、社内ネットワークを介して様々な装置と接続されているビジネスオフィス機器等にも適用する子ことができる。つまり、ネットワークを介してクライアントなどの装置と接続され、監視対象の状態が変化した場合に通知を行うことが可能な装置であればよい。
【0083】
また、本実施の形態にかかる画像処理装置1においては、監視イベント数に応じて監視間隔が設定されるので、監視イベント数が多くなれば監視間隔を長くすることで、処理負担を軽減させることができる。
【0084】
(第2の実施の形態)
上述した第1の実施の形態にかかる画像処理装置1においては、イベントを監視する監視制御の設定情報として、監視周期を設定する場合について説明した。しかしながら、監視制御の設定情報を監視周期に限るものではない。そこで、第2の実施形態では、監視制御の設定情報として、イベント通知を行う際の有効期限を設定する場合について説明する。
【0085】
第2の実施の形態にかかる画像処理装置1は、上述した第1の実施の形態にかかる画像処理装置1とは、ネットワーク制御部27とは処理が異なるネットワーク制御部2601に変更された構成を有している点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【0086】
図23は、本実施の形態にかかる画像処理装置1のイベント処理部の構成例およびアプリケーション部21の構成例を示す図である。上述した第1の実施形態にかかるイベント処理部とは、ネットワーク制御部2601の他、記憶部16に格納されているテーブルが異なる点とする。
【0087】
記憶部16は、イベント管理テーブル2621と、有効時間管理テーブル2622と、を備える。
【0088】
図24は、イベント管理テーブル2621のテーブル構造を示した図である。図24に示すように、イベント管理テーブル2621は、管理番号と、通知先クライアント、イベント種類、SubscribeID、有効時間及び登録時間とを対応付けて記憶している。イベント管理テーブル2621のレコードは、クライアントからイベント通知要求に応じて登録される。そして、イベントが発生した場合、画像処理装置1は、当該イベント監視テーブルを参照して、通知先クライアントに、イベントの通知を行う。
【0089】
管理番号は各レコードを示すシーケンシャルな番号とする。また、SubscribeIDは、Subscribeメッセージ毎に割り当てられるユニークなIDとする。登録時間は、当該レコードの登録や更新が行われた時間を保持する。そして、当該登録時間から有効時間だけ時間が経過すると、該当するレコードが削除される。なお、詳細な処理については後述する。
【0090】
図25は、有効時間管理テーブル2622のテーブル構造を示した図である。図25に示すように、有効時間管理テーブル2622は、監視イベント数と、有効時間とを対応付けて記憶している。そして、本実施の形態にかかる画像処理装置1では、当該有効時間管理テーブル2622を用いて、上述したイベント管理テーブル2621の有効時間を設定する。
【0091】
また、有効時間管理テーブル2622は、記憶部16のNBRAM内に保存することが考えられる。また、当該有効時間管理テーブル2622は、書き換え可能な記憶部ではなくともよいし、当該処理を行うためにソフトウェア上ハードコーディングすることなども考えられる。
【0092】
そして、画像処理装置1では、有効時間管理テーブル2622を参照し、イベント管理テーブル2621のレコードの登録、更新を行う際に適切な有効時間を設定する。
【0093】
図23に戻り、ネットワーク制御部2601は、第1の実施の形態にかかるネットワーク処理部27とは、イベント管理部43とは処理が異なるイベント管理部2611に変更され、WS-Discovery処理部2612が追加された点とする。
【0094】
WS-Discovery処理部2612は、WS-Discoveryプロトコルを処理する。WS-Discoveryプロトコルで定義されているパケットとしては、ネットワーク離脱パケットByeがある。
【0095】
つまり、本実施の形態にかかる画像処理装置1では、第1の実施形態の画像処理装置1が処理したSubscribeメッセージなどのWS-Eventingプロトコルのメッセージに加えて、ByeパケットなどのWS-Discoveryプロトコルで定義されているパケットについても処理する。
【0096】
図26は、WS-EventingプロトコルにおけるSubscribeのメッセージの一例を示した図である。クライアントは、このようなSubscribeメッセージを画像処理装置1に対して送信することで、イベントの通知を要求する。図26に示すSubscribeメッセージは、行3001でSubscribeメッセージであることが特定できる。また、行3002には、有効時間が記載されている。さらに、行3003は、イベント“PrinterStatusEvent”を監視対象として登録することを要求している。なお、イベント“PrinterStatusEvent”は、画像処理装置1の“PrinterStatus”が変化した場合に発生するイベントとする。つまり、画像処理装置1の“PrinterStatus”が変更した場合に、クライアントに対してイベント通知が行われる。
【0097】
図27は、WS-EventingプロトコルにおけるSubscribeResponseメッセージの一例を示した図である。行3101でSubscribeResponseメッセージであることが特定できる。また、行3102のExpiresタグで囲まれた“PT30M”がこのイベント監視の有効時間として、30分を設定したことを示している。
【0098】
また、図27に示すSubscribeResponseメッセージは、図26に示すSubscribeメッセージのレスポンスメッセージの第1の例である。当該SubscribeResponseメッセージは、図26に示すSubscribeメッセージを通知したクライアントに対して画像処理装置1が送信する。具体的には、図26で示すSubscribeメッセージで、有効時間として30分要求したのに対して、図27に示すSubscribeResponseメッセージで要求通り有効時間として30分で設定した旨の応答を行っている。
【0099】
図28に示すSubscribeResponseメッセージは、図26に示すSubscribeメッセージのレスポンスメッセージの第2の例である。当該レスポンスメッセージでは、行3201でSubscribeResponseメッセージであることが特定できる。また、行3202のExpiresタグで囲まれた“PT10M”がこのイベント監視の有効時間として、10分を設定したことを示している。つまり、図26で示すSubscribeメッセージで、有効時間として30分要求したのに対して、図28に示すSubscribeResponseメッセージでは、要求より少ない10分が有効時間として設定された旨の応答を行っている。
【0100】
このように本実施の形態にかかる画像処理装置1では、クライアントからイベント通知の要求があった場合、当該要求の有効時間を状況に応じて適切に設定する。この有効時間を設定するための状況としては、イベント数、イベント監視先、イベント種類等が考えられる。本実施の形態では、イベント数で有効時間を変更する場合について説明している。
【0101】
図23に戻り、イベント管理部2611は、イベント監視部61と、追加部62と、更新部63と、設定部2631とを備える。
【0102】
設定部2631は、イベント管理テーブル2621に記憶されているイベント数に基づいて、各イベントの監視する有効時間を設定する。
【0103】
次に、以上のように構成された本実施の形態にかかる画像処理装置1におけるメッセージを受信した場合の処理について説明する。図29は、本実施の形態にかかる画像処理装置1における上述した処理の手順を示すフローチャートである。
【0104】
まず、リクエスト受信部51が、クライアントからのSubscribeリクエスト又はRenewリクエストを受信する(ステップS3301)。
【0105】
そして、設定部2631は、有効時間管理テーブル2622を参照して、有効時間を設定する(ステップS3302)。本実施の形態では、設定部2631は、受信したリクエストの数と、イベント管理テーブルで有効期限が経過していないレコードとの和を監視対象であるイベント数として算出し、算出されたイベント数と有効時間管理テーブル2622を参照して、有効時間を設定する。
【0106】
また、設定部2631は、監視イベント数が1−50であればSubscribeメッセージ又はRenewメッセージで要求された有効時間を、実際の有効時間と設定する。監視イベント数が、51−100であれば有効時間を30分と設定する。監視イベント数が、101−100であれば有効時間を20分と設定する。監視イベント数が、201以上であれば有効時間を10分と設定する。さらに、Subscribeメッセージ又はRenewメッセージで有効時間を要求されなかった場合、有効時間を10分と設定する。
【0107】
このようにして設定された各レコードは、有効時間が経過すると、イベント管理テーブル2621から削除される。しかしながら、有効時間が経過する前にクライアントからRenewリクエストを受信した場合は、当該レコードは削除されず、新たな有効時間が設定される。この有効時間を設定する際に監視イベント数が変化していれば、その数にしたがって新しい有効時間が設定される。このように、以前のSubscribeリクエストやRenewリクエストの時の有効時間とは異なる有効時間が設定される場合がある。
【0108】
つまり、設定部2631は、イベント管理テーブル2621を参照して、監視イベント数が1〜50であればクライアントが要求した有効時間通りに設定し、それ以上の監視イベント数であれば、監視イベント数が多くなるに従って有効時間を短く設定する。これにより、画像処理装置1の監視負担を軽減することができる。
【0109】
そして、設定部2631は、設定された有効時間と共に、クライアントから監視を要求されたイベントに関する情報対応付けて、イベント管理テーブル2621に登録/更新する。なお、Subscribeリクエストを受信した場合にレコードの登録を行い、Renewリクエストを受信した場合にレコードの更新を行うこととする。なお、本実施の形態では、設定部2631の有効時間の設定は新たに登録/更新したレコードに対して飲み行うが、イベント管理テーブル2621の全てのレコードに対して有効期限の再設定を行ってもよい。
【0110】
次に、設定部2631は、Subscribeリクエスト又はRenewリクエストを送信してきたクライアントに対して、Subscribe/Renewレスポンスメッセージを送信する(ステップS3304)。
【0111】
上述した処理手順により、Subscribeリクエスト又はRenewリクエストを受信した場合に、イベント監視数に応じて適切な有効時間の設定することが可能となる。
【0112】
なお、本実施の形態とは異なるが、イベント種類や、リクエスト送信元のクライアントに応じて有効時間を設定しても良い。そこで、変形例として、イベント種類に従って有効時間を設定する場合について説明する。図30は、変形例1にかかる有効時間管理テーブルのテーブル構造を示した図である。図30(A)に示すように、有効時間管理テーブルでは、イベント種類と、有効時間とが対応付けられている。これにより、図29のステップS3302において、設定部は、当該有効時間管理テーブルを参照し、Subscribeリクエスト又はRenewリクエストで監視を要求するイベントを表すイベント種類と対応付けられた有効時間の設定を行う。また、本変形例にかかる有効時間管理テーブルにおいては、重要なイベント種類ほど長い有効時間が設定されている。これにより、重要なイベントがクライアントに通知される可能性が向上する。なお、他の処理は第1の実施形態と同様とする。
【0113】
さらに他の変形例として、リクエスト送信元のクライアントに応じて有効時間を設定する場合について説明する。図30(B)は、変形例2にかかる有効時間管理テーブルのテーブル構造を示した図である。図30(B)に示すように、有効時間管理テーブルでは、クライアントを識別するIPアドレスと、有効時間とが対応付けられている。また、有効時間管理テーブルにおいては、重要なイベント種類ほど長い有効時間が設定されている。また、本変形例にかかる有効時間管理テーブルにおいては、クライアントほど長い有効時間が設定されている。これにより、図29のステップS3302において、設定部は、当該有効時間管理テーブルを参照し、Subscribeリクエスト又はRenewリクエストで監視を要求してきたクライアントに応じて、有効時間の設定を行う。また、本変形例にかかる有効時間管理テーブルにおいては、重要なクライアントほど長い有効時間が設定されている。なお、他の処理は第1の実施形態と同様とする。
【0114】
上述した変形例のように、利用者の実施する環境に応じて適切な有効時間管理テーブルを使用して良い。また、上述した実施の形態及び変形例で説明した全ての有効時間管理テーブルを予め画像処理装置に格納して、管理者が適切な有効時間管理テーブルを使用するように設定しても良い。この設定手法としては、画像処理装置に備え付けられているオペレーションパネルからネットワーク制御部に対して設定してもよいし、ネットワーク制御部を通じて外部から設定されたりする。
【0115】
また、本実施の形態にかかる画像処理装置1においては、イベント管理テーブル2621からレコードを削除するのは、有効期間を経過した場合に限るものではない。例えば、画像処理装置1は、クライアントがネットワークから離脱した場合にも、イベント管理テーブル2621からレコードを削除する。
【0116】
次に、本実施の形態にかかる画像処理装置1におけるネットワーク離脱パケット受信処理について説明する。図31は、本実施の形態にかかる画像処理装置1における上述した処理の手順を示すフローチャートである。
【0117】
まず、本実施の形態にかかる画像処理装置1のHTTP制御部45は、I/F部17を介して、パケットの受信を受け付ける(ステップS3601)。
【0118】
次に、HTTP制御部45は、WS-Discoveryプロトコルによるパケットを受信したか否か判断する(ステップS3602)。WS-Discoveryプロトコル以外のパケットを受信した場合(ステップS3602:No)、WS-Discovery処理部2612以外の構成が処理を行ったあと、再びパケットの受信の受付から開始する(ステップS3601)。
【0119】
そして、WS-Discoveryプロトコルによるパケットを受信した場合(ステップS3602:Yes)、WS-Discovery処理部2612が、当該パケットが、クライアントからのネットワーク離脱パケットか判断する(ステップS3603)。ネットワーク離脱パケットではないと判断した場合(ステップS3603:No)、判断したパケットに応じて適切な処理を行った後、再びパケットの受信の受付から開始する(ステップS3601)。
【0120】
図32は、ネットワーク離脱パケットの一例を示した図である。図32の行3701を確認すると、“Bye”と記載されているためにネットワーク離脱パケットと判断できる。
【0121】
図31に戻り、WS-Discovery処理部2612が、ネットワーク離脱パケットと判断した場合(ステップS3603:Yes)、その旨を、ネットワークを離脱したクライアントを示すIPアドレスと共にイベント管理部2611に通知する。
【0122】
そして、イベント管理部2611が、イベント管理テーブル2621で、通知されたIPアドレスが通知先クライアントとして登録されたレコードが存在するか否か判断する(ステップS3604)。無いと判断した場合(ステップS3604:No)、特に処理を行わず、再びパケットの受信の受付から開始する(ステップS3601)。
【0123】
また、イベント管理部2611は、当該レコードが存在すると判断した場合(ステップS3604:Yes)、イベント管理テーブル2621から、当該レコードを削除する処理を行う(ステップS3605)。これにより、ネットワーク離脱されたクライアントからのイベント監視要求が削除されたことになる。その後、再びパケットの受信の受付から開始する(ステップS3601)。
【0124】
上述した処理によりネットワーク離脱したクライアントからのイベント通知要求が削除される。
【0125】
次に、画像処理装置1において、ネットワーク離脱パケットを受信した場合について説明する。図33は、画像処理装置1において、ネットワーク離脱パケットを受信した場合のシーケンス図である。
【0126】
まずは、HTTP制御部45は、クライアント(Subscriber)から、ネットワーク離脱パケット(Bye)を受信する(ステップS3801)。
【0127】
当該ネットワーク離脱パケットは、WS-Discoveryプロトコルで記載されているので、WS-Discovery処理部2612に受信したパケットを通知する(ステップS3802)。
【0128】
そして、WS-Discovery処理部2612は、HTTP制御部45から渡されたパケットをさらにSOAP/XML処理部23に渡してその内容を解析させる(ステップS3803)。SOAP/XML処理部23はステップS3803において受け取ったメッセージの内容解析結果をWS-Discovery処理部2612に対して返信する(ステップS3804)。
【0129】
つぎに、WS-Discovery処理部2612は、受け取った内容解析結果から、所定のクライアントのネットワーク離脱が発生したことを認識し、イベント管理部2611に対して、ネットワークを離脱したクライアントしたことを通知する(ステップS3805)。これにより、ネットワークを離脱したクライアントからのイベント監視が格納されているレコードをイベント管理テーブル2621から削除できる。
【0130】
本実施の形態にかかる画像処理装置1では、当該リクエストを出したクライアントに対してイベントを通知する有効時間を状況に応じて変化させることで、画像処理装置1の処理負担を軽減させることができる。
【0131】
また、有効時間管理テーブルで有効時間を管理し、受け付けたリクエストに応じて有効時間を変更させることで、画像処理装置1に自由度を持たせることができる。また、有効時間管理テーブルに格納されているデータを利用者に変更可能とすることで、カスタマイズ性を向上させることができる。
【0132】
また、上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0133】
また、上述した実施の形態にかかる画像処理装置1、2600のイベント通知プログラムを、ROM等に予め組みこまれて提供される。
【0134】
上述した実施の形態にかかる画像処理装置1、2600で実行されるイベント通知プログラムは、上述した各部(システム制御部24、メモリ制御部25、配信制御部26、ネットワーク制御部27、OS/Kernel28)を含むモジュール構成となっており、実際のハードウェアとしてはCPUが上記記録媒体からイベント通知プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、システム制御部24、メモリ制御部25、配信制御部26、ネットワーク制御部27、OS/Kernel28が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【0135】
以上のように、本発明にかかるイベント通知装置、イベント通知方法及びイベント通知プログラムは、他の装置に対してイベントを通知する技術に有用であり、特に、イベント通知を行う際に処理負担を軽減させる技術に適している。
【図面の簡単な説明】
【0136】
【図1】第1の実施の形態にかかる画像処理装置およびネットワークを介して画像処理装置を利用する装置により構成されるシステムの一例を示す図である。
【図2】第1の実施の形態にかかる画像処理装置のハードウェア構成例を示す図である。
【図3】第1の実施の形態にかかる画像処理装置のソフトウェア構成例を示す図である。
【図4】第1の実施の形態にかかる画像処理装置の特徴的な処理を実現するためのイベント通知部およびアプリケーション部の構成例を示す図である。
【図5】Subscribeメッセージの一例を示す図である。
【図6】SubscribeResponseメッセージの一例を示す図である。
【図7】Renewメッセージの一例を示す図である。
【図8】RenewResponseメッセージの一例を示す図である。
【図9】SubscriptionEndメッセージの一例を示す図である。
【図10】StatusEventReportメッセージの一例を示す図である。
【図11】faultメッセージの一例を示す図である。
【図12】画像処理装置がSubscribeメッセージまたはRenewメッセージを受信するシーケンス例を示す図である。
【図13】第1の実施形態にかかるイベント管理情報のテーブル構造を示した図である。
【図14】イベント発生監視動作およびイベント通知動作のシーケンス例を示す図である。
【図15】画像処理装置がイベント監視動作時に使用する情報の一例を示す図である。
【図16】画像処理装置がSubscriptionEndメッセージを送出する場合のシーケンス例を示す図である。
【図17】画像処理装置がSubscribeメッセージ/Renewメッセージを受信した場合の動作例を示すフローチャートである。
【図18】画像処理装置がSubscribeメッセージ/Renewメッセージ受信時の動作において使用する情報の一例を示す図である。
【図19】画像処理装置がSubscribeメッセージを受信した場合の動作例を示すフローチャートである。
【図20】画像処理装置においてイベントが発生した場合の動作例を示すフローチャートである。
【図21】画像処理装置においてイベントが発生した場合の動作例を時系列に示した図である。
【図22】画像処理装置がイベント通知動作において使用する情報の一例を示す図である。
【図23】第2の実施の形態にかかる画像処理装置のイベント通知部およびアプリケーション部の構成例を示す図である。
【図24】第2の実施の形態にかかるイベント管理テーブルのテーブル構造を示した図である。
【図25】第2の実施の形態にかかる有効時間管理テーブルのテーブル構造を示した図である。
【図26】WS-EventingプロトコルにおけるSubscribeのメッセージの一例を示した図である。
【図27】第2の実施の形態にかかるSubscribeResponseメッセージの第1の例を示した図である。
【図28】第2の実施の形態にかかるSubscribeResponseメッセージの第2の例を示した図である。
【図29】第2の実施の形態にかかる画像処理装置におけるメッセージを受信した場合の処理の手順を示すフローチャートである。
【図30】第2の実施の形態の変形例にかかる有効時間管理テーブルのテーブル構造を示した図である。
【図31】第2の実施の形態にかかる画像処理装置におけるネットワーク離脱パケット受信処理の手順を示すフローチャートである。
【図32】ネットワーク離脱パケットの一例を示した図である。
【図33】第2の実施の形態にかかる画像処理装置において、ネットワーク離脱パケットを受信した場合のシーケンス図である。
【図34】課題を説明するための図である。
【符号の説明】
【0137】
1 画像処理装置
11 CPU
12 システムメモリ
13 ノースブリッジ(NB)
14 サウスブリッジ(SB)
15 ASIC
16 記憶部
17 I/F部
21 アプリケーション部
22 プラットフォーム部
23 SOAP/XML処理部
24 システム制御部
25 メモリ制御部
26 配信制御部
27、2601 ネットワーク制御部
28 OS/Kernel
31 アプリケーション制御部
32 イベント検出部
33 情報通信部
41 全体制御部
42 WS-Eventing処理部
43、2611 イベント管理部
44 アプリ通信部
45 HTTP制御部
46 プロトコル制御部
51 リクエスト受信部
52 イベント通知部
61 イベント監視部
62 追加部
63 更新部
64、2631 設定部
71 イベント管理情報
72 監視間隔テーブル
73 優先度テーブル
2612 WS-Discovery処理部
2621 イベント管理テーブル
2622 有効時間管理テーブル
【特許請求の範囲】
【請求項1】
クライアント装置とネットワークを介して接続されたイベント通知装置であって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けて記憶するイベント情報記憶手段と、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信手段と、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加手段と、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定手段と、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視手段と、
前記イベント監視手段がイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知手段と、
を備えることを特徴とするイベント通知装置。
【請求項2】
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項1に記載のイベント通知装置。
【請求項3】
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報に基づいてイベント毎の監視周期を決定する場合、前記イベント情報記憶手段で、前記イベント種類毎に対応付けられた前記通知先クライアント情報の数を確認し、任意の前記イベント種類で他の前記イベント種類より前記通知先クライアント情報の数が多い場合、当該任意の前記イベント種類を、他の前記イベント種類より長い監視間隔に設定すること、
を特徴とする請求項2に記載のイベント通知装置。
【請求項4】
前記追加手段は、前記監視イベント指定メッセージを受信した場合、前記イベント情報記憶手段に記憶されている前記イベント種類又は前記イベント通知先クライアント情報と、に基づいて、監視イベント指定メッセージに含まれている前記イベント種類と、当該監視イベント指定メッセージの送信元のクライアント装置を示すクライアント情報と、を対応付けて前記イベント情報記憶手段に追加するか否か判断することを特徴とする請求項2又は3に記載のイベント通知装置。
【請求項5】
前記追加手段は、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージに含まれている前記イベント種類と前記イベント情報記憶手段で対応付けられたイベント通知先クライアント情報の数が、所定の数と一致しているか否か判断し、当該所定の数と一致していると判断した場合に、前記イベント情報記憶手段に追加を行わないこと、
を特徴とする請求項4に記載のイベント通知装置。
【請求項6】
イベントの通知する優先すべきクライアント装置を示す優先クライアント情報を記憶する優先度記憶手段と、
前記追加手段は、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージに含まれている前記イベント種類と前記イベント情報記憶手段で対応付けられたイベント通知先クライアント情報の数が、所定の数と一致しているか否か判断し、当該所定の数と一致していると判断した場合に、前記監視イベント指定メッセージの送信元のクライアント装置が、前記優先クライアント情報から優先すべきクライアント装置であるか否か判断し、優先すべきクライアントであると判断された場合に、前記優先クライアント情報から優先すべきではないと判断されたクライアント装置を示す前記イベント通知先クライアント情報を削除し、前記監視イベント指定メッセージの送信元のクライアント装置を示すイベント通知先クライアント情報を追加すること、
を特徴とする請求項2乃至5のいずれか一つに記載のイベント通知装置。
【請求項7】
前記イベント通知手段は、前記クライアント装置に対して、当該発生したイベントを通知した後、当該クライアント装置から通知されたイベントに対する応答メッセージを受信したか否かを監視し、当該応答メッセージを受信した場合、又は発生した前記イベントと前記イベント情報記憶手段で対応付けられている前記イベント通知先クライアント情報の数に基づいて決定した指定時間が経過した場合、発生した前記イベントの通知先であるクライアント装置であって、前記イベントを通知していないクライアント装置に対してイベントを通知し、以降、前記イベントの通知先全てのクライアント装置に対してイベントを通知するまで、当該通知処理を継続すること、
を特徴とする請求項2乃至6のいずれか一つに記載のイベント通知装置。
【請求項8】
前記イベント情報記憶手段は、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて記憶し、
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記有効時間内に限り行うこと、
を特徴とする請求項1に記載のイベント通知装置。
【請求項9】
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報の数に基づいて、前記イベント種類の前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項10】
前記クライアント装置と、当該クライアント装置でイベントの通知を優先すべき優先度とを対応付けて記憶する優先度記憶手段と、
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報が示すクライアント装置と、前記優先度記憶手段で対応付けられている前記優先度に基づいて、前記イベント種類の前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項11】
前記イベント種類と、当該イベント種類の場合の通知する時間間隔を示すイベント有効時間とを対応付けて記憶する有効時間記憶手段と、
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報と対応付けられている前記イベント種類と、前記有効時間記憶手段で対応付けられている前記イベント有効時間で、追加された前記通知先クライアント情報と対応付けられている前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項12】
前記受信手段は、各前記クライアント装置から、前記有効時間が指定可能な前記監視イベント指定メッセージを受信し、
前記設定手段は、受信した前記監視イベント指定メッセージに、前記有効時間が指定されている場合に指定された前記有効時間を設定し、前記有効時間が指定されていない場合に前記イベント情報記憶手段に追加された前記通知先クライアント情報の数に基づいて、前記有効時間を設定すること、
を特徴とする請求項8乃至11のいずれか一つに記載のイベント通知装置。
【請求項13】
前記イベント通知手段は、WS-Eventingプロトコルを使用して、前記イベントの通知を行うことを特徴とする請求項1乃至12のいずれか一つに記載のイベント通知装置。
【請求項14】
ネットワークを介して接続されたクライアント装置に対してイベントを通知するイベント通知方法であって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、
前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、
を有することを特徴とするイベント通知方法。
【請求項15】
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項14に記載のイベント通知方法。
【請求項16】
前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、
を特徴とする請求項14に記載のイベント通知方法。
【請求項17】
ネットワークを介して接続されたクライアント装置に対してイベントを通知させることをコンピュータに実行させるイベント通知プログラムであって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、
前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、
をコンピュータに実行させることを特徴とするイベント通知プログラム。
【請求項18】
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項17に記載のイベント通知プログラム。
【請求項19】
前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、
を特徴とする請求項17に記載のイベント通知プログラム。
【請求項1】
クライアント装置とネットワークを介して接続されたイベント通知装置であって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けて記憶するイベント情報記憶手段と、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信手段と、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加手段と、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定手段と、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視手段と、
前記イベント監視手段がイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知手段と、
を備えることを特徴とするイベント通知装置。
【請求項2】
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項1に記載のイベント通知装置。
【請求項3】
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報に基づいてイベント毎の監視周期を決定する場合、前記イベント情報記憶手段で、前記イベント種類毎に対応付けられた前記通知先クライアント情報の数を確認し、任意の前記イベント種類で他の前記イベント種類より前記通知先クライアント情報の数が多い場合、当該任意の前記イベント種類を、他の前記イベント種類より長い監視間隔に設定すること、
を特徴とする請求項2に記載のイベント通知装置。
【請求項4】
前記追加手段は、前記監視イベント指定メッセージを受信した場合、前記イベント情報記憶手段に記憶されている前記イベント種類又は前記イベント通知先クライアント情報と、に基づいて、監視イベント指定メッセージに含まれている前記イベント種類と、当該監視イベント指定メッセージの送信元のクライアント装置を示すクライアント情報と、を対応付けて前記イベント情報記憶手段に追加するか否か判断することを特徴とする請求項2又は3に記載のイベント通知装置。
【請求項5】
前記追加手段は、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージに含まれている前記イベント種類と前記イベント情報記憶手段で対応付けられたイベント通知先クライアント情報の数が、所定の数と一致しているか否か判断し、当該所定の数と一致していると判断した場合に、前記イベント情報記憶手段に追加を行わないこと、
を特徴とする請求項4に記載のイベント通知装置。
【請求項6】
イベントの通知する優先すべきクライアント装置を示す優先クライアント情報を記憶する優先度記憶手段と、
前記追加手段は、前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージに含まれている前記イベント種類と前記イベント情報記憶手段で対応付けられたイベント通知先クライアント情報の数が、所定の数と一致しているか否か判断し、当該所定の数と一致していると判断した場合に、前記監視イベント指定メッセージの送信元のクライアント装置が、前記優先クライアント情報から優先すべきクライアント装置であるか否か判断し、優先すべきクライアントであると判断された場合に、前記優先クライアント情報から優先すべきではないと判断されたクライアント装置を示す前記イベント通知先クライアント情報を削除し、前記監視イベント指定メッセージの送信元のクライアント装置を示すイベント通知先クライアント情報を追加すること、
を特徴とする請求項2乃至5のいずれか一つに記載のイベント通知装置。
【請求項7】
前記イベント通知手段は、前記クライアント装置に対して、当該発生したイベントを通知した後、当該クライアント装置から通知されたイベントに対する応答メッセージを受信したか否かを監視し、当該応答メッセージを受信した場合、又は発生した前記イベントと前記イベント情報記憶手段で対応付けられている前記イベント通知先クライアント情報の数に基づいて決定した指定時間が経過した場合、発生した前記イベントの通知先であるクライアント装置であって、前記イベントを通知していないクライアント装置に対してイベントを通知し、以降、前記イベントの通知先全てのクライアント装置に対してイベントを通知するまで、当該通知処理を継続すること、
を特徴とする請求項2乃至6のいずれか一つに記載のイベント通知装置。
【請求項8】
前記イベント情報記憶手段は、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて記憶し、
前記設定手段は、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視手段は、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記有効時間内に限り行うこと、
を特徴とする請求項1に記載のイベント通知装置。
【請求項9】
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報の数に基づいて、前記イベント種類の前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項10】
前記クライアント装置と、当該クライアント装置でイベントの通知を優先すべき優先度とを対応付けて記憶する優先度記憶手段と、
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報が示すクライアント装置と、前記優先度記憶手段で対応付けられている前記優先度に基づいて、前記イベント種類の前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項11】
前記イベント種類と、当該イベント種類の場合の通知する時間間隔を示すイベント有効時間とを対応付けて記憶する有効時間記憶手段と、
前記設定手段は、前記イベント情報記憶手段に追加された前記通知先クライアント情報と対応付けられている前記イベント種類と、前記有効時間記憶手段で対応付けられている前記イベント有効時間で、追加された前記通知先クライアント情報と対応付けられている前記有効時間を設定すること、
を特徴とする請求項8に記載のイベント通知装置。
【請求項12】
前記受信手段は、各前記クライアント装置から、前記有効時間が指定可能な前記監視イベント指定メッセージを受信し、
前記設定手段は、受信した前記監視イベント指定メッセージに、前記有効時間が指定されている場合に指定された前記有効時間を設定し、前記有効時間が指定されていない場合に前記イベント情報記憶手段に追加された前記通知先クライアント情報の数に基づいて、前記有効時間を設定すること、
を特徴とする請求項8乃至11のいずれか一つに記載のイベント通知装置。
【請求項13】
前記イベント通知手段は、WS-Eventingプロトコルを使用して、前記イベントの通知を行うことを特徴とする請求項1乃至12のいずれか一つに記載のイベント通知装置。
【請求項14】
ネットワークを介して接続されたクライアント装置に対してイベントを通知するイベント通知方法であって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、
前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、
を有することを特徴とするイベント通知方法。
【請求項15】
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項14に記載のイベント通知方法。
【請求項16】
前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、
を特徴とする請求項14に記載のイベント通知方法。
【請求項17】
ネットワークを介して接続されたクライアント装置に対してイベントを通知させることをコンピュータに実行させるイベント通知プログラムであって、
イベント種類と、当該イベント種類で示されるイベントが発生した場合に当該イベントの内容の通知先となるクライアント装置を示すイベント通知先クライアント情報と、を対応付けてイベント情報記憶手段に記憶するイベント情報記憶ステップと、
各前記クライアント装置から、監視を要求するイベント種類を含むメッセージである監視イベント指定メッセージを受信する受信ステップと、
前記監視イベント指定メッセージを受信した場合、当該監視イベント指定メッセージの送信元のクライアント装置を前記イベント通知先クライアント情報として、当該監視イベント指定メッセージに含まれている前記イベント種類と、対応付けて前記イベント情報記憶手段に追加する追加ステップと、
前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、イベントの所定の監視制御に用いる設定情報を設定する設定ステップと、
それぞれのイベントが発生したか否かの監視に、前記設定情報を使用して前記所定の監視制御を行うイベント監視ステップと、
前記イベント監視ステップがイベント発生を検出した場合、発生したイベントを示す前記イベント種類と前記イベント情報記憶手段で対応付けられた前記イベント通知先クライアント情報で示された前記クライアント装置に対して、当該発生したイベントを通知するイベント通知ステップと、
をコンピュータに実行させることを特徴とするイベント通知プログラム。
【請求項18】
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記設定情報である、イベント種類毎の監視周期を設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記監視周期で行うこと、
を特徴とする請求項17に記載のイベント通知プログラム。
【請求項19】
前記イベント情報記憶ステップは、さらに、クライアント装置に当該イベントを通知する時間間隔を示す有効時間を対応付けて前記イベント情報記憶手段に記憶し、
前記設定ステップは、前記イベント情報記憶手段が記憶している前記イベント通知先クライアント情報および前記イベント種類のいずれか一つ以上に基づいて、前記有効時間を、前記監視制御の設定情報として設定し、
前記イベント監視ステップは、前記イベント種類毎のイベントが発生したか否かの監視を、設定された前記イベント有効時間内に限り行うこと、
を特徴とする請求項17に記載のイベント通知プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2008−97582(P2008−97582A)
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願番号】特願2007−192943(P2007−192943)
【出願日】平成19年7月25日(2007.7.25)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願日】平成19年7月25日(2007.7.25)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]