JP6217644B2 - ルール分配サーバ、イベント処理システム、方法及びプログラム - Google Patents

ルール分配サーバ、イベント処理システム、方法及びプログラム Download PDF

Info

Publication number
JP6217644B2
JP6217644B2 JP2014543219A JP2014543219A JP6217644B2 JP 6217644 B2 JP6217644 B2 JP 6217644B2 JP 2014543219 A JP2014543219 A JP 2014543219A JP 2014543219 A JP2014543219 A JP 2014543219A JP 6217644 B2 JP6217644 B2 JP 6217644B2
Authority
JP
Japan
Prior art keywords
rule
event
processing server
application
network
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
JP2014543219A
Other languages
English (en)
Other versions
JPWO2014065115A1 (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 JPWO2014065115A1 publication Critical patent/JPWO2014065115A1/ja
Application granted granted Critical
Publication of JP6217644B2 publication Critical patent/JP6217644B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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]
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Computer Hardware Design (AREA)

Description

本発明は、多数のデバイスから発生する大量のデータ(イベント)を処理するイベント処理システムに関する。
アプリケーションサーバから登録されたイベントの処理条件(処理ルール)に従ってイベントを処理するイベント処理システムが考案されている。例えば特許文献1のイベント処理システムでは、処理ルールに従って処理するために、ローカルシステムへ転送すべきイベントの条件(外部ディスパッチルール)を全ての外部ディスパッチャに登録する。これにより、どのようなイベントがどのイベント発生源から発生しても、そのイベントを処理対象とするローカルシステムへ、外部ディスパッチャを介して転送される。
国際公開第2010/107107号
しかし、特許文献1のシステムでは、イベント発生源の数が膨大となり、各イベント発生源から発生するイベント数が多くなると、外部ディスパッチャとローカルシステムの間のネットワークを流れるデータ量が多くなる。それによって、流れるデータ量がネットワークの収容能力を超え、ローカルシステムへ転送されるべきイベントを全て送信することができなくなってしまう。
本発明は、上記問題点に鑑みてなされたもので、各イベント発生源から発生するイベント数が多くなっても、ネットワークを流れるデータ量の増大を抑制することができるルール分配サーバ、イベント処理システム、方法及びプログラムを提供することを目的とする。
本発明は、アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配サーバであって、イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、アプリルールとルール生成部で生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録部とを備えるルール分配サーバである。
本発明は、イベント発生源が接続するフロントエンドネットワークに接続されるフロントエンド処理サーバと、各フロントエンドネットワークの処理サーバから収集したイベントを処理するバックエンド処理サーバと、アプリケーションから登録されるアプリルールから各処理サーバに登録する転送ルールを生成し、該アプリルールと生成した転送ルールを処理サーバに配置するルール分配サーバと、を備え、前記ルール分配サーバは、イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、アプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに登録し、そうでない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンドネットワークに接続された処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、アプリルールとルール生成部で生成した転送ルールを処理サーバに登録するルール登録部とを備えるイベント処理システムである。
本発明は、アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配方法であって、イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出し、アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定し、前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成し、前記生成した転送ルールをそれぞれ対応する処理サーバに登録するルール分配方法である。
本発明は、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバに接続されたコンピュータに、イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出する処理、アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定処理、前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成処理、前記生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録処理を実行させるプログラムである。
本発明によれば、各イベント発生源から発生するイベント数が多くなっても、ネットワークを流れるデータ量の増大を抑制することができる。
図1は本発明の第1の実施形態に係るイベント処理システムの構成を例示する図である。 図2は第1の実施形態に係るイベント処理システムにおける処理の流れを示す図である。 図3は第1の実施形態のルール分配サーバの構成を示す図である。 図4は第1の実施形態のアプリルール配置先決定部の動作を説明するためのフローチャートである。 図5は第1の実施形態のルール生成部の動作を説明するためのフローチャートである。 図6は第1の実施形態のルール登録部の動作を説明するためのフローチャートである。 図7は第1の実施形態に係るイベント処理システムの動作を具体例を用いて説明するための図である。 図8は店舗A在庫管理サーバから発生するイベントを例示する図である。 図9は従業員001携帯端末から発生するイベントを例示する図である。 図10はDC1在庫管理サーバから発生するイベントを例示する図である。 図11はルールを例示する図である。 図12はルールを例示する図である。 図13はイベント発生元NW解決表を例示する図である。 図14はイベント条件−NWID表を例示する図である。 図15はルール配置表を例示する図である。 図16はイベント条件−NWID表を例示する図である。 図17はルール配置表を例示する図である。 図18は第2の実施形態におけるルール分配サーバの構成を示す図である。 図19は第2の実施形態のルール生成部の動作を説明するためのフローチャートである。 図20は第2の実施形態のルール登録可否判定部の動作を説明するためのフローチャートである。 図21は第3の実施形態におけるルール分配サーバの構成を示す図である。 図22は第3の実施形態におけるイベント発生元NW検出部の構成を示す図である。 図23は出現回数表を例示する図である。 図24はイベント発生元NW解決表を例示する図である。 図25は第4の実施形態におけるルール分配サーバの構成を示す図である。 図26は第4の実施形態におけるルール生成部の動作を説明するためのフローチャートである。 図27は第4の実施形態におけるルール再配置部の動作を説明するためのフローチャートである。 図28は第4の実施形態に係るイベント処理システムの動作を具体例を用いて説明するための図である。 図29は出現回数表を例示する図である。 図30はルール配置表を例示する図である。 図31はイベント発生元NW解決表を例示する図である。
以下、本発明の実施形態について図面を参照して説明する。
(第1の実施形態)
本発明の第1の実施形態に係るイベント処理システムの構成を図1に示す。本実施形態に係るのイベント処理システムは、フロントエンド処理サーバ10と、バックエンド処理サーバ20と、ルール分配サーバ30を備え、これらはネットワーク(NW)を介して接続される。各処理サーバ(フロントエンド処理サーバ10、バックエンド処理サーバ20)が接続されているネットワークはネットワークID(NWID)により識別できる。
フロントエンド処理サーバ10は、イベント発生源である各デバイスが接続するネットワーク(フロントエンドNW)に接続される処理サーバである。バックエンド処理サーバ20は、各フロントエンド処理サーバ10から収集したイベントを処理する処理サーバである。ルール分配サーバ30は、ネットワークを介して接続されるアプリケーションサーバのアプリケーションにより、イベントの処理ルール(アプリルール)の登録を受ける。ルール分配サーバ30は、アプリケーションから登録されたイベントの処理ルール(アプリルール)から、各処理サーバに登録する処理ルール(転送ルール)を生成し、該アプリルールと生成した転送ルールを対応する各処理サーバに配置する。
本イベント処理システムでは、図2に示すように、アプリケーションからアプリルールが登録されると、ルール分配サーバ30が各フロントエンド処理サーバ10へ登録する転送ルールを生成し、各フロントエンド処理サーバ10と各バックエンド処理サーバ20へ、アプリルールと生成した転送ルールを登録する。
ルール分配サーバ30の構成を図3に示す。ルール分配サーバ30は、イベント発生元NW解決部31と、アプリルール配置先決定部32と、ルール生成部33と、ルール登録部34を備える。
イベント発生元NW解決部31は、イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出する。この算出は、例えば、イベント条件と、該イベント条件に合致するイベントが発生するフロントエンドNWのIDとのペアが格納されたイベント発生元NW解決表を参照して行う。イベント発生元NW解決表はルール分配サーバ30が保持してもよく、ネットワークに接続された他のサーバが保持してもよい。アプリルール配置先決定部32は、アプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドNWで発生するかを判別し、発生する場合、そのアプリルールをそのフロントエンドNWのフロントエンド処理サーバ10に登録し、そうでない場合、該アプリルールをバックエンド処理サーバ20に登録すると決定する。ルール生成部33は、バックエンド処理サーバ20に登録すると決定したルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンドNWに接続されたフロントエンド処理サーバ10を登録先として、イベント条件に合致するイベントをバックエンド処理サーバ20に転送する処理ルールを生成する。ルール登録部34は、アプリルールとルール生成部33で生成した転送ルールをそれぞれ対応するバックエンド処理サーバ20とフロントエンド処理サーバ10に登録する。
アプリルール配置先決定部32の動作を図4のフローチャートを参照して説明する。
アプリルール配置先決定部32は、アプリルールを受信すると(S4−1)、まずイベント条件と該イベント条件に合致するイベントが発生するネットワークのIDとのペアを保持するための空のイベント条件−NWID表を生成する(S4−2)。該アプリルールで指定されるイベント条件Cごとに、イベント発生元NW解決表を参照し、イベント条件Cを包含しているイベント条件を検索する(S4−3、4−4)。該当するイベント条件がイベント発生元NW解決表にある場合(S4−5)、検索したイベント条件に対応するフロントエンドNWIDをイベント条件Cと対応付けてイベント条件−NWID表に追加する(S4−6)。該当するイベント条件がない場合、バックエンド処理サーバ20が接続されているバックエンドネットワーク(バックエンドNW)のID(バックエンドNWID)をイベント条件Cと対応づけてイベント条件−NWID表に追加する(S4−7)。
アプリルール配置先決定部32は、全てのイベント条件について上記処理を実施後、ルールと該ルールの登録先のネットワークのIDとのペアを保持するための空のルール配置表を生成する(S4−8)。イベント条件−NWID表のNWIDが全て同じ場合(S4−9)、該NWIDを該アプリルールの登録先として該ルール配置表に追加する(S4−10)。それ以外の場合、バックエンドNWIDを該アプリルールの登録先として該ルール配置表に追加する(S4−11)。
次に、ルール生成部33の動作を図5のフローチャートを参照して説明する。
ルール生成部33は、アプリルール配置先決定部32で生成したイベント条件−NWID表のNWIDが全て同じでない場合(S5−1)、各イベント条件に対して、そのイベント条件に合致するイベントをバックエンドNWに接続される処理サーバへ転送する転送ルールを生成し(S5−2)、各イベント条件に対応して生成した転送ルールとそのイベント条件に対応するNWIDのペアをルール配置表に追加する(S5−3)。
次に、ルール登録部34の動作を図6のフローチャートを参照して説明する。
ルール登録部34は、ルール配置表の各ルールをそれに対応するNWIDで特定されるネットワークに配置されるサーバに登録する(S6−1)。NWIDから処理サーバのアドレスを解決することは、例えば、バックエンドNWIDとそのバックエンドNWに配置されている処理サーバのIDを対応づける表(図示せず)を保持しておき、それを参照することでできる。
ルールを削除する場合の処理について説明する。例えばルール生成部33は、ルール登録時に生成したルール配置表を保持部(図示せず)に保持する。ルールの削除要求があった場合、アプリケーションから指定されたルールIDのルールが記述されるルール配置表を特定し、該ルール配置表に記述される各ルールを、該ルールを保持している処理サーバから削除する。
次に、第1の実施形態に係るイベント処理システムの動作を具体例を用いて説明する。この例では、図7に示すように、フロントエンドNW「店舗A-NW」に、フロントエンド処理サーバ10「店舗A処理サーバ」と、デバイスとして「店舗A在庫管理サーバ」及び「従業員001携帯端末」が接続される。また、フロントエンドNW「DC1―NW(DC:Distribution Center)」にフロントエンド処理サーバ10「DC1処理サーバ」が接続され、デバイスとして「DC1在庫管理サーバ」が接続される。バックエンドネットワークには、バックエンド処理サーバ20、ルール分配サーバ30、アプリケーションサーバが接続される。
店舗A在庫管理サーバから発生するイベントの例としてイベントD1とイベントD2を図8に示す。イベントは属性と属性値のペアのリストから構成される。本例では、属性名「イベント種別」はイベントがどの属性名から構成されるかを特定する値とする。
従業員001携帯端末から発生するイベントは、図9に示す属性名から構成される。図9に示す属性値は例である。DC1在庫管理サーバから発生するイベントは、図10に示す属性名から構成される。図10に示す属性値は例である。
ルールは、そのルールのID(ルールID)と、処理対象のイベントの条件(複合イベント条件)と、複合イベント条件に合致するイベントに対する処理内容(アクション)とから構成される。図11に例示するルールの複合イベント条件は、イベント条件11に合致するイベントと、イベント条件12に合致するイベントが1分以内に発生することを表す。ここでは、1分以内で発生するイベントを処理対象とすることをwithinで表記する。そのような条件に合致するイベントを検出するとアクションを実行する。
イベント条件は、0以上の属性名と、各属性名に対する属性値条件から構成される。イベントを構成する各属性値が、対応する属性値条件に合致する場合、該イベントはイベント条件に合致する。図11のイベント条件11に対しては、イベント種別が「店舗在庫イベント」で、拠点名が「店舗A」であり、商品種別が「LLL」であり、更新時刻はいつでもよく、店頭商品数が1以下であり、バックヤード商品数が0より大きいイベントが合致する。よって、例えば、図8のイベントD1はイベント条件11に合致する。
アプリケーションから図11に示すアプリルールが登録された場合のイベント処理システムの動作を説明する。アプリルールはまず、アプリルール配置先決定部32に入力される。例えば図13に示すイベント発生元NW解決表がルール分配サーバ30又は他のサーバに保持されているとすると、イベント条件11はイベント発生元NW解決表の1行目のイベント条件に包含され、イベント条件12は3行目のイベント条件に包含されるため、図14に示すイベント条件−NWID表が生成される。次に、ルール生成部33では、図14に示すイベント条件−NWID表の全てのNWIDが同じフロントエンドNWのIDであるため、図15に示すルール配置表を生成する。
最後に、ルール登録部34は、図15に示すルール配置表より、ルール1を店舗A―NWに配置される処理サーバに登録する。
次に、ルール1が登録された後にイベントが発生した場合の処理の流れを説明する。
まず、ある日の12時30分00秒に、従業員001携帯端末が図9に示す従業員位置イベントを生成し、店舗A処理サーバへ送信したとする。該イベントを受信した店舗A処理サーバは、受信したイベントがルール1を構成するイベント条件12に合致すると判定する。
その後、同日の12時30分25秒に、店舗A在庫管理サーバが図8に示す店舗在庫イベントD1を生成し、店舗A処理サーバへ送信したとする。該イベントを受信した店舗A処理サーバは、受信したイベントがルール1を構成するイベント条件12に合致すると判定すると共に、1分以内にイベント条件12に合致する従業員位置イベントが発生しているため、複合イベント条件に合致すると判定する。店舗A処理サーバは、イベントがルール1の複合イベント条件に合致したと判定すると、次に、ルール1のアクションを実行する。ルール1のアクションでは、従業員ID“011”の従業員の携帯端末に補充指示メッセージを送信する。
次に、アプリケーションから図12に示すアプリルールが登録された場合のイベント処理システムの動作を説明する。アプリルールはまず、アプリルール配置先決定部32に入力される。例えば図13に示すイベント発生元NW解決表がルール分配サーバ30又は他のサーバに保持されているとすると、イベント条件21はイベント発生元NW解決表の1行目のイベント条件に包含され、イベント条件22は2行目のイベント条件に包含されるため、図16に示すイベント条件−NWID表が生成される。
次に、ルール生成部33では、図16に示すイベント条件−NWID表のNWIDが同じフロントエンドNWのIDでないため、図17に示すルール配置表を生成する。
最後に、ルール登録部34は、図17に示すルール配置表の各ルールを、それに対応するNWIDに配置される処理サーバに登録する。
次に、ルール2が登録された後にイベントが発生した場合の処理の流れを説明する。
まず、ある日の16時25分00秒に、DC1在庫管理サーバが図10に示すDC在庫イベントを生成し、DC1処理サーバへ送信したとする。該イベントを受信したDC1処理サーバは、受信したイベントがルール2−2の複合イベント条件に合致すると判定し、受信したイベントをバックエンド処理サーバに通知する。該イベントを受信したバックエンド処理サーバは、ルール2を構成するイベント条件22に合致すると判定する。
その後、同日の16時30分00秒に、店舗A在庫管理サーバが図8に示す店舗在庫イベントD2を生成し、店舗A処理サーバへ送信したとする。該イベントを受信した店舗A処理サーバは、受信したイベントがルール2−1の複合イベント条件に合致すると判定し、受信したイベントをバックエンド処理サーバに通知する。該イベントを受信したバックエンド処理サーバは、ルール2を構成するイベント条件21に合致すると判定すると共に、10分以内にイベント条件22に合致するDC在庫イベントが発生しているため、ルール2の複合イベント条件に合致すると判定する。バックエンド処理サーバは、イベントがルール2の複合イベント条件に合致したと判定すると、該判定後に、バックエンド処理サーバはNW−DC1のDC1在庫管理サーバに配送依頼メッセージを送信する。
以上説明したように本実施形態によれば、アプリルールに基づいた処理をバックエンド処理サーバでなく、フロントエンド処理サーバですることで、フロントエンドNWからバックエンドNWに流れるイベント数を低減できる。例えば、図11に示すアプリルール1は店舗A−NWに登録されるため、ルール1を実行するために監視しなければならないイベントが、バックエンドNWに通知されることはない。よって、フロントエンドNWからバックエンドNWに流れるイベント数を低減できる。
(第2の実施形態)
第2の実施形態では、バックエンド処理サーバ20の性能よりもフロントエンド処理サーバ10の性能が低い場合、特にメモリ容量が少ない場合に好適なイベント処理システムについて説明する。
第2の実施形態に係るイベント処理システムの構成は、ルール分配サーバ30がルール登録可否判定部35をさらに備える点以外は第1の実施形態とほぼ同様である。本実施形態におけるルール分配サーバ30の構成を図18に示す。ルール登録可否判定部35は、アプリルールをフロントエンド処理サーバに登録可能かどうかを判定する。
第2の実施形態に係るイベント処理システムの動作について第1の実施形態との相違点を中心に説明する。
ルール分配サーバ30のルール生成部33は、アプリルールのイベント条件に合致するイベントが全て同じフロントエンドNWで発生する場合でも、ルール登録可否判定部35が該アプリルールのフロントエンドNWへの登録を不可と判定した場合には、該アプリルールをバックエンド処理サーバに登録するようにルール配置表を生成する。
具体的には、第1の実施形態では図5のステップS5−1の処理でYESとなると処理を終了するが、第2の実施形態では、図19のフローチャートに示すように、ステップS19−4を実行する。ステップS19−4では、ルール登録可否判定部35によって算出された登録可否判定結果により次の処理を決定する。フロントエンドNWにアプリルールを登録可能であれば処理を終了し、そうでなければステップS19−2を実行する。
ルール登録可否判定部35の説明に先立ち、時間ウィンドウについて説明する。時間ウィンドウとは、処理対象のイベントの時間制約を表すものであり、時間ウィンドウが1分であれば、1分以内に発生するイベントが処理の対象となる。時間ウィンドウの表記について、ここでは、例えば時間ウィンドウが1分であれば”within 1min”と表記する。
時間ウィンドウは、スライディングウィンドウと固定ウィンドウとの2つのウィンドウタイプに分類される。スライディングウィンドウとは、イベントを受信した時刻から過去within時間内に発生したイベントに対して処理を実行するような時間ウィンドウのことである(イベントが発生する度に時間幅がスライドすることからスライディング)。固定ウィンドウとは、固定の期間(例えば、2012年3月中)に発生したイベントに対して処理を実行するような時間ウィンドウのことである。
ルールの記述性によって、スライディングウィンドウか固定ウィンドウかが曖昧な場合もある。例えば、t1時間ごとに過去t2時間に発生したイベントに対して統計処理をするような条件“aggregation within t2 every t1”が複合イベント条件に記述できるとする。これは、複数の固定ウィンドウがあると見なすことも、スライディングウィンドウであると見なすこともできる。この場合、例えばt2/t1が所定値以上であればスライディングウィンドウと見なし、そうでなければ固定ウィンドウと見なすことができる。
図20のフローチャートに示すように、ルール登録可否判定部35は、アプリルールを受信すると(S20−1)、それがフロントエンド処理サーバ10に登録可能かどうかを判定する。まず、受信したアプリルールのwithinの値があらかじめ与えられているwithin許容値以下かどうかを判定する(S20−2)。許容値以下ならアプリルールを登録可とする(S20−3)。within許容値以下でない場合、アクションタイプがアグリゲーションかどうかを検証する(S20−4)。アグリゲーションとは、所定のイベント条件に合致するイベントの発生回数のカウントや、特定の属性値の合計値の算出、平均値の算出などの統計処理のことである。アクションタイプがアグリゲーションである場合で、かつウィンドウタイプが固定である場合(S20−5)、アプリルールを登録可とする(S20−3)。アクションタイプがアグリゲーションでない場合、アプリルールを登録不可とする(S20−6)。アクションタイプがアグリゲーションである場合で(S20−4)、かつウィンドウタイプがスライディングである場合(S20−5)、アプリルールを登録不可とする(S20−6)。
前記登録可否の判定プロセスで、アプリルールで指定されるwithinの値が小さい場合に、フロントエンド処理サーバ10への登録を許可するのは、withinの値が小さいと該アプリルールに対して保持するステートのサイズが小さくなるためである。ステートとは、アプリルールを実行する上で過去に受信したイベントがどのイベント条件に合致しているかの状態を表す情報である。withinが大きくなると、処理対象のイベントが多くなり、よって、ステートのサイズも大きくなる。
また、上記では、アプリルールをフロントエンド処理サーバ10に登録可能かどうかを、該アプリルールのみに基づいて決定していたが、すでに登録されているアプリルールとの関係によって決定してもよい。例えば、アプリルールから、そのアプリルールの処理負荷と優先度を算出し、登録するアプリルールの処理負荷の合計値が、フロントエンド処理サーバ10の許容負荷以下になるように、優先度の高いアプリルールを選択してもよい。
アプリルールの処理負荷は、アプリルールで指定されるイベント条件に合致するイベントの発生レートに依存する。そこで、発生レートに応じて、アプリルールに対する負荷値を再計算してもよい。再計算によりアプリルールの負荷値の合計がフロントエンド処理サーバ10の許容負荷を超える場合には、優先度の低いアプリルールをフロントエンド処理サーバ10からバックエンド処理サーバ20へ移動してもよい。
以上説明したように第2の実施形態によれば、フロントエンド処理サーバ10の性能が低い場合に、負荷の大きい処理ルールをバックエンド処理サーバ20に配置することで、フロントエンド処理サーバ10がボトルネックにならないようにしつつ、フロントエンドNWからバックエンドNWに流れるイベント数を低減できる。
(第3の実施形態)
第3の実施形態では、イベント発生元NW解決表を生成する手段について説明する。第3の実施形態に係るイベント処理システムの構成は、ルール分配サーバ30がイベント発生元NW検出部36をさらに備える点以外は第1の実施形態とほぼ同様である。本実施形態におけるルール分配サーバ30の構成を図21に示す。イベント発生元NW検出部36は、バックエンド処理サーバ20が受信するイベントからイベント発生元NW解決表を生成する。
第3の実施形態に係るイベント処理システムの動作について第1の実施形態との相違点を中心に説明する。
ルール分配サーバ30のイベント発生元NW検出部36は、バックエンド処理サーバ20が受信するイベントの情報を受信し、どのようなイベント条件に合致するイベントが、どのフロントエンドNWで発生するかを算出する。算出したイベント条件とフロントエンドNWIDとのペアをイベント発生元NW解決表に追加する。
具体的には、図22のフローチャートに示すように、イベント発生元NW検出部36は、イベントを受信すると、イベントを構成する各属性(属性名attrと属性値valueのペア)に対して以下の処理を実施する。ただし、イベント種別はイベントがどの属性名から成るかを特定するための属性であるため、処理対象から外す。次に、受信したイベントのイベント種別typeと属性名attrのペアに対応する出現回数表を取得する。出現回数表とは、図23に例示するように、各属性値が各フロントエンドNWで何回発生したかを表す表である。次に、取得した出現回数表の出現回数[value][nwid]を+1する。ここで、nwidは該イベントの発生元NWのIDであり、出現回数[value][nwid]は出現回数表内のvalueで特定される行とnwidで特定される列により決まる値である。次に、出現回数[value][nwid]が所定回数以上で、出現回数[value][nwid以外の任意のNWID]が0であるかどうかを判定する。その場合、イベント種別の属性値条件をtypeとし、属性名attrの属性値条件をvalueとし、そのほかの属性値条件を*(任意の値)とするイベント条件を生成し、該イベント条件とnwidとのペアをイベント発生元NW解決表に追加する。
上記では、1属性名に対して1つの出現回数表としているが、2つ以上の属性名の組み合わせに対して1つの出現回数表を生成してもよい。イベントを構成する属性名の集合に対するべき集合を生成して、該べき集合の要素ごとに出現回数表を生成してもよい。その場合、行を特定するための値は、該べき集合の要素である属性値のタプルとなる。生成するイベント条件は、該タプルを構成する各属性値を、対応する属性名に対する属性値条件となる。
例えば図23に示す例で、イベント種別が「従業員位置」で属性名「従業員ID」の出現回数表がイベント条件を生成するかどうかの閾値が5の場合、1行目から図24の1行目が生成され、2行目から図24の2行目が生成される。
以上説明したように第3の実施形態により、イベント発生元NW解決表が、発生するイベントから自動で生成されるため、イベント発生元NW解決表を手動で作成する手間を削減できる。
(第4の実施形態)
第4のの実施形態では、デバイスが移動する場合に、ルールの配置を更新する手段を備える。以下、第4の実施形態について説明する。
第4の実施形態に係るイベント処理システムの構成は、ルール分配サーバ30がルール再配置部をさらに備える点以外は第3の実施形態とほぼ同様である。本実施形態におけるルール分配サーバ30の構成を図25に示す。ルール再配置部は、イベント発生元NW解決表の変更を基にルールの再配置を行う。
第4の実施形態に係るイベント処理システムの動作について第3の実施形態との相違点を中心に説明する。
ルール分配サーバ30のルール生成部33は、アプリルールをフロントエンド処理サーバ10に登録するときに、該アプリルールの処理に必要なイベントを該フロントエンド処理サーバに転送する転送ルールを、該フロンエンド処理サーバ以外のフロントエンド処理サーバに登録するために生成する。これにより、該アプリルールの処理に必要なイベントがどのフロントエンドNWで発生しても、該イベントは該アプリルールが登録されるフロントエンド処理サーバに到達する。
具体的には、図26のフローチャートに示すように、ステップS26−3(アプリルールとフロントエンドNWIDのペアをルール配置表に追加する)の後に、ステップS26−4(前記アプリルールの処理に必要なイベントを前記フロントエンド処理サーバに転送する転送ルールを生成する)とステップS26−5とステップS26−6(生成した各転送ルールに対して、転送ルールと前記フロントエンド処理サーバ以外の各フロントエンド処理サーバとのペアをルール配置表に追加する)を実行する。
ルール分配サーバ30のルール再配置部37は、図27のフローチャートに示すように、イベント発生元NW解決表が変更されると(S27−1)、バックエンド処理サーバ10が保持するアプリルールを再配置対象とする。以降、再配置対象のルールを保持する処理サーバをターゲット処理サーバと呼ぶ(S27−2)。該変更が既存のイベント条件に対応するイベント発生元NWIDの変更である場合(S27−3)、さらに、変更前のイベント発生元NWIDに対応する処理サーバをターゲット処理サーバとする(S27−4)。
イベント発生元NW解決表の変更は、新たなイベント条件が追加されたものか、既存のイベント条件に対応するイベント発生元NWIDの変更かに分類される。ルール再配置部37は、いずれの変更であるか判別し、新たなイベント条件が追加されたものである場合、新たに追加されたイベント条件に包含されるイベント条件が指定されるアプリルールはバックエンド処理サーバ以外に登録されることはないため、バックエンド処理サーバに登録されているアプリルールを再配置の候補とする。一方、既存のイベント条件に対応するイベント発生元NWIDの変更である場合には、該イベント条件に包含されるイベント条件が指定されるアプリルールは変更前のイベント発生元NWIDに対応するフロントエンド処理サーバかバックエンド処理サーバかのいずれかに登録されているため、該フロントエンド処理サーバとバックエンド処理サーバに登録されているアプリルールを再配置の候補とする(S27−4)。
アプリルール配置先決定部32とルール生成部33は、ターゲット処理サーバが保持するアプリルールに対してルール配置表を生成する(S27−5)。それが、イベント発生元NW解決表更新前のものと異なる場合(S27−7)、ルール再配置部37は、ルールの再配置を行う。
ルールの再配置では、ルール再配置部37は、まず、アプリルールに対応するステートのデータを取得する(S27−8)。次に、該アプリルールとそれに対するステートと転送ルールを、それを保持している処理サーバから削除する(S27−9)。その後、新たに生成したルール配置表の各ルールを対応するNWの処理サーバに配置する(S27−10)。アプリルールを配置するときには、取得したステートを共に配置する。ステートを共に配置することで、処理ルールの削除時点における処理状況を引き継いでイベント処理を実行するため、複合イベント条件に対するイベント合致の漏れを防ぐことができる。
ここで、イベント発生元NW検出部36は出現回数表を生成するが、過去所定時間内に発生したイベントを対象として生成する。これは、デバイスが移動する場合、移動前のイベント発生元NWはイベント発生元NW解決表の生成に有効でないためである。
また、イベント発生元NW検出部36は、図22のステップS22−7で、イベント条件とNWIDのペアを追加するときに、追加する該イベント条件と同じものがすでにイベント発生元NW解決表に登録されている場合には、その行のNWIDを新たなNWIDで上書きする。
次に、本実施形態に係るイベント処理システムの動作を具体例を用いて説明する。例えば、図28に示すように従業員001携帯端末が店舗A―NWから店舗B―NWへ移動したとする。すると、従業員IDが001であるイベントが店舗B―NWから発生するようになり、例えば、図23のような値を持っていた出現回数表が、図29のような値を持つようになる。それに伴い、イベント発生元NW解決表は、図24の1行目に示すものが、図31に示すものに書き換えられる。そして、このイベント発生元NW解決表に変更に基づいて、図30に示すようなルール配置表が生成され、各処理サーバに配置される。
以上説明したように第4の実施形態によれば、フロントエンド処理サーバにアプリルールが登録される場合、どのフロントエンドNWでイベントが発生しても、該アプリルールの処理に必要なイベントがバックエンド処理サーバに流れることはないため、デバイスが接続するネットワークが変わった場合にも、フロントエンドNWからバックエンドNWに流れるイベント数を低減した状態を維持できる。また、デバイスが接続するネットワークが変わった場合に、アプリルールを再配置することで、フロントエンドNW間を流れるイベント数を低減できる。
上述した本発明の実施形態に係る通信ルール分配サーバ、フロントエンド処理サーバ、バックエンド処理サーバは、CPU(Central Processing Unit)が記憶部に格納された動作プログラム等を読み出して実行することにより実現されてもよく、また、ハードウェアで構成されてもよい。上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することもできる。
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配サーバであって、
イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、
アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、
前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、
アプリルールとルール生成部で生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録部と
を備えるルール分配サーバ。
(付記2)
アプリルールの内容から処理ルールがフロントエンド処理サーバに登録可能かどうかを判定するルール登録可否判定部をさらに備え、
前記ルール生成部は、前記ルール登録可否判定部で、アプリルールが登録可能と判定され、かつ、各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合には、該アプリルールを該フロントエンドネットワークに登録する
付記1に記載のルール分配サーバ。
(付記3)
前記ルール生成部は、
アプリルールに、時間幅tの間に発生するイベントを処理対象とするような時間幅tが指定されるときに、該時間幅が所定値以下であれば、該アプリルールをフロントエンド処理サーバに登録可とし、
該時間幅が所定値以下でなければ、該アプリルールが複数のイベントの統計値を算出する処理かどうかを判定し、統計値を算出する処理でなければ、該アプリルールを登録不可とし、
統計値を算出する処理であれば、該アプリルールで指定される処理が、デバイスから発生する各イベントに対して、該イベントが発生した時刻から過去時間幅tの間に発生したイベントに対して処理を行うスライディングウィンドウ処理か、イベントの発生時刻によらず、所定の時刻から時間幅tの間に発生したイベントに対して処理を行う固定ウィンドウ処理かを判定し、固定ウィンドウ処理であれば、該アプリルールを登録可とし、スライディングウィンドウ処理であれば、該アプリルールを登録不可とする
付記2のルール分配サーバ。
(付記4)
バックエンド処理サーバが受信したイベントの情報を取得し、イベント発生元ネットワーク解決表を生成するイベント発生元ネットワーク検出部をさらに備え、
前記イベント発生元ネットワーク検出部は、属性の集合のべき集合の各要素にあたる属性値と、受信したイベントが、その要素の全ての属性値と一致した場合に、該要素と、該イベントの発生元ネットワークのIDとで特定される計数値に1を加算し、所定値以上の前記要素と前記イベントの発生元ネットワークのIDとで特定される計数値について、当該要素と当該発生元ネットワークのID以外のネットワークのIDとで特定される計数値のいずれもが0である場合、属性値条件を該要素とし、それ以外の属性値条件を任意の値とするイベント条件を生成し、生成したイベント条件と、前記発生元ネットワークIDとのペアをイベント発生元ネットワーク解決表に追加する
付記1から3のいずれかに記載のルール分配サーバ。
(付記5)
前記ルール生成部は、アプリルールをフロントエンド処理サーバに登録するときに、該アプリルールの処理に必要なイベントを該フロントエンド処理サーバに転送する転送ルールを生成し、該フロンエンド処理サーバ以外のフロントエンド処理サーバに登録する
付記1から4のいずれかに記載のルール分配サーバ。
(付記6)
イベント発生元ネットワーク解決表の変更を基にルールの再配置を行うルール再配置部をさらに備え、
前記ルール再配置部は、イベント発生元ネットワーク解決表が変更されると、バックエンド処理サーバをターゲット処理サーバとし、該変更が既存のイベント条件に対応するイベント発生元ネットワークIDの変更である場合、さらに、変更前のイベント発生元ネットワークIDに対応する処理サーバをターゲット処理サーバとし、
前記アプリルール配置先決定部とルール生成部は、ターゲット処理サーバが保持するアプリルールに対して、転送ルールの生成と、該アプリルールと生成した転送ルールの配置先の算出を行い、
前記ルール再配置部は、前記算出結果が、イベント発生元ネットワーク解決表の更新前の内容と異なる場合、該アプリルールが登録されている処理サーバから該アプリルールに対するステートを取得し、該アプリルールとそれに対するステートと転送ルールとを、それを保持している処理サーバから削除し、新たに生成したルール配置表のルールを、対応するネットワークの処理サーバに配置し、アプリルールの配置においては取得したステートを共に配置する
付記5に記載のルール分配サーバ。
(付記7)
イベント発生源が接続するフロントエンドネットワークに接続されるフロントエンド処理サーバと、各フロントエンドネットワークの処理サーバから収集したイベントを処理するバックエンド処理サーバと、アプリケーションから登録されるアプリルールから各処理サーバに登録する転送ルールを生成し、該アプリルールと生成した転送ルールを処理サーバに配置するルール分配サーバと、を備え、
前記ルール分配サーバは、
イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、
アプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに登録し、そうでない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、
前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンドネットワークに接続された処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、
アプリルールとルール生成部で生成した転送ルールを処理サーバに登録するルール登録部と
を備えるイベント処理システム。
(付記8)
アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配方法であって、
イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出し、
アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定し、
前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成し、
前記生成した転送ルールをそれぞれ対応する処理サーバに登録する
ルール分配方法。
(付記9)
アプリルールの内容から処理ルールがフロントエンド処理サーバに登録可能かどうかを判定し、
アプリルールが登録可能と判定され、かつ、各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合には、該アプリルールを該フロントエンドネットワークに登録する
付記8に記載のルール分配方法。
(付記10)
アプリルールに、時間幅tの間に発生するイベントを処理対象とするような時間幅tが指定されるときに、該時間幅が所定値以下であれば、該アプリルールをフロントエンド処理サーバに登録可とし、
該時間幅が所定値以下でなければ、該アプリルールが複数のイベントの統計値を算出する処理かどうかを判定し、統計値を算出する処理でなければ、該アプリルールを登録不可とし、
統計値を算出する処理であれば、該アプリルールで指定される処理が、デバイスから発生する各イベントに対して、該イベントが発生した時刻から過去時間幅tの間に発生したイベントに対して処理を行うスライディングウィンドウ処理か、イベントの発生時刻によらず、所定の時刻から時間幅tの間に発生したイベントに対して処理を行う固定ウィンドウ処理かを判定し、固定ウィンドウ処理であれば、該アプリルールを登録可とし、スライディングウィンドウ処理であれば、該アプリルールを登録不可とする
付記9のルール分配方法。
(付記11)
バックエンド処理サーバが受信したイベントの情報を取得し、イベント発生元ネットワーク解決表を生成するときに、属性の集合のべき集合の各要素にあたる属性値と、受信したイベントが、その要素の全ての属性値と一致した場合に、該要素と、該イベントの発生元ネットワークのIDとで特定される計数値に1を加算し、所定値以上の前記要素と前記イベントの発生元ネットワークのIDとで特定される計数値について、当該要素と当該発生元ネットワークのID以外のネットワークのIDとで特定される計数値のいずれもが0である場合、属性値条件を該要素とし、それ以外の属性値条件を任意の値とするイベント条件を生成し、生成したイベント条件と、前記発生元ネットワークIDとのペアをイベント発生元ネットワーク解決表に追加する
付記8から10のいずれかに記載のルール分配方法。
(付記12)
アプリルールをフロントエンド処理サーバに登録するときに、該アプリルールの処理に必要なイベントを該フロントエンド処理サーバに転送する転送ルールを生成し、該フロンエンド処理サーバ以外のフロントエンド処理サーバに登録する
付記8から11のいずれかに記載のルール分配方法。
(付記13)
イベント発生元ネットワーク解決表の変更を基にルールの再配置を行うときに、イベント発生元ネットワーク解決表が変更されると、バックエンド処理サーバをターゲット処理サーバとし、該変更が既存のイベント条件に対応するイベント発生元ネットワークIDの変更である場合、さらに、変更前のイベント発生元ネットワークIDに対応する処理サーバをターゲット処理サーバとし、
ターゲット処理サーバが保持するアプリルールに対して、転送ルールの生成と、該アプリルールと生成した転送ルールの配置先の算出を行い、
前記算出結果が、イベント発生元ネットワーク解決表の更新前の内容と異なる場合、該アプリルールが登録されている処理サーバから該アプリルールに対するステートを取得し、該アプリルールとそれに対するステートと転送ルールとを、それを保持している処理サーバから削除し、新たに生成したルール配置表のルールを、対応するネットワークの処理サーバに配置し、アプリルールの配置においては取得したステートを共に配置する
付記12に記載のルール分配方法。
(付記14)
イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバに接続されたコンピュータに、
イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出する処理、
アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定処理、
前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成処理、
アプリルールとルール生成部で生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録処理
を実行させるプログラム。
(付記15)
アプリルールの内容から処理ルールがフロントエンド処理サーバに登録可能かどうかを判定するルール登録可否処理をさらに実行させ、
前記ルール登録可否処理では、前記ルール登録可否判定処理で、アプリルールが登録可能と判定され、かつ、各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合には、該アプリルールを該フロントエンドネットワークに登録する
付記14に記載のプログラム。
(付記16)
前記ルール生成処理では、
アプリルールに、時間幅tの間に発生するイベントを処理対象とするような時間幅tが指定されるときに、該時間幅が所定値以下であれば、該アプリルールをフロントエンド処理サーバに登録可とし、
該時間幅が所定値以下でなければ、該アプリルールが複数のイベントの統計値を算出する処理かどうかを判定し、統計値を算出する処理でなければ、該アプリルールを登録不可とし、
統計値を算出する処理であれば、該アプリルールで指定される処理が、デバイスから発生する各イベントに対して、該イベントが発生した時刻から過去時間幅tの間に発生したイベントに対して処理を行うスライディングウィンドウ処理か、イベントの発生時刻によらず、所定の時刻から時間幅tの間に発生したイベントに対して処理を行う固定ウィンドウ処理かを判定し、固定ウィンドウ処理であれば、該アプリルールを登録可とし、スライディングウィンドウ処理であれば、該アプリルールを登録不可とする
付記15のプログラム。
(付記17)
バックエンド処理サーバが受信したイベントの情報を取得し、イベント発生元ネットワーク解決表を生成するイベント発生元ネットワーク検出処理をさらに実行させ、
前記イベント発生元ネットワーク検出処理では、属性の集合のべき集合の各要素にあたる属性値と、受信したイベントが、その要素の全ての属性値と一致した場合に、該要素と、該イベントの発生元ネットワークのIDとで特定される計数値に1を加算し、所定値以上の前記要素と前記イベントの発生元ネットワークのIDとで特定される計数値について、当該要素と当該発生元ネットワークのID以外のネットワークのIDとで特定される計数値のいずれもが0である場合、属性値条件を該要素とし、それ以外の属性値条件を任意の値とするイベント条件を生成し、生成したイベント条件と、前記発生元ネットワークIDとのペアをイベント発生元ネットワーク解決表に追加する
付記14から16のいずれかに記載のプログラム。
(付記18)
前記ルール生成処理では、アプリルールをフロントエンド処理サーバに登録するときに、該アプリルールの処理に必要なイベントを該フロントエンド処理サーバに転送する転送ルールを生成し、該フロンエンド処理サーバ以外のフロントエンド処理サーバに登録する
付記14から17のいずれかに記載のプログラム。
(付記19)
イベント発生元ネットワーク解決表の変更を基にルールの再配置を行うルール再配置処理をさらに実行させ、
前記ルール再配置処理では、イベント発生元ネットワーク解決表が変更されると、バックエンド処理サーバをターゲット処理サーバとし、該変更が既存のイベント条件に対応するイベント発生元ネットワークIDの変更である場合、さらに、変更前のイベント発生元ネットワークIDに対応する処理サーバをターゲット処理サーバとし、
前記アプリルール配置先決定処理とルール生成処理は、ターゲット処理サーバが保持するアプリルールに対して、転送ルールの生成と、該アプリルールと生成した転送ルールの配置先の算出を行い、
前記ルール再配置部は、前記算出結果が、イベント発生元ネットワーク解決表の更新前の内容と異なる場合、該アプリルールが登録されている処理サーバから該アプリルールに対するステートを取得し、該アプリルールとそれに対するステートと転送ルールとを、それを保持している処理サーバから削除し、新たに生成したルール配置表のルールを、対応するネットワークの処理サーバに配置し、アプリルールの配置においては取得したステートを共に配置する
付記18に記載のプログラム。
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
この出願は、2012年10月23日に出願された日本出願特願2012−233373を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 フロントエンド処理サーバ
20 バックエンド処理サーバ
30 ルール分配サーバ
31 イベント発生元NW解決部
32 アプリルール配置先決定部
33 ルール生成部
34 ルール登録部
35 ルール登録可否判定部
36 イベント発生元NW検出部
37 ルール再配置部

Claims (9)

  1. アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配サーバであって、
    イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、
    アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、
    前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、
    アプリルールとルール生成部で生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録部と
    を備えるルール分配サーバ。
  2. アプリルールの内容から処理ルールがフロントエンド処理サーバに登録可能かどうかを判定するルール登録可否判定部をさらに備え、
    前記ルール生成部は、前記ルール登録可否判定部で、アプリルールが登録可能と判定され、かつ、各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合には、該アプリルールを該フロントエンドネットワークに登録する
    請求項1に記載のルール分配サーバ。
  3. 前記ルール生成部は、
    アプリルールに、時間幅tの間に発生するイベントを処理対象とするような時間幅tが指定されるときに、該時間幅が所定値以下であれば、該アプリルールをフロントエンド処理サーバに登録可とし、
    該時間幅が所定値以下でなければ、該アプリルールが複数のイベントの統計値を算出する処理かどうかを判定し、統計値を算出する処理でなければ、該アプリルールを登録不可とし、
    統計値を算出する処理であれば、該アプリルールで指定される処理が、デバイスから発生する各イベントに対して、該イベントが発生した時刻から過去時間幅tの間に発生したイベントに対して処理を行うスライディングウィンドウ処理か、イベントの発生時刻によらず、所定の時刻から時間幅tの間に発生したイベントに対して処理を行う固定ウィンドウ処理かを判定し、固定ウィンドウ処理であれば、該アプリルールを登録可とし、スライディングウィンドウ処理であれば、該アプリルールを登録不可とする
    請求項2のルール分配サーバ。
  4. バックエンド処理サーバが受信したイベントの情報を取得し、イベント発生元ネットワーク解決表を生成するイベント発生元ネットワーク検出部をさらに備え、
    前記イベント発生元ネットワーク検出部は、属性の集合のべき集合の各要素にあたる属性値と、受信したイベントが、その要素の全ての属性値と一致した場合に、該要素と、該イベントの発生元ネットワークのIDとで特定される計数値に1を加算し、所定値以上の前記要素と前記イベントの発生元ネットワークのIDとで特定される計数値について、当該要素と当該発生元ネットワークのID以外のネットワークのIDとで特定される計数値のいずれもが0である場合、属性値条件を該要素とし、それ以外の属性値条件を任意の値とするイベント条件を生成し、生成したイベント条件と、前記発生元ネットワークIDとのペアをイベント発生元ネットワーク解決表に追加する
    請求項1から3のいずれかに記載のルール分配サーバ。
  5. 前記ルール生成部は、アプリルールをフロントエンド処理サーバに登録するときに、該アプリルールの処理に必要なイベントを該フロントエンド処理サーバに転送する転送ルールを生成し、該フロンエンド処理サーバ以外のフロントエンド処理サーバに登録する
    請求項1から4のいずれかに記載のルール分配サーバ。
  6. イベント発生元ネットワーク解決表の変更を基にルールの再配置を行うルール再配置部をさらに備え、
    前記ルール再配置部は、イベント発生元ネットワーク解決表が変更されると、バックエンド処理サーバをターゲット処理サーバとし、該変更が既存のイベント条件に対応するイベント発生元ネットワークIDの変更である場合、さらに、変更前のイベント発生元ネットワークIDに対応する処理サーバをターゲット処理サーバとし、
    前記アプリルール配置先決定部とルール生成部は、ターゲット処理サーバが保持するアプリルールに対して、転送ルールの生成と、該アプリルールと生成した転送ルールの配置先の算出を行い、
    前記ルール再配置部は、前記算出結果が、イベント発生元ネットワーク解決表の更新前の内容と異なる場合、該アプリルールが登録されている処理サーバから該アプリルールに対するステートを取得し、該アプリルールとそれに対するステートと転送ルールとを、それを保持している処理サーバから削除し、新たに生成したルール配置表のルールを、対応するネットワークの処理サーバに配置し、アプリルールの配置においては取得したステートを共に配置する
    請求項5に記載のルール分配サーバ。
  7. イベント発生源が接続するフロントエンドネットワークに接続されるフロントエンド処理サーバと、各フロントエンドネットワークの処理サーバから収集したイベントを処理するバックエンド処理サーバと、アプリケーションから登録されるアプリルールから各処理サーバに登録する転送ルールを生成し、該アプリルールと生成した転送ルールを処理サーバに配置するルール分配サーバと、を備え、
    前記ルール分配サーバは、
    イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出するイベント発生元ネットワーク解決部と、
    アプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに登録し、そうでない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定部と、
    前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンドネットワークに接続された処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成部と、
    アプリルールとルール生成部で生成した転送ルールを処理サーバに登録するルール登録部と
    を備えるイベント処理システム。
  8. アプリケーションサーバからイベント処理に関するルールの登録を受けて、イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバにルールを配置するルール分配方法であって、
    コンピュータが、
    イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出し、
    アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定し、
    前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成し、
    前記生成した転送ルールをそれぞれ対応する処理サーバに登録する
    ルール分配方法。
  9. イベント発生源が接続されるフロントエンドネットワークに接続されたフロントエンド処理サーバとバックエンドネットワークに接続されたバックエンド処理サーバに接続されたコンピュータに、
    イベント条件から、該イベント条件に合致するイベントが発生するフロントエンドネットワークのIDを算出する処理、
    アプリケーションから登録されたアプリルールで指定される各イベント条件に合致するイベントが全て同じフロントエンドネットワークで発生する場合、該アプリルールを該フロントエンドネットワークに接続される処理サーバに登録し、発生しない場合、該アプリルールをバックエンド処理サーバに登録すると決定するアプリルール配置先決定処理、
    前記バックエンド処理サーバに登録すると決定されたアプリルールについて、イベント条件ごとに、該イベント条件に合致するイベントが発生するフロントエンド処理サーバを登録先として、イベント条件に合致するイベントをバックエンド処理サーバに転送する処理ルールを生成するルール生成処理、
    前記生成した転送ルールをそれぞれ対応する処理サーバに登録するルール登録処理
    を実行させるプログラム。
JP2014543219A 2012-10-23 2013-10-09 ルール分配サーバ、イベント処理システム、方法及びプログラム Active JP6217644B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012233373 2012-10-23
JP2012233373 2012-10-23
PCT/JP2013/077407 WO2014065115A1 (ja) 2012-10-23 2013-10-09 ルール分配サーバ、イベント処理システム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2014065115A1 JPWO2014065115A1 (ja) 2016-09-08
JP6217644B2 true JP6217644B2 (ja) 2017-10-25

Family

ID=50544495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014543219A Active JP6217644B2 (ja) 2012-10-23 2013-10-09 ルール分配サーバ、イベント処理システム、方法及びプログラム

Country Status (6)

Country Link
US (1) US9736226B2 (ja)
EP (1) EP2913752A4 (ja)
JP (1) JP6217644B2 (ja)
KR (1) KR20150077474A (ja)
CN (1) CN104756079A (ja)
WO (1) WO2014065115A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6547580B2 (ja) * 2015-10-20 2019-07-24 富士通株式会社 分散制御方法、分散制御システム、および分散制御プログラム
KR101856487B1 (ko) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 파싱을 처리하기 위한 컴퓨팅 장치
KR102224771B1 (ko) * 2019-04-24 2021-03-08 주식회사 티맥스티베로 데이터베이스 중단 관리 방법
EP3975607A4 (en) * 2019-05-21 2022-07-13 NEC Corporation COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND SERVER
KR102247247B1 (ko) * 2019-06-05 2021-05-03 주식회사 티맥스티베로 데이터베이스 관리 방법
CN112631740A (zh) * 2019-09-24 2021-04-09 中兴通讯股份有限公司 一种事件处理方法、装置、终端及计算机可读存储介质
CN111309498B (zh) * 2020-02-13 2023-09-15 山东汇贸电子口岸有限公司 请求处理方法、装置及计算机可读介质
KR102388083B1 (ko) * 2020-06-12 2022-04-18 건국대학교 산학협력단 이벤트 기반 비동기식 통신 미들웨어에서의 직접 및 간접 동기식 통신 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101124567A (zh) * 2005-01-06 2008-02-13 特维拉有限公司 消息传递系统中的缓存引擎
US20090089325A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Targeted resource allocation
JP5470720B2 (ja) * 2008-03-07 2014-04-16 日本電気株式会社 イベント処理システムおよびイベント処理方法
JP5299437B2 (ja) * 2008-12-15 2013-09-25 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
WO2010107107A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体
JP5328929B2 (ja) * 2009-11-02 2013-10-30 株式会社日立製作所 サービス設定支援方法

Also Published As

Publication number Publication date
US9736226B2 (en) 2017-08-15
US20150271252A1 (en) 2015-09-24
EP2913752A4 (en) 2016-07-13
CN104756079A (zh) 2015-07-01
WO2014065115A1 (ja) 2014-05-01
KR20150077474A (ko) 2015-07-07
EP2913752A1 (en) 2015-09-02
JPWO2014065115A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
JP6217644B2 (ja) ルール分配サーバ、イベント処理システム、方法及びプログラム
US8635250B2 (en) Methods and systems for deleting large amounts of data from a multitenant database
US8321865B2 (en) Processing of streaming data with a keyed delay
US8843580B2 (en) Criteria-based message publication control and feedback in a publish/subscribe messaging environment
US8874587B2 (en) Tenant placement in multitenant cloud databases with one-to-many data sharing
CN107944000B (zh) 航班运价更新方法、装置、电子设备、存储介质
US10185605B2 (en) In-order message processing with message-dependency handling
US8661083B2 (en) Method and system for implementing sequence start and increment values for a resequencer
US11620177B2 (en) Alerting system having a network of stateful transformation nodes
US20130013549A1 (en) Hardware-assisted approach for local triangle counting in graphs
US20160036665A1 (en) Data verification based upgrades in time series system
US20120215873A1 (en) Failure-controlled message publication and feedback in a publish/subscribe messaging environment
US9514176B2 (en) Database update notification method
CN112860342A (zh) 微服务配置的方法、装置、设备、系统以及存储介质
US10812322B2 (en) Systems and methods for real time streaming
US8254391B2 (en) Method and system for performing blocking of messages on errors in message stream
KR20090005367A (ko) 이벤트 모니터의 동작의 방법, 컴퓨터 판독가능 매체 및 작업 아이템 이벤트 모니터
CN114978936A (zh) 一种共享服务平台的升级方法、系统及存储介质
CN104580428A (zh) 一种数据路由方法、数据管理装置和分布式存储系统
CN110609731A (zh) 用于管理虚拟机的方法、设备和计算机程序产品
CN114860782A (zh) 数据查询方法、装置、设备及介质
CN114449040A (zh) 基于云平台的配置下发方法及装置
CN112182003A (zh) 一种数据同步方法和装置
CN110262756B (zh) 用于缓存数据的方法和装置
CN118193519A (zh) 一种数据处理方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R150 Certificate of patent or registration of utility model

Ref document number: 6217644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150