WO2010107103A1 - イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体 - Google Patents

イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体 Download PDF

Info

Publication number
WO2010107103A1
WO2010107103A1 PCT/JP2010/054744 JP2010054744W WO2010107103A1 WO 2010107103 A1 WO2010107103 A1 WO 2010107103A1 JP 2010054744 W JP2010054744 W JP 2010054744W WO 2010107103 A1 WO2010107103 A1 WO 2010107103A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
event
rule
local system
processing rule
Prior art date
Application number
PCT/JP2010/054744
Other languages
English (en)
French (fr)
Inventor
磯山和彦
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2011504888A priority Critical patent/JP5327314B2/ja
Publication of WO2010107103A1 publication Critical patent/WO2010107103A1/ja

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] or 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] or 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]

Definitions

  • the present invention relates to an event processing system, an event processing method, a local system, a dispatcher, and a program storage medium, and in particular, 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 are examples of devices that process events that occur in large quantities from devices such as RFID (Radio Frequency Identification) and sensors.
  • FIG. 31 shows a load distribution distribution system disclosed in Japanese Patent No. 41611998.
  • 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 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).
  • 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”.
  • 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.
  • 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).
  • 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.
  • 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
  • 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.
  • 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.
  • the local system 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.
  • 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.
  • 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.
  • 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 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 first program recording medium of the present invention 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.
  • 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.
  • the dispatch rule 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. .
  • An effect of the present invention is that in an event processing system in which rule distributors are arranged in a distributed manner, it is possible to suppress an increase in the processing load of the dispatcher accompanying event duplication.
  • FIG. 1 is a configuration diagram of the entire event processing system according to the first embodiment of the present invention.
  • 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.
  • 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.
  • the symbol in parentheses following the reference number indicates an identifier.
  • the local system 100 (LS1) indicates the local system with the identifier LS1
  • 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.
  • a non-contact or contact-type information reading device such as an RFID reader and a magnetic card reader
  • various sensors for detecting temperature, atmospheric pressure, acceleration, and the like for example, an identifier of an RFID tag detected at a certain time, temperature, atmospheric pressure, acceleration, etc.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the processing rule setting unit 111 determines the processing server 120 that processes the processing rule 202 and sets the processing rule 202.
  • the processing rule 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. ).
  • 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.
  • 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.
  • the dispatcher 140 includes a replication number counter 221 that stores and manages the number of replications of the event 201.
  • the dispatcher 140 sends a processing rule move request 206 to the transfer destination of the event 201. Transmit to the local system 100.
  • 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.
  • FIG. 4 is a sequence diagram showing the operation of the dispatch rule setting process in the first embodiment of the present invention.
  • 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.
  • 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.
  • 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).
  • 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.
  • the local system 100 receives the processing rule 202 (R11, R12) and the local system 100 (LS2) receives the processing rule 202 (R21, R22).
  • the event generation source type RFID here
  • “notify to application server AS12” is designated as the processing content of the processing server 120 for this event condition.
  • 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).
  • 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.
  • 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).
  • 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).
  • 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).
  • 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).
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • event source type RFID
  • event source identifier G3
  • detection information: TagID 6 are set as event attribute information of the event 201 (I31).
  • 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.
  • 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).
  • 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).
  • 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.
  • 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).
  • the local dispatcher 130 of the local system 100 (LS1) transfers the event 201 (I31) to the processing server 120 (PS12).
  • the local dispatcher 130 of the local system 100 transfers the event 201 (I31) to the processing server 120 (PS21).
  • 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).
  • 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.
  • FIG. 6 is a sequence diagram showing the operation of the process rule movement process in the first embodiment of the present invention.
  • step S203 when the number of copies of the copy number counter 221 exceeds the copy number threshold, 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.
  • 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).
  • the replication count threshold is set in the dispatcher 140 in advance.
  • 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.
  • the dispatcher 140 uses (LS1, R12), (LS2, R21) as the local system identifier and rule identifier as shown in FIG.
  • processing rule transfer request 206 including the is transmitted to the local system 100 (LS1, LS2).
  • 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.
  • the processing rule acceptance request 207 includes a rule identifier, an event condition, processing content, load information, and a related rule identifier.
  • 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.
  • 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.
  • 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.
  • the processing rule acceptance request 207 as shown in FIG. It transmits to the other local system 100 (LS2) included in 206.
  • 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.
  • the load information 212 (20%) of the processing server 120 (PS12) that processes the processing rule 202 (R12) is set.
  • 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.
  • 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).
  • 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).
  • 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).
  • 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).
  • 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.
  • the processing rule setting unit 111 of the local system 100 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).
  • 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.
  • the processing rule setting unit 111 of the local system 100 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).
  • 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).
  • 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).
  • 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).
  • the local system 100 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.
  • 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).
  • the processing rule 202 (R11, R12, R21) is set in the local system 100 (LS1)
  • the processing rule 202 (R22) is set in the local system 100 (LS2).
  • the processing rule setting information 211 of the local system 100 (LS1, LS2) is as shown in FIG.
  • 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.
  • the event 201 is not duplicated.
  • 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).
  • 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).
  • the local dispatcher 130 of the local system 100 LS1 receives the event 201 (I31) for the local dispatch rule 203 in FIG.
  • the event 201 (I31) is transferred to the processing server 120 (PS12).
  • 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).
  • the processing server 120 processes the event 201 according to each processing rule 202 and transmits the event processing result 205.
  • 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).
  • 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).
  • the local system 100 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).
  • 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.
  • the local system 100 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 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.
  • 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.
  • the dispatcher 140 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.
  • the event condition of the dispatch rule 204 set based on the processing rule 202 of the local system 100 (LS1)
  • the event condition of the dispatch rule 204 set based on the processing rule 202 of the local system 100 (LS2)
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • components having the same reference numerals as those in the first embodiment are the same as those in the first embodiment unless otherwise specified.
  • the application server 160 transmits the processing rule 202 to the nearby local system 100 based on the distance on the network. FIG.
  • 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.
  • 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.
  • the processing rule setting unit 111 of the local system 100 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.
  • 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.
  • 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).
  • 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.
  • 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).
  • 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).
  • 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.
  • the processing rule setting unit 111 of the local system 100 determines that the processing rule 202 (R12) cannot be moved.
  • 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.
  • 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 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.
  • 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).
  • the operation of the second embodiment of the present invention is completed.
  • 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.
  • 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.
  • 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.
  • 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.
  • the local system 100 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”.
  • 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.
  • the dispatcher 140 may transmit the processing rule movement request 206 to at least one of the two local systems 100.
  • the case where there are two local systems 100 to which the event 201 copied in the dispatcher 140 is transferred has been described.
  • 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.
  • the case where the event 201 is duplicated in one dispatcher 140 has been described.
  • the local system 100 When duplication of the event 201 occurs in a plurality of dispatchers 140, the local system 100 counts the number of receptions 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 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.
  • the present invention can be applied to a physical distribution traceability system using an event from an RFID or a sensor, an SCEM (Supply Chain Event Management) system, and an environmental management system such as weather or disaster.
  • SCEM Serial Chain Event Management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer And Data Communications (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)へ移動する。

Description

イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体
 本発明は、イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体に関し、特にRFID(Radio Frequency Identification)、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体に関する。
 デバイスなどから大量に発生するイベントを処理するシステムの一例が特許第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)。
 特許第4161998号公報記載の負荷分散振り分けシステムでは、ルール分配器が複数のアプリケーションから処理要求を受け付け、イベント処理サーバへのイベント処理ルールの設定、ディスパッチルールの生成とディスパッチャへの設定を行う必要があった。このため、大規模なシステムでは、ルール分配器の処理負荷が高くなり、システムの処理性能に影響を与えるという問題がある。
 この問題を解決するために、ルール分配器をローカルシステム毎に分散配置し、イベント処理ルールの設定、イベント振り分けルールの生成・設定を、ローカルシステム毎に独立して行う方法がある。しかしながら、ルール分配器をローカルシステム毎に分散配置した場合、複数の異なるアプリケーションサーバが、異なるローカルシステムに対して、同じイベント条件の処理要求を行う可能性がある。この場合、複数のローカルシステムが、同じイベント条件のディスパッチルールをディスパッチャに設定するため、ディスパッチャは、1つのイベントを複数のローカルシステムに複製(コピー)して転送する必要があり、ディスパッチャの処理負荷が増大するという課題がある。
 本発明の目的は、上述した課題を解決し、ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができるイベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体を提供することにある。
 本発明のイベント処理システムは、イベント発生源からイベントを受信する複数のディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、前記複数のローカルシステムのそれぞれは、前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記複数のディスパッチャのそれぞれは、前記イベントを前記イベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記複数のディスパッチャのいずれかにおいて、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
 本発明のイベント処理方法は、ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、当該処理ルールを自ローカルシステムに設定し、前記ローカルシステムが、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記ディスパッチャは、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、前記ローカルシステムが、前記イベントを前記ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャのいずれかにおいて、複数の前記ローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、複数の前記ローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
 本発明のローカルシステムは、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動することを特徴とする。
 本発明のディスパッチャは、複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とする。
 本発明の第一のプログラム記録媒体は、コンピュータに、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する処理を実行させる。
 本発明の第二のプログラム記録媒体は、コンピュータに、複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動する処理を実行させる。
 本発明の効果は、ルール分配器を分散配置したイベント処理システムにおいて、イベントの複製に伴うディスパッチャの処理負荷の増大を抑制することができることである。
本発明の第一の実施の形態におけるイベント処理システム全体の構成を示す図である。 本発明の第一の実施の形態におけるローカルシステム100の構成を示す図である。 本発明の第一の実施の形態におけるディスパッチャ140の構成を示す図である。 本発明の第一の実施の形態におけるディスパッチルール設定処理の動作を示すシーケンス図である。 本発明の第一の実施の形態におけるイベント処理(処理ルール移動前)の動作を示すシーケンス図である。 本発明の第一の実施の形態における処理ルール移動処理の動作を示すシーケンス図である。 本発明の第一の実施の形態におけるイベント処理(処理ルール移動後)の動作を示すシーケンス図である。 本発明の第一の実施の形態における処理ルール202(処理ルール移動前)の例を示す図である。 本発明の第一の実施の形態における処理ルール設定情報211(処理ルール移動前)の例を示す図である。 本発明の第一の実施の形態におけるローカルディスパッチルール203(処理ルール移動前)の例を示す図である。 本発明の第一の実施の形態における、ローカルシステム100で生成されるディスパッチルール204(処理ルール移動前)の例を示す図である。 本発明の第一の実施の形態における、ディスパッチャに設定されたディスパッチルール204(処理ルール移動前)の例を示す図である。 本発明の第一の実施の形態におけるイベント201の例を示す図である。 本発明の第一の実施の形態における複製回数カウンタ221の例を示す図である。 本発明の第一の実施の形態における処理ルール移動要求206の例を示す図である。 本発明の第一の実施の形態における負荷情報212の例を示す図である。 本発明の第一の実施の形態における処理ルール受入要求207の例を示す図である。 本発明の第一の実施の形態における処理ルール受入応答208の例を示す図である。 本発明の第一の実施の形態における処理ルール受入要求207の他の例を示す図である。 本発明の第一の実施の形態における処理ルール受入応答208の他の例を示す図である。 本発明の第一の実施の形態における処理ルール202(処理ルール移動後)の例を示す図である。 本発明の第一の実施の形態における処理ルール設定情報211(処理ルール移動後)の例を示す図である。 本発明の第一の実施の形態におけるローカルディスパッチルール203(処理ルール移動後)の例を示す図である。 本発明の第一の実施の形態における、ローカルシステム100で生成されるディスパッチルール204(処理ルール移動後)の例を示す図である。 本発明の第一の実施の形態における、ディスパッチャに設定されたディスパッチルール204(処理ルール移動後)の例を示す図である。 本発明の第一の実施の形態の特徴的な構成を示す図である。 本発明の第二の実施の形態におけるローカルシステム100の構成を示す図である。 本発明の第一の実施の形態における処理結果送信情報213の例を示す図である。 本発明の第二の実施の形態における処理ルール受入要求207の例を示す図である。 本発明の第二の実施の形態における処理ルール受入要求207の他の例を示す図である。 特許第4161998号公報の負荷分散振り分けシステムの構成を示す図である。
 100 ローカルシステム
 110 ルール分配部
 111 処理ルール設定部
 112 処理ルール分配アルゴリズム記憶部
 113 処理ルール設定情報記憶部
 114 ディスパッチルール設定部
 120 処理サーバ
 130 ローカルディスパッチャ
 140 ディスパッチャ
 150 イベント発生源
 160 アプリケーションサーバ
 201 イベント
 202 処理ルール
 203 ローカルディスパッチルール
 204 ディスパッチルール
 205 イベント処理結果
 206 処理ルール移動要求
 207 処理ルール受入要求
 208 処理ルール受入応答
 211 処理ルール設定情報
 212 負荷情報
 213 処理結果送信情報
 221 複製回数カウンタ
 (第一の実施の形態)
 次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
 図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を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、RFID、センサのようなデバイス等から大量に発生するイベントの処理を行うイベント処理システムに適用できる。例えば、本発明は、RFIDやセンサからのイベントを利用した物流トレーサビリティシステム、SCEM(Supply Chain Event Management)システム、天候や災害等の環境管理システムに適用できる。

Claims (16)

  1.  イベント発生源からイベントを受信する複数のディスパッチャとアプリケーションサーバへイベントの処理結果を送信する複数のローカルシステムとを備え、
     前記複数のローカルシステムのそれぞれは、
     前記アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定し、
     前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
     前記複数のディスパッチャのそれぞれは、
     前記イベントを前記イベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
     前記複数のディスパッチャのいずれかにおいて、前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするイベント処理システム。
  2.  前記第二のローカルシステムは、
     前記第一の処理ルールを当該第二のローカルシステムへ移動する場合、当該第一の処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項1記載のイベント処理システム。
  3.  前記複数のローカルシステムのそれぞれは、
     前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定し、前記ディスパッチルールを生成し、前記ディスパッチャに設定するルール分配部と、
     前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理する少なくとも1つの前記処理サーバとを備え、
     前記第二のローカルシステムの前記ルール分配部は、
     前記第一の処理ルールを当該第二のローカルシステムへ移動する場合、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項2記載のイベント処理システム。
  4.  前記複数のディスパッチャのそれぞれは、
     前記第一の処理ルールに基づき設定した前記イベント条件と前記第二の処理ルールに基づき設定した前記イベント条件の両方に前記イベントが合致した回数が所定の閾値を超過した場合、処理ルール移動要求を前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方に送信し、
     前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方が前記処理ルール移動要求を受信した場合、前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方の前記ルール分配部は、前記第一の処理ルールの前記第二のローカルシステムへの移動が可能かどうかを判断し、
     前記第二のローカルシステムの前記ルール分配部は、
     前記第一の処理ルールの当該第二のローカルシステムへの移動が可能な場合、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定し、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項3記載のイベント処理システム。
  5.  前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバの負荷情報と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバの負荷情報とをもとに行うことを特徴とする請求項4記載のイベント処理システム。
  6.  前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバにおける当該第一の処理ルールに関するイベント処理結果の送信頻度と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバにおける当該第二の処理ルールに関するイベント処理結果の送信頻度とをもとに行うことを特徴とする請求項4記載のイベント処理システム。
  7.  ローカルシステムが、アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、前記ローカルシステムは、当該処理ルールを自ローカルシステムに設定し、
     前記ローカルシステムが、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
     前記ディスパッチャが、前記イベントをイベント発生源から受信した場合、前記ディスパッチャは、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先のローカルシステムに当該イベントを転送し、
     前記ローカルシステムが、前記イベントを前記ディスパッチャから受信した場合、前記ローカルシステムは、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
     前記ディスパッチャのいずれかにおいて、複数の前記ローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、複数の前記ローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするイベント処理方法。
  8.  前記ディスパッチャによる前記第一の処理ルールの前記第二のローカルシステムへの移動において、
     前記第二のローカルシステムが、前記第一の処理ルールを自ローカルシステムに設定し、さらに
     前記第二のローカルシステムが、自ローカルシステムを当該第一の処理ルールの前記イベント条件に合致する前記イベントの転送先とした前記ディスパッチルールを生成し、当該ディスパッチルールを前記ディスパッチャに設定することを特徴とする請求項7記載のイベント処理方法。
  9.  前記ローカルシステムが前記処理ルールを自ローカルシステムに設定する場合、前記ローカルシステムのルール分配部が、前記アプリケーションサーバから受信した前記処理ルールを自ローカルシステムのいずれか1つの処理サーバに設定し、
     前記イベント処理において、前記処理サーバが、前記処理ルールに従って、当該処理ルールに含まれる前記イベント条件に合致する前記イベントを処理し、
     前記第二のローカルシステムが、前記第一の処理ルールを自ローカルシステムに設定する場合、前記第二のローカルシステムの前記ルール分配部が、前記第二の処理ルールが設定されている前記処理サーバに当該第一の処理ルールを設定することを特徴とする請求項8記載のイベント処理方法。
  10.  前記ディスパッチャによる前記第一の処理ルールの前記第二のローカルシステムへの移動において、
     前記ディスパッチャが、前記第一の処理ルールに基づき設定した前記イベント条件と前記第二の処理ルールに基づき設定した前記イベント条件の両方に前記イベントが合致した回数が所定の閾値を超過した場合、処理ルール移動要求を前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方に送信し、さらに
     前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方が前記処理ルール移動要求を受信した場合、前記第一のローカルシステムと前記第二のローカルシステムの少なくとも一方の前記ルール分配部が、前記第一の処理ルールの前記第二のローカルシステムへの移動が可能かどうかを判断することを特徴とする請求項9記載のイベント処理方法。
  11.  前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバの負荷情報と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバの負荷情報とをもとに行うことを特徴とする請求項10記載のイベント処理方法。
  12.  前記第一の処理ルールの前記第二のローカルシステムへの移動が可能なかどうかの判断は、前記第一のローカルシステムにおいて前記第一の処理ルールを設定した前記処理サーバにおける当該第一の処理ルールに関するイベント処理結果の送信頻度と、前記第二のローカルシステムにおいて前記第二の処理ルールを設定した前記処理サーバにおける当該第二の処理ルールに関するイベント処理結果の送信頻度とをもとに行うことを特徴とする請求項10記載のイベント処理方法。
  13.  アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
     前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
     前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する
    ことを特徴とするローカルシステム。
  14.  複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、
     前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、
     前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動することを特徴とするディスパッチャ。
  15.  コンピュータに、
     アプリケーションサーバから処理するイベントの条件を示すイベント条件を含む処理ルールを受信した場合、当該処理ルールを自ローカルシステムに設定し、
     自ローカルシステムを当該イベント条件に合致する前記イベントの転送先としたディスパッチルールを生成し、当該ディスパッチルールをディスパッチャに設定し、
     前記イベントを前記ディスパッチャから受信した場合、前記処理ルールに従って当該イベントを処理し、当該イベントの処理結果を、当該処理ルールの送信元の前記アプリケーションサーバに通知し、
     前記ディスパッチャにおいて、自ローカルシステムが当該自ローカルシステムの前記処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、他のローカルシステムが当該他のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記他のローカルシステムに移動する
    処理を実行させるローカルシステム用プログラムを記録したプログラム記録媒体。
  16.  コンピュータに、
     複数のローカルシステムのそれぞれから、当該ローカルシステムをイベント条件に合致するイベントの転送先としたディスパッチルールを受信し、
     前記イベントをイベント発生源から受信した場合、前記ディスパッチルールを参照し、当該イベントに合致する前記イベント条件に対応した転送先の前記ローカルシステムに当該イベントを転送し、
     前記複数のローカルシステムのうちの第一のローカルシステムが当該第一のローカルシステムの処理ルールのうちの第一の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件と、前記複数のローカルシステムのうちの第二のローカルシステムが当該第二のローカルシステムの前記処理ルールのうちの第二の処理ルールに基づき設定した前記ディスパッチルールの前記イベント条件との両方に、前記イベントが合致した回数が所定の閾値を超過した場合、当該第一の処理ルールを前記第二のローカルシステムに移動する
    処理を実行させるディスパッチャ用プログラムを記録したプログラム記録媒体。
PCT/JP2010/054744 2009-03-17 2010-03-15 イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体 WO2010107103A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011504888A JP5327314B2 (ja) 2009-03-17 2010-03-15 イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-063721 2009-03-17
JP2009063721 2009-03-17

Publications (1)

Publication Number Publication Date
WO2010107103A1 true WO2010107103A1 (ja) 2010-09-23

Family

ID=42739759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/054744 WO2010107103A1 (ja) 2009-03-17 2010-03-15 イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体

Country Status (2)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
WO2013105176A1 (ja) * 2012-01-11 2013-07-18 日本電気株式会社 イベント処理システム、イベント処理制御装置、イベント処理方法、及び、プログラム
US20150222544A1 (en) * 2012-08-31 2015-08-06 Nec Corporation Rule distribution apparatus, event processing system, rule distribution method, and rule distribution program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101856487B1 (ko) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 파싱을 처리하기 위한 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06504152A (ja) * 1990-12-28 1994-05-12 ロイターズ・リミテッド リアルタイム・データの変化を示すユーザ定義可能なビデオ表示文書を作成する装置と方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100999A (ja) * 1999-09-30 2001-04-13 Mitsubishi Electric Corp ルールベースシステム
JP4635147B2 (ja) * 2005-11-17 2011-02-16 国立大学法人 筑波大学 パターンマッチング装置、その形成方法、それを用いたネットワーク不正侵入検知装置の動作方法、およびそれを用いた侵入防止システムの動作方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06504152A (ja) * 1990-12-28 1994-05-12 ロイターズ・リミテッド リアルタイム・データの変化を示すユーザ定義可能なビデオ表示文書を作成する装置と方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Multimedia, Distributed, Cooperative, and Mobile (DICOM02008) Symposium Ronbunshu, [CD- ROM], 09 July 2008 (09.07.2008)", vol. 2008, 9 July 2008, article TADASHI SATO ET AL.: "Distributed Complex Event Processing for Context-Aware Services", pages: 975 - 981 *
TADASHI SATO ET AL.: "Proposal of Scalable Context Platform", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU, vol. 2005, no. 107, 1 November 2005 (2005-11-01), pages 5 - 9 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
WO2013105176A1 (ja) * 2012-01-11 2013-07-18 日本電気株式会社 イベント処理システム、イベント処理制御装置、イベント処理方法、及び、プログラム
US20150222544A1 (en) * 2012-08-31 2015-08-06 Nec Corporation Rule distribution apparatus, event processing system, rule distribution method, and rule distribution program

Also Published As

Publication number Publication date
JPWO2010107103A1 (ja) 2012-09-20
JP5327314B2 (ja) 2013-10-30

Similar Documents

Publication Publication Date Title
JP5299437B2 (ja) イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
US8250164B2 (en) Query performance data on parallel computer system having compute nodes
US9396154B2 (en) Multi-core processor for managing data packets in communication network
TWI678087B (zh) 訊息佇列發佈與訂閱之同步方法及其系統
CN112860393B (zh) 一种分布式任务调度方法及系统
JP5327314B2 (ja) イベント処理システム、イベント処理方法、ローカルシステム、ディスパッチャ、及びプログラム記憶媒体
CN106817408B (zh) 一种分布式服务器集群调度方法及装置
JP2018512678A (ja) 時間ベースのノード選出方法及び装置
US8881173B2 (en) Event processing system, distribution controller, event processing method, distribution control method, and program storage medium
US9367368B2 (en) Event processing control device, node device, event processing system, and event processing control method
CN112217847A (zh) 微服务平台及其实现方法、电子设备及存储介质
CN107066522B (zh) 数据库的访问方法和装置
Lin et al. Unrelated parallel machines scheduling problem using an ant colony optimization approach
JP5327315B2 (ja) イベント処理システム、イベント処理方法、ルール分配装置、及びプログラム記憶媒体
CN106406990B (zh) 一种带安全约束的成批作业-资源匹配方法及系统
US6339812B1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
CN114938376B (zh) 基于优先级处理数据的工业物联网及其控制方法
JPWO2014002179A1 (ja) データ収集システム、及びデータ収集プログラム
US20110307552A1 (en) Method and System for Moving a Project in a Complex Event Processing Cluster
CN116431324A (zh) 一种基于Kafka高并发数据采集与分发的边缘系统
CN115617480A (zh) 一种任务调度方法、装置、系统及存储介质
US9203692B1 (en) Optimized event routing in distributed data management
CN112541038A (zh) 时序数据管理方法、系统、计算设备及存储介质
JPH0516066B2 (ja)
JP2011107744A (ja) イベント処理システム、イベント処理方法、ディスパッチ装置、及びディスパッチ装置用プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10753594

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011504888

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10753594

Country of ref document: EP

Kind code of ref document: A1