JP6304032B2 - イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 - Google Patents

イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 Download PDF

Info

Publication number
JP6304032B2
JP6304032B2 JP2014532774A JP2014532774A JP6304032B2 JP 6304032 B2 JP6304032 B2 JP 6304032B2 JP 2014532774 A JP2014532774 A JP 2014532774A JP 2014532774 A JP2014532774 A JP 2014532774A JP 6304032 B2 JP6304032 B2 JP 6304032B2
Authority
JP
Japan
Prior art keywords
node
event processing
event
processing
route
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.)
Active
Application number
JP2014532774A
Other languages
English (en)
Other versions
JPWO2014034060A1 (ja
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 JPWO2014034060A1 publication Critical patent/JPWO2014034060A1/ja
Application granted granted Critical
Publication of JP6304032B2 publication Critical patent/JP6304032B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法に関する。
デバイスなどから大量に発生する様々なイベントを処理する複合イベント処理(CEP(Complex Event Processing))システムの一例が、特許文献1に開示されている。
特許文献1の負荷分散振り分けシステムは、複数のイベント処理装置(イベント処理サーバ)、転送装置(振り分け器)、及び、イベント処理制御装置(イベント処理分散制御部)を含む。イベント処理制御装置は、イベント処理の処理条件と処理内容を含む処理ルールをイベント処理装置に設定する。ここで、イベント処理制御装置は、同一の処理条件を含む処理ルールを同一のイベント処理装置に設定する。また、イベント処理制御装置は、イベント処理装置にイベント処理に必要なイベントが転送されるように、転送ルール(振り分けルール)を生成し、転送装置に設定する。転送装置は、設定された転送ルールに基づいて、受信したイベントをイベント処理装置へ転送する。
また、特許文献1のような負荷分散振り分けシステムにおいて、イベントやイベント処理結果の転送遅延を低減する技術の一例が、特許文献2に開示されている。特許文献2のイベント処理システムでは、イベント処理結果の送信先であるアプリケーションに近いイベント処理装置に処理ルールが設定される。また、イベントの送信元であるイベント発生源に近い転送装置にイベントが送信される。
特許第4161998号公報 特開2009−217402号公報
複合イベント処理システムでは、ユーザ等により、イベント処理に対して、要求スループットや要求レスポンス等のサービスレベルを指定したSLA(Service Level Agreement)が設定されることがある。しかしながら、上述の特許文献2に記載のシステムのように、アプリケーションに近いイベント処理装置でイベント処理を行うだけでは、SLAで指定されるサービスレベルを保証できない。
本発明の目的は、上述した課題を解決し、イベント処理に要求されるサービスレベルを満たすことができるイベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法を提供することである。
本発明の一態様におけるイベント処理制御装置は、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得するノード情報取得手段と、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する。
本発明の一態様におけるノード装置は、イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの転送経路の組を決定し、前記送信元ノードから前記イベント処理ノードまでの経路における第1の遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における第2の遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行うイベント処理制御装置により、前記イベント処理ノードとして選択されるノード装置であって、イベントを処理してイベント処理結果を生成するイベント処理を実行する1以上の処理手段と、前記生成されたイベント処理結果を、前記転送経路に従って、接続された他のノードへ転送するとともに、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて、前記第1の遅延時間を測定し、前記送信先ノードにおいて前記第2の遅延時間の測定に用いられるタイムスタンプを、前記生成されたイベント処理結果へ挿入し、前記処理手段における前記イベント処理のスループットを測定し、前記第1の遅延時間の測定値と前記イベント処理のスループットの測定値とを、前記イベント処理制御装置に送信する転送手段と、を備える。
本発明の一態様におけるイベント処理システムは、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードと、前記複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するイベント処理制御装置と、を備える。
本発明の一態様におけるイベント処理制御方法は、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する。
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、処理を実行させるプログラムを格納する。
本発明の効果は、イベント処理システムにおいて、イベント処理に要求されるサービスレベルを満たすことができることである。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、イベント処理システムの構成を示すブロック図である。 本発明の第1の実施の形態における、イベント処理制御装置100の構成を示すブロック図である。 本発明の第1の実施の形態における、CEPノード200の構成を示すブロック図である。 本発明の第1の実施の形態における、ルール設定処理を示すフローチャートである。 本発明の第1の実施の形態における、イベント501の例を示す図である。 本発明の第1の実施の形態における、イベント処理設定要求502の例を示す図である。 本発明の第1の実施の形態における、転送ルール506の例を示す図である。 本発明の第1の実施の形態における、イベント処理結果507の例を示す図である。 本発明の第1の実施の形態における、ノード情報508の例を示す図である。 本発明の第1の実施の形態における、ノード情報509の例を示す図である。 本発明の第1の実施の形態における、ローカル転送ルール1506の例を示す図である。 本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。 本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。 本発明の第1の実施の形態におけるイベント処理設定要求502の他の例を示す図である。 本発明の第1の実施の形態における、転送ルール506の他の例を示す図である。 本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。 本発明の第1の実施の形態における、イベント処理設定要求502の他の例を示す図である。 本発明の第1の実施の形態における、転送ルール506の他の例を示す図である。 本発明の第1の実施の形態における、ローカル転送ルール1506の他の例を示す図である。 本発明の第1の実施の形態における、イベント処理設定要求502の他の例を示す図である。 本発明の第1の実施の形態における、ローカル転送ルール1506の他の例を示す図である。 本発明の第2の実施の形態における、イベント処理システムの構成を示すブロック図である。 本発明の第2の実施の形態における、ノード情報508の例を示す図である。 本発明の第2の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。 本発明の第3の実施の形態における、イベント処理制御装置100の構成を示すブロック図である。 本発明の第3の実施の形態における、ルール設定処理を示すフローチャートである。 本発明の第3の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
(第1の実施の形態)
次に、本発明の第1の実施の形態について説明する。
はじめに、本発明の第1の実施の形態の構成について説明する。
図2は、本発明の第1の実施の形態における、イベント処理システムの構成を示すブロック図である。図2を参照すると、本発明の第1の実施の形態のイベント処理システムは、イベント処理制御装置100、複数のCEPノード200、イベントソース300、及び、イベントシンク400を含む。以下、CEPノード200、イベントソース300、及び、イベントシンク400を、まとめて、ノードと呼ぶ。
CEPノード200は、1以上の他のノードに接続され、イベント501やイベント処理結果507を転送するためのネットワークを構成する。以下、イベント501、及び、イベント処理結果507を、まとめてイベントデータと呼ぶ。
図2の例では、ノード識別子(ノードID)「S11」、「S12」のイベントソース300は、ノードID「N11」、「N12」のCEPノード200に、それぞれ接続されている。また、ノードID「N11」、「N12」のCEPノード200の各々は、ノードID「N21」、「N22」のCEPノード200の各々に接続されている。また、ノードID「N21」、「N22」のCEPノード200の各々は、ノードID「N31」、「N32」のCEPノード200の各々に接続されている。さらに、ノードID「N31」、「N32」のCEPノード200の各々は、ノードID「AP1」、「AP2」のイベントシンク400の各々に接続されている。
なお、CEPノード200と、当該CEPノード200に接続されたイベントソース300、及び、イベントシンク400の内の少なくとも一方が、携帯端末等の同一のデバイスに含まれていてもよい。
イベントソース300は、例えば、センサや情報読み取り装置であり、所定の種類の情報を検出し、検出した情報を含むイベント501をCEPノード200に送信する。イベントソース300は、例えば、RFIDリーダや磁気カードリーダ等、非接触あるいは接触型の情報読み取り装置でもよい。また、イベントソース300は、温度、気圧等の気象情報を検出するセンサでもよい。また、イベントソース300は、携帯端末等の位置情報を検出するセンサでもよい。
図6は、本発明の第1の実施の形態における、イベント501の例を示す図である。図6の例では、イベント501は、属性として、当該イベント501の送信元のイベントソース300のノードIDである「送信元ID」、及び、検出した情報である「属性A」、「属性B」、…を含む。
イベントシンク400は、例えば、ユーザ等により実行される、イベント処理結果507を利用するアプリケーションが動作するアプリケーションサーバである。イベントシンク400は、イベント処理設定要求502をイベント処理制御装置100に送信する。また、イベントシンク400は、CEPノード200からイベント処理結果507を受信する。
図7は、本発明の第1の実施の形態における、イベント処理設定要求502の例を示す図である。イベント処理設定要求502は、処理ルール503、経路情報504、及び、要求サービスレベル505を含む。
ここで、処理ルール503は、処理ルール識別子(処理ルールID、または、RID)、処理条件、及び、処理内容を含む。処理条件は、処理対象であるイベント501に係る条件を示す。処理内容は、処理条件が成立する場合に行う処理を示す。
図7の例では、処理ルール503に、処理条件「条件1:10Events(送信元ID=S11)」、処理内容「average(条件1,A)」が設定されている。ここで、条件1「10Events(送信元ID=S11)」は、()内の条件が成立するイベント501を10個受信することを示す。また、処理内容「average(条件1,A)」は、条件1に係るイベント501(送信元ID=S11の10個のイベント501)について、属性Aの平均値を算出することを示す。
経路情報504は、送信先ID、及び、送信元IDを含む。ここで、送信先IDには、イベント処理設定要求502を送信した(イベント処理結果507の送信先である)イベントシンク400のノードIDが設定される。また、送信元IDには、処理対象のイベント501の送信元IDが設定される。なお、イベント処理制御装置100は、処理ルール503の処理条件をもとに、送信元IDを設定してもよい。
要求サービスレベル505は、ユーザ等により設定された、イベント処理に対して要求されるサービスレベルを示す。要求サービスレベル505は、要求スループット、及び、要求レスポンスを含む。ここで、要求スループットは、処理ルール503で指定されるイベント処理で要求されるスループットを示す。また、要求レスポンスは、処理ルール503で指定されるイベント処理で要求されるレスポンスタイムを示す。要求スループットは、例えば、単位時間あたりにイベント処理システムで処理されるイベント数の下限値で指定される。また、要求レスポンスは、イベント501がイベントソース300より送信されてから、イベント処理結果507がイベントシンク400で受信されるまでの時間の上限値で指定される。なお、処理ルール503で指定されるイベント処理が、複数のイベント501に係る処理の場合、レスポンスタイムは、イベント処理に必要な最後のイベント501がイベントソース300より送信されてから、イベント処理結果507がイベントシンク400で受信されるまでの時間でもよい。
イベント処理制御装置100は、イベントシンク400からイベント処理設定要求502を受信し、サービスレベルを満たすように、イベントデータを転送する経路(転送経路)、及び、イベント処理を行うCEPノード200(イベント処理ノード)を決定する。イベント処理制御装置100は、イベント処理ノードに、処理ルール503を設定する。また、イベント処理制御装置100は、転送経路上の各CEPノード200に、転送経路に従った転送ルール506を設定する。
図8は、本発明の第1の実施の形態における、転送ルール506(506a、b、…)の例を示す図である。転送ルール506は、転送条件、及び、転送先を含む。ここで、転送条件は、他のノードへの転送対象であるイベントデータに係る条件を示す。転送先は、転送条件が成立するイベントデータを転送する、他のノードを示す。
図8の転送ルール506において、転送条件における「Event()」は、()内の条件が成立するイベント501を示す。また、転送条件における「Result()」は、()内の条件が成立するイベント処理結果507を示す。
CEPノード200は、転送ルール506に従って、イベントデータを、転送先に転送する。また、CEPノード200は、処理ルール503に従って、受信したイベント501を処理し、イベント処理結果507を生成する。
図9は、本発明の第1の実施の形態における、イベント処理結果507の例を示す図である。図9の例では、イベント処理結果507は、属性として「RID」、及び、「処理結果」を含む。
図3は、本発明の第1の実施の形態における、イベント処理制御装置100の構成を示すブロック図である。図3を参照すると、イベント処理制御装置100は、ノード情報取得部110、ノード・経路決定部120、及び、ノード情報記憶部130を含む。
ノード情報取得部110は、各CEPノード200からノード情報508、各イベントソース300からノード情報509を取得し、ノード情報記憶部130に保存する。ノード情報記憶部130は、取得したノード情報508、509を記憶する。
図10は、本発明の第1の実施の形態における、ノード情報508(508a、b、…)の例を示す図である。ノード情報508は、CEPノード200の性能情報として、処理性能と転送性能とを含む。
処理性能は、CEPノード200におけるイベント処理に係る性能を示す。図10の例では、処理性能は、スループット、レスポンス、及び、設定可能ルール数を含む。ここで、スループット、レスポンスは、CEPノード200内の処理部220のスループット、レスポンスタイムを示す。設定可能ルール数は、スループット、及び、レスポンスを保証できる、処理ルール数の上限を示す。
スループットは、例えば、単位時間あたりに処理部220で処理可能なイベント数で示される。また、レスポンスは、例えば、CEPノード200内の処理部220がイベント501を受信してからイベント処理結果507を送信するまでの時間で示される。なお、処理ルール503で指定されるイベント処理が、複数のイベント501に係る処理の場合、レスポンスタイムは、処理部220がイベント処理に必要な最後のイベント501を受信してからイベント処理結果507を送信するまでの時間でもよい。
転送性能は、CEPノード200と接続された他のノードへのイベントデータの転送に係る性能を示す。図10の例では、転送性能は、1以上のネクストホップと転送遅延の組を含む。ここで、ネクストホップは、CEPノード200内の転送部230が、イベントデータを転送可能な他のノードのノードIDを示す。転送遅延は、転送部230がイベントデータを送信してから、ネクストホップで示されるノードへ、当該イベントデータが到達するまでの時間を示す。なお、ネクストホップは、CEPノード200が接続している他のノードを示す、接続情報としても用いられる。
なお、CEPノード200が、処理部220を含まない(イベント処理を行わない)場合、ノード情報508は、処理性能を含まなくてもよい。
図11は、本発明の第1の実施の形態における、ノード情報509(509a、b、…)の例を示す図である。ノード情報509は、イベントソース300の性能情報として、転送性能を含む。転送性能は、ノード情報508の転送性能と同様に、イベントソース300と接続された他のノードへのイベントデータの転送に係る性能を示す。
なお、ノード情報508、509は、管理者等により、各CEPノード200、各イベントソース300に予め設定されていると仮定する。
ノード・経路決定部120は、取得したノード情報508、509をもとに、イベント処理を行うCEPノード200(イベント処理ノード)、及び、イベントデータを転送する経路(転送経路)を決定する。また、ノード・経路決定部120は、決定したイベント処理ノードに、処理ルール503を設定する。さらに、ノード・経路決定部120は、決定した転送経路上の各CEPノード200に、転送経路に従った転送ルール506を設定する。
図4は、本発明の第1の実施の形態における、CEPノード200の構成を示すブロック図である。図4を参照すると、CEPノード200は、ローカル制御部210、1以上の処理部220(220a、b、…)、及び、転送部230を含む。
ローカル制御部210は、イベント処理制御装置100から受信した処理ルール503を処理部220に設定する。また、ローカル制御部210は、処理ルール503をもとに、受信したイベントデータを処理部220へ転送するためのローカル転送ルール1506を生成し、転送部230に設定する。また、ローカル制御部210は、イベント処理制御装置100から受信した転送ルール506を、転送部230に設定する。
図12は、本発明の第1の実施の形態における、ローカル転送ルール1506の例を示す図である。ローカル転送ルール1506は、転送ルール506と同様に、転送条件、及び、転送先を含む。ここで、転送条件は、処理部220への転送対象であるイベントデータに係る条件を示す。転送先は、転送条件が成立するイベントデータを転送する、処理部220を示す。
処理部220は、処理ルール503に従って、イベント処理を行う。
転送部230は、転送ルール506に従って、イベントデータを他のノードへ転送する。また、転送部230は、ローカル転送ルール1506に従って、イベントデータを処理部220へ転送する。
なお、イベント処理制御装置100、及び、CEPノード200は、それぞれプログラム制御によって動作する情報処理装置であってもよい。また、CEPノード200における、ローカル制御部210、処理部220、及び、転送部230は、それぞれプログラム制御によって動作する情報処理装置であってもよい。
次に、本発明の第1の実施の形態におけるイベント処理システムの動作を、具体例とともに説明する。
はじめに、本発明の第1の実施の形態におけるルール設定処理について説明する。図5は、本発明の第1の実施の形態における、ルール設定処理を示すフローチャートである。
イベント処理制御装置100のノード情報取得部110は、各CEPノード200、各イベントソース300からノード情報508、509を取得する(ステップS101)。ノード情報取得部110は、取得したノード情報508、509を、ノード情報記憶部130に保存する。
例えば、ノード情報取得部110は、ノードID「N11」、「N12」、「N21」、「N22」、「N31」、「N32」のCEPノード200から、図10のノード情報508a〜fを取得する。また、ノード情報取得部110は、ノードID「S11」、「S12」のイベントソース300から、図11のノード情報509a、bを取得する。
次に、ノード・経路決定部120は、イベントシンク400から、イベント処理設定要求502を受信する(ステップS102)。
例えば、ノード・経路決定部120は、ノードID「AP1」のイベントシンク400から、図7のイベント処理設定要求502を受信する。
次に、ノード・経路決定部120は、要求サービスレベル505を満たすように、イベント処理を行うCEPノード200(イベント処理ノード)、及び、イベントデータを転送する経路(転送経路)の組を決定する(ステップS103)。
ここで、ノード・経路決定部120は、ノード情報508、509を参照し、経路情報504の送信元IDで指定されたイベントソース300から、送信先IDで指定されたイベントシンク400まで至る経路(候補経路)と当該経路上で設定済みルール数が設定可能ルール数未満のCEPノード200(候補ノード)の組を抽出する。そして、候補ノードのスループットが要求サービスレベル505で指定された要求スループット以上、かつ、候補経路上の各ノードの転送遅延の総和と候補ノードのレスポンスとの合計(総遅延時間)が、要求サービスレベル505で指定された要求レスポンス以下の場合、ノード・経路決定部120は、当該候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定する。
図13は、本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。図13において、「d:*」は、各ノードからネクストホップへの転送遅延、「th:*」は、各ノードのスループット、「r:*」は、各ノードのレスポンスを示す。図10、図11のノード情報508a〜f、509a、bに対して、各ノードの転送遅延、スループット、及び、レスポンスは、図13のように示される。
例えば、図13において、ノードID「S11」→「N11」→「N22」→「N31」→「AP1」の候補経路において、ノードID「N22」のCEPノード200を候補ノードとした場合、候補ノードのスループット「100イベント/秒」は、要求スループット「50イベント/秒」以上であり、総遅延時間は「70ミリ秒」は、要求レスポンス「200ミリ秒」以下である。したがって、ノード・経路決定部120は、ノードID「S11」→「N11」→「N22」→「N31」→「AP1」の経路とノードID「N22」のCEPノード200の組を、転送経路とイベント処理ノードの組に決定する。
なお、要求サービスレベル505を満たすような候補経路と候補ノードの組が複数存在する場合、ノード・経路決定部120は、例えば、候補ノードがイベントソース300に近い候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定してもよい。これにより、例えば、複数のイベント501についての平均値を算出する場合等、イベント処理により生成されるイベント処理結果507の数が、処理対象のイベント501の数より少ない場合に、CEPノード200により構成されるネットワーク上のトラフィック量を低減できる。
また、要求サービスレベル505を満たすような候補経路や候補ノードが存在しない場合、ノード・経路決定部120は、イベントシンク400へ、イベント処理設定要求502に対するエラー応答を送信してもよい。
また、ノード・経路決定部120は、決定した転送経路とイベント処理ノードの組を、処理ルール503や転送ルール506を設定する他の装置等に出力してもよい。
次に、ノード・経路決定部120は、イベント処理ノードに、処理ルール503を送信(設定)する(ステップS104)。
例えば、ノード・経路決定部120は、図7の処理ルール503を、ノードID「N22」のCEPノード200に送信する。
ノード・経路決定部120は、転送経路上の各CEPノード200に設定すべき転送ルール506を生成し、各CEPノード200に送信(設定)する(ステップS105)。
ここで、ノード・経路決定部120は、転送経路上のイベントソース300とイベント処理ノードとの間の各CEPノード200に対する転送ルール506の転送条件に、処理ルール503の処理条件に合致するイベント501の条件を設定する。また、ノード・経路決定部120は、転送先に、転送経路上の次のノードのノードIDを設定する。
例えば、ノード・経路決定部120は、図8の転送ルール506aを、ノードID「N11」のCEPノード200に送信する。
また、ノード・経路決定部120は、イベント処理ノード、及び、転送経路上のイベント処理ノードとイベントシンク400との間の各CEPノード200に対する転送ルール506の転送条件に、処理ルール503の処理ルールIDを設定する。また、ノード・経路決定部120は、転送先に、転送経路上の次のノードのノードIDを設定する。
例えば、ノード・経路決定部120は、図8の転送ルール506b、cを、ノードID「N22」、「N31」のCEPノード200に、それぞれ送信する。
次に、イベント処理ノードであるCEPノード200のローカル制御部210は、イベント処理制御装置100から、処理ルール503と転送ルール506とを受信する(ステップS111)。
例えば、ノードID「N22」のCEPノード200のローカル制御部210は、図7の処理ルール503と図8の転送ルール506bとを受信する
ローカル制御部210は、受信した処理ルール503を設定する処理部220を決定し、処理ルール503を送信(設定)する(ステップS112)。ここで、ローカル制御部210は、処理部220の負荷が均等となるように処理部220を決定してもよいし、特許文献1に記載されているように、同一の処理条件を含む処理ルール503が同一の処理部220に設定されるように処理部220を決定してもよい。
例えば、ローカル制御部210は、処理ルール503を、処理部ID「EP1」の処理部220に設定する。
また、ローカル制御部210は、ローカル転送ルール1506を生成し、転送部230に送信(設定)する(ステップS113)。ここで、ローカル制御部210は、ローカル転送ルール1506の転送条件に、処理ルール503の処理条件に合致するイベント501の条件を設定する。ローカル制御部210は、転送先に、処理ルール503を設定した処理部220の処理部IDを設定する。
例えば、ローカル制御部210は、図12のローカル転送ルール1506を、転送部230に設定する。
さらに、ローカル制御部210は、受信した転送ルール506を転送部230に送信(設定)する(ステップS114)。
例えば、ローカル制御部210は、図8の転送ルール506bを転送部230に設定する。
次に、イベント処理ノード以外のCEPノード200のローカル制御部210は、イベント処理制御装置100から、転送ルール506を受信する(ステップS121)。ローカル制御部210は、受信した転送ルール506を転送部230に送信(設定)する(ステップS122)。
例えば、ノードID「N11」のCEPノード200のローカル制御部210は、図8の転送ルール506aを転送部230に設定する。また、ノードID「N31」のCEPノード200のローカル制御部210は、図8の転送ルール506cを転送部230に設定する。
以上により、図13に示すように、イベント処理ノード、及び、転送経路が決定され、各CEPノード200に、処理ルール503、転送ルール506、及び、ローカル転送ルール1506が設定される。
次に、本発明の実施の形態におけるイベント処理の動作について説明する。
転送経路上のイベントソース300とイベント処理ノードとの間の各CEPノード200の転送部230は、設定された転送ルール506に従って、イベント501を転送する。これにより、イベントソース300から送信されたイベント501は、イベント処理ノードまで転送される。
例えば、図13において、イベントソース300は、図6に示すイベント501を、ノードID「N11」のCEPノード200へ送信する。ノードID「N11」のCEPノード200の転送部230において、イベント501(送信元ID=S11)に対して、転送ルール506aの転送条件が成立する。従って、転送部230は、イベント501を、転送ルール506aの転送先である、ノードID「N22」のCEPノード200へ転送する。
イベント処理ノードの転送部230は、設定されたローカル転送ルール1506に従って、イベント501を、処理部220へ転送する。イベント処理ノードの処理部220は、設定された処理ルール503に従って、イベント処理を行い、イベント処理結果507を生成し、転送部230へ送信する。
例えば、ノードID「N22」のCEPノード200の転送部230において、イベント501(送信元ID=S11)に対して、ローカル転送ルール1506の転送条件が成立する。従って、転送部230は、イベント501を、ローカル転送ルール1506の転送先である、処理部ID「EP1」の処理部220へ転送する。処理部ID「EP1」の処理部220において、イベント501(送信元ID=S11)を10個受信した場合、処理ルール503の処理条件(条件1)が成立する。処理部220は、処理ルール503の処理内容に従って、10個のイベント501(送信元ID=S11)について、属性Aの平均値を算出する。そして、処理部220は、算出した平均値を含む、図9のイベント処理結果507を生成し、転送部230へ送信する。
転送経路上のイベント処理ノード、及び、イベント処理ノードとイベントシンク400との間の各CEPノード200の転送部230は、設定された転送ルール506に従って、イベント処理結果507を転送する。これにより、イベント処理ノードで生成されたイベント処理結果507は、イベントシンク400まで転送される。
例えば、ノードID「N22」のCEPノード200の転送部230において、イベント処理結果507(処理ルールID=PR1)に対して、転送ルール506bの転送条件が成立する。従って、転送部230は、イベント処理結果507を、転送ルール506bの転送先である、ノードID「N31」のCEPノード200へ転送する。
同様に、ノードID「N31」のCEPノード200の転送部230において、イベント処理結果507(処理ルールID=PR1)に対して、転送ルール506cの転送条件が成立する。従って、転送部230は、イベント処理結果507を、転送ルール506cの転送先である、ノードID「AP1」のイベントシンク400へ転送する。
以上により、本発明の第1の実施の形態の動作が完了する。
次に、本発明の第1の実施の形態に係る、他の具体例を説明する。
<他の具体例1>
他の具体例1として、複数のイベントソース300から送信されるイベント501に対してイベント処理を行う場合の例を説明する。
図14は、本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。また、図15は、本発明の第1の実施の形態における、イベント処理設定要求502の他の例を示す図である。図16は、本発明の第1の実施の形態における、転送ルール506の他の例を示す図である。
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、図14のように設定されていると仮定する。また、イベント処理制御装置100が、ノードID「AP1」のイベントシンク400から、図15のイベント処理設定要求502を受信したと仮定する。
ここで、図15のイベント処理設定要求502に含まれる処理ルール503には、処理条件「条件1:10Events(送信元ID=S11orS12)」、処理内容「average(条件1,A)」が設定されている。この場合、イベント処理に必要なイベント501は、複数の異なるイベントソース300から送信される。
イベント処理制御装置100のノード・経路決定部120は、上述のステップS103において、複数のイベントソース300の各々から共通のCEPノード200までの各経路(個別経路、または、第1の経路)と、当該共通のCEPノード200からイベントシンク400までの共通の経路(共通経路、または、第2の経路)とを合わせた経路を候補経路として、要求サービスレベル505を満たす転送経路とイベント処理ノードの組を決定する。ここで、ノード・経路決定部120は、イベント処理ノードを、共通経路上のCEPノード200から選択する。また、ノード・経路決定部120は、候補経路に含まれる、各イベントソース300からイベントシンク400まで至る経路の総遅延時間の最大値が、要求レスポンス以上かどうかを判断する。
例えば、図14において、ノードID「S11」→「N11」→「N22」の個別経路、「S12」→「N12」→「N22」の個別経路、及び、「N22」→「N31」→「AP1」の共通経路を合わせた候補経路において、ノードID「N22」のCEPノード200を候補ノードとした場合、候補ノードのスループット「100イベント/秒」は、要求スループット「50イベント/秒」以上である。また、総遅延時間の最大値は、ノードID「S12」→「N12」→「N22」→「N31」→「AP1」の経路における「150ミリ秒」であり、要求レスポンス「200ミリ秒」以下である。したがって、ノード・経路決定部120は、ノードID「S11」→「N11」→「N22」、「S12」→「N12」→「N22」、「N22」→「N31」→「AP1」の経路とノードID「N22」のCEPノード200の組を、転送経路とイベント処理ノードの組に決定する。
そして、ノード・経路決定部120は、ステップS104において、図15の処理ルール503を、ノードID「N22」のCEPノード200に送信する。
また、ノード・経路決定部120は、ステップS105において、図16の転送ルール506d、e、f、gを、それぞれ、ノードID「N11」、「N12」、「N22」、「N31」のCEPノード200に、送信する。
さらに、ノードID「N22」のCEPノード200のローカル制御部210は、ステップS113において、図12で転送条件を「Event(送信元ID=S11 or S12)」としたローカル転送ルール1506を、転送部230に設定する。
以上により、図14に示すように、イベント処理ノード、及び、転送経路が決定され、各CEPノード200に、処理ルール503、転送ルール506、及び、ローカル転送ルール1506が設定される。
次に、ノードID「S11」、「S12」のイベントソース300から送信されたイベント501(送信元ID=S11またはS12)が、ノードID「N22」のCEPノード200に転送される。ノードID「N22」のCEPノード200の処理部220において、イベント501(送信元ID=S11またはS12)を10個受信した場合、図15の処理ルール503の処理条件(条件1)が成立する。処理部220は、処理ルール503の処理内容に従って、10個のイベント501(送信元ID=S11またはS12)について、属性Aの平均値を算出する。そして、算出した平均値を含むイベント処理結果507(ルールID=PR1)が、ノードID「AP1」のイベントシンク400に転送される。
なお、複数のイベントソース300から送信されるイベント501に対してイベント処理を行う場合でも、要求サービスレベル505を満たすような候補経路と候補ノードの組が複数存在する場合、ノード・経路決定部120は、候補ノードがイベントソース300に近い候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定してもよい。
<他の具体例2>
他の具体例2として、複数のイベントソース300から送信されるイベント501に対してイベント処理を行う場合で、さらに、処理ルール503を分割して設定する場合について説明する。
図17は、本発明の第1の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。また、図18は、本発明の第1の実施の形態における、イベント処理設定要求502の他の例を示す図である。図19は、本発明の第1の実施の形態における、転送ルール506の他の例を示す図である。図20は、本発明の第1の実施の形態における、ローカル転送ルール1506の他の例を示す図である。
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、図17のように設定されていると仮定する。また、イベント処理制御装置100が、ノードID「AP1」のイベントシンク400から、図18のイベント処理設定要求502を受信したと仮定する。
ここで、図18のイベント処理設定要求502に含まれる処理ルール503には、処理条件「条件1:10Events(送信元ID=S11) and 条件2:10Events(送信元ID=S12)」、処理内容「average(条件1,A)+average(条件2,A)」が設定されている。この場合、イベント処理に必要なイベント501は、他の具体例1と同様に、複数の異なるイベントソース300から送信される。また、他の具体例1と異なり、処理ルール503は、異なるイベントソース300の各々からのイベント501に対する処理ルール(個別処理ルール、または、第1の処理ルール)、及び、当該個別処理ルールのイベント処理結果507対する処理ルール(全体処理ルール、または、第2の処理ルール)に分割できる。
例えば、イベント処理制御装置100のノード・経路決定部120は、上述のステップS102において、処理ルール503を、図18のように、分割処理ルール1503a、b、cに分割する。ここで、分割処理ルール1503a、bは、それぞれ、ノードID「IS11」、「IS12」のイベントソース300から送信されるイベント501に対する個別処理ルールである。また、分割処理ルール1503cは、分割処理ルール1503a、bのイベント処理結果507に対する全体処理ルールである。図18の例では、分割処理ルール1503aに、処理条件「条件1:10Events(送信元ID=S11)」、処理内容「average(条件1,A)」、分割処理ルール1503bに、処理条件「条件1:10Events(送信元ID=S12)」、処理内容「average(条件1,A)」が設定されている。また、分割処理ルール1503cに、処理条件「条件1:Result(RID=PR101) and 条件2:Result(RID=PR102)」、処理内容「value(条件1)+value(条件2)」が設定されている。ここで、処理条件における「Result()」は、()内の条件が成立するイベント処理結果507を受信することを示す。また、処理内容における「value(条件1)」は、条件1が成立するイベント処理結果507における処理結果の値を示す。
ノード・経路決定部120は、上述のステップS103において、他の具体例1と同様に、個別経路と、共通経路とを合わせた経路を候補経路として、要求サービスレベル505を満たす転送経路とイベント処理ノードの組を決定する。ここで、ノード・経路決定部120は、個別処理ルールを設定する候補ノードを、個別経路上のCEPノード200から抽出する。また、ノード・経路決定部120は、全体処理ルールを設定する候補ノードを、共通経路上のCEPノード200から抽出する。また、ノード・経路決定部120は、個別処理ルールと全体処理ルールを設定する各候補ノードについて、スループットが要求スループット以上かどうかを判断する。また、ノード・経路決定部120は、候補経路に含まれる、各イベントソース300からイベントシンク400まで至る経路の、各候補ノードのレスポンスを含む総遅延時間の最大値が、要求レスポンス以下かどうかを判断する。
例えば、図17において、ノードID「S11」→「N11」→「N22」の個別経路、「S12」→「N12」→「N22」の個別経路、及び、「N22」→「N31」→「AP1」の共通経路を合わせた候補経路において、ノードID「N11」、「N12」、「N22」のCEPノード200を、それぞれ、分割処理ルール1503a、b、cを設定する候補ノードとした場合、各候補ノードのスループット「100イベント/秒」は、要求スループット「50イベント/秒」以上である。また、総遅延時間の最大値は、ノードID「S12」→「N12」→「N22」→「N31」→「AP1」の経路における「160ミリ秒」であり、要求レスポンス「200ミリ秒」以下である。したがって、ノード・経路決定部120は、ノードID「S11」→「N11」→「N22」、「S12」→「N12」→「N22」、「N22」→「N31」→「AP1」の経路とノードID「N11」、「N12」、「N22」のCEPノード200の組を、転送経路とイベント処理ノードの組に決定する。
そして、ノード・経路決定部120は、ステップS104において、図18の分割処理ルール1503a、b、cを、それぞれ、ノードID「N11」、「N12」、「N22」のCEPノード200に送信する。
また、ノード・経路決定部120は、ステップS105において、図19の転送ルール506h、i、j、kを、それぞれ、ノードID「N11」、「N12」、「N22」、「N31」のCEPノード200に送信する。ここで、ノードID「N11」、「N12」のCEPノード200の転送ルール506h、iの転送条件には、「Result(RID=PR101)」、「Result(RID=PR102)」のように、イベント処理結果507の条件が設定される。
さらに、ノードID「N11」、「N12」、「N22」のCEPノード200のローカル制御部210は、ステップS113において、それぞれ、図20のローカル転送ルール1506a、b、cを、転送部230に設定する。ここで、ノードID「N22」のCEPノード200のローカル転送ルール1506cの転送条件には、「Result(RID=PR101)」、「Result(RID=PR102)」のように、イベント処理結果507の条件が設定される。
以上により、図17に示すように、イベント処理ノード、及び、転送経路が決定され、各CEPノード200に、分割処理ルール1503、転送ルール506、及び、ローカル転送ルール1506が設定される。
次に、ノードID「S11」のイベントソース300から送信されたイベント501(送信元ID=S11)が、ノードID「N11」のCEPノード200に転送される。ノードID「N11」のCEPノード200の処理部220において、イベント501(送信元ID=S11)を10個受信した場合、図18の分割処理ルール1503aの処理条件(条件1)が成立する。処理部220は、分割処理ルール1503aの処理内容に従って、10個のイベント501(送信元ID=S11)について、属性Aの平均値を算出し、算出した平均値を含むイベント処理結果507(ルールID=PR101)を生成する。イベント処理結果507(ルールID=PR101)は、ノードID「N22」のCEPノード200に転送される。
同様に、ノードID「S12」のイベントソース300から送信されたイベント501(送信元ID=S12)が、ノードID「N12」のCEPノード200に転送される。ノードID「N12」のCEPノード200の処理部220において、イベント501(送信元ID=S12)を10個受信した場合、図18の分割処理ルール1503bの処理条件(条件1)が成立する。処理部220は、分割処理ルール1503bの処理内容に従って、10個のイベント501(送信元ID=S12)について、属性Aの平均値を算出し、算出した平均値を含むイベント処理結果507(ルールID=PR102)を生成する。イベント処理結果507(ルールID=PR102)は、ノードID「N22」のCEPノード200に転送される。
ノードID「N22」のCEPノード200の処理部220において、イベント処理結果507(ルールID=PR101)、及び、イベント処理結果507(ルールID=PR102)を受信した場合、図18の分割処理ルール1503cの処理条件(条件1 and 条件2)が成立する。処理部220は、分割処理ルール1503cの処理内容に従って、イベント処理結果507(ルールID=PR101)とイベント処理結果507(ルールID=PR102)とに含まれる平均値の合計を算出する。そして、算出した合計値を含むイベント処理結果507(ルールID=PR103)が、ノードID「AP1」のイベントシンク400に転送される。
<他の具体例3>
他の具体例3として、処理ルール503を分割して設定する場合の他の例を説明する。
図21は、本発明の第1の実施の形態における、イベント処理設定要求502の他の例を示す図である。図22は、本発明の第1の実施の形態における、ローカル転送ルール1506の他の例を示す図である。
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、他の具体例2と同様に、図17のように設定されていると仮定する。また、イベント処理制御装置100が、ノードID「AP1」のイベントシンク400から、図21のイベント処理設定要求502を受信したと仮定する。
ここで、図21のイベント処理設定要求502に含まれる処理ルール503には、処理条件「条件1:Event(0≦属性A<100) and 条件2:Event(200≦属性A<300)」、処理内容「Notify」が設定されている。処理条件における「Event()」は、()内の条件が成立するイベント501を受信することを示す。処理内容における「Notify」は、処理条件の成立を通知することを示す。
ここで、イベントソース300から受信するイベント501の属性Aの範囲は、ノードID「N11」のCEPノード200では、0≦属性A<200、ノードID「N12」のCEPノード200では、200≦属性A<400のように、予め決められていると仮定する。これは、例えば、CEPノード200がエリアごとに設置され、エリア内のイベントソース300が、所定の移動体(人や自動車、バス等)を検出して、当該移動体の位置を属性Aとしたイベント501を、当該エリアのCEPノード200へ送信するような場合に相当する。この場合、イベント処理に必要なイベント501は、他の具体例2と同様に、複数の異なるイベントソース300から送信される。また、処理ルール503は、他の具体例2と同様に、異なるイベントソース300の各々からのイベント501に対する個別処理ルール、及び、当該個別処理ルールのイベント処理結果507に対する全体処理ルールに分割できる。
例えば、イベント処理制御装置100のノード・経路決定部120は、上述のステップS102において、処理ルール503を、図21のように、分割処理ルール1503a、b、cに分割する。図21の例では、分割処理ルール1503aに、処理条件「条件1:Event(0≦属性A<100)」、処理内容「Notify」、分割処理ルール1503bに、処理条件「条件1:Event(200≦属性A<300)」、処理内容「Notify」が設定されている。また、分割処理ルール1503cに、処理条件「条件1:Result(RID=PR101) and 条件2:Result(RID=PR102)」、処理内容「Notify」が設定されている。
ノード・経路決定部120は、上述のステップS103において、他の具体例2と同様に、図17における、ノードID「S11」→「N11」→「N22」、「S12」→「N12」→「N22」、「N22」→「N31」→「AP1」の経路とノードID「N11」、「N12」、「N22」のCEPノード200の組を、転送経路とイベント処理ノードの組に決定する。
そして、ノード・経路決定部120は、ステップS104において、図21の分割処理ルール1503a、b、cを、それぞれ、ノードID「N11」、「N12」、「N22」のCEPノード200に送信する。
また、ノード・経路決定部120は、ステップS105において、図19の転送ルール506h、i、j、kを、それぞれ、ノードID「N11」、「N12」、「N22」、「N31」のCEPノード200に送信する。
さらに、ノードID「N11」、「N12」、「N22」のCEPノード200のローカル制御部210は、ステップS113において、それぞれ、図22のローカル転送ルール1506a、b、cを、転送部230に設定する。
以上により、他の具体例2と同様に、図17に示すように、イベント処理ノード、及び、転送経路が決定され、各CEPノード200に、分割処理ルール1503、転送ルール506、及び、ローカル転送ルール1506が設定される。
次に、ノードID「S11」のイベントソース300から送信されたイベント501(属性A=50)が、ノードID「N11」のCEPノード200に転送される。ノードID「N11」のCEPノード200の処理部220において、イベント501(属性A=50)を受信した場合、図21の分割処理ルール1503aの処理条件(条件1)が成立する。処理部220は、分割処理ルール1503aの処理内容に従って、ルールID「PR101」の処理条件が成立したことを示すイベント処理結果507(ルールID=PR101)を生成する。イベント処理結果507(ルールID=PR101)は、ノードID「N22」のCEPノード200に転送される。
同様に、ノードID「S12」のイベントソース300から送信されたイベント501(属性A=250)が、ノードID「N12」のCEPノード200に転送される。ノードID「N12」のCEPノード200の処理部220において、イベント501(属性A=250)を受信した場合、図21の分割処理ルール1503bの処理条件(条件1)が成立する。処理部220は、分割処理ルール1503bの処理内容に従って、ルールID「PR102」の処理条件が成立したことを示すイベント処理結果507(ルールID=PR102)を生成する。イベント処理結果507(ルールID=PR102)は、ノードID「N22」のCEPノード200に転送される。
ノードID「N22」のCEPノード200の処理部220において、イベント処理結果507(ルールID=PR101)、及び、イベント処理結果507(ルールID=PR102)を受信した場合、図21の分割処理ルール1503cの処理条件(条件1 and 条件2)が成立する。処理部220は、分割処理ルール1503cの処理内容に従って、ルールID「PR103」の処理条件が成立したことを示すイベント処理結果507(ルールID=PR103)を生成する。イベント処理結果507(ルールID=PR103)は、ノードID「AP1」のイベントシンク400に転送される。
なお、本発明の第1の実施の形態においては、要求サービスレベル505において、要求スループット、及び、要求レスポンスが指定されている場合を例に、構成、及び、動作を説明したが、要求サービスレベル505において、要求スループット、及び、要求レスポンスのいずれか一方が指定されていてもよい。この場合、ノード・経路決定部120は、要求サービスレベル505で指定された、要求スループット、または、要求レスポンスを満たすように、イベント処理ノード、及び、転送経路の組を決定する。また、要求サービスレベル505で、イベント処理に係る、他の要求項目が指定されていてもよい。
次に、本発明の第1の実施の形態の特徴的な構成を説明する。
図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。図1を参照すると、本発明の第1の実施の形態におけるイベント処理制御装置100は、ノード情報取得部110、及び、ノード・経路決定部120を含む。
ノード情報取得部110は、複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報508、509を取得する。ここで、複数のノードの各々は、イベント501、または、イベント処理結果507を、転送経路に従って、接続された他のノードへ転送する。複数のノードには、受信したイベント501を処理してイベント処理結果507を生成するイベント処理が可能な1以上のノードが含まれる。
ノード・経路決定部120は、ノード情報508、509をもとに、指定されたサービスレベル505を満たすように、イベント処理を行うノードであるイベント処理ノード、及び、イベント501の送信元ノードから、イベント処理ノードを含む1以上のノードを経由した、イベント処理結果507の送信先ノードまでの転送経路の組を決定する。
本発明の第1の実施の形態によれば、イベント処理システムにおいて、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部120が、ノード情報508、509をもとに、要求サービスレベル505を満たすように、転送経路、及び、転送経路上のイベント処理ノードの組を決定するためである。
また、これにより、様々な性能のCEPノード200がイベント処理ノードとして利用可能な場合に、適切なCEPノード200をイベント処理ノードとして用いることができる。
また、本発明の第1の実施の形態によれば、複数のイベントソース300から送信されるイベント501に対してイベント処理を行う場合でも、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部120が、複数のイベントソース300の各々から共通のノードまでの個別経路と当該共通のノードからイベントシンク400までの共通経路とを合わせた経路、及び、当該共通経路上のイベント処理が可能なノードの組の内、要求サービスレベル505を満たす組を、転送経路、及び、イベント処理ノードの組に決定するためである。
また、本発明の第1の実施の形態によれば、処理ルール503が、複数のイベントソース300の各々からのイベント501に対する個別ルールと、個別ルールの処理結果に対する全体ルールとに分割可能な場合、転送経路の負荷、及び、イベント処理ノードの負荷を低減できる。その理由は、ノード・経路決定部120が、複数の個別経路と共通経路とを合わせた経路、当該複数の個別経路の各々におけるイベント処理が可能なノード、及び、当該共通経路上のイベント処理が可能なノードの組の内、要求サービスレベル505を満たす組を、転送経路、複数の個別ルールの各々を設定するイベント処理ノード、及び、全体ルールを設定するイベント処理ノードの組に決定するためである。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
本発明の第2の実施の形態においては、CEPノード200が移動可能であり、CEPノード200間の接続関係が可変である点において、本発明の第1の実施の形態と異なる。
はじめに、本発明の第2の実施の形態の構成について説明する。
図23は、本発明の第2の実施の形態における、イベント処理システムの構成を示すブロック図である。図23を参照すると、本発明の第2の実施の形態においては、CEPノード200が、複数の階層(「クラウド」、「基地局」、及び、「端末」)ごとに配置される。
ここで、「端末」階層のCEPノード200(第1のノード)と当該CEPノード200に接続された(当該CEPノード200にイベント501を送信する)イベントソース300とは、例えば、携帯端末等の移動可能な同一のデバイスに含まれ、複数のエリアのいずれかに移動できる。「基地局」階層のCEPノード200(第2のノード)は、複数のカバーエリアを有し、カバーエリア内に移動(存在)している「端末」階層のCEPノード200と接続される。
図23の例では、ノードID「N21」のCEPノード200のカバーエリアは、エリア識別子(エリアID)「A」、「B」、「C」のエリアである。また、ノードID「N22」のCEPノード200のカバーエリアは、エリアID「D」、「E」、「F」のエリアである。
また、「基地局」階層のCEPノード200は、「クラウド」階層のCEPノード200と接続される。さらに、「クラウド」階層のCEPノード200は、イベントシンク400と接続される。
図24は、本発明の第2の実施の形態における、ノード情報508の例を示す図である。本発明の第2の実施の形態におけるノード情報508は、本発明の第1の実施の形態におけるノード情報508(図10)の内容に加えて、配置情報を含む。配置情報は、CEPノード200が属する階層を示す階層種別を含む。
階層種別が「端末」の場合、配置情報は、さらに、移動エリアを含む。移動エリアには、CEPノード200が移動(存在)しているエリアのエリアIDが設定される。また、転送性能には、「基地局」階層のCEPノード200への転送遅延が設定される。
階層種別が「基地局」の場合、配置情報は、さらに、カバーエリアを含む。カバーエリアには、CEPノード200のカバーエリアのエリアIDが設定される。
次に、本発明の第2の実施の形態におけるイベント処理システムの動作について説明する。ここでは、本発明の第2の実施の形態におけるルール設定処理について、本発明の第1の実施の形態との差異を説明する。
図25は、本発明の第2の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
ここでは、図23に示すように、ノードID「N11」のCEPノード200が、エリアID「D」のエリアに存在すると仮定する。この場合、ステップS101において、ノード情報取得部110は、ノードID「N11」、「N12」、「N21」、「N22」、「N31」、「N32」のCEPノード200から、図24に示すノード情報508a〜fを取得する。さらに、本発明の第1の実施の形態と同様に、ステップS102において、ノード・経路決定部120は、ノードID「AP1」のイベントシンク400から、図7に示すイベント処理設定要求502を受信したと仮定する。
ステップS103において、ノード・経路決定部120は、ノード情報508を参照し、「端末」階層のCEPノード200が、当該CEPノード200が存在するエリアをカバーエリアとする「基地局」階層のCEPノード200と接続されると判断し、イベント処理ノード、及び、転送経路を決定する。
例えば、図25において、ノードID「S11」→「N11」→「N22」→「N31」→「AP1」の候補経路において、ノードID「N22」のCEPノード200を候補ノードとした場合、候補ノードのスループット「100イベント/秒」は、要求スループット「50イベント/秒」以上であり、総遅延時間「90ミリ秒」は、要求レスポンス「200ミリ秒」以下である。したがって、ノード・経路決定部120は、ノードID「S11」→「N11」→「N22」→「N31」→「AP1」の経路とノードID「N22」のCEPノード200の組を、転送経路とイベント処理ノードの組に決定する。
なお、本発明の第2の実施の形態におけるイベント処理は、本発明の第1の実施の形態と同様である。
以上により、本発明の第2の実施の形態の動作が完了する。
本発明の第2の実施の形態によれば、「基地局」階層のCEPノード200と移動可能な「端末」階層のCEPノード200ように、CEPノード200間の接続関係が可変である場合でも、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部120が、「基地局」階層のCEPノード200の所定のカバーエリア、及び、「端末」階層のCEPノード200が存在するエリアの情報をもとに、「端末」階層のCEPノード200と「基地局」階層のCEPノード200とが接続されているかどうかを判断するためである。
(第3の実施の形態)
次に、本発明の第3の実施の形態について説明する。
本発明の第3の実施の形態においては、サービスレベルの監視を行う点において、本発明の第1の実施の形態と異なる。
はじめに、本発明の第3の実施の形態の構成について説明する。
図26は、本発明の第3の実施の形態における、イベント処理制御装置100の構成を示すブロック図である。図26を参照すると、本発明の第3の実施の形態におけるイベント処理制御装置100は、本発明の第1の実施の形態におけるイベント処理制御装置100の構成に加えて、サービスレベル監視部140を含む。
サービスレベル監視部140は、イベント処理ノード、及び、イベントシンク400から、監視結果510を受信する。
次に、本発明の第3の実施の形態におけるイベント処理システムの動作を、具体例とともに説明する。本発明の第3の実施の形態におけるルール設定処理、及び、イベント処理は、本発明の第1の実施の形態と同様である。ここでは、本発明の第3の実施の形態におけるサービスレベル監視処理について説明する。図27は、本発明の第3の実施の形態におけるルール設定処理を示すフローチャートである。
図28は、本発明の第3の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
ここでは、ルール設定処理により、ノードID「S11」→「N11」→「N22」→「N31」→「AP1」の経路とノードID「N22」のCEPノード200の組が、転送経路とイベント処理ノードの組として決定されていると仮定する。
はじめに、イベント処理制御装置100のサービスレベル監視部140は、転送経路上のイベント処理ノード、及び、イベントシンク400から、監視結果510を取得する(ステップS201)。
ここで、イベント処理ノードからの監視結果510には、転送経路上のイベントソース300からイベント処理ノードまでの経路の遅延時間、イベント処理ノードの処理部220のレスポンスタイム、及び、スループットの測定結果が含まれる。また、イベントシンク400からの監視結果510には、転送経路上のイベント処理ノードからイベントシンク400までの経路の遅延時間の測定結果が含まれる。
イベントソース300からイベント処理ノードまでの経路の遅延時間は、例えば、イベントソース300においてイベント501に挿入されたタイムスタンプをもとに、イベント処理ノードの転送部230により測定される。また、イベント処理ノードからイベントシンク400までの経路の遅延時間は、例えば、イベント処理ノードにおいてイベント処理結果507に挿入されたタイムスタンプをもとに、イベントシンク400により測定される。イベント処理ノードの処理部220のレスポンスタイム、及び、スループットは、イベント処理ノードの転送部230により測定される。
なお、処理ルール503が複数の分割処理ルール1503に分割され、複数のイベント処理ノードに設定されている場合、イベント処理ノードで分割された経路ごとに、遅延時間が測定される。
サービスレベル監視部140は、取得した監視結果510をもとに、転送経路とイベント処理ノードとの組が、要求サービスレベル505を満たしているかどうかを判断する(ステップS202)。ここで、サービスレベル監視部140は、取得したイベントソース300からイベント処理ノードまでの経路の遅延時間、イベント処理ノードからイベントシンク400までの経路の遅延時間、及び、イベント処理ノードにおけるレスポンスタイムの測定値を合計して、総遅延時間の測定値を算出する。そして、サービスレベル監視部140は、総遅延時間の測定値が要求レスポンス以下かどうかを判断する。また、サービスレベル監視部140は、取得したイベント処理ノードのスループットの測定値が要求スループット以上かどうかを判断する。
なお、イベント処理に必要なイベント501が、複数の異なるイベントソース300から送信される場合、サービスレベル監視部140は、各イベントソース300からイベントシンク400まで至る経路の総遅延時間の最大値が、要求レスポンス以下かどうかを判断する。
要求サービスレベル505を満たしていない場合(ステップS202/N)、サービスレベル監視部140は、ノード・経路決定部120に、現在の転送経路とイベント処理ノードの組以外の、他の転送経路とイベント処理ノードの組の抽出を指示する(ステップS203)。ノード・経路決定部120は、上述のステップS103と同様の処理により、他の転送経路とイベント処理ノードの組を抽出する。
ステップS203において、他の転送経路とイベント処理ノードの組がある場合(ステップS204/Y)、サービスレベル監視部140は、ノード・経路決定部120に、当該他の転送経路とイベント処理ノードの組に対する、処理ルール503と転送ルール506との設定を指示する(ステップS205)。ノード・経路決定部120は、上述のステップS104、S105と同様の処理により、他の転送経路とイベント処理ノードの組に対する処理ルール503と転送ルール506との再設定を行う。
ステップS203において、他の転送経路とイベント処理ノードの組がない場合(ステップS204/N)、サービスレベル監視部140は、イベントシンク400へ、要求サービスレベル505を満たしていないこと(違反)を通知する(ステップS206)。なお、この場合、サービスレベル監視部140は、処理ルール503と転送ルール506との設定を解除し、イベント処理を中止してもよい。
以降、ステップS201〜S206の処理が、繰り返し実行される。
以上により、本発明の第3の実施の形態の動作が完了する。
本発明の第3の実施の形態によれば、イベント処理システムが、イベント処理に要求されるサービスレベルを維持できる。その理由は、サービスレベル監視部140が、要求サービスレベル505を満たしているかどうかを監視し、要求サービスレベル505を満たしていない場合、ノード・経路決定部120が、転送経路、及び、イベント処理ノードの組を再決定するためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2012年8月30日に出願された日本出願特願2012−189903を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 イベント処理制御装置
110 ノード情報取得部
120 ノード・経路決定部
130 ノード情報記憶部
140 サービスレベル監視部
200 CEPノード
210 ローカル制御部
220 処理部
230 転送部
300 イベントソース
400 イベントシンク
501 イベント
502 イベント処理設定要求
503 処理ルール
1503 分割処理ルール
504 経路情報
505 要求サービスレベル
506 転送ルール
1506 ローカル転送ルール
507 イベント処理結果
508 ノード情報
509 ノード情報
510 監視結果

Claims (23)

  1. 各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得するノード情報取得手段と、
    前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するノード・経路決定手段と、を備え
    前記ノード・経路決定手段は、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定し、
    前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
    前記ノード・経路決定手段は、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第1の条件、及び、前記スループットが前記要求スループット以上のノードを含む第2の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、
    イベント処理制御装置。
  2. 前記ノード・経路決定手段は、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
    前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項に記載のイベント処理制御装置。
  3. 前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
    前記ノード・経路決定手段は、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第1の経路と当該共通のノードから前記送信先ノードまでの第2の経路とを合わせた経路、及び、当該第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項に記載のイベント処理制御装置。
  4. 前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第1の処理ルール、及び、前記複数の第1の処理ルールにより生成されるイベント処理結果に対する第2の処理ルールに分割可能であり、
    前記ノード・経路決定手段は、前記複数の第1の経路と前記第2の経路とを合わせた経路、前記複数の第1の経路の各々における前記イベント処理が可能なノード、及び、前記第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第1の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第2の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項に記載のイベント処理制御装置。
  5. 前記複数のノードは、複数エリアのいずれかに移動可能な第1のノードと、前記複数エリアの内の所定のカバーエリアに存在する第1のノードと接続する第2のノードとを含み、
    前記ノード・経路決定手段は、前記第2のノードの前記所定のカバーエリア、及び、前記第1のノードが存在するエリアの情報をもとに、前記第1のノードと前記第2のノードとが接続されているかどうかを判断し、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項1乃至4のいずれかに記載のイベント処理制御装置。
  6. さらに、前記サービスレベルを満たしているかどうかを監視する、サービスレベル監視手段を含み、
    前記サービスレベルを満たしていない場合、前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項に記載のイベント処理制御装置。
  7. 前記サービスレベル監視手段は、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて前記イベント処理ノードで測定された、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードでイベント処理結果に挿入されたタイムスタンプを用いて前記送信先ノードで測定された、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項に記載のイベント処理制御装置。
  8. イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの転送経路の組を決定し、前記送信元ノードから前記イベント処理ノードまでの経路における第1の遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における第2の遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行うイベント処理制御装置により、前記イベント処理ノードとして選択されるノード装置であって、
    イベントを処理してイベント処理結果を生成するイベント処理を実行する1以上の処理手段と、
    前記生成されたイベント処理結果を、前記転送経路に従って、接続された他のノードへ転送するとともに、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて、前記第1の遅延時間を測定し、前記送信先ノードにおいて前記第2の遅延時間の測定に用いられるタイムスタンプを、前記生成されたイベント処理結果へ挿入し、前記処理手段における前記イベント処理のスループットを測定し、前記第1の遅延時間の測定値と前記イベント処理のスループットの測定値とを、前記イベント処理制御装置に送信する転送手段と、
    を備えるノード装置。
  9. 各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードと、
    前記複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するイベント処理制御装置と、を備え
    前記イベント処理制御装置は、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定し、
    前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
    前記イベント処理制御装置は、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第1の条件、及び、前記スループットが前記要求スループット以上のノードを含む第2の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、
    イベント処理システム。
  10. 前記イベント処理制御装置は、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
    前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項に記載のイベント処理システム。
  11. 前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
    前記イベント処理制御装置は、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第1の経路と当該共通のノードから前記送信先ノードまでの第2の経路とを合わせた経路、及び、当該第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項10に記載のイベント処理システム。
  12. 前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第1の処理ルール、及び、前記複数の第1の処理ルールにより生成されるイベント処理結果に対する第2の処理ルールに分割可能であり、
    前記イベント処理制御装置は、前記複数の第1の経路と前記第2の経路とを合わせた経路、前記複数の第1の経路の各々における前記イベント処理が可能なノード、及び、前記第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第1の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第2の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項11に記載のイベント処理システム。
  13. 前記複数のノードは、複数エリアのいずれかに移動可能な第1のノードと、前記複数エリアの内の所定のカバーエリアに存在する第1のノードと接続する第2のノードとを含み、
    前記イベント処理制御装置は、前記第2のノードの前記所定のカバーエリア、及び、前記第1のノードが存在するエリアの情報をもとに、前記第1のノードと前記第2のノードとが接続されているかどうかを判断し、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項9乃至12のいずれかに記載のイベント処理システム。
  14. 前記イベント処理制御装置は、さらに、前記サービスレベルを満たしているかどうかを監視し、前記サービスレベルを満たしていない場合、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項に記載のイベント処理システム。
  15. 前記送信元ノードは、イベントにタイムスタンプを挿入し、
    前記イベント処理ノードは、前記イベントに挿入されたタイムスタンプを用いて、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間を測定し、前記イベント処理結果にタイムスタンプを挿入し、
    前記送信先ノードは、前記イベント処理結果に挿入されたタイムスタンプを用いて、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間を測定し、
    前記イベント処理制御装置は、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項14に記載のイベント処理システム。
  16. コンピュータに具備されたノード情報取得手段が、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な1以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、
    前記コンピュータに具備されたノード・経路決定手段が、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む1以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、イベント処理制御方法であって、
    前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定し、
    前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
    前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第1の条件、及び、前記スループットが前記要求スループット以上のノードを含む第2の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、
    イベント処理制御方法
  17. 前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
    前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項16に記載のイベント処理制御方法。
  18. 前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
    前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第1の経路と当該共通のノードから前記送信先ノードまでの第2の経路とを合わせた経路、及び、当該第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項17に記載のイベント処理制御方法。
  19. 前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第1の処理ルール、及び、前記複数の第1の処理ルールにより生成されるイベント処理結果に対する第2の処理ルールに分割可能であり、
    前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記複数の第1の経路と前記第2の経路とを合わせた経路、前記複数の第1の経路の各々における前記イベント処理が可能なノード、及び、前記第2の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第1の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第2の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項18に記載のイベント処理制御方法。
  20. 前記複数のノードは、複数エリアのいずれかに移動可能な第1のノードと、前記複数エリアの内の所定のカバーエリアに存在する第1のノードと接続する第2のノードとを含み、
    前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記第2のノードの前記所定のカバーエリア、及び、前記第1のノードが存在するエリアの情報をもとに、前記第1のノードと前記第2のノードとが接続されているかどうかを判断し、前記送信元ノードから1以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項16乃至19のいずれかに記載のイベント処理制御方法。
  21. さらに、前記コンピュータに具備されたサービスレベル監視手段が、前記サービスレベルを満たしているかどうかを監視し、
    前記ノード・経路決定手段は、前記サービスレベルを満たしていない場合、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項16に記載のイベント処理制御方法。
  22. 前記ノード・経路決定手段は、前記サービスレベルを満たしているかどうかを監視する場合、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて前記イベント処理ノードで測定された、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードでイベント処理結果に挿入されたタイムスタンプを用いて前記送信先ノードで測定された、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項21に記載のイベント処理制御方法。
  23. コンピュータを、請求項1に記載のイベント処理制御装置として機能させるためのプログラム。
JP2014532774A 2012-08-30 2013-08-23 イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 Active JP6304032B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012189903 2012-08-30
JP2012189903 2012-08-30
PCT/JP2013/004982 WO2014034060A1 (ja) 2012-08-30 2013-08-23 イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法

Publications (2)

Publication Number Publication Date
JPWO2014034060A1 JPWO2014034060A1 (ja) 2016-08-08
JP6304032B2 true JP6304032B2 (ja) 2018-04-04

Family

ID=50182898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014532774A Active JP6304032B2 (ja) 2012-08-30 2013-08-23 イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法

Country Status (4)

Country Link
US (1) US9367368B2 (ja)
EP (1) EP2891986A4 (ja)
JP (1) JP6304032B2 (ja)
WO (1) WO2014034060A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680919B2 (en) * 2014-08-13 2017-06-13 Software Ag Usa, Inc. Intelligent messaging grid for big data ingestion and/or associated methods
JP6717208B2 (ja) * 2015-02-06 2020-07-01 日本電気株式会社 データ処理システム、データ処理方法及びコンピュータ・プログラム
US9747143B1 (en) * 2016-03-30 2017-08-29 International Business Machines Corporation Multi platform based event processing
GB2558658B (en) * 2017-01-16 2021-01-27 Advanced Risc Mach Ltd Distributed event management
JP7017161B2 (ja) * 2017-04-06 2022-02-08 富士通株式会社 プログラム、プログラムの実行方法、および端末装置
US10868751B2 (en) 2019-01-31 2020-12-15 Saudi Arabian Oil Company Configurable system for resolving requests received from multiple client devices in a network system
CN114697228A (zh) * 2020-12-30 2022-07-01 华为云计算技术有限公司 一种数据集成方法、装置及相关设备
US11979411B2 (en) * 2021-10-28 2024-05-07 International Business Machines Corporation Control of access to computing resources implemented in isolated environments

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634595B1 (en) * 2004-12-16 2009-12-15 Emc Corporation Method for suspending a discovery process, saving the state of the discovery process, and resuming the discovery process during a distributed copy operation
JP4161998B2 (ja) 2005-03-28 2008-10-08 日本電気株式会社 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
JP2007041720A (ja) * 2005-08-01 2007-02-15 Fujitsu Ltd ジョブステップ実行プログラムおよびジョブステップ実行方法
JP4781089B2 (ja) 2005-11-15 2011-09-28 株式会社ソニー・コンピュータエンタテインメント タスク割り当て方法およびタスク割り当て装置
JP5540706B2 (ja) * 2007-12-18 2014-07-02 日本電気株式会社 データストリーム処理システム、方法及びプログラム
JP5470720B2 (ja) 2008-03-07 2014-04-16 日本電気株式会社 イベント処理システムおよびイベント処理方法
US8024480B2 (en) * 2008-04-28 2011-09-20 Distefano Michael Vincent Complex event processing cloud
WO2010071162A1 (ja) 2008-12-15 2010-06-24 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
JP5188419B2 (ja) * 2009-02-23 2013-04-24 三菱電機株式会社 センサアドホックネットワーク、センサ端末および管理センサ端末
JP2011250181A (ja) 2010-05-27 2011-12-08 Nec Corp ネットワーク管理システム、ネットワーク要素、ネットワーク管理装置、及びネットワーク管理方法
JP5664098B2 (ja) * 2010-10-05 2015-02-04 富士通株式会社 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
JP5621565B2 (ja) 2010-12-08 2014-11-12 日本電気株式会社 マルチキャストシステム及びマルチキャストシステムのノード
JP6183168B2 (ja) * 2013-11-13 2017-08-23 富士通株式会社 イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム

Also Published As

Publication number Publication date
JPWO2014034060A1 (ja) 2016-08-08
US9367368B2 (en) 2016-06-14
EP2891986A1 (en) 2015-07-08
WO2014034060A1 (ja) 2014-03-06
US20150242253A1 (en) 2015-08-27
EP2891986A4 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
JP6304032B2 (ja) イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法
US20180295529A1 (en) Systems and methods for networking and wirelessly routing communications
US9602406B2 (en) Data transfer control device and data transfer control method
US9736226B2 (en) Rule distribution server, event processing system and method, and program
US8682611B2 (en) Distance metric estimating system, coordinate calculating node, distance metric estimating method, and program
CN104205752A (zh) 分布式存储系统、控制装置、客户终端、负载平衡方法以及程序
JP2013101530A (ja) サービス連携装置、サービス連携方法およびサービス連携プログラム
JP5853819B2 (ja) 制御プログラム、制御方法、記憶制御装置および情報処理システム
US20140222896A1 (en) Distributed processing system and management method of distributed processing system
JP6084583B2 (ja) フロー経路変更計算装置およびフロー経路変更計算システム
US20150350085A1 (en) Route determination apparatus and transfer route determination method
CN105917701A (zh) 无线电资源管理器和频谱控制器之间的网络互连
US20170180465A1 (en) Method, information processing apparatuses and non-transitory computer-readable storage medium
WO2020261393A1 (ja) 通信装置及び通信方法
US20140019508A1 (en) Distributed processing system, distributed processing device, routing table creation method and program recording medium
US11394648B2 (en) Information processing apparatus and information processing method
US10554511B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
JP2012048423A (ja) データ配信ネットワーク設計装置、データ配信ネットワーク設計方法、及びプログラム
JP4774559B2 (ja) 通信網におけるノード間距離推定方法およびその装置
WO2014199606A1 (ja) 負荷分散装置、負荷分散方法および記憶媒体ならびにイベント処理システム
LIU et al. An adaptive backoff algorithm for FANETs based on multiple priority
JP5287399B2 (ja) 情報処理装置の処理プログラム、情報処理装置の処理方法、および情報処理装置
US20230012242A1 (en) Intelligent route selection for low latency services
JP6355472B2 (ja) コンテンツ配信ネットワークの転送装置及び取得装置
CN115529246A (zh) 拓扑结构的确定方法、装置、设备及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171106

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: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180219

R150 Certificate of patent or registration of utility model

Ref document number: 6304032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150