JPWO2009107511A1 - 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム - Google Patents

複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム Download PDF

Info

Publication number
JPWO2009107511A1
JPWO2009107511A1 JP2010500652A JP2010500652A JPWO2009107511A1 JP WO2009107511 A1 JPWO2009107511 A1 JP WO2009107511A1 JP 2010500652 A JP2010500652 A JP 2010500652A JP 2010500652 A JP2010500652 A JP 2010500652A JP WO2009107511 A1 JPWO2009107511 A1 JP WO2009107511A1
Authority
JP
Japan
Prior art keywords
event
node
composite
composite event
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010500652A
Other languages
English (en)
Inventor
浩史 傅寳
浩史 傅寳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2009107511A1 publication Critical patent/JPWO2009107511A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Abstract

複合イベント検出/配信システムは、複数のイベントを複合した複合イベントの検出に関連する関連イベントを検出すると、検出した該関連イベントを、ルートノードへ転送する関連イベント検出ノードと、前記関連イベント検出ノードから前記関連イベントを受信すると、受信した該関連イベントに基づいて複合イベントを生成し、生成した該複合イベントを設定内容に従って他のノードへ転送するルートノードと、を有する。

Description

本発明は、ある1つの対象物の状態変化を1つのイベントとして配信するとともに、個々のイベントを組み合わせて複合イベントを生成/検出する技術に関する。また、本発明は、複合イベント検出/配信システムが備えるブローカーノードに関する。
ハードウェア的なセンサデバイスやRFID等を用いて、実空間の対象物に対するセンシングが行われている。また、ソフトウェアを用いて、コンピュータシステム内の各種ソフトウェアの稼動状況を監視することが行われている。そして、そのようにモニタリングした大量データをマイニング処理することにより、データ集合が意味する状態を把握されるようになってきている。なお、イベントとは、ある対象の状態の変化を意味する。
ここで、さらに個々のイベントを組み合わせた複合イベントを検出できるようにすることにより、より高度なイベント配信を実現できるようにすることが望まれる。複合イベントの事例として、例えば、渋滞であることを示す渋滞イベントは、日本道路公団によれば、「時速40km以下で1kmの車列の延長が15分以上継続したとき」と定義されている。この例では、「イベント1=車の速度が時速40km以下である。」、「イベント2=1kmの車列が存在している。」及び「イベント3=イベント1とイベント2との状態が15分以上、同時発生し続けている。」という3つの単イベントが同時に成立していることが想定される。
従って、渋滞発生に関しては、「複合イベント=(イベント1)AND(イベント2)AND(イベント3)」の論理式が満足された時に渋滞イベントが発生する。
複合イベント処理を実現する関連技術の事例が、例えば、特開2004−164107号公報(以下、「特許文献1」という)に記載されている。特許文献1に記載された事例では、サーバ集約型のイベント処理が示されており、ネットワークエッジに設置された解析端末がイベントを検出し、その検出したイベントを管理端末に集約し集中処理するモデルが示されている。また、例えば、特開2006−309701号公報(以下、「特許文献2」という)には、サーバ集約型の他の例として、処理サーバがルール設定に従ってRFIDタグからのイベントを全て検出したらアプリケーションに通知するように構成された負荷分散振り分けシステムが記載されている。
また、複合イベント処理を実現する関連技術の別な事例が、Peter R. Pietzuch, ”A scalable event-based middleware” June 2004, pp135-153(以下、「非特許文献1」という)に記載されている。非特許文献1に記載された方式では、システムは、複合イベント検出プロセスに、マイグレーション機能をもたせることによって、異なったイベントをプロセスマイグレーションしながら検出している。そのため、非特許文献1に記載された方式では、システムは複合イベントに対応するための機能を具備しているが、ネットワーク負荷が増大するという問題点が存在する。
特許文献1や特許文献2に記載されたサーバ集約モデルでは、サーバボトルネックが最大の問題点であり、イベントの多様化によってサーバ負荷が増大してしまう。この問題点の解決策として、サーバを追加したり、処理対象とするイベント種別をサーバ毎に振り分けたりすることが考えられる。しかし、このサーバ集約型の方式では、別々のサーバで処理されるイベントを関連づけて、複合イベントとして処理する手段が存在せず、複合イベントの配信を実現することが難しい。なお、特許文献2には、複数のイベントを検出して通知することが記載されているが、検出した複数のイベントに基づいて複合イベントを生成し配信することは開示されておらず、複合イベントの配信を実現することはできない。
また、非特許文献1に記載されたプロセスマイグレーションを用いて複合イベントを生成して配信するようにすれば、プロセスそのものの全データを移動するため、データ転送量が多いことがデメリットである。すなわち、複合イベントを構成する個々の単イベントの数が増加すれば、それに伴うマイグレーション回数が増加し、結果的にネットワークへの負荷が高くなる。また、複合イベント種別が多くなることも、マイグレーション数を増加させてネットワーク負荷を高くする要因となり問題となる。
そこで、本発明は、上記課題を解決するためになされたものであって、複合イベント種別の増加に対して、複合イベントを検出し配信するノードに対する負荷集中を軽減することができる技術を提供することを目的とする。
本発明の複合イベント検出/配信システムは、複数のイベントを複合した複合イベントの検出に関連する関連イベントを検出すると、検出した該関連イベントを、ルートノードへ転送する関連イベント検出ノードと、前記関連イベント検出ノードから前記関連イベントを受信すると、受信した該関連イベントに基づいて複合イベントを生成し、生成した該複合イベントを設定内容に従って他のノードへ転送するルートノードと、を有する。
本発明のブローカーノードは、複数のイベントを複合した複合イベントを受信する受信手段と、前記受信手段により受信された前記関連イベントに基づいて複合イベントを生成する複合イベント生成手段と、前記関連イベント生成手段により生成された前記複合イベントを設定内容に従って他のノードへ転送する複合イベント配信手段と、を有する。
本発明の複合イベント検出/配信方法は、複数のイベントを複合した複合イベントの検出に関連する関連イベントを検出すると、検出した該関連イベントを、ルートノードへ転送し、前記関連イベントを受信すると、受信した該関連イベントに基づいて複合イベントを生成し、生成した該複合イベントを設定内容に従って他のノードへ転送する、方法である。
本発明の複合イベント検出/配信用プログラムは、コンピュータに、複数のイベントを複合した複合イベントを受信する受信手順、前記受信手順で受信された前記関連イベントに基づいて複合イベントを生成する複合イベント生成手順、及び前記関連イベント生成手順で生成された前記複合イベントを設定内容に従って他のノードへ転送する複合イベント配信手順、実行させるためのプログラムである。
本発明によれば、複合イベント種別の増加に対して、複合イベントを検出し配信するノードに対する負荷集中を軽減することができる。
本発明による複合イベント検出/配信システムの全体の構成例を示すブロック図である。 イベント定義の管理形態を示すデータ構造図である。 イベント定義面とイベント配信との関係を示す説明図である。 パブリッシャーノードの構成の一例を示すブロック図である。 ブローカーノードの構成の一例を示すブロック図である。 サブスクライバーノードの構成の一例を示すブロック図である。 複合イベント検出/配信システムにおけるマルチキャストツリー構築及びイベント配信の流れを示す流れ図である。 ルートノードR1からサブスクライバーノードS2,S4,S5へのマルチキャストツリーの構築の流れを示す説明図である。 ルートノードR2からサブスクライバーノードS1へのマルチキャストツリーの構築の流れを示す説明図である。 パブリッシャーノードP1からサブスクライバーノードS2,S4,S5にイベント配信を行う際の具体的なイベントのルーティングを示す説明図である。 パブリッシャーノードP2からサブスクライバーノードS1にイベント配信を行う際の具体的なイベントのルーティングを示す説明図である。 複合イベント検出/配信システムにおける複合イベントを検出し配信する流れを示す流れ図である。 複合イベント用のルートノードの設定方法を示す説明図である。 複合イベント登録の内容の例を示す説明図である。 関連イベントA1の登録内容の例を示す説明図である。 関連イベントB1の登録内容の例を示す説明図である。 複合イベント配信の例を示す説明図である。 関連イベントA1,B1の収集、及び複合イベントC1の検出の動作を示す説明図である。 各ブローカーノードの動作を示す説明図である。 複合イベント検出及び配信のためのブローカーノードのルーティングテーブルの例を示す説明図である。 複合イベント検出/配信システムの最小の構成例を示す構成図である。
以下、本発明の実施形態を、図面を参照して説明する。まず、本発明による複合イベント検出/配信システムの概略及び構成を説明する。図1は、本発明による複合イベント検出/配信システムの全体の構成例を示すブロック図である。図1に示すように、複合イベント検出/配信システムは、パブリッシャーノードP1,P2、イベントをルーティングするブローカーノードBR1〜BR25、及びイベントを受信するサブスクライバーノードS1〜S5の3種類のノードを含む。また、本実施形態において、ブローカーノードBR1〜BR25は、ルートノードとして設定されている場合には、イベント配信処理を行うルートノードとしても機能する。
本発明における複合イベント検出/配信システムでは、パブリッシュ(Publish )・サブスクライブ(Subscribe )型の通信方式を用いることを想定している。このパブリッシュ・サブスクライブ方式では、パブリッシャーノードP1,P2が様々な情報をトピックで分類して公開し、サブスクライバーノードS1〜S5が興味のあるトピックに対して受信登録を行う。この結果、その受信登録した情報がパブリッシャーノードP1,P2からサブスクライバーノードS1〜S5にルーティングされ配信される。本発明では、複合イベント検出/配信システムにおいて、パブリッシャーノードP1,P2が送信する様々なイベントがトピックで分類される。
まず、最初に、イベントについて説明する。基本的に各イベントは、個々を区別するためのIDをもっている。パブリッシャーノードP1,P2からサブスクライバーノードS1〜S5に配信されるイベントは、そのイベントを識別するためのIDを具備している。そして、そのイベントを中継する中間のブローカーノードBR1〜BR25は、そのイベントIDをキーとしてルーティング処理を行う。
パブリッシャーノードP1,P2は、生成する様々なイベントに対して、ハッシュ関数等を用いて、各々にユニークなイベントIDを生成する。なお、上記に示したパブリッシャーノードP1,P2がイベントIDを生成する方法は、例えば、非特許文献1に記載されている。また、様々なイベントは、そのデータ型によって、基本イベントタイプと継承イベントタイプとに分類される。図2は、イベントのデータ構造を示す説明図である。パブリッシャーノードが生成するイベントは、図2に示す階層型イベント定義面1−1のようなデータ構造を備える。
基本イベントタイプ(以下、単に基本タイプともいう)は、必要最低限の情報のみを含む。例えば、基本イベントタイプに含まれる情報は、基本イベントIDやイベントの発生時刻等だけに限定される。継承イベントタイプは、基本イベントタイプを拡張したタイプであり、継承関係にある親イベントタイプを識別するためのIDや、その親イベントに付属する情報要素を含む。なお、どのような情報要素を含むかは、各々のイベント定義によって異なる。さらに、個々の情報要素は、属性情報として、値(例えば、イベントの作成日時)を含むことも可能である。
図2に示すようなイベントの情報フォーマット形式は、例えば、XML形式で表現される。このようなデータ構造化手法によって、多様なイベント定義に対応することができる。さらに、図2に示すように、イベントに応じて、複数のイベント定義面1−1〜1−nを用意することにより、より多様性を高めることができる。なお、各イベント定義面1−1〜1−nは、それぞれイベントと1対1に対応して定義される。
例えば、非特許文献1に記載された関連技術では、図2に示すようなイベント定義面の作成機能を、パブリッシャーノードP1,P2が具備している。つまり、情報発信者側が、発信情報を制御するモデルとなっている。一方、本発明では、複合イベント検出/配信システムにおいて、複合イベントを生成するために、複合イベント定義面を生成するための機能をサブスクライバーノードS1〜S5にも具備する。そのようにすることによって、サブスクライバーノードS1〜S5の希望に応じて、パブリッシャーノードP1,P2によって公開された様々なイベントを自由に組み合わせ、複合化を行うことができるようにしている。
イベント定義面とイベント配信との関係であるが、本実施形態では、図3に示すように、個々のイベント定義面に対して、1つのイベント配信ルートノードが用意される。図3に示す複合イベント検出/配信システムの構成では、パブリッシャーノードP1,P2、ブローカーノードBR1〜BR25、及びサブスクライバーノードS1〜S5を含む。また、各ブローカーノードBR1〜BR25は、ルートノードとしても機能する。なお、本実施形態では、後述するように、ブローカーノードBR1がルートノードR1としても機能し、ブローカーノードBR3がルートノードR2としても機能する場合を説明する。
そして、各々のブローカーノードBR1〜BR25は、図3に示すように接続されて、ブローカー型イベント配信網が構成されていると仮定する。なお、図3に示す接続態様は、あくまで一事例であって、ブローカーノードBR1〜BR25は、他の接続態様で接続されていてもよい。そして、パブリッシャーノードP1,P2は、各イベント用に用意(設定)されたルートノードR1,R2に対してイベントを配信する。一方、ルートノードR1,R2からサブスクライバーノードS1〜S5には、マルチキャストツリーによってイベントが配信される。
パブリッシャーノードP1,P2は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。なお、図1では、2つのパブリッシャーノードR1,R2が示されているが、パブリッシャーノードは2つに限らず、例えば、複合イベント検出/配信システムは、3以上のパブリッシャーノードを含んでもよい。
図4は、パブリッシャーノードP1,P2の構成の一例を示すブロック図である。図4に示すように、パブリッシャーノードP1,P2は、イベント生成部101、イベント送信部102、及びルートノード設定要求部103を含む。
イベント生成部101は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。イベント生成部101は、例えば、各種センサ(例えば、速度センサ)やタグ(例えば、RFIDタグ)からの検出信号を入力したことに基づいて、イベントを生成する機能を備える。例えば、パブリッシャーノードが道路管理団体が運営するサーバである場合には、イベント生成部101は、速度センサからの検出信号に基づいて、「車の速度が時速40km以下である」等のイベントを生成する。また、イベント生成部101は、生成したイベントを識別するためのイベントIDを生成する機能を備える。
イベント送信部102は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。イベント送信部102は、イベント生成部101が生成したイベントを、ルートノードR1,R2に送信する機能を備える。
ルートノード設定要求部103は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。ルートノード設定要求部103は、イベント生成部101が新規のイベントを生成すると、各ブローカーノードBR1〜BR25のうちルートノードとして設定するノードを選択する機能を備える。なお、本実施形態では、ルートノード設定要求部103は、新規イベントに対するイベントIDと数値的に近い値のID(ノードID)をもつブローカーノードを選択する。また、ルートノード設定要求部103は、選択したブローカーノードに対して、ルートノードとしての設定要求を送信することによって、ルートノードとして設定させる機能を備える。
さらに、複合イベント検出/配信システムシステムにおいて、各ブローカーノードBR1〜BR25は、複合イベントの検出に関連する関連イベントを検出し、検出した関連イベントを蓄積し、複合イベントを検出する。また、ルートノードR1,R2(正確には、ルートノードとして設定されたブローカーノード)は、他のブローカーノードに対して、関連イベントを検出させる。
ブローカーノードBR1〜BR25は、具体的には、IPルータ等のネットワーク装置や、プログラムに従って動作しルータ機能を搭載したパーソナルコンピュータ等の情報処理装置によって実現される。ブローカーノードBR1〜BR25は、パブリッシャーノードP1,P2とサブスクライバーノードS1〜S5との間でイベントを中継する機能を備える。なお、図1では、25のブローカーノードBR1〜BR25が示されているが、ブローカーノードの数は25に限られない。
図5は、ブローカーノードBR1〜BR25の構成の一例を示すブロック図である。図5に示すように、各ブローカーノードBR1〜BR25は、イベントルータ301、関連イベント処理部302、複合イベント検出部303、関連イベントストレージ304、登録情報管理部308、イベントルーティングテーブル309、及び関連イベント処理要求部310を含む。また、イベントルータ301は、イベントメッセージ識別部306と、イベントルーティング部307とを含む。
イベントメッセージ識別部306は、パブリッシャーノードP1,P2、サブスクライバーノードS1〜S5、又は他のブローカーノードから受信した情報が、イベントであるか又はメッセージであるかを識別する機能を備える。また、イベントメッセージ識別部306は、識別結果に基づいて、イベント又はメッセージをイベントルーティング部307又は登録情報管理部308に振り分けて出力する機能を備える。
イベントルーティング部307は、イベントルーティングテーブル309の設定内容に従って、イベントやメッセージを、イベントキューを介して、転送先又は送信先のパブリッシャーノードP1,P2、サブスクライバーノードS1〜S5、又は他のブローカーノードに送信する機能を備える。また、当該ブローカーノードの関連イベント処理機能が起動されている場合に、イベントルーティング部307は、関連イベント(複合イベントの検出に関連する単イベント)を入力した場合には、その関連イベントを関連イベント処理部302に出力する機能を備える。また、当該ブローカーノードが複合イベント検出用のルートノードとして設定されている場合には、イベントルーティング部307は、関連イベントを入力した場合には、その関連イベントを複合イベント検出部303に出力する機能を備える。
登録情報管理部308は、イベントメッセージ識別部306からのメッセージに基づいて、各種設定を行う機能を備える。例えば、登録情報管理部308は、メッセージとして、パブリッシャーノードP1,P2からのルートノード設定要求を入力した場合には、当該ブローカーノードをルートノードに設定する。また、例えば、登録情報管理部308は、当該ブローカーノードがルートノードに設定されている場合に、メッセージとして、サブスクライバーノードS1〜S5からの受信登録を入力したときには、そのサブスクライバーノードをイベントの配信先として設定する。また、例えば、登録情報管理部308は、メッセージとして、関連イベント処理要求を入力した場合には、関連イベント処理部302に対して関連イベント処理機能を起動させる。
イベントルーティングテーブル309は、具体的には、ブローカーノードが備えるメモリや磁気ディスク装置等の記憶装置に記憶される。イベントルーティングテーブル309は、例えば、イベントIDに対応付けて、転送先のブローカーノードを示す情報(例えば、ノードID)を含む。また、イベントルーティングテーブル309は、例えば、宛先のパブリッシャーノードP1,P2やサブスクライバーノードS1〜S5に対応付けて、転送先のブローカーノードを示す情報(例えば、ノードID)を含む。
関連イベント処理要求部310は、当該ブローカーノードが複合イベント検出用のルートノードに設定されている場合に、検出対象の複合イベントの検出に関連する関連イベントの検出を要求するために、関連イベント処理要求を、他のブローカーノードに対して送信する機能を備える。
関連イベント処理部302は、複合イベント検出用のルートノードに設定されている他のブローカーノードに対して、検出した関連イベントに所定の処理を施して送信する機能を備える。
複合イベント検出部303は、当該ブローカーノードが複合イベント検出用のルートノードに設定されている場合に、検出した関連イベントに基づいて複合イベントを検出する機能を備える。また、複合イベント検出部303は、検出した複合イベントを、転送先のブローカーノードに送信する機能を備える。
関連イベントストレージ304は、具体的には、ブローカーノードが備えるメモリや磁気ディスク装置等の記憶装置によって実現される。関連イベントストレージ304は、複合イベント検出部303によって複合イベントとして検出される前の関連イベントを一時記憶する。
サブスクライバーノードS1〜S5は、前述したように、公開される様々なイベントを自由に組み合わせ、複合化を行うために、複合イベント登録情報を送信する。なお、サブスクライバーノードS1〜S5は、例えば、渋滞情報等の各種情報を各ユーザに配信するサービス事業者が運営するサーバである。サブスクライバーノードS1〜S5は、例えば、受信したイベント(複合イベントを含む)に基づいて、渋滞情報等の各種情報を、携帯電話網やインターネット等の通信ネットワークを介して、ユーザの携帯電話機やパーソナルコンピュータ等の端末に配信する。
サブスクライバーノードS1〜S5は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。なお、図1では、5つのサブスクライバーノードS1〜S5が示されているが、サブスクライバーノードの数は5に限られない。
図6は、サブスクライバーノードS1〜S5の構成の一例を示すブロック図である。図6に示すように、サブスクライバーノードS1〜S5は、イベント受信部201、受信登録要求部202、複合イベント登録情報生成部203、及びルートノード設定要求部204を含む。
イベント受信部201は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。イベント受信部201は、各ブローカーノードBR1〜BR25を含むブローカー型イベント配信網を介してイベントを受信する機能を備える。
受信登録要求部202は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。受信登録要求部202は、受信を希望するイベントを登録するための受信登録要求を生成し、そのイベントを配信するルートノードに対して受信登録要求を送信する機能を備える。
複合イベント登録情報生成部203は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。複合イベント登録情報生成部203は、受信したい複合イベントを登録するための複合イベント登録情報を生成する機能を備える。
ルートノード設定要求部204は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。ルートノード設定要求部204は、複合イベントを配信するルートノードに対して、複合イベント登録情報生成部203が生成した複合イベント登録情報を送信する機能を備える。
なお、本実施形態において、ブローカーノードBR1〜BR25を情報処理装置を用いて実現する場合、各ブローカーノードBR1〜BR25の記憶装置(図示せず)は、複合イベントを検出し配信するための各種プログラムを記憶している。例えば、各ブローカーノードBR1〜BR25の記憶装置は、コンピュータに、複合イベントの検出に関連する関連イベントを検出する関連イベント検出ノードとして設定されているときに、関連イベントを検出すると、検出した関連イベントを、複合イベントの配信処理を行うルートノードとして設定されているブローカーノードに転送する関連イベント転送処理と、ルートノードとして設定されているときに、関連イベント検出ノードとして設定されているブローカーノードから関連イベントを受信すると、受信した関連イベントに基づいて複合イベントを生成する複合イベント生成処理と、生成した複合イベントを設定内容に従って他のノードへ転送する複合イベント配信処理とを実行させるための複合イベント検出/配信用プログラムを記憶している。
次に、動作について説明する。以下、具体例を示しながらイベントを配信するためのマルチキャストツリーの構築方法、及びイベント配信方法について説明する。図7は、複合イベント検出/配信システムにおけるマルチキャストツリー構築及びイベント配信の流れを示す流れ図である。図7に示す流れに従って、個々の単イベントに対するイベント配信システムが構築される。
本実施形態では、パブリッシャーノードP1,P2、ブローカーノードBR1〜BR25、及びサブスクライバーノードS1〜S5は、ソフトウェアプロセスとして動作していると仮定する。また、ブローカーノードBR1上に設定されるルートノードR1、及びブローカーノードBR3上に設定されるルートノードR2は、ソフトウェアプロセスとして動作していると仮定する。
なお、本実施形態では、ルートノードR1は、後述するイベントA1,A2,B3のイベント配信処理を行うルートノードであるとする。また、ルートノードR2は、後述するイベントB1のイベント配信処理を行うルートノードであるとする。
また、本実施形態では、一例として、ブローカーノードBR1,BR3がルートノードとして設定される場合を説明するが、複合イベント検出/配信システムにおいて、いずれのブローカーノードBR1〜BR25もルートノードとして動作する機能を搭載している。従って、複合イベント検出/配信システムにおいて、ブローカーノードBR1,BR3以外のブローカーノードが選択され、ルートノードとして設定されることも可能である。
そして、本実施形態における複合イベント検出/配信システムの下位層には、オーバーレイネットワークが存在していると仮定する。なお、オーバーレイネットワークは、例えば、Distributed Hash Table(DHT)を用いた分散アプリケーションネットワークである。オーバーレイネットワーク上において、各々のノードは、ユニークな Node ID(ノードID)を具備する。そして、このノードIDに従って、ルーティングが実行される。
まず、パブリッシャーノードP1は、新しくイベントを生成すると、新規生成したイベントに対して基本イベントタイプの定義を作成する。パブリッシャーノードP1は、新しく基本イベントタイプを定義した時に、Hash(ハッシュ)関数等を用いて、システム上でユニークなイベントIDを生成する(ステップS101)。
そして、その生成した基本イベントタイプを複合イベント検出及び配信システムに広告すると、1つのブローカーノードBR1が選択され、このブローカーノードBR1にルートノードR1機能が起動される。具体的には、パブリッシャーノードP1は、新規生成したイベントに対するルートノードを、複数のブローカーノードBR1〜BR25の中から選択する。そして、パブリッシャーノードP1は、選択したブローカーノードBR1に対して、ルートノード設定要求を送信する(ステップS102)。すると、ブローカーノードBR1は、ルートノードとしての機能を起動し、ルートノードR1として設定される(ステップS103)。
なお、本実施形態において、このブローカーノードBR1は、例えば、新規イベントIDと数値的に近いノードIDをもつため、パブリッシャーノードP1によって選択されるものとする。なお、ルートノードとして選択するブローカーノードの選択方法は、本実施形態で示した方法に限られない。例えば、パブリッシャーノードP1は、現在の処理負荷が最も小さいブローカーノードをルートノードとして選択してもよい。
上記の処理が実行されることによって、パブリッシャーノードP1とルートノードR1との関係が構築される。なお、本実施形態では、新規イベントIDと数値的に近いノードIDのブローカーノードを選択する等の方法により、ルートノードをランダムに選択することによって、イベントIDが分散されてアサインされる。そのようにすることによって、ルートノードにイベントが集約されて、特定のルートノードの負荷が増大してしまうことが防止される。
また、ステップS101〜S103と同様の処理に従って、パブリッシャーノードP2は、新規イベントを生成すると、ルートノードとしてブローカーノードBR3を選択し、ブローカーノードBR3上にルートノードR2が設定される。
次に、ルートノードR1,R2からサブスクライバーノードS1〜S5へのマルチキャストツリーの構築の流れについて説明する。図8は、ルートノードR1からサブスクライバーノードS2,S4,S5へのマルチキャストツリーの構築の流れを示す説明図である。また、図9は、ルートノードR2からサブスクライバーノードS1へのマルチキャストツリーの構築の流れを示す説明図である。
なお、各パブリッシャーノードP1,P2が発信可能なイベントに関する情報(例えば、イベントID)は、例えば、各パブリッシャーノードP1,P2上に開設されるWebサイト等を介して公開されているものとする。そして、各サブスクライバーノードS1〜S5は、受信を希望したいイベントのイベントID等の情報を予め取得可能であるものとする。
例えば、サブスクライバーノードS5を運営する事業者は、パブリッシャーノードP1が発信するイベントA1の受信を希望する場合、サブスクライバーノードS5を操作して、イベントA1に対する受信登録操作を行う。すると、サブスクライバーノードS5は、イベントA1を受信するための受信登録要求をルートノードR1に対して送信する(ステップS104)。
サブスクライバーノードS5が送信する受信登録要求には、イベントA1の基本イベントタイプを識別するためのイベントIDが含まれている。従って、図8に示すように、サブスクライバーノードS5とパブリッシャーノードP1との中間のブローカーノードBR25,BR20,BR15,BR14,BR13,BR7,BR6,BR1は、この基本イベントタイプのイベントIDを確認して、ルートノードR1へのルーティングを行う。
なお、各ブローカーノードは、宛先に応じていずれのブローカーノードに転送するかを対応付けた情報を予めイベントルーティングテーブル309に設定している。例えば、ブローカーノードBR25は、ルートノードR1を宛先とする受信登録要求をサブスクライバーノードS5から受信すると、イベントルーティングテーブル309の設定内容に基づいて転送先のブローカーノードBR20を特定し、受信した受信登録要求をブローカーノードBR20に転送する。すると、ブローカーノードBR20は、受信した受信登録要求に基づいて、イベントA1を受信した場合には、その受信したイベントA1をブローカーノードBR25に転送する旨の設定情報をイベントルーティングテーブル309に設定する(ステップS105)。
そして、図8に示すように、上記に示した処理をブローカーノードBR25,BR20,BR15,BR14,BR13,BR7,BR6,BR1がそれぞれ順次実行する。そのようにすることによって、ブローカーノードが、受信登録要求されたイベントA1用のエントリをもたない場合には、新たにそのルーティングエントリーが、イベントルーティングテーブル309に追加される。
上記に示した処理が実行されることによって、パブリッシャーノードP1からイベントA1が発信されると、ルートノードR1によるイベント配信処理によって、サブスクライバーノードS5は、ブローカーノードBR1,BR6,BR7,BR13,BR14,BR15,BR20,BR25を介してイベントA1を受信可能となる。
なお、本実施形態では、一例として、パブリッシャーノードP1から、ブローカーノードBR1,BR6,BR7,BR13,BR14,BR15,BR20,BR25の経路を経由して、イベントA1がサブスクライバーノードS5に配信される場合を説明するが、イベントA1の配信経路は、本実施形態で示した経路に限られない。例えば、各ブローカーノードBR1〜BR25のイベントルーティングテーブル309に設定内容に応じて、異なる経路でイベントA1がサブスクライバーノードS5に配信されてもよい。このことは、他のイベントA2,A3,B1について設定される配信経路についても同様である。
ステップS104と同様の処理に従って、イベントA2の受信を希望する場合には、サブスクライバーノードS4は、イベントA2を受信するための受信登録要求をルートノードR1に対して送信する。そして、図8に示すように、ステップS105と同様の処理に従って、サブスクライバーノードS4とパブリッシャーノードP1との間の中間のブローカーノードBR24,BR19,BR18,BR13は、イベントルーティングテーブル309の設定を行う。
ただし、サブスクライバーノードS4からのイベントA2に対する受信登録要求は、ブローカーノードBR13まで到達すると、その先のブローカーノードBR7,BR6,BR1については、既にサブスクライバーノードS5からの受信登録要求によりイベントルーティングテーブル309が設定済みとなっている。そのため、ブローカーノードBR7,BR6,BR1は、新たな設定を行う必要はなく、サブスクライバーノードS4からの受信登録要求はBR13で終端される。
上記に示した処理が実行されることによって、パブリッシャーノードP1からイベントA2が発信されると、ルートノードR1によるイベント配信処理によって、サブスクライバーノードS4は、ブローカーノードBR1,BR6,BR7,BR13,BR18,BR19,BR24を介してイベントA2を受信可能となる。
また、ステップS104と同様の処理に従って、サブスクライバーノードS2がイベントA3の受信を希望する場合には、そのサブスクライバーノードS2は、イベントA3を受信するための受信登録要求をルートノードR1に対して送信する。そして、図8に示すように、ステップS105と同様の処理に従って、サブスクライバーノードS2とパブリッシャーノードP1との間の中間のブローカーノードBR22,BR17,BR12,BR7は、イベントルーティングテーブル309の設定を行う。
ただし、サブスクライバーノードS2からのイベントA3に対する受信登録要求は、ブローカーノードBR7まで到達すると、その先のブローカーノードBR6,BR1については、既にサブスクライバーノードS5からの受信登録要求によりイベントルーティングテーブル309が設定済みとなっている。そのため、ブローカーノードBR6,BR1は、新たな設定を行う必要はなく、サブスクライバーノードS2からの受信登録要求はBR7で終端される。
上記に示した処理が実行されることによって、パブリッシャーノードP1からイベントA3が発信されると、ルートノードR1によるイベント配信処理によって、サブスクライバーノードS2は、ブローカーノードBR1,BR6,BR7,BR12,BR17,BR22を介してイベントA3を受信可能となる。
また、ステップS104と同様の処理に従って、イベントB1の受信を希望する場合には、サブスクライバーノードS1は、イベントB1を受信するための受信登録要求をルートノードR2に対して送信する。そして、図9に示すように、ステップS105と同様の処理に従って、サブスクライバーノードS1とパブリッシャーノードP2との中間のブローカーノードBR21,BR16,BR12,BR8,BR3は、イベントルーティングテーブル309の設定を行う。
上記に示した処理が実行されることによって、パブリッシャーノードP2からイベントB1が発信されると、ルートノードR2によるイベント配信処理によって、サブスクライバーノードS1は、ブローカーノードBR3,BR8,BR12,BR16,BR21を介してイベントA3を受信可能となる。そして、サブスクライバーノードS1からブローカーノードBR21,BR16,BR12,BR8,BR3を経由してルートノードR2に、イベントB1に関する受信登録要求がルーティングされるとともに、マルチキャストツリーが構築される。
次に、イベント配信を行う際の具体的なイベントのルーティングについて説明する。図10は、パブリッシャーノードP1からサブスクライバーノードS2,S4,S5にイベント配信を行う際の具体的なイベントのルーティングを示す説明図である。また、図11は、パブリッシャーノードP2からサブスクライバーノードS1にイベント配信を行う際の具体的なイベントのルーティングを示す説明図である。
図10に示すように、パブリッシャーノードP1は、イベントA1をサブスクライバーノードS5に配信し、イベントA2をサブスクライバーノードS4に配信し、イベントA3をサブスクライバーノードS2に配信する。この場合、前述したルーティング設定処理によって、イベントA2を配信する際には、イベントA2は、ブローカーノードBR13で分岐されて配信される。また、イベントAを配信する際には、イベントA3は、ブローカーノードBR7で分岐されて配信される。
まず、パブリッシャーノードP1は、発信するイベントA1を、ブローカーノードBR1上に設定したルートノードであるルートノードR1宛に送信する(ステップS106)。このパブリッシャーノードP1が送信するイベントには、個々のイベントに割り当てられたユニークなイベントタイプIDが含まれている。
ブローカーノードBR1は、イベントA1を受信すると、受信したイベントA1に含まれるイベントタイプIDをキーとして、イベントルーティングテーブル309の設定内容に従って、イベントA1をルーティングする。このルーティング処理において、ブローカーノードBR1は、その受信したイベントA1がルートノードR1宛であると判定し、ブローカーノードBR1上に設定されたルートノードR1に仮想的にイベントA1を配信する。
次に、ルートノードR1は、イベントA1に含まれるイベントIDを検出(抽出)する。また、ルートノードR1は、検出したイベントIDとイベントルーティングテーブル309とに基づいて、イベントA1を転送する次ノードがブローカーノードBR6であると判定する(ステップS107)。そして、ルートノードR1は、ブローカーノードBR6にイベントA1を転送する(ステップS108)。
その後、ステップS107,S108と同様の処理に従って、そのイベントA1は、ブローカーノードBR6を経由して、ブローカーノードBR7に到達する。図10に示すように、ブローカーノードBR7でのルーティング処理では、次ノードがブローカーノードBR12及びブローカーノードBR13の2つである。そのため、ブローカーノードBR7は、イベントA1のコピーを作成して、それぞれ次ノード(ブローカーノードBR12,BR13)に送信する。
また、上記と同様の処理がブローカーノードBR13でも行われ、ブローカーノードBR13は、イベントA1のコピーを作成して、それぞれ次ノード(ブローカーノードBR14,BR18)に送信する。
ステップS107,S108に示す処理が各ブローカーノードにおいて実行されることによって、図10に示すように、パブリッシャーノードP1から各イベントが配信される。すなわち、パブリッシャーノードP1は、イベントA1を、ブローカーノードBR13から先のノードについては、ブローカーノードBR14,BR15,BR20,BR25の経路を介して、サブスクライバーノードS5に配信する。また、パブリッシャーノードP1は、イベントA2を、ブローカーノードBR13から先のノードについては、ブローカーノードBR18,BR19,BR24の経路を介して、サブスクライバーノードS4に配信する。また、パブリッシャーノードP1は、イベントA3を、ブローカーノードBR7から先のノードについては、ブローカーノードBR12,BR17,BR22の経路を介して、サブスクライバーノードS2に配信する。
また、パブリッシャーノードP2からイベントB1を配信する処理も、ステップS107,S108と同様の処理が行われる。すなわち、図11に示すように、パブリッシャーノードP2は、イベントB1を、ブローカーノードBR3(ルートノードR2)、ブローカーノードBR8,BR12,BR16,BR21の経路を介して、サブスクライバーノードS1に配信する。
なお、以上に示したマルチキャストツリー構築及びイベント配信の流れは、例えば、非特許文献1に記載されている。
次に、構築されたイベント配信システムを拡張した機能として、複合イベントを検出し、検出した複合イベントを配信する動作について説明する。図12は、複合イベント検出/配信システムにおける複合イベントを検出し配信する流れを示す流れ図である。また、図13は、複合イベント用のルートノードの設定方法を示す説明図である。
なお、本実施形態で示す例において、複合イベントとは、イベントA1(すなわち、パブリッシャーノードP1からサブスクライバーノードS5へのイベント)と、イベントB1(すなわち、パブリッシャーノードP2からサブスクライバーノードS1へのイベント)とを組み合わせたイベントが該当する。
まず、例えば、サブスクライバーノードS3を運営する事業者は、イベントA1とイベントB1とを複合した複合イベントC1の受信を希望する場合には、サブスクライバーノードS3を操作して、複合イベントC1の定義操作を行う。すると、サブスクライバーノードS3は、イベントA1及びイベントB1を複合した複合イベントC1に関する基本イベントタイプの定義を作成する。また、サブスクライバーノードS3は、ハッシュ関数等を用いて、複合イベントC1を識別するためのイベントIDを生成する(ステップS201)。
そして、その基本イベントタイプを、複合イベント登録によって広告することによって、複合イベント用のルートノードR3が確定する。具体的には、サブスクライバーノードS3は、新規定義した複合イベントに対するルートノードを、複数のブローカーノードBR1〜BR25の中から選択する。そして、サブスクライバーノードS3は、選択したブローカーノードBR4に対して、ルートノード設定要求を送信する(ステップS202)。すると、ブローカーノードBR4は、ルートノードとしての機能を起動し、複合イベント用のルートノードR3としての設定を行う(ステップS203)。
なお、本実施形態では、図13に示すように、サブスクライバーノードS3から送信されたルートノード設定要求は、ブローカーノードBR23,BR24,BR19,BR14,BR9を介して、ブローカーノードBR4に送信される。なお、サブスクライバーノードS3から送信されたルートノード設定要求が、ブローカーノードBR23,BR24,BR19,BR14,BR9を介して、ブローカーノードBR4まで導かれる手順は、サブスクライバーノードから受信登録要求を送信する場合の手順と同様である。すなわち、中間の各ブローカーノードBR23,BR24,BR19,BR14,BR9は、イベントルーティングテーブル309の設定内容に基づいて転送先のブローカーノードを特定し、ルートノード設定要求を転送する。
また、本実施形態において、サブスクライバーノードS3は、この複合イベント用のルートノードR3として、DHTを用いて、複合イベントC1のイベントIDと数値的に近いノードIDをもつブローカーノードBR4を選択する。なお、複合イベント用のルートノードとして選択するブローカーノードの選択方法は、本実施形態で示した方法に限られない。例えば、サブスクライバーS3は、現在の処理負荷が最も小さいブローカーノードを複合イベント用のルートノードとして選択してもよい。
また、本実施形態では、一例として、ブローカーノードBR4が複合イベント用のルートノードとして設定される場合を説明するが、複合イベント検出/配信システムにおいて、いずれのブローカーノードBR1〜BR25も複合イベント用のルートノードとして動作する機能を搭載している。従って、複合イベント検出/配信システムにおいて、ブローカーノードBR4以外のブローカーノードを選択して、複合イベント用のルートノードとして設定することも可能である。
上記の処理が実行されることによって、ブローカーノードBR23,BR24,BR19,BR14,BR9,BR4上でイベントルーティングテーブル309が設定され、複合イベントC1用の配信パスが設定される。なお、図13に示す配信パスは、一例であって、各ブローカーノードBR1〜BR25のイベントルーティングテーブル309に設定内容に応じて、異なる経路で複合イベントC1用の配信パスが設定されてもよい。
なお、上記に示した処理は、厳密には2つの処理に分けることも可能である。つまり、複合イベントC1のルートノードを確定するためのフェーズと、複合イベントC1について配信パスを登録するフェーズとの2つの処理に分けることができる。この場合、前者のフェーズでサブスクライバーノードS3がルートノードR3を確定し、後者のフェーズにおいて各ブローカーノードBR23,BR24,BR19,BR14,BR9,BR4がイベントルーティングテーブル309を設定する。
図14は、サブスクライバーノードS3からの要求に応じて、ブローカーノードBR4上に設定されるルートノードR3に登録される複合イベント登録情報を示す説明図である。図14に示す例では、2つのイベントA1,B1を複合した複合イベントC1検出用の複合イベント登録情報が登録される場合を示している。なお、図14に示す複合イベント登録情報は、例えば、ルートノードR3(具体的には、ブローカーノードBR4)が備えるメモリや磁気ディスク装置等の記憶装置に記憶される。
図14に示すように、ルートノードR3に登録される複合イベント登録情報には、複合イベントID401、関連イベントA1を識別するためのイベントID402、関連イベントB1を識別するためのイベントID403、及び関連条件式404が含まれる。
関連条件式404は、ルートノードR3が複合イベントC1を検出したか否かを判定するために用いる条件式である。ルートノードR3は、例えば、以下に示す関連条件式404に従って、複合イベントC1を検出したか否かを判定する。
(1)同時発生の関連条件式「A1 AND B1」。この場合、ルートノードR3は、
関連イベントA1の発生を検出するとともに、関連イベントB1の発生を検出すると、複
合イベントC1が発生したと判定する。
(2)選択発生の関連条件式「A1 OR B1」。この場合、ルートノードR3は、関連イベントA1の発生を検出するか、又は関連イベントB1の発生を検出すると、複合イベントC1が発生したと判定する。
(3)順序発生の関連条件式「A1 THEN B1」。この場合、ルートノードR3は、関連イベントA1の発生を検出した後に、関連イベントB1の発生を検出すると、複合イベントC1が発生したと判定する。
(4)順序、時間指定の関連条件式「A1 THEN B1(関連イベントA1の発生後5秒以内に関連イベントB1が発生。又は関連イベントA1の発生後5秒以降に関連イベントB1が発生等)。この場合、ルートノードR3は、関連イベントA1の発生を検出した後に、5秒以内に(又は5秒経過後以降に)関連イベントB1の発生を検出すると、複合イベントC1が発生したと判定する。
なお、関連条件式404は、上記の(1)〜(4)に示したものに限られない。例えば、ルートノードR3は、関連条件式404を用いて、同一イベントの連続的な発生(例えば、一定時間内に何回発生したか等)を検出したことに基づいて、複合イベントC1が発生したと判定してもよい。
また、図14に示す複合イベントID401は、複合イベント配信用のルートノードを確定する時に使用される。前述したように、本実施形態では、複合イベントID401と数値的に近いノードIDをもつブローカーノードBR4が、ルートノードR3として選択される。
また、図14に示す関連イベントA1に対応する基本タイプID及びイベントID402と、関連イベントB1に対応する基本タイプID及びイベントID403とは、複合イベント用のルートノードR3が、関連イベントA1,B1検出用のルートノードを特定する場合に使用される。
複合イベントを検出するための処理は、ステップS201〜S203の処理によってルートノードR3が設定された後に、ブローカーノードBR4上のルートノードR3が行う。まず、ルートノードR3は、関連イベントA1を検出するための登録を行う。そのため、ルートノードR3は、イベントA1用のルートノードであるルートノードR1に向けて登録情報を送信する(ステップS204)。
図13に示す例では、ルートノードR3から送信された登録情報は、各ブローカーノードのイベントルーティングテーブル309に従った転送処理によって、ブローカーノードBR3、ブローカーノードBR2、ブローカーノードBR7の順にルーティングされている。そして、各ブローカーノードBR3,BR2,BR7は、転送された登録情報に基づいて、イベントルーティングテーブル309を設定する。そして、図13に示す例では、ブローカーノードBR7において、パブリッシャーノードP1からルートノードR1を介してサブスクライバーノードS5にイベントA1が配信される経路を発見することが可能であり、ブローカーノードBR7でイベントルーティングテーブル309の設定が行われることにより、登録処理が完了する。
図15は、関連イベントA1を検出するための登録処理に用いられるメッセージの例を示す説明図である。ルートノードR3からルートノードR1への登録情報の転送経路において、各ブローカーノードBR3,BR2,BR7は、図15に示す登録情報のメッセージに含まれる関連イベントA1の基本タイプID402をキーとしてルーティング処理を行う。
関連イベントA1の登録処理と同様に、ルートノードR3は、関連イベントB1についても、イベントB1用のルートノードであるルートノードR2に向けて登録情報を送信する(ステップS205)。この場合、関連イベントA1の登録処理と同様の処理に従って、各ブローカーノードBR9,BR8でイベントルーティングテーブル309の設定が行われる。そして、ブローカーノードBR8において、関連イベントB1の配信経路を発見できるため、ブローカーノードBR8でイベントルーティングテーブル309の設定が行われることにより、登録処理が完了する。なお、関連イベントB1を検出するための登録処理に用いられる登録情報(メッセージ)を図16に示す。
上記のような処理が実行されることによって、ルートノードR3は、関連イベントA1(パブリッシャーノードP1からサブスクライバーノードS5に配信)と、関連イベントB1(パブリッシャーノードP2からサブスクライバーノードS1に配信)との2つのイベントを受信することが可能となる。
上記の設定後、パブリッシャーノードP1からサブスクライバーノードS5に向けてイベントA1が配信されると、中継するブローカーノードBR7は、登録された関連イベントA1であることを検出する。そして、ブローカーノードBR7は、イベントA1のコピーを作成して、一方をサブスクライバーノードS5に配信すべくブローカーノードBR13に転送するとともに、図17に示すように、他方を関連イベントA1としてルートノードR3に配信すべくブローカーノードBR2に転送する(ステップS206)。
また、パブリッシャーノードP2からサブスクライバーノードS1に向けてイベントB1が配信されると、中継するブローカーノードBR8は、登録された関連イベントB1であることを検出する。そして、ブローカーノードBR8は、イベントB1のコピーを作成して、一方をサブスクライバーノードS1に配信すべくブローカーノードBR12に転送するとともに、図17に示すように、他方を関連イベントB1としてルートノードR3に配信すべくブローカーノードBR9に転送する(ステップS207)。
次いで、ルートノードR3は、関連イベントA1,B1を受信すると、受信した関連イベントA1,B1に基づいて、複合イベントC1を生成する(ステップS208)。そして、ルートノードR3は、生成した複合イベントC1をサブスクライバーノードS3に向けて配信する(ステップS209)。
なお、本実施形態で示す例では、2つの関連イベントA1,B1を複合化した新たな複合イベントC1は、図17に示すように、ルートノードR3(ブローカーノードBR4)から、ブローカーノードBR9,BR14,BR19,BR24,BR23の経路を経由して、サブスクライバーノードS3に配信される。図17に示す例では、ブローカーノードBR7が検出するイベントA1は、複合イベントC1の関連イベントA1として表されている。また、同様に、ブローカーノードBR8が検出するイベントB1は、複合イベントC1の関連イベントB1として表されている。
次に、ブローカーノードBR7,BR8,BR4における関連イベントA1,B1の収集、及び複合イベントC1の検出の動作について説明する。図18は、関連イベントA1,B1の収集、及び複合イベントC1の検出の動作を示す説明図である。なお、図18に示す例では、複合イベントC1を、関連イベントA1及び関連イベントB1の2つの関連イベントを用いて生成するモデルを示している。なお、複合イベント検出/配信システムにおいて、3以上の関連イベントを用いて複合イベントを検出し配信するように構成してもよい。
関連イベントA1は、図10に示すように、パブリッシャーノードP1からサブスクライバーノードS5に対するイベントである。また、関連イベントB1は、図11に示すように、パブリッシャーノードP2からサブスクライバーノードS1に対するイベントである。なお、図18に示す例において、ルートノードR3によるブローカーノードBR7,BR8への関連イベントA1,B1収集のための登録処理は、既に完了しているものと仮定する。
ブローカーノードBR7は、イベントA1を受信すると、受信したイベントA1をイベントキューに一旦蓄積する。そして、ブローカーノードBR7内のイベントルータ501は、イベントキューに蓄積したイベントを、順次ルーティング処理する。イベントルータは、このルーティング処理において、イベントA1を検出した場合、そのイベントA1のコピーを作成する。この場合、イベントルータは、オリジナルのイベントA1を送出用のイベントキューに出力する。そして、ブローカーノードBR7は、オリジナルのイベントA1を、図10に示すように、他のブローカーノードBR13,BR14,BR15,BR20,BR25を経由してサブスクライバーノードS5に配信する。
また、イベントルータは、コピーしたイベントA1を、関連イベント処理部502に出力する。すると、関連イベント処理部502は、コピーしたイベントA1に、複合イベントに関連するイベントであることを表すために、複合イベントC1のIDを付加する。なお、図18では、オリジナルのイベントA1と区別するために、この複合イベントC1のIDが付加されたイベントを関連イベントC1/A1として記している。
図18に示した関連イベントC1/A1は、図17に示したように、最終的にブローカーノードBR4に転送される。そして、ブローカーノードBR4内のイベントルータ521は、ルーティング処理を行うことによって、関連イベントC1/A1を検出し、検出した関連イベントC1/A1を複合イベントキューに追加する。
また、ブローカーノードBR8も、ブローカーノードBR7と同様な処理を実行し、図18に示すように、関連イベントC1/B1を作成して、最終的にブローカーノードBR4に転送する。その結果、ブローカーノードBR4(ルートノードR3)は、関連イベントC1/A1と関連イベントC1/B1とを集約する。
ブローカーノードBR4の複合イベント検出部522は、複合イベント検出処理を実行し、関連イベントC1/A1と関連イベントC1/B1との発生を検出する。次いで、複合イベント検出部522は、設定された関連条件式に合致すれば、関連イベントC1/A1と関連イベントC1/B1とに基づいて、複合イベントC1を検出(生成)する。そして、複合イベント検出部522は、検出した複合イベントC1を、図17で説明したような経路(ブローカーノードBR9,BR14,BR19,BR24,BR25を経由する経路)を介して、サブスクライバーノードS3に配信する。
次に、複合イベント検出/配信システムに含まれる各ブローカーノードの動作について説明する。図19は、各ブローカーノードの動作を示す説明図である。なお、図19に示す例では、一例として、ブローカーノードBR7の場合が示されているが、複合イベント検出/配信システムに含まれる他のブローカーノードも同様の動作を行うことが可能である。
複合イベント検出の条件となる複数のイベントの関係については、様々な定義が考えられる。例えば、「関連イベントA1と関連イベントB1とが同時に発生した」や、「関連イベントA1が発生した後、関連イベントB1が発生した」、「関連イベントA1が発生した後、5秒以内に関連イベントB1が発生した」、「関連イベントA1が発生した後、5秒又は5秒経過以降に関連イベントB1が発生した」等、様々な複合イベントの定義が考えられる。
ここで、関連イベントA1と関連イベントB1とが、同時にブローカーノードBR4(ルートノードR3)に到着することは難しい。そのため、図19に示すように、ブローカーノードBR7は、関連イベントの到着時刻に時間差がある場合でも、複合イベントを検出できる対策を施している。
図19に示すように、ブローカーノードBR7は、図18に示したような関連イベントを検出してルートノードに転送する動作を行う機能と、複合イベント検出用のルートノードとして動作を行う機能との両方の機能を具備している。
すなわち、ブローカーノードBR7は、関連イベント検出用のノードとして設定されている場合には、関連イベントA1やB1を検出した場合、関連イベント処理を実行する。また、ブローカーノードBR7は、複合イベント検出用のルートノードとして設定されている場合、関連イベントを受信すると、複合イベント処理を実行する。このブローカーノードBR7は、受信した関連イベントを関連イベントストレージ504に蓄積する。この関連イベントストレージ504については、メモリや、磁気ディスク装置、分散ストレージ等の多様な記憶媒体を用いた実現形態が考えられる。
このブローカーノードBR7は、複合イベントを検出する場合、まず、関連イベントストレージ504に蓄積した関連イベントのサーチを実行する。ここで、ブローカーノードBR7は、もし複合イベント検出条件にマッチする関連イベントを検出した場合、受信した関連イベントと蓄積していた関連イベントとによって複合イベントを生成する。そして、ブローカーノードBR7は、生成した複合イベントをヒットイベントとして配信する。例えば、図17に示すように、ブローカーノードBR7は、このヒットイベントを、複合イベントC1としてサブスクライバーノードS3に配信する。
一方、ブローカーノードBR7は、サーチ処理において、マッチする関連イベントが存在しなかった場合、受信した関連イベントを、未ヒットイベントとして、関連イベントストレージ504に蓄積する。なお、ブローカーノードBR7(具体的には、複合イベント検出部503)は、関連イベントストレージ504が容量溢れを起こさないように、予め設定された期間以上蓄積され続けている等の古い関連イベントを削除する処理を行う。例えば、複合イベント検出部503は、所定期間毎に、関連イベントストレージ504が蓄積する各関連イベントの蓄積開始日時を判定し、蓄積開始から所定期間以上経過していると判定した関連イベントを全て削除する。
図20は、イベントルータ501のイベントルーティング部507が用いるイベントルーティングテーブル509の例を示す説明図である。図20に示すイベントルーティングテーブル509は、イベント登録情報がイベントメッセージ識別部506によって検出され、検出されたイベント登録情報に基づいて登録情報管理部508によって構築される。
上記のような構成により、個々のイベントが複合イベント検出及び配信する機能を具備するブローカーノードに集約された後に、複合イベントが生成され、その生成された複合イベントがサブスクライバーノードに配信される。
以上のように、本実施形態によれば、複合イベントを配信するためのルートノード機能を、複合イベント種別毎に分散させることができる。また、複合イベントを検出/配信するルートノードとしての機能と、複合イベントの検出に関連する関連ノードを検出する機能とを分散させることができる。従って、複合イベント種別の増加に対して、複合イベントを検出し配信するノードに対する負荷集中を軽減することができる。
また、本実施形態によれば、既存の複数のイベント配信ツリーと、新たに構築される複合イベント配信ツリーとを連結することにより、イベント以外のデータ転送量を軽減することができる。従って、複合イベント種別の増加に対して、ネットワークに対する負荷の増加を軽減することができる。
なお、本実施形態では、複合イベント検出/配信システムに含まれる全てのブローカーノードBR1〜BR25がルートノードとして設定可能に構成されている場合を示したが、一部の複数ブローカーノードのみがルートノードとして設定可能に構成されていてもよい。この場合、複合イベント検出/配信システム内のいずれのブローカーノードがルートノードとして設定可能であるか管理するノード(例えば、管理サーバ)が必要となるものの、全てのブローカーノードにルートノードとしての設定機能を搭載する必要をなくし、コストを低減することができる。
次に、本発明による複合イベント検出/配信システムの最小構成について説明する。図21は、複合イベント検出/配信システムの最小の構成例を示す構成図である。図21に示すように、複合イベント検出/配信システムは、最小の構成要素として、ブローカーノードを備える。また、ブローカーノードは、関連イベント処理部302と、複合イベント検出部303とを含む。また、ブローカーノードは、複数のイベントを複合した複合イベントの配信処理を行うルートノードとして動作する機能と、複合イベントの検出に関連する関連イベントを検出する関連イベント検出ノードとして動作する機能とを有する。
図21に示す最小構成の複合イベント検出/配信システムにおいて、関連イベント処理部302は、関連イベント検出ノードとして設定されているときに、関連イベントを検出すると、検出した関連イベントを、ルートノードとして設定されているブローカーノードに転送する機能を備える。また、複合イベント検出部303は、ルートノードとして設定されているときに、関連イベント検出ノードとして設定されているブローカーノードから関連イベントを受信すると、受信した関連イベントに基づいて複合イベントを生成する機能を備える。複合イベント検出部303は、生成した複合イベントを設定内容に従って他のノードへ転送する機能を備える。
図21に示す最小構成の複合イベント検出/配信システムによれば、システムは、複合イベント種別の増加に対して、複合イベントを検出し配信するノードに対する負荷集中を軽減することができる。
なお、本実施形態では、以下の(1)〜(8)に示すような複合イベント検出/配信システムの特徴的構成が示されている。
(1)複合イベント検出/配信システムは、イベント配信の中継を行う複数のブローカーノード(例えば、ブローカーノードBR1〜BR25)を備え、各ブローカーノードは、複数のイベントを複合した複合イベントの配信処理を行うルートノード(例えば、図17に示すルートノードR3)として動作する機能と、複合イベントの検出に関連する関連イベントを検出する関連イベント検出ノード(例えば図17に示すブローカーノードBR7,BR8)として動作する機能とを有し、関連イベント検出ノードとして設定されているときに、関連イベントを検出すると、検出した関連イベントを、ルートノードとして設定されているブローカーノードに転送する関連イベント転送部(例えば、関連イベント処理部302によって実現される)と、ルートノードとして設定されているときに、関連イベント検出ノードとして設定されているブローカーノードから関連イベントを受信すると、受信した関連イベントに基づいて複合イベントを生成する複合イベント生成部(例えば、複合イベント検出部303によって実現される)と、複合イベント生成部が生成した複合イベントを設定内容に従って他のノードへ転送する複合イベント配信部(例えば、複合イベント検出部303によって実現される)とを含むことを特徴とする。
(2)複合イベント検出/配信システムにおいて、複合イベント配信部は、転送の結果、複合イベントをサブスクライバーノードに配信するように構成されていてもよい。
(3)複合イベント検出/配信システムにおいて、複合イベント生成部は、関連イベント検出ノードとして設定されているブローカーノードから受信した関連イベントに基づいて、所定の複合イベントの検出条件に合致したか否かを判定し、所定の複合イベントの検出条件に合致したと判定したときに、複合イベントを生成するように構成されていてもよい。
(4)複合イベント検出/配信システムは、イベントを生成し、生成したイベントを送信するパブリッシャーノード(例えば、パブリッシャーノードP1,P2)と、パブリッシャーノードが送信したイベントを受信するサブスクライバーノード(例えば、サブスクライバーノードS1〜S5)とを備え、サブスクライバーノードは、ルートノードとして選択したブローカーノードに、複合イベントを受信するための登録情報を送信することによって、予め受信登録を行う受信登録部(例えば、ルートノード設定要求部204によって実現される)を含み、複合イベント配信部は、複合イベント生成部が生成した複合イベントを、予め受信登録したサブスクライバーノードに対して配信するように構成されていてもよい。
(5)複合イベント検出/配信システムにおいて、サブスクライバーノードは、複合イベントの検出に関連する複数の関連イベントの種別を示す情報(例えば、イベントA1の基本タイプID及びイベントA1のID402。イベントB1の基本タイプID及びイベントB1のID403)と、複数の関連イベント間の関係を示す関係式(例えば、関連条件式404)とを含む登録情報を生成する登録情報生成部(例えば、複合イベント登録情報生成部203によって実現される)を含み、受信登録部は、ルートノードとして選択したブローカーノードに、登録情報生成部が生成した登録情報を送信するように構成されていてもよい。
(6)複合イベント検出/配信システムにおいて、ルートノードとして選択されたブローカーノードは、サブスクライバーノードから受信した複合イベントの登録情報に含まれる複数の関連イベントの種別を示す情報を用いて、各関連イベントの中継を行っているブローカーノードに対して、関連イベント検出ノードとして設定させる関連イベント検出ノード設定要求部(例えば、関連イベント処理要求部310によって実現される)を含むように構成されていてもよい。
(7)複合イベント検出/配信システムにおいて、ルートノードとして設定されているブローカーノードは、関連イベント検出ノードとして設定されているブローカーノードから受信した関連イベントを蓄積する関連イベント蓄積部(例えば、関連イベントストレージ304によって実現される)を含み、複合イベント生成部は、関連イベント蓄積部が蓄積する関連イベントを検索し、検索した関連イベントに基づいて複合イベントを生成するように構成されていてもよい。
(8)複合イベント検出/配信システムにおいて、ルートノードとして設定されているブローカーノードは、関連イベントの受信の有無に関わらず、所定期間毎に関連イベント蓄積部が蓄積する関連イベントを走査し、予め設定された期間以上蓄積されている関連イベントが存在する場合に、期間以上蓄積されている関連イベントを削除する関連イベント削除部(例えば、複合イベント検出部303によって実現される)を含むように構成されていてもよい。
本発明は、例えば、大規模ネットワークシステムの稼動状況を監視する用途に適用できる。すなわち、ネットワークシステム内で発生する様々なイベントを組み合わせることにより、高度なネットワークの可視化が実現可能となる。また、Intelligent Traffic System(ITS)における渋滞情報等に適用すれば、様々なセンシングデータから得られるイベントを複合化し配信することにより、高度な情報配信環境の構築が可能となる。また、昨今のユビキタスサービス領域において既に実現されている様々なセンシングシステムに対して、各システム間のイベント交換空間を提供することも可能である。
以上、実施形態を参照して本発明を説明したが、本発明は実施形態に限定されるものではない。クレームに定義された本発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2008年2月29日に出願された日本出願特願2008−050220を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。

Claims (21)

  1. 複数のイベントを複合した複合イベントの検出に関連する関連イベントを検出すると、検出した該関連イベントを、ルートノードへ転送する関連イベント検出ノードと、
    前記関連イベント検出ノードから前記関連イベントを受信すると、受信した該関連イベントに基づいて複合イベントを生成し、生成した該複合イベントを設定内容に従って他のノードへ転送するルートノードと、
    を有する複合イベント検出/配信システム。
  2. 前記ルートノードは、生成した前記複合イベントをサブスクライバーノードへ配信する請求項1に記載の複合イベント検出/配信システム。
  3. 前記ルートノードは、受信した前記関連イベントに基づいて、所定の複合イベントの検出条件に合致したか否かを判定し、合致したのであれば、複合イベントを生成する、請求項1又は請求項2記載の複合イベント検出/配信システム。
  4. イベントを生成し、生成した前記イベントを送信するパブリッシャーノードと、
    前記パブリッシャーノードから前記イベントを受信し、自身が復号イベントを前記ルートノートから受信することを要求する受信登録要求を前記ルートノードへ送信するサブスクライバーノードと、
    を更に有し、
    前記ルートノードは、前記サブスクライバーノードから前記受信登録要求を受信し、該受信登録要求に基づいて、生成した前記復号イベントを該サブスクライバーノードへ送信する、請求項1から請求項3のうちのいずれか1項に記載の複合イベント検出/配信システム。
  5. 前記受信登録要求は、複合イベントの検出に関連する複数の関連イベントの種別と、複数の関連イベント間の関係を示す関係式とを含む、請求項請求項4記載の複合イベント検出/配信システム。
  6. 前記ルートノードは、受信した前記受信登録要求に含まれる複数の関連イベントの種別に基づいて、各関連イベントの中継を行っているブローカーノードに対して、自身を前記関連イベント検出ノードとして設定するように要求する設定要求を送信する、請求項5記載の複合イベント検出/配信システム。
  7. 前記ルートノードは、前記関連イベント検出ノードから受信した前記関連イベントを蓄積しておき、蓄積しておいた関連イベントの中から、所定の条件を満たす関連イベントを検索し、検索した関連イベントに基づいて前記複合イベントを生成する、請求項1乃至請求項6のいずれか1項に記載の複合イベント検出/配信システム。
  8. 前記ルートノードは、所定期間毎に蓄積した関連イベントを走査し、予め設定された期間以上蓄積されている関連イベントを削除する、請求項7記載の複合イベント検出/配信システム。
  9. 複数のイベントを複合した複合イベントを受信する受信手段と、
    前記受信手段により受信された前記関連イベントに基づいて複合イベントを生成する複合イベント生成手段と、
    前記関連イベント生成手段により生成された前記複合イベントを設定内容に従って他のノードへ転送する複合イベント配信手段と、
    を有するブローカーノード。
  10. 前記複合イベント配信手段は、前記複合イベントをサブスクライバーノードに配信する、請求項9に記載のブローカーノード。
  11. 複合イベント生成手段は、前記前記関連イベントに基づいて、所定の複合イベントの検出条件に合致したか否かを判定し、合致したのであれば、複合イベントを生成する、請求項9又は請求項10に記載のブローカーノード。
  12. 複数のイベントを複合した複合イベントの検出に関連する関連イベントを検出すると、検出した該関連イベントを、ルートノードへ転送し、
    前記関連イベントを受信すると、受信した該関連イベントに基づいて複合イベントを生成し、
    生成した該複合イベントを設定内容に従って他のノードへ転送する、複合イベント検出/配信方法。
  13. 前記複合イベントをサブスクライバーノードに配信する、請求項14に記載の複合イベント検出/配信方法。
  14. 受信した関連イベントに基づいて、所定の複合イベントの検出条件に合致したか否かを判定し、合致したのであれば、複合イベントを生成する、請求項12又は請求項13記載の複合イベント検出/配信方法。
  15. コンピュータに、
    複数のイベントを複合した複合イベントを受信する受信手順、
    前記受信手順で受信された前記関連イベントに基づいて複合イベントを生成する複合イベント生成手順、及び
    前記関連イベント生成手順で生成された前記複合イベントを設定内容に従って他のノードへ転送する複合イベント配信手順、
    実行させるための複合イベント検出/配信用プログラム。
  16. 前記複合イベント配信手順は、前記複合イベントをサブスクライバーノードに配信する手順である、請求項15記載の複合イベント検出/配信用プログラム。
  17. 前記複合イベント生成手順は、前記関連イベントに基づいて、所定の複合イベントの検出条件に合致したか否かを判定し、合致したのであれば、複合イベントを生成する手順である、請求項15又は請求項16記載の複合イベント検出/配信用プログラム。
  18. 前記複合イベント検出/配信用プログラムは、
    コンピュータに、
    前記サブスクライバーノードから前記受信登録要求を受信する受信登録要求受信手順を更に実行させるプログラムであって、
    前記複合イベント配信手順は、前記受信登録要求受信手順で受信された前記受信登録要求に基づいて、生成した前記復号イベントを該サブスクライバーノードへ送信する手順である、請求項15乃至請求項17のいずれか1項に記載の複合イベント検出/配信用プログラム。
  19. コンピュータに、
    前記受信登録要求受信手順で受信された前記受信登録要求に含まれる複数の関連イベントの種別に基づいて、各関連イベントの中継を行っているブローカーノードに対して、自身を前記関連イベント検出ノードとして設定するように要求する設定要求を送信する設定要求送信手順を更に実行させる、請求項18に記載の複合イベント検出/配信用プログラム。
  20. コンピュータに、
    前記関連イベント検出ノードから受信した前記関連イベントを記憶手段に蓄積する手順、及び
    前記記憶手段に蓄積しておいた関連イベントの中から、所定の条件を満たす関連イベントを検索し、検索した関連イベントに基づいて前記複合イベントを生成する手順、
    を更に事項させる、請求項15乃至請求項19のいずれか1項に記載の複合イベント検出/配信用プログラム。
  21. コンピュータに、
    所定期間毎に関連イベント蓄積手順で蓄積した関連イベントを走査し、予め設定された期間以上蓄積されている関連イベントを削除する手順を更に実行させる、請求項20記載の複合イベント検出/配信用プログラム。
JP2010500652A 2008-02-29 2009-02-17 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム Pending JPWO2009107511A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008050220 2008-02-29
JP2008050220 2008-02-29
PCT/JP2009/052623 WO2009107511A1 (ja) 2008-02-29 2009-02-17 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム

Publications (1)

Publication Number Publication Date
JPWO2009107511A1 true JPWO2009107511A1 (ja) 2011-06-30

Family

ID=41015911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010500652A Pending JPWO2009107511A1 (ja) 2008-02-29 2009-02-17 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム

Country Status (3)

Country Link
US (1) US20110035429A1 (ja)
JP (1) JPWO2009107511A1 (ja)
WO (1) WO2009107511A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104489B2 (ja) * 2008-04-03 2012-12-19 日本電気株式会社 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
JP2010224935A (ja) * 2009-03-24 2010-10-07 Olympus Corp 分散処理システム
KR101368173B1 (ko) 2012-05-31 2014-02-28 주식회사 엘지씨엔에스 계층 구조를 이용한 이벤트 처리 방법 및 그를 이용한 이벤트 처리 시스템
JPWO2014061190A1 (ja) * 2012-10-17 2016-09-05 日本電気株式会社 イベント処理装置、イベント処理方法、およびイベント処理プログラム
US10924365B2 (en) * 2013-05-03 2021-02-16 Inetco Systems Limited Method and system for generating directed graphs

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334438A (ja) * 1994-06-10 1995-12-22 Hewlett Packard Co <Hp> 事象処理システム
US20040088401A1 (en) * 2002-10-31 2004-05-06 Ashutosh Tripathi Method and apparatus for providing a highly available distributed event notification mechanism
JP2004348680A (ja) * 2003-05-26 2004-12-09 Fujitsu Ltd 複合イベント通知システムおよび複合イベント通知プログラム
JP2007013804A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp 属性指定通信方法および通信装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063523A (en) * 1989-11-16 1991-11-05 Racal Data Communications Inc. Network management system with event rule handling
US20020129110A1 (en) * 2001-03-07 2002-09-12 Ling-Zhong Liu Distributed event notification service
US8332502B1 (en) * 2001-08-15 2012-12-11 Metavante Corporation Business to business network management event detection and response system and method
US7668794B2 (en) * 2005-10-05 2010-02-23 Siemens Corporation Method and apparatus for complex RFID event processing
US7865887B2 (en) * 2006-11-30 2011-01-04 Sap Ag Context based event handling and execution with prioritization and interrupt management
JP4367962B2 (ja) * 2007-06-19 2009-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システムに発生したイベントのパターンを検出する技術
EP2410500B1 (en) * 2009-03-19 2019-05-15 Nec Corporation Network system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334438A (ja) * 1994-06-10 1995-12-22 Hewlett Packard Co <Hp> 事象処理システム
US20040088401A1 (en) * 2002-10-31 2004-05-06 Ashutosh Tripathi Method and apparatus for providing a highly available distributed event notification mechanism
JP2004348680A (ja) * 2003-05-26 2004-12-09 Fujitsu Ltd 複合イベント通知システムおよび複合イベント通知プログラム
JP2007013804A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp 属性指定通信方法および通信装置

Also Published As

Publication number Publication date
US20110035429A1 (en) 2011-02-10
WO2009107511A1 (ja) 2009-09-03

Similar Documents

Publication Publication Date Title
CN107431664B (zh) 消息传递系统和方法
JP3935986B2 (ja) ネットワークにおける情報資源の変化を通知するネットワーク情報資源監視システム
CN102356413B (zh) 网络系统
CN102656922B (zh) 利用用于使用群体智能在大规模分布式系统中进行信息路由的框架的系统和方法
US8819080B2 (en) System and method for collection, retrieval, and distribution of data
CN105409248B (zh) 用于增强发现的系统和方法
JP6112165B2 (ja) 通信システム、制御装置、通信方法およびプログラム
CN102158424B (zh) 利用发布和订阅机制的消息传输系统
EP3337103B1 (en) Scalable messaging system
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
TW201130371A (en) Methods and apparatus for combined peer to peer and wide area network based discovery
JP2017102793A (ja) データフロー制御装置およびデータフロー制御方法
JPWO2009107511A1 (ja) 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム
CN112152987A (zh) 信息中心网络交互工作技术
Li et al. Integrating NFV and ICN for advanced driver-assistance systems
US20090316600A1 (en) Telecommunications system and server apparatus
CN106797319A (zh) 网络服务感知路由器及其应用
JPWO2010092751A1 (ja) イベント配信システム、ランデブーノード、ブローカーノード、イベント配信システムの負荷分散方法、ランデブーノードの負荷分散方法、ブローカーノードの配信ルート構築方法、負荷分散プログラム、及び配信ルート構築プログラム
CN101267449B (zh) 一种基于移动代理机制的树型结构p2p系统资源传输方法
JP4793254B2 (ja) コンテンツ配信システム及び方法
CN102316004B (zh) 在通信网络中用于确定节点间路由信息的方法及装置
CN116996585A (zh) 组播通信方法、装置、系统、计算机设备和存储介质
US8307112B2 (en) Mediated information flow
US20140181307A1 (en) Routing apparatus and method
CN111416854A (zh) 云服务发布方法、订阅方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130305