WO2014061190A1 - イベント処理装置、イベント処理方法、およびイベント処理プログラム - Google Patents

イベント処理装置、イベント処理方法、およびイベント処理プログラム Download PDF

Info

Publication number
WO2014061190A1
WO2014061190A1 PCT/JP2013/005223 JP2013005223W WO2014061190A1 WO 2014061190 A1 WO2014061190 A1 WO 2014061190A1 JP 2013005223 W JP2013005223 W JP 2013005223W WO 2014061190 A1 WO2014061190 A1 WO 2014061190A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
data
event data
conflict
attribute
Prior art date
Application number
PCT/JP2013/005223
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 JP2014541913A priority Critical patent/JPWO2014061190A1/ja
Priority to US14/434,972 priority patent/US20150278722A1/en
Priority to SG11201502734RA priority patent/SG11201502734RA/en
Publication of WO2014061190A1 publication Critical patent/WO2014061190A1/ja

Links

Images

Classifications

    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • 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/10Office automation; Time management
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to an event processing device, an event processing method, and an event processing program.
  • Big data means various types of data.
  • data that is constantly transmitted in large quantities such as sensor data such as temperature, recognition results of surveillance camera images, and text data of social media represented by Twitter (registered trademark)
  • CEP Complex Event Processing
  • CEP is not a technology that processes individual data transmitted from a single information source independently, but evaluates a plurality of consecutive or discontinuous data obtained from different information sources by associating them with sequential processing. Thus, the occurrence of a desired event is detected in real time.
  • a system that provides a certain security service is realized by CEP.
  • the system counts the number of tickets issued at the entrance gate for visitors at the entrance gate for a certain number of people at the entrance gate and the number of tickets issued for the service in the facility counts the number of visitors or more. In this case, the system issues a warning for unauthorized visitors.
  • the source of the target event (including the same source as the association source) is determined in advance and described in the rule. is doing.
  • an event that is referenced by any of the prepared rules is held in the memory until all evaluations related to the event in the referenced rule are completed.
  • the source of information is a social media message sender
  • the information of such an unspecified number of transmission sources (message senders, etc.) is associated with each other, there is a possibility that contradictions occur in the contents of the transmission information.
  • one caller sends information that “Meet A person and date and time T1 at place P”, and another caller sends information that “Meet person A and date and time T2 at place P”.
  • this case if there is a rule for associating events having the same event type (meeting), target (person A), and location (P), these two events are treated as related events.
  • Patent Document 1 discloses a method for automatically detecting business-related events such as intensifying competition and strengthening cooperation between companies by extracting a large amount of business information from texts such as news and blogs.
  • a large amount of business information on two companies of the same business relationship combination is aggregated for each relationship type such as competition, cooperation, acquisition, etc., and the relationship between the companies at a certain point in time by the magnitude of the score of each relationship type The strength is judged.
  • a plurality of relationship types are generated in a combination of companies having the same business relationship among a plurality of business information, and the direction indicating which one has been acquired is the relationship type. If there is a contradiction that is different between the two, the conflict is reflected in the score representing the strength of the relationship. For example, when there is a contradiction between a plurality of business information, the score becomes small.
  • the method described in Patent Document 1 adjusts the reliability of the business event to be detected.
  • the composite event processing apparatus (hereinafter referred to as a CEP apparatus) shown in FIG. 10 does not include means for detecting and eliminating contradictions between event attributes when evaluating events in combination. Further, the contradiction elimination method described in Patent Document 1 is not assumed to be applied to sequential processing such as CEP.
  • the contradiction resolution method described in Patent Document 1 is based on the premise that all events to be evaluated are recorded in advance in a database.
  • the contradiction resolution method mines business relationships by calculating a matching score indicating the reliability of the existence of business relationships for all events.
  • Patent Document 1 it is difficult to apply the method described in Patent Document 1 to a CEP system in which new events are input one after another. Therefore, there is a need for a method for resolving inconsistencies between events by sequential processing, as in processing by other systems that implement CEP.
  • the present invention provides an event processing apparatus, an event processing method, and an event processing program capable of resolving inconsistencies between events in sequential processing in composite event processing using events obtained from an unspecified number of sources as inputs.
  • the purpose is to provide.
  • the event processing apparatus includes an event data storage unit that stores a set of event data associated with each other according to a predetermined condition until a predetermined retention period, and when newly input event data satisfies a predetermined condition.
  • Event evaluation means for including the event data as new event data in the set, and conflict data in which the new event data causes a conflict between attribute values for attributes common to other event data included in the set.
  • an event conflict resolution means for excluding the conflict data from the set.
  • the event processing method stores a set of event data associated with each other according to a predetermined condition until a predetermined retention period, and when the newly input event data satisfies a predetermined condition, When new event data is included in the set as event data, and the new event data is conflict data that causes a conflict between the attribute values for the attributes that are common to other event data included in the set, the relevant conflict data is collected. It is excluded from.
  • An event processing program includes an event data storage process for storing a set of event data associated with each other according to a predetermined condition until a predetermined retention period, and newly input event data satisfies a predetermined condition
  • the event evaluation process includes the event data as new event data in the set, and there is a conflict between the attribute values of the new event data with respect to the attributes common to the other event data included in the set.
  • conflict data an event conflict resolution process for excluding the conflict data from the set is executed.
  • FIG. 1 is a block diagram showing a configuration example of an event processing apparatus according to the first embodiment of the present invention.
  • the event processing apparatus 10 shown in FIG. 1 includes an event receiving unit 1, a rule storage unit 2, an event evaluation unit 3, an event storage unit 4, a result output unit 5, and an event conflict resolution unit 6. .
  • the event receiving means 1 has a function of receiving an event transmitted from an external transmission source.
  • the rule storage unit 2 has a function of storing the entire rule for evaluating the event received by the event reception unit 1.
  • the entire rule for evaluating an event includes a rule for grouping the event and a condition for outputting the group.
  • the rule storage unit 2 may store a concept dictionary described later.
  • the event evaluation unit 3 has a function of determining whether or not one or more events received by the event reception unit 1 comply with the rules stored in the rule storage unit 2 (hereinafter referred to as collation). Further, when one or more received events comply with the rules (hereinafter referred to as conforming), the event evaluation unit 3 has a function of including the events in a specific event set.
  • the event storage unit 4 has a function of storing an event until a predetermined time limit when the event reception unit 1 receives an event that conforms to the rule stored in the rule storage unit 2. Note that the event storage unit 4 may also store events that do not conform to the rules.
  • a composite event is an analysis result of a set of events analyzed by the event processing device 10 based on an analysis rule.
  • the event conflict resolution unit 6 detects whether or not an attribute having a different attribute value (hereinafter referred to as “conflicting”) is included between the collated events as a result of the event evaluation unit 3 collating a plurality of events in combination. It has a function.
  • the attribute value is a value indicating each attribute of the event.
  • the event conflict resolution unit 6 has a function of excluding one or more received events from a set of specific events. Have.
  • the event conflict resolution means 6 may have a function of adopting the new attribute value received later when the attribute values of the same attribute are different among a plurality of events received from the same transmission source.
  • the event conflict resolution unit 6 determines the attribute value included in the event stored earlier in the event storage unit 4 when the attribute value of the same attribute is different among a plurality of events received from different transmission sources. You may have the function of employ
  • the event conflict resolving means 6 can resolve information that causes contradiction or conflict because the attribute values of the same attribute are different.
  • FIG. 2 is a flowchart showing the operation of the event processing apparatus according to the present invention.
  • the event receiving means 1 of the event processing apparatus 10 receives a new event (step S1).
  • the event receiving unit 1 inputs the received new event to the event evaluation unit 3.
  • the event evaluation unit 3 checks whether there is an entire rule in the rule storage unit 2 that includes a rule that matches the received new event and also includes a past event (step S2).
  • step S2 If there is no rule in the rule storage unit 2 that includes the rule that matches the received event and that also matches the past event (No in step S2), the event evaluation unit 3 has received it. A new event set is created based on the events (step S11).
  • the event evaluation unit 3 uses the event storage unit 4
  • the event related to the whole rule specified in step S2 is identified from the past events stored in the.
  • the event evaluation unit 3 may specify a plurality of past events.
  • the event conflict resolution unit 6 compares the attribute value that is the value of each common attribute between the identified past event and the newly input event (Ste S3). At this time, the event conflict resolving means 6 excludes a specific attribute that is not the content of the event itself, such as an attribute for specifying the caller, from the objects to be compared.
  • the event conflict resolution unit 6 checks whether there are conflicting attribute values (step S4).
  • step S4 When there is a conflicting attribute value between the identified past event and the newly input event (Yes in step S4), the event conflict resolution unit 6 does not adopt the event having the conflicting attribute value. And excluded from the set of events related to the entire rule specified in step S2 (step S6). At this time, the set of events remains in the original state.
  • the excluded event is held in the memory of the event processing apparatus 10 until a predetermined time after the received time.
  • step S4 If there is no conflicting attribute value between the identified past event and the newly input event (No in step S4), the event evaluation unit 3 identifies the received event in step S2. In the set of events related to the entire rule (step S5).
  • the event evaluation unit 3 After including the received event in the set of events related to the entire specified rule, the event evaluation unit 3 describes the set of events including the received event in the entire rule specified in step S2. It is checked whether all conditions up to the end state are satisfied (step S7).
  • step S7 When all the conditions up to the end state are satisfied (Yes in step S7), the event evaluation unit 3 generates a composite event based on the analysis rule defined for each rule in the entire rule specified in step S2. Generate.
  • the result output means 5 outputs the generated composite event as an analysis result of the set of events (step S8).
  • step S7 When all the conditions up to the end state are not satisfied (No in step S7), the set of events remains in a state including the received event.
  • the event evaluation means 3 is the event conflict resolution means among the past events that match the rules in the whole rule specified in step S2. 6 confirms whether there is any attribute value that has not been compared yet (step S9).
  • step S9 When there is a past event whose attribute value has not been compared (Yes in step S9), the event conflict resolution unit 6 compares the attribute value again between the received event and the past event (step S3). .
  • step S9 If there is no past event whose attribute value has not been compared (No in step S9), the event evaluation unit 3 checks whether the received event is included in any of the event sets (step). S10).
  • the event evaluation unit 3 creates a new event set based on the received event (step S11).
  • step S10 When the received event is included in the set of events (Yes in step S10) or after creating a new set of events (step S11), the event evaluation unit 3 determines that an event that has not been evaluated yet It is confirmed whether there is any (step S12).
  • step S12 If there is an event that has not been evaluated yet (Yes in step S12), the event receiving means 1 receives the next event (step S1). If there is no event that has not yet been evaluated (No in step S12), the event processing apparatus 10 ends the process.
  • FIG. 3 is an explanatory diagram showing original data representing each event and examples of events e1 to e5 actually received by the event receiving means 1. For example, it is assumed that an information sender identified by the name “@foo” sends a message “to go to a demonstration (hereinafter referred to as a demo) to company A tomorrow” to social media.
  • a demo a demonstration
  • an event collection device (not shown) is used.
  • the event collection device generates an event e1 using the transmitted message as original data. Thereafter, the event receiving means 1 receives the event e1.
  • the event collection device converts one or more messages transmitted from information senders identified by names such as “@bar” and “@baz” into events e2 to e5. After the message is converted into an event, the event receiving means 1 receives the converted event.
  • the event collection device generates an event from the message.
  • the event receiving unit 1 may generate an event from the message.
  • Each event includes attributes such as a caller, a transmission date and time, an event type, an event date, and an event location, and respective attribute values.
  • the event type is information serving as a reference for classifying the event.
  • FIG. 4 is a state transition diagram showing an example of conditions for establishing a set of specific events and rules for associating related events in the entire rule.
  • the state transition diagram of FIG. 4 shows each state from the generation to the end of a specific event set.
  • the event received by the event receiving means 1 includes at least four attributes of event type, event date, event location, and number of people, and whether the attribute value of the event type is “collective behavior”. Determine whether.
  • the attribute values of attributes other than the event type may be any value according to the value range of each attribute, such as D1 for the event date, P1 for the event location, and X for the number of people, or may not have a value. Shall.
  • the event evaluation unit 3 changes the state of the specific event set that is the initial state Q0 to the state Q1.
  • Sub-rule 3 determines whether or not the attribute value X of a specific event set is 5 or more. When a specific event set conforms to the sub-rule 3, the event evaluation unit 3 immediately changes the state of the event set that has changed to the state Q1 to the end state Q2.
  • the specific event set satisfies the establishment condition defined by the rule specified by the event evaluation means 3.
  • all event sets required for the number of people value X to be 5 or more are output.
  • the event received by the event receiving means 1 includes four attributes: event type, event date, event place, number of people, and each value is “collective behavior”, D2, P2, Y, and It is determined whether D2 is equal to D1 and P2 is equal to P1.
  • the event evaluating unit 3 sets “max (X, Y, sum (distinct) to the value X of the number of people for a specific set of events that have transitioned to the state Q1. ([Sender]))) ”is recorded.
  • the formula for calculating the value X of the number of people is stored as the value X of the previous attribute “number of people” stored, the value Y of the number of newly received events. Returns the maximum value of the total number of attribute “senders” of all events that satisfy the requirements of this rule.
  • the event evaluation unit 3 evaluates the attribute value X again according to the subrule 3. If the attribute value X is 5 or more, the event evaluation unit 3 changes the state of the specific event set to the end state Q2.
  • the event evaluation means 3 is based on the events required in the current state and the necessary processing among the series of events as shown in FIG. 3 and the entire rules as shown in FIG. Perform comparative evaluations and update attributes and attribute values.
  • the event evaluating unit 3 determines the event date and the event according to the sub-rule 2 of the state Q1. Compare each value of a place.
  • the event conflict resolution unit 6 detects and resolves the conflict between events. .
  • the events e1 to e5 shown in FIG. 3 may include the attributes of the sender, the transmission date and time, the transmission location, and the event target in addition to these attributes.
  • the attribute representing the number of people is described as a sub-attribute of the attribute representing the type of event.
  • the attribute representing the event time is described as a sub-attribute of the attribute representing the event date.
  • the sub attribute is an attribute indicating additional information of the attribute.
  • the rule storage means 2 stores only the entire rule including the subrule 1, the subrule 2, and the subrule 3 shown in FIG.
  • the event receiving means 1 receives the event e1 (step S1)
  • the event evaluation means 3 is suitable for the event e1 among all the rules stored in the rule storage means 2, and already suitable for past events. It is confirmed whether or not the whole rule including the rule exists (step S2).
  • step S2 If there is no such rule as a whole (No in step S2), the event evaluation means 3 newly creates a set A of events in the initial state Q0 related to the whole rule shown in FIG. 4 (step S11).
  • the event evaluation means 3 determines that the received event e1 has attributes of event type, event date, event location, and number of people according to subrule 1. Check if it contains. Referring to the event e1 shown in FIG. 3, the event e1 includes all the attributes necessary for satisfying the condition of the subrule 1.
  • the event evaluation means 3 may compare attributes and attribute values included in the event that do not directly match the rule.
  • the concept dictionary shown in FIG. 5 is a dictionary that defines the relationship between other attributes and attribute values derived from the attribute value of a certain attribute.
  • the event e1 does not have an attribute value of “event location” but has an attribute value of “event target”.
  • the attribute value of the event target of the event e1 is “Company A”. This “Company A” is expanded from the concept dictionary shown in FIG. 5 into an attribute “event location” and an attribute value “(N35, E139)”.
  • the event evaluation unit 3 changes the state of the event set A including the event e1 to the state Q1.
  • the event receiving unit 1 receives the event e2.
  • the event evaluating means 3 confirms that the event e2 has attributes of type, event date, event location, and number of people.
  • the event evaluation unit 3 confirms that the value of the type of the event e2 is “collective behavior” (or “demo”), similarly to the event e1. As described above, the event evaluation unit 3 confirms that the event e2 conforms to the subrule 1.
  • the event evaluation unit 3 determines whether the event e1 stored in the event storage unit 4 and the new received event e2 are in accordance with the subrule 2 shown in FIG. Compare each attribute value with.
  • the “event date” of the event e1 has “2012-07-31” as the value
  • the “event date” of the event e2 similarly has the same date as the value. It is determined that the event date values of event e2 are equal.
  • the event evaluation means 3 compares the attribute “event location”.
  • the attribute “event target” of the event e2 has the attribute value “Company A”. Referring to the concept dictionary shown in FIG. 5 similarly to the event e1, “Company A” is expanded into an attribute “event location” and an attribute value “(N35, E139)”.
  • the event location of the event e1 has the position “(N35, E139)” represented by the latitude and longitude of the value “Company A” of the event target as the value, and the event location of the event e2 is similarly the same location. Therefore, the event evaluation unit 3 determines that the event location values of the event e1 and the event e2 are equal.
  • the event e2 satisfies all the conditions of the subrule 2 shown in FIG. 4 (Yes in step S2). Therefore, the entire rule including the rule that matches the event e2 and also the past event exists in the rule storage unit 2.
  • the event processing apparatus detects and eliminates conflict between events by the event conflict resolution means 6 (step S3).
  • Event e1 and event e2 have attributes of event target, sender, and transmission date and time, in addition to the already evaluated type, event date, event location, and number of people.
  • the caller and the call date / time are both meta information about the caller.
  • the event conflict resolution unit 6 excludes the meta information from the conflict detection and resolution targets. In addition, what is necessary is just to predetermine about the attribute made into this object.
  • the event conflict resolution unit 6 determines that there is no conflict between the event e1 and the event e2 ( No in step S4). After the determination, the event conflict resolution unit 6 returns the result to the event evaluation unit 3.
  • the event evaluation unit 3 that has received the processing result determined as “no conflict” by the event conflict resolution unit 6 includes the received event e2 in the event set A (step S5). Thereafter, the event evaluation unit 3 updates the attribute value of the attribute “number of people” of the event set A.
  • the event set A does not satisfy the output condition of the composite event that the value X of the number of people of sub-rule 3 is 5 or more. Also, there is no set of events whose attribute values have not yet been compared with the event e2. Since the event e2 is included in the event set A, the event receiving unit 1 receives the next event.
  • the event receiving means 1 receives the event e3 (step S1).
  • the event evaluation unit 3 confirms that the event e3 has attributes of type, event date, event location, and number of people. Further, the event evaluation means 3 confirms that the value of the type of the event e3 is “collective behavior”. Therefore, the event evaluation unit 3 confirms that the event e3 conforms to the subrule 1.
  • the event evaluation unit 3 determines whether the event e1 stored in the event storage unit 4 and the new received event e3 are in accordance with the subrule 2 shown in FIG. Compare each attribute value with.
  • the event evaluation unit 3 determines that the event e1 and the event e3 Judge that date values are equal.
  • the event evaluation means 3 compares the attribute “event location”.
  • the event e3 has an attribute value “XX building” of the event target. Referring to the concept dictionary shown in FIG. 5, “XX building” is expanded into an attribute “event location” and an attribute value “(N35, E139)”.
  • the event location of the event e1 has the position “(N35, E139)” represented by the latitude and longitude of the value “Company A” of the event target, and the event location of the event e3 also has the same position. Since it has a value, the event evaluation means 3 determines that the event location values of the event e1 and the event e3 are equal.
  • the event conflict resolution unit 6 detects and resolves the conflict between events (step S3).
  • Event e1 and event e3 have attributes of a sender and a transmission date and time in addition to the already evaluated type, event date, event location, and number of people. Since both the caller and the call date / time are meta information related to the caller, the event conflict resolution unit 6 excludes the meta information from the conflict detection and resolution targets.
  • the event conflict resolution unit 6 determines that there is no conflict between the event e1 and the event e3 (No in step S4). After the determination, the event conflict resolution unit 6 returns the result to the event evaluation unit 3.
  • the event evaluation unit 3 that has received the processing result determined as “no conflict” by the event conflict resolution unit 6 includes the received event e3 in the event set A (step S5). Thereafter, the event evaluation means 3 performs an operation of updating the attribute value of the attribute “number of people” of the event set A.
  • the event set A does not satisfy the output condition of the composite event that the value X of the number of people of sub-rule 3 is 5 or more. Also, there is no set of events whose attribute values have not yet been compared with event e3. Further, since the event e3 is included in the event set A, the event receiving unit 1 receives the next event.
  • the event receiving means 1 receives the event e4 (step S1).
  • the event evaluation unit 3 confirms that the event e4 has attributes of type, event date, event location, and number of people. Also, from the concept dictionary, the event evaluation means 3 confirms that the value of the type of the event e4 is “collective behavior” (or “demo”), as with the event e1.
  • the event evaluation unit 3 determines whether the event e1 stored in the event storage unit 4 and the new reception event e4 are in accordance with the subrule 2 shown in FIG. Compare each attribute value with.
  • the event evaluation unit 3 determines that the event e1 and the event e4 Judge that date values are equal.
  • the attribute “event location” is compared.
  • the event e4 has an attribute value “company B” of the event target. Referring to the concept dictionary shown in FIG. 5, “Company B” is expanded into an attribute “event location” and an attribute value “(N35, E139)”.
  • the event location of the event e1 has the position “(N35, E139)” represented by the latitude and longitude of the value “Company A” of the event target, and the event location of the event e4 also has the same position. Since it has a value, the event evaluation means 3 determines that the event location values of the event e1 and the event e4 are equal.
  • the event conflict resolution unit 6 detects and resolves the conflict between events (step S3).
  • Event e1 and event e4 have attributes of event target, sender, and transmission date / time in addition to the already evaluated type, event date, event location, and number of people. Since both the caller and the call date / time are meta information related to the caller, the event conflict resolution unit 6 excludes the meta information from the conflict detection and resolution targets.
  • event e1 and event e2 are “Company A”, but the value of newly received event e4 is “B” Are both different from each other.
  • the event conflict resolution unit 6 determines that the event e4 cannot be associated with a past event in the event set A in the state Q1. To do.
  • the event conflict resolution unit 6 excludes the newly received event e4 from the event set A including the event e1 in the state Q1 (step S6).
  • the event evaluation unit 3 does not perform the update operation of the attribute value of the attribute “number of people” of the event set A.
  • Excluded event e4 conforms to sub-rule 1 shown in FIG. Accordingly, the event evaluation unit 3 that has received the result of “there is a conflict” from the event conflict resolution unit 6 sets the event e4 as the first received event, and a new event in the state Q1 related to the entire rule shown in FIG. A set B is generated (step S11).
  • the event receiving means 1 receives the next event.
  • the event evaluating means 3 confirms that the event e5 has attributes of type, event date, event location, and number of people.
  • the event evaluation unit 3 confirms that the value of the type of the event e5 is “collective behavior”, similarly to the event e1. As described above, the event evaluation unit 3 confirms that the event e5 conforms to the subrule 1.
  • the event evaluation unit 3 determines whether the event e1 stored in the event storage unit 4 and the new reception event e5 are in accordance with the subrule 2 shown in FIG. Compare each attribute value with.
  • the event e5 has a transmission location attribute value “(N35, E139)”, a transmission date / time attribute value “2012-07-31 T07: 46: 22”, and an event target attribute value “Company A”.
  • “(N35, E139)” and “Company A” are expanded to attribute “event location” and attribute value “(N35, E139)”.
  • “2012-07-31 T07: 46: 22” is expanded into an attribute “event date” and an attribute value “2012-07-31”.
  • the event evaluation unit 3 determines that the event e1 and the event e5 Judge that date values are equal.
  • the event location of the event e1 has the position “(N35, E139)” represented by the latitude and longitude of the value “Company A” of the event target as the value, and the event location of the event e5 is similarly the same location. Therefore, the event evaluation unit 3 determines that the event location values of the event e1 and the event e5 are equal.
  • the event e5 satisfies all the conditions of the subrule 2 shown in FIG. 4 (Yes in step S2). Therefore, there is an entire rule including a rule that matches the event e5 and also matches the past event.
  • event conflict resolution unit 6 first detects and resolves the conflict with the event set A including the event e1 (step S3).
  • Event e1 and event e5 have attributes of event target, sender, and transmission date / time in addition to the type, event date, event location, and number of people that have already been evaluated.
  • the event conflict resolution means 6 excludes the meta information from being subject to conflict detection and resolution. .
  • the event conflict resolution unit 6 determines that there is no conflict between the event e1 and the event e5 (step S4). No). After the determination, the event conflict resolution unit 6 returns the result to the event evaluation unit 3.
  • the event evaluation unit 3 that has received the processing result determined as “no conflict” by the event conflict resolution unit 6 includes the received event e5 in the event set A (step S5). Thereafter, the event evaluation unit 3 updates the attribute value of the attribute “number of people” of the event set A.
  • the value of the attribute “number of people” of the event e5 is 11.
  • the event set A in the state Q1 satisfies the output condition of the composite event that the “number of people value X is 5 or more” in the sub-rule 3 (Yes in step S7).
  • the event evaluation means 3 changes the state of the event set A to the end state Q2.
  • the event evaluation means 3 ends the application of the entire series of rules to the event set A by making the transition to the end state Q2. As a result, a composite event as shown in FIG. 6 is output from the result output means 5 (step S8).
  • FIG. 6 is an explanatory diagram illustrating an example of a composite event output from the event processing apparatus.
  • Event set B exists as a set of events whose attribute values have not yet been compared with event e5 (Yes in step S9). Therefore, the event conflict resolution unit 6 detects and resolves the conflict between events again (step S3).
  • Event e4 and event e5 have attributes of event target, sender, and transmission date and time, in addition to the already evaluated type, event date, event location, and number of people.
  • the event conflict resolution unit 6 excludes the meta information from being subject to conflict detection and resolution.
  • event target that is an attribute that has not yet been evaluated
  • value of event e4 is “Company B”
  • value of newly received event e5 is “Company A”, and they are different from each other.
  • the event conflict resolution unit 6 determines that the event e5 cannot be associated with a past event in the event set B in the state Q1. To do.
  • the event conflict resolution unit 6 excludes the newly received event e5 from the event set B including the event e4 that is in the state Q1 (step S6).
  • the event evaluation unit 3 does not perform an operation of updating the attribute value of the attribute “number” of the event set B.
  • the composite event to be output may be integrated as a single composite event as shown in FIG. 6 or a set of all events required to satisfy the conditions for establishing the composite event in the entire rule. Also good.
  • FIG. 7 is an explanatory diagram showing a hardware configuration example of the event processing apparatus according to the present invention.
  • auxiliary storage unit 46 includes at least a CPU (Central Processing Unit) 41, a main storage unit 42, a communication unit 45, and an auxiliary storage unit 46. Moreover, you may further provide the input part 43 for a person to operate, and the output part 44 for showing the process result or progress of a process content to a person.
  • CPU Central Processing Unit
  • the main storage unit 42 is used as a data work area or a temporary data save area.
  • the main storage unit 42 is a main memory such as a RAM (Random Access Memory).
  • the input unit 43 has a function of inputting data and processing instructions.
  • the input unit 43 is an input device such as a keyboard or a mouse.
  • the output unit 44 has a function of outputting data.
  • the output unit 44 is a display device such as a liquid crystal display device or a printing device such as a printer.
  • the communication unit 45 has a function of inputting and outputting data to and from peripheral devices via a wired or wireless network (information communication network).
  • the auxiliary storage unit 46 is a hard disk device or other storage device.
  • the respective components are connected to each other via a system bus 47.
  • the auxiliary storage unit 46 stores programs for realizing the event reception unit 1, the event evaluation unit 3, the result output unit 5, and the event conflict resolution unit 6 shown in FIG.
  • auxiliary storage unit 46 is used as a storage area for the rule storage unit 2 and the event storage unit 4.
  • the rule storage unit 2 and the event storage unit 4 may use only the main storage unit 42 without using the auxiliary storage unit 46.
  • the event receiving means 1 acquires data handled as an event through the input unit 43 or the communication unit 45.
  • the event processing device 40 is realized by hardware by mounting a circuit composed of hardware components such as LSI (Large Scale Integration) in which a program for realizing the function shown in FIG. 1 is incorporated. May be.
  • LSI Large Scale Integration
  • the event processing device 40 may be realized by software by causing the CPU 41 of the computer to execute a program that provides the function shown in FIG.
  • the CPU 41 loads the program stored in the auxiliary storage unit 46 to the main storage unit 42 and executes it, thereby controlling the operation of the event processing device 40, whereby each function is realized by software.
  • the communication unit 45 is connected to peripheral devices and has a function of transmitting and receiving data.
  • an external storage device 48 is connected to the event processing device 40 via a network.
  • the event receiving means 1 may acquire the event stored in the external storage device 48 by inputting it to the communication unit 45 via the network. Further, data including the composite event output by the result output unit 5 may be stored in the external storage device 48.
  • the user can resolve contention between events input individually by sequential processing.
  • FIG. 8 is a block diagram showing the configuration of the event processing device 30 according to the second embodiment of the present invention.
  • the event processing device 30 is obtained by adding the event retention deadline updating means 7 to the event processing device 10 according to the first embodiment of the present invention, and other components are common to the event processing device 10.
  • the event retention period update unit 7 matches the retention period for retaining past events in the event storage unit 4 associated with the entire rule including the rule that matches the received latest event with the retention period of the latest event. Update. Further, the event retention period update unit 7 may delete an event whose retention period has expired.
  • the initial retention period of the received event is set to the later date / time of the date / time six hours after the date / time of reception and the event occurrence date / time described in the received event.
  • the retention period of the event e1 is 21:16:19 on July 30, 2012, six hours after reception.
  • the event e2 is received, and the event e2 conforms to the same rule as the event e1, so that the event evaluator 3 determines that the event e2 is related to the event e1.
  • the retention period of the event e1 is updated by the event retention period update unit 7 to July 31, 2012, 02:39:40, which is the same retention period as the event e2.
  • the event retention period update unit 7 similarly sets the retention period of the event e1 and the event e2 to be the same as the event occurrence date and time specified in the event e3. Updated just when.
  • the event processing device 30 according to the second embodiment of the present invention is realized by the hardware configuration shown in FIG. 7 as with the event processing device 10 according to the first embodiment.
  • the event retention deadline updating means 7 that is not included in the event processing apparatus 10 and is a component of the event processing apparatus 30 is stored as a program in the auxiliary storage unit 46 shown in FIG.
  • the event retention period update unit 7 is realized by software.
  • the event retention time update means 7 is implemented by hardware by being implemented as a circuit made of hardware components such as LSI.
  • the event processing device 30 when the event processing device 30 further including the event retention deadline updating means 7 is used, the event retention deadline is continuously updated while related events are continuously received. Therefore, old events are never deleted due to expiration. Therefore, the event processing device 30 can use all the information held by past related events.
  • FIG. 9 is a block diagram showing an outline of the event processing apparatus according to the present invention.
  • the event processing apparatus 50 according to the present invention includes an event data storage unit 51 (for example, event storage unit 4), an event evaluation unit 52 (for example, event evaluation unit 3), and an event conflict resolution unit 53 (for example, event conflict resolution unit). 6).
  • event data storage unit 51 for example, event storage unit 4
  • event evaluation unit 52 for example, event evaluation unit 3
  • event conflict resolution unit 53 for example, event conflict resolution unit
  • the event data storage means 51 stores a set of event data associated with each other according to a predetermined condition (for example, subrule 1) until a predetermined retention period.
  • a predetermined condition for example, subrule 1
  • the event evaluation means 52 includes the event data as new event data when the newly input event data satisfies a predetermined condition.
  • the event conflict resolving unit 53 determines whether the new event data is between attribute values for attributes common to other event data included in the set (for example, attribute values other than the event date and event location in the subrule 1). If the conflict data is a conflict data, the conflict data is excluded from the set.
  • the event processing apparatus 50 may include an event retention period update unit that updates the retention period of event data associated with a predetermined condition in accordance with the retention period of newly input event data.
  • the event conflict resolution unit 53 determines whether or not a specific attribute is conflict data when determining whether or not the common attribute value is different between event data associated with each other according to a predetermined condition. You may exclude from the object to judge.
  • the event processing device 50 includes a result output unit that outputs a composite event that is an analysis result obtained by analyzing a set of event data, and the event evaluation unit 52 determines whether to generate a composite event according to a predetermined condition. Then, the composite event may be generated, and the result output unit may output the generated composite event.
  • the event processing device 50 includes a rule storage unit that stores a concept dictionary that defines a relationship between one attribute or another attribute value derived from the attribute value and the attribute value, and the event evaluation unit 52 includes new event data. Based on the included attribute or attribute value, other attributes and attribute values are expanded from the concept dictionary, and the event conflict resolution unit 53 determines whether the new event data is conflict data using the expanded attributes and attribute values. You may do it.
  • the present invention is preferably applied to a composite event processing apparatus to which data representing a plurality of events that can include contents that cause duplication or contradiction are input.
  • Event processing device DESCRIPTION OF SYMBOLS 1 Event reception means 2 Rule storage means 3 Event evaluation means 4 Event storage means 5 Result output means 6 Event contention resolution means 7 Event holding time limit update means 10 Event processing device 20 Complex event processing device (CEP processing device) 30 Event processing device 40 Event processing device 41 CPU 42 Main Storage Unit 43 Input Unit 44 Output Unit 45 Communication Unit 46 Auxiliary Storage Unit 47 System Bus 48 External Storage Device 50 Event Processing Device 51 Event Data Storage Unit 52 Event Evaluation Unit 53 Event Conflict Resolution Unit

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 不特定多数の発信源から得られるイベントを入力とする複合イベント処理において、逐次処理でイベント間の矛盾を解消することができるイベント処理装置を提供する。イベント処理装置50は、所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶するイベントデータ記憶手段51と、新規に入力されたイベントデータが所定の条件を満たす場合に当該イベントデータを新規イベントデータとして集合に含めるイベント評価手段52と、新規イベントデータが、集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを集合から除外するイベント競合解消手段53とを備える。

Description

イベント処理装置、イベント処理方法、およびイベント処理プログラム
 本発明はイベント処理装置、イベント処理方法、およびイベント処理プログラムに関する。
 ビッグデータをビジネスに有効活用する方法が世界的に注目されている。ビッグデータは、様々な種類のデータを意味する。様々な種類のデータの中でも、温度などセンサ類のデータや監視カメラ映像の認識結果、Twitter(登録商標)に代表されるソーシャルメディアのテキストデータといった、常時大量に発信されるデータが注目されている。
そのため、それら常時大量に発信されるデータを、リアルタイムに解析する複合イベント処理(以下、CEP(Complex Event Processing)と称することがある)技術に対する期待が高まっている。
 CEPは、単一情報源から発信される個々のデータをそれぞれ独立に処理する技術ではなく、連続した、または異なる情報源から得た非連続な複数のデータを逐次処理で対応付けながら評価することにより、所望のイベントの発生をリアルタイムに検知する技術である。
 例えば、あるセキュリティサービスを提供するシステムがCEPによって実現される。そのシステムは、ある施設において来客用入口ゲートで入場カードのセンサがある特定の人数の入場を検知した時刻に、同施設内であるサービスの整理券発行総数が入場者数またはそれ以上をカウントした場合、不正入場者の警告を発するというシステムである。
 CEPを実装したシステムには、Oracle(登録商標) CEP(非特許文献1参照)やIBMのInfoSphere(登録商標) Streams(非特許文献2参照)といった製品のほか、Esperなどのオープンソースソフトウェア(非特許文献3参照)がある。
 現状のCEPは、複数の関連しうるイベントを対応付けて評価するために、予め対象とするイベントの発信源(対応付け元と同一の発信源を含む)を定めておき、それをルールに記述している。入力されたイベントのうち、用意されたいずれかのルールで参照されるイベントは、参照されたルールにおいてそのイベントに関する全ての評価が終了するまでメモリに保持される。
 しかし、情報の発信源がソーシャルメディアのメッセージ発信者のような場合、共通または関連するイベントについての情報の発信者を限定できないため、予め対応付けるイベントの発信源(発信者)を指定することが難しい。そうした不特定多数の発信源(メッセージ発信者など)の情報同士を対応付けると、発信情報相互の内容に矛盾を生じる可能性がある。
 例えば、ある発信者が「人物Aと日時T1に場所Pで会議をする」という情報を発信し、別の発信者が「人物Aと日時T2に場所Pで会議をする」という情報を発信した場合、イベントの種類(会議)、対象(人物A)、場所(P)が共通しているイベントを対応付けるルールがあると、この2つのイベントは、関連イベントとして扱われる。
 しかし、日時T1と日時T2が大きく異なる場合は、別の会議である可能性が高い。よってこの場合、双方を関連イベントとして扱う処理は、多くの場合不適切と思われる。CEPは、この例において、日時T1と日時T2の矛盾の検知や解消ができない。
 特許文献1では、ニュースやブログなどのテキストから多数のビジネス情報を抽出し、企業間の競合激化や協力強化といったビジネス関連のイベントを自動検出する方法を開示している。その方法では、同じビジネス関係の組合せの2企業に関する多数のビジネス情報を、競合、協力、買収などの関係タイプごとに集計し、各関係タイプのスコアの大小によってある時点での企業間の関係やその強さを判定している。
 また、特許文献1に記載されている方法では、複数のビジネス情報間の、同じビジネス関係の企業の組合せの中に複数の関係タイプが発生し、どちらが買収したのかなどを示す向きが各関係タイプで異なるといった矛盾が生じた場合、その矛盾を関係の強さを表すスコアに反映する。例えば、複数のビジネス情報間に矛盾がある場合、スコアは小さくなる。このような手法を用いることで、特許文献1に記載された方法では、検出するビジネスイベントの信頼度を調節する。
特許第4795417号公報
"Oracle Complex Event Processing"、[online]、日本オラクル、[平成 24年 9月 26日検索]、インターネット〈 URL:http://www.oracle.com/technetwork/jp/middleware/complex-event-processing/index.html〉 "InfoSphere Streams"、[online]、日本IBM、[平成 24年 9月 26日検索]、インターネット〈 URL:http://www-06.ibm.com/software/jp/data/infosphere/streams/〉 "Esper - Complex Event Processing"、[online]、EsperTech、[平成 24年 9月 26日検索]、インターネット〈 URL:http://esper.codehaus.org/〉
 図10に示された複合イベント処理装置(以下、CEP装置という。)は、イベントを組み合わせて評価する際、イベントの属性間の矛盾を検知し解消する手段を備えていない。また、特許文献1に記載の矛盾解消方法は、CEPのような逐次処理に適用されることが想定されていない。
 特許文献1に記載されている矛盾解消方法は、評価対象の全てのイベントがデータベースに予め記録されていることを前提としている。そして、その矛盾解消方法は、全イベントに対してビジネス関係の存在の信頼度を示す照合スコアの計算をすることで、ビジネス関係のマイニングを行う。
 そのため、特許文献1に記載された方法を、次々と新たなイベントが入力されてくるCEPシステムに適用することは困難である。従って、CEPを実装している他のシステムでの処理と同じように、逐次処理でイベント間の矛盾を解消する方法が必要である。
 そこで、本発明は、不特定多数の発信源から得られるイベントを入力とする複合イベント処理において、逐次処理でイベント間の矛盾を解消することができるイベント処理装置、イベント処理方法およびイベント処理プログラムを提供することを目的とする。
 本発明によるイベント処理装置は、所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶するイベントデータ記憶手段と、新規に入力されたイベントデータが所定の条件を満たす場合に当該イベントデータを新規イベントデータとして集合に含めるイベント評価手段と、新規イベントデータが、集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを集合から除外するイベント競合解消手段とを備えたことを特徴とする。
 本発明によるイベント処理方法は、所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶し、新規に入力されたイベントデータが所定の条件を満たす場合に当該イベントデータを新規イベントデータとして集合に含め、新規イベントデータが、集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを集合から除外することを特徴とする。
 本発明によるイベント処理プログラムは、コンピュータに、所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶するイベントデータ記憶処理、新規に入力されたイベントデータが所定の条件を満たす場合に当該イベントデータを新規イベントデータとして集合に含めるイベント評価処理、および、新規イベントデータが、集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを集合から除外するイベント競合解消処理を実行させることを特徴とする。
 本発明によれば、不特定多数の発信源から得られるイベントを入力とする複合イベント処理において、逐次処理でイベント間の矛盾を解消することができる。
第1の実施形態におけるイベント処理装置の構成例を示すブロック図である。 イベント処理装置の動作を示すフローチャートである。 イベント処理装置に入力されるイベントの例を示す説明図である。 イベント処理装置で用いられるルールの一例を示す状態遷移図である。 イベント処理装置で用いられる概念辞書の一例を示す説明図である。 イベント処理装置から出力される複合イベントの一例を示す説明図である。 イベント処理装置のハードウェア構成例を示す説明図である。 第2の実施形態におけるイベント処理装置の構成例を示すブロック図である。 イベント処理装置の概要を示すブロック図である。 一般的な複合イベント処理装置全体に共通した構成例を示すブロック図である。
実施形態1.
 以下、本発明の第1の実施形態を図面を参照して説明する。図1は、本発明による第1の実施形態におけるイベント処理装置の構成例を示すブロック図である。図1に示すイベント処理装置10は、イベント受信手段1と、ルール記憶手段2と、イベント評価手段3と、イベント記憶手段4と、結果出力手段5と、イベント競合解消手段6とを備えている。
 イベント受信手段1は、外部の発信源から発信されるイベントを受信する機能を有する。
 ルール記憶手段2は、イベント受信手段1が受信したイベントを評価するためのルール全体を記憶する機能を有する。イベントを評価するためのルール全体には、イベントをグループ化するためのルールと、グループを出力する条件が含まれる。
 なお、ルール記憶手段2は、後述する概念辞書を記憶しても良い。
 イベント評価手段3は、イベント受信手段1が受信した1つ以上のイベントが、ルール記憶手段2に記憶されたルールに従うか否かを判定する(以下、照合するという)機能を有する。また、受信した1つ以上のイベントがルールに従う場合(以下、適合するという)、イベント評価手段3は、そのイベントを特定のイベントの集合に含める機能を有する。
 イベント記憶手段4は、ルール記憶手段2に記憶されたルールに適合するイベントをイベント受信手段1が受信した場合に、そのイベントを所定の期限まで記憶する機能を有する。なお、イベント記憶手段4は、ルールに適合しないイベントも記憶しても良い。
 ルール記憶手段2に記憶されたルール全体に記載された終了状態に至るまでの全ての条件を満たすとイベント評価手段3が判定した場合に、結果出力手段5は、特定の複合イベントを出力する機能を有する。なお、複合イベントは、イベント処理装置10が解析ルールに基づいて解析した、イベントの集合の解析結果である。
 イベント競合解消手段6は、イベント評価手段3が複数のイベントを組み合わせて照合した結果、照合されたイベントの間に属性値が異なる(以下、競合するという)属性が含まれているか否か検知する機能を有する。なお、属性値は、イベントの各属性を示す値である。
 また、照合されたイベントの間に競合が生じる属性が含まれていることを検知した場合、イベント競合解消手段6は、受信した1つ以上のイベントを、特定のイベントの集合から除外する機能を有する。
 イベント競合解消手段6は、同じ発信源から受信した複数のイベント間で、同じ属性の属性値が異なる場合、後に受信した新しい方の属性値を採用するという機能を有していても良い。
 また、イベント競合解消手段6は、異なる発信源から受信した複数のイベント間で、同じ属性の属性値が異なる場合、先にイベント記憶手段4に記憶されていた方のイベントに含まれる属性値を採用するという機能を有していても良い。
 これらの機能を有することにより、イベント競合解消手段6は、同じ属性の属性値が異なるために矛盾や対立を生じている情報を解消することができる。
 以下、本発明の動作を、図2を参照して説明する。図2は、本発明によるイベント処理装置の動作を示すフローチャートである。
 まず、イベント処理装置10のイベント受信手段1は、新規イベントを受信する(ステップS1)。イベント受信手段1は、受信した新規イベントを、イベント評価手段3へ入力する。
 イベント評価手段3は、ルール記憶手段2の中に、受信した新規イベントに適合し、過去のイベントにも適合しているルールを含むルール全体が存在するか確認する(ステップS2)。
 ルール記憶手段2の中に、受信したイベントに適合し、過去のイベントにも適合しているルールを含むルール全体が存在しなかった場合(ステップS2のNo)、イベント評価手段3は、受信したイベントを基に、新規のイベントの集合を作成する(ステップS11)。
 ルール記憶手段2の中に、受信したイベントに適合し、過去のイベントにも適合しているルールを含むルール全体が存在した場合(ステップS2のYes)、イベント評価手段3は、イベント記憶手段4に記憶されている過去のイベントの中から、ステップS2で特定したルール全体に関連するイベントを特定する。このとき、イベント評価手段3は、複数の過去イベントを特定してもよい。
 イベント評価手段3が過去イベントを特定した後、イベント競合解消手段6は、特定された過去イベントと新規に入力されたイベントとの間で、共通する各属性の値である属性値を比較する(ステップS3)。このとき、イベント競合解消手段6は、発信者を特定するための属性などの、これらのイベント自体の内容ではない特定の属性を比較する対象から除く。
 属性値を比較することにより、イベント競合解消手段6は、競合する属性値が存在するか確認する(ステップS4)。
 特定された過去イベントと新規に入力されたイベントとの間で競合する属性値が存在していた場合(ステップS4のYes)、イベント競合解消手段6は、競合する属性値を持つイベントを不採用とし、ステップS2で特定されたルール全体に関連したイベントの集合から除外する(ステップS6)。このとき、イベントの集合は、元の状態のままとなる。
 なお、除外されたイベントは、受信された時刻から一定時間後までは、イベント処理装置10のメモリ内に保持される。
 特定された過去イベントと新規に入力されたイベントとの間で競合する属性値が存在していなかった場合(ステップS4のNo)、イベント評価手段3は、その受信したイベントを、ステップS2で特定したルール全体に関連した、イベントの集合に含める(ステップS5)。
 受信したイベントを、特定したルール全体に関連したイベントの集合に含めた後、イベント評価手段3は、受信したイベントを含んだイベントの集合が、ステップS2で特定したルール全体内に記載された、終了状態に至るまでの全ての条件を満たすか確認する(ステップS7)。
 終了状態に至るまでの全ての条件が満たされる場合(ステップS7のYes)、イベント評価手段3は、ステップS2で特定したルール全体の中のルールごとに定義された解析ルールに基づいて複合イベントを生成する。結果出力手段5は、生成された複合イベントを、そのイベントの集合の解析結果として出力する(ステップS8)。
 終了状態に至るまでの全ての条件が満たされなかった場合(ステップS7のNo)、イベントの集合は、受信したイベントを含んだ状態のままとなる。
 1つの受信したイベントと1つの過去イベントとの間で属性値を比較した後、イベント評価手段3は、ステップS2で特定したルール全体の中のルールに適合する過去イベントのうち、イベント競合解消手段6によってまだ属性値が比較されていないものが無いか確認する(ステップS9)。
 属性値が比較されていない過去イベントが存在した場合(ステップS9のYes)、イベント競合解消手段6は、受信したイベントと、その過去イベントとの間で、再度属性値を比較する(ステップS3)。
 属性値が比較されていない過去イベントが存在しなかった場合(ステップS9のNo)、イベント評価手段3は、受信したイベントが、いずれかのイベントの集合の中に含まれているか確認する(ステップS10)。
 受信したイベントがイベントの集合の中に含まれていなかった場合(ステップS10のNo)、イベント評価手段3は、受信したイベントを基に、新規のイベントの集合を作成する(ステップS11)。
 受信したイベントがイベントの集合の中に含まれていた場合(ステップS10のYes)、または新規のイベントの集合を作成した後(ステップS11)、イベント評価手段3は、まだ評価していないイベントが無いか確認する(ステップS12)。
 まだ評価していないイベントが存在する場合(ステップS12のYes)、イベント受信手段1は、次のイベントを受信する(ステップS1)。まだ評価していないイベントが存在しない場合(ステップS12のNo)、イベント処理装置10は、処理を終了する。
 次に、本発明であるイベント処理装置10によって処理される具体的なイベントの例を、図3を参照して説明する。
 図3は、各イベントを表す元のデータとイベント受信手段1が実際に受信するイベントe1~e5の例を示す説明図である。例えば、「@foo」という名前で識別される情報発信者が「明日、A社へデモンストレーション(以下、デモという。)に行く。」というメッセージをソーシャルメディアに発信したとする。
 発信されたメッセージからイベントを生成するためには、イベント収集装置(図示せず)を用いる。イベント収集装置は、この発信されたメッセージを元データとして、イベントe1を生成する。その後イベント受信手段1は、イベントe1を受信する。
 同様に、イベント収集装置は、「@bar」や「@baz」といった名前で識別される情報発信者から発信される1つ以上のメッセージを、イベントe2~e5に変換する。メッセージがイベントに変換された後、イベント受信手段1は、その変換されたイベントを受信する。
 なお、本例では、イベント収集装置がメッセージからイベントを生成しているが、例えば、イベント受信手段1が、メッセージからイベントを生成しても良い。
 各イベントは、発信者、発信日時、イベントのタイプ、イベント日付、イベント場所といった属性と、それぞれの属性値を含む。特に、イベントのタイプは、イベントを分類する際の基準となる情報である。
 続いて、イベントを評価する際に適用されるルール全体の具体例を、図4を参照して説明する。
 図4は、ルール全体の中の関連するイベントの対応付けをするためのルールと特定のイベントの集合の成立条件の一例を示す状態遷移図である。図4の状態遷移図は、特定のイベントの集合の生成から終了に至るまでの各状態を示している。
 サブルール1は、イベント受信手段1が受信したイベントが、少なくともイベントのタイプ、イベント日付、イベント場所、人数という4つの属性を含み、かつ、イベントのタイプの属性値が「集団行動」であるか否かを判定する。
 なお、イベントのタイプ以外の属性の属性値は、イベント日付がD1、イベント場所がP1、人数がXなどの、各属性の値域に応じた任意の値であれば良く、また値が無くとも良いものとする。
 イベント受信手段1が受信したイベントがサブルール1に適合する場合、イベント評価手段3は、初期状態Q0である特定のイベントの集合の状態を、状態Q1に遷移させる。
 サブルール3は、特定のイベントの集合の属性値Xが5以上であるか否かを判定する。特定のイベントの集合がサブルール3に従う場合、イベント評価手段3は、状態Q1に遷移したそのイベントの集合の状態を、直ちに終了状態Q2に遷移する。
 終了状態Q2に遷移した時点で、特定のイベントの集合は、イベント評価手段3が特定したルールにより定義された成立条件を満たしたことになる。終了状態Q2に達した際には、人数の値Xが5以上となるために必要とされた、全てのイベントの組が出力されるデータとなる。
 サブルール2は、イベント受信手段1が受信したイベントが、イベントのタイプ、イベント日付、イベント場所、人数という4つの属性を含み、それぞれの値が「集団行動」、D2、P2、Yであり、且つD2はD1に等しく、P2はP1に等しいか否かを判定する。
 イベント受信手段1が受信したイベントがサブルール2に適合する場合、イベント評価手段3は、状態Q1に遷移した特定のイベントの集合に対し、人数の値Xに「max(X,Y,sum(distinct([発信者])))」で算出される値を記録する。
 サブルール2の中の人数の値Xを算出する式「max(X,Y,sum(distinct([発信者])))」において、「[発信者]」は、属性「発信者」の値を表すものとする。また、「distinct(X)」は、重複するXを取り除く関数とする。また、「sum(X)」は、Xの合計数を与える関数とする。また、「max(X,Y,Z,・・・)」は、X,Y,Z,・・・のうち、最大の数値を与える関数とする。
 そのように各関数が設定された上で、人数の値Xを算出する式は、記憶されていた直前の属性「人数」の値X、新たに受信されたイベントの人数の値Y、記憶されていたこのルールの要件を満たす全てのイベントの属性「発信者」の数の合計のうち、最大の値を返す。
 なおD1とD2、およびP1とP2を比較する際に、属性の一方に値が無い場合、属性に値が有る方のイベントの属性の値を、無い方のイベントの属性の値に代入するものとする。双方のイベントの属性に値が無ければ、双方のイベントの属性の値は、等しいとする。
 特定のイベントの集合の状態がQ1のときに、イベント受信手段1がイベントをさらに受信した場合、イベント評価手段3は、再びサブルール3に従って属性値Xを評価する。属性値Xが5以上であれば、イベント評価手段3は、特定のイベントの集合の状態を終了状態Q2に遷移させる。
 特定のイベントの集合の状態がQ1である間、サブルール1に適合するイベントは、所定の期限まで全てイベント記憶手段4に記憶される。特定したルールの各条件と過去イベントとをイベント評価手段3が照合する時に、イベント記憶手段4に記憶されたイベントは参照される。
 イベント評価手段3は、図3に示すような一連のイベント、および図4に示すようなルール全体のうち、現在の状態で必要なイベントと必要な処理に基づき、イベント間の属性や属性値に対する比較評価、および属性や属性値に対する更新を行う。
 図4に示すルール全体の中のルールに従うと、イベント受信手段1が同じ「集団行動」のタイプのイベントを複数受信した場合、イベント評価手段3は、状態Q1のサブルール2に従って、イベント日付とイベント場所の、それぞれの値を比較する。受信した複数のイベントのイベント日付の値が共に同一で、受信した複数のイベントのイベント場所の値も共に同一であった場合に、イベント競合解消手段6は、イベント間の競合検知と解消を行う。
 図3に示すイベントe1~e5は、これらの属性のほかに発信者、発信日時、発信場所、イベント対象の属性を含む可能性がある。なお、図3において、人数を表す属性は、イベントのタイプを表す属性のサブ属性として記述されている。また、イベントe3において、イベント時間を表す属性は、イベント日付を表す属性のサブ属性として記述されている。サブ属性は、属性の更に付加的な情報を示す属性である。
 以下、図2に示すフローチャートのステップを、図3に示す処理されるイベントと、図4に示すイベント評価時に適用されるルール全体の具体例を用いて、さらに詳細に説明する。
 今、ルール記憶手段2には、図4に示す、サブルール1、サブルール2、サブルール3から成るルール全体のみが記憶されているとする。イベント受信手段1がイベントe1を受信すると(ステップS1)、イベント評価手段3は、ルール記憶手段2に記憶されたルール全体のうち、イベントe1に適合し、既に過去のイベントにも適合しているルールを含むルール全体が存在するか確認する(ステップS2)。
 もしそのようなルール全体が無ければ(ステップS2のNo)、イベント評価手段3は、新たに図4に示すルール全体に関連した、初期状態Q0のイベントの集合Aを作成する(ステップS11)。
 図4に示すルール全体に関連したイベントの集合Aが初期状態Q0である時、イベント評価手段3は、サブルール1に従って、受信したイベントe1がイベントのタイプ、イベント日付、イベント場所、人数の各属性を含むか確認する。図3に示すイベントe1を参照すると、イベントe1は、サブルール1の条件を満たすために必要な属性を全て含む。
 このとき、例えば図5に示すような概念辞書を参照することにより、イベント評価手段3が、イベントに含まれる、直接ルールに合致しない属性や属性値を比較しても良い。図5に示す概念辞書は、ある属性の属性値から導き出される他の属性および属性値との関係を規定した辞書である。
 例えば、イベントe1は、「イベント場所」の属性値を持たないが、「イベント対象」の属性値を持つ。イベントe1のイベント対象の属性値は、「A社」である。この「A社」は、図5に示す概念辞書から、属性「イベント場所」と属性値「(N35,E139)」に展開される。
 また、同じく図5に示す概念辞書から、イベントe1のタイプの値「デモ」は属性「タイプ」と属性値「集団行動」に展開される。タイプの値が「集団行動」(または「デモ」)であることから、イベントe1は、図4に示すサブルール1に適合する。よって、イベント評価手段3は、イベントe1から成るイベントの集合Aの状態を、状態Q1へ遷移させる。
 イベントe1に対する処理が終了した後、次のイベントが存在するため(ステップS12のYes)、イベント受信手段1は、イベントe2を受信する。
 続いて、イベント受信手段1がイベントe2を受信すると(ステップS1)、イベント評価手段3は、イベントe2がタイプ、イベント日付、イベント場所、人数の各属性を持つことを確認する。
 また、図5に示す概念辞書を参照することで、イベント評価手段3は、イベントe1と同様に、イベントe2のタイプの値が「集団行動」(または「デモ」)であることを確認する。以上により、イベント評価手段3は、イベントe2がサブルール1に適合することを確認する。
 イベントe2がサブルール1に適合することを確認した上で、イベント評価手段3は、図4に示すサブルール2に従って、イベント記憶手段4に記憶されていたイベントe1と、新規の受信イベントe2との間で各属性値を比較する。
 イベントe1の「イベント日付」が「2012-07-31」を値に持つことに対し、イベントe2の「イベント日付」も同様に同じ日付を値として持つため、イベント評価手段3は、イベントe1とイベントe2のイベント日付の値が等しいと判断する。
 同様に、イベント評価手段3は、属性「イベント場所」の比較を行う。イベントe2の属性「イベント対象」は、属性値「A社」を持つ。イベントe1と同様に図5に示す概念辞書を参照すると、「A社」は、属性「イベント場所」と属性値「(N35,E139)」に展開される。
 よって、イベントe1のイベント場所がイベント対象の値「A社」の緯度と経度で表される位置「(N35,E139)」を値に持つことに対し、イベントe2のイベント場所も同様に同じ位置を値として持つため、イベント評価手段3は、イベントe1とイベントe2のイベント場所の値が等しいと判断する。
 以上から、イベントe2は、図4に示すサブルール2の条件を全て満たす(ステップS2のYes)。よって、イベントe2に適合し、過去イベントにも適合しているルールを含むルール全体はルール記憶手段2の中に存在する。
 ここで、一般的なCEPであれば、ただちにサブルール2の属性値更新(代入)操作「人数X=max(X,Y,sum(distinct([発信者])))」を実行する。これに対し、本発明の第1の実施形態のイベント処理装置は、ここでイベント競合解消手段6によるイベント間の競合検知と解消を行う(ステップS3)。
 イベントe1とイベントe2は、既に評価されたタイプ、イベント日付、イベント場所、人数の他に、イベント対象、発信者、発信日時の属性を持つ。発信者と発信日時は、いずれも発信者に関するメタ情報である。イベント競合解消手段6は、これらのメタ情報を競合検知および解消の対象外とする。なお、この対象外とする属性については、予め定めておけばよい。
 まだ評価をしていない属性である「イベント対象」について、イベントe1とイベントe2が同じ値を持つため、イベント競合解消手段6は、イベントe1とイベントe2との間に競合が無いと判断する(ステップS4のNo)。判断後、イベント競合解消手段6は、その結果をイベント評価手段3に返す。
 イベント競合解消手段6により「競合が無い」と判断された処理結果を受けたイベント評価手段3は、イベントの集合Aの中に受信したイベントe2を含める(ステップS5)。その後、イベント評価手段3は、イベントの集合Aの属性「人数」の属性値を更新する。
 イベントe1およびイベントe2において、「人数」の値は無い。両イベントの発信者は、それぞれ「@foo」と「@bar」であるため、「sum(distinct([発信者]))」の値は「2」となる。よって、状態Q1でのイベントの集合Aの人数Xの値は、最大値の「2」となる(ステップS7のNo)。
 この段階で、イベントの集合Aは、サブルール3の「人数の値Xが5以上」という複合イベントの出力条件を満たしていない。また、イベントe2とまだ属性値が比較されていないイベントの集合は存在しない。また、イベントe2はイベントの集合Aに含まれているので、イベント受信手段1は、次のイベントを受信する。
 次に、イベント受信手段1は、イベントe3を受信する(ステップS1)。イベント評価手段3は、イベントe3がタイプ、イベント日付、イベント場所、人数の各属性を持つことを確認する。また、イベント評価手段3は、イベントe3のタイプの値が「集団行動」であることを確認する。よって、イベント評価手段3は、イベントe3がサブルール1に適合することを確認する。
 イベントe3がサブルール1に適合することを確認した上で、イベント評価手段3は、図4に示すサブルール2に従って、イベント記憶手段4に記憶されていたイベントe1と、新規の受信イベントe3との間で各属性値の比較を行う。
 イベントe1のイベント日付が「2012-07-31」を値に持つことに対し、イベントe3のイベント日付も同様に同じ日付を値として持つため、イベント評価手段3は、イベントe1とイベントe3のイベント日付の値が等しいと判断する。
 同様に、イベント評価手段3は、属性「イベント場所」の比較を行う。イベントe3は、イベント対象の属性値「○○ビル」を持つ。図5に示す概念辞書を参照すると、「○○ビル」は、属性「イベント場所」と属性値「(N35,E139)」に展開される。
 よって、イベントe1のイベント場所がイベント対象の値「A社」の緯度と経度で表される位置「(N35,E139)」を値に持つことに対し、イベントe3のイベント場所も、同じ位置を値として持つため、イベント評価手段3は、イベントe1とイベントe3のイベント場所の値が等しいと判断する。
 以上から、イベントe3は、図4に示すサブルール2の条件を全て満たしている(ステップS2のYes)。よって、イベントe3に適合し、過去イベントにも適合しているルールを含むルール全体はルール記憶手段2の中に存在する。ここで、イベント競合解消手段6は、イベント間の競合検知と解消を行う(ステップS3)。
 イベントe1とイベントe3は、既に評価されたタイプ、イベント日付、イベント場所、人数の他に、発信者、発信日時の属性を持つ。発信者と発信日時は、いずれも発信者に関するメタ情報であるため、イベント競合解消手段6は、これらのメタ情報を競合検知および解消の対象外とする。
 よってこの段階で、イベント競合解消手段6が競合を検知する対象となる属性は無い。以上の結果から、イベント競合解消手段6は、イベントe1とイベントe3との間に競合が無いと判断する(ステップS4のNo)。判断後、イベント競合解消手段6は、その結果をイベント評価手段3に返す。
 イベント競合解消手段6により「競合が無い」と判断された処理結果を受けたイベント評価手段3は、イベントの集合Aの中に受信したイベントe3を含める(ステップS5)。その後、イベント評価手段3は、イベントの集合Aの属性「人数」の属性値の更新操作を実行する。
 イベント記憶手段4に記憶されているイベントe1と新たに受信したイベントe3は同じ発信者により発信されているため、「sum(distinct([発信者]))」の値は「2」のままとなる。また、イベントe3の属性「人数」にも値は無い。このため、人数Xの値も「2」のままとなる(ステップS7のNo)。
 この段階で、イベントの集合Aは、サブルール3の「人数の値Xが5以上」という複合イベントの出力条件を満たしていない。また、イベントe3とまだ属性値が比較されていないイベントの集合は存在しない。また、イベントe3はイベントの集合Aに含まれているので、イベント受信手段1は、次のイベントを受信する。
 次に、イベント受信手段1は、イベントe4を受信する(ステップS1)。イベント評価手段3は、イベントe4がタイプ、イベント日付、イベント場所、人数の各属性を持つことを確認する。また概念辞書から、イベント評価手段3は、イベントe1と同様に、イベントe4のタイプの値が「集団行動」(または「デモ」)であることを確認する。
 イベントe4がサブルール1に適合することを確認した上で、イベント評価手段3は、図4に示すサブルール2に従って、イベント記憶手段4に記憶されていたイベントe1と、新規の受信イベントe4との間で各属性値の比較を行う。
 イベントe1のイベント日付が「2012-07-31」を値に持つことに対し、イベントe4のイベント日付も同様に同じ日付を値として持つため、イベント評価手段3は、イベントe1とイベントe4のイベント日付の値が等しいと判断する。
 同様に、属性「イベント場所」の比較を行う。イベントe4は、イベント対象の属性値「B社」を持つ。図5に示す概念辞書を参照すると、「B社」は、属性「イベント場所」と属性値「(N35,E139)」に展開される。
 よって、イベントe1のイベント場所がイベント対象の値「A社」の緯度と経度で表される位置「(N35,E139)」を値に持つことに対し、イベントe4のイベント場所も、同じ位置を値として持つため、イベント評価手段3は、イベントe1とイベントe4のイベント場所の値が等しいと判断する。
 以上から、イベントe4は、図4に示すサブルール2の条件を全て満たしている(ステップS2のYes)。よって、イベントe4に適合し、過去イベントにも適合しているルールを含むルール全体はルール記憶手段2の中に存在する。ここで、イベント競合解消手段6は、イベント間の競合検知と解消を行う(ステップS3)。
 イベントe1とイベントe4は、既に評価されたタイプ、イベント日付、イベント場所、人数の他に、イベント対象、発信者、発信日時の属性を持つ。発信者と発信日時は、いずれも発信者に関するメタ情報であるため、イベント競合解消手段6は、これらのメタ情報を競合検知および解消の対象外とする。
 属性値を持つ属性のうち、未だ競合を検知していない属性「イベント対象」について、イベントe1およびイベントe2の値は「A社」であるが、新規に受信されたイベントe4の値は「B社」であり、両者は互いに異なる。
 属性「イベント対象」の値が互いに異なることから(ステップS4のYes)、イベント競合解消手段6は、イベントe4が、状態Q1であるイベントの集合A内の過去のイベントと対応付けができないと判断する。
 判断した結果、イベント競合解消手段6は、新規に受信したイベントe4を、状態Q1であるイベントe1を含むイベントの集合Aから除外する(ステップS6)。これにより、イベント評価手段3は、イベントの集合Aの属性「人数」の属性値の更新操作を実行しない。
 イベントe4とまだ属性値が照合されていない、イベントの集合は存在しない。ここで、イベントe4は、まだどのイベントの集合にも含まれていない。
 除外されたイベントe4は、図4に示すサブルール1に適合する。よって、イベント競合解消手段6から「競合が存在する」という結果を受け取ったイベント評価手段3は、イベントe4を最初の受信イベントとし、図4に示すルール全体に関連した、状態Q1の新たなイベントの集合Bを生成する(ステップS11)。
 新規のイベントの集合が作成された後、イベント受信手段1は、次のイベントを受信する。
 次に、イベント受信手段1がイベントe5を受信すると(ステップS1)、イベント評価手段3は、イベントe5がタイプ、イベント日付、イベント場所、人数の各属性を持つことを確認する。 
 また、図5に示す概念辞書を参照することで、イベント評価手段3は、イベントe1と同様に、イベントe5のタイプの値が「集団行動」であることを確認する。以上により、イベント評価手段3は、イベントe5がサブルール1に適合することを確認する。
 イベントe5がサブルール1に適合することを確認した上で、イベント評価手段3は、図4に示すサブルール2に従って、イベント記憶手段4に記憶されていたイベントe1と、新規の受信イベントe5との間で各属性値の比較を行う。
 イベントe5は、発信場所の属性値「(N35,E139)」と、発信日時の属性値「2012-07-31 T07:46:22」、およびイベント対象の属性値「A社」をそれぞれ持つ。イベントe1と同様に図5に示す概念辞書を参照すると、「(N35,E139)」および「A社」は、属性「イベント場所」と属性値「(N35,E139)」に展開される。また「2012-07-31 T07:46:22」は、属性「イベント日付」と属性値「2012-07-31」に展開される。
 イベントe1のイベント日付が「2012-07-31」を値に持つことに対し、イベントe5のイベント日付も同様に同じ日付を値として持つため、イベント評価手段3は、イベントe1とイベントe5のイベント日付の値が等しいと判断する。
 また、イベントe1のイベント場所がイベント対象の値「A社」の緯度と経度で表される位置「(N35,E139)」を値に持つことに対し、イベントe5のイベント場所も同様に同じ位置を値として持つため、イベント評価手段3は、イベントe1とイベントe5のイベント場所の値が等しいと判断する。
 以上から、イベントe5は、図4に示すサブルール2の条件を全て満たしている(ステップS2のYes)。よって、イベントe5に適合し、過去イベントにも適合しているルールを含むルール全体は存在する。
 なお、この段階でイベント競合解消手段6がイベントe5との競合を検知する対象となるイベントの集合は、イベントの集合Aとイベントの集合Bの2つである。よって、イベント競合解消手段6は、まずイベントe1を含むイベントの集合Aとの競合検知と解消を行う(ステップS3)。
 イベントe1とイベントe5は、既に評価されたタイプ、イベント日付、イベント場所、人数の他に、イベント対象、発信者、発信日時の属性を持つ。また、発信者と発信日時、およびイベントe5のみが持つ発信場所は、いずれも発信者に関するメタ情報であるため、イベント競合解消手段6は、これらのメタ情報を競合検知および解消の対象外とする。
 まだ評価をしていない属性であるイベント対象について、イベントe1とイベントe5が同じ値を持つため、イベント競合解消手段6は、イベントe1とイベントe5との間に競合が無いと判断する(ステップS4のNo)。判断後、イベント競合解消手段6は、その結果をイベント評価手段3に返す。
 イベント競合解消手段6により「競合が無い」と判断された処理結果を受けたイベント評価手段3は、イベントの集合Aの中に受信したイベントe5を含める(ステップS5)。その後イベント評価手段3は、イベントの集合Aの属性「人数」の属性値を更新する。
 イベントe5の属性「人数」の値は11である。イベント記憶手段4に記憶されていたイベントの集合Aの直前の属性「人数」の値0、新たに受信されたイベントe5の人数の値11、イベント記憶手段4に記憶されていた、このルールに適合する全てのイベントの属性「発信者」の数の合計2のうち、最大の値は11である。よって、人数Xの値は、イベントe5によって「2」から「11」となる。
 この段階で、状態Q1におけるイベントの集合Aは、サブルール3の「人数の値Xが5以上」という複合イベントの出力条件を満たす(ステップS7のYes)。これにより、イベント評価手段3は、イベントの集合Aの状態を終了状態Q2に遷移させる。
 終了状態Q2に遷移させたことで、イベント評価手段3は、イベントの集合Aに対し、この一連のルール全体の適用を終了する。その結果、図6に示すような複合イベントが、結果出力手段5より出力される(ステップS8)。図6は、イベント処理装置から出力される複合イベントの一例を示す説明図である。
 イベントe5とまだ属性値が比較されていないイベントの集合として、イベントの集合Bが存在する(ステップS9のYes)。よって、イベント競合解消手段6は、再度イベント間の競合検知と解消を行う(ステップS3)。
 イベントe4とイベントe5は、既に評価されたタイプ、イベント日付、イベント場所、人数の他に、イベント対象、発信者、発信日時の属性を持つ。また、発信者と発信日時は、いずれも発信者に関するメタ情報であるため、イベント競合解消手段6は、これらのメタ情報を競合検知および解消の対象外とする。
 まだ評価をしていない属性であるイベント対象について、イベントe4の値は「B社」であるが、新規に受信されたイベントe5の値は「A社」であり、両者は互いに異なる。
 属性「イベント対象」の値が互いに異なることから(ステップS4のYes)、イベント競合解消手段6は、イベントe5が、状態Q1であるイベントの集合B内の過去のイベントと対応付けができないと判断する。
 判断した結果、イベント競合解消手段6は、新規に受信したイベントe5を、状態Q1であるイベントe4を含むイベントの集合Bから除外する(ステップS6)。これにより、イベント評価手段3は、イベントの集合Bの属性「人数」の属性値の更新操作を実行しない。
 この段階で、イベントe5とまだ属性値が比較されていないイベントの集合は存在しない。また、イベントe5は、イベントの集合Aに含まれている。また、評価していないイベントは存在しないので、イベント処理装置10は、処理を終了する。
 なお、出力される複合イベントは、図6に示すように1つの複合イベントとして統合されていても良いし、ルール全体における複合イベントの成立条件を満たすために要した全てのイベントの集合であっても良い。
 次に、本発明の実施形態1におけるイベント処理装置のハードウェア構成の具体例を説明する。図7は、本発明によるイベント処理装置のハードウェア構成例を示す説明図である。
 図7に示すイベント処理装置40は、CPU(Central Processing Unit)41と、主記憶部42と、通信部45と、補助記憶部46とを少なくとも備えている。また、人が操作するための入力部43や、人に処理結果または処理内容の経過を提示するための出力部44をさらに備えていても良い。
 主記憶部42は、データの作業領域やデータの一時退避領域として用いられる。主記憶部42は、例えばRAM(Random Access Memory)等のメインメモリである。
 入力部43は、データや処理命令を入力する機能を有する。入力部43は、例えばキーボードやマウス等の入力デバイスである。
 出力部44は、データを出力する機能を有する。出力部44は、例えば液晶ディスプレイ装置等の表示装置、又はプリンタ等の印刷装置である。
 通信部45は、有線または無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
 補助記憶部46は、ハードディスク装置やその他の記憶装置である。
 また、図7に示すように、イベント処理装置40において、各構成要素は、システムバス47を介して相互に接続されている。
 補助記憶部46は、図1に示すイベント受信手段1、イベント評価手段3、結果出力手段5、及びイベント競合解消手段6をそれぞれ実現するためのプログラムを記憶している。
 さらに、補助記憶部46は、ルール記憶手段2やイベント記憶手段4の記憶領域として利用される。ただし、ルール記憶手段2やイベント記憶手段4は、補助記憶部46を用いず、主記憶部42のみを用いても良い。
 イベント受信手段1は、入力部43または通信部45を通じて、イベントとして扱うデータを取得する。
 なお、イベント処理装置40は、その内部に図1に示すような機能を実現するプログラムを組み込んだLSI(Large Scale Integration)等のハードウェア部品からなる回路が実装されることで、ハードウェアにより実現されてもよい。
 また、図7に示すように、コンピュータのCPU41が図1に示すような機能を提供するプログラムを実行することで、イベント処理装置40は、ソフトウェアにより実現されてもよい。
 この場合、CPU41が補助記憶部46に格納されているプログラムを、主記憶部42にロードして実行し、イベント処理装置40の動作を制御することにより、各機能がソフトウェアにより実現される。
 また、通信部45は、周辺機器と接続されており、データの送受信を行う機能を有する。周辺機器の1つとして、外部記憶装置48が、ネットワークを介して、イベント処理装置40と接続されている。
 イベント受信手段1は、外部記憶装置48に格納されたイベントを、ネットワークを介し、通信部45に入力することにより取得してもよい。さらに、結果出力手段5が出力する複合イベントを含んだデータが、外部記憶装置48に格納されてもよい。
 本実施形態のイベント処理装置を使用する場合、ユーザは、個別に入力されるイベント同士の内容の競合を、逐次処理で解消することができる。
実施形態2.
 次に、本発明の第2の実施形態を説明する。図8は、本発明による第2の実施形態におけるイベント処理装置30の構成を示すブロック図である。イベント処理装置30は、本発明の第1の実施形態に係るイベント処理装置10にイベント保持期限更新手段7が追加されたものであり、その他の構成要素はイベント処理装置10と共通である。
 イベント保持期限更新手段7は、受信した最新のイベントに適合したルールを含むルール全体によって対応付けられた、イベント記憶手段4に過去のイベントを保持する保持期限を、最新のイベントの保持期限に合わせて更新する。また、イベント保持期限更新手段7は、保持期限を過ぎたイベントを削除しても良い。
 例えば、受信したイベントの初期の保持期限を、その受信日時から6時間後の日時と、受信したイベントに記載されたイベント発生日時とのうち、より後の方の日時とする。図3に示すイベントの例では、イベントe1の保持期限は受信から6時間後の2012年7月30日21時16分19秒となる。
 その後、イベントe2が受信され、イベントe2がイベントe1と同じルールに適合したことで、イベント評価手段3により、イベントe2はイベントe1の関連イベントと判断される。その際、イベントe1の保持期限は、イベント保持期限更新手段7により、イベントe2と同じ保持期限である2012年7月31日02時39分40秒に更新される。
 イベントe3が受信された際には、同様にイベント保持期限更新手段7により、イベントe1とイベントe2の保持期限が、イベントe3に明記されているイベント発生日時と同じ、2012年7月31日8時ちょうどに更新される。
 本発明の第2の実施形態に係るイベント処理装置30は、第1の実施形態に係るイベント処理装置10と同様に、図7に示すハードウェア構成により実現される。
 イベント処理装置10には存在しない、イベント処理装置30の構成要素であるイベント保持期限更新手段7は、他の手段と同じく、図7に示す補助記憶部46にプログラムとして記憶される。CPU41が補助記憶部46に格納されているプログラムを実行することで、イベント保持期限更新手段7は、ソフトウェアにより実現される。
 または、イベント保持期限更新手段7は、LSI等のハードウェア部品からなる回路として実装されることで、ハードウェアによっても実現される。
 以上のように、イベント保持期限更新手段7をさらに備えたイベント処理装置30を用いると、関連するイベントが継続的に受信されている間、イベントの保持期限は継続して更新される。そのため、古いイベントは、期限切れが原因で削除されることがない。よって、イベント処理装置30は、過去の関連イベントが持つ情報を余さず利用できる。
 また、ルール全体のルールに適合したイベントであっても、後続の関連イベントの受信状況によって保持期限が更新されなければ、期限切れで削除される。このため、そのルール全体の終了状態に至るための関連イベントが長期間受信されない場合であっても、イベント記憶手段4の記憶容量は、不必要に圧迫されない。
 次に、本発明の概要を説明する。図9は、本発明によるイベント処理装置の概要を示すブロック図である。本発明によるイベント処理装置50は、イベントデータ記憶手段51(例えば、イベント記憶手段4)と、イベント評価手段52(例えば、イベント評価手段3)と、イベント競合解消手段53(例えば、イベント競合解消手段6)とを備えている。
 イベントデータ記憶手段51は、所定の条件(例えば、サブルール1)によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶する。
 イベント評価手段52は、新規に入力されたイベントデータが所定の条件を満たす場合に当該イベントデータを新規イベントデータとして集合に含める。
 イベント競合解消手段53は、新規イベントデータが、集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値(例えば、サブルール1におけるイベント日付及びイベント場所以外の属性値)の間に競合が生じる競合データである場合に、当該競合データを集合から除外する。
 そのような構成により、個別に入力されるイベント同士の内容の競合が、このイベント処理装置50によって、逐次処理で解消される。
 また、イベント処理装置50は、所定の条件に対応付けられたイベントデータの保持期限を、新規に入力されたイベントデータの保持期限に合わせて更新するイベント保持期限更新手段を備えていても良い。
 また、イベント競合解消手段53は、所定の条件によって互いに対応付けられたイベントデータ間で、共通する属性の値が異なる競合データか否かを判断する際に、特定の属性については競合データか否かを判断する対象から除外しても良い。
 また、イベント処理装置50は、イベントデータの集合を解析した解析結果である複合イベントを出力する結果出力手段を備え、イベント評価手段52は、所定の条件によって複合イベントを生成するか否かを判断して、当該複合イベントを生成し、結果出力手段は、生成された複合イベントを出力しても良い。
 また、イベント処理装置50は、一の属性または属性値から導き出される他の属性および属性値との関係を規定した概念辞書を記憶するルール記憶手段を備え、イベント評価手段52は、新規イベントデータに含まれる属性または属性値に基づいて概念辞書から他の属性及び属性値を展開し、イベント競合解消手段53は、展開された属性及び属性値を用いて新規イベントデータが競合データか否かを判断しても良い。
 この出願は、2012年10月17日に出願された日本特許出願2012-229796を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、互いに重複や矛盾を生じる内容を含みうる複数のイベントを表すデータが入力される複合イベント処理装置に好適に適用される。
1 イベント受信手段
2 ルール記憶手段
3 イベント評価手段
4 イベント記憶手段
5 結果出力手段
6 イベント競合解消手段
7 イベント保持期限更新手段
10 イベント処理装置
20 複合イベント処理装置(CEP処理装置)
30 イベント処理装置
40 イベント処理装置
41 CPU
42 主記憶部
43 入力部
44 出力部
45 通信部
46 補助記憶部
47 システムバス
48 外部記憶装置
50 イベント処理装置
51 イベントデータ記憶手段
52 イベント評価手段
53 イベント競合解消手段

Claims (9)

  1.  所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶するイベントデータ記憶手段と、
     新規に入力されたイベントデータが前記所定の条件を満たす場合に当該イベントデータを新規イベントデータとして前記集合に含めるイベント評価手段と、
     前記新規イベントデータが、前記集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを前記集合から除外するイベント競合解消手段とを備えた
     ことを特徴とするイベント処理装置。
  2.  所定の条件に対応付けられたイベントデータの保持期限を、新規に入力されたイベントデータの保持期限に合わせて更新するイベント保持期限更新手段を備えた
     請求項1に記載のイベント処理装置。
  3.  イベント競合解消手段は、所定の条件によって互いに対応付けられたイベントデータ間で、共通する属性の値が異なる競合データか否かを判断する際に、特定の属性については競合データか否かを判断する対象から除外する
     請求項1または請求項2に記載のイベント処理装置。
  4.  イベントデータの集合を解析した解析結果である複合イベントを出力する結果出力手段を備え、
     イベント評価手段は、所定の条件によって前記複合イベントを生成するか否かを判断して、当該複合イベントを生成し、
     前記結果出力手段は、生成された複合イベントを出力する
     請求項1から請求項3のうちのいずれか1項に記載のイベント処理装置。
  5.  一の属性または属性値から導き出される他の属性および属性値との関係を規定した概念辞書を記憶するルール記憶手段を備え、
     イベント評価手段は、新規イベントデータに含まれる属性または属性値に基づいて前記概念辞書から他の属性及び属性値を展開し、
     イベント競合解消手段は、展開された属性及び属性値を用いて新規イベントデータが競合データか否かを判断する
     請求項1から請求項4のうちのいずれか1項に記載のイベント処理装置。
  6.  所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶し、
     新規に入力されたイベントデータが前記所定の条件を満たす場合に当該イベントデータを新規イベントデータとして前記集合に含め、
     前記新規イベントデータが、前記集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを前記集合から除外する
     ことを特徴とするイベント処理方法。
  7.  所定の条件に対応付けられたイベントデータの保持期限を、新規に入力されたイベントデータの保持期限に合わせて更新する
     請求項6に記載のイベント処理方法。
  8.  コンピュータに、
     所定の条件によって互いに対応付けられたイベントデータの集合を所定の保持期限まで記憶するイベントデータ記憶処理、
     新規に入力されたイベントデータが前記所定の条件を満たす場合に当該イベントデータを新規イベントデータとして前記集合に含めるイベント評価処理、および、
     前記新規イベントデータが、前記集合に含まれる他のイベントデータとの間で共通する属性に対する各々の属性値の間に競合が生じる競合データである場合に、当該競合データを前記集合から除外するイベント競合解消処理
     を実行させるためのイベント処理プログラム。
  9.  コンピュータに、
     所定の条件に対応付けられたイベントデータの保持期限を、新規に入力されたイベントデータの保持期限に合わせて更新するイベント保持期限更新処理を実行させる
     請求項8に記載のイベント処理プログラム。
PCT/JP2013/005223 2012-10-17 2013-09-04 イベント処理装置、イベント処理方法、およびイベント処理プログラム WO2014061190A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014541913A JPWO2014061190A1 (ja) 2012-10-17 2013-09-04 イベント処理装置、イベント処理方法、およびイベント処理プログラム
US14/434,972 US20150278722A1 (en) 2012-10-17 2013-09-04 Event processing device, event processing method, and event processing program
SG11201502734RA SG11201502734RA (en) 2012-10-17 2013-09-04 Event processing device, event processing method, and event processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-229796 2012-10-17
JP2012229796 2012-10-17

Publications (1)

Publication Number Publication Date
WO2014061190A1 true WO2014061190A1 (ja) 2014-04-24

Family

ID=50487771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/005223 WO2014061190A1 (ja) 2012-10-17 2013-09-04 イベント処理装置、イベント処理方法、およびイベント処理プログラム

Country Status (4)

Country Link
US (1) US20150278722A1 (ja)
JP (1) JPWO2014061190A1 (ja)
SG (1) SG11201502734RA (ja)
WO (1) WO2014061190A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110165A (ja) * 2014-12-02 2016-06-20 日本電信電話株式会社 イベント情報抽出装置、イベント情報抽出方法及びイベント情報抽出プログラム
CN107959875A (zh) * 2016-10-17 2018-04-24 韩华泰科株式会社 图像提供设备及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110163470B (zh) * 2019-04-04 2023-05-30 创新先进技术有限公司 事件评估方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0955965A (ja) * 1995-08-10 1997-02-25 Atr Tsushin Syst Kenkyusho:Kk 通信サービス競合検出装置
JP2007531161A (ja) * 2004-03-30 2007-11-01 オラクル・インターナショナル・コーポレイション データベースシステムにおけるイベント−条件−動作の規則の管理
JP2009070299A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 文書処理装置、プログラムおよび文書処理方法
WO2009107511A1 (ja) * 2008-02-29 2009-09-03 日本電気株式会社 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
JP2012118928A (ja) * 2010-12-03 2012-06-21 Nec Corp イベント処理装置、イベント処理方法およびイベント処理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926816A (en) * 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
JP4583218B2 (ja) * 2004-07-05 2010-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 対象コンテンツを評価する方法、コンピュータ・プログラム、システム
US7962486B2 (en) * 2008-01-10 2011-06-14 International Business Machines Corporation Method and system for discovery and modification of data cluster and synonyms
US9317343B1 (en) * 2008-03-28 2016-04-19 Amazon Technologies, Inc. Centralized processing of events
US20120054163A1 (en) * 2010-08-27 2012-03-01 Motorola, Inc. Policy conflict classifier
US20140149180A1 (en) * 2012-04-19 2014-05-29 Oracle International Corporation Sale prediction engine rules

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0955965A (ja) * 1995-08-10 1997-02-25 Atr Tsushin Syst Kenkyusho:Kk 通信サービス競合検出装置
JP2007531161A (ja) * 2004-03-30 2007-11-01 オラクル・インターナショナル・コーポレイション データベースシステムにおけるイベント−条件−動作の規則の管理
JP2009070299A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 文書処理装置、プログラムおよび文書処理方法
WO2009107511A1 (ja) * 2008-02-29 2009-09-03 日本電気株式会社 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
JP2012118928A (ja) * 2010-12-03 2012-06-21 Nec Corp イベント処理装置、イベント処理方法およびイベント処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110165A (ja) * 2014-12-02 2016-06-20 日本電信電話株式会社 イベント情報抽出装置、イベント情報抽出方法及びイベント情報抽出プログラム
CN107959875A (zh) * 2016-10-17 2018-04-24 韩华泰科株式会社 图像提供设备及方法
CN107959875B (zh) * 2016-10-17 2021-11-30 韩华泰科株式会社 图像提供设备及方法

Also Published As

Publication number Publication date
US20150278722A1 (en) 2015-10-01
JPWO2014061190A1 (ja) 2016-09-05
SG11201502734RA (en) 2015-05-28

Similar Documents

Publication Publication Date Title
US11019107B1 (en) Systems and methods for identifying violation conditions from electronic communications
US10152531B2 (en) Computer-implemented systems and methods for comparing and associating objects
US9170993B2 (en) Identifying tasks and commitments using natural language processing and machine learning
US20200364033A1 (en) API Specification Generation
US9218568B2 (en) Disambiguating data using contextual and historical information
CN104750469B (zh) 源代码统计分析方法和系统
CN112291272B (zh) 网络威胁检测方法、装置、设备及计算机可读存储介质
US20130347004A1 (en) Correlating messages
CN113011856B (zh) 能源企业线上入驻方法、装置、电子设备和介质
CN107545505B (zh) 保险理财产品信息的识别方法及系统
WO2014061190A1 (ja) イベント処理装置、イベント処理方法、およびイベント処理プログラム
CN112949973A (zh) 一种结合ai的机器人流程自动化rpa流程的生成方法
CN103379016A (zh) 信息提醒方法和装置
CN115204889A (zh) 文本处理方法、装置、计算机设备及存储介质
US20150234830A1 (en) Method and system for creating and managing a verified online profile
JP2019016280A (ja) 情報処理装置及びプログラム
US10387474B2 (en) System and method for cross-cloud identification of topics
EP4002152A1 (en) Data tagging and synchronisation system
CN113780827A (zh) 一种物品筛选方法、装置、电子设备及计算机可读介质
US9424243B1 (en) Mechanism to support composite data models in HTML form
CN104424554B (zh) 对概率供应链信息的查询应答
CN113779017A (zh) 数据资产管理的方法和装置
JP2021089665A (ja) 情報処理装置及びプログラム
CN116915870B (zh) 任务创建请求处理方法、装置、电子设备和可读介质
KR102609300B1 (ko) 블록체인을 이용한 sbom 관리 시스템 및 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014541913

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14434972

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13847937

Country of ref document: EP

Kind code of ref document: A1