JP2009251780A - 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム - Google Patents

分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム Download PDF

Info

Publication number
JP2009251780A
JP2009251780A JP2008096967A JP2008096967A JP2009251780A JP 2009251780 A JP2009251780 A JP 2009251780A JP 2008096967 A JP2008096967 A JP 2008096967A JP 2008096967 A JP2008096967 A JP 2008096967A JP 2009251780 A JP2009251780 A JP 2009251780A
Authority
JP
Japan
Prior art keywords
child
composite event
event detection
root node
node
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.)
Granted
Application number
JP2008096967A
Other languages
English (en)
Other versions
JP5104489B2 (ja
Inventor
Hiroshi Denpo
浩史 傅寳
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
Priority to JP2008096967A priority Critical patent/JP5104489B2/ja
Priority to US12/404,470 priority patent/US8244908B2/en
Publication of JP2009251780A publication Critical patent/JP2009251780A/ja
Application granted granted Critical
Publication of JP5104489B2 publication Critical patent/JP5104489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複合イベント検出においてルートノード側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減できるようにする。
【解決手段】複合イベントを分散型の検出処理により検出する分散イベント検出システムであって、イベントをルーティングする複数のブローカーノードと、複合イベントの配信処理を行うルートノードとを備え、ルートノードは、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する検出式分解手段と、検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとしてブローカーノードをそれぞれ割り当てる子ルートノード割当手段と、子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段とを含むことを特徴とする。
【選択図】図10

Description

本発明は、複合イベントを分散型の検出処理により検出する分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラムに関する。また、本発明は、分散イベント検出システムが備えるブローカーノードに関する。
イベント処理システムの一例が、特許文献1に記載されている。特許文献1に記載された第1の実施形態では、デバイス105a〜105fが個々のイベントを検出し、それらは、コンテキスト依存振り分け器103を介して、1つの処理サーバ104aに集約される。この処理サーバ104aは、イベント処理分散制御部101によって振り分けルール107が予め設定されている。そのため、デバイス105a〜105fが検出した個々のイベントは、処理サーバ104aに集約される。
また、処理サーバ104aは、処理ルール108aが予め設定されている。例えば、処理サーバ104aは、「全ての部材のRFIDタグからの検出信号を全て検出したら、アプリケーションに通知」というルールに従って処理を実行する。従って、このルールに示されている条件が満足された時に、処理サーバ104aは、アプリケーション106aに対してイベント通知を行う。
また、例えば、特許文献2には、関連技術として、複合イベント通知システムが記載されている。特許文献2に記載された複合イベント通知システムは、サブスクライバ・アプリケーションからサブスクライブ情報を受け取り、複合イベントであればサブスクライブ情報をサブイベントに分解する。そして、特許文献2には、サブスクライブ情報が要求しているパブリッシュ情報が全て揃ったと判断した場合には、集約したパブリッシュ情報を指定された通知先に通知することが記載されている。
特開2006−309701号公報(第19頁、図1−2) 特開2004−348680号公報(段落0042−0047、図1−2)
しかし、特許文献1や特許文献2に記載されたシステムを用いたとしても、サーバ側のリンクの無駄な消費を生じるという問題点がある。特許文献1や特許文献2に記載されたシステムは、その記載にもあるようにサーバ・クライアント方式を前提としたイベント処理方式を用いたものであり、1つの処理ルールを1つの処理サーバで処理する点に特徴がある。そのため、方式的にサーバにトラヒックが集中する。
例えば、特許文献1に記載されたシステムでは、その記載にあるように、デバイス105a〜105fが検出した個々のイベントが、処理サーバ104aに集約され、サーバに接続されるリンクにトラヒックが集中する。
例えば、デバイスとして、部材D={部材A、部材B、部材C}(括弧内は要素)を用いる場合を考えてみる。個々の部材が生成するイベントの発生のタイミングは、同期していないことも考えられる。例えば、部材Aは毎秒1個イベントを生成し、部材Bは1分に1個イベントを生成し、部材Cは1時間に1個イベントを生成するというようなイベントトラヒック特性が考えられる。このような場合、部材Dに関するイベントの発生頻度は1時間に1回程度となるが、その間、部材Aに関するイベントは3600個生成され、部材Bに関するイベントは60個生成されている。
上記の場合、部材Dのイベントを検出するためには、最初の部材A及び部材Bのイベントの検出のみが通知されればよく、残りのイベントトラヒックは、無駄にサーバ周辺のリンクを消費していることになる。また、処理サーバ104aが受けもつ処理ルールの数が増加すれば、その増加に伴い、無駄なリンク消費が増加する。
そこで、本発明は、複合イベント検出においてルートノード(サーバ)側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減できる分散イベント検出システム、ブローカーノード、分散イベント検出方法、及び分散イベント検出用プログラムを提供することを目的とする。
本発明による分散イベント検出システムは、複合イベントを分散型の検出処理により検出する分散イベント検出システムであって、イベントをルーティングする複数のブローカーノードと、複合イベントの配信処理を行うルートノードとを備え、ルートノードは、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する検出式分解手段と、検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとしてブローカーノードをそれぞれ割り当てる子ルートノード割当手段と、子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段とを含むことを特徴とする。
本発明によるブローカーノードは、複合イベントを分散型の検出処理により検出する分散イベント検出システムが備えるブローカーノードであって、複合イベントの配信処理を行うルートノードとして動作する機能を有し、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する検出式分解手段と、検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとして他のブローカーノードをそれぞれ割り当てる子ルートノード割当手段と、子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段とを含むことを特徴とする。
本発明による分散イベント検出方法は、複合イベントを分散型の検出処理により検出する分散イベント検出方法であって、複合イベントの配信処理を行うルートノードが、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解するステップと、ルートノードが、分解した各子複合イベント検出式に対して、新たに子ルートノードとして、イベントをルーティングする複数のブローカーノードのいずれかを割り当てるステップと、ルートノードが、割り当てた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出するステップとを含むことを特徴とする。
本発明による分散イベント検出用プログラムは、複合イベントを分散型の検出処理により検出するための分散イベント検出用プログラムであって、コンピュータに、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する処理と、分解した各子複合イベント検出式に対して、新たに子ルートノードとして他のブローカーノードをそれぞれ割り当てる処理と、割り当てた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する処理とを実行させるためのものである。
本発明によれば、複合イベント検出においてルートノード側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減することができる。
以下、本発明の実施形態を図面を参照して説明する。まず、本発明による分散イベント検出システムの概要を説明する。本発明は、複数のイベント(状態変化)を検出し、その検出したイベントを予め定義されたルールに従って処理し、その処理結果を通知する分散イベント検出システムに関する。
本発明において、分散イベント検出システムは、パブリッシュ・サブスクライブ方式による通信手段を備える。本パブリッシュ・サブスクライブ方式を用いた分散イベント検出システムにおいて、パブリッシュノードは、状態変化を検出し、その検出した状態変化をイベント情報としてサブスクライブノードに配信する。特許文献1に記載された関連技術では、デバイス105a〜105fがパブリッシュノードに相当する。またサブスクライブノードは、特許文献1に記載された関連技術では、例えばアプリケーション106a等に該当する。
パブリッシュノードとサブスクライブノードとの間には、1つ又は複数のブローカーノードが配備され、それらのブローカーノードはネットワークを構築している。ブローカーノードは、各イベントの中身(コンテキスト)を走査して、次の転送先を決定するアプリケーションルータである。
また、例えば、いずれかのブローカーノードは、複合イベント検出ノードとして割り当てられる。複合イベント検出ノードは、複数の分割できないアトミックイベントで表現された複合イベントを検出する。そして、複合イベント検出ノードは、その複合イベントの発生条件を満足した時に、上位の複合イベント検出ノードに複合イベントを通知する。
本発明では、複雑な複合イベント式(つまり、構成要素の多い1つの複合イベント式)を、より単純な複数の複合イベント式に分割していき、子レベルや孫レベル等の階層的な複合イベント検出コンフィギュレーションモデルを作成する。また、単純な複合イベント検出ノードを分散して配置していき、さらに、それらの複合イベント検出ノードをパブリッシュ・サブスクライブ方式で連結することで、分散型の複合イベント検出機能を備えた分散イベント検出システムを実現する。
本実施形態に示す分散イベント検出システムは、例えば、ある装置を構成する部品の調達状況を可視化するイベント検出システムの用途に適用できる。また、分散イベント検出システムは、別な用途として、1つの物理ネットワーク上に、階層的に複数のオーバーレイネットワークを構築するようなMVNOサービスの用途に適用できる。この場合、具体的には、物理ノードレベルから各レイヤのアプリケーションノードに関して、障害イベントの連鎖状況を複合イベント式で表現することにより、物理層からアプリケーション層への垂直方向に障害状況の伝播状況を表現し、稼動/障害状態を可視化することが可能となり、ネットワークモニタリングサービスの用途として適用可能である。
また、分散イベント検出システムは、分散イベント検出システムを構成する手段がインターネットや企業網、携帯電話網上に構築され、各種端末によって生成されるデータからアトミックイベントを生成し、それらを組み合わせた複合イベントを検出、生成及び通知することによって、実空間やネットワーク空間における様々なイベントを可視化する複合イベント検出サービスの提供の用途に用いられる。
次に、分散イベント検出システムが行う複合イベント式の分割方法について、図面を参照して説明する。図1は、複合イベント式の分割事例を示す説明図である。なお、図1では、一例として、複合イベント式F=((B AND C) OR A) AND (D OR E)を分割する事例を示している。また、図1に示す複合イベント式の分割処理は、後述するように、具体的には、ルートノードや複合イベント検出ノードによって実行される。
分散イベント検出システムは、最初に、この複合イベント式Fを、((B AND C) OR A)と、ANDと、(D OR E)という3つのパートに分割する(ステップT1)。次いで、分散イベント検出システムは、((B AND C) OR A)を、さらに(B AND C)と、ORと、Aとに分割する(ステップT2)。次いで、分散イベント検出システムは、(B AND C)を、さらにBと、ANDと、Cとに分割する(ステップT3)。また、分散イベント検出システムは、(D OR E)部分を、Dと、ORと、Eとに分割する(ステップT4)。
以上の手順に従って処理を実行することによって、分散イベント検出システムは、図1に示すような複合イベント式のツリー構造を作成する。また、上記ツリー形式のデータ構造の複合イベント式を、図2に示すように、分散型の複合イベント検出システムにプロビジョニングしていく。
図2に示すように、分散イベント検出システムは、サブスクライブノード10、ルートノード20、複合イベント検出ノード30〜32、及びブローカーノード40〜44を含む。なお、分散イベント検出システムは、具体的には、複数のブローカーノードが接続されたブローカー型イベント配信網として構成される。従って、本実施形態では、各ノード間で行われる通信は、ノード間に存在する1つ又は複数のブローカーノードを介して行われる。ただし、隣り合うノードである場合には、ノード間で直接通信が行われる。
サブスクライブノード10は、例えば、渋滞情報等の各種情報を各ユーザに配信するサービス事業者が運営するサーバである。サブスクライブノード10は、例えば、受信したイベント(複合イベントを含む)に基づいて、渋滞情報等の各種情報を、携帯電話網やインターネット等の通信ネットワークを介して、ユーザの携帯電話機やパーソナルコンピュータ等の端末に配信する。
サブスクライブノード10は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。なお、図2では、1つのサブスクライブノード10が示されているが、分散イベント検出システムは、複数のサブスクライブノード10を含んでもよい。
図3は、サブスクライブノード10の構成の一例を示すブロック図である。図3に示すように、サブスクライブノード10は、複合イベント式生成手段1001、及び複合イベント配信登録要求手段1002を含む。
複合イベント式生成手段1001は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。複合イベント式生成手段1001は、複合イベントを検出するための複合イベント式Fを生成する機能を備える。
複合イベント配信登録要求手段1002は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインタフェース部によって実現される。複合イベント配信登録要求手段1002は、配信を希望する複合イベントを登録するための複合イベント配信登録要求を、ルートノード20に対して送信する機能を備える。この場合、複合イベント配信登録要求手段1002は、複合イベント式生成手段1001が生成した複合イベント式Fを含む複合イベント配信登録要求を、ルートノード20に対して送信する。
ルートノード20は、具体的には、IPルータ等のネットワーク装置や、プログラムに従って動作しルータ機能を搭載したパーソナルコンピュータ等の情報処理装置によって実現される。なお、図2では、1つのルートノード20が示されているが、分散イベント検出システムは、複数のルートノード20を含んでもよい。
図4は、ルートノード20の構成の一例を示すブロック図である。図4に示すように、ルートノード20は、複合イベント配信登録手段2001、複合イベント式分解手段2002、複合イベント検出ノード割当手段2003、子複合イベント受信手段2004、複合イベント検出手段2005、及び複合イベント配信手段2006を含む。
複合イベント配信登録手段2001は、サブスクライブノード10から受信した複合イベント配信登録要求に基づいて、サブスクライブノード10に対して配信する複合イベントを登録する機能を備える。具体的には、複合イベント配信登録手段2001は、配信対象の複合イベントを特定可能な情報(例えば、イベントID)をルーティングテーブルに登録する。また、複合イベント配信登録手段2001は、サブスクライブノード10が生成した複合イベント式Fを、ルートノード20が備えるメモリやハードディスク装置等の記憶装置に記憶させる。
複合イベント式分解手段2002は、複合イベント配信登録手段2001が登録した複合イベント式Fを複数の要素(子複合イベント式や、アトミックイベント、演算子)に分解する処理を行う機能を備える。例えば、図1に示す例では、複合イベント式分解手段2002は、複合イベント式を2つの子複合イベント式((B AND C) OR A)及び(D OR E)と、演算子(AND)とに分解する。
複合イベント検出ノード割当手段2003は、複合イベント式分解手段2002が分解した子複合イベント式に対して、所定のルールに従って新たに複合イベント検出ノード30,31をアサインする(割り当てる)機能を備える。例えば、複合イベント検出ノード割当手段2003は、ネットワーク内に存在するブローカーノードのうち、分解した子複合イベントのイベントIDと数値的に近いノードIDをもつノードを、複合イベント検出ノードとして選択する。なお、複合イベント検出ノードの選択方法は、本実施形態で示した方法に限られず、例えば、現在の処理負荷が最も小さいブローカーノードを複合イベント検出ノードとして選択してもよい。
また、複合イベント検出ノード割当手段2003は、アサインした複合イベント検出ノード30,31に対して、子複合イベントの配信登録要求を送信する機能を備える。この場合、複合イベント検出ノード割当手段2003は、複合イベント式分解手段2002が分解した子複合イベント式を含む配信登録要求を、複合イベント検出ノード30,31に対して送信する。
また、複合イベント検出ノード割当手段2003は、複合イベント式Fを分解した要素がアトミックイベントである場合には、そのアトミックイベントを中継するブローカーノードに対して、アトミックイベントの配信登録要求を送信する機能を備える。
子複合イベント受信手段2004は、複合イベント検出ノード30,31から子複合イベント(すなわち、複合イベント検出ノード30,31が検出した子複合イベント)を受信する機能を備える。また、子複合イベント受信手段2004は、複合イベント式を分解した要素にアトミックイベントが含まれる場合には、そのアトミックイベントを中継するブローカーノードからアトミックイベントを受信する機能を備える。
複合イベント検出手段2005は、子複合イベント受信手段2004が受信した子複合イベントやアトミックイベントに基づいて、複合イベントを検出したか否かを判定する機能を備える。図1に示す例では、複合イベント検出手段2005は、子複合イベント((B AND C) OR A)と(D OR E)とを両方受信した場合に、複合イベント式Fに合致すると判定し、複合イベントを検出したと判定する。
複合イベント配信手段2006は、複合イベント検出手段2005が複合イベントを検出したと判定すると、検出した複合イベントをサブスクライブノード10に配信する機能を備える。
複合イベント検出ノード30〜32は、具体的には、IPルータ等のネットワーク装置や、プログラムに従って動作しルータ機能を搭載したパーソナルコンピュータ等の情報処理装置によって実現される。なお、図2では、3つの複合イベント検出ノード30〜32が示されているが、分散イベント検出システムは、3つに限らず、例えば、4以上の複合イベント検出ノードを含んでもよい。
図5は、複合イベント検出ノード30の構成の一例を示すブロック図である。図5に示すように、複合イベント検出ノード30は、子複合イベント配信登録手段3001、子複合イベント式分解手段3002、複合イベント検出ノード割当手段3003、子複合イベント受信手段3004、子複合イベント検出手段3005、及び子複合イベント送信手段3006を含む。なお、図5では、複合イベント検出ノード30の場合が示されているが、複合イベント検出ノード31,32の構成も同様である。
子複合イベント配信登録手段3001は、ルートノード20や他の複合イベント検出ノード(上位の複合イベント検出ノード)から受信した子複合イベントの配信登録要求に基づいて、ルートノード20や他の複合イベント検出ノードに対して配信する子複合イベントを登録する機能を備える。具体的には、子複合イベント配信登録手段3001は、配信対象の子複合イベントを特定可能な情報(例えば、イベントID)をルーティングテーブルに登録する。また、子複合イベント配信登録手段3001は、ルートノード20や他の複合イベント検出ノードが分解した子複合イベント式を、複合イベント検出ノード30が備えるメモリやハードディスク装置等の記憶装置に記憶させる。
子複合イベント式分解手段3002は、子複合イベント配信登録手段3001が登録した子複合イベント式を複数の要素(子複合イベント式や、アトミックイベント、演算子)に分解する処理を行う機能を備える。例えば、図1に示す例では、子複合イベント式分解手段3002は、複合イベント式((B AND C) OR A)を、子複合イベント式(B AND C)と、アトミックイベントAと、演算子(OR)とに分解する。すなわち、子複合イベント式分解手段3002は、ルートノード20や上位の複合イベント検出ノードが分解した子複合イベント式をさらに再帰的に複数の要素(子複合イベント式や、アトミックイベント、演算子)に分解する。
複合イベント検出ノード割当手段3003は、子複合イベント式分解手段3002が分解した子複合イベント式に対して、所定のルールに従って新たに複合イベント検出ノード32をアサインする(割り当てる)機能を備える。例えば、複合イベント検出ノード割当手段3003は、ネットワーク内に存在するブローカーノードのうち、分解した子複合イベントのイベントIDと数値的に近いノードIDをもつノードを、複合イベント検出ノードとして選択する。すなわち、複合イベント検出ノード割当手段3003は、子複合イベント式分解手段3002が分解した子複合イベント式に対して、さらに子ルートノードとして他のブローカーノードをそれぞれ再帰的に割り当てる。なお、複合イベント検出ノードの選択方法は、本実施形態で示した方法に限られず、例えば、現在の処理負荷が最も小さいブローカーノードを複合イベント検出ノードとして選択してもよい。
また、複合イベント検出ノード割当手段3003は、アサインした複合イベント検出ノード32に対して、子複合イベントの配信登録要求を送信する機能を備える。この場合、複合イベント検出ノード割当手段3003は、子複合イベント式分解手段3002が分解した子複合イベント式を含む配信登録要求を、複合イベント検出ノード32に対して送信する。
また、複合イベント検出ノード割当手段3003は、子複合イベント式を分解した要素がアトミックイベントである場合には、そのアトミックイベントを中継するブローカーノードに対して、アトミックイベントの配信登録要求を送信する機能を備える。例えば、図1及び図2に示す例では、複合イベント検出ノード割当手段3003は、ブローカーノード40に対して、アトミックイベントAの配信登録要求を送信する。
子複合イベント受信手段3004は、複合イベント検出ノード32から子複合イベント(すなわち、複合イベント検出ノード32が検出した子複合イベント)を受信する機能を備える。また、子複合イベント受信手段3004は、子複合イベント式を分解した要素にアトミックイベントが含まれる場合には、そのアトミックイベントを中継するブローカーノードからアトミックイベントを受信する機能を備える。
子複合イベント検出手段3005は、子複合イベント受信手段3004が受信した子複合イベントやアトミックイベントに基づいて、子複合イベントを検出したか否かを判定する。図1に示す例では、子複合イベント検出手段3005は、子複合イベント(B AND C)とアトミックイベントAとのいずれかを受信した場合に、子複合イベント式((B AND C) OR A)に合致すると判定し、子複合イベントを検出したと判定する。すなわち、子複合イベント検出手段3005は、複合イベント検出ノード割当手段3003によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出する。
子複合イベント送信手段3006は、子複合イベント検出手段3005が子複合イベントを検出したと判定すると、検出した子複合イベントをルートノード20や他の複合イベント検出ノードに送信する機能を備える。
ブローカーノード40〜44は、具体的には、IPルータ等のネットワーク装置や、プログラムに従って動作しルータ機能を搭載したパーソナルコンピュータ等の情報処理装置によって実現される。なお、図2では、5つのブローカーノード40〜44が示されているが、分散イベント検出システムは、5つに限らず、例えば、6以上のブローカーノードを含んでもよい。
ブローカーノード40〜44は、ルートノード20や複合イベント検出ノード30〜32から受信しアトミックイベントの配信登録要求に基づいて、ルートノード20や複合イベント検出ノード30〜32に対して配信するアトミックイベントを登録する機能を備える。具体的には、ブローカーノード40〜44は、配信対象のアトミックイベントを特定可能な情報(例えば、イベントID)をルーティングテーブルに登録する。また、ブローカーノード40〜44は、アトミックイベントを検出すると、検出したアトミックイベントをルートノード20や複合イベント検出ノード30〜32に送信する機能を備える。
なお、分散イベント検出システムを構成するネットワーク内に含まれる全てのブローカーノードは、ルートノードとして動作する機能を有していてもよい。例えば、ネットワーク内に含まれる全てのブローカーノードは、図4に示す各構成要素を備え、サブスクライブノード10によってルートノードとしてアサインされたことに基づいて、ルートノードとしての機能を起動するようにしてもよい。
なお、分散イベント検出システムを構成するネットワーク内に含まれる全てのブローカーノードは、複合イベント検出ノードとして動作する機能を有していてもよい。例えば、ネットワーク内に含まれる全てのブローカーノードは、図5に示す各構成要素を備え、ルートノード20又は他の複合イベント検出ノードによって複合イベント検出ノードとしてアサインされたことに基づいて、複合イベント検出ノードとしての機能を起動するようにしてもよい。
パブリッシャーノード(図2において図示せず)は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。なお、分散イベント検出システムは、1つに限らず、複数のパブリッシャーノードを含んでもよい。パブリッシャーノードは、例えば、各種センサ(例えば、速度センサ)やタグ(例えば、RFIDタグ)からの検出信号を入力したことに基づいて、アトミックイベントを生成し、サブスクライブノードに対して送信する機能を備える。
なお、本実施形態において、ルートノードや複合イベント検出ノードとして動作する機能を有するブローカーノードを情報処理装置を用いて実現する場合、各ブローカーノードの記憶装置(図示せず)は、複合イベントを分散して検出するための各種プログラムを記憶している。例えば、各ブローカーノードの記憶装置は、コンピュータに、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する処理と、分解した各子複合イベント検出式に対して、新たに子ルートノードとして他のブローカーノードをそれぞれ割り当てる処理と、割り当てた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する処理とを実行させるための分散イベント検出用プログラムを記憶している。
次に、動作について説明する。図6は、複合イベントを分散して検出するためのシステムのコンフィギュレーションを構築する処理の一例を示す流れ図である。まず、サブスクライブノード10は、例えば、サービス事業者の操作に従って、複合イベント配信登録要求をルートノード20に対して送信する。この場合、サブスクライブノード10は、例えば、図1に示す複合イベント式Fを生成し、ルートノード20に複合イベント配信登録要求とともに送信する(ステップS11)。そして、ルートノード20は、図1に示すステップT1の複合イベント式Fの分割処理を実行する(ステップS12)。図1に示す例では、ルートノード20は、複合イベント式Fを、子複合イベント式((B AND C) OR A)及び(D OR E)と、演算子(AND)とに分解する。
次いで、ルートノード20は、複合イベント((B AND C) OR A)を検出するために、複合イベント検出ノード30をアサインする(ステップS13)。また、ルートノード20は、アサインした複合イベント検出ノード30に対して、子複合イベントの配信登録要求を行う(ステップS14)。
次いで、複合イベント検出ノード30は、ルートノード20と同様に、図1に示すステップT2の子複合イベント式((B AND C) OR A)の分割処理を行う(ステップS15)。図1に示す例では、複合イベント検出ノード30は、子複合イベント式を、子複合イベント式(B AND C)と、アトミックイベントAと、演算子(OR)とに分解する。
ここで、ステップS4の分割処理において、分解した要素の中にイベントAが現れる。このイベントAは、これ以上分割できない最小単位のイベント(本実施形態では、アトミックイベント(英文表記:Atomic Event))として取り扱う。図1に示す複合イベント式Fでは、イベントA〜Eがアトミックイベントである。
ステップS4の分割過程において、アトミックイベントが出現した場合(ステップS16のY)、複合イベント検出ノード30は、アトミックイベントを配信しているブローカーノード40に対して、配信登録要求を行う(ステップS17)。その結果、ブローカーノード40は、アトミックイベントAを検出すると、複合イベント検出ノード30に配信するように設定(例えば、ルーティングテーブルに登録)する。
一方、ステップS4の分割過程において、子複合イベントが出現した場合には(ステップS16のN)、複合イベント検出ノード30は、子複合イベント(B AND C)を検出するために、複合イベント検出ノード32(自分より下位の複合イベント検出ノード)をアサインする(ステップS18)。また、複合イベント検出ノード30は、アサインした複合イベント検出ノード32に対して、子複合イベントの配信登録要求を行う(ステップS19)。
以下、同様にして、分解した要素に子複合イベントが含まれなくなるまで、ステップS5〜S9までの処理が繰り返し実行される。そのような処理が実行されることにより、図2に示すようなコンフィギュレーション処理が実行される。
図7は、アトミックイベントから複合イベントを検出し、複合イベント式Fに基づいて複合イベントを検出していくためのネットワーク構造を示している。図7に示すネットワーク構造は、複合イベント検出ノードのアサインと複合イベント及びアトミックイベントの配信登録とを行った処理過程を逆にたどることによって構築されている。具体的には、図6に示す処理が実行されることによって、図7に示すような複合イベント検出のためのネットワーク構造(システムのコンフィギュレーション)が構築される。
次に、複合イベントを分散して検出するためのシステムのコンフィギュレーションが構築された後に、複合イベントを検出する動作を説明する。図8は、分散イベント検出システムにおいて複合イベントを検出する処理の一例を示す流れ図である。まず、各ブローカーノード40〜44は、アトミックイベントを検出すると(ステップS21)、検出したアトミックイベントを複合イベント検出ノード30〜32に送信する(ステップS22)。なお、構築されたコンフィグレーションによって、ブローカーノードは、検出したアトミックイベントを、直接ルートノードに送信する場合もある。
また、各複合イベント検出ノード30〜32は、ブローカーノード40〜44から受信したアトミックイベントや、他の複合イベント検出ノード(下位の複合イベント検出ノード)から受信した子複合イベントに基づいて、子複合イベントを検出する(ステップS23)。例えば、図2に示す例では、複合イベント検出ノード30は、子複合イベント(B AND C)とアトミックイベントAとのいずれかを受信した場合に、子複合イベント式((B AND C) OR A)に合致すると判定し、子複合イベントを検出したと判定する。また、例えば、複合イベント検出ノード32は、アトミックイベントB及びCの両方を受信した場合に、子複合イベント式(B AND C)に合致すると判定し、子複合イベントを検出したと判定する。
そして、各複合イベント検出ノード30〜32は、検出した子複合イベントを、ルートノード20や他の複合イベント検出ノード(上位の複合イベント検出ノード)に送信する(ステップS24)。図2に示す例では、複合イベント検出ノード30,31は、検出した子複合イベントをルートノード20に送信する。また、複合イベント検出ノード32は、検出した複合イベントを複合イベント検出ノード30に送信する。
また、ルートノード20は、各複合イベント検出ノード30,31から受信した子複合イベントに基づいて、複合イベントを検出する(ステップS25)。例えば、図2に示す例では、ルートノード20は、子複合イベント((B AND C) OR C)及び(D OR E)の両方を受信した場合に、複合イベント式Fに合致すると判定し、複合イベントを検出したと判定する。そして、ルートノード20は、検出した複合イベントをサブスクライブノード10に対して配信する(ステップS26)。なお、構築されたコンフィグレーションによって、ルートノード20は、各複合イベント検出ノード30,31から受信した子複合イベントに加えて、ブローカーノードから受遺したアトミックイベントに基づいて、複合イベントを検出する場合もある。
以上のように、本実施形態によれば、分散された複合イベント検出システム(分散イベント検出システム)の下位ノード(複合イベント検出ノード)において、アトミックイベントの組み合わせによる複合イベントを形成し、各複合イベントを段階的に組み合わせていく処理を行う。そのため、最上位のルートノード(特許文献1に記載された関連技術では、処理サーバに相当)には、最終段階のイベントの発生(具体的には、最終の複合イベントの1つ前の子複合イベントの発生)のみ通知されることになり、最上位のサーバ(ルートノード20)へのトラヒック集中を回避することができる。従って、複合イベント検出においてサーバ側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減することができる。
次に、本発明による分散イベント検出システムの実施例について説明する。図9は、分散イベント検出システムをオーバーレイネットワーク上に構築した場合を示す説明図である。図9に示すように、分散イベント検出システムは、パブリッシュノード100〜104、ブローカーノード300〜34n,600,610、ルートノード200〜240,500、複合イベント検出ノード400〜420、及びサブスクライブノード700とを含む。なお、特に、ブローカーノード300〜34n、ルートノード200〜240、複合イベント検出ノード400〜420は、同一装置上に実現されていてもよい。
図9において、ルートノード500、ブローカーノード600,610、及び複合イベント検出ノード400〜420を含むシステムは、複合イベントを検出する複合イベント検出システム800である。また、図9において、ルートノード200〜240、ブローカーノード300〜34nを含むシステムは、アトミックイベントを配信するアトミックイベント配信システム900である。
図9において、特に、アトミックイベント配信システム900と複合イベント検出システム800とは、各々専用のオーバーレイネットワーク上に構築される。そして、アトミックイベント配信用のルートノード200〜240、ブローカーノード300〜34n、及び複合イベント検出ノード400は、両オーバーレイネットワークに接続している。従って、本実施例では、ブローカーノード及びルートノードは、オーバーレイネットワーク上に構築されている。
なお、上記のオーバーレイネットワークは、例えばDHT(Distributed Hash Table:分散ハッシュテーブル)型のモデルやP2P型等のネットワークである。本実施例では、オーバーレイネットワークが、DHT型を前提モデルとしたネットワークである場合を説明する。
また、オーバーレイネットワークを構築する場合、さらに用途と実装との関係を明確にするために、本実施例における複合イベント検出システム800は、さらに複合イベント検出(複合イベント検出ノード400〜420で構成)と複合イベント配信(ルートノード500、及びブローカーノード600,610で構成)の2つに分割することも可能である。そのように構成した場合には、分散イベント検出システムは、分散イベントを検出するためのノード群を含み、分散イベント検出を主目的とした専用オーバーレイネットワークと、アトミックイベントルーティングを主目的とした専用オーバーレイネットワークと、複合イベントをルーティングすることを主目的とした専用オーバーレイネットワークとを含むマルチオーバーレイネットワーク型に構築される。
さらに、上記の後者の複合イベント配信に関しては、複合イベント検出システム800は、ユーザ毎のオーバーレイネットワーク空間を用意して、各ユーザ専用の複合イベント配信空間に分割することも可能である。
また、ブローカーノード300〜34n,600,610のうち、特にネットワークエッジに位置するブローカーノード300,310,320,330,340,610は、例えばインターネットや携帯電話網、NGN(Next Generation Network :次世代ネットワーク)網等のキャリア網との接続ポイントを有する。そのため、パブリッシュノード100〜104やサブスクライブノード700は、例えばTCP/IPやHTTP等によってネットワークエッジのブローカーノードに接続する。
上記の場合、アクセスポイントは、例えば、インターネットであれば、TCP/IPによるポート/アドレス形式で表現されたり、HTTPであればURLで表現されたりする。また、アクセスポイントは、3GPPにおける携帯電話システムであれば、例えばAccess Point Nameによって識別されたりしてもよい。その結果、端末上のクライアントソフトウェアが、サブスクライブノード700に接続され、図9に示す複合イベント検出システム800に透過的に接続される。同様にして、パブリッシュノード100〜104もアトミックイベント配信システム900に接続される。
パブリッシュノード100〜104は、例えば1つ又は複数のセンサ等から数値としてのセンサデータを収集し、そのデータ集合が示す外部状態の変化をイベントとして検出する。パブリッシュノード100〜104は、データ集合の要素が複数ある場合、例えば、その最大値、最小値、又は平均値、またデータのばらつき具合や差分等を、状態変化として検出する。また、パブリッシュノード100〜104が用いるデータの生成ソースは、必ずしもセンサのようなハードウェア的な装置に限らず、あるソフトウェアの稼動状態をモニタリングするモニタ系ソフトウエアであってもよい。
本実施例では、図9に示すイベントA〜Eがアトミックイベントである。また、例えば、パブリッシュノード100からブローカーノード30nに至る経路が、アトミックイベントAの配信経路である。以下、同様にして、図9には、アトミックイベントBからアトミックイベントEまでの配信経路が示されている。
各アトミックイベントA〜Eは、各アトミックイベント用のルートノード200〜204に配信された後、マルチキャストツリー等を介して配信される。つまり、例えば、ルートノード200は、アトミックイベントAを配信するためのルートノードである。例えば、サブスクライブノード700が、アトミックイベントAの受信登録を行えば、そのマルチキャストツリーに加えられる(図9において図示せず)。
サブスクライブノード700は、既に配信を受けているアトミックイベントA〜Eを用いて、複合イベント式Fを作成する。例えば、サブスクライブノード700は、ある装置の製造過程をモニタする過程において、その装置を構成する5つの部品A〜Eを想定し、各々の製造状況をRFIDタグを用いてモニタする場合の複合イベント用の複合イベント式を作成する。
次に、サブスクライブノード700は、複合イベント配信用のルートノード500を決定する。例えば、サブスクライブノード700は、そのサブスクライブノード700を使用するユーザの情報(名前、住所、生年月日、社員番号等)をキーデータとして、ハッシュ関数等により複合イベント検出ネットワークシステムにおいて、一意になるIDを生成する。そして、サブスクライブノード700は、その生成したIDと一致するDHTノードID又は、数値的に近いDHTノードIDをもつノードをルートノードとして決定する。
次に、サブスクライブノードは、上記のルートノード500に対して、複合イベント式Fを登録情報として送信する。この複合イベント式を受信したルートノード500は、第1の実施形態で示した処理と同様の処理に従って、複合イベントの複合イベント式Fの分割処理を実行する。
このルートノード500と複合イベント検出ノード400〜420とを含む分散型複合イベントノード検出システムは、第1の実施形態で示した処理と同様の処理に従って、その複合イベントを検出するためのコンフィギュレーションモデル(抽象的に機能を分散した配置モデル)が確定される。
次に、上記のコンフィギュレーションを、実ネットワークへプロビジョニング(実際に、対象となる機能、つまりソフトウェアプロセスを起動)していく。最初に、複合イベント式Fに対するルートノード500をアサインする。このルートノード500は、上記のコンフィギュレーション作成処理を行う。図1に示す例では、ステップT1において、AND演算が発生しており、このAND演算処理を、このルートノード500が行う。
次に、複合イベントのルートノード500は、図1におけるステップT1のAND演算を行うための子ルートノード(つまり、複合イベント検出ノード400と420)を特定するために、ハッシュ関数等を用いて新たにユニークなIDを2つ生成する。そして、それらのIDと一致するDHTノードID又は数値的に近いDHTノードIDをもつノードが、複合イベント検出ノード400,420として動作する。また、ルートノード500は、アサインした子ルートノード(複合イベント検出ノード400,420)に対して、
((B AND C) OR A)と(D OR E)との登録処理を行う。
以下、図1に示すステップT2〜T4に関しても同様の処理が繰り返し実行され、複合イベントを検出するためのコンフィギュレーションモデルが構築される。
なお、図1に示すステップT2〜T4では、アトミックイベントが分解した要素として出現している。アトミックイベントが出現した場合、ルートノード500や複合イベント検出ノード400〜420は、アトミックイベント配信網(アトミックイベント配信システム900)に対して受信登録を行う。その後、アトミックイベントが検出されると、ルートノード500や複合イベント検出ノード400〜420は、いずれかのブローカーノードから、該当するアトミックイベントを受信する。例えば、複合イベント検出ノード420は、ブローカーノード312,321からアトミックイベントB,Cの配信を受ける。
複合イベント検出ノード400〜420は、子複合イベントを検出し、その子複合イベント発生を上位ノード(ルートノード500や上位の複合イベント検出ノード)に通知する。特に、最下位にある複合イベント検出ノードは、ブローカーノードからアトミックイベントを受信する。例えば、複合イベント検出ノード410は、アトミックイベントBとアトミックイベントCとを受信し、これらの複合イベントを検出し、その検出結果を複合イベント検出ノード400に通知する。
同様にして、各複合イベント検出ノード400〜420から通知される複合イベントは、複合イベント用のルートノード500に集約される。そして、ルートノード500は、複合イベントを検出し、検出した複合イベントをサブスクライブノード700に通知する。なお、図9において、ルートノード500とサブスクライブノード700との間に存在するブローカーノード600,610は、ルートノード500とサブスクライブノード10との間にもブローカーネットワークが存在することを図示している。
以上の処理によって、分散複合イベント検出システム(分散イベント検出システム)が構築される。
以上のように、本実施例によれば、分散イベント検出システムの下位ノードにおいて、アトミックイベントの組み合わせによる複合イベントを形成し、各複合イベントを段階的に組み合わせていく処理を行う。そのため、最上位のルートノードには、最終段階のイベントの発生のみ通知されることになり、最上位のサーバ(ルートノード500)へのトラヒック集中を回避することができる。従って、複合イベント検出においてサーバ側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減することができる。
次に、本発明による分散イベント検出システムの最小構成について説明する。図10は、分散イベント検出システムの最小の構成例を示す構成図である。図10に示すように、分散イベント検出システムは、最小の構成要素として、イベントをルーティングする複数のブローカーノード30,31(後述するように、複合イベント検出ノードとして割り当てられる)と、複合イベントの配信処理を行うルートノード20とを備える。また、ルートノード20は、最小の構成要素として、複合イベント式分解手段2002、複合イベント検出ノード割当手段2003、及び複合イベント検出手段2005を含む。
図10に示す最小構成の分散イベント検出システムにおいて、複合イベント式分解手段2002は、複合イベントを検出するための複合イベント式を複数の子複合イベント式に分解する機能を備える。また、複合イベント検出ノード割当手段2003は、複合イベント式分解手段2002が分解した各子複合イベント式に対して、新たに複合イベント検出ノードとしてブローカーノード30,31をそれぞれ割り当てる機能を備える。また、複合イベント検出手段2005は、複合イベント検出ノード割当手段2003によって割り当てられた各複合イベント検出ノード30,31が検出した子複合イベントに基づいて、複合イベントを検出する機能を備える。
図10に示す最小構成の分散イベント検出システムによれば、複合イベント検出においてルートノード側の無駄なリンク消費を軽減できるとともに、複合イベント処理のための負荷を軽減することができる。
なお、本実施形態では、以下の(1)〜(5)に示すような分散イベント検出システムの特徴的構成が示されている。
分散イベント検出システムは、複合イベントを分散型の検出処理により検出する分散イベント検出システムであって、イベントをルーティングする複数のブローカーノード(例えば、複合イベント検出ノードとして割り当てられるブローカーノード30,31)と、複合イベントの配信処理を行うルートノード(例えば、ルートノード20)とを備え、ルートノードは、複合イベントを検出するための複合イベント検出式(例えば、複合イベント式F)を複数の子複合イベント検出式(例えば、子複合イベント式)に分解する検出式分解手段(例えば、複合イベント式分解手段2002によって実現される)と、検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとしてブローカーノード(例えば、複合イベント検出ノード30,31)をそれぞれ割り当てる子ルートノード割当手段(例えば、複合イベント検出ノード割当手段2003によって実現される)と、子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段(例えば、複合イベント検出手段2005によって実現される)とを含むことを特徴とする。
分散イベント検出システムにおいて、子ルートノードは、ルートノード又は他の子ルートノードが分解した子複合イベント検出式をさらに複数の子複合イベント検出式に再帰的に分解する検出式再帰分解手段(例えば、子複合イベント式分解手段3002によって実現される)と、検出式再帰分解手段が分解した各子複合イベント検出式に対して、さらに子ルートノードとして他のブローカーノード(例えば、複合イベント検出ノード32)をそれぞれ再帰的に割り当てる子ルートノード再帰割当手段(例えば、複合イベント検出ノード割当手段3003によって実現される)と、子ルートノード再帰割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出する子複合イベント検出手段(例えば、子複合イベント検出手段3005によって実現される)とを含むように構成されていてもよい。
分散イベント検出システムにおいて、イベントを受信するサブスクライブノード(例えば、サブスクライブノード10)を備え、サブスクライブノードは、複合イベント検出式を生成する複合イベント検出式生成手段(例えば、複合イベント式生成手段1001によって実現される)を含み、検出式分解手段は、サブスクライブノードが生成した複合イベント検出式を複数の子複合イベント検出式に分解するように構成されていてもよい。
分散イベント検出システムにおいて、ブローカーノード及びルートノードは、オーバーレイネットワーク上に構築されているように構成されていてもよい。
分散イベント検出システムは、さらに分散イベントを検出するためのノード群(例えば、複合イベント検出ノード400〜420)を含み、分散イベント検出を主目的とした専用オーバーレイネットワークと、アトミックイベントルーティングを主目的とした専用オーバーレイネットワークと、複合イベントをルーティングすることを主目的とした専用オーバーレイネットワークとを含むマルチオーバーレイネットワーク型に構築されているように構成されていてもよい。
本発明は、ある装置を構成する部品の調達状況を可視化するイベント検出システムの用途に適用できる。また、別な用途として、1つの物理ネットワーク上に、階層的に複数のオーバーレイネットワークを構築するようなMVNOサービスの用途に適用できる。この場合、具体的には、物理ノードレベルから各レイヤのアプリケーションノードに関して、障害イベントの連鎖状況を複合イベント式で表現することにより、物理層からアプリケーション層への垂直方向に障害状況の伝播状況を表現し、稼動/障害状態を可視化することが可能となり、ネットワークモニタリングサービスの用途として適用可能である。
複合イベント式の分割事例を示す説明図である。 複合イベント検出システムのプロビジョニングの動作を示す説明図である。 サブスクライブノードの構成の一例を示すブロック図である。 ルートノードの構成の一例を示すブロック図である。 複合イベント検出ノードの構成の一例を示すブロック図である。 複合イベントを分散して検出するためのシステムのコンフィギュレーションを構築する処理の一例を示す流れ図である。 複合イベント検出システムの複合イベントの集約動作を示す説明図である。 分散イベント検出システムにおいて複合イベントを検出する処理の一例を示す流れ図である。 分散イベント検出システムをオーバーレイネットワーク上に構築した場合を示す説明図である。 分散イベント検出システムの最小の構成例を示す構成図である。
符号の説明
10 サブスクライブノード
20 ルートノード
30〜32 複合イベント検出ノード
40〜44 ブローカーノード
100〜104 パブリッシュノード
200〜240 ルートノード
300〜34n ブローカーノード
400〜420 複合イベント検出ノード
500 ルートノード
600,610 ブローカーノード
700 サブスクライブノード
800 複合イベント検出システム
900 アトミックイベント配信システム
1001 複合イベント式生成手段
1002 複合イベント配信登録要求手段
2001 複合イベント配信登録手段
2002 複合イベント式分解手段
2003 複合イベント検出ノード割当手段
2004 子複合イベント受信手段
2005 複合イベント検出手段
2006 複合イベント配信手段
3001 子複合イベント配信登録手段
3002 子複合イベント式分解手段
3003 複合イベント検出ノード割当手段
3004 子複合イベント受信手段
3005 子複合イベント検出手段
3006 子複合イベント送信手段

Claims (11)

  1. 複合イベントを分散型の検出処理により検出する分散イベント検出システムであって、
    イベントをルーティングする複数のブローカーノードと、
    複合イベントの配信処理を行うルートノードとを備え、
    前記ルートノードは、
    複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する検出式分解手段と、
    前記検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとしてブローカーノードをそれぞれ割り当てる子ルートノード割当手段と、
    前記子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段とを含む
    ことを特徴とする分散イベント検出システム。
  2. 子ルートノードは、
    ルートノード又は他の子ルートノードが分解した子複合イベント検出式をさらに複数の子複合イベント検出式に再帰的に分解する検出式再帰分解手段と、
    前記検出式再帰分解手段が分解した各子複合イベント検出式に対して、さらに子ルートノードとして他のブローカーノードをそれぞれ再帰的に割り当てる子ルートノード再帰割当手段と、
    前記子ルートノード再帰割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出する子複合イベント検出手段とを含む
    請求項1記載の分散イベント検出システム。
  3. イベントを受信するサブスクライブノードを備え、
    前記サブスクライブノードは、複合イベント検出式を生成する複合イベント検出式生成手段を含み、
    検出式分解手段は、前記サブスクライブノードが生成した複合イベント検出式を複数の子複合イベント検出式に分解する
    請求項1又は請求項2記載の分散イベント検出システム。
  4. ブローカーノード及びルートノードは、オーバーレイネットワーク上に構築されている請求項1から請求項3のうちのいずれか1項に記載の分散イベント検出システム。
  5. さらに分散イベントを検出するためのノード群を含み、
    分散イベント検出を主目的とした専用オーバーレイネットワークと、アトミックイベントルーティングを主目的とした専用オーバーレイネットワークと、複合イベントをルーティングすることを主目的とした専用オーバーレイネットワークとを含むマルチオーバーレイネットワーク型に構築されている
    請求項4記載の分散イベント検出システム。
  6. 複合イベントを分散型の検出処理により検出する分散イベント検出システムが備えるブローカーノードであって、
    複合イベントの配信処理を行うルートノードとして動作する機能を有し、
    複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する検出式分解手段と、
    前記検出式分解手段が分解した各子複合イベント検出式に対して、新たに子ルートノードとして他のブローカーノードをそれぞれ割り当てる子ルートノード割当手段と、
    前記子ルートノード割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する複合イベント検出手段とを含む
    ことを特徴とするブローカーノード。
  7. 子ルートノードとして動作する機能を有し、
    ルートノード又は他の子ルートノードが分解した子複合イベント検出式をさらに複数の子複合イベント検出式に再帰的に分解する検出式再帰分解手段と、
    前記検出式再帰分解手段が分解した各子複合イベント検出式に対して、さらに子ルートノードとして他のブローカーノードをそれぞれ再帰的に割り当てる子ルートノード再帰割当手段と、
    前記子ルートノード再帰割当手段によって割り当てられた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出する子複合イベント検出手段とを含む
    請求項6記載のブローカーノード。
  8. 複合イベントを分散型の検出処理により検出する分散イベント検出方法であって、
    複合イベントの配信処理を行うルートノードが、複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解するステップと、
    前記ルートノードが、分解した各子複合イベント検出式に対して、新たに子ルートノードとして、イベントをルーティングする複数のブローカーノードのいずれかを割り当てるステップと、
    前記ルートノードが、割り当てた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出するステップとを含む
    ことを特徴とする分散イベント検出方法。
  9. 子ルートノードが、ルートノード又は他の子ルートノードが分解した子複合イベント検出式をさらに複数の子複合イベント検出式に再帰的に分解するステップと、
    前記子ルートノードが、分解した各子複合イベント検出式に対して、さらに子ルートノードとして他のブローカーノードをそれぞれ再帰的に割り当てるステップと、
    前記子ルートノードが、割り当てた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出するステップとを含む
    請求項8記載の分散イベント検出方法。
  10. 複合イベントを分散型の検出処理により検出するための分散イベント検出用プログラムであって、
    コンピュータに、
    複合イベントを検出するための複合イベント検出式を複数の子複合イベント検出式に分解する処理と、
    分解した各子複合イベント検出式に対して、新たに子ルートノードとして他のブローカーノードをそれぞれ割り当てる処理と、
    割り当てた各子ルートノードが検出した子複合イベントに基づいて、複合イベントを検出する処理とを
    実行させるための分散イベント検出用プログラム。
  11. コンピュータに、
    ルートノード又は他の子ルートノードが分解した子複合イベント検出式をさらに複数の子複合イベント検出式に再帰的に分解する処理と、
    分解した各子複合イベント検出式に対して、さらに子ルートノードとして他のブローカーノードをそれぞれ再帰的に割り当てる処理と、
    割り当てた各子ルートノードが検出した子複合イベントに基づいて、再帰的に子複合イベントを検出する処理とを実行させる
    請求項10記載の分散イベント検出用プログラム。
JP2008096967A 2008-04-03 2008-04-03 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム Expired - Fee Related JP5104489B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008096967A JP5104489B2 (ja) 2008-04-03 2008-04-03 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
US12/404,470 US8244908B2 (en) 2008-04-03 2009-03-16 System, method and program for distributed event detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096967A JP5104489B2 (ja) 2008-04-03 2008-04-03 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム

Publications (2)

Publication Number Publication Date
JP2009251780A true JP2009251780A (ja) 2009-10-29
JP5104489B2 JP5104489B2 (ja) 2012-12-19

Family

ID=41133230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096967A Expired - Fee Related JP5104489B2 (ja) 2008-04-03 2008-04-03 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム

Country Status (2)

Country Link
US (1) US8244908B2 (ja)
JP (1) JP5104489B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013047922A (ja) * 2011-08-29 2013-03-07 Fujitsu Ltd イベント収集方法及び情報処理装置
WO2013157144A1 (ja) * 2012-04-20 2013-10-24 富士通株式会社 プログラム、情報処理装置およびイベント処理方法
JP2014526750A (ja) * 2011-09-15 2014-10-06 オラクル・インターナショナル・コーポレイション 分散データグリッド内のサーバ側イベントモデルをサポートするためのシステムおよび方法
JP2017078968A (ja) * 2015-10-20 2017-04-27 富士通株式会社 分散制御方法、分散制御システム、および分散制御プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411665B2 (en) * 2007-12-11 2013-04-02 At&T Intellectual Property I, L.P. System and method of routing voice communications via peering networks
JP5104489B2 (ja) * 2008-04-03 2012-12-19 日本電気株式会社 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
US9537747B2 (en) * 2010-06-11 2017-01-03 International Business Machines Corporation Publish/subscribe overlay network control system
US9801287B2 (en) 2014-07-09 2017-10-24 Cam Holding Corporation Electrical contacts in layered structures
CN107357639B (zh) * 2016-05-09 2019-09-17 腾讯科技(深圳)有限公司 一种分布式处理系统、数据处理的方法及设备
US11061919B1 (en) * 2018-07-13 2021-07-13 Dhirj Gupta Computer-implemented apparatus and method for interactive visualization of a first set of objects in relation to a second set of objects in a data collection
US11483412B2 (en) 2020-12-30 2022-10-25 Blackberry Limited Method for marshalling events in a publish-subscribe system
CN115048146A (zh) * 2022-06-24 2022-09-13 深圳前海微众银行股份有限公司 一种复杂事件检测方法及装置、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269252A (ja) * 1997-03-27 1998-10-09 Hitachi Ltd 分散情報の統合方法及び装置
JP2006101277A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
JP2007013804A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp 属性指定通信方法および通信装置
JP2007156700A (ja) * 2005-12-02 2007-06-21 Mitsubishi Electric Corp 情報検索方法、情報登録方法およびネットワークサービス情報検索システム
WO2008012198A1 (en) * 2006-07-27 2008-01-31 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
WO2009107511A1 (ja) * 2008-02-29 2009-09-03 日本電気株式会社 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999833A (en) * 1985-05-06 1991-03-12 Itt Corporation Network connectivity control by artificial intelligence
US5446885A (en) * 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
GB9617907D0 (en) * 1996-08-28 1996-10-09 British Telecomm Communications network
US5995971A (en) * 1997-09-18 1999-11-30 Micdrosoft Corporation Apparatus and accompanying methods, using a trie-indexed hierarchy forest, for storing wildcard-based patterns and, given an input key, retrieving, from the forest, a stored pattern that is identical to or more general than the key
US6606304B1 (en) * 1999-01-27 2003-08-12 On Guard Plus System for real-time monitor and response
US7065493B1 (en) * 2000-04-06 2006-06-20 International Business Machines Corporation Workflow system and method
US6615201B1 (en) * 2000-04-25 2003-09-02 Lucent Technologies Computer network management
US6744727B2 (en) * 2000-08-10 2004-06-01 The University Of Pittsburgh Apparatus and method for spare capacity allocation
US6678635B2 (en) * 2001-01-23 2004-01-13 Intel Corporation Method and system for detecting semantic events
US6678876B2 (en) * 2001-08-24 2004-01-13 Formfactor, Inc. Process and apparatus for finding paths through a routing space
US7636793B1 (en) * 2001-11-02 2009-12-22 At&T Intellectual Property I, Lp Multimedia distribution in a heterogeneous network
US20040088148A1 (en) * 2001-12-03 2004-05-06 Szymanski Boleslaw K. Fast network simulation using network decomposition
JP2004348680A (ja) 2003-05-26 2004-12-09 Fujitsu Ltd 複合イベント通知システムおよび複合イベント通知プログラム
DE102004003547B3 (de) * 2004-01-23 2005-06-30 Siemens Ag Hinsichtlich der Netzauslastung optimiertes Shortest Path Routing
DE102004003548B3 (de) * 2004-01-23 2005-06-30 Siemens Ag Optimierung der Verkehrsverteilung bei Mehrwegerouting
US20060155719A1 (en) * 2005-01-10 2006-07-13 International Business Machines Corporation Complex event discovery in event databases
JP4161998B2 (ja) 2005-03-28 2008-10-08 日本電気株式会社 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US7636309B2 (en) * 2005-06-28 2009-12-22 Alcatel-Lucent Usa Inc. Multi-path routing using intra-flow splitting
US7668794B2 (en) * 2005-10-05 2010-02-23 Siemens Corporation Method and apparatus for complex RFID event processing
US7869348B2 (en) * 2006-04-10 2011-01-11 Polytechnic Institute Of New York University Determining rerouting information for single-link failure recovery in an Internet protocol network
US9031085B2 (en) * 2007-03-28 2015-05-12 Alcatel Lucent Routing path calculation apparatus and methods
US7676461B2 (en) * 2007-07-18 2010-03-09 Microsoft Corporation Implementation of stream algebra over class instances
JP4863090B2 (ja) * 2007-08-23 2012-01-25 日本電気株式会社 通信ネットワークの品質劣化箇所推定装置、方法、及びプログラム、並びに通信ネットワークシステム
US20090089078A1 (en) * 2007-09-28 2009-04-02 Great-Circle Technologies, Inc. Bundling of automated work flow
US20090125550A1 (en) * 2007-11-08 2009-05-14 Microsoft Corporation Temporal event stream model
US7636789B2 (en) * 2007-11-27 2009-12-22 Microsoft Corporation Rate-controllable peer-to-peer data stream routing
US8335780B2 (en) * 2008-03-11 2012-12-18 James Madison Kelley Scalable high speed relational processor for databases and networks
JP5104489B2 (ja) * 2008-04-03 2012-12-19 日本電気株式会社 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
US7738406B2 (en) * 2008-10-08 2010-06-15 Microsoft Corporation Models for routing tree selection in peer-to-peer communications
US8090683B2 (en) * 2009-02-23 2012-01-03 Iron Mountain Incorporated Managing workflow communication in a distributed storage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269252A (ja) * 1997-03-27 1998-10-09 Hitachi Ltd 分散情報の統合方法及び装置
JP2006101277A (ja) * 2004-09-30 2006-04-13 Brother Ind Ltd 情報通信システム、ノード装置、及びオーバーレイネットワーク形成方法等
JP2007013804A (ja) * 2005-07-01 2007-01-18 Mitsubishi Electric Corp 属性指定通信方法および通信装置
JP2007156700A (ja) * 2005-12-02 2007-06-21 Mitsubishi Electric Corp 情報検索方法、情報登録方法およびネットワークサービス情報検索システム
WO2008012198A1 (en) * 2006-07-27 2008-01-31 International Business Machines Corporation Reduction of message flow between bus-connected consumers and producers
JP2009545043A (ja) * 2006-07-27 2009-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション バス接続されたコンシューマとプロデューサとの間でのメッセージ・フローを削減するためのシステム、方法、およびコンピュータ・プログラム
WO2009107511A1 (ja) * 2008-02-29 2009-09-03 日本電気株式会社 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013047922A (ja) * 2011-08-29 2013-03-07 Fujitsu Ltd イベント収集方法及び情報処理装置
JP2014526750A (ja) * 2011-09-15 2014-10-06 オラクル・インターナショナル・コーポレイション 分散データグリッド内のサーバ側イベントモデルをサポートするためのシステムおよび方法
WO2013157144A1 (ja) * 2012-04-20 2013-10-24 富士通株式会社 プログラム、情報処理装置およびイベント処理方法
US9098360B2 (en) 2012-04-20 2015-08-04 Fujitsu Limited Program, information processing apparatus, and event processing method
JPWO2013157144A1 (ja) * 2012-04-20 2015-12-21 富士通株式会社 プログラム、情報処理装置およびイベント処理方法
JP2017078968A (ja) * 2015-10-20 2017-04-27 富士通株式会社 分散制御方法、分散制御システム、および分散制御プログラム

Also Published As

Publication number Publication date
US8244908B2 (en) 2012-08-14
JP5104489B2 (ja) 2012-12-19
US20090252175A1 (en) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5104489B2 (ja) 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム
US10581932B2 (en) Network-based dynamic data management
Giang et al. Developing iot applications in the fog: A distributed dataflow approach
EP2901308B1 (en) Load distribution in data networks
US9461877B1 (en) Aggregating network resource allocation information and network resource configuration information
US8489722B2 (en) System and method for providing quality of service in wide area messaging fabric
US20150215228A1 (en) Methods, systems, and computer readable media for a cloud-based virtualization orchestrator
Tariq et al. Meeting subscriber‐defined QoS constraints in publish/subscribe systems
EP2681657A1 (en) Capabilities based routing of virtual data center service request
US9059891B2 (en) Method for providing wireless application privilege management
Sacks et al. Active robust resource management in cluster computing using policies
Sen et al. Cian: A workflow engine for manets
Moritz et al. Devices profile for web services in wireless sensor networks: Adaptations and enhancements
US10666738B2 (en) Managing topic updates for a distributed data system
CN105049255B (zh) 一种网元数据同步的方法及其装置
JP2007013804A (ja) 属性指定通信方法および通信装置
Xu et al. A mathematical model and dynamic programming based scheme for service function chain placement in NFV
EP3214806B1 (en) Network control device and network information management method
US20110213844A1 (en) Udp multicast mass message transport
Mazayev et al. A distributed core-based resource synchronization mechanism
WO2005041525A1 (en) Method, system and program product for communicating over a network
Fraga et al. Flow Scheduling in Data Center Networks with Time and Energy Constraints: A Software-Defined Network Approach
US10986004B2 (en) Sorting and displaying network traffic analytics
JP5317017B2 (ja) 複合イベント配信システム、複合イベント処理装置、複合イベント処理方法、及び複合イベント処理プログラム
Stelmach et al. Universal platform for composite data stream processing services management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5104489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees