JP5327315B2 - Event processing system, event processing method, rule distribution device, and program storage medium - Google Patents

Event processing system, event processing method, rule distribution device, and program storage medium Download PDF

Info

Publication number
JP5327315B2
JP5327315B2 JP2011504891A JP2011504891A JP5327315B2 JP 5327315 B2 JP5327315 B2 JP 5327315B2 JP 2011504891 A JP2011504891 A JP 2011504891A JP 2011504891 A JP2011504891 A JP 2011504891A JP 5327315 B2 JP5327315 B2 JP 5327315B2
Authority
JP
Japan
Prior art keywords
event
external
rule
processing
local
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.)
Expired - Fee Related
Application number
JP2011504891A
Other languages
Japanese (ja)
Other versions
JPWO2010107107A1 (en
Inventor
和彦 磯山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011504891A priority Critical patent/JP5327315B2/en
Publication of JPWO2010107107A1 publication Critical patent/JPWO2010107107A1/en
Application granted granted Critical
Publication of JP5327315B2 publication Critical patent/JP5327315B2/en
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

Description

本発明は、イベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体に関し、特にRFID(Radio Frequency Identification)、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体に関する。   The present invention relates to an event processing system, an event processing method, a rule distribution device, and a program storage medium. The present invention relates to an event processing method, a rule distribution device, and a program storage medium.

デバイスなどから大量に発生するイベントを処理するシステムの一例が特許第4161998号公報に記載されている。図17に特許第4161998号公報の負荷分散振り分けシステムを示す。図17を参照すると、負荷分散振り分けシステムは、イベント処理分散器501、コンテキスト非依存振り分け器502、複数のコンテキスト依存振り分け器(ディスパッチャ)503a、503b(以下、503と略称)、及び複数のイベント処理サーバ504a、504b(以下、504と略称)により構成される。イベント処理を求めるアプリケーション506a、506b(以下、506と略称)は、イベントの処理ルールをイベント処理分散器501に送信する(矢印511)。処理ルールを受信したイベント処理分散器501は、イベント処理サーバ504の負荷が均等になるように、かつ同じイベントに関するイベント処理は同じサーバで行われるように、処理ルールをイベント処理サーバ504に設定する(矢印512)。
例えば、RFIDシステムにおいて、アプリケーション506が、ある製品を製造するために必要な全ての部材のRFIDタグを全て検出したい場合、アプリケーション506は、「ある製品の全ての部材のRFIDタグを全て検出したらアプリケーションに通知する」という処理ルールを生成し、イベント処理分散器501に送信する。イベント処理分散器501は、この処理ルールを、例えば、イベント処理サーバ504aに設定する。
イベント処理分散器501は、処理されるイベントがそのイベントに関する処理ルールを設定された処理サーバに転送されるように、全てのコンテキスト依存振り分け器503にイベント振り分けルール(ディスパッチルール)を設定する(矢印513a、513b)。
上記に示した例の場合、イベント処理分散器501は、「その製品に関する部材のRFIDタグの検出イベントは、イベント処理サーバ504aに転送する」というイベント振り分けルールをコンテキスト依存振り分け器503(ディスパッチャ)に設定する。
これにより、デバイス等のイベント発生源505a、505b(以下、505と略称)から発生したイベントは、コンテキスト依存イベント振り分け器503(ディスパッチャ)により、そのイベントに関する処理ルールが設定されたイベント処理サーバ504に転送される(矢印514a、514b、515a、515b、516a、516b、516c、516d)。イベント処理サーバ504は、処理ルールに基づきイベントを処理し、処理結果をアプリケーション506に通知する(矢印517a、517b)。
An example of a system that processes a large number of events generated from a device or the like is described in Japanese Patent No. 4161998. FIG. 17 shows a load distribution distribution system disclosed in Japanese Patent No. 41611998. Referring to FIG. 17, the load distribution distribution system includes an event processing distribution unit 501, a context-independent distribution unit 502, a plurality of context-dependent distribution units (dispatchers) 503a and 503b (hereinafter abbreviated as 503), and a plurality of event processes. The servers 504a and 504b (hereinafter abbreviated as 504) are configured. The applications 506a and 506b (hereinafter abbreviated as 506) that request event processing transmit event processing rules to the event processing distributor 501 (arrow 511). The event processing distributor 501 that has received the processing rule sets the processing rule in the event processing server 504 so that the load on the event processing server 504 is equalized, and event processing related to the same event is performed by the same server. (Arrow 512).
For example, in the RFID system, when the application 506 wants to detect all the RFID tags of all the members necessary for manufacturing a certain product, the application 506 reads “If all the RFID tags of all the members of a certain product are detected, the application Process rule "is sent to the event processing distributor 501. The event processing distributor 501 sets this processing rule, for example, in the event processing server 504a.
The event processing distributor 501 sets an event distribution rule (dispatch rule) in all the context-dependent distribution units 503 so that the event to be processed is transferred to the processing server for which the processing rule related to the event is set (arrow) 513a, 513b).
In the case of the example shown above, the event processing distributor 501 sets the event distribution rule that “the detection event of the RFID tag of the member related to the product is transferred to the event processing server 504a” to the context-dependent distributor 503 (dispatcher). Set.
As a result, an event generated from an event generation source 505a, 505b (hereinafter abbreviated as 505) such as a device is sent to the event processing server 504 in which a processing rule related to the event is set by the context-dependent event distributor 503 (dispatcher). (Arrows 514a, 514b, 515a, 515b, 516a, 516b, 516c, 516d). The event processing server 504 processes the event based on the processing rule, and notifies the processing result to the application 506 (arrows 517a and 517b).

特許第4161998号公報の負荷分散振り分けシステムのように、ディスパッチャを複数分散配置したシステムでは、イベント振り分けルールに合致するイベントがどのディスパッチャで受信できるか予測できない。従って、イベント処理分散器は、どのディスパッチャでイベントを受信した場合でも、そのイベントに関する処理ルールを設定されたイベント処理サーバに該イベントが転送できるように、生成したディスパッチルールを、全てのディスパッチャに設定する。
そのため、アプリケーションの数が増え、イベントの処理ルールが増えると、処理ルールは複数の処理サーバに分散配置されるが、ディスパッチャに設定されるディスパッチルールは増大し、ディスパッチルールの検索に伴う処理の負荷が大きくなるという課題があった。
本発明の目的は、上述した課題を解決し、アプリケーションの数が増え、イベントの処理ルールが増えても、ディスパッチャに設定されるディスパッチルールの増大を抑制することができるイベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体を提供することにある。
In a system in which a plurality of dispatchers are distributed like the load distribution distribution system of Japanese Patent No. 4161998, it is impossible to predict which dispatcher can receive an event that matches the event distribution rule. Therefore, the event processing distributor sets the generated dispatch rule to all dispatchers so that the event can be transferred to the event processing server for which the processing rule related to the event is set regardless of which dispatcher receives the event. To do.
Therefore, as the number of applications increases and the event processing rules increase, the processing rules are distributed and distributed to multiple processing servers, but the dispatch rules set in the dispatcher increase, and the processing load associated with dispatch rule search There was a problem of increasing.
An object of the present invention is to solve the above-described problems, an event processing system and an event processing method capable of suppressing an increase in dispatch rules set in a dispatcher even when the number of applications increases and an event processing rule increases. It is to provide a rule distribution device and a program storage medium.

本発明のイベント処理システムは、イベント発生源からイベントを受信する複数の外部ディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、前記複数のローカルシステムのそれぞれは、前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、前記イベントを前記外部ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記複数の外部ディスパッチャのそれぞれは、前記イベントを前記イベント発生源から受信した場合、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送することを特徴とする。
本発明のルール分配装置は、少なくとも1つの処理サーバと少なくとも1つのローカルディスパッチャとを有するローカルシステム内に設けられ、アプリケーションサーバから受信した処理ルールを前記ローカルシステムのいずれか1つの前記処理サーバに設定する処理ルール設定部と、当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定するディスパッチルール設定部とを備えたことを特徴とする。
本発明のイベント処理方法は、ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定し、前記外部ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記外部ディスパッチャは、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記ローカルシステムが、前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知することを特徴とする。
本発明のプログラム記録媒体は、コンピュータに、アプリケーションサーバから受信した処理ルールを少なくとも1つの処理サーバと少なくとも1つのローカルディスパッチャとを有するローカルシステムのいずれか1つの前記処理サーバに設定し、当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定する処理を実行させる。
The event processing system of the present invention includes a plurality of external dispatchers that receive events from an event generation source and a plurality of local systems that transmit event processing results to an application server, and each of the plurality of local systems includes the application When a processing rule including an event condition indicating an event condition to be processed is received from a server, an aggregate event condition is generated by aggregating a plurality of the event conditions, the aggregate event condition is set as an external event condition, and the local system is When an external dispatch rule that is a transfer destination of the event that matches an external event condition is generated, the external dispatch rule is set in the external dispatcher, and the event is received from the external dispatcher, the processing rule is Processing the event, the processing result of the event, and notifies the application server of the transmission source of the processing rule,
When each of the plurality of external dispatchers receives the event from the event generation source, each of the plurality of external dispatchers refers to the external dispatch rule, and sends the event to the local system of the transfer destination corresponding to the external event condition that matches the event. It is characterized by transferring.
The rule distribution device of the present invention is provided in a local system having at least one processing server and at least one local dispatcher, and sets processing rules received from an application server to any one of the processing servers of the local system. And a local dispatch rule that uses the processing server as a transfer destination of an event that matches the event condition included in the processing rule, and sets the local dispatch rule in the local dispatcher of the local system. Generating an aggregated event condition that aggregates a plurality of the event conditions, setting the aggregated event condition as an external event condition, and using the local system as a transfer destination of the event that matches the external event condition Generates Le, characterized in that a dispatch rule setting unit which sets the external dispatch rule to external dispatcher.
In the event processing method of the present invention, when the local system receives a processing rule including an event condition indicating an event condition to be processed from the application server, the local system sets an aggregate event condition obtained by aggregating a plurality of the event conditions. Generate the aggregate event condition as an external event condition, generate an external dispatch rule with the local system as a transfer destination of the event that matches the external event condition, set the external dispatch rule in the external dispatcher, and When the external dispatcher receives the event from the event generation source, the external dispatcher refers to the external dispatch rule and transfers the event to the local system of the transfer destination corresponding to the external event condition that matches the event. When the local system receives the event from the external dispatcher, the local system processes the event according to the processing rule and sends the processing result of the event to the application server that is the transmission source of the processing rule. It is characterized by notifying.
The program recording medium of the present invention sets a processing rule received from an application server to any one of the processing servers of a local system having at least one processing server and at least one local dispatcher. A local dispatch rule is generated as a transfer destination of an event that matches an event condition included in the processing rule, the local dispatch rule is set in the local dispatcher of the local system, and a plurality of event conditions are aggregated Generate an event condition, set the aggregated event condition as an external event condition, generate an external dispatch rule with the local system as the transfer destination of the event that matches the external event condition, and generate the external dispatch To execute a process of setting Lumpur external dispatcher.

本発明の効果は、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができることである。   The effect of the present invention is that an increase in dispatch rules accompanying an increase in processing rules can be suppressed in an event processing system.

本発明の第一の実施の形態におけるイベント処理システム全体の構成を示す図である。It is a figure which shows the structure of the whole event processing system in 1st embodiment of this invention. 本発明の第一の実施の形態におけるローカルシステム100の構成を示す図である。It is a figure which shows the structure of the local system 100 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるディスパッチルールの設定動作を示すシーケンス図である。It is a sequence diagram which shows the setting operation | movement of the dispatch rule in 1st embodiment of this invention. 本発明の第一の実施の形態におけるイベント処理の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the event process in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール202の例を示す図である。It is a figure which shows the example of the process rule 202 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール設定情報211の例を示す図である。It is a figure which shows the example of the process rule setting information 211 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるローカルディスパッチルール203の例を示す図である。It is a figure which shows the example of the local dispatch rule 203 in 1st embodiment of this invention. 本発明の第一の実施の形態における、ローカルシステム100で生成される外部ディスパッチルール204の例を示す図である。It is a figure which shows the example of the external dispatch rule 204 produced | generated by the local system 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における、外部ディスパッチャに設定された外部ディスパッチルール204の例を示す図である。It is a figure which shows the example of the external dispatch rule 204 set to the external dispatcher in 1st embodiment of this invention. 本発明の第一の実施の形態におけるイベント201の例を示す図である。It is a figure which shows the example of the event 201 in 1st embodiment of this invention. 本発明の第一の実施の形態の特徴的な構成を示す図である。It is a figure which shows the characteristic structure of 1st embodiment of this invention. 本発明の第二の実施の形態におけるイベント処理システム全体の構成を示す図である。It is a figure which shows the structure of the whole event processing system in 2nd embodiment of this invention. 本発明の第二の実施の形態におけるローカルシステム100の構成を示す図である。It is a figure which shows the structure of the local system 100 in 2nd embodiment of this invention. 本発明の第二の実施の形態におけるイベント処理の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the event process in 2nd embodiment of this invention. 本発明の第二の実施の形態における、ローカルシステム100で生成される外部ディスパッチルール204の例を示す図である。It is a figure which shows the example of the external dispatch rule 204 produced | generated by the local system 100 in 2nd embodiment of this invention. 本発明の第二の実施の形態における、外部ディスパッチャに設定された外部ディスパッチルール204の例を示す図である。It is a figure which shows the example of the external dispatch rule 204 set to the external dispatcher in 2nd embodiment of this invention. 特許第4161998号公報の負荷分散振り分けシステムの構成を示す図である。It is a figure which shows the structure of the load distribution distribution system of the patent 4161998 gazette.

100 ローカルシステム
110 ルール分配部
111 処理ルール設定部
112 処理ルール分配アルゴリズム記憶部
113 処理ルール設定情報記憶部
114 ディスパッチルール設定部
115 イベント廃棄カウンタ
120 処理サーバ
130 ローカルディスパッチャ
140 外部ディスパッチャ
150 イベント発生源
160 アプリケーションサーバ
201 イベント
202 処理ルール
203 ローカルディスパッチルール
204 外部ディスパッチルール
205 イベント処理結果
211 処理ルール設定情報
DESCRIPTION OF SYMBOLS 100 Local system 110 Rule distribution part 111 Processing rule setting part 112 Processing rule distribution algorithm memory | storage part 113 Processing rule setting information storage part 114 Dispatch rule setting part 115 Event discard counter 120 Processing server 130 Local dispatcher 140 External dispatcher 150 Event generation source 160 Application Server 201 Event 202 Processing rule 203 Local dispatch rule 204 External dispatch rule 205 Event processing result 211 Processing rule setting information

(第一の実施の形態)
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第一の実施の形態におけるイベント処理システム全体の構成図である。図1を参照すると、本発明のイベント処理システムの第一の実施の形態は、ネットワーク(図示せず)上に設置される複数のローカルシステム100、複数の外部ディスパッチャ140、イベント発生源150、及びアプリケーションサーバ160を備える。
ここで、ローカルシステム100は、それぞれ識別子LS1、LS2の2つのローカルシステムを有する。また、複数の外部ディスパッチャ140は、それぞれ識別子GD1〜GD4の4つのディスパッチャを有する。イベント発生源150は、それぞれ識別子G1〜G8の8つのイベント発生源を有する。また、アプリケーションサーバ160は、それぞれ識別子AS11、AS12、AS13、AS21、AS22、AS23の6つのアプリケーションサーバを有する。
なお、各図面および以下の説明において、引用番号に続く()内の符号は、識別子を示すものとする。たとえば、ローカルシステム100(LS1)は、識別子LS1のローカルシステムを示し、アプリケーションサーバ160(AS11)は、識別子AS11のアプリケーションサーバを示す。このような表記は、処理ルールにおいても同様とする。
イベント発生源150は、検出した情報をイベント201としてローカルシステム100に送信する。イベント発生源150は、情報を検出してローカルシステム100に送信できるものであれば、どのようなものでもよい。
イベント発生源150としては、例えば、RFIDリーダや磁気カードリーダ等、非接触あるいは接触型の情報読み取り装置や、温度、気圧、加速度等を検出する各種センサ等がある。
イベント発生源150が送信するイベント201には、「ある時刻でイベント発生源150が検出した情報(例えば、ある時刻において検出されたRFIDタグの識別子や、温度、気圧、加速度等)」に加え、「当該イベント発生源が検出する情報の種別(イベント発生源種別)」、「当該イベント発生源の識別子(イベント発生源識別子)」、「検出された情報の検出時刻等の関連情報」等が属性情報(イベント属性情報)として含まれる。
外部ディスパッチャ140は、イベント201をイベント発生源150から受信した場合、外部ディスパッチルール204を参照し、当該イベント201をローカルシステム100へ転送する。
アプリケーションサーバ160は、イベント発生源150において検出されたイベント201に対して各種情報処理を行うアプリケーションが動作するサーバである。アプリケーションサーバ160は、イベント発生源150により検出されたイベント201に対してローカルシステム100において行われた処理の結果に対して各種情報処理を行う。また、アプリケーションサーバ160は、ローカルシステム100が処理するイベント201の条件を指定したイベント条件と、当該イベント条件に合致したイベント201に対してローカルシステム100が行う処理内容を含む処理ルール202とをローカルシステム100に送信する。
ローカルシステム100は、アプリケーションサーバ160から受信した処理ルール202をもとに外部ディスパッチルール204を生成し、当該外部ディスパッチルール204を外部ディスパッチャ140に設定する。また、ローカルシステム100は、外部ディスパッチャ140からイベント201を受信した場合、処理ルール202に従ってイベント201を処理し、当該イベント201の処理結果(イベント処理結果205)をアプリケーションサーバ160に送信する。
ローカルシステム100は、更に、ルール分配部110、少なくとも1つの処理サーバ120、及び少なくとも1つのローカルディスパッチャ130より構成される。図1は、ローカルシステム100が、複数の処理サーバ120と1つのローカルディスパッチャ130とを有する場合を示している。ここで、処理サーバ102は、それぞれ識別子PS11、PS12、PS13、PS21、PS22、PS23の6つの処理サーバを有する。処理サーバ202(PS11、PS12、PS13)は、ローカルシステム100(LS1)に配置され、処理サーバ202(PS21、PS22、PS23)は、ローカルシステム100(LS2)に配置されている。
ローカルシステム100のルール分配部110は、処理ルール202の処理サーバ120への設定、ローカルディスパッチルール203の生成、及び外部ディスパッチルール204の生成を行う。処理サーバ120は、処理ルール202に従って、イベント201を処理する。ローカルディスパッチャ130は、イベント201を外部ディスパッチャ140から受信した場合、ローカルディスパッチルール203を参照し、当該イベント201を自ローカルシステム100の処理サーバ120へ転送する。
図2に本発明の第一の実施の形態におけるローカルシステム100の構成を示す。ローカルシステム100のルール分配部110は、更に、処理ルール設定部111、処理ルール分配アルゴリズム記憶部112、処理ルール設定情報記憶部113、及びディスパッチルール設定部114により構成される。
処理ルール設定部111は、アプリケーションサーバ160から処理ルール202を受信した場合、当該処理ルール202を処理する処理サーバ120を決定し、当該処理ルール202を設定する。また、処理ルール分配アルゴリズム記憶部112は、処理ルール202を処理する処理サーバ120を決定するための処理ルール分配アルゴリズム(図示せず)を記憶管理する。処理ルール設定情報記憶部113は、処理ルール202の設定結果を処理ルール設定情報211として記憶管理する。ディスパッチルール設定部114は、ローカルディスパッチルール203を生成し、ローカルディスパッチャ130に設定する。また、ディスパッチルール設定部114は、外部ディスパッチルール204を生成し、外部ディスパッチャ140に設定する。
なお、ルール分配部110、処理サーバ120、ローカルディスパッチャ130、外部ディスパッチャ140、イベント発生源150、及びアプリケーションサーバ160は、それぞれプログラム制御によって動作する情報処理装置であってもよい。また、これらのうちのいくつかを一つの装置として構成してもよい。
次に、本発明の第一の実施の形態の動作について図面を参照して説明する。
はじめに、本発明の第一の実施の形態におけるディスパッチルールの設定動作について説明する。図3は、本発明の第一の実施の形態におけるディスパッチルールの設定動作を示すシーケンス図である。
はじめに、各アプリケーションサーバ160がイベント201の処理を要求するローカルシステム100は予め決められており、各アプリケーションサーバ160に設定されているものとする。同様に、各イベント発生源150がイベント201を送信する外部ディスパッチャ140も予め決められており、各イベント発生源150に設定されているものとする。アプリケーションサーバ160におけるローカルシステム100に関する上記の設定は、管理者が直接ローカルシステム100を指定することにより設定してもよいし、各アプリケーションサーバ160が、ネットワーク上の距離に基づいて、近くのローカルシステム100を検出して設定してもよい。同様に、イベント発生源150における外部ディスパッチャ140に関する上記の設定は、管理者が直接外部ディスパッチャ140を指定することにより設定してもよいし、各イベント発生源150が、ネットワーク上の距離に基づいて、近くの外部ディスパッチャ140を検出して設定してもよい。
イベント201の処理を要求するアプリケーションサーバ160は、処理ルール202をローカルシステム100に送信する(ステップS101)。
ここで、処理ルール202は、図5に示すように、処理ルール識別子R11、R12、R21、R22と、各ルール識別子と関連付けた、ローカルシステム100が処理するイベント201の条件を指定したイベント条件、及び当該イベント条件に合致したイベント201に対してローカルシステム100が行う処理内容とを含む。
図5は、ローカルシステム100(LS1)が処理ルール202(R11、R12)、ローカルシステム100(LS2)が処理ルール202(R21、R22)を受信した場合の例を示している。図5の例では、ローカルシステム100(LS1)の処理ルール202(PR11)に、イベント条件としてイベント発生源種別(ここではRFID)と検出情報(RFIDタグのTagID=1〜3)とが指定されている。また、このイベント条件に対する処理サーバ120の処理内容として、″アプリケーションサーバAS11へ通知″が指定されている。
ローカルシステム100が処理ルール202を受信すると、ルール分配部110の処理ルール設定部111は、処理ルール分配アルゴリズム記憶部112に記憶された処理ルール分配アルゴリズムと処理ルール設定情報記憶部113に記憶された処理ルール設定情報211とを参照し、当該処理ルール202を処理する処理サーバ120を決定する(ステップS102)。ローカルシステム100は決定した処理サーバ120に処理ルール202を設定する(ステップS103)。処理ルール設定部111は、処理ルール設定情報211を更新し、更新された処理ルール設定情報211を処理ルール設定情報記憶部113に保存する(ステップS104)。
ここで、処理ルール分配アルゴリズムとしては、例えば、処理内容に応じて処理サーバ120の負荷が均等となるように処理ルール202を振り分ける方法や、特許第4161998号公報に記載されているように、イベント条件が同一の処理ルール202を同一の処理サーバ120に振り分ける方法がある。
また、処理ルール設定情報211は、図6に示すように、処理サーバ識別子と設定された処理ルール202の識別子とを含む。
図6は、ローカルシステム100(LS1)の処理サーバ(PS11、PS12)、及びローカルシステム100(LS2)の処理サーバ(PS21、PS22)に設定された処理ルール202の例を示している。図6の例では、ローカルシステム100(LS1)の処理サーバ120(PS11)に処理ルール202(PR11)が設定されている。この設定により、処理サーバ120(PS11)は、処理ルール202(R11)を処理することになる。
ディスパッチルール設定部114は、処理ルール202を設定した処理サーバ120を当該処理ルール202のイベント条件に合致するイベント201の転送先としたローカルディスパッチルール203を生成する(ステップS105)。
ローカルディスパッチルール203は、図7に示すように、ローカルディスパッチルール識別子DRL11、DRL12、DRL21、DRL22と、各ルール識別子と関連付けた、イベント条件、及び転送先の処理サーバ120の識別子とを含む。
図7は、ローカルシステム100(LS1)が生成するローカルディスパッチルール203(DRL11、DRL12)、及びローカルシステム100(LS2)が生成するローカルディスパッチルール203(DRL21、DRL22)の例を示している。図7の例では、ローカルシステム100(LS1)のローカルディスパッチルール203(DRL11)として、イベント条件に処理ルール202(PR11)のイベント条件(イベント発生源種別:RFID、検出情報:TagID=1〜3)、転送先に処理ルール202(PR11)を処理する処理サーバ120の識別子(PS11)が設定されている。
ディスパッチルール設定部114は、生成したローカルディスパッチルール203をローカルディスパッチャ130に設定する(ステップS106)。
ディスパッチルール設定部114は、複数の処理ルール202のイベント条件を集約した集約イベント条件を生成し、外部イベント条件を当該集約イベント条件とし、自ローカルシステム100を当該外部イベント条件に合致するイベント201の転送先とした外部ディスパッチルール204(集約あり)を生成する(ステップS107)。
ここで、イベント条件の集約方法としては、例えば、イベント条件が、検出情報の値で指定されている場合、複数のイベント条件を含むような値の範囲を、集約イベント条件としてもよい。
例えば、ローカルシステム100(LS1)に、図5のような処理ルール202(PR11、PR12)が設定されている場合、PR11のイベント条件(RFID、TagID=1〜3)、PR12のイベント条件(RFID、TagID=5〜7)を集約し、集約イベント条件(RFID、TagID=1〜7)を生成することができる。
また、イベント条件が1.1、1.3、2.1、2.5のように階層化された値で指定されている場合、複数のイベント条件に共通な階層の値を集約イベント条件としてもよい。この場合、イベント条件1.1、1.3、2.1、2.5に対して、集約イベント条件1・*、2.*(*は任意の数)を生成することができる。
外部ディスパッチルール204は、図8に示すように、外部ディスパッチルール識別子DRG11、DRG12、DRG21、DRG22と、各ルール識別子と関連付けた、外部イベント条件、及びイベント201の転送先となるローカルシステム100の識別子とを含む。
図8は、ローカルシステム100(LS1)が生成する外部ディスパッチルール204(DRG11、DRG12)、及びローカルシステム100(LS2)が生成するディスパッチルール204(DRG21、DRG22)の例を示している。図8の例では、ローカルシステム100(LS1)が生成する外部ディスパッチルール204(DRG11)の外部イベント条件には、図5の処理ルール202(PR11、PR12)のイベント条件を集約した集約イベント条件(RFID、TagID=1〜7)が設定され、転送先には、ローカルシステム100(LS1)の識別子が設定されている。また、ローカルシステム100(LS2)が生成する外部ディスパッチルール204(DRG21)の外部イベント条件には、図5の処理ルール202(PR21、PR22)のイベント条件を集約した集約イベント条件(RFID、TagID=5〜11)が設定され、転送先には、ローカルシステム100(LS2)の識別子が設定されている。
ディスパッチルール設定部114は、生成した外部ディスパッチルール204(集約あり)を外部ディスパッチャ140に設定する(ステップS108)。
例えば、ローカルシステム100(LS1、LS2)が、外部ディスパッチルール204(DRG11、DRG21)を外部ディスパッチャ140にそれぞれ設定した場合、各外部ディスパッチャ140には、図9のような外部ディスパッチルール204が設定される。
次に、本発明の第一の実施の形態におけるイベント処理の動作について説明する。図4は、本発明の第一の実施の形態におけるイベント処理の動作を示すシーケンス図である。
イベント発生源150が検出対象の情報を検出すると、イベント発生源150は検出した情報をイベント201として外部ディスパッチャ140に送信する(ステップS201)。
イベント201は、図10に示すように、イベント識別子131、イベント発生源種別、イベント発生源識別子、検出時刻、検出情報等のイベント属性情報を含むことができる。図10の例では、イベント201(I31)のイベント属性情報として、イベント発生源種別:RFID、イベント発生源識別子:G3、検出情報:TagID=6が設定されている。
外部ディスパッチャ140は、イベント201を受信すると、イベント201に含まれるイベント属性情報が外部ディスパッチルール204の外部イベント条件のいずれかに合致するかどうかを検索する(ステップS202)。合致する外部イベント条件がある場合、外部ディスパッチャ140は、外部ディスパッチルール204を参照し、当該外部イベント条件に対応するローカルシステム100にイベント201を転送する(ステップS203、S204)。
例えば、外部ディスパッチャ140(GD2)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、外部ディスパッチルール204(DRG11、DRG21)の外部イベント条件に合致するため、外部ディスパッチャ140(GD2)は、イベント201(I31)をローカルシステム100(LS1)とローカルシステム100(LS2)とに転送する。
また、外部ディスパッチャ140(GD2)がイベント201(I41)を受信した場合、イベント201(I41)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=4)は、外部ディスパッチルール204(DRG11)の外部イベント条件に合致するため、外部ディスパッチャ140(GD2)は、イベント201(I41)をローカルシステム100(LS1)に転送する。
ローカルシステム100がイベント201を受信すると、ローカルディスパッチャ130は、イベント201に含まれるイベント属性情報がローカルディスパッチルール203のイベント条件のいずれかに合致するかどうかを検索する(ステップS211、S221)。合致するイベント条件がある場合、ローカルディスパッチャ130は、ローカルディスパッチルール203を参照し、当該イベント条件に対応する処理サーバ120にイベント201を転送する(ステップS212、S222)。ここで、合致するイベント条件がない場合は、イベント201を廃棄する。
例えば、ローカルシステム100(LS1)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、ローカルディスパッチルール203(DRL12)のイベント条件に合致するため、ローカルシステム100(LS1)のローカルディスパッチャ130は、イベント201(I31)を処理サーバ120(PS12)に転送する。同様に、ローカルシステム100(LS2)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、ローカルディスパッチルール203(DRL21)のイベント条件に合致するため、ローカルシステム100(LS2)のローカルディスパッチャ130は、イベント201(I31)を処理サーバ120(PS21)に転送する。
また、ローカルシステム100(LS1)がイベント201(I41)を受信した場合、イベント201(I41)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=4)は、ローカルディスパッチルール203のイベント条件に合致しないため、ローカルシステム100(LS1)のローカルディスパッチャ130は、イベント201(I41)を廃棄する。
ローカルシステム100の処理サーバ120がイベント201を受信すると、処理サーバ120は、処理ルール202に従ってイベント201を処理し(ステップS213、S223)、アプリケーションサーバ160へイベント処理結果205を送信する(ステップS214、S224)。
例えば、ローカルシステム100(LS1)の処理サーバ120(PS12)は、イベント処理結果205として、イベント201(I31)をアプリケーションサーバ160(AS12)に送信する。また、ローカルシステム100(LS2)の処理サーバ120(PS21)は、イベント処理結果205として、イベント201(I31)をアプリケーションサーバ160(AS21)に送信する。
以上、図1に示したように、ローカルシステム100配下のイベント発生源150から送信されたイベント201(I31)(TagID=6)は、ローカルシステム100(LS1、LS2)に転送され、イベント処理結果205がアプリケーションサーバ160(AS12、21)へ送信される。
以上により、本発明の第一の実施の形態の動作が完了する。
次に、図11に第一の実施の形態の特徴的な構成を示す。
イベント処理システムは、イベント発生源150からイベント201を受信する複数の外部ディスパッチャ140と、アプリケーションサーバ160へイベント処理結果205を送信する複数のローカルシステム100とを備える。
ここで、ローカルシステム100は、アプリケーションサーバ160から処理するイベント201の条件を示すイベント条件を含む処理ルール202を受信し、複数のイベント条件を集約した集約イベント条件を生成する。ローカルシステム100は、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致するイベント201の転送先とした外部ディスパッチルール204を生成し、当該外部ディスパッチルール204を外部ディスパッチャ140に設定する。そして、ローカルシステム100は、イベント201を外部ディスパッチャ140から受信した場合、処理ルール202に従って当該イベント201を処理し、イベント処理結果205を、当該処理ルール202の送信元のアプリケーションサーバ160に通知する。
また、外部ディスパッチャ140は、イベント201をイベント発生源150から受信した場合、外部ディスパッチルール204を参照し、当該イベント201に合致する外部イベント条件に対応した転送先のローカルシステム100に当該イベント201を転送する。
本発明の第一の実施の形態によれば、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができる。その理由は、ローカルシステム100が、複数のイベント条件を集約した集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致するイベント201の転送先とした外部ディスパッチルール204を外部ディスパッチャ140に設定するためである。
(第二の実施の形態)
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
本発明の第二の実施の形態では、ローカルディスパッチャ130において廃棄されるイベント201の数が多い場合は、イベント条件の集約を中止し、外部ディスパッチャ140がローカルシステム100において廃棄されるイベント201を当該ローカルシステム100に転送することを抑止する。
本発明の第二の実施の形態においては、ローカルシステム100のローカルディスパッチャ130が、廃棄されるイベント数をカウントし、当該廃棄されるイベント数が所定の値を超えると、外部ディスパッチルール204を再設定する点において、本発明の第一の実施の形態と異なる。
なお、本発明の第二の実施の形態において、第一の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第一の実施の形態と同一であるものとする。
図12に本発明の第二の実施の形態におけるイベント処理システム全体の構成図を、図13に本発明の第二の実施の形態におけるローカルシステム100の構成を示す。図13を参照すると、ローカルシステム100のローカルディスパッチャ130は、イベント201の廃棄数をカウントするイベント廃棄カウンタ115を更に備える。
ローカルディスパッチャ130は、ローカルディスパッチルール203に合致せず廃棄したイベント201の数をイベント廃棄カウンタ115にてカウントする。また、イベント廃棄カウンタ115の内容を定期的にディスパッチ統計情報206としてディスパッチルール設定部114に送信する。
ディスパッチルール設定部114は、ローカルディスパッチャ130から受信したイベント廃棄カウンタ115の値を参照し、イベント201の廃棄数が所定の閾値を超えていた場合、イベント条件の集約を中止し、外部ディスパッチルール204を再設定する。
次に、本発明の第二の実施の形態の動作について説明する。
本発明の第二の実施の形態におけるディスパッチルールの設定動作については、本発明の第一の実施の形態(図3)と同様となる。ここでは、各外部ディスパッチャ140には、本発明の第一の実施の形態と同様に、図5の処理ルール202に基づいて、図9のような外部ディスパッチルール204が設定されているものとする。
次に、本発明の第二の実施の形態におけるイベント処理の動作について説明する。図14は、本発明の第二の実施の形態におけるイベント処理の動作を示すシーケンス図である。
イベント発生源150がイベント201を送信してから、ローカルディスパッチャ130がローカルディスパッチルール203のイベント条件を検索するまでの処理(ステップS301からS311)は、第一の実施の形態(ステップS201からS211)と同様となる。
ステップS311において、ローカルディスパッチルール203のイベント条件にイベント201のイベント属性情報と合致するイベント条件がない場合、ローカルディスパッチャ130は、イベント201を廃棄する。この場合、ローカルディスパッチャ130は、イベント廃棄カウンタ115に1を加算する(ステップS312)。
例えば、ローカルシステム100(LS1)がイベント201(I41)を受信した場合、イベント201(I41)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=4)は、ローカルディスパッチルール203のイベント条件に合致しないため、ローカルディスパッチャ130は、イベント201(I41)を廃棄し、イベント廃棄カウンタ115に1を加算する。
なお、イベント廃棄カウンタ115の値は、所定の周期で0にリセットされるものとする。
ローカルディスパッチャ130は、所定の周期でイベント廃棄カウンタ115の値をディスパッチ統計情報206として、ルール分配部110のディスパッチルール設定部114に送信する(ステップS313)。
ディスパッチルール設定部114は、ローカルディスパッチャ130から受信したイベント廃棄カウンタ115の値を参照し、所定の廃棄数閾値と比較する(ステップS314)。
ここで、イベント廃棄カウンタ115の値が廃棄数閾値を超えていた場合、ディスパッチルール設定部114は、各処理ルール202のイベント条件(集約していないイベント条件)を外部イベント条件とし、自ローカルシステム100を当該外部イベント条件に合致するイベント201の転送先とした外部ディスパッチルール204(集約なし)を生成する(ステップS315)。
例えば、ローカルシステム100(LS1)は、図5の処理ルール202(PR11、PR12)のイベント条件を外部イベント条件に設定し、転送先にローカルシステム100(LS1)の識別子を設定した、図15の外部ディスパッチルール204(DRG12、DRG13)を再生成する。
ディスパッチルール設定部114は、生成した外部ディスパッチルール204(集約なし)を外部ディスパッチャ140に設定する(ステップS316)。これにより、ローカルディスパッチャ130にて廃棄されていたイベント201と同じイベント属性情報を有するイベント201は、外部ディスパッチルール204の外部イベント条件に合致しないため、外部ディスパッチャ140にて廃棄される(ステップS317、S318)。
例えば、ローカルシステム100(LS1)が、外部ディスパッチルール204(DRG12、DRG13)を外部ディスパッチャ140に設定した場合、各外部ディスパッチャ140には、図16のような外部ディスパッチルール204が設定される。これにより、例えば、外部ディスパッチャ140(GD2)がイベント201(I41)と同じイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=4)のイベント201を受信した場合、当該イベント201のイベント属性情報は、外部ディスパッチルール204の外部イベント条件に合致せず、外部ディスパッチャ140(GD2)は、当該イベント201を廃棄する。
ディスパッチルール設定部114は、外部ディスパッチルール204(集約なし)を設定した後の経過時間をカウントし(ステップS319)、所定の時間経過すると、再度、複数の処理ルール202のイベント条件を集約した集約イベント条件を生成し、集約イベント条件を外部イベント条件とした外部ディスパッチルール204(集約あり)を生成する(ステップS320)。ディスパッチルール設定部114は、生成した外部ディスパッチルール204(集約あり)を外部ディスパッチャ140に設定する(ステップS321)。
以上により、本発明の第二の実施の形態の動作が完了する。
本発明の第二の実施の形態によれば、外部ディスパッチャがイベント条件を集約した外部ディスパッチルールに基づきローカルシステムにイベントを転送するイベント処理システムにおいて、外部ディスパッチャによる無駄なイベント転送を減らすことができる。その理由は、ローカルシステム100が、イベント条件のいずれにも合致しないイベント201の数が所定の閾値を超えた場合、イベント条件の集約を中止し、イベント条件のそれぞれを外部イベント条件とした外部ディスパッチルール204を外部ディスパッチャ140に再設定するためである。
また、本発明の第二の実施の形態によれば、外部ディスパッチャがイベント条件を集約した外部ディスパッチルールに基づきローカルシステムにイベントを転送するイベント処理システムにおいて、外部ディスパッチャによる無駄なイベント転送が多発する期間を除いて、ディスパッチルールの数を小さくするように、ディスパッチルールの数を調整できる。その理由は、ローカルシステム100が、イベント条件の集約をしない外部ディスパッチルール204を外部ディスパッチャ140に再設定した後、所定の時間経過した場合、集約イベント条件を外部イベント条件とした外部ディスパッチルール204を外部ディスパッチャ140に再設定するためである。
本発明の効果は、イベント処理システムにおいて、処理ルールの増加に伴うディスパッチルールの増大を抑制することができることである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月17日に出願された日本出願特願2009−063720を基礎とする優先権を主張し、その開示の全てをここに取り込む。
(First embodiment)
Next, a first embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of the entire event processing system according to the first embodiment of the present invention. Referring to FIG. 1, the first embodiment of the event processing system of the present invention includes a plurality of local systems 100 installed on a network (not shown), a plurality of external dispatchers 140, an event source 150, and An application server 160 is provided.
Here, the local system 100 has two local systems with identifiers LS1 and LS2, respectively. The plurality of external dispatchers 140 have four dispatchers with identifiers GD1 to GD4, respectively. The event generation source 150 has eight event generation sources with identifiers G1 to G8, respectively. The application server 160 has six application servers with identifiers AS11, AS12, AS13, AS21, AS22, and AS23, respectively.
In each drawing and the following description, the symbol in parentheses following the reference number indicates an identifier. For example, the local system 100 (LS1) indicates the local system with the identifier LS1, and the application server 160 (AS11) indicates the application server with the identifier AS11. This is the same for the processing rules.
The event generation source 150 transmits the detected information to the local system 100 as an event 201. The event generation source 150 may be anything as long as it can detect information and transmit it to the local system 100.
Examples of the event generation source 150 include a non-contact or contact-type information reading device such as an RFID reader and a magnetic card reader, and various sensors for detecting temperature, atmospheric pressure, acceleration, and the like.
In addition to “information detected by the event generation source 150 at a certain time (for example, an identifier of an RFID tag detected at a certain time, temperature, atmospheric pressure, acceleration, etc.)” in the event 201 transmitted by the event generation source 150, Attributes such as “type of information detected by the event source (event source type)”, “identifier of the event source (event source identifier)”, “related information such as detection time of detected information”, etc. It is included as information (event attribute information).
When receiving the event 201 from the event generation source 150, the external dispatcher 140 refers to the external dispatch rule 204 and transfers the event 201 to the local system 100.
The application server 160 is a server on which an application that performs various types of information processing on the event 201 detected in the event generation source 150 operates. The application server 160 performs various types of information processing on the results of processing performed in the local system 100 for the event 201 detected by the event generation source 150. In addition, the application server 160 localizes an event condition specifying the condition of the event 201 to be processed by the local system 100 and a processing rule 202 including the processing content performed by the local system 100 for the event 201 that matches the event condition. To system 100.
The local system 100 generates an external dispatch rule 204 based on the processing rule 202 received from the application server 160 and sets the external dispatch rule 204 in the external dispatcher 140. When the local system 100 receives the event 201 from the external dispatcher 140, the local system 100 processes the event 201 according to the processing rule 202, and transmits the processing result (event processing result 205) of the event 201 to the application server 160.
The local system 100 further includes a rule distribution unit 110, at least one processing server 120, and at least one local dispatcher 130. FIG. 1 shows a case where the local system 100 includes a plurality of processing servers 120 and one local dispatcher 130. Here, the processing server 102 has six processing servers with identifiers PS11, PS12, PS13, PS21, PS22, and PS23, respectively. The processing server 202 (PS11, PS12, PS13) is arranged in the local system 100 (LS1), and the processing server 202 (PS21, PS22, PS23) is arranged in the local system 100 (LS2).
The rule distribution unit 110 of the local system 100 performs setting of the processing rule 202 to the processing server 120, generation of the local dispatch rule 203, and generation of the external dispatch rule 204. The processing server 120 processes the event 201 according to the processing rule 202. When the local dispatcher 130 receives the event 201 from the external dispatcher 140, the local dispatcher 130 refers to the local dispatch rule 203 and transfers the event 201 to the processing server 120 of the local system 100.
FIG. 2 shows the configuration of the local system 100 in the first embodiment of the present invention. The rule distribution unit 110 of the local system 100 further includes a processing rule setting unit 111, a processing rule distribution algorithm storage unit 112, a processing rule setting information storage unit 113, and a dispatch rule setting unit 114.
When the processing rule setting unit 111 receives the processing rule 202 from the application server 160, the processing rule setting unit 111 determines the processing server 120 that processes the processing rule 202 and sets the processing rule 202. The processing rule distribution algorithm storage unit 112 stores and manages a processing rule distribution algorithm (not shown) for determining the processing server 120 that processes the processing rule 202. The processing rule setting information storage unit 113 stores and manages the setting result of the processing rule 202 as processing rule setting information 211. The dispatch rule setting unit 114 generates a local dispatch rule 203 and sets it in the local dispatcher 130. In addition, the dispatch rule setting unit 114 generates an external dispatch rule 204 and sets it in the external dispatcher 140.
Note that the rule distribution unit 110, the processing server 120, the local dispatcher 130, the external dispatcher 140, the event generation source 150, and the application server 160 may be information processing devices that operate under program control. Some of these may be configured as one device.
Next, the operation of the first embodiment of the present invention will be described with reference to the drawings.
First, the dispatch rule setting operation in the first embodiment of the present invention will be described. FIG. 3 is a sequence diagram showing a dispatch rule setting operation in the first embodiment of the present invention.
First, it is assumed that the local system 100 from which each application server 160 requests the processing of the event 201 is determined in advance and set in each application server 160. Similarly, it is assumed that the external dispatcher 140 from which each event generation source 150 transmits the event 201 is also determined in advance and set to each event generation source 150. The above-described setting for the local system 100 in the application server 160 may be set by an administrator directly specifying the local system 100, or each application server 160 may be set to a nearby local system based on the distance on the network. 100 may be detected and set. Similarly, the above setting regarding the external dispatcher 140 at the event source 150 may be set by the administrator directly specifying the external dispatcher 140, or each event source 150 may be set based on the distance on the network. Alternatively, a nearby external dispatcher 140 may be detected and set.
The application server 160 that requests processing of the event 201 transmits the processing rule 202 to the local system 100 (step S101).
Here, as shown in FIG. 5, the processing rule 202 includes processing rule identifiers R11, R12, R21, and R22, event conditions that specify the conditions of the event 201 that the local system 100 processes, associated with each rule identifier, And processing performed by the local system 100 for the event 201 that matches the event condition.
FIG. 5 shows an example in which the local system 100 (LS1) receives the processing rule 202 (R11, R12) and the local system 100 (LS2) receives the processing rule 202 (R21, R22). In the example of FIG. 5, the event generation source type (RFID here) and detection information (RFID tag TagID = 1 to 3) are specified as event conditions in the processing rule 202 (PR11) of the local system 100 (LS1). ing. Further, “notify to application server AS11” is designated as the processing contents of the processing server 120 for this event condition.
When the local system 100 receives the processing rule 202, the processing rule setting unit 111 of the rule distribution unit 110 stores the processing rule distribution algorithm stored in the processing rule distribution algorithm storage unit 112 and the processing rule setting information storage unit 113. With reference to the processing rule setting information 211, the processing server 120 that processes the processing rule 202 is determined (step S102). The local system 100 sets the processing rule 202 in the determined processing server 120 (step S103). The processing rule setting unit 111 updates the processing rule setting information 211, and stores the updated processing rule setting information 211 in the processing rule setting information storage unit 113 (step S104).
Here, as the processing rule distribution algorithm, for example, a method of distributing the processing rules 202 so that the load of the processing server 120 is equalized according to the processing content, or an event as described in Japanese Patent No. 4161998 is disclosed. There is a method of distributing processing rules 202 having the same conditions to the same processing server 120.
Further, as shown in FIG. 6, the processing rule setting information 211 includes a processing server identifier and an identifier of the set processing rule 202.
FIG. 6 shows an example of the processing rules 202 set in the processing servers (PS11, PS12) of the local system 100 (LS1) and the processing servers (PS21, PS22) of the local system 100 (LS2). In the example of FIG. 6, the processing rule 202 (PR11) is set in the processing server 120 (PS11) of the local system 100 (LS1). With this setting, the processing server 120 (PS11) processes the processing rule 202 (R11).
The dispatch rule setting unit 114 generates a local dispatch rule 203 with the processing server 120 set with the processing rule 202 as a transfer destination of the event 201 that matches the event condition of the processing rule 202 (step S105).
As shown in FIG. 7, the local dispatch rule 203 includes local dispatch rule identifiers DRL11, DRL12, DRL21, and DRL22, an event condition associated with each rule identifier, and an identifier of the processing server 120 that is a transfer destination.
FIG. 7 shows an example of the local dispatch rule 203 (DRL11, DRL12) generated by the local system 100 (LS1) and the local dispatch rule 203 (DRL21, DRL22) generated by the local system 100 (LS2). In the example of FIG. 7, as the local dispatch rule 203 (DRL11) of the local system 100 (LS1), the event condition (event generation source type: RFID, detection information: TagID = 1 to 3) is set as the event condition. ), The identifier (PS11) of the processing server 120 that processes the processing rule 202 (PR11) is set as the transfer destination.
The dispatch rule setting unit 114 sets the generated local dispatch rule 203 in the local dispatcher 130 (step S106).
The dispatch rule setting unit 114 generates an aggregate event condition obtained by aggregating the event conditions of the plurality of processing rules 202, sets the external event condition as the aggregate event condition, and sets the local local system 100 for the event 201 that matches the external event condition. An external dispatch rule 204 (with aggregation) as a transfer destination is generated (step S107).
Here, as an event condition aggregation method, for example, when an event condition is specified by a value of detection information, a range of values including a plurality of event conditions may be set as the aggregation event condition.
For example, when the processing rule 202 (PR11, PR12) as shown in FIG. 5 is set in the local system 100 (LS1), the PR11 event condition (RFID, TagID = 1 to 3), the PR12 event condition (RFID , TagID = 5-7) can be aggregated to generate an aggregate event condition (RFID, TagID = 1-7).
In addition, when the event condition is specified by a hierarchical value such as 1.1, 1.3, 2.1, 2.5, the value of the hierarchy common to a plurality of event conditions is used as the aggregate event condition Also good. In this case, for the event conditions 1.1, 1.3, 2.1, 2.5, the aggregated event conditions 1 *, 2. * (* Is an arbitrary number) can be generated.
As shown in FIG. 8, the external dispatch rule 204 includes the external dispatch rule identifiers DRG11, DRG12, DRG21, and DRG22, the external event condition associated with each rule identifier, and the identifier of the local system 100 that is the transfer destination of the event 201. Including.
FIG. 8 shows an example of the external dispatch rule 204 (DRG11, DRG12) generated by the local system 100 (LS1) and the dispatch rule 204 (DRG21, DRG22) generated by the local system 100 (LS2). In the example of FIG. 8, the external event condition of the external dispatch rule 204 (DRG11) generated by the local system 100 (LS1) is an aggregated event condition that aggregates the event conditions of the processing rule 202 (PR11, PR12) of FIG. RFID, TagID = 1-7) is set, and the identifier of the local system 100 (LS1) is set as the transfer destination. Further, the external event condition of the external dispatch rule 204 (DRG 21) generated by the local system 100 (LS2) includes an aggregate event condition (RFID, TagID =) that aggregates the event conditions of the processing rule 202 (PR21, PR22) of FIG. 5-11) is set, and the identifier of the local system 100 (LS2) is set as the transfer destination.
The dispatch rule setting unit 114 sets the generated external dispatch rule 204 (with aggregation) in the external dispatcher 140 (step S108).
For example, when the local system 100 (LS1, LS2) sets the external dispatch rule 204 (DRG11, DRG21) in the external dispatcher 140, the external dispatch rule 204 as shown in FIG. 9 is set in each external dispatcher 140. The
Next, the event processing operation in the first embodiment of the present invention will be described. FIG. 4 is a sequence diagram showing an event processing operation in the first embodiment of the present invention.
When the event generation source 150 detects information to be detected, the event generation source 150 transmits the detected information to the external dispatcher 140 as an event 201 (step S201).
As shown in FIG. 10, the event 201 can include event attribute information such as an event identifier 131, an event generation source type, an event generation source identifier, a detection time, and detection information. In the example of FIG. 10, event generation source type: RFID, event generation source identifier: G3, and detection information: TagID = 6 are set as event attribute information of event 201 (I31).
When receiving the event 201, the external dispatcher 140 searches whether or not the event attribute information included in the event 201 matches any of the external event conditions of the external dispatch rule 204 (step S202). If there is a matching external event condition, the external dispatcher 140 refers to the external dispatch rule 204 and transfers the event 201 to the local system 100 corresponding to the external event condition (steps S203 and S204).
For example, when the external dispatcher 140 (GD2) receives the event 201 (I31), the event attribute information (event source type: RFID, detection information: TagID = 6) of the event 201 (I31) is stored in the external dispatch rule 204 ( The external dispatcher 140 (GD2) transfers the event 201 (I31) to the local system 100 (LS1) and the local system 100 (LS2) in order to meet the external event conditions of the DRG11 and DRG21).
When the external dispatcher 140 (GD2) receives the event 201 (I41), the event attribute information (event source type: RFID, detection information: TagID = 4) of the event 201 (I41) is stored in the external dispatch rule 204 ( In order to meet the external event condition of the DRG 11), the external dispatcher 140 (GD2) transfers the event 201 (I41) to the local system 100 (LS1).
When the local system 100 receives the event 201, the local dispatcher 130 searches whether the event attribute information included in the event 201 matches any of the event conditions of the local dispatch rule 203 (steps S211 and S221). If there is a matching event condition, the local dispatcher 130 refers to the local dispatch rule 203 and transfers the event 201 to the processing server 120 corresponding to the event condition (steps S212 and S222). If there is no matching event condition, the event 201 is discarded.
For example, when the local system 100 (LS1) receives the event 201 (I31), the event attribute information (event source type: RFID, detection information: TagID = 6) of the event 201 (I31) is the local dispatch rule 203 ( In order to meet the event condition of the DRL 12), the local dispatcher 130 of the local system 100 (LS1) transfers the event 201 (I31) to the processing server 120 (PS12). Similarly, when the local system 100 (LS2) receives the event 201 (I31), the event attribute information (event source type: RFID, detection information: TagID = 6) of the event 201 (I31) is the local dispatch rule 203. Since the event condition of (DRL21) is met, the local dispatcher 130 of the local system 100 (LS2) transfers the event 201 (I31) to the processing server 120 (PS21).
When the local system 100 (LS1) receives the event 201 (I41), the event attribute information (event source type: RFID, detection information: TagID = 4) of the event 201 (I41) Since the event condition is not met, the local dispatcher 130 of the local system 100 (LS1) discards the event 201 (I41).
When the processing server 120 of the local system 100 receives the event 201, the processing server 120 processes the event 201 according to the processing rule 202 (steps S213 and S223), and transmits the event processing result 205 to the application server 160 (step S214, S224).
For example, the processing server 120 (PS12) of the local system 100 (LS1) transmits the event 201 (I31) to the application server 160 (AS12) as the event processing result 205. Further, the processing server 120 (PS21) of the local system 100 (LS2) transmits the event 201 (I31) to the application server 160 (AS21) as the event processing result 205.
As described above, the event 201 (I31) (TagID = 6) transmitted from the event generation source 150 under the local system 100 is transferred to the local system 100 (LS1, LS2) as shown in FIG. 205 is transmitted to the application server 160 (AS12, 21).
Thus, the operation of the first embodiment of the present invention is completed.
Next, FIG. 11 shows a characteristic configuration of the first embodiment.
The event processing system includes a plurality of external dispatchers 140 that receive the event 201 from the event generation source 150 and a plurality of local systems 100 that transmit the event processing result 205 to the application server 160.
Here, the local system 100 receives the processing rule 202 including the event condition indicating the condition of the event 201 to be processed from the application server 160, and generates an aggregate event condition in which a plurality of event conditions are aggregated. The local system 100 uses the aggregate event condition as an external event condition, generates an external dispatch rule 204 with the local system as a transfer destination of the event 201 that matches the external event condition, and uses the external dispatch rule 204 as the external dispatcher 140. Set to. When the local system 100 receives the event 201 from the external dispatcher 140, the local system 100 processes the event 201 according to the processing rule 202, and notifies the event processing result 205 to the application server 160 that is the transmission source of the processing rule 202.
When the external dispatcher 140 receives the event 201 from the event generation source 150, the external dispatcher 140 refers to the external dispatch rule 204 and sends the event 201 to the local system 100 that is a transfer destination corresponding to the external event condition that matches the event 201. Forward.
According to the first embodiment of this invention, in the event processing system, it is possible to suppress an increase in dispatch rules accompanying an increase in processing rules. The reason for this is that the local system 100 sets an external event rule that is a consolidated event condition obtained by aggregating a plurality of event conditions as an external event condition, and sets an external dispatch rule 204 as a transfer destination of an event 201 that matches the external event condition. This is because it is set to 140.
(Second embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
In the second embodiment of the present invention, when the number of events 201 discarded in the local dispatcher 130 is large, the aggregation of event conditions is stopped, and the event 201 discarded by the external dispatcher 140 in the local system 100 is Transfer to the local system 100 is suppressed.
In the second embodiment of the present invention, the local dispatcher 130 of the local system 100 counts the number of events to be discarded, and when the number of events to be discarded exceeds a predetermined value, the external dispatch rule 204 is restarted. In the point to set, it differs from 1st embodiment of this invention.
In the second embodiment of the present invention, components having the same reference numerals as those in the first embodiment are the same as those in the first embodiment unless otherwise specified.
FIG. 12 shows the configuration of the entire event processing system according to the second embodiment of the present invention, and FIG. 13 shows the configuration of the local system 100 according to the second embodiment of the present invention. Referring to FIG. 13, the local dispatcher 130 of the local system 100 further includes an event discard counter 115 that counts the number of events 201 discarded.
The local dispatcher 130 counts the number of events 201 that do not match the local dispatch rule 203 and are discarded by the event discard counter 115. Further, the contents of the event discard counter 115 are periodically transmitted to the dispatch rule setting unit 114 as dispatch statistical information 206.
The dispatch rule setting unit 114 refers to the value of the event discard counter 115 received from the local dispatcher 130. When the discard number of the event 201 exceeds a predetermined threshold, the event rule aggregation is stopped, and the external dispatch rule 204 To reset.
Next, the operation of the second embodiment of the present invention will be described.
The dispatch rule setting operation in the second embodiment of the present invention is the same as that in the first embodiment (FIG. 3) of the present invention. Here, as in the first embodiment of the present invention, it is assumed that the external dispatch rule 204 as shown in FIG. 9 is set in each external dispatcher 140 based on the processing rule 202 of FIG. .
Next, the event processing operation in the second embodiment of the present invention will be described. FIG. 14 is a sequence diagram showing an event processing operation according to the second embodiment of the present invention.
Processing from when the event generation source 150 transmits the event 201 to when the local dispatcher 130 searches for the event condition of the local dispatch rule 203 (steps S301 to S311) is the first embodiment (steps S201 to S211). It will be the same.
In step S <b> 311, if there is no event condition that matches the event attribute information of the event 201 in the event condition of the local dispatch rule 203, the local dispatcher 130 discards the event 201. In this case, the local dispatcher 130 adds 1 to the event discard counter 115 (step S312).
For example, when the local system 100 (LS1) receives the event 201 (I41), the event attribute information (event source type: RFID, detection information: TagID = 4) of the event 201 (I41) Since the event condition is not met, the local dispatcher 130 discards the event 201 (I 41) and adds 1 to the event discard counter 115.
Note that the value of the event discard counter 115 is reset to 0 at a predetermined cycle.
The local dispatcher 130 transmits the value of the event discard counter 115 as dispatch statistical information 206 to the dispatch rule setting unit 114 of the rule distribution unit 110 at a predetermined cycle (step S313).
The dispatch rule setting unit 114 refers to the value of the event discard counter 115 received from the local dispatcher 130, and compares it with a predetermined discard number threshold value (step S314).
Here, when the value of the event discard counter 115 exceeds the discard number threshold value, the dispatch rule setting unit 114 sets the event condition (non-aggregated event condition) of each processing rule 202 as an external event condition, and the own local system An external dispatch rule 204 (no aggregation) having 100 as the transfer destination of the event 201 that matches the external event condition is generated (step S315).
For example, the local system 100 (LS1) sets the event condition of the processing rule 202 (PR11, PR12) in FIG. 5 as an external event condition, and sets the identifier of the local system 100 (LS1) as the transfer destination in FIG. The external dispatch rule 204 (DRG12, DRG13) is regenerated.
The dispatch rule setting unit 114 sets the generated external dispatch rule 204 (no aggregation) in the external dispatcher 140 (step S316). As a result, the event 201 having the same event attribute information as the event 201 discarded by the local dispatcher 130 does not match the external event condition of the external dispatch rule 204, and is therefore discarded by the external dispatcher 140 (Step S317, S318).
For example, when the local system 100 (LS1) sets the external dispatch rule 204 (DRG12, DRG13) to the external dispatcher 140, the external dispatch rule 204 as shown in FIG. Thereby, for example, when the external dispatcher 140 (GD2) receives the event 201 of the same event attribute information (event generation type: RFID, detection information: TagID = 4) as the event 201 (I41), the event of the event 201 The attribute information does not match the external event condition of the external dispatch rule 204, and the external dispatcher 140 (GD2) discards the event 201.
The dispatch rule setting unit 114 counts the elapsed time after setting the external dispatch rule 204 (no aggregation) (step S319), and aggregates event conditions of a plurality of processing rules 202 again when a predetermined time elapses. An event condition is generated, and an external dispatch rule 204 (with aggregation) using the aggregate event condition as an external event condition is generated (step S320). The dispatch rule setting unit 114 sets the generated external dispatch rule 204 (with aggregation) in the external dispatcher 140 (step S321).
Thus, the operation of the second embodiment of the present invention is completed.
According to the second embodiment of the present invention, in an event processing system in which an external dispatcher transfers events to a local system based on an external dispatch rule in which event conditions are aggregated, useless event transfer by the external dispatcher can be reduced. . The reason for this is that when the number of events 201 that do not match any of the event conditions exceeds a predetermined threshold, the local system 100 stops the aggregation of the event conditions, and external dispatch using each event condition as an external event condition. This is because the rule 204 is reset in the external dispatcher 140.
In addition, according to the second embodiment of the present invention, in the event processing system in which an external dispatcher transfers events to a local system based on an external dispatch rule in which event conditions are aggregated, unnecessary event transfer by the external dispatcher occurs frequently. Except for the period, the number of dispatch rules can be adjusted to reduce the number of dispatch rules. The reason is that when the local system 100 resets the external dispatch rule 204 that does not aggregate event conditions in the external dispatcher 140 and then a predetermined time has elapsed, the external dispatch rule 204 with the aggregate event condition as the external event condition is set. This is for resetting to the external dispatcher 140.
The effect of the present invention is that an increase in dispatch rules accompanying an increase in processing rules can be suppressed in an event processing system.
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2009-063720 for which it applied on March 17, 2009, and takes in those the indications of all here.

本発明は、RFID、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システムに適用できる。例えば、本発明は、RFIDやセンサからのイベントを利用した物流トレーサビリティシステム、SCEM(Supply Chain Event Management)システム、天候や災害等の環境管理システムに適用できる。   The present invention can be applied to an event processing system that processes events that occur in large quantities from devices such as RFIDs and sensors. For example, the present invention can be applied to a physical distribution traceability system using an event from an RFID or a sensor, a SCEM (Supply Chain Event Management) system, and an environment management system such as weather or disaster.

Claims (10)

イベント発生源からイベントを受信する複数の外部ディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベントを前記外部ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記複数の外部ディスパッチャのそれぞれは、
前記イベントを前記イベント発生源から受信した場合、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送することを特徴とするイベント処理システム。
A plurality of external dispatchers for receiving events from an event source and a plurality of local systems for transmitting event processing results to an application server;
Each of the plurality of local systems is
When a processing rule including an event condition indicating an event condition to be processed is received from the application server, an aggregate event condition obtained by aggregating a plurality of the event conditions is generated, and the aggregate event condition is set as an external event condition. Generate an external dispatch rule with the event transfer destination that matches the external event condition, and set the external dispatch rule in the external dispatcher,
When the event is received from the external dispatcher, the event is processed according to the processing rule, the processing result of the event is notified to the application server that is the transmission source of the processing rule,
When the number of events that do not match any of the event conditions exceeds a predetermined threshold, each of the event conditions is set as the external event condition, and the local event system is forwarded to the event that matches the external event condition. The external dispatch rule is generated, and the external dispatch rule is set in the external dispatcher.
Each of the plurality of external dispatchers is
Event processing characterized in that, when the event is received from the event generation source, the event is transferred to a local system of a transfer destination corresponding to the external event condition that matches the event with reference to the external dispatch rule. system.
前記ローカルシステムのそれぞれは、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項記載のイベント処理システム。 Each of the local systems has the aggregate event condition as the external event condition when a predetermined time has elapsed after setting the external dispatch rule with the external event condition as the external event condition in the external dispatcher. event processing system according to claim 1, wherein the generating an external dispatching rules, and sets the external dispatching rule to the external dispatcher. 前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項1または2に記載のイベント処理システム。 3. The event processing system according to claim 1, wherein, when the event condition is designated by a numerical value, the local system generates a numerical value range including a plurality of the event conditions as the aggregated event condition. . 前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定するディスパッチルール設定部と
を有するルール分配部と、
前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送する少なくとも1つの前記ローカルディスパッチャと
前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理する少なくとも1つの前記処理サーバと
を備えたことを特徴とする請求項1乃至のいずれかに記載のイベント処理システム。
Each of the plurality of local systems is
A processing rule setting unit that sets the processing rule received from the application server in any one processing server of the local system;
Generate a local dispatch rule having the processing server as a transfer destination of the event that matches the event condition included in the processing rule, set the local dispatch rule in a local dispatcher of the local system, and set the external dispatch rule to A rule distribution unit having a dispatch rule setting unit for generating and setting the external dispatch rule in the external dispatcher;
When the event is received from the external dispatcher, at least one local dispatcher that refers to the local dispatch rule and transfers the event to a transfer destination processing server corresponding to the event condition that matches the event ;
In accordance with the processing rule, event handling according to any of claims 1 to 3, characterized in that it comprises at least one of said processing server to process the event that matches the event condition included in the processing rule system.
処理ルールに従って、当該処理ルールに含まれるイベント条件に合致するイベントを処理する少なくとも1つの処理サーバと、外部ディスパッチャから受信した前記イベントをローカルディスパッチルールを参照して当該イベントに合致する前記イベント条件に対応した転送先の前記処理サーバに転送する少なくとも1つのローカルディスパッチャとを有するローカルシステム内に設けられ、
アプリケーションサーバから受信した前記処理ルールを前記ローカルシステムのいずれか1つの前記処理サーバに設定する処理ルール設定部と、
当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを、イベント発生源から受信した前記イベントを前記外部ディスパッチルールを参照して当該イベントに合致する前記外部イベント条件に対応した転送先の前記ローカルシステムに転送する前記外部ディスパッチャに設定し、前記ローカルディスパッチャにおいて前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定するディスパッチルール設定部と
を備えたことを特徴とするルール分配装置。
According to the processing rule, at least one processing server that processes an event that matches the event condition included in the processing rule, and the event condition that matches the event by referring to the local dispatch rule for the event received from the external dispatcher Provided in a local system having at least one local dispatcher to transfer to the processing server of a corresponding transfer destination ,
A processing rule setting unit for setting the processing rule received from the application server to any one the processing server of the local system,
The processing server generates a local dispatch rules that the transfer destination of the event that matches the event condition included in the processing rule, and set the local dispatching rule to the local dispatcher of the local system, a plurality of said event Generates an aggregate event condition that aggregates the conditions, sets the aggregate event condition as an external event condition, generates an external dispatch rule that uses the local system as a transfer destination of the event that matches the external event condition, and generates the external dispatch rule and set to the external dispatcher for forwarding the event received in said local system of a transfer destination that correspond to the external event condition that matches the event by referring to the external dispatch rule from the event source, the row When the number of events that do not match any of the event conditions exceeds a predetermined threshold in the data dispatcher, each of the event conditions is set as the external event condition, and the local system is matched with the external event condition. A rule distribution device comprising: a dispatch rule setting unit that generates the external dispatch rule as a transfer destination and sets the external dispatch rule in the external dispatcher .
ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを外部ディスパッチャに設定し、
前記外部ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記外部ディスパッチャは、前記外部ディスパッチルールを参照し、当該イベントに合致する前記外部イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記ローカルシステムが、前記イベントを前記外部ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ローカルシステムが、前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、自ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とするイベント処理方法。
When the local system receives a processing rule including an event condition indicating an event condition to be processed from the application server, the local system generates an aggregate event condition in which a plurality of the event conditions are aggregated, and the aggregated event condition is As an external event condition, generate an external dispatch rule with the local system as the transfer destination of the event that matches the external event condition, and set the external dispatch rule in the external dispatcher.
When the external dispatcher receives the event from the event generation source, the external dispatcher refers to the external dispatch rule and sends the event to the local system of the transfer destination corresponding to the external event condition that matches the event. Forward,
When the local system receives the event from the external dispatcher, the local system processes the event according to the processing rule, and notifies the processing result of the event to the application server that is the transmission source of the processing rule. And
When the number of events that do not match any of the event conditions exceeds a predetermined threshold, the local system sets each of the event conditions as the external event condition, and matches the local system with the external event condition. An event processing method comprising: generating the external dispatch rule as a transfer destination of the event, and setting the external dispatch rule in the external dispatcher .
前記ローカルシステムは、更に、前記イベント条件のそれぞれを前記外部イベント条件とした前記外部ディスパッチルールを前記外部ディスパッチャに設定後、所定の時間経過した場合、前記集約イベント条件を前記外部イベント条件とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定することを特徴とする請求項記載のイベント処理方法。 The local system further sets the external event rule as the external event condition when a predetermined time has elapsed after setting the external dispatch rule in the external dispatcher with each of the event conditions as the external event condition. The event processing method according to claim 6 , wherein an external dispatch rule is generated and the external dispatch rule is set in the external dispatcher. 前記ローカルシステムは、前記イベント条件が数値で指定される場合、複数の前記イベント条件を含む数値の範囲を前記集約イベント条件として生成することを特徴とする請求項6または7に記載のイベント処理方法。 8. The event processing method according to claim 6 , wherein the local system generates a range of numerical values including a plurality of the event conditions as the aggregate event condition when the event condition is designated by a numerical value. . 前記外部ディスパッチルールの設定において、
前記ローカルシステムのルール分配部が、前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定し、当該処理サーバを当該処理ルールに含まれる前記イベント条件に合致する前記イベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを自ローカルシステムのローカルディスパッチャに設定し、前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定し、
前記イベント処理において、
前記ローカルディスパッチャが、前記ローカルディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の処理サーバに当該イベントを転送し、
前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理することを特徴とする請求項乃至のいずれかに記載のイベント処理方法。
In setting the external dispatch rule,
The rule distribution unit of the local system sets the processing rule received from the application server to any one processing server of the local system, and the processing server matches the event condition included in the processing rule. Generate a local dispatch rule as an event transfer destination, set the local dispatch rule in the local dispatcher of the local system, generate the external dispatch rule, set the external dispatch rule in the external dispatcher,
In the event processing,
The local dispatcher refers to the local dispatch rule, transfers the event to a processing server of a transfer destination corresponding to the event condition that matches the event,
The processing server, in accordance with the processing rule, an event processing method according to any one of claims 6 to 8, wherein processing the event that matches the event condition included in the processing rule.
コンピュータに、
アプリケーションサーバから受信した処理ルールを、前記処理ルールに従って、当該処理ルールに含まれるイベント条件に合致するイベントを処理する少なくとも1つの処理サーバと、外部ディスパッチャから受信した前記イベントをローカルディスパッチルールを参照して当該イベントに合致する前記イベント条件に対応した転送先の前記処理サーバに転送する少なくとも1つのローカルディスパッチャとを有するローカルシステムのいずれか1つの前記処理サーバに設定し、
当該処理サーバを当該処理ルールに含まれるイベント条件に合致するイベントの転送先としたローカルディスパッチルールを生成し、当該ローカルディスパッチルールを前記ローカルシステムの前記ローカルディスパッチャに設定し、複数の前記イベント条件を集約した集約イベント条件を生成し、当該集約イベント条件を外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした外部ディスパッチルールを生成し、当該外部ディスパッチルールを、イベント発生源から受信した前記イベントを前記外部ディスパッチルールを参照して当該イベントに合致する前記外部イベント条件に対応した転送先の前記ローカルシステムに転送する前記外部ディスパッチャに設定し、前記ローカルディスパッチャにおいて前記イベント条件のいずれにも合致しない前記イベントの数が所定の閾値を超えた場合、前記イベント条件のそれぞれを前記外部イベント条件とし、前記ローカルシステムを当該外部イベント条件に合致する前記イベントの転送先とした前記外部ディスパッチルールを生成し、当該外部ディスパッチルールを前記外部ディスパッチャに設定する処理を実行させるルール分配プログラ
On the computer,
In accordance with the processing rule received from the application server, at least one processing server that processes an event that matches the event condition included in the processing rule according to the processing rule, and the event received from the external dispatcher is referred to the local dispatch rule. And setting to any one of the processing servers of a local system having at least one local dispatcher to transfer to the processing server of the transfer destination corresponding to the event condition that matches the event ,
A local dispatch rule having the processing server as a transfer destination of an event that matches an event condition included in the processing rule is generated, the local dispatch rule is set in the local dispatcher of the local system, and a plurality of the event conditions are set. Generate an aggregate event condition that is aggregated, set the aggregate event condition as an external event condition, generate an external dispatch rule that uses the local system as a transfer destination of the event that matches the external event condition , the event received from the event sources with reference to said external dispatch rule set to the external dispatcher for transferring to said local system of a transfer destination that correspond to the external event condition that matches the event, the local di When the number of events that do not match any of the event conditions in a patcher exceeds a predetermined threshold, each of the event conditions is set as the external event condition, and the local system is set to the event that matches the external event condition. generate the external dispatch rule that a transfer destination, the rule distribution program to execute a process of setting the external dispatching rule to the external dispatcher.
JP2011504891A 2009-03-17 2010-03-15 Event processing system, event processing method, rule distribution device, and program storage medium Expired - Fee Related JP5327315B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011504891A JP5327315B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, rule distribution device, and program storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009063720 2009-03-17
JP2009063720 2009-03-17
PCT/JP2010/054759 WO2010107107A1 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, rule distributor, and program storage medium
JP2011504891A JP5327315B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, rule distribution device, and program storage medium

Publications (2)

Publication Number Publication Date
JPWO2010107107A1 JPWO2010107107A1 (en) 2012-09-20
JP5327315B2 true JP5327315B2 (en) 2013-10-30

Family

ID=42739763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011504891A Expired - Fee Related JP5327315B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, rule distribution device, and program storage medium

Country Status (2)

Country Link
JP (1) JP5327315B2 (en)
WO (1) WO2010107107A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212227A (en) * 2011-03-30 2012-11-01 Nec Corp Event processing system, and event processing method and event processing program used for the same
EP2913752A4 (en) 2012-10-23 2016-07-13 Nec Corp Rule distribution server, as well as event processing system, method, and program
JP6330526B2 (en) 2014-07-02 2018-05-30 富士通株式会社 Sensing control program and portable terminal device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06504152A (en) * 1990-12-28 1994-05-12 ロイターズ・リミテッド Apparatus and method for creating user-definable video display documents showing changes in real-time data
JP2001100999A (en) * 1999-09-30 2001-04-13 Mitsubishi Electric Corp Rule base system
JP2007142767A (en) * 2005-11-17 2007-06-07 Univ Of Tsukuba Pattern matching device, its forming method, operation method of network incorrect intrusion detection device using it, and operation method of intrusion prevention system using it

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06504152A (en) * 1990-12-28 1994-05-12 ロイターズ・リミテッド Apparatus and method for creating user-definable video display documents showing changes in real-time data
JP2001100999A (en) * 1999-09-30 2001-04-13 Mitsubishi Electric Corp Rule base system
JP2007142767A (en) * 2005-11-17 2007-06-07 Univ Of Tsukuba Pattern matching device, its forming method, operation method of network incorrect intrusion detection device using it, and operation method of intrusion prevention system using it

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200700250001; 佐藤正、外2名: '「大規模化可能なコンテキストプラットフォームの提案」' 情報処理学会研究報告 第2005巻, 第107号, 20051102, p.5-8, 社団法人情報処理学会 *
CSNG200900173125; 佐藤正、外2名: '「コンテキストアウェアサービスのための分散複合イベント処理」' マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 , 20080702, p.975-981, 社団法人情報処理学会 *
JPN6013030673; 佐藤正、外2名: '「コンテキストアウェアサービスのための分散複合イベント処理」' マルチメディア,分散,協調とモバイル(DICOMO2008)シンポジウム論文集 , 20080702, p.975-981, 社団法人情報処理学会 *
JPN6013030674; 佐藤正、外2名: '「大規模化可能なコンテキストプラットフォームの提案」' 情報処理学会研究報告 第2005巻, 第107号, 20051102, p.5-8, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2010107107A1 (en) 2010-09-23
JPWO2010107107A1 (en) 2012-09-20

Similar Documents

Publication Publication Date Title
US8739185B2 (en) Event processing system, an event processing method, a rule distribution device and a rule distribution program
US8881173B2 (en) Event processing system, distribution controller, event processing method, distribution control method, and program storage medium
CN109040227B (en) Service request response method and device based on block chain and computer equipment
CN104753769A (en) Method and device for issuing messages by message queue
CN103106249A (en) Data parallel processing system based on Cassandra
US10425273B2 (en) Data processing system and data processing method
US20160021177A1 (en) Recording medium storing distribution processing program, distribution processing management apparatus and distribution processing method
WO2015182200A1 (en) Information processing device, information presentation method, and program
JP5327315B2 (en) Event processing system, event processing method, rule distribution device, and program storage medium
US9736226B2 (en) Rule distribution server, event processing system and method, and program
US20150293796A1 (en) Programmable logic controller and event-driven programming method thereof
CN102904961A (en) Method and system for scheduling cloud computing resources
JP5327314B2 (en) Event processing system, event processing method, local system, dispatcher, and program storage medium
WO2012004387A2 (en) Generalized notion of similarities between uncertain time series
US20150304225A1 (en) Data processing apparatus and program
CN110737655A (en) Method and device for reporting data
WO2022177665A1 (en) Distributed virtual data tank for cross service quota management
CN112765212A (en) Data processing method and device for transfer equipment
CN102780760B (en) Method and system for publishing events according to priority levels
CN109522299A (en) Data processing method, device, system and storage medium
CN210183358U (en) Processing system of industrial Internet of things data
JP5560814B2 (en) Load distribution system, load distribution server, and load distribution method
WO2013105176A1 (en) Event processing system, event processing control device, event processing method and program
WO2014199606A1 (en) Load balancer, load-balancing method, storage medium, and event-processing system
US20200371483A1 (en) Output management apparatus, output management method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees