JPWO2010107103A1 - 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 PDFInfo
- Publication number
- JPWO2010107103A1 JPWO2010107103A1 JP2011504888A JP2011504888A JPWO2010107103A1 JP WO2010107103 A1 JPWO2010107103 A1 JP WO2010107103A1 JP 2011504888 A JP2011504888 A JP 2011504888A JP 2011504888 A JP2011504888 A JP 2011504888A JP WO2010107103 A1 JPWO2010107103 A1 JP WO2010107103A1
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims description 78
- 230000005540 biological transmission Effects 0.000 claims description 52
- 238000009826 distribution Methods 0.000 claims description 36
- 230000026676 system process Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000010076 replication Effects 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 4
- 101001136140 Pinus strobus Putative oxygen-evolving enhancer protein 2 Proteins 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- -1 PS12 Proteins 0.000 description 2
- 101000798429 Pinus strobus Putative 2-Cys peroxiredoxin BAS1 Proteins 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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] or computer integrated manufacturing [CIM]
- G05B19/41865—Total 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] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer And Data Communications (AREA)
- Development Economics (AREA)
- Manufacturing & Machinery (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Strategic Management (AREA)
- Multimedia (AREA)
- General Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
Abstract
ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制する。イベント処理システムは、イベント201をローカルシステム100に転送する複数のディスパッチャ140と、アプリケーションサーバ160へイベント処理結果205を送信する複数のローカルシステム100とを備える。ディスパッチャ140において、ローカルシステム100(LS1)の処理ルール202に基づくディスパッチルール204と、ローカルシステム100(LS2)の処理ルール202に基づくディスパッチルール204の両方に、イベント201が合致した回数が所定の閾値を超過した場合、ローカルシステム100(LS1)の処理ルール202をローカルシステム100(LS2)へ移動、または、ローカルシステム100(LS2)の処理ルール202をローカルシステム100(LS1)へ移動する。In an event processing system in which rule distributors are distributed, an increase in dispatcher processing load accompanying event duplication is suppressed. The event processing system includes a plurality of dispatchers 140 that transfer the event 201 to the local system 100 and a plurality of local systems 100 that transmit the event processing result 205 to the application server 160. In the dispatcher 140, the number of times the event 201 matches both the dispatch rule 204 based on the processing rule 202 of the local system 100 (LS1) and the dispatch rule 204 based on the processing rule 202 of the local system 100 (LS2) is a predetermined threshold value. Is exceeded, 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-
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
The
In the case of the example described above, the
As a result, events generated from
特許第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.
100 ローカルシステム
110 ルール分配部
111 処理ルール設定部
112 処理ルール分配アルゴリズム記憶部
113 処理ルール設定情報記憶部
114 ディスパッチルール設定部
120 処理サーバ
130 ローカルディスパッチャ
140 ディスパッチャ
150 イベント発生源
160 アプリケーションサーバ
201 イベント
202 処理ルール
203 ローカルディスパッチルール
204 ディスパッチルール
205 イベント処理結果
206 処理ルール移動要求
207 処理ルール受入要求
208 処理ルール受入応答
211 処理ルール設定情報
212 負荷情報
213 処理結果送信情報
221 複製回数カウンタ100
(第一の実施の形態)
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
図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
Here, the
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
Examples of the
In addition to “information detected by the
When the
The
The
The
The
FIG. 2 shows the configuration of the
When the processing
In addition to the
In the example of FIG. 16, a CPU usage rate of 20% is set as the
FIG. 3 shows the configuration of the
Note that the
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
The
Here, as shown in FIG. 8, the
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
When the
Here, as the processing rule distribution algorithm, for example, a method of distributing the processing rules 202 so that the load of the
Further, as shown in FIG. 9, the processing rule setting information 211 includes a processing server identifier and a rule identifier of the
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
As shown in FIG. 10, the
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
The dispatch
The dispatch
As shown in FIG. 11, the
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
For example, when the local system 100 (LS1, LS2) sets the
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
As shown in FIG. 13, the
When receiving the
As shown in FIG. 14, the
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
Note that the number of copies of the
When the
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
When the
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
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
As shown in FIG. 15, the processing
For example, when the replication count of the
When the processing
As shown in FIG. 17, the processing
For example, when the processing
When the processing
If the processing
For example, the processing
When the processing
When the processing
On the other hand, when the processing
For example, the local system 100 (LS2) transmits the processing
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
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
For example, when the dispatcher 140 (GD2) receives the event 201 (I31) for the
When receiving the
For example, when the
When the
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
As described above, as shown in FIG. 1, after the processing rule is moved, the event 201 (I31) (TagID = 6) transmitted from the
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
Here, when the
When the
Here, in the
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
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
(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
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
FIG. 27 shows the configuration of the
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
When the processing
As shown in FIG. 29, the processing
For example, the processing
When the processing
For example, when the processing
When the processing
Hereinafter, the transmission of the processing
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
In the above-described embodiment of the present invention, the
Further, in the above-described embodiment of the present invention, when the
Further, in the above-described embodiment of the present invention, the
Further, in the above-described embodiment of the present invention, the case where there are two
Further, in the above-described embodiment of the present invention, the case where the
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.
前記ローカルシステムが、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
前記ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記ディスパッチャは、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
前記ローカルシステムが、前記イベントを前記ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ディスパッチャのいずれかにおいて、複数の前記ローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、複数の前記ローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするイベント処理方法。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.
前記イベント処理において、前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理し、
前記第二のローカルシステムが、前記第一の処理ルールを自ローカルシステムに設定する場合、前記第二のローカルシステムの前記ルール分配部が、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定することを特徴とする請求項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:
前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する
ことを特徴とするローカルシステム。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 the 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 in which a program for a local system for executing a process of moving to a local system is recorded.
複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、
前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、
前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動する
処理を実行させるディスパッチャ用プログラムを記録したプログラム記録媒体。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.
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 true JPWO2010107103A1 (en) | 2012-09-20 |
JP5327314B2 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) |
Families Citing this family (4)
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 |
KR101856487B1 (en) * | 2017-03-03 | 2018-06-19 | 주식회사 티맥스데이터 | Computing device for processing parsing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339392A (en) * | 1989-07-27 | 1994-08-16 | Risberg Jeffrey S | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
JP2001100999A (en) * | 1999-09-30 | 2001-04-13 | Mitsubishi Electric Corp | Rule base system |
JP4635147B2 (en) * | 2005-11-17 | 2011-02-16 | 国立大学法人 筑波大学 | PATTERN MATCHING APPARATUS, METHOD FOR FORMING THE SAME, METHOD FOR OPERATING NETWORK Illegal Intrusion Detection Device USING SAME |
-
2010
- 2010-03-15 WO PCT/JP2010/054744 patent/WO2010107103A1/en active Application Filing
- 2010-03-15 JP JP2011504888A patent/JP5327314B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2010107103A1 (en) | 2010-09-23 |
JP5327314B2 (en) | 2013-10-30 |
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 | |
CN106817408B (en) | Distributed server cluster scheduling method and device | |
US20160371122A1 (en) | File processing workflow management | |
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 | |
US20140059315A1 (en) | Computer system, data management method and data management program | |
JP5245711B2 (en) | Distributed data processing system, distributed data processing method, and distributed data processing program | |
US9367368B2 (en) | Event processing control device, node device, event processing system, and event processing control method | |
CN107656966A (en) | The method and server of a kind of processing data | |
CN110740164A (en) | Server determination method, regulation and control method, device, equipment and storage medium | |
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 | |
JP5327315B2 (en) | Event processing system, event processing method, rule distribution device, and program storage medium | |
Lin et al. | Unrelated parallel machines scheduling problem using an ant colony optimization approach | |
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 | |
JPWO2014002179A1 (en) | Data collection system and data collection program | |
JP2017162046A (en) | Sensor data processing apparatus, sensor data processing system, sensor data processing method, and sensor data processing program | |
CN115617480A (en) | Task scheduling method, device and system and storage medium | |
US9203692B1 (en) | Optimized event routing in distributed data management | |
CN112541038A (en) | Time series data management method, system, computing device and storage medium |
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 |