(57)【特許請求の範囲】
【請求項１】
ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベント配送のためのパスが複数用意された高信頼イベント配送方法において、
前記イベントノティフィケーションサービス内部で個々のイベントに前記ネットワーク環境下で一意に識別できる識別子を付与し、  同一イベントが異なるパスから重複して配送されたことを、過去に配送し、保存してあるイベントの識別子と照合して検出するとともに、
前記イベント送信者に直結されるイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結されるイベント受信者に前記識別子を除去したイベントを配送し、
前記直結されるイベントノティフィケーションサービスの下流に位置する少なくとも１個のイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送することを特徴とする高信頼イベント配送方法。
【請求項２】
ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベント配送のためのパスが複数用意された高信頼イベント配送方法において、
前記イベント送信者が前記不特定多数のイベント受信者に対し、直結されるイベントノティフィケーションサービスを介してイベントを送信する第１のステップと、
前記イベントノティフィケーションサービス内部で個々のイベントにネットワーク環境下で一意に識別できるイベント識別子を付与するとともに、そのイベント識別子をイベント識別子リストとして保存する第２のステップと、
前記イベント送信者に直結されたイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結しているイベント受信者に前記識別子を除去したイベントを配送し、前記直結されるイベントノティフィケーションサービスの下流に位置するイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送する第３のステップと、
前記イベントの配送を受けたイベントノティフィケーションサービス内部で、前記イベント識別子リストを参照することによって同一イベント識別子が保存されているか否かを調べ、同一イベント識別子が存在した場合当該イベントを破棄し、存在しなかった場合、当該イベント識別子を前記イベント識別子リストに保存する第４のステップと、
前記イベントノティフィケーションサービスからイベントの転送を受けたイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結しているイベント受信者に前記識別子を除去したイベントを配送し、前記直結されるイベントノティフィケーションサービスの下流に位置するイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送する第５のステップと、
を備えたことを特徴とする高信頼イベント配送方法。
【請求項３】
ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベントノティフィケーションサービスを複数のネットワークノードに配置し、相互に接続して、前記イベントの配送パスが複数設定された高信頼イベント配送装置において、
前記イベントノティフィケーションサービス内部にあって、個々のイベントにネットワーク環境下で一意に識別できる識別子を付与するイベント識別子付与手段と、
同一イベントが異なるパスから重複して配送されたことを、過去に配送し保存してあるイベントの前記識別子と照合するイベント識別子照合手段と、
同一イベント識別子が存在した場合に当該イベントを破棄し、前記同一識別子が存在しなかった場合に当該イベント識別子を新たに保存するイベント識別子更新手段と、
を備えたことを特徴とする高信頼イベント配送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチメディアサービスを行うミドルウェアに適用して好適な高信頼イベント配送方法及びその装置に係わり、より具体的には、イベント送信者が不特定多数のイベント受信者に対してイベントをマルチキャスト配送できる、イベントノティフィケーションサービスに関する。
【０００２】
【従来の技術】
特に重要なイベントを配送する場合、イベント配送の信頼性を高める方法として、従来は、イベント送信者（以下、サプライヤと称す）とイベント受信者（以下、コンシューマと称す）の間でイベントを受信したか否かの到達確認を行う方法がある。また、到達確認を行わずにサプライヤが同一イベントを複数回送信してイベント喪失率を下げるか、あるいは、図４に示すように、イベント転送ルートを複数化する方法がある。
図４中、４１はサプライヤ、４２はコンシューマであり、４３、４４、４５、４６は、サプライヤ４１とコンシューマ４２間のイベント配送を司るイベントノティフィケーションサービス（以下、単にＮＳと称する）である。
ここでは、サプライヤ４１がコンシューマ４２に対して、イベントを複数の転送ルートＲ１（サプライヤ４１−ＮＳ４３−ＮＳ４４−ＮＳ４６−コンシューマ４２）、Ｒ２（サプライヤ４１−ＮＳ４３−ＮＳ４５−ＮＳ４６−コンシューマ４２）を介して配送している。
【０００３】
サプライヤ４１とコンシューマ４２間でイベント到達確認を取る方法は、ネットワークワイドな環境では、不特定多数存在するコンシューマ（図４では４２のみ）の全てと確認を取らなければならない。また、何度も同一イベントを送信する方法では、それらのイベントが同一のものか否かのチェックを、受信したコンシューマ４２が行う必要がある。
また、イベント転送ルートを複数化した場合、同一イベントが複数のルートから配送されるため、この場合もイベントを受け取ったコンシューマ４２は、イベントの重複をチェックする必要があり、サプライヤ４１とコンシューマ４２間でイベントの重複をチェックするためのプロトコルを規定しなければならない。
【０００４】
【発明が解決しようとする課題】
従来は、上述したように、重要なイベントを不特定多数のコンシューマに配送する場合は、サプライヤとコンシューマ間でイベント到達確認を取りながら送受信するか、同一イベントを複数配送し、イベントを受信したコンシューマ側が同一のイベントか否かをチェックする必要があった。
不特定多数のコンシューマヘ情報配送する場合に、コンシューマと確認を取るためには、イベントを配送すべき全コンシューマと受信確認を取らなければならないため、サプライヤにとって負担が大きい。また、同一イベントの重複チェックをコンシューマが行うには、イベントを識別するための付加情報を決めるなどのプロトコルの規定が必要であり、またコンシューマはその付加情報を管理しなければならない等、サプライヤやコンシューマにかかる負担は無視できないものであった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、ネットワーク環境下にあって、サプライヤが不特定多数のコンシューマに対してＮＳを介してイベントを配送し、イベントの高信頼性配送のためにイベント配送のためのパスを複数用意し、かつ、ＮＳ内部で個々のイベントにネットワーク環境下で一意に識別できるＩＤ（識別子）を付与し、同一イベントが異なるパスから重複して配送されたことを、過去に配送し保存してあるイベントのＩＤと照合して検出することによって、サプライヤやコンシューマの負担を軽減したイベントノティフィケーションサービスを実現する高信頼イベント配送方法及びその装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記した課題を解決するために請求項１に記載の発明は、ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベント配送のためのパスが複数用意された高信頼イベント配送方法において、
前記イベントノティフィケーションサービス内部で個々のイベントに前記ネットワーク環境下で一意に識別できる識別子を付与し、  同一イベントが異なるパスから重複して配送されたことを、過去に配送し、保存してあるイベントの識別子と照合して検出するとともに、前記イベント送信者に直結されるイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結されるイベント受信者に前記識別子を除去したイベントを配送し、前記直結されるイベントノティフィケーションサービスの下流に位置する少なくとも１個のイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送することとした。
このことにより、サプライヤからコンシューマヘのイベント転送ルートを複数設定することでイベント配送の信頼度を上げることができ、また、サプライヤはイベントを何度も送信したり、コンシューマとイベント受信確認を取る必要がなく、更に、複数の転送ルートから同一のイベントが重複してコンシューマヘ配送されることがなくなるため、サプライヤやコンシューマの負担が大幅に軽減される。
更に、重複したイベントは、重複を検知したイベントノティフィケーションサービスにおいて破棄されるため、配送途中で不要なイベントが削除され、イベントトラフィックの低減が図れる。
【０００８】
請求項２に記載の発明は、ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベント配送のためのパスが複数用意された高信頼イベント配送方法において、前記イベント送信者が前記不特定多数のイベント受信者に対し、直結されるイベントノティフィケーションサービスを介してイベントを送信する第１のステップと、前記イベントノティフィケーションサービス内部で個々のイベントにネットワーク環境下で一意に識別できるイベント識別子を付与するとともに、そのイベント識別子をイベント識別子リストとして保存する第２のステップと、前記イベント送信者に直結されたイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結しているイベント受信者に前記識別子を除去したイベントを配送し、前記直結されるイベントノティフィケーションサービスの下流に位置するイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送する第３のステップと、前記イベントの配送を受けたイベントノティフィケーションサービス内部で、前記イベント識別子リストを参照することによって同一イベント識別子が保存されているか否かを調べ、同一イベント識別子が存在した場合当該イベントを破棄し、存在しなかった場合、当該イベント識別子を前記イベント識別子リストに保存する第４のステップと、前記イベントノティフィケーションサービスからイベントの転送を受けたイベントノティフィケーションサービスは、前記不特定多数のイベント受信者のうち、該イベントノティフィケーションサービスに直結しているイベント受信者に前記識別子を除去したイベントを配送し、前記直結されるイベントノティフィケーションサービスの下流に位置するイベントノティフィケーションサービスに対して前記識別子が付与されたイベントを配送する第５のステップとを備えることとした。
このことにより、ネットワークノード間でイベント転送時の障害等によるイベント喪失の頻度を低下させることができる。また、複数のイベント転送ルートから同一イベントのチェックをコンシューマが行う必要なく、サプライヤとコンシューマ間でイベント確認プロトコルを規定する必要なく、重複しないイベントをコンシューマヘ配送するイベントノティフィケーションサービス群を実現できる。
【０００９】
請求項３に記載の発明は、ネットワーク環境下にあって、イベント送信者が不特定多数のイベント受信者に対してイベントノティフィケーションサービスを介してイベントを配送し、前記イベントノティフィケーションサービスを複数のネットワークノードに配置し、相互に接続して、前記イベントの配送パスが複数設定された高信頼イベント配送装置において、前記イベントノティフィケーションサービス内部にあって、個々のイベントにネットワーク環境下で一意に識別できる識別子を付与するイベント識別子付与手段と、同一イベントが異なるパスから重複して配送されたことを、過去に配送し保存してあるイベントの前記識別子と照合するイベント識別子照合手段と、同一イベント識別子が存在した場合に当該イベントを破棄し、前記同一識別子が存在しなかった場合に当該イベント識別子を新たに保存するイベント識別子更新手段とを備えることとした。
上記構成により、イベントノティフィケーションサービスを複数のネットワークノードに配置し、相互に接続してイベント転送ルートを複数設定することによりイベント配送処理の負荷分散ができるとともに、ネットワークノード間でイベント転送時の障害等によるイベント喪失の頻度を低下させることができる。また、複数のイベント転送ルートから同一イベントのチェックをコンシューマが行う必要なく、更に、サプライヤとコンシューマ間でイベント確認プロトコルを規定する必要なく、重複しないイベントをコンシューマヘ配送できる高信頼イベント配送装置を提供することができる。
【００１０】
【発明の実施の形態】
図１は、本発明の高信頼イベント配送方法による処理手順をネットワークツリー上に概念的に示した図である。
図中、１１はサプライヤ、１２、１３は不特定多数のコンシューマである。１４、１５は、本発明の高信頼イベント配送方法がインプリメントされるイベントノティフィケーションサービス（ＮＳ）である。
【００１１】
図１には、ネットワークワイドな環境におけるサプライヤ１１およびコンシューマ１２、１３間のイベント情報を、ＮＳ１４、１５を介して通知するイベント通知のための手順が示されている。
図１において、まず、サプライヤ１１が、直結されているＮＳ１４ヘイベントを送信する（▲１▼イベント配送）。イベントを受信したＮＳ１４は、イベントにネットワークワイドな環境でイベントを一意に識別できるイベント識別子（ＩＤ）を付加情報として付与するとともに（▲２▼イベントＩＤ付与）、そのイベントＩＤをイベントＩＤリスト２１に保存し（▲３▼イベントＩＤ保存）、直結のコンシューマ群へ（ここではコンシューマ１２のみ）、付加情報であるイベントＩＤを除去したイベントを配送し、直結の下流のＮＳ群（ここではＮＳ１５のみ）へ付加情報のあるイベントを転送する処理を行う（▲４▼イベント配送）。
【００１２】
イベントの転送を受けた各々のＮＳ（ここではＮＳ１５）は、イベントＩＤを各々管理しているイベントＩＤリスト（ここではイベントＩＤリスト２１）に、同じイベントＩＤが記録されているか否かをチェックする（▲５▼イベントＩＤチェック）。このチェックで同一のイベントＩＤが見つかったＮＳでは当該イベントを破棄し、見つからなかったＮＳではイベントＩＤをイベントＩＤリスト２１に保存し（▲６▼イベントＩＤ保存）、直結のコンシューマ群（ここではコンシューマ１３のみ）へ付加情報であるイベントＩＤを除去したイベントを配送し（▲７▼イベント配送）、直結の下流のＮＳ群（ここでは存在しない）へ付加情報を持つイベントを転送する処理を行う。
【００１３】
このことにより、ＮＳ１４、１５を複数のネットワークノードに配置し、相互に接続して、イベント転送ルートを複数設定することにより、イベント配送処理の負荷分散ができるとともに、ネットワークノード間イベント転送時の障害等によるイベント喪失の頻度を低下させることができる。また、複数のイベント転送ルートから同一イベントのチェックをコンシューマ１２、１３が行う必要なく、サプライヤ１１とコンシューマ１２、１３間でイベント確認プロトコルを規定する必要なく、重複しないイベントをコンシューマ１２、１３ヘ配送するＮＳ群１４、１５を実現できる。このＮＳ群１４、１５はサプライヤ１１やコンシューマ１２、１３からは１個のＮＳとして見える。
【００１４】
図２は、本発明における高信頼イベント配送装置の内部構成を示すブロック図である。本発明の高信頼イベント配送装置は、ネットワーク環境下にあって、サプライヤが不特定多数のコンシューマに対してＮＳを介してイベントを配送し、当該ＮＳを複数のネットワークノードに配置し、相互に接続されるものであって、高信頼性のイベント配送を行なうために、イベントの配送パスが複数設定されることは上述したとおりである。
このために本発明の高信頼イベント配送装置は、イベントＩＤ保存部１２１と、イベントＩＤ付与部１２２と、イベントＩＤ照合部１２３と、イベントＩＤ更新部１２４と、イベント配送制御部１２５とで構成される。
【００１５】
イベントＩＤ保存部１２１には上述したようにイベントのＩＤリストが保存される。イベントＩＤ付与部１２２は、各ＮＳ１４、１５内部にあって、ここで個々のイベントにネットワーク環境下で一意に識別できる識別子を付与する。イベントＩＤ照合部１２３は、同一イベントが異なるパスから重複して配送されたことを検出するために、過去に配送し保存してあるイベントＩＤと照合し、その結果をイベントＩＤ更新部１２４へ供給する。ここで、同一イベントＩＤが存在した場合に当該イベントを破棄し、同一ＩＤが存在しなかった場合に当該イベントＩＤをイベントＩＤ保存部１２１に新たに保存する。
イベント配送制御部１２５は、不特定多数のコンシューマ１２、１３のうち、サプライヤ１１に直結されるＮＳ群に対して先のイベントＩＤを除去したイベントを配送し、直結されるＮＳの下流に位置するＮＳ群に対してＩＤが付与されたイベントを配送する。
【００１６】
図３は、本発明における高信頼イベント配送方法を実現する処理手順をネットワークツリー上に展開して示した一実施形態である。
図３において、ＮＳ３１は、サプライヤ２１からイベントを受信すると、受信したイベントに、ネットワークワイドな環境でイベントを一意に識別できるイベントＩＤを付加情報として付与するとともに、そのイベントＩＤをＮＳ３１が管理するイベントＩＤリストに保存し、直結のコンシューマ（ここではコンシューマ２２）へ付加情報であるイベントＩＤを除去したイベントを配送し、直結の下流のＮＳ群（ここではＮＳ３２およびＮＳ３３）へ付加情報のあるイベントを転送する。
【００１７】
次に、ＮＳ３１からイベントの転送を受けたＮＳ３２とＮＳ３３は、それぞれ、当該イベントのイベントＩＤを各々で管理しているイベントＩＤリストに、同じイベントＩＤが記録されているかどうかをチェックする。この場合、このチェックで同一のイベントＩＤは見つからないため、ＮＳ３２およびＮＳ３３は、そのイベントＩＤをそれぞれが管理するイベントＩＤリストに保存し、直結のコンシューマヘ付加情報であるイベントＩＤを除去したイベントを配送し、直結の下流のＮＳ（ここではＮＳ３４がＮＳ３２からもＮＳ３３からも直結の下流ＮＳである。）へ付加情報を持つイベントを転送する。
【００１８】
続いて、ＮＳ３４は、ＮＳ３２とＮＳ３３の両方から同一のイベント転送を受信する。仮に、ＮＳ３２からのイベント受信が先に起こったとすると、このとき、ＮＳ３４は当該イベントのイベントＩＤをＮＳ３４自身が管理しているイベントＩＤリストに、同じイベントＩＤが記録されているかどうかをチェックする。
ここでは、このチェックで同一のイベントＩＤは見つからないため、当該イベントＩＤをイベントＩＤリストに保存し、直結のコンシューマ２４ヘ付加情報であるイベントＩＤを除去したイベントを配送し、直結の下流のＮＳ３５へ付加情報を持つイベントを転送する。
【００１９】
一方、ＮＳ３３からも上記と同一のイベントが転送されることになり、このときＮＳ３４は当該イベントのイベントＩＤをＮＳ３４自身が管理しているイベントＩＤリストに、同じイベントＩＤが記録されているかどうかをチェックする。
このチェックの際には同一のイベントＩＤがイベントＩＤリストから見つかり、ＮＳ３４では当該イベントを破棄する。この場合、直結のコンシューマ２４および直結の下流ＮＳ３５に対してイベント転送が行われないため、重複して同一イベントが配送されることはない。
ＮＳ３５は、ＮＳ３４からイベント転送を１回だけ受け、このときＮＳ３５は当該イベントのイベントＩＤをＮＳ３５自身が管理しているイベントＩＤリストに、同じイベントＩＤが記録されているかどうかをチェックする。
ここでは、このチェックで同一のイベントＩＤは見つからないため、当該イベントＩＤをイベントＩＤリストに保存し、直結のコンシューマ２５ヘ付加情報であるイベントＩＤを除去したイベントを配送する。ここでは、ＮＳ３５の直結の下流ＮＳが存在しないため、ここでイベント配送は完了する。
【００２０】
仮に、この動作の途中において、ＮＳ３２からＮＳ３４へのイベント転送に障害があり転送できない場合でも、ＮＳ３３からＮＳ３４へ転送されるイベントが、ＮＳ３４のイベントＩＤリストに無いため、破棄されずに直結のコンシューマや下流のＮＳに対するイベント配送が行われる。
なお、図３に示した実施形態では、ＮＳ３１からＮＳ３２への転送ルートや、ＮＳ３４からＮＳ３５への転送ルートなどは１つしかルートが存在しないため、転送の信頼度を向上するためには、ＮＳ３３からＮＳ３２への転送ルートを構築したり、ＮＳ３３からＮＳ３５への転送ルートを構築するなどの方法が利用できる。
【００２１】
【発明の効果】
以上説明のように本発明によれば、ＮＳを複数のネットワークノードに配置し、相互に接続して、イベント転送ルートを複数設定することにより、イベント配送処理の負荷分散ができるとともに、ネットワークノード間イベント転送時の障害等によるイベント喪失の頻度を低下させることができる。また、複数のイベント転送ルートから同一イベントのチェックをコンシューマが行う必要なく、サプライヤとコンシューマ間でイベント確認プロトコルを規定する必要なく、重複しないイベントをコンシューマヘ配送するＮＳ群を実現できる。
【００２２】
本発明によれば、更に以下に列挙する効果も得られる。
（１）サプライヤからコンシューマヘのイベント転送ルートを複数設定することによりイベント配送の信頼度を上げることが可能となる。
（２）サプライヤはイベントを何度も送信したり、コンシューマとイベント受信確認を取る必要がなく、また、複数の転送ルートから同一のイベントが重複してコンシューマヘ配送されることがなく、更に、重複したイベントは、重複を検知したＮＳにおいて破棄されるため、配送途中で不要なイベントが削除され、イベントトラフィックを軽減できる。
【図面の簡単な説明】
【図１】本発明の高信頼イベント配送方法による処理手順をネットワークツリー上に概念的に示した図。
【図２】本発明における高信頼イベント配送装置の内部構成を示すブロック図。
【図３】本発明における高信頼イベント配送方法を実現する処理手順をネットワークツリー上に展開して示した図。
【図４】従来における高信頼イベント配送方法を説明するために引用した図。
【符号の説明】
１１  サプライヤ（イベント送信者）
１２、１３  コンシューマ（イベント受信者）
１４、１５  イベントノティフィケーションサービス（ＮＳ）
２１  イベントＩＤリスト
１２１  イベントＩＤ保存部
１２２  イベントＩＤ付与部
１２３  イベントＩＤ照合部
１２４  イベントＩＤ更新部
１２５  イベント配送制御部
【図１】
0003540253.tif 000002
【図２】
0003540253.tif 000003
【図３】
0003540253.tif 000004
【図４】
0003540253.tif 000005