JP5327314B2 - Event processing system, event processing method, local system, dispatcher, and program storage medium - Google Patents

Event processing system, event processing method, local system, dispatcher, and program storage medium Download PDF

Info

Publication number
JP5327314B2
JP5327314B2 JP2011504888A JP2011504888A JP5327314B2 JP 5327314 B2 JP5327314 B2 JP 5327314B2 JP 2011504888 A JP2011504888 A JP 2011504888A JP 2011504888 A JP2011504888 A JP 2011504888A JP 5327314 B2 JP5327314 B2 JP 5327314B2
Authority
JP
Japan
Prior art keywords
processing
event
rule
local system
processing rule
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
JP2011504888A
Other languages
Japanese (ja)
Other versions
JPWO2010107103A1 (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 JP2011504888A priority Critical patent/JP5327314B2/en
Publication of JPWO2010107103A1 publication Critical patent/JPWO2010107103A1/en
Application granted granted Critical
Publication of JP5327314B2 publication Critical patent/JP5327314B2/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Increase in the processing load of a dispatcher incident to replication of an event is minimized in an event processing system in which rule distributors are dispersed and disposed. An event processing system comprises a plurality of dispatchers (140) each transferring an event (201) to a local system (100), and a plurality of local systems (100) each transmitting the results (205) of event processing to an application server (160). When the number of times that the event (201) matches both a dispatch rule (204) based on the processing rule (202) of a local system (100(LS1)) and a dispatch rule (204) based on the processing rule (202) of a local system (100(LS2)) exceeds a predetermined threshold in the dispatcher (140), the processing rule (202) of the local system (100(LS1)) is moved to the local system (100(LS2)), or the processing rule (202) of the local system (100(LS2)) is moved to the local system (100(LS1)).

Description

本発明は、イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体に関し、特にRFID(Radio Frequency Identification)、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体に関する。   The present invention relates to an event processing system, an event processing method, a local system, a dispatcher, and a program storage medium, and more particularly, an event processing system that processes events that occur in large quantities from devices such as RFID (Radio Frequency Identification) and sensors. , An event processing method, a local system, a dispatcher, and a program storage medium.

デバイスなどから大量に発生するイベントを処理するシステムの一例が特許第4161998号公報に記載されている。図31に特許第4161998号公報の負荷分散振り分けシステムを示す。図31を参照すると、負荷分散振り分けシステムは、イベント処理分散器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. 31 shows a load distribution distribution system disclosed in Japanese Patent No. 41611998. Referring to FIG. 31, the load distribution distribution system includes an event processing distribution unit 501 (rule distribution unit), 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 processing servers 504a and 504b (hereinafter abbreviated as 504). 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 described above, the event processing distributor 501 sets an event distribution rule in the context-dependent distribution device 503 that “the detection event of the RFID tag of the member related to the product is transferred to the event processing server 504a”.
As a result, events generated from event generation sources 505a and 505b (hereinafter abbreviated as 505) such as devices are transferred by the context-dependent event distributor 503 to the event processing server 504 in which processing rules relating to the event are set. (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号公報記載の負荷分散振り分けシステムでは、ルール分配器が複数のアプリケーションから処理要求を受け付け、イベント処理サーバへのイベント処理ルールの設定、ディスパッチルールの生成とディスパッチャへの設定を行う必要があった。このため、大規模なシステムでは、ルール分配器の処理負荷が高くなり、システムの処理性能に影響を与えるという問題がある。
この問題を解決するために、ルール分配器をローカルシステム毎に分散配置し、イベント処理ルールの設定、イベント振り分けルールの生成・設定を、ローカルシステム毎に独立して行う方法がある。しかしながら、ルール分配器をローカルシステム毎に分散配置した場合、複数の異なるアプリケーションサーバが、異なるローカルシステムに対して、同じイベント条件の処理要求を行う可能性がある。この場合、複数のローカルシステムが、同じイベント条件のディスパッチルールをディスパッチャに設定するため、ディスパッチャは、1つのイベントを複数のローカルシステムに複製(コピー)して転送する必要があり、ディスパッチャの処理負荷が増大するという課題がある。
本発明の目的は、上述した課題を解決し、ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができるイベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体を提供することにある。
In the load balancing distribution system described in Japanese Patent No. 4161998, the rule distributor needs to accept processing requests from a plurality of applications, set event processing rules in the event processing server, generate dispatch rules, and set them in the dispatcher. there were. For this reason, in a large-scale system, there is a problem that the processing load of the rule distributor becomes high and affects the processing performance of the system.
In order to solve this problem, there is a method in which rule distributors are distributed and arranged for each local system, and event processing rules are set and event distribution rules are generated and set independently for each local system. However, when the rule distributor is distributed for each local system, a plurality of different application servers may request processing of the same event condition to different local systems. In this case, since multiple local systems set dispatch rules for the same event condition in the dispatcher, it is necessary for the dispatcher to replicate (copy) and transfer one event to multiple local systems. There is a problem that increases.
An object of the present invention is an event processing system, an event processing method capable of suppressing an increase in a processing load of a dispatcher accompanying event duplication in an event processing system in which the above-described problems are solved and rule distributors are distributed. It is to provide a local system, a dispatcher, and a program storage medium.

本発明のイベント処理システムは、イベント発生源からイベントを受信する複数のディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、前記複数のローカルシステムのそれぞれは、前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記複数のディスパッチャのそれぞれは、前記イベントを前記イベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記複数のディスパッチャのいずれかにおいて、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
本発明のイベント処理方法は、ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、当該処理ルールを自ローカルシステムに設定し、前記ローカルシステムが、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記ディスパッチャは、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記ローカルシステムが、前記イベントを前記ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャのいずれかにおいて、複数の前記ローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、複数の前記ローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
本発明のローカルシステムは、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動することを特徴とする。
本発明のディスパッチャは、複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
本発明の第一のプログラム記録媒体は、コンピュータに、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する処理を実行させる。
本発明の第二のプログラム記録媒体は、コンピュータに、複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動する処理を実行させる。
The event processing system of the present invention includes a plurality of 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 server When a processing rule including an event condition indicating an event condition to be processed is received, the processing rule is set in the local system, and a dispatch rule having the local system as a transfer destination of the event that matches the event condition is set. If the event is received from the dispatcher, the event is processed according to the processing rule, and the processing result of the event is sent to the application that is the transmission source of the processing rule. When the event is received from the event generation source, each of the plurality of dispatchers refers to the dispatch rule, and transmits the event to the local system of the transfer destination corresponding to the event condition that matches the event. The event is forwarded and set in any one of the plurality of dispatchers by the first local system of the plurality of local systems based on the first processing rule of the processing rules of the first local system. The event condition of the dispatch rule and the dispatch rule set by the second local system of the plurality of local systems based on the second processing rule of the processing rules of the second local system Both in the event condition, If the number of the vent is met exceeds a predetermined threshold value, characterized by moving the first processing rule to the second local system.
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 the processing rule in the local system, When the local system generates a dispatch rule that uses the local system as the transfer destination of the event that matches the event condition, sets the dispatch rule in the dispatcher, and the dispatcher receives the event from the event generation source The dispatcher refers to the dispatch rule, transfers the event to the local system of the transfer destination corresponding to the event condition that matches the event, and the local system receives the event from the dispatcher. In this case, the local system processes the event according to the processing rule, notifies the processing result of the event to the application server that is the transmission source of the processing rule, and a plurality of the local The event condition of the dispatch rule set by the first local system of the systems based on the first processing rule of the processing rules of the first local system, and the first of the plurality of local systems The number of times the event matches the event condition of the dispatch rule set by the second local system based on the second processing rule among the processing rules of the second local system has a predetermined threshold value. If exceeded, the first processing rule is changed to the second processing rule. Characterized in that it moves in over local system.
When the local system of the present invention receives a processing rule including an event condition indicating an event condition to be processed from the application server, the local system sets the processing rule in the local system, and the local system matches the event condition. When a dispatch rule is generated as a transfer destination of an event, the dispatch rule is set in a dispatcher, and the event is received from the dispatcher, the event is processed according to the processing rule, and the processing result of the event is Notifying the application server of the rule transmission source, and in the dispatcher, the event condition of the dispatch rule set by the local system based on the first processing rule of the processing rule of the local system The number of times the event matches the event condition of the dispatch rule set by another local system based on the second processing rule of the processing rules of the other local system exceeds a predetermined threshold In this case, the first processing rule is moved to the other local system.
The dispatcher of the present invention receives, from each of a plurality of local systems, a dispatch rule that uses the local system as a transfer destination of an event that matches the event condition, and when the event is received from an event generation source, The event is transferred to the local system that is the transfer destination corresponding to the event condition that matches the event, and the first local system of the plurality of local systems has a processing rule of the first local system. The event condition of the dispatch rule set based on the first processing rule of the second and the second local system of the plurality of local systems is the second of the processing rules of the second local system The disk set based on the processing rule of To both the event condition Tchiruru, when the number of times that the event is met exceeds a predetermined threshold value, characterized by moving the first processing rule to the second local system.
When the first program recording medium of the present invention receives a processing rule including an event condition indicating an event condition to be processed from the application server, the first program recording medium of the present invention sets the processing rule in the local system, Generate a dispatch rule as a transfer destination of the event that matches the event condition, set the dispatch rule in the dispatcher, and process the event according to the processing rule when the event is received from the dispatcher. The processing result is notified to the application server that is the transmission source of the processing rule, and in the dispatcher, the dispatcher is set by the local system based on the first processing rule of the local processing system. The event matches both the event condition of the dispatch rule and the event condition of the dispatch rule set by another local system based on the second processing rule of the processing rules of the other local system. When the number of times exceeds a predetermined threshold, a process of moving the first processing rule to the other local system is executed.
The second program recording medium of the present invention receives, from each of a plurality of local systems, a dispatch rule that uses the local system as a transfer destination of an event that matches the event condition, and sends the event from the event generation source. When received, the dispatch rule is referred to, the event is transferred to the local system of the transfer destination corresponding to the event condition that matches the event, and the first local system of the plurality of local systems The event condition of the dispatch rule set based on the first processing rule among the processing rules of the first local system, and a second local system of the plurality of local systems is the second local system The second processing rule among the processing rules When the number of times that the event matches both of the event conditions of the dispatch rule set based on the threshold exceeds a predetermined threshold value, a process of moving the first processing rule to the second local system is executed. .

本発明の効果は、ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができることである。   The effect of the present invention is that in an event processing system in which rule distributors are distributed, an increase in the processing load of the dispatcher accompanying event duplication can be suppressed.

本発明の第一の実施の形態におけるイベント処理システム全体の構成を示す図である。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. 本発明の第一の実施の形態におけるディスパッチャ140の構成を示す図である。It is a figure which shows the structure of the dispatcher 140 in 1st embodiment of this invention. 本発明の第一の実施の形態におけるディスパッチルール設定処理の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the dispatch rule setting process in 1st embodiment of this invention. 本発明の第一の実施の形態におけるイベント処理(処理ルール移動前)の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the event process (before a process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール移動処理の動作を示すシーケンス図である。It is a sequence diagram which shows the operation | movement of the process rule movement process in 1st embodiment of this invention. 本発明の第一の実施の形態におけるイベント処理(処理ルール移動後)の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the event process (after a process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール202(処理ルール移動前)の例を示す図である。It is a figure which shows the example of the process rule 202 (before a process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール設定情報211(処理ルール移動前)の例を示す図である。It is a figure which shows the example of the process rule setting information 211 (before a process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態におけるローカルディスパッチルール203(処理ルール移動前)の例を示す図である。It is a figure which shows the example of the local dispatch rule 203 (before a process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における、ローカルシステム100で生成されるディスパッチルール204(処理ルール移動前)の例を示す図である。It is a figure which shows the example of the dispatch rule 204 (before a process rule movement) produced | generated in the local system 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における、ディスパッチャに設定されたディスパッチルール204(処理ルール移動前)の例を示す図である。It is a figure which shows the example of the dispatch rule 204 (before a process rule movement) set to the 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. 本発明の第一の実施の形態における複製回数カウンタ221の例を示す図である。It is a figure which shows the example of the replication frequency counter 221 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール移動要求206の例を示す図である。It is a figure which shows the example of the process rule movement request | requirement 206 in 1st embodiment of this invention. 本発明の第一の実施の形態における負荷情報212の例を示す図である。It is a figure which shows the example of the load information 212 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール受入要求207の例を示す図である。It is a figure which shows the example of the process rule acceptance request | requirement 207 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール受入応答208の例を示す図である。It is a figure which shows the example of the process rule acceptance response 208 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール受入要求207の他の例を示す図である。It is a figure which shows the other example of the process rule acceptance request | requirement 207 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール受入応答208の他の例を示す図である。It is a figure which shows the other example of the process rule acceptance response 208 in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール202(処理ルール移動後)の例を示す図である。It is a figure which shows the example of the processing rule 202 (after a processing rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における処理ルール設定情報211(処理ルール移動後)の例を示す図である。It is a figure which shows the example of the process rule setting information 211 (after process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態におけるローカルディスパッチルール203(処理ルール移動後)の例を示す図である。It is a figure which shows the example of the local dispatch rule 203 (after process rule movement) in 1st embodiment of this invention. 本発明の第一の実施の形態における、ローカルシステム100で生成されるディスパッチルール204(処理ルール移動後)の例を示す図である。It is a figure which shows the example of the dispatch rule 204 (after a process rule movement) produced | generated in the local system 100 in 1st embodiment of this invention. 本発明の第一の実施の形態における、ディスパッチャに設定されたディスパッチルール204(処理ルール移動後)の例を示す図である。It is a figure which shows the example of the dispatch rule 204 (after a process rule movement) set to the dispatcher in 1st embodiment of this invention. 本発明の第一の実施の形態の特徴的な構成を示す図である。It is a figure which shows the characteristic structure of 1st embodiment of this invention. 本発明の第二の実施の形態におけるローカルシステム100の構成を示す図である。It is a figure which shows the structure of the local system 100 in 2nd embodiment of this invention. 本発明の第一の実施の形態における処理結果送信情報213の例を示す図である。It is a figure which shows the example of the process result transmission information 213 in 1st embodiment of this invention. 本発明の第二の実施の形態における処理ルール受入要求207の例を示す図である。It is a figure which shows the example of the process rule acceptance request | requirement 207 in 2nd embodiment of this invention. 本発明の第二の実施の形態における処理ルール受入要求207の他の例を示す図である。It is a figure which shows the other example of the process rule acceptance request | requirement 207 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 ディスパッチルール設定部
120 処理サーバ
130 ローカルディスパッチャ
140 ディスパッチャ
150 イベント発生源
160 アプリケーションサーバ
201 イベント
202 処理ルール
203 ローカルディスパッチルール
204 ディスパッチルール
205 イベント処理結果
206 処理ルール移動要求
207 処理ルール受入要求
208 処理ルール受入応答
211 処理ルール設定情報
212 負荷情報
213 処理結果送信情報
221 複製回数カウンタ
100 local system 110 rule distribution unit 111 processing rule setting unit 112 processing rule distribution algorithm storage unit 113 processing rule setting information storage unit 114 dispatch rule setting unit 120 processing server 130 local dispatcher 140 dispatcher 150 event generation source 160 application server 201 event 202 processing Rule 203 Local dispatch rule 204 Dispatch rule 205 Event processing result 206 Processing rule move request 207 Processing rule acceptance request 208 Processing rule acceptance response 211 Processing rule setting information 212 Load information 213 Processing result transmission information 221 Replication counter

(第一の実施の形態)
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
図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を設定する。また、処理ルール設定部111は、ディスパッチャ140から処理ルール移動要求206を受信すると、他のローカルシステム100に処理ルール受入要求207を送信し、当該他のローカルシステム100へ処理ルール202の移動(受け入れ)を要求する。また、処理ルール設定部111は、他のローカルシステム100から処理ルール受入要求207を受信すると、自ローカルシステム100への処理ルール202の移動(受け入れ)の可否を判断する。処理ルール分配アルゴリズム記憶部112は、処理ルール202を処理する処理サーバ120を決定するための処理ルール分配アルゴリズム(図示せず)を記憶管理する。処理ルール設定情報記憶部113は、処理ルール202の設定結果を処理ルール設定情報211として記憶管理する。ディスパッチルール設定部114は、ローカルディスパッチルール203を生成し、ローカルディスパッチャ130に設定する。また、ディスパッチルール設定部114は、ディスパッチルール204を生成し、ディスパッチャ140に設定する。
ローカルシステム100の処理サーバ120は、処理ルール202に加え、自処理サーバ120の処理負荷の状態を表す負荷情報212を記憶管理する。負荷情報212は、例えば、図16に示すように、処理サーバ120のCPU使用率(%)でもよい。
図16の例では、処理ルール202(R12)を処理する処理サーバ120(PS12)の負荷情報212として、CPU使用率20%が設定され、処理ルール202(R21)を処理する処理サーバ120(PS21)の負荷情報212として、CPU使用率70%が設定されている。
図3に本発明の第一の実施の形態におけるディスパッチャ140の構成を示す。ディスパッチャ140は、ディスパッチルール204に加え、イベント201の複製の回数を記憶管理する複製回数カウンタ221を含む。ディスパッチャ140は、1つのイベント201を複数のローカルシステム100に転送する場合に行われるイベント201の複製の回数が、所定の閾値を超過した場合、処理ルール移動要求206を当該イベント201の転送先のローカルシステム100に送信する。
なお、ルール分配部110、処理サーバ120、ローカルディスパッチャ130、ディスパッチャ140、イベント発生源150、及びアプリケーションサーバ160は、それぞれプログラム制御によって動作する情報処理装置であってもよい。また、これらのうちのいくつかを一つの装置として構成してもよい。
次に、本発明の第一の実施の形態の動作について図面を参照して説明する。
はじめに、本発明の第一の実施の形態におけるディスパッチルール設定処理の動作について説明する。図4は、本発明の第一の実施の形態におけるディスパッチルール設定処理の動作を示すシーケンス図である。
ここで、各アプリケーションサーバ160がイベント201の処理を要求するローカルシステム100は予め決められており、各アプリケーションサーバ160に設定されているものとする。同様に、各イベント発生源150がイベント201を送信するディスパッチャ140も予め決められており、各イベント発生源150に設定されているものとする。アプリケーションサーバ160におけるローカルシステム100に関する上記の設定は、管理者が直接ローカルシステム100を指定することにより設定してもよいし、各アプリケーションサーバ160が、ネットワーク上の距離に基づいて、近くのローカルシステム100を検出して設定してもよい。同様に、イベント発生源150におけるディスパッチャ140に関する上記の設定は、管理者が直接ディスパッチャ140を指定することにより設定してもよいし、各イベント発生源150が、ネットワーク上の距離に基づいて、近くのディスパッチャ140を検出して設定してもよい。
イベント201の処理を要求するアプリケーションサーバ160は、処理ルール202をローカルシステム100に送信する(ステップS101)。
ここで、処理ルール202は、図8に示すように、ルール識別子R11、R12、R21、R22と、各ルール識別子と関連付けた、ローカルシステム100が処理するイベント201の条件を指定したイベント条件、及び当該イベント条件に合致したイベント201に対してローカルシステム100が行う処理内容とを含む。
図8は、ローカルシステム100(LS1)が処理ルール202(R11、R12)、ローカルシステム100(LS2)が処理ルール202(R21、R22)を受信した場合の例を示している。図8の例では、ローカルシステム100(LS1)の処理ルール202(R12)に、イベント条件としてイベント発生源種別(ここではRFID)と検出情報(RFIDタグのTagID=6)とが指定されている。また、このイベント条件に対する処理サーバ120の処理内容として、「アプリケーションサーバAS12へ通知」が指定されている。
ローカルシステム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は、図9に示すように、処理サーバ識別子と設定された処理ルール202のルール識別子とを含む。
図9は、ローカルシステム100(LS1)の処理サーバ(PS11、PS12)、及びローカルシステム100(LS2)の処理サーバ(PS21、PS22)に設定された処理ルール202の例を示している。図9の例では、ローカルシステム100(LS1)の処理サーバ120(PS12)に処理ルール202(R12)が設定されている。この設定により、処理サーバ120(PS12)は、処理ルール202(R12)を処理することになる。
ディスパッチルール設定部114は、処理ルール202を設定した処理サーバ120を当該処理ルール202のイベント条件に合致するイベント201の転送先としたローカルディスパッチルール203を生成する(ステップS105)。
ローカルディスパッチルール203は、図10に示すように、ルール識別子R11、R12、R21、R22と、各ルール識別子と関連付けた、イベント条件、及び転送先の処理サーバ120の識別子とを含む。
図10は、ローカルシステム100(LS1)が生成するローカルディスパッチルール203(R11、R12)、及びローカルシステム100(LS2)が生成するローカルディスパッチルール203(R21、R22)の例を示している。図10の例では、ローカルシステム100(LS1)のローカルディスパッチルール203(R12)として、イベント条件に処理ルール202(R12)のイベント条件(イベント発生源種別:RFID、検出情報:TagID=6)、転送先に処理ルール202(R12)を処理する処理サーバ120の識別子(PS12)が設定されている。
ディスパッチルール設定部114は、生成したローカルディスパッチルール203をローカルディスパッチャ130に設定する(ステップS106)。
ディスパッチルール設定部114は、自ローカルシステム100を処理ルール202のイベント条件に合致するイベント201の転送先としたディスパッチルール204を生成する(ステップS107)。
ディスパッチルール204は、図11に示すように、ルール識別子R11、R12、R21、R22と、各ルール識別子と関連付けた、イベント条件、及びイベント201の転送先となるローカルシステム100の識別子とを含む。
図11は、ローカルシステム100(LS1)が生成するディスパッチルール204(R11、R12)、及びローカルシステム100(LS2)が生成するディスパッチルール204(R21、R22)の例を示している。図11の例では、ローカルシステム100(LS1)が生成するディスパッチルール204(R12)のイベント条件には、図8の処理ルール202(R12)のイベント条件(RFID、TagID=6)が設定され、転送先には、ローカルシステム100(LS1)の識別子が設定されている。
ディスパッチルール設定部114は、生成したディスパッチルール204をディスパッチャ140に設定する(ステップS108)。
例えば、ローカルシステム100(LS1、LS2)が、図11のディスパッチルール204をディスパッチャ140にそれぞれ設定した場合、各ディスパッチャ140には、図12のようなディスパッチルール204が設定される。
次に、本発明の第一の実施の形態におけるイベント処理(処理ルール移動前)の動作について説明する。図5は、本発明の第一の実施の形態におけるイベント処理(処理ルール移動前)の動作を示すシーケンス図である。
イベント発生源150が検出対象の情報を検出すると、イベント発生源150は検出した情報をイベント201としてディスパッチャ140に送信する(ステップS201)。
イベント201は、図13に示すように、イベント識別子I31、イベント発生源種別、イベント発生源識別子、検出時刻、検出情報等のイベント属性情報を含む。図13の例では、イベント201(I31)のイベント属性情報として、イベント発生源種別:RFID、イベント発生源識別子:G3、検出情報:TagID=6が設定されている。
ディスパッチャ140は、イベント201を受信すると、イベント201に含まれるイベント属性情報がディスパッチルール204のイベント条件のいずれかに合致するかどうかを検索する(ステップS202)。合致するイベント条件がある場合、ディスパッチャ140は、ディスパッチルール204を参照し、当該イベント条件に対応するローカルシステム100にイベント201を転送する。ここで、合致するイベント条件が複数存在する場合、ディスパッチャ140は、イベント201を複製(コピー)し(ステップS203)、合致するそれぞれのイベント条件に対応するローカルシステム100にイベント201を転送する(ステップS204、S205)。このとき、ディスパッチャ140は、複製回数カウンタ221によりイベント201の複製の回数、すなわち、イベント201が複数のイベント条件に合致した回数をカウントする(ステップS203)。
複製回数カウンタ221は、図14に示すように、イベント201が合致する複数のイベント条件に対応するルール識別子の組み合わせ、当該ルール識別子の組み合わせに関してイベント201を複製した回数(複製回数)を含む。
例えば、ディスパッチャ140(GD2)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、図12のディスパッチルール204(R12、R21)のイベント条件に合致する。ディスパッチャ140(GD2)は、イベント201(I31)を複製し、ローカルシステム100(LS1)とローカルシステム100(LS2)とに転送する。このとき、ディスパッチャ140(GD2)は、図14の複製回数カウンタ221により、ルール識別子R12、R21の組み合わせに対して、複製回数をカウントする。
なお、複製回数カウンタ221の複製回数は、定期的に0にリセットされるものとする。
ローカルシステム100がイベント201を受信すると、ローカルディスパッチャ130は、イベント201に含まれるイベント属性情報がローカルディスパッチルール203のイベント条件のいずれかに合致するかどうかを検索する(ステップS211、S221)。合致するイベント条件がある場合、ローカルディスパッチャ130は、ローカルディスパッチルール203を参照し、当該イベント条件に対応する処理サーバ120にイベント201を転送する(ステップS212、S222)。
例えば、ローカルシステム100(LS1)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、ローカルディスパッチルール203(R12)のイベント条件に合致するため、ローカルシステム100(LS1)のローカルディスパッチャ130は、イベント201(I31)を処理サーバ120(PS12)に転送する。同様に、ローカルシステム100(LS2)がイベント201(I31)を受信した場合、イベント201(I31)のイベント属性情報(イベント発生源種別:RFID、検出情報:TagID=6)は、ローカルディスパッチルール203(R21)のイベント条件に合致するため、ローカルシステム100(LS2)のローカルディスパッチャ130は、イベント201(I31)を処理サーバ120(PS21)に転送する。
ローカルシステム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)に送信する。
次に、本発明の第一の実施の形態における処理ルール移動処理の動作について説明する。図6は、本発明の第一の実施の形態における処理ルール移動処理の動作を示すシーケンス図である。
ステップS203において、複製回数カウンタ221の複製回数が複製回数閾値を超えた場合、ディスパッチャ140は、当該複製回数が所定の閾値を超えたルール識別子の組み合わせに含まれる各ルール識別子に関し、ディスパッチルール204を参照し、各ルール識別子に対応する転送先のローカルシステム100、すなわち、各ルール識別子のディスパッチルール204を設定したローカルシステム100に、処理ルール移動要求206を送信する(ステップS301、S302)。ここで、複製回数閾値は、予め、ディスパッチャ140に設定されているものとする。
処理ルール移動要求206は、図15に示すように、当該ルール識別子の組み合わせに含まれる各ルール識別子、及び当該ルール識別子に対応する転送先のローカルシステム100の識別子を含む。
例えば、図14の複製回数カウンタ221の複製回数が複製回数閾値を超えた場合、ディスパッチャ140は、図15に示すように、ローカルシステム識別子とルール識別子として、(LS1、R12)、(LS2、R21)を含む処理ルール移動要求206を、ローカルシステム100(LS1、LS2)に送信する。
ローカルシステム100の処理ルール設定部111は、処理ルール移動要求206を受信すると、処理ルール移動要求206に含まれるローカルシステム識別子を参照し、他のローカルシステム100に、処理ルール受入要求207を送信する(ステップS303、S306)。
処理ルール受入要求207は、図17に示すように、ルール識別子、イベント条件、処理内容、負荷情報、及び関連ルール識別子を含む。ここで、ルール識別子は、他のローカルシステム100に移動(受け入れ)を要求する自ローカルシステム100の処理ルール202のルール識別子であり、処理ルール移動要求206に含まれる自ローカルシステム100の処理ルール202のルール識別子が設定される。イベント条件と処理内容とには、当該処理ルール202のイベント条件と処理内容とが設定される。負荷情報には、当該処理ルール202を処理する処理サーバ120の負荷情報212が設定される。関連ルール識別子には、処理ルール移動要求206に含まれる他ローカルシステム100の処理ルール202のルール識別子が設定される。
例えば、ローカルシステム100(LS1)の処理ルール設定部111は、ディスパッチャ140(GD3)から図15の処理ルール移動要求206を受信した場合、図17のような処理ルール受入要求207を処理ルール移動要求206に含まれる他のローカルシステム100(LS2)に送信する。この場合、処理ルール受入要求207のルール識別子には、処理ルール移動要求206に含まれる自ローカルシステム100(LS1)の処理ルール202のルール識別子(R12)が設定される。イベント条件と処理内容とには、処理ルール202(R12)のイベント条件(RFID、TagID=6)と処理内容(AS12へ通知)とが設定される。負荷情報には、処理ルール202(R12)を処理する処理サーバ120(PS12)の負荷情報212(20%)が設定される。関連ルール識別子には、処理ルール移動要求206に含まれる他ローカルシステム100(LS2)の処理ルール202のルール識別子(R21)が設定される。同様に、ローカルシステム100(LS2)の処理ルール設定部111は、ディスパッチャ140(GD3)から図15の処理ルール移動要求206を受信した場合、図19のような処理ルール受入要求207を処理ルール移動要求206に含まれる他のローカルシステム100(LS1)に送信する。
ローカルシステム100の処理ルール設定部111は、処理ルール受入要求207を受信すると、処理ルール受入要求207に含まれる処理ルール202を自ローカルシステム100の処理サーバ120に移動する(受け入れる)ことが可能かどうか判断する(ステップS304、S307)。ここで、処理ルール設定部111は、処理ルール受入要求207に含まれる関連ルール識別子の処理ルール202を処理する処理サーバ120の負荷情報212と処理ルール受入要求207に含まれる負荷情報212とを比較し、処理ルール受入要求207に含まれる負荷情報212が大きい場合、当該処理ルール202を移動可能と判断する。
処理ルール設定部111は、当該処理ルール202を移動可能と判断した場合、図20のような、処理ルール受入応答208(OK:受入OKを示す識別子)を処理ルール受入要求207の送信元のローカルシステム100に送信する(ステップS308)。一方、処理ルール設定部111は、当該処理ルール202を移動不可能と判断した場合、図18のような、処理ルール受入応答208(NG:受入不可を示す識別子)を処理ルール受入要求207の送信元のローカルシステム100に送信する(ステップS305)。
例えば、ローカルシステム100(LS2)の処理ルール設定部111は、ローカルシステム100(LS1)から図17の処理ルール受入要求207を受信した場合、関連ルール識別子の処理ルール202(R21)を処理する処理サーバ120(PS21)の負荷情報212(70%)と処理ルール受入要求207に含まれる負荷情報212(20%)とを比較する。この場合、処理ルール受入要求207に含まれる負荷情報212が小さいため、ローカルシステム100(LS2)の処理ルール設定部111は、処理ルール202(R12)を移動不可能と判断する。ローカルシステム100(LS2)の処理ルール設定部111は、図18の処理ルール受入応答208(NG)をローカルシステム100(LS1)に送信する。
また、ローカルシステム100(LS1)の処理ルール設定部111は、ローカルシステム100(LS2)から図19の処理ルール受入要求207を受信した場合、関連ルール識別子の処理ルール202(R12)を処理する処理サーバ120(PS12)の負荷情報212(20%)と処理ルール受入要求207に含まれる負荷情報212(70%)とを比較する。この場合、処理ルール受入要求207に含まれる負荷情報212が大きいため、ローカルシステム100(LS1)の処理ルール設定部111は、処理ルール202(R21)を移動可能と判断する。ローカルシステム100(LS1)の処理ルール設定部111は、図20の処理ルール受入応答208(OK)をローカルシステム100(LS2)に送信する。
ローカルシステム100の処理ルール設定部111は、処理ルール受入要求207に含まれる処理ルール202を移動可能と判断した場合、当該処理ルール202を処理ルール受入要求207に含まれる関連ルール識別子の処理ルール202を処理する処理サーバ120に設定する(ステップS310)。処理ルール設定部111は、処理ルール設定情報211を更新し、処理ルール設定情報記憶部113に保存する(ステップS311)。ディスパッチルール設定部114は、処理ルール202を設定した処理サーバ120を当該処理ルール202のイベント条件に合致するイベント201の転送先としたローカルディスパッチルール203を生成し、ローカルディスパッチャ130に設定する(ステップS312、313)。更に、ディスパッチルール設定部114は、自ローカルシステム100を当該処理ルール202のイベント条件に合致するイベント201の転送先としたディスパッチルール204を生成し、ディスパッチャ140に設定する(ステップS314、S315)。
一方、ローカルシステム100の処理ルール設定部111は、処理ルール受入要求207に対して処理ルール受入応答208(OK)を受信した場合、処理ルール受入要求207に含まれる処理ルール202を処理する処理サーバ120から当該処理ルール202を削除する(ステップS320)。処理ルール設定部111は、処理ルール設定情報211を更新し、処理ルール設定情報記憶部113に保存する(ステップS321)。ディスパッチルール設定部114は、当該処理ルール202に関するローカルディスパッチルール203をローカルディスパッチャ130から削除する(ステップS322)。更に、ディスパッチルール設定部114は、当該処理ルール202に関するディスパッチルール204をディスパッチャ140から削除する(ステップS323)。
例えば、ローカルシステム100(LS2)が図19の処理ルール受入要求207をローカルシステム100(LS1)に送信し、ローカルシステム100(LS1)が処理ルール202(R21)を移動可能と判断し、図20の処理ルール受入応答208(OK)をローカルシステム100(LS2)に送信した場合、処理ルール202(R21)は、ローカルシステム100(LS2)からローカルシステム100(LS1)へ移動される。この結果、図21のように、処理ルール202(R11、R12、R21)がローカルシステム100(LS1)に、処理ルール202(R22)がローカルシステム100(LS2)にそれぞれ設定される。また、ローカルシステム100(LS1、LS2)の処理ルール設定情報211は図22のようになる。この場合、処理ルール202(R12、R21)が、ローカルシステム100(LS1)の処理サーバ120(PS12)に設定される。
また、ローカルシステム100(LS1)が生成するローカルディスパッチルール203(R11、R12、R21)、及びローカルシステム100(LS2)が生成するローカルディスパッチルール203(R22)は、それぞれ図23のようになる。この場合、処理ルール202(R12、R21)のイベント条件(RFID、TagID=6)の転送先は、処理サーバ120(PS12)となる。
更に、ローカルシステム100(LS1)が生成するディスパッチルール204(R11、R12、R21)、及びローカルシステム100(LS2)が生成するディスパッチルール204(R22)は、それぞれ図24のようになる。また、各ディスパッチャ140に設定されるディスパッチルール204は、図25のようになる。この場合、処理ルール202(R12、R21)のイベント条件(RFID、TagID=6)の転送先は、ローカルシステム100(LS1)となる。
次に、本発明の第一の実施の形態におけるイベント処理(処理ルール移動後)の動作について説明する。図7は、本発明の第一の実施の形態におけるイベント処理(処理ルール移動後)の動作を示すシーケンス図である。
ディスパッチャ140は、イベント201を受信すると、ディスパッチルール204を検索し、合致するイベント条件がある場合、当該イベント条件に対応するローカルシステム100にイベント201を転送する(ステップS402、S403)。ここで、処理ルール移動後は、合致するイベント条件が1つとなるため、イベント201の複製は行われない。
例えば、ディスパッチャ140(GD2)が、図25のディスパッチルール204に対して、イベント201(I31)を受信した場合、イベント201(I31)をローカルシステム100(LS1)に転送する。
ローカルシステム100のローカルディスパッチャ130は、イベント201を受信すると、ローカルディスパッチルール203を検索し、合致するイベント条件がある場合、当該イベント条件に対応する処理サーバ120にイベント201を転送する(ステップS404、S405)。
例えば、ローカルシステム100(LS1)のローカルディスパッチャ130が、図23のローカルディスパッチルール203に対して、イベント201(I31)を受信した場合、イベント201(I31)を処理サーバ120(PS12)に転送する。
ローカルシステム100の処理サーバ120がイベント201を受信すると、処理サーバ120は、処理ルール202に従ってイベント201を処理し(ステップS406、S408)、アプリケーションサーバ160へイベント処理結果205を送信する(ステップS407、S409)。このとき、処理サーバ120は、イベント201が設定されている複数の処理ルール202のイベント条件に合致する場合、イベント201をそれぞれの処理ルール202に従って処理し、イベント処理結果205を送信する。
例えば、ローカルシステム100(LS1)の処理サーバ120(PS12)は、イベント201(I31)を受信すると、処理ルール202(R12)に従って、イベント201(I31)をイベント処理結果205としてアプリケーションサーバ160(AS12)に送信する。更に、処理サーバ120(PS12)は、処理ルール202(R21)に従って、イベント201(I31)をイベント処理結果205としてアプリケーションサーバ160(AS21)に送信する。
以上、図1に示したように、処理ルール移動後は、ローカルシステム100配下のイベント発生源150から送信されたイベント201(I31)(TagID=6)は、ローカルシステム100(LS1)に転送され、ローカルシステム100(LS1)にて処理ルール202(R12、R21)に従った処理が行われ、イベント処理結果205がアプリケーションサーバ160(AS12、AS21)へ送信される。
以上により、本発明の第一の実施の形態の動作が完了する。
次に、図26に第一の実施の形態の特徴的な構成を示す。
イベント処理システムは、イベント発生源150からイベント201を受信する複数のディスパッチャ140とアプリケーションサーバ160へイベント処理結果205を送信する複数のローカルシステム100とを備える。
ここで、ローカルシステム100は、アプリケーションサーバ160から処理するイベント201の条件を示すイベント条件を含む処理ルール202を受信した場合、当該処理ルール202を自ローカルシステム100に設定し、自ローカルシステム100を当該イベント条件に合致するイベント201の転送先としたディスパッチルール204を生成し、当該ディスパッチルール204をディスパッチャ140に設定する。そして、ローカルシステム100は、イベント201をディスパッチャ140から受信した場合、処理ルール202に従ってイベント201を処理し、イベント処理結果205を、当該処理ルール202の送信元のアプリケーションサーバ160に通知する。
ディスパッチャ140は、イベント201をイベント発生源150から受信した場合、ディスパッチルール204を参照し、当該イベント201に合致する前記イベント条件に対応した転送先のローカルシステム100に当該イベント201を転送する。
ここで、ディスパッチャ140において、ローカルシステム100(LS1)の処理ルール202に基づき設定したディスパッチルール204のイベント条件と、ローカルシステム100(LS2)の処理ルール202に基づき設定したディスパッチルール204のイベント条件との両方に、イベント201が合致した回数が所定の閾値を超過した場合、ローカルシステム100(LS1)の処理ルール202をローカルシステム100(LS2)へ移動、または、ローカルシステム100(LS2)の処理ルール202をローカルシステム100(LS1)へ移動する。
本発明の第一の実施の形態によれば、ルール分配器を複数のローカルシステムに分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができる。その理由は、ディスパッチャ140において、イベント201が第一のローカルシステム100の第一の処理ルール202に基づき設定したディスパッチルール204のイベント条件と第二のローカルシステム100の第二の処理ルール202に基づき設定したディスパッチルール204のイベント条件との両方に合致した回数が所定の閾値を超過した場合、第一の処理ルール202の第二のローカルシステム100への移動、または、第二の処理ルール202の第一のローカルシステム100への移動が行われるためである。
また、本発明の第一の実施の形態によれば、ルール分配器を分散配置したイベント処理システムにおいて、ローカルシステム間で処理ルールを移動する場合に、処理サーバの負荷に偏りが生じないように処理ルールを配置できる。その理由は、第一または第二のローカルシステム100が、第一の処理ルール202を設定した処理サーバ120の負荷情報212と、第二の処理ルール202を設定した処理サーバ120の負荷情報212とをもとに、第一の処理ルール202または第二の処理ルール202の移動の可否を判断するためである。
(第二の実施の形態)
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
本発明の第一の実施の形態では、ローカルシステム100の処理ルール設定部111が、処理ルール受入要求207を受信した場合、処理サーバ120の負荷情報212をもとに処理ルール202の移動可否を判断していた。本発明の第二の実施の形態では、処理ルール設定部111は、処理サーバ120がイベント処理結果205を送信する頻度をもとに処理ルール202の移動可否を判断する。
なお、本発明の第二の実施の形態において、第一の実施の形態と同一の符号を有する構成要素については、特に説明の無い限り、第一の実施の形態と同一であるものとする。
また、本発明の第二の実施の形態においては、アプリケーションサーバ160は、ネットワーク上の距離に基づいて、近くのローカルシステム100に処理ルール202を送信するものとする。
図27に本発明の第二の実施の形態におけるローカルシステム100の構成を示す。図27を参照すると、ローカルシステム100の処理サーバ120は、第二の実施の形態(図2)の負荷情報212の代わりに、イベント処理結果205の送信頻度を表す処理結果送信情報213を記憶管理する。処理結果送信情報213は、図28に示すように、処理ルール202のルール識別子とイベント処理結果205の送信頻度(処理結果送信頻度)とを含む。処理結果送信頻度は、例えば、単位時間あたりのイベント処理結果205の送信数でもよい。なお、処理結果送信頻度は、処理サーバ120が計測を行い、所定の周期で、更新するものとする。
図28の例では、処理サーバ120(PS12)における処理ルール202(R12)に関する処理結果送信頻度として50が設定され、処理サーバ120(PS21)における処理ルール202(R21)に関する処理結果送信頻度として10が設定されている。
次に、本発明の第二の実施の形態における処理ルール移動処理の動作について説明する。
本発明の第二の実施の形態における処理ルール移動処理の動作は、第二の実施の形態の処理ルール移動処理の動作(図6)において、処理ルール設定部111が処理結果送信情報213の処理結果送信頻度をもとに処理ルール202の移動可否を判断することを除き、第一の実施の形態(図6)と同様となる。
ローカルシステム100の処理ルール設定部111は、処理ルール移動要求206を受信すると、処理ルール移動要求206に含まれるローカルシステム識別子を参照し、他のローカルシステム100に、処理ルール受入要求207を送信する(ステップS303、S306)。
処理ルール受入要求207は、図29に示すように、ルール識別子、イベント条件、処理内容、処理結果送信頻度、関連ルール識別子を含む。ここで、処理結果送信頻度には、当該ルール識別子の処理ルール202を処理する処理サーバ120から取得した、当該処理ルール202に関する処理結果送信情報213の処理結果送信頻度が設定される。
例えば、ローカルシステム100(LS1)の処理ルール設定部111は、図29のような処理ルール受入要求207をローカルシステム100(LS2)に送信する。この場合、処理結果送信頻度には、処理ルール202(R12)を処理する処理サーバ120(PS12)から取得した、処理ルール202(R12)に関する処理結果送信情報213の処理結果送信頻度(50)が設定される。同様に、ローカルシステム100(LS2)の処理ルール設定部111は、図30のような処理ルール受入要求207をローカルシステム100(LS1)に送信する。
ローカルシステム100の処理ルール設定部111は、処理ルール受入要求207を受信すると、処理ルール受入要求207に含まれる処理ルール202を自ローカルシステム100の処理サーバ120に移動する(受け入れる)ことが可能かどうか判断する(ステップS304、S307)。ここで、処理ルール設定部111は、処理ルール受入要求207に含まれる関連ルール識別子の処理ルール202を処理する処理サーバ120から、当該処理ルール202に関する処理結果送信情報213を取得する。処理ルール設定部111は、取得した処理結果送信情報213内の処理結果送信頻度と処理ルール受入要求207に含まれる処理結果送信頻度とを比較し、処理ルール受入要求207に含まれる処理結果送信頻度が小さい場合、当該処理ルール202を移動可能と判断する。
例えば、ローカルシステム100(LS2)の処理ルール設定部111は、ローカルシステム100(LS1)から図29の処理ルール受入要求207を受信した場合、関連ルール識別子の処理ルール202(R21)を処理する処理サーバ120(PS21)から取得した処理結果送信情報213(R21)の処理結果送信頻度(10)と処理ルール受入要求207に含まれる処理結果送信頻度(50)とを比較する。この場合、処理ルール受入要求207に含まれる処理結果送信頻度が大きいため、ローカルシステム100(LS2)の処理ルール設定部111は、処理ルール202(R12)を移動不可能と判断する。
また、ローカルシステム100(LS1)の処理ルール設定部111は、ローカルシステム100(LS2)から図30の処理ルール受入要求207を受信した場合、関連ルール識別子の処理ルール202(R12)を処理する処理サーバ120(PS12)から取得した処理結果送信情報213(R12)の処理結果送信頻度(50)と処理ルール受入要求207に含まれる処理結果送信頻度(10)とを比較する。この場合、処理ルール受入要求207に含まれる処理結果送信頻度が小さいため、ローカルシステム100(LS1)の処理ルール設定部111は、処理ルール202(R21)を移動可能と判断する。
以下、処理ルール受入応答208の送信、処理ルール202の設定、ローカルディスパッチルール203の設定、及びディスパッチルール204の設定については、第一の実施の形態(図6のステップS305、S308、S310〜S315、S320〜S323)と同様となる。
以上により、本発明の第二の実施の形態の動作が完了する。
本発明の第二の実施の形態によれば、ルール分配器を複数のローカルシステムに分散配置したイベント処理システムにおいて、ローカルシステム間で処理ルールを移動する場合に、ネットワークの使用効率の低下を抑えることができる。その理由は、第一または第二のローカルシステム100が、第一の処理ルール202のイベント処理結果205の送信頻度と、第二の処理ルール202のイベント処理結果205の送信頻度とをもとに、第一の処理ルール202または第二の処理ルール202の移動の可否を判断するため、アプリケーションサーバ160が近距離のローカルシステム100に処理ルール202を登録する場合、ローカルシステム100からアプリケーションサーバ160への高頻度のイベント処理結果205の送信は近距離で行われたまま、低頻度のイベント処理結果205の送信は遠距離で行われるようになるためである。
なお、上述の本発明の実施の形態においては、ディスパッチャ140がローカルシステム100に処理ルール移動要求206を送信し、当該処理ルール移動要求206を受信したローカルシステム100が処理ルール202の移動可否の判断、及び移動を行った。しかしながら、処理ルール202の移動を行うためのサーバを設け、ディスパッチャ140が、当該サーバに処理ルール移動要求206を送信し、当該サーバが、各ローカルシステム100の負荷情報212や処理結果送信情報213を収集し、処理ルール202の移動可否の判断、及び移動の指示を行うようにしてもよい。
また、上述の本発明の実施の形態においては、ローカルシステム100が、処理ルール移動要求206を受信した他のローカルシステム100から処理ルール受入要求207を受信した場合、「他のローカルシステム100」の処理ルール202の「自ローカルシステム100」への移動可否の判断を行った。しかしながら、処理ルール受入要求207を受信したローカルシステム100が、更に、「自ローカルシステム100」の処理ルール202の「他のローカルシステム100」への移動可否を判断するようにしてもよい。また、処理ルール移動要求206を受信したローカルシステム100が、他のローカルシステム100から負荷情報212や処理結果送信情報213を収集し、「他のローカルシステム100」の処理ルール202の「自ローカルシステム100」への移動可否、「自ローカルシステム100」の処理ルール202の「他のローカルシステム100」への移動可否を判断するようにしてもよい。
また、上述の本発明の実施の形態においては、ディスパッチャ140が、複製したイベント201の転送先である2つのローカルシステム100の両方に処理ルール移動要求206を送信していた。しかしながら、上述のように、当該2つのローカルシステム100のいずれかが処理ルール移動要求206を受信することにより、当該2つのローカルシステム100のどちらの処理ルール202を他方のローカルシステム100に移動するかを判断できる場合、ディスパッチャ140は、当該2つのローカルシステム100の少なくとも一方に処理ルール移動要求206を送信するようにしてもよい。
また、上述の本発明の実施の形態においては、ディスパッチャ140において複製したイベント201の転送先となるローカルシステム100が2つの場合について説明した。複製したイベント201の転送先となるローカルシステム100が2を超える場合は、当該複数のローカルシステム100が、相互に負荷情報212や処理結果送信情報213を交換し、これらの情報をもとに、当該複数のローカルシステム100のどのローカルシステム100処理ルール202をどのローカルシステム100に集約するかを判断するようにしてもよい。
また、上述の本発明の実施の形態においては、1つのディスパッチャ140においてイベント201の複製が発生する場合について説明した。複数のディスパッチャ140においてイベント201の複製が発生する場合、ローカルシステム100が処理ルール移動要求206の受信回数を各処理ルール移動要求206に関係する処理ルール202の組み合わせ毎にカウントし、処理ルール移動要求206の受信回数が所定の閾値を超過した処理ルール202の組み合わせについて、処理ルール202の移動を行うようにしてもよい。
本発明の効果は、ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができることである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月17日に出願された日本出願特願2009−063721を基礎とする優先権を主張し、その開示の全てをここに取り込む。
(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 event processing system according to the first embodiment of the present invention includes a plurality of local systems 100 installed on a network (not shown), a plurality of dispatchers 140, an event source 150, and an application. A server 160 is provided.
Here, the local system 100 has two local systems with identifiers LS1 and LS2, respectively. The plurality of 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 the dispatcher 140 receives the event 201 from the event generation source 150, the dispatcher 140 refers to the 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 a dispatch rule 204 based on the processing rule 202 received from the application server 160 and sets the dispatch rule 204 in the dispatcher 140. When the local system 100 receives the event 201 from the dispatcher 140, the local system 100 processes the event 201 according to the processing rule 202 and transmits the processing result of the event 201 (event processing result 205) 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 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 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. When the processing rule setting unit 111 receives the processing rule movement request 206 from the dispatcher 140, the processing rule setting unit 111 transmits a processing rule acceptance request 207 to the other local system 100 and moves (accepts) the processing rule 202 to the other local system 100. ). Further, when the processing rule setting unit 111 receives the processing rule acceptance request 207 from another local system 100, the processing rule setting unit 111 determines whether or not the processing rule 202 can be moved (accepted) to the local system 100. 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 a dispatch rule 204 and sets it in the dispatcher 140.
In addition to the processing rule 202, the processing server 120 of the local system 100 stores and manages load information 212 representing the processing load state of the local processing server 120. The load information 212 may be, for example, the CPU usage rate (%) of the processing server 120 as shown in FIG.
In the example of FIG. 16, a CPU usage rate of 20% is set as the load information 212 of the processing server 120 (PS12) that processes the processing rule 202 (R12), and the processing server 120 (PS21) that processes the processing rule 202 (R21). ) Is set to 70% of the CPU usage rate.
FIG. 3 shows the configuration of the dispatcher 140 in the first embodiment of the present invention. In addition to the dispatch rule 204, the dispatcher 140 includes a replication number counter 221 that stores and manages the number of replications of the event 201. When the number of times the event 201 is replicated when transferring one event 201 to a plurality of local systems 100 exceeds a predetermined threshold, the dispatcher 140 sends a processing rule move request 206 to the transfer destination of the event 201. Transmit to the local system 100.
Note that the rule distribution unit 110, the processing server 120, the local dispatcher 130, the 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 operation of the dispatch rule setting process in the first embodiment of the present invention will be described. FIG. 4 is a sequence diagram showing the operation of the dispatch rule setting process in the first embodiment of the present invention.
Here, 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 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 for the dispatcher 140 at the event source 150 may be set by the administrator specifying the dispatcher 140 directly, or each event source 150 may be set in the vicinity based on the distance on the network. The 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. 8, the processing rule 202 includes 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 Content of processing performed by the local system 100 for the event 201 that matches the event condition.
FIG. 8 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. 8, the event generation source type (RFID here) and detection information (RFID tag TagID = 6) are specified as event conditions in the processing rule 202 (R12) of the local system 100 (LS1). . Further, “notify to application server AS12” is designated as the processing content 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. 9, the processing rule setting information 211 includes a processing server identifier and a rule identifier of the set processing rule 202.
FIG. 9 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. 9, the processing rule 202 (R12) is set in the processing server 120 (PS12) of the local system 100 (LS1). With this setting, the processing server 120 (PS12) processes the processing rule 202 (R12).
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. 10, the local dispatch rule 203 includes rule identifiers R11, R12, R21, and R22, an event condition associated with each rule identifier, and an identifier of the processing server 120 that is a transfer destination.
FIG. 10 shows an example of the local dispatch rule 203 (R11, R12) generated by the local system 100 (LS1) and the local dispatch rule 203 (R21, R22) generated by the local system 100 (LS2). In the example of FIG. 10, as the local dispatch rule 203 (R12) of the local system 100 (LS1), the event condition of the processing rule 202 (R12) is set as the event condition (event generation source type: RFID, detection information: TagID = 6), The identifier (PS12) of the processing server 120 that processes the processing rule 202 (R12) is set at 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 a dispatch rule 204 with the local system 100 as a transfer destination of the event 201 that matches the event condition of the processing rule 202 (step S107).
As shown in FIG. 11, the dispatch rule 204 includes rule identifiers R11, R12, R21, and R22, an event condition associated with each rule identifier, and an identifier of the local system 100 that is a transfer destination of the event 201.
FIG. 11 shows an example of dispatch rules 204 (R11, R12) generated by the local system 100 (LS1) and dispatch rules 204 (R21, R22) generated by the local system 100 (LS2). In the example of FIG. 11, the event condition (RFID, TagID = 6) of the processing rule 202 (R12) of FIG. 8 is set in the event condition of the dispatch rule 204 (R12) generated by the local system 100 (LS1). The identifier of the local system 100 (LS1) is set as the transfer destination.
The dispatch rule setting unit 114 sets the generated dispatch rule 204 in the dispatcher 140 (step S108).
For example, when the local system 100 (LS1, LS2) sets the dispatch rule 204 of FIG. 11 in the dispatcher 140, the dispatch rule 204 as shown in FIG.
Next, the operation of event processing (before moving the processing rule) in the first embodiment of the present invention will be described. FIG. 5 is a sequence diagram showing the operation of event processing (before moving the processing rule) 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 dispatcher 140 as an event 201 (step S201).
As shown in FIG. 13, the event 201 includes event attribute information such as an event identifier I31, an event generation source type, an event generation source identifier, a detection time, and detection information. In the example of FIG. 13, event source type: RFID, event source identifier: G3, and detection information: TagID = 6 are set as event attribute information of the event 201 (I31).
When receiving the event 201, the dispatcher 140 searches whether the event attribute information included in the event 201 matches any of the event conditions of the dispatch rule 204 (step S202). If there is a matching event condition, the dispatcher 140 refers to the dispatch rule 204 and transfers the event 201 to the local system 100 corresponding to the event condition. If there are a plurality of matching event conditions, the dispatcher 140 duplicates (copies) the event 201 (step S203), and transfers the event 201 to the local system 100 corresponding to each matching event condition (step S203). S204, S205). At this time, the dispatcher 140 counts the number of times of duplication of the event 201, that is, the number of times that the event 201 matches a plurality of event conditions by the duplication number counter 221 (step S203).
As shown in FIG. 14, the copy number counter 221 includes a combination of rule identifiers corresponding to a plurality of event conditions that match the event 201, and the number of times the event 201 has been copied with respect to the combination of the rule identifiers (the number of copies).
For example, when the 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 the dispatch rule 204 in FIG. The event condition (R12, R21) is met. The dispatcher 140 (GD2) duplicates the event 201 (I31) and transfers it to the local system 100 (LS1) and the local system 100 (LS2). At this time, the dispatcher 140 (GD2) counts the number of duplications for the combination of the rule identifiers R12 and R21 by the duplication number counter 221 in FIG.
Note that the number of copies of the copy number counter 221 is periodically reset to zero.
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).
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 R12), 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 (R21) 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 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.
Next, the operation of the process rule movement process in the first embodiment of the present invention will be described. FIG. 6 is a sequence diagram showing the operation of the process rule movement process in the first embodiment of the present invention.
In step S203, when the number of copies of the copy number counter 221 exceeds the copy number threshold value, the dispatcher 140 sets the dispatch rule 204 for each rule identifier included in the rule identifier combination whose copy number exceeds the predetermined threshold value. The processing rule transfer request 206 is transmitted to the local system 100 of the transfer destination corresponding to each rule identifier, that is, the local system 100 in which the dispatch rule 204 of each rule identifier is set (steps S301 and S302). Here, it is assumed that the replication count threshold is set in the dispatcher 140 in advance.
As shown in FIG. 15, the processing rule transfer request 206 includes each rule identifier included in the combination of the rule identifiers and the identifier of the local system 100 that is the transfer destination corresponding to the rule identifier.
For example, when the replication count of the replication count counter 221 in FIG. 14 exceeds the replication count threshold, the dispatcher 140 uses (LS1, R12), (LS2, R21) as the local system identifier and rule identifier as shown in FIG. ) Including the processing rule transfer request 206 including the) is transmitted to the local system 100 (LS1, LS2).
When the processing rule setting unit 111 of the local system 100 receives the processing rule transfer request 206, the processing rule setting unit 111 refers to the local system identifier included in the processing rule transfer request 206 and transmits a processing rule acceptance request 207 to another local system 100. (Steps S303 and S306).
As shown in FIG. 17, the processing rule acceptance request 207 includes a rule identifier, an event condition, processing content, load information, and a related rule identifier. Here, the rule identifier is the rule identifier of the processing rule 202 of the local system 100 that requests movement (acceptance) to another local system 100, and the processing rule 202 of the local system 100 included in the processing rule movement request 206. The rule identifier is set. In the event condition and the processing content, the event condition and the processing content of the processing rule 202 are set. Load information 212 of the processing server 120 that processes the processing rule 202 is set in the load information. In the related rule identifier, the rule identifier of the processing rule 202 of the other local system 100 included in the processing rule movement request 206 is set.
For example, when the processing rule setting unit 111 of the local system 100 (LS1) receives the processing rule movement request 206 of FIG. 15 from the dispatcher 140 (GD3), the processing rule acceptance request 207 as shown in FIG. The data is transmitted to another local system 100 (LS2) included in 206. In this case, the rule identifier (R12) of the processing rule 202 of the local system 100 (LS1) included in the processing rule transfer request 206 is set as the rule identifier of the processing rule acceptance request 207. In the event condition and the processing content, the event condition (RFID, TagID = 6) and the processing content (notified to the AS 12) of the processing rule 202 (R12) are set. In the load information, the load information 212 (20%) of the processing server 120 (PS12) that processes the processing rule 202 (R12) is set. In the related rule identifier, the rule identifier (R21) of the processing rule 202 of the other local system 100 (LS2) included in the processing rule movement request 206 is set. Similarly, when the processing rule setting unit 111 of the local system 100 (LS2) receives the processing rule movement request 206 of FIG. 15 from the dispatcher 140 (GD3), the processing rule acceptance request 207 of FIG. 19 is moved to the processing rule. The request 206 is transmitted to another local system 100 (LS1).
When the processing rule setting unit 111 of the local system 100 receives the processing rule acceptance request 207, is it possible to move (accept) the processing rule 202 included in the processing rule acceptance request 207 to the processing server 120 of the local system 100? Judgment is made (steps S304 and S307). Here, the processing rule setting unit 111 compares the load information 212 of the processing server 120 that processes the processing rule 202 of the related rule identifier included in the processing rule acceptance request 207 with the load information 212 included in the processing rule acceptance request 207. If the load information 212 included in the processing rule acceptance request 207 is large, it is determined that the processing rule 202 can be moved.
If the processing rule setting unit 111 determines that the processing rule 202 is movable, the processing rule acceptance response 208 (OK: an identifier indicating acceptance OK) as shown in FIG. It transmits to the system 100 (step S308). On the other hand, when the processing rule setting unit 111 determines that the processing rule 202 cannot be moved, a processing rule acceptance response 208 (NG: an identifier indicating that acceptance is not possible) as illustrated in FIG. Transmission to the original local system 100 (step S305).
For example, the processing rule setting unit 111 of the local system 100 (LS2), when receiving the processing rule acceptance request 207 of FIG. 17 from the local system 100 (LS1), processes the processing rule 202 (R21) of the related rule identifier. The load information 212 (70%) of the server 120 (PS21) is compared with the load information 212 (20%) included in the processing rule acceptance request 207. In this case, since the load information 212 included in the processing rule acceptance request 207 is small, the processing rule setting unit 111 of the local system 100 (LS2) determines that the processing rule 202 (R12) cannot be moved. The processing rule setting unit 111 of the local system 100 (LS2) transmits the processing rule acceptance response 208 (NG) of FIG. 18 to the local system 100 (LS1).
When the processing rule setting unit 111 of the local system 100 (LS1) receives the processing rule acceptance request 207 of FIG. 19 from the local system 100 (LS2), the processing rule setting unit 111 processes the processing rule 202 (R12) of the related rule identifier. The load information 212 (20%) of the server 120 (PS12) is compared with the load information 212 (70%) included in the processing rule acceptance request 207. In this case, since the load information 212 included in the processing rule acceptance request 207 is large, the processing rule setting unit 111 of the local system 100 (LS1) determines that the processing rule 202 (R21) can be moved. The processing rule setting unit 111 of the local system 100 (LS1) transmits the processing rule acceptance response 208 (OK) of FIG. 20 to the local system 100 (LS2).
When the processing rule setting unit 111 of the local system 100 determines that the processing rule 202 included in the processing rule acceptance request 207 is movable, the processing rule 202 of the related rule identifier included in the processing rule acceptance request 207 is determined. Is set in the processing server 120 for processing (step S310). The processing rule setting unit 111 updates the processing rule setting information 211 and stores it in the processing rule setting information storage unit 113 (step S311). The dispatch rule setting unit 114 generates a local dispatch rule 203 that uses the processing server 120 in which the processing rule 202 is set as a transfer destination of the event 201 that matches the event condition of the processing rule 202, and sets the local dispatch rule in the local dispatcher 130 (step). S312, 313). Furthermore, the dispatch rule setting unit 114 generates a dispatch rule 204 that uses the local system 100 as a transfer destination of the event 201 that matches the event condition of the processing rule 202, and sets it in the dispatcher 140 (steps S314 and S315).
On the other hand, when the processing rule setting unit 111 of the local system 100 receives the processing rule acceptance response 208 (OK) in response to the processing rule acceptance request 207, the processing server that processes the processing rule 202 included in the processing rule acceptance request 207. The processing rule 202 is deleted from 120 (step S320). The processing rule setting unit 111 updates the processing rule setting information 211 and stores it in the processing rule setting information storage unit 113 (step S321). The dispatch rule setting unit 114 deletes the local dispatch rule 203 related to the processing rule 202 from the local dispatcher 130 (step S322). Furthermore, the dispatch rule setting unit 114 deletes the dispatch rule 204 related to the processing rule 202 from the dispatcher 140 (step S323).
For example, the local system 100 (LS2) transmits the processing rule acceptance request 207 in FIG. 19 to the local system 100 (LS1), the local system 100 (LS1) determines that the processing rule 202 (R21) can be moved, and FIG. When the processing rule acceptance response 208 (OK) is transmitted to the local system 100 (LS2), the processing rule 202 (R21) is moved from the local system 100 (LS2) to the local system 100 (LS1). As a result, as shown in FIG. 21, the processing rule 202 (R11, R12, R21) is set in the local system 100 (LS1), and the processing rule 202 (R22) is set in the local system 100 (LS2). Further, the processing rule setting information 211 of the local system 100 (LS1, LS2) is as shown in FIG. In this case, the processing rule 202 (R12, R21) is set in the processing server 120 (PS12) of the local system 100 (LS1).
Further, the local dispatch rule 203 (R11, R12, R21) generated by the local system 100 (LS1) and the local dispatch rule 203 (R22) generated by the local system 100 (LS2) are as shown in FIG. In this case, the transfer destination of the event condition (RFID, TagID = 6) of the processing rule 202 (R12, R21) is the processing server 120 (PS12).
Furthermore, the dispatch rule 204 (R11, R12, R21) generated by the local system 100 (LS1) and the dispatch rule 204 (R22) generated by the local system 100 (LS2) are as shown in FIG. Further, the dispatch rule 204 set in each dispatcher 140 is as shown in FIG. In this case, the transfer destination of the event condition (RFID, TagID = 6) of the processing rule 202 (R12, R21) is the local system 100 (LS1).
Next, the operation of event processing (after moving the processing rule) in the first embodiment of the present invention will be described. FIG. 7 is a sequence diagram showing an operation of event processing (after processing rule movement) in the first exemplary embodiment of the present invention.
Upon receiving the event 201, the dispatcher 140 searches the dispatch rule 204, and if there is a matching event condition, the dispatcher 140 transfers the event 201 to the local system 100 corresponding to the event condition (steps S402 and S403). Here, after the processing rule is moved, there is only one event condition that matches, so the event 201 is not duplicated.
For example, when the dispatcher 140 (GD2) receives the event 201 (I31) for the dispatch rule 204 of FIG. 25, the event 201 (I31) is transferred to the local system 100 (LS1).
When receiving the event 201, the local dispatcher 130 of the local system 100 searches the local dispatch rule 203, and when there is a matching event condition, the event dispatches the event 201 to the processing server 120 corresponding to the event condition (step S404, S405).
For example, when the local dispatcher 130 of the local system 100 (LS1) receives the event 201 (I31) for the local dispatch rule 203 in FIG. 23, the event 201 (I31) is transferred to the processing server 120 (PS12). .
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 S406 and S408), and transmits the event processing result 205 to the application server 160 (step S407, S409). At this time, when the event 201 matches the event conditions of the plurality of processing rules 202 in which the event 201 is set, the processing server 120 processes the event 201 according to each processing rule 202 and transmits the event processing result 205.
For example, when the processing server 120 (PS12) of the local system 100 (LS1) receives the event 201 (I31), the application server 160 (AS12) converts the event 201 (I31) into the event processing result 205 according to the processing rule 202 (R12). ). Further, the processing server 120 (PS12) transmits the event 201 (I31) as the event processing result 205 to the application server 160 (AS21) according to the processing rule 202 (R21).
As described above, as shown in FIG. 1, after the processing rule is moved, 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). The local system 100 (LS1) performs processing according to the processing rule 202 (R12, R21), and the event processing result 205 is transmitted to the application server 160 (AS12, AS21).
Thus, the operation of the first embodiment of the present invention is completed.
Next, FIG. 26 shows a characteristic configuration of the first embodiment.
The event processing system includes a plurality of 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, when 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, the local system 100 sets the processing rule 202 in the local system 100, and sets the local system 100 to the local system 100. A dispatch rule 204 is generated as a transfer destination of the event 201 that matches the event condition, and the dispatch rule 204 is set in the dispatcher 140. When the local system 100 receives the event 201 from the dispatcher 140, the local system 100 processes the event 201 in accordance with 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 dispatcher 140 receives the event 201 from the event generation source 150, the dispatcher 140 refers to the dispatch rule 204 and transfers the event 201 to the local system 100 of the transfer destination corresponding to the event condition that matches the event 201.
Here, in the dispatcher 140, the event condition of the dispatch rule 204 set based on the processing rule 202 of the local system 100 (LS1), and the event condition of the dispatch rule 204 set based on the processing rule 202 of the local system 100 (LS2) If the number of times the event 201 matches both exceeds a predetermined threshold, the processing rule 202 of the local system 100 (LS1) is moved to the local system 100 (LS2) or the processing rule of the local system 100 (LS2) 202 is moved to the local system 100 (LS1).
According to the first embodiment of this invention, in an event processing system in which rule distributors are distributed in a plurality of local systems, it is possible to suppress an increase in processing load on the dispatcher accompanying event duplication. The reason is that in the dispatcher 140, the event 201 is based on the event condition of the dispatch rule 204 set based on the first processing rule 202 of the first local system 100 and the second processing rule 202 of the second local system 100. When the number of times that both the event conditions of the set dispatch rule 204 are met exceeds a predetermined threshold, the movement of the first processing rule 202 to the second local system 100 or the second processing rule 202 This is because movement to the first local system 100 is performed.
In addition, according to the first embodiment of the present invention, in an event processing system in which rule distributors are distributed, when processing rules are moved between local systems, there is no bias in processing server load. Processing rules can be placed. The reason is that the load information 212 of the processing server 120 in which the first or second local system 100 sets the first processing rule 202 and the load information 212 of the processing server 120 in which the second processing rule 202 is set This is for determining whether the first processing rule 202 or the second processing rule 202 can be moved based on the above.
(Second embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
In the first embodiment of the present invention, when the processing rule setting unit 111 of the local system 100 receives the processing rule acceptance request 207, whether or not the processing rule 202 can be moved is determined based on the load information 212 of the processing server 120. I was judging. In the second embodiment of the present invention, the processing rule setting unit 111 determines whether the processing rule 202 can be moved based on the frequency with which the processing server 120 transmits the event processing result 205.
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.
In the second embodiment of the present invention, the application server 160 transmits the processing rule 202 to the nearby local system 100 based on the distance on the network.
FIG. 27 shows the configuration of the local system 100 according to the second embodiment of the present invention. Referring to FIG. 27, the processing server 120 of the local system 100 stores and manages the processing result transmission information 213 representing the transmission frequency of the event processing result 205 instead of the load information 212 of the second embodiment (FIG. 2). To do. As shown in FIG. 28, the processing result transmission information 213 includes the rule identifier of the processing rule 202 and the transmission frequency of the event processing result 205 (processing result transmission frequency). The processing result transmission frequency may be, for example, the number of event processing results 205 transmitted per unit time. Note that the processing result transmission frequency is measured by the processing server 120 and updated at a predetermined cycle.
In the example of FIG. 28, 50 is set as the processing result transmission frequency for the processing rule 202 (R12) in the processing server 120 (PS12), and 10 as the processing result transmission frequency for the processing rule 202 (R21) in the processing server 120 (PS21). Is set.
Next, the operation of the process rule movement process in the second embodiment of the present invention will be described.
The operation of the processing rule movement process in the second embodiment of the present invention is the same as that of the processing rule movement process of the second embodiment (FIG. 6). Except for determining whether or not the processing rule 202 can be moved based on the result transmission frequency, this is the same as in the first embodiment (FIG. 6).
When the processing rule setting unit 111 of the local system 100 receives the processing rule transfer request 206, the processing rule setting unit 111 refers to the local system identifier included in the processing rule transfer request 206 and transmits a processing rule acceptance request 207 to another local system 100. (Steps S303 and S306).
As shown in FIG. 29, the processing rule acceptance request 207 includes a rule identifier, an event condition, processing contents, a processing result transmission frequency, and a related rule identifier. Here, the processing result transmission frequency of the processing result transmission information 213 regarding the processing rule 202 acquired from the processing server 120 that processes the processing rule 202 of the rule identifier is set as the processing result transmission frequency.
For example, the processing rule setting unit 111 of the local system 100 (LS1) transmits a processing rule acceptance request 207 as shown in FIG. 29 to the local system 100 (LS2). In this case, the processing result transmission frequency (50) of the processing result transmission information 213 regarding the processing rule 202 (R12) acquired from the processing server 120 (PS12) that processes the processing rule 202 (R12) is included in the processing result transmission frequency. Is set. Similarly, the processing rule setting unit 111 of the local system 100 (LS2) transmits a processing rule acceptance request 207 as shown in FIG. 30 to the local system 100 (LS1).
When the processing rule setting unit 111 of the local system 100 receives the processing rule acceptance request 207, is it possible to move (accept) the processing rule 202 included in the processing rule acceptance request 207 to the processing server 120 of the local system 100? Judgment is made (steps S304 and S307). Here, the processing rule setting unit 111 acquires the processing result transmission information 213 related to the processing rule 202 from the processing server 120 that processes the processing rule 202 of the related rule identifier included in the processing rule acceptance request 207. The processing rule setting unit 111 compares the processing result transmission frequency in the acquired processing result transmission information 213 with the processing result transmission frequency included in the processing rule acceptance request 207, and the processing result transmission frequency included in the processing rule acceptance request 207. Is small, it is determined that the processing rule 202 can be moved.
For example, when the processing rule setting unit 111 of the local system 100 (LS2) receives the processing rule acceptance request 207 of FIG. 29 from the local system 100 (LS1), the processing rule setting unit 111 processes the processing rule 202 (R21) of the related rule identifier. The processing result transmission frequency (10) of the processing result transmission information 213 (R21) acquired from the server 120 (PS21) is compared with the processing result transmission frequency (50) included in the processing rule acceptance request 207. In this case, since the processing result transmission frequency included in the processing rule acceptance request 207 is high, the processing rule setting unit 111 of the local system 100 (LS2) determines that the processing rule 202 (R12) cannot be moved.
When the processing rule setting unit 111 of the local system 100 (LS1) receives the processing rule acceptance request 207 of FIG. 30 from the local system 100 (LS2), the processing rule setting unit 111 processes the processing rule 202 (R12) of the related rule identifier. The processing result transmission frequency (50) of the processing result transmission information 213 (R12) acquired from the server 120 (PS12) is compared with the processing result transmission frequency (10) included in the processing rule acceptance request 207. In this case, since the processing result transmission frequency included in the processing rule acceptance request 207 is small, the processing rule setting unit 111 of the local system 100 (LS1) determines that the processing rule 202 (R21) can be moved.
Hereinafter, the transmission of the processing rule acceptance response 208, the setting of the processing rule 202, the setting of the local dispatch rule 203, and the setting of the dispatch rule 204 will be described in the first embodiment (steps S305, S308, S310 to S315 in FIG. 6). , S320 to S323).
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 rule distributors are distributed in a plurality of local systems, when processing rules are moved between local systems, a decrease in network usage efficiency is suppressed. be able to. The reason is that the first or second local system 100 is based on the transmission frequency of the event processing result 205 of the first processing rule 202 and the transmission frequency of the event processing result 205 of the second processing rule 202. When the application server 160 registers the processing rule 202 in the local system 100 at a short distance in order to determine whether the first processing rule 202 or the second processing rule 202 can be moved, the local system 100 transfers to the application server 160. This is because the transmission of the low-frequency event processing result 205 is performed at a long distance while the transmission of the low-frequency event processing result 205 is performed at a long distance.
In the above-described embodiment of the present invention, the dispatcher 140 transmits the processing rule movement request 206 to the local system 100, and the local system 100 that has received the processing rule movement request 206 determines whether the processing rule 202 can be moved. , And moved. However, a server for moving the processing rule 202 is provided, and the dispatcher 140 transmits the processing rule movement request 206 to the server, and the server sends the load information 212 and the processing result transmission information 213 of each local system 100. It may be collected to determine whether or not the processing rule 202 can be moved, and to instruct movement.
Further, in the above-described embodiment of the present invention, when the local system 100 receives the processing rule acceptance request 207 from the other local system 100 that has received the processing rule movement request 206, the “other local system 100” It was determined whether or not the processing rule 202 can be moved to the “local system 100”. However, the local system 100 that has received the processing rule acceptance request 207 may further determine whether or not the processing rule 202 of the “own local system 100” can be moved to “another local system 100”. Further, the local system 100 that has received the processing rule transfer request 206 collects the load information 212 and the processing result transmission information 213 from the other local systems 100, and the “own local system” of the processing rule 202 of the “other local system 100”. Whether to move to “100” and whether to move to “other local system 100” in the processing rule 202 of “own local system 100” may be determined.
Further, in the above-described embodiment of the present invention, the dispatcher 140 transmits the processing rule movement request 206 to both of the two local systems 100 that are the transfer destinations of the copied event 201. However, as described above, when one of the two local systems 100 receives the processing rule movement request 206, which processing rule 202 of the two local systems 100 is moved to the other local system 100 Can be determined, the dispatcher 140 may transmit the processing rule movement request 206 to at least one of the two local systems 100.
Further, in the above-described embodiment of the present invention, the case where there are two local systems 100 to which the event 201 copied in the dispatcher 140 is transferred has been described. When the number of local systems 100 to which the copied event 201 is transferred exceeds 2, the plurality of local systems 100 mutually exchange load information 212 and processing result transmission information 213, and based on these information, It may be determined which local system 100 processing rule 202 of the plurality of local systems 100 is aggregated in which local system 100.
Further, in the above-described embodiment of the present invention, the case where the event 201 is duplicated in one dispatcher 140 has been described. When duplication of the event 201 occurs in the plurality of dispatchers 140, the local system 100 counts the number of reception of the processing rule movement request 206 for each combination of the processing rules 202 related to each processing rule movement request 206, and processes the processing rule movement request. The processing rule 202 may be moved for a combination of processing rules 202 in which the number of receptions 206 exceeds a predetermined threshold.
The effect of the present invention is that in an event processing system in which rule distributors are distributed, an increase in the processing load of the dispatcher accompanying event duplication can be suppressed.
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-063721 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 (16)

イベント発生源からイベントを受信する複数のディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定し、
前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記複数のディスパッチャのそれぞれは、
前記イベントを前記イベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記複数のディスパッチャのいずれかにおいて、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするイベント処理システム。
A plurality of 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, the processing rule is set in the local system, and the local system is set as a transfer destination of the event that matches the event condition Generate a dispatch rule, set the dispatch rule to the dispatcher,
When the event is received from the 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,
Each of the plurality of dispatchers is
When receiving the event from the event generation source, refer to the dispatch rule, transfer the event to a local system of a transfer destination corresponding to the event condition that matches the event,
In any one of the plurality of dispatchers, the first local system of the plurality of local systems sets the dispatch rule set based on a first processing rule of the processing rules of the first local system. Both the event condition and the event condition of the dispatch rule set by the second local system of the plurality of local systems based on the second processing rule of the processing rules of the second local system In addition, if the number of times the event matches exceeds a predetermined threshold, the first processing rule is moved to the second local system.
前記第二のローカルシステムは、
前記第一の処理ルールを当該第二のローカルシステムへ移動する場合、当該第一の処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項1記載のイベント処理システム。
The second local system is
When moving the first processing rule to the second local system, the first processing rule is set to the local system, and the local system is matched with the event condition of the first processing rule. The event processing system according to claim 1, wherein the dispatch rule as an event transfer destination is generated, and the dispatch rule is set in the dispatcher.
前記複数のローカルシステムのそれぞれは、
前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定し、前記ディスパッチルールを生成し、前記ディスパッチャに設定するルール分配部と、
前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理する少なくとも1つの前記処理サーバとを備え、
前記第二のローカルシステムの前記ルール分配部は、
前記第一の処理ルールを当該第二のローカルシステムへ移動する場合、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項2記載のイベント処理システム。
Each of the plurality of local systems is
A rule distributor configured to set the processing rule received from the application server in any one processing server of the local system, generate the dispatch rule, and set the dispatcher;
And at least one processing server that processes the event that matches the event condition included in the processing rule according to the processing rule,
The rule distribution unit of the second local system is
When moving the first processing rule to the second local system, the first processing rule is set in the processing server in which the second processing rule is set, and the local system is set to the first local rule. The event processing system according to claim 2, wherein the dispatch rule that is the transfer destination of the event that matches the event condition of the processing rule is generated, and the dispatch rule is set in the dispatcher.
前記複数のディスパッチャのそれぞれは、
前記第一の処理ルールに基づき設定した前記イベント条件と前記第二の処理ルールに基づき設定した前記イベント条件の両方に前記イベントが合致した回数が所定の閾値を超過した場合、処理ルール移動要求を前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方に送信し、
前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方が前記処理ルール移動要求を受信した場合、前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方の前記ルール分配部は、前記第一の処理ルールの前記第二のローカルシステムへの移動が可能かどうかを判断し、
前記第二のローカルシステムの前記ルール分配部は、
前記第一の処理ルールの当該第二のローカルシステムへの移動が可能な場合、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項3記載のイベント処理システム。
Each of the plurality of dispatchers is
When the number of times the event matches both the event condition set based on the first processing rule and the event condition set based on the second processing rule exceeds a predetermined threshold, a processing rule move request is issued. Sending to at least one of the first local system and the second local system;
When at least one of the first local system and the second local system receives the processing rule movement request, the rule distribution unit of at least one of the first local system and the second local system is: Determining whether the first processing rule can be moved to the second local system;
The rule distribution unit of the second local system is
If the first processing rule can be moved to the second local system, the first processing rule is set on the processing server on which the second processing rule is set, and the local system is The event processing system according to claim 3, wherein the dispatch rule that is the transfer destination of the event that matches the event condition of the first processing rule is generated, and the dispatch rule is set in the dispatcher.
前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバの負荷情報と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバの負荷情報とをもとに行うことを特徴とする請求項4記載のイベント処理システム。   The determination as to whether or not the first processing rule can be moved to the second local system is based on load information of the processing server that sets the first processing rule in the first local system, and the first 5. The event processing system according to claim 4, wherein the processing is performed based on load information of the processing server in which the second processing rule is set in a second local system. 前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバにおける当該第一の処理ルールに関するイベント処理結果の送信頻度と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバにおける当該第二の処理ルールに関するイベント処理結果の送信頻度とをもとに行うことを特徴とする請求項4記載のイベント処理システム。   Whether the first processing rule can be moved to the second local system is determined by determining whether the first processing rule is set in the processing server in which the first processing rule is set in the first local system. And the transmission frequency of the event processing result related to the second processing rule in the processing server in which the second processing rule is set in the second local system. The event processing system according to claim 4, wherein: ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、当該処理ルールを自ローカルシステムに設定し、
前記ローカルシステムが、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
前記ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記ディスパッチャは、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記ローカルシステムが、前記イベントを前記ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ディスパッチャのいずれかにおいて、複数の前記ローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、複数の前記ローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするイベント処理方法。
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 the processing rule in the local system,
The local system generates a dispatch rule with the local system as the transfer destination of the event that matches the event condition, and sets the dispatch rule in the dispatcher.
When the dispatcher receives the event from the event generation source, the dispatcher refers to the dispatch rule, and transfers the event to a local system of a transfer destination corresponding to the event condition that matches the event.
When the local system receives the event from the 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. ,
In any one of the dispatchers, the event condition of the dispatch rule set by a first local system of the plurality of local systems based on a first processing rule of the processing rules of the first local system And the event condition of the dispatch rule set by the second local system of the plurality of local systems based on the second processing rule of the processing rules of the second local system, An event processing method comprising: moving the first processing rule to the second local system when the number of matches of the event exceeds a predetermined threshold.
前記ディスパッチャによる前記第一の処理ルールの前記第二のローカルシステムへの移動において、
前記第二のローカルシステムが、前記第一の処理ルールを自ローカルシステムに設定し、さらに
前記第二のローカルシステムが、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項7記載のイベント処理方法。
In the movement of the first processing rule by the dispatcher to the second local system,
The second local system sets the first processing rule to the local processing system, and the second local system sets the local processing system to match the event condition of the first processing rule. The event processing method according to claim 7, wherein the dispatch rule as a transfer destination is generated, and the dispatch rule is set in the dispatcher.
前記ローカルシステムが前記処理ルールを自ローカルシステムに設定する場合、前記ローカルシステムのルール分配部が、前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定し、
前記イベント処理において、前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理し、
前記第二のローカルシステムが、前記第一の処理ルールを自ローカルシステムに設定する場合、前記第二のローカルシステムの前記ルール分配部が、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定することを特徴とする請求項8記載のイベント処理方法。
When the local system sets the processing rule to the local system, 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,
In the event processing, the processing server processes the event that matches the event condition included in the processing rule according to the processing rule,
When the second local system sets the first processing rule to the local system, the rule distribution unit of the second local system has the processing server in which the second processing rule is set The event processing method according to claim 8, wherein the first processing rule is set for the event processing method.
前記ディスパッチャによる前記第一の処理ルールの前記第二のローカルシステムへの移動において、
前記ディスパッチャが、前記第一の処理ルールに基づき設定した前記イベント条件と前記第二の処理ルールに基づき設定した前記イベント条件の両方に前記イベントが合致した回数が所定の閾値を超過した場合、処理ルール移動要求を前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方に送信し、さらに
前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方が前記処理ルール移動要求を受信した場合、前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方の前記ルール分配部が、前記第一の処理ルールの前記第二のローカルシステムへの移動が可能かどうかを判断することを特徴とする請求項9記載のイベント処理方法。
In the movement of the first processing rule by the dispatcher to the second local system,
If the number of times that the event matches both the event condition set based on the first processing rule and the event condition set based on the second processing rule exceeds a predetermined threshold, the dispatcher A rule movement request is transmitted to at least one of the first local system and the second local system, and at least one of the first local system and the second local system receives the processing rule movement request The rule distribution unit of at least one of the first local system and the second local system determines whether the movement of the first processing rule to the second local system is possible. The event processing method according to claim 9, wherein:
前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバの負荷情報と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバの負荷情報とをもとに行うことを特徴とする請求項10記載のイベント処理方法。   The determination as to whether or not the first processing rule can be moved to the second local system is based on load information of the processing server that sets the first processing rule in the first local system, and the first The event processing method according to claim 10, wherein the event processing method is performed based on load information of the processing server in which the second processing rule is set in a second local system. 前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバにおける当該第一の処理ルールに関するイベント処理結果の送信頻度と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバにおける当該第二の処理ルールに関するイベント処理結果の送信頻度とをもとに行うことを特徴とする請求項10記載のイベント処理方法。   Whether the first processing rule can be moved to the second local system is determined by determining whether the first processing rule is set in the processing server in which the first processing rule is set in the first local system. And the transmission frequency of the event processing result related to the second processing rule in the processing server in which the second processing rule is set in the second local system. 11. The event processing method according to claim 10, wherein: アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する
ことを特徴とするローカルシステム。
When a processing rule including an event condition indicating an event condition to be processed is received from the application server, the processing rule is set in the local system, and the local system is used as a transfer destination of the event that matches the event condition Generate a rule, set the dispatch rule to the dispatcher,
When the event is received from the 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,
In the dispatcher, the event condition of the dispatch rule set by the own local system based on the first processing rule of the processing rule of the own local system, and the processing of the other local system by the other local system When the number of times the event matches both the event condition of the dispatch rule set based on the second processing rule of the rules exceeds a predetermined threshold, the first processing rule is changed to the other processing rule. A local system characterized by moving to the local system.
複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、
前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、
前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするディスパッチャ。
From each of a plurality of local systems, a dispatch rule that receives the local system as an event transfer destination that matches the event condition is received.
When receiving the event from the event generation source, refer to the dispatch rule, transfer the event to the local system of the transfer destination corresponding to the event condition that matches the event,
The event condition of the dispatch rule set by the first local system of the plurality of local systems based on the first processing rule of the processing rules of the first local system, and the plurality of local systems The number of times the event matches the event condition of the dispatch rule set by the second local system based on the second processing rule of the processing rules of the second local system is predetermined. A dispatcher that moves the first processing rule to the second local system when the threshold value is exceeded.
コンピュータに、
アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、
自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する
処理を実行させるローカルシステム用プログラムを記録したプログラム記録媒体。
On the computer,
When a processing rule including an event condition indicating an event condition to be processed is received from an application server, the processing rule is set in the local system
Generate a dispatch rule with the local system as the transfer destination of the event that matches the event condition, set the dispatch rule in the dispatcher,
When the event is received from the 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,
In the dispatcher, the event condition of the dispatch rule set by the own local system based on the first processing rule of the processing rule of the own local system, and the processing of the other local system by the other local system When the number of times the event matches both the event condition of the dispatch rule set based on the second processing rule of the rules exceeds a predetermined threshold, the first processing rule is changed to the other processing rule. A program recording medium that records a program for a local system that executes a process of moving to the local system.
コンピュータに、
複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、
前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、
前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動する
処理を実行させるディスパッチャ用プログラムを記録したプログラム記録媒体。
On the computer,
From each of a plurality of local systems, a dispatch rule that receives the local system as an event transfer destination that matches the event condition is received.
When receiving the event from the event generation source, refer to the dispatch rule, transfer the event to the local system of the transfer destination corresponding to the event condition that matches the event,
The event condition of the dispatch rule set by the first local system of the plurality of local systems based on the first processing rule of the processing rules of the first local system, and the plurality of local systems The number of times the event matches the event condition of the dispatch rule set by the second local system based on the second processing rule of the processing rules of the second local system is predetermined. A program recording medium recording a dispatcher program for executing a process of moving the first processing rule to the second local system when the threshold value of the first processing rule is exceeded.
JP2011504888A 2009-03-17 2010-03-15 Event processing system, event processing method, local system, dispatcher, and program storage medium Expired - Fee Related JP5327314B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011504888A JP5327314B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, local system, dispatcher, and program storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009063721 2009-03-17
JP2009063721 2009-03-17
JP2011504888A JP5327314B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, local system, dispatcher, and program storage medium
PCT/JP2010/054744 WO2010107103A1 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, local system, dispatcher, and program storage medium

Publications (2)

Publication Number Publication Date
JPWO2010107103A1 JPWO2010107103A1 (en) 2012-09-20
JP5327314B2 true JP5327314B2 (en) 2013-10-30

Family

ID=42739759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011504888A Expired - Fee Related JP5327314B2 (en) 2009-03-17 2010-03-15 Event processing system, event processing method, local system, dispatcher, and program storage medium

Country Status (2)

Country Link
JP (1) JP5327314B2 (en)
WO (1) WO2010107103A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101856487B1 (en) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 Computing device for processing parsing

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5664098B2 (en) * 2010-10-05 2015-02-04 富士通株式会社 Composite event distribution apparatus, composite event distribution method, and composite event distribution program
WO2013105176A1 (en) * 2012-01-11 2013-07-18 日本電気株式会社 Event processing system, event processing control device, event processing method and program
EP2891985A4 (en) * 2012-08-31 2016-05-11 Nec Corp Rule distribution device, event processing system, rule distribution method, and rule distribution program

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101856487B1 (en) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 Computing device for processing parsing

Also Published As

Publication number Publication date
JPWO2010107103A1 (en) 2012-09-20
WO2010107103A1 (en) 2010-09-23

Similar Documents

Publication Publication Date Title
JP5299437B2 (en) Event processing system, event processing method, rule distribution device, and rule distribution program
US9396154B2 (en) Multi-core processor for managing data packets in communication network
US9367261B2 (en) Computer system, data management method and data management program
CN112860393B (en) Distributed task scheduling method and system
JP5327314B2 (en) Event processing system, event processing method, local system, dispatcher, and program storage medium
CN101616083A (en) A kind of message forwarding method and device
US8881173B2 (en) Event processing system, distribution controller, event processing method, distribution control method, and program storage medium
CN110383764A (en) The system and method for usage history data processing event in serverless backup system
CN107656966A (en) The method and server of a kind of processing data
CN104854845B (en) Use the method and apparatus of efficient atomic operation
CN112217847A (en) Micro service platform, implementation method thereof, electronic device and storage medium
CN115113997A (en) Task scheduling method and device, electronic equipment and storage medium
CN114265753A (en) Management method and management system of message queue and electronic equipment
JP5327315B2 (en) Event processing system, event processing method, rule distribution device, and program storage medium
CN106406990B (en) A kind of job stacking-reso urce matching method and system with security constraint
US6339812B1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
CN114938376B (en) Industrial Internet of things based on priority processing data and control method thereof
WO2023061329A1 (en) Communication method applied to computer cluster, and communication apparatus
JPWO2014002179A1 (en) Data collection system and data collection program
US20110307552A1 (en) Method and System for Moving a Project in a Complex Event Processing Cluster
US9203692B1 (en) Optimized event routing in distributed data management
CN115170152A (en) Data distribution method, device, equipment and storage medium
CN112541038A (en) Time series data management method, system, computing device and storage medium
CN112181900B (en) Data processing method and device in server cluster
KR20140121216A (en) System and method for device duplication of virtualization system in virtual machine environment

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