(57)【要約】【課題】  ユーザの利便性を保持しつつ、ネットワークに接続された装置の負荷、及びネットワークのトラフィックを低減することを目的とする。【解決手段】  イベント登録メッセージ受信手段と、イベント通知レート決定手段と、イベント通知レート記憶手段と、イベント通知レートと、優先順位情報と、クライアント装置の宛先情報と、に基づいて、イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、クライアント装置に通知するイベント通知手段と、を有することによって上記課題を解決する。【選択図】  図１
2007066076.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたクライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信手段と、
前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、
前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、
前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段と、
を有することを特徴とするサーバ装置。
【請求項２】
イベントが発生した旨をクライアント装置に通知するサーバ装置において、
イベントが発生した旨を通知する通知間隔を示すイベント通知レートを設定する設定手段と、
前記設定手段により設定されているイベント通知レートに対応する発生したイベントの中から、発生したイベントに対応する優先順位情報を用いてクライアント装置に通知するイベントを決定する決定手段と、
を有することを特徴とするサーバ装置。
【請求項３】
前記優先順位情報には、通知するイベントの種別を識別するイベント種別情報と、前記イベント種別情報ごとの通知優先順位情報と、が含まれることを特徴とする請求項１又は２に記載のサーバ装置。
【請求項４】
前記優先順位情報には、通知するイベントの種別を識別するイベント種別情報と、前記イベントの状態を示すイベント状態情報と、前記イベント種別情報及び前記イベント状態情報ごとの通知優先順位情報と、が含まれていることを特徴とする請求項１又は２に記載のサーバ装置。
【請求項５】
前記クライアント装置ごとに、前記イベント通知レートの上限値を記憶する第一上限値記憶手段を更に有し、
前記イベント通知レート決定手段は、前記イベント登録メッセージに含まれる前記イベント通知レートと、前記イベント通知レートの上限値と、に基づいて、登録するイベント通知レートを決定することを特徴とする請求項１に記載のサーバ装置。
【請求項６】
前記クライアント装置のユーザを認証する認証手段と、
前記クライアント装置のユーザごとに、前記イベント通知レートの上限値を記憶する第二上限値記憶手段と、
を更に有し、
前記イベント通知レート決定手段は、前記イベント登録メッセージに含まれる前記イベント通知レートと、前記イベント通知レートの上限値と、に基づいて、登録するイベント通知レートを決定することを特徴とする請求項１に記載のサーバ装置。
【請求項７】
ネットワークを介してクライアント装置と接続されたサーバ装置におけるイベント通知方法であって、
前記クライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信ステップと、
前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定ステップと、
前記イベント通知レート決定ステップで決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶ステップと、
前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知ステップと、
を含むことを特徴とするイベント通知方法。
【請求項８】
イベントが発生した旨をクライアント装置に通知するサーバ装置におけるイベント通知方法であって、
イベントが発生した旨を通知する通知間隔を示すイベント通知レートを設定する設定ステップと、
前記設定ステップにより設定されているイベント通知レートに対応する発生したイベントの中から、発生したイベントに対応する優先順位情報を用いてクライアント装置に通知するイベントを決定する決定ステップと、
を含むことを特徴とするイベント通知方法。
【請求項９】
前記優先順位情報には、通知するイベントの種別を識別するイベント種別情報と、前記イベント種別情報ごとの通知優先順位情報と、が含まれることを特徴とする請求項７又は８に記載のイベント通知方法。
【請求項１０】
前記優先順位情報には、通知するイベントの種別を識別するイベント種別情報と、前記イベントの状態を示すイベント状態情報と、前記イベント種別情報及び前記イベント状態情報ごとの通知優先順位情報と、が含まれていることを特徴とする請求項７又は８に記載のイベント通知方法。
【請求項１１】
前記イベント通知レート決定ステップでは、前記イベント登録メッセージに含まれる前記イベント通知レートと、前記クライアント装置ごとに設定されている前記イベント通知レートの上限値と、に基づいて、登録するイベント通知レートを決定することを特徴とする請求項７に記載のイベント通知方法。
【請求項１２】
前記クライアント装置のユーザを認証する認証ステップを更に含み、
前記イベント通知レート決定ステップでは、前記イベント登録メッセージに含まれる前記イベント通知レートと、前記クライアント装置のユーザごとに設定されている前記イベント通知レートの上限値と、に基づいて、登録するイベント通知レートを決定することを特徴とする請求項７に記載のイベント通知方法。
【請求項１３】
ネットワークを介して、クライアント装置と、サーバ装置とが接続されたイベント通知システムであって、
前記クライアント装置は、
通知を要求するイベントの登録に係るイベント登録メッセージを、前記サーバ装置に送信するイベント登録メッセージ送信手段を有し、
前記サーバ装置は、
前記クライアント装置より、前記イベント登録メッセージを受信するイベント登録メッセージ受信手段と、
前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、
前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、
前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段とを有することを特徴とするイベント通知システム。
【請求項１４】
コンピュータを、
ネットワークを介して接続されたクライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信手段と、
前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、
前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、
前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段と、
して機能させることを特徴とするイベント通知プログラム。
【請求項１５】
コンピュータを、
イベントが発生した旨を通知する通知間隔を示すイベント通知レートを設定する設定手段と、
前記設定手段により設定されているイベント通知レートに対応する発生したイベントの中から、発生したイベントに対応する優先順位情報を用いてクライアント装置に通知するイベントを決定する決定手段と、
して機能させることを特徴とするイベント通知プログラム。
【請求項１６】
コンピュータを、
ネットワークを介して接続されたクライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信手段と、
前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、
前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、
前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段と、
して機能させるイベント通知プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１７】
コンピュータを、
イベントが発生した旨を通知する通知間隔を示すイベント通知レートを設定する設定手段と、
前記設定手段により設定されているイベント通知レートに対応する発生したイベントの中から、発生したイベントに対応する優先順位情報を用いてクライアント装置に通知するイベントを決定する決定手段と、
して機能させるイベント通知プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びイベント通知方法に関する。
【背景技術】
【０００２】
インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器として、従来のパーソナルコンピュータ以外の種類の多様な機器が開発されている。例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、携帯電話等のユーザインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置、テレビ、エアコン、冷蔵庫等の家電製品等に至るまでネットワーク対応が急速に進められている。
【０００３】
このようなネットワーク対応型機器の普及に伴い、イベントの登録、イベントの通知、登録イベントの削除等、イベントを制御、表示するためのアプリケーションソフトウエア等、様々なプロトコル、アーキテクチャが提案されている。
【０００４】
また、複数の企業、標準化団体が、標準的なイベントの登録、イベントの通知、登録イベントの削除等の拡張等に対応すべく、仕様策定作業を進めている。例えば、Ｍｉｃｒｏｓｏｆｔ社が主体となって策定を進めるＵＰｎＰ（登録商標）、及びＷＳＤ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  ｆｏｒ  Ｄｅｖｉｃｅｓ（ＷＳ−Ｅｖｅｎｔｉｎｇ）、ビジネス機械・情報システム産業協会（ＪＢＭＩＡ）が推進するＢＭＬｉｎｋｓ等がその一例である。
また、登録したイベントの値が変化した場合に、イベント通知がある変数を予め定義しておくことができ、その変数が"間引かれる"場合、その間引き率を予め定義しておく技術が存在する。例えば、ＪｏｂＭｅｄｉａＳｈｅｅｔＣｏｍｐｌｅｔｅｄのイベントが発生しても即座に通知するのではなく、５秒間に１度、イベント発生さて、そのタイミングで５秒の間に発生した当該イベントを通知すること等が定義できる。しかし、このイベント通知レートは、製品性能に係らず一義的に仕様として定義される（例えば、非特許文献１参照。）。
【０００５】
【特許文献１】特開平９−２９２９５９号公報
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｕｐｎｐ．ｏｒｇ／ｄｏｗｎｌｏａｄ／Ｓｅｒｖｉｃｅ＿ｐｒｉｎｔ＿ｖ１＿０２０８０８．ｐｄｆ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術では、イベントを利用ことによって即時、情報更新が可能となりユーザの利便性が向上する一方で、ネットワーク対応型機器が、登録されたイベントを全て送信してしまうために、ネットワーク対応型機器自身や、イベントを受信するクライアントデバイス等に高負荷がかかるという問題があった。また、ネットワーク対応型機器が接続されているネットワークのトラフィックが増大するという問題もあった。
また、従来のいわゆるイベントの間引き技術は、イベントの通知間隔をそれぞれ固定的に設定するものであった。即ち、複数のイベントの相互の重要度や、イベントを発生する製品の性能は考慮していない。このため、通知したいイベントを、それぞれのシステムにおいて発生するイベントの種類や数等に対応させて適切に決定することができないという問題があった。
【０００７】
本発明は上記の問題点の少なくとも一つに鑑みなされたもので、ユーザの利便性を保持しつつ、ネットワークに接続された装置の負荷、及びネットワークのトラフィックを低減することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、上記問題を解決するため、本発明は、ネットワークを介して接続されたクライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信手段と、前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段と、を有することを特徴とする。
【０００９】
本発明によれば、ネットワークを介して接続されたクライアント装置より、通知するイベントの登録に係るイベント登録メッセージを受信するイベント登録メッセージ受信手段と、前記イベント登録メッセージに含まれる、通知するイベントの間隔に係るイベント通知レートに基づいて、登録するイベント通知レートを決定するイベント通知レート決定手段と、前記イベント通知レート決定手段で決定したイベント通知レートと、イベント登録メッセージに含まれる、通知するイベントの優先順位に係る優先順位情報とを、前記イベントを通知する前記クライアント装置の宛先情報に基づいて、記憶手段に記憶するイベント通知レート記憶手段と、前記記憶手段に記憶されているイベント通知レートと、優先順位情報と、前記クライアント装置の宛先情報と、に基づいて、前記イベント通知レートに係る時間内で発生したイベントの内、優先順位の最も高いイベントに係る情報を、前記クライアント装置に通知するイベント通知手段と、を有することにより、例えば、クライアント装置（又はクライアント装置のユーザ）が指定したイベント通知レート及び優先順位に基づいて、イベントを通知するので、ユーザの利便性を保持しつつ、ネットワークに接続された装置の負荷、及びネットワークのトラフィックを低減することができる。
【００１０】
なお、クライアント装置とは、例えば後述するクライアントデバイス１００等に対応する。また、サーバ装置とは、例えば後述するネットワーク対応デバイス２００等に対応する。
【００１１】
また、上記問題を解決するため、本発明は、イベント通知方法、イベント通知システム、イベント通知プログラム及び記録媒体としてもよい。
【発明の効果】
【００１２】
本発明によれば、ユーザの利便性を保持しつつ、ネットワークに接続された装置の負荷、及びネットワークのトラフィックを低減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例について図面に基づいて説明する。なお、以下の実施例で示されるプロトコル、バージョン、アドレス、その他の数値等は、特に特定的な記載がない限りは、本発明の実施を制限するものではない。
【実施例１】
【００１４】
図１は、イベント登録システムの一例のシステム構成図である。
【００１５】
図１において、クライアントデバイス１００は、通信機能として例えばＥｔｈｅｒｎｅｔ（登録商標）に対応しており、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルスタック１や、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１の上位層としてのＨＴＴＰ２を含む。クライアントデバイス１００は、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１や、ＨＴＴＰ２を用いて、ＨＴＴＰリクエストの解析、及びレスポンス処理等を行う。
【００１６】
また、クライアントデバイス１００は、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１及びＨＴＴＰ２の上位層としてのＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）プロセッサ３を含む。また、クライアントデバイス１００は、イベント制御モジュール４、ＷＳＥモジュール５を含む。イベント制御モジュール４や、ＷＳＥモジュール５は、ＳＯＡＰプロセッサ３等を介してＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されたデータの双方向通信を実現する。
【００１７】
また、イベント制御モジュール４は、イベントを制御し、イベント登録やイベント受信に必要な情報を、メモリコントローラ６を介して、記憶装置８に記憶したり、記憶装置８より読み出したり、記憶装置８から消去したりする。また、イベント制御モジュール４は、ＷＳＥモジュール５に対して、Ｓｕｂｓｃｒｉｂｅメッセージ（イベント登録要求）等のメッセージの送信処理依頼を発行する。
【００１８】
ＷＳＥモジュール５は、ＳＯＡＰプロセッサ３を介して、例えばＷＳ−Ｅｖｅｎｔｉｎｇ仕様等に基づき、ネットワークデバイス（例えば、ネットワーク対応デバイス２００等）から通知されるＮｏｔｉｆｉｃａｔｉｏｎメッセージに対する処理、及びネットワークデバイスへのＳｕｂｓｃｒｉｂｅ／Ｕｎｓｕｂｓｃｒｉｂｅ等のメッセージの発行処理を実行する。
【００１９】
また、イベント制御モジュール４は、ネットワークデバイスで登録イベントの状態遷移があった場合、Ｎｏｔｉｆｉｃａｔｉｏｎメッセージを、ユーティリティ９や、アプリケーション１０等、イベント制御モジュール４に対してイベント要求を行ったアプリケーションに対して通知する。
【００２０】
一方、ネットワーク対応デバイス２００（本実施例ではネットワーク対応型プリンタ）は、通信機能として例えばＥｔｈｅｒｎｅｔ（登録商標）に対応しており、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１や、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１の上位層としてのＨＴＴＰ１２を含む。ネットワーク対応デバイス２００は、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１や、ＨＴＴＰ１２を用いて、ＨＴＴＰリクエストの解析、及びレスポンス処理等を行う。
【００２１】
また、ネットワーク対応デバイス２００は、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１及びＨＴＴＰ１２の上位層としてのＳＯＡＰプロセッサ１３を含む。また、ネットワーク対応デバイス２００は、イベント制御モジュール１４、ＷＳＥモジュール１５、プリンタコントローラ１６を含む。イベント制御モジュール１４や、ＷＳＥモジュール１５、プリンタコントローラ１６は、ＳＯＡＰプロセッサ１３等を介してＸＭＬで記述されたデータの双方向通信を実現する。
【００２２】
ＷＳＥモジュール１５は、ＳＯＡＰプロセッサ１３を介して、例えばＷＳ−Ｅｖｅｎｔｉｎｇ仕様等に基づき、ネットワークに接続した際に、クライアントデバイス１００から発行されるイベント登録時のＳｕｂｓｃｒｉｂｅメッセージの応答処理、登録イベント削除時のＵｎｓｕｂｓｃｒｉｂｅメッセージの応答処理、及びイベント通知時のＮｏｔｉｆｉｃａｔｉｏｎメッセージの通知処理等を行う。
【００２３】
ユーザ認証モジュール２０は、例えばクライアントデバイス１００が送信したＳｕｂｓｃｒｉｂｅメッセージ等に添付されているユーザ証明書を、ネットワーク対応デバイス２００が保持する、又は、ネットワークを経由して入手可能なルート証明機関の証明書を用いて、認証する。ここで、ユーザ認証モジュール２０における実際の認証作業としては、チャレンジ・レスポンス方式等によって認証を行う。
【００２４】
権限確認モジュール２１は、ユーザ認証モジュール２０において認証されたユーザが、Ｓｕｂｓｃｒｉｂｅ時のイベントの登録権限があるか否か、又は、Ｓｕｂｓｃｒｉｂｅ時のイベント通知レート（イベント通知間隔）が許可される範囲のレートであるか否か、の判定を行う。なお、権限確認を行うために、権限確認モジュール２１は、ユーザの権限情報を管理する、ネットワークを介して接続されたユーザ管理サーバ等に問い合わせを行う。
【００２５】
次に、本発明に係る制御の流れを、フローチャートを用いて説明する。図２は、実施例１におけるイベント登録処理の一例を示すフローチャートである。なお、イベント制御モジュール１４は、以下に示すようにイベントを制御し、イベント登録やイベント受信に必要な情報等を、メモリコントローラ１７を介して、記憶装置１８に記憶したり、記憶装置１８より読み出したり、記憶装置１８から消去したりする。
【００２６】
図２のステップＳ２０１において、ネットワーク対応デバイス２００は、Ｓｕｂｓｃｒｉｂｅメッセージを受信する。ここで、本実施例におけるＳｕｂｓｃｒｉｂｅメッセージの一例を、図３に示す。図３は、実施例１におけるＳｕｂｓｃｒｉｂｅメッセージの一例を示す図である。図３に示されるように、Ｓｕｂｓｃｒｉｂｅメッセージには、後述するイベント通知レート（例えば、３０００ｍｓ）や、通知するイベントとしてイベント種及びその優先順位（例えば、優先順位が１番目のイベント種は、ＪｏｂＬｏｇで、優先順位が２番目のイベント種は、ＩｍｐｒｅｓｓｉｏｎＣｏｕｎｔ）等が含まれている。
【００２７】
受信されたＳｕｂｓｃｒｉｂｅメッセージは、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を介して、ＳＯＡＰプロセッサ１３に通知される。ＳＯＡＰプロセッサ１３は、ＳＯＡＰメッセージ（Ｓｕｂｓｃｒｉｂｅメッセージ）の内容を解析し、ＷＳＥモジュール１５に通知する。
【００２８】
ＷＳＥモジュール１５は、クライアントデバイス１００が送信したＳｕｂｓｃｒｉｂｅメッセージを解析し、解析結果をイベント制御モジュール１４に通知する。
【００２９】
図２のステップＳ２０２において、イベント制御モジュール１４は、ＷＳＥモジュール１５から受け取った解析結果と、保持するイベントリスト（又はイベントテーブル）の登録済みのイベントのイベント通知先（又は返信先）アドレス（ＥｎｄＰｏｉｎｔ）と、を比較する。イベント制御モジュール１４は、比較の結果、ＷＳＥモジュール１５から受け取った解析結果に含まれるイベントのイベント通知先アドレスが、既にイベントリストに登録されているイベントのイベント通知先アドレスの中の一つと同一であると判定すると、ステップＳ２０３に進み、同一でないと判定するとステップＳ２０４に進む。
【００３０】
図２のステップＳ２０３では、例えばイベント制御モジュール１４が、ＷＳＥモジュール１５から受け取った解析結果に含まれるイベントのイベント通知先アドレスと同一の、既にイベントリストに登録されているイベントのイベント通知先アドレスのイベント通知情報を、イベントリストから削除する。
【００３１】
図４は、実施例１におけるイベント制御モジュール１４が保持するイベントリストの一例を示す図である。図４に示されるように、イベントリストは、項目として、宛先（イベント通知先アドレス）４０１と、イベント通知レート４０２と、第１優先イベント４０３と、第２優先イベント４０４と、を含む。
【００３２】
再び図２の説明に戻り、図２のステップＳ２０４では、イベント制御モジュール１４が、クライアントデバイス１００が送信したＳｕｂｓｃｒｉｂｅメッセージに含まれるイベント通知レートと、イベント通知先（前記クライアントデバイス）のイベント通知レートの上限値とを比較して、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲か否かの判定を行う。
なお、イベント制御モジュール１４は、例えばクライアントデバイスと、クライアントデバイスのイベント通知レートの上限値と、を含むリスト等を、保持、管理している。また、イベント制御モジュール１４は、Ｓｕｂｓｃｒｉｂｅメッセージに含まれるイベント通知レートを、例えばＷＳＥモジュール１５から受け取った解析結果より取得する。
【００３３】
イベント制御モジュール１４は、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲であると判定すると、ステップＳ２０５に進む。一方、イベント制御モジュール１４は、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲でないと判定すると、ステップＳ２０６に進む。
【００３４】
図２のステップＳ２０５では、設定手段の一例であるイベント制御モジュール１４が、クライアントデバイス１００からのリクエストのイベント通知レートを、イベント通知レートに設定する。一方、図２のステップＳ２０６では、イベント制御モジュール１４が、クライアントデバイス１００のイベント通知レートの上限値を、イベントリストに含まれるイベント通知レートに設定する。なお、ステップＳ２０６において、イベント制御モジュール１４は、Ｓｕｂｓｃｒｉｂｅメッセージに含まれるイベント通知レートを、イベントリストに設定できない旨のエラー処理を行い、イベント通知レートの設定を行わないようにしてもよい。
【００３５】
図２のステップＳ２０７では、イベント制御モジュール１４が、該当するイベント通知情報である、イベント通知先アドレス（図４の４０１）、イベント通知レート（図４の４０２）、イベント優先順位（図４の４０３、４０４）等をイベントリストに登録する。
【００３６】
図２のステップＳ２０８では、イベント制御モジュール１４等からの要求等に応じて、ＳＯＡＰプロセッサ１３が、例えばＷＳ−Ｅｖｅｎｔｉｎｇ仕様等に基づきＳｕｂｓｃｒｉｂｅＲｅｓｐｏｎｓｅメッセージを生成し、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を介してクライアントに対してユニキャスト送信する。なお、このとき、ＳｕｂｓｃｒｉｂｅＲｅｓｐｏｎｓｅメッセージには、ネットワーク対応デバイス２００で決定（設定）されたイベント通知レートの情報も含まれる。
【００３７】
図２のステップＳ２０９では、イベント制御モジュール１４は、イベント（イベント情報）登録処理を終了するか否かを判定し、終了すると判定するとイベント登録処理を終了し、終了しないと判定すると、ステップＳ２０１に戻り、Ｓｕｂｓｃｒｉｂｅメッセージの受信待ちを行う。
【００３８】
図５は、実施例１におけるイベントメッセージの送信処理の一例を示すフローチャートである。
【００３９】
図５のステップＳ６０１において、イベント制御モジュール１４は、イベントリストを参照し、クライアントデバイス１００に設定されたイベント通知レートを経過したか否かを判定する。イベント制御モジュール１４は、予め定められたイベント通知レートを経過したと判定すると、ステップＳ６０２に進み、予め定められたイベント通知レートを経過していないと判定すると、ステップＳ６０１の処理を繰り返す。
【００４０】
図５のステップＳ６０２では、イベント制御モジュール１４が、イベント通知レート内に発生したイベントのログ（以下、イベントログという）を取得する。
【００４１】
ここで、イベントログの一例を、図６に示す。図６は、イベントログの一例を示す図である。図６に示されるように、イベントログは、項目として、イベントの発生時刻５０１と、イベントの種類を示すイベント種５０２と、イベントの状態を示す状態５０３と、を含む。図６に示される例では、イベント通知レート内に、１０個のイベントが発生した場合の、イベントログの例となっている。
【００４２】
再び図５の説明に戻り、図５のステップＳ６０３では、イベント制御モジュール１４が、保持するイベントリストから、クライアントデバイス１００へのイベント通知条件を取得する。なお、イベント通知条件としては、Ｓｕｂｓｃｒｉｂｅ時に登録されたイベント優先順位情報（図４の４０３、４０４）等がある。
【００４３】
図５のステップＳ６０４では、イベント制御モジュール１４が、ステップＳ６０２において取得したイベントログと、ステップＳ６０３において取得したイベント通知条件と、に基づいて、クライアントデバイス１００へ通知するイベントが存在するか否かを判定する。イベント制御モジュール１４は、クライアントデバイス１００へ通知するイベントが存在すると判定すると、ステップＳ６０５に進み、ライアントデバイス１００へ通知するイベントが存在しないと判定すると、ステップＳ６０１に戻る。
【００４４】
図５のステップＳ６０５では、イベント制御モジュール１４が、イベントログに含まれるイベント種から、イベント通知条件に基づいて、優先順位の高い、クライアントデバイス１００へ通知するイベントを選択する。例えば、図４に示した例では、第１優先イベント４０３が「ジョブログ」、第２優先イベント４０４が「インプレッション」となっているため、イベント制御モジュール１４は、図６に示したイベントログの例では、９番目の「ジョブログ」をクライアントデバイス１００への通知イベントとして選択する。また、イベント制御モジュール１４は、通知先の情報として、例えば、アドレス１９２．１６８．１０．１００のポート１０２８番等の情報を、ＷＳＥモジュール１５等に渡す。
【００４５】
図５のステップＳ６０６では、イベント制御モジュール１４が、クライアントデバイス１００へ通知するイベントをＷＳＥモジュール１５に通知する。ＷＳＥモジュール１５は、Ｅｖｅｎｔ  ｎｏｔｉｆｉｃａｔｉｏｎメッセージ（イベントメッセージ）をクライアントデバイス１００に対して送信するため、ＳＯＡＰプロセッサ１３に対して、例えばＷＳ−Ｅｖｅｎｔｉｎｇ仕様等で規定されるＥｖｅｎｔ  ｎｏｔｉｆｉｃａｔｉｏｎメッセージの発行を要求する。ＳＯＡＰプロセッサ１３は、クライアントデバイス１００に対してＥｖｅｎｔ  ｎｏｔｉｆｉｃａｔｉｏｎメッセージを送信する。
【００４６】
図５のステップＳ６０７では、イベント制御モジュール１４が、イベントメッセージの送信処理を終了するか否かを判定し、終了すると判定するとイベントメッセージの送信処理を終了し、終了しないと判定すると、ステップＳ６０１に戻る。
【実施例２】
【００４７】
実施例１では、Ｓｕｂｓｃｒｉｂｅメッセージに、通知するイベントとして、イベント種が含まれている例を説明した。以下、実施例２では、Ｓｕｂｓｃｒｉｂｅメッセージに、通知するイベントとして、イベント種と共に、イベントの状態が含まれている例を用いて説明を行う。
【００４８】
図７は、実施例２におけるＳｕｂｓｃｒｉｂｅメッセージの一例を示す図である。図７に示されるように、Ｓｕｂｓｃｒｉｂｅメッセージには、イベント通知レート（例えば、３０００ｍｓ）や、通知するイベントとしてイベント種とイベントの状態と、イベントの優先順位等が含まれている。なお、図７の例では、ジョブ状態遷移イベントで、状態が印刷完了のイベントを第１優先とし、ジョブ状態遷移イベントで、状態がａｎｙ（つまり、印刷完了以外）のイベントを第２優先としている。
【００４９】
図８は、実施例２におけるイベント制御モジュール１４が保持するイベントリストの一例を示す図である。図８に示されるように、イベントリストは、項目として、宛先（イベント通知先アドレス）８０１と、イベント通知レート８０２と、第１優先イベントと状態８０３と、第２優先イベントと状態８０４と、を含む。
イベント制御モジュール１４は、図７に示したようなＳｕｂｓｃｒｉｂｅメッセージを受け取ると、実施例１の図２に示したような処理を行い、イベントリストに、該当するイベント通知情報である、イベント通知先アドレス（図８の８０１）、イベント通知レート（図８の８０２）、イベント優先順位等（図８の８０３、８０４）等を登録する。
【００５０】
図９は、実施例２におけるイベントメッセージの送信処理の一例を示すフローチャートである。
【００５１】
なお、図９のステップＳ６０１及びステップＳ６０２の処理は、図５のステップＳ６０１及びステップＳ６０２の処理と同様のため、説明を省略する。図９のステップＳ６０３では、イベント制御モジュール１４が、保持するイベントリストから、クライアントデバイス１００へのイベント通知条件を取得する。なお、イベント通知条件としては、Ｓｕｂｓｃｒｉｂｅ時に登録されたイベント優先順位情報としての、イベント種別と、イベントの状態とがある。
【００５２】
図９のステップＳ６０４では、イベント制御モジュール１４が、ステップＳ６０２において取得したイベントログと、ステップＳ６０３において取得したイベント通知条件と、に基づいて、クライアントデバイス１００へ通知するイベントが存在するか否かを判定する。イベント制御モジュール１４は、クライアントデバイス１００へ通知するイベントが存在すると判定すると、ステップＳ９０１に進み、ライアントデバイス１００へ通知するイベントが存在しないと判定すると、ステップＳ６０１に戻る。
【００５３】
ステップＳ９０１では、イベント制御モジュール１４が、イベントログに含まれるイベント種と、イベントの状態とから、イベント通知条件に基づいて、優先順位の高い、クライアントデバイス１００へ通知するイベントを選択する。例えば、図８に示した例では、第１優先イベントと状態８０３が「ジョブ状態遷移：印刷完了」、第２優先イベントと状態８０４が「ジョブ状態遷移：ａｎｙ」となっているため、イベント制御モジュール１４は、図６に示したイベントログの例では、３番目のジョブログをクライアントデバイス１００への通知イベントとして選択する。また、イベント制御モジュール１４は、通知先の情報として、例えば、アドレス１９２．１６８．１０．１００のポート１０２８番等の情報を、ＷＳＥモジュール１５等に渡す。即ち、設定されている通知間隔（イベント通知レート）の間に発生したイベントを記録するイベントログに含まれるイベントの中から、それぞれのイベントに設定されている優先順位情報を用いて通知イベントを決定する。
【００５４】
図９のステップＳ６０６及びステップＳ６０７の処理は、図５のステップＳ６０６及びステップＳ６０７の処理と同様のため、説明を省略する。
【実施例３】
【００５５】
本実施例では、クライアントデバイス１００からネットワーク対応デバイス２００へユーザ証明書（ユーザの認証情報）を送付することにより、ネットワーク対応デバイス２００において、イベント通知レートをユーザごとに管理する例を示す。
【００５６】
図１０は、実施例３におけるイベント登録処理の一例を示すフローチャートである。図１０のステップＳ２０１において、ネットワーク対応デバイス２００は、ユーザ証明書を添付されたＳｕｂｓｃｒｉｂｅメッセージを受信する。
【００５７】
受信されたＳｕｂｓｃｒｉｂｅメッセージは、ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１１を介して、ＳＯＡＰプロセッサ１３に通知される。ＳＯＡＰプロセッサ１３は、ＳＯＡＰメッセージ（Ｓｕｂｓｃｒｉｂｅメッセージ）の内容を解析し、ＷＳＥモジュール１５に通知する。
【００５８】
ＷＳＥモジュール１５は、クライアントデバイス１００が送信したＳｕｂｓｃｒｉｂｅメッセージを解析し、例えばユーザ証明書をユーザ認証モジュール２０に渡す。ステップＳ１００１では、ユーザ証明書を受け取ったユーザ認証モジュール２０が、ネットワーク対応デバイス２００が保持する、又は、ネットワークを経由して入手可能なルート証明機関の証明書を用いて、ユーザ証明書の認証を行う。
ユーザ認証モジュール２０は、ユーザ証明書が有効であると判定すると、ステップＳ１００２に進み、ユーザ証明書が有効でないと判定すると、ステップＳ２０９に進む。なお、ユーザ認証モジュール２０は、実際は、例えばチャレンジ・レスポンス方式等によって認証を行う。
【００５９】
ステップＳ１００２では、権限確認モジュール２１が、ユーザ認証モジュール２０において認証されたユーザに対して許可されている、Ｓｕｂｓｃｒｉｂｅ時のイベント通知レートの上限値を取得する。ここで、権限確認モジュール２１が、保持、管理するユーザごとのイベント通知レートの上限値のリスト（以下、上限値リストという）の一例を、図１１に示す。
【００６０】
図１１は、上限値リストの一例を示す図である。図１１に示されるように、上限値リストは、項目として、ユーザを識別するユーザ１１０１と、イベント通知レート上限値１１０２と、を含む。
【００６１】
権限確認モジュール２１は、取得したイベント通知レートの上限値を、イベント制御モジュール１４に渡す。図１０のステップＳ２０２では、イベント制御モジュール１４は、ＷＳＥモジュール１５から受け取った解析結果と、保持するイベントリスト（又はイベントテーブル）の登録済みのイベントのイベント通知先（又は返信先）アドレス（ＥｎｄＰｏｉｎｔ）と、を比較する。イベント制御モジュール１４は、比較の結果、ＷＳＥモジュール１５から受け取った解析結果に含まれるイベントのイベント通知先アドレスが、既にイベントリストに登録されているイベントのイベント通知先アドレスの中の一つと同一であると判定すると、ステップＳ２０３に進み、同一でないと判定するとステップＳ１００３に進む。
【００６２】
図１０のステップＳ２０３では、例えばイベント制御モジュール１４が、ＷＳＥモジュール１５から受け取った解析結果に含まれるイベントのイベント通知先アドレスと同一の、既にイベントリストに登録されているイベントのイベント通知先アドレスのイベント通知情報を、イベントリストから削除する。
【００６３】
一方、図１０のステップＳ１００３では、イベント制御モジュール１４が、権限確認モジュール２１より受け取ったイベント通知レートの上限値と、該当ユーザのイベント通知レートの上限値と、を比較して、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲か否かの判定を行う。
【００６４】
イベント制御モジュール１４は、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲であると判定すると、ステップＳ２０５に進む。一方、イベント制御モジュール１４は、クライアントデバイス１００からのリクエストが上限値を超えずにイベント通知可能な範囲でないと判定すると、ステップＳ１００４に進む。
【００６５】
図１０のステップＳ２０５では、イベント制御モジュール１４が、クライアントデバイス１００からのリクエストのイベント通知レートを、イベント通知レートに設定する。一方、図１０のステップＳ１００４では、イベント制御モジュール１４が、該当ユーザのイベント通知レートの上限値を、イベントリストに含まれるイベント通知レートに設定する。なお、図１０のステップＳ１００４において、イベント制御モジュール１４は、Ｓｕｂｓｃｒｉｂｅメッセージに含まれるイベント通知レートを、イベントリストに設定できない旨のエラー処理を行い、イベント通知レートの設定を行わないようにしてもよい。
【００６６】
なお、図１０のステップＳ２０７からステップＳ２０９の処理は、図２のステップＳ２０７からステップＳ２０９の処理と同様のため、説明を省略する。
【００６７】
(その他の実施例)
上述した実施例では、ＷＳ−Ｅｖｅｎｔｉｎｇ仕様を用いて説明を行ったが、本発明の実施は、これに限定されるものではない。また、上述した実施例では、ネットワークの一例として、Ｅｔｈｅｒｎｅｔ（登録商標）を用いて説明を行ったが、本発明の実施は、これに限定されるものではない。
【００６８】
また、上述した実施例では、ネットワーク対応デバイスとして、プリンタを例示したが、本発明の実施は、このことに限定されるものではなく、例えば、スキャナ、ＦＡＸ、複合機、ストレージデバイス等、クライアントデバイス１００が、ネットワークを介して利用可能なデバイスであればいずれのデバイスであってもよい。
【００６９】
また、上述した実施例におけるクライアントデバイス１００、ネットワーク対応デバイス２００における各処理機能は、各処理機能を実現する為のプログラムをメモリから読み出してＣＰＵ（中央演算装置）が実行することによりその機能を実現させるものであるが、これに限定さるものではなく、各処理機能の全部又は一部の機能を専用のハードウエアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
【００７０】
また、クライアントデバイス１００、ネットワーク対応デバイス２００内の各機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウエアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施例の機能が実現される場合も含む。
【００７１】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００７３】
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７４】
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７５】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施例として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【００７６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７７】
【図１】イベント登録システムの一例のシステム構成図である。
【図２】実施例１におけるイベント登録処理の一例を示すフローチャートである。
【図３】実施例１におけるＳｕｂｓｃｒｉｂｅメッセージの一例を示す図である。
【図４】実施例１におけるイベント制御モジュール１４が保持するイベントリストの一例を示す図である。
【図５】実施例１におけるイベントメッセージの送信処理の一例を示すフローチャートである。
【図６】イベントログの一例を示す図である。
【図７】実施例２におけるＳｕｂｓｃｒｉｂｅメッセージの一例を示す図である。
【図８】実施例２におけるイベント制御モジュール１４が保持するイベントリストの一例を示す図である。
【図９】実施例２におけるイベントメッセージの送信処理の一例を示すフローチャートである。
【図１０】実施例３におけるイベント登録処理の一例を示すフローチャートである。
【図１１】上限値リストの一例を示す図である。
【符号の説明】
【００７８】
１      ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック
２      ＨＴＴＰ
３      ＳＯＡＰプロセッサ
４      イベント制御モジュール
５      ＷＳＥモジュール
６      メモリコントローラ
８      記憶装置
９      ユーティリティ
１０    アプリケーション
１１    ＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック
１２    ＨＴＴＰ
１３    ＳＯＡＰプロセッサ
１４    イベント制御モジュール
１５    ＷＳＥモジュール
１６    プリンタコントローラ
１７    メモリコントローラ
１８    記憶装置
２０    ユーザ認証モジュール
２１    権限確認モジュール
【図１】
2007066076.tif 000003
【図２】
2007066076.tif 000004
【図３】
2007066076.tif 000005
【図４】
2007066076.tif 000006
【図５】
2007066076.tif 000007
【図６】
2007066076.tif 000008
【図７】
2007066076.tif 000009
【図８】
2007066076.tif 000010
【図９】
2007066076.tif 000011
【図１０】
2007066076.tif 000012
【図１１】
2007066076.tif 000013