WO2013145584A1 - イベント相関検出システム - Google Patents

イベント相関検出システム Download PDF

Info

Publication number
WO2013145584A1
WO2013145584A1 PCT/JP2013/001481 JP2013001481W WO2013145584A1 WO 2013145584 A1 WO2013145584 A1 WO 2013145584A1 JP 2013001481 W JP2013001481 W JP 2013001481W WO 2013145584 A1 WO2013145584 A1 WO 2013145584A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
probability
event type
minimum
combination
Prior art date
Application number
PCT/JP2013/001481
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 US14/388,589 priority Critical patent/US20150058272A1/en
Priority to JP2014507378A priority patent/JP6060969B2/ja
Publication of WO2013145584A1 publication Critical patent/WO2013145584A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Definitions

  • the present invention relates to the technical field of information processing for detecting correlation of events.
  • FIG. 21 is a block diagram showing a configuration of a general event correlation detection system.
  • the event correlation detection system includes an event generation source 110, a window dividing unit 1001, an event type window table storage unit 1002, an event correlation rule engine unit 1003, a Graphical User Interface (hereinafter, “ 115 ”(abbreviated as“ GUI ”), event history database (hereinafter,“ database ”is abbreviated as“ DB ”) storage unit 1004, event type window division unit 1005, event type window table storage unit 1006, and rule generation unit 930. And an event correlation rule storage unit 1008 and the like.
  • GUI Graphical User Interface
  • DB event history database
  • Patent Document 1 discloses an example of a rule generation method in the event correlation detection system shown in FIG.
  • FIG. 22 is a diagram illustrating an example of a rule generation method in the event correlation detection system illustrated in FIG. Referring to FIG. 22, the rule generation method includes a mining kernel interface function 26, a mining kernel function 16, a mining result recording function 28 for recording the execution result of the mining kernel, and the like.
  • the event history DB storage unit 1004 stores a history related to an event generated by the event generation source 110.
  • FIG. 26 is a diagram conceptually illustrating information included in the event history DB.
  • the event history DB storage unit 1004 includes an identifier for identifying an event (hereinafter abbreviated as “ID”) (E #), the time when the event occurred (the item “Time” shown in FIG. 26), and an attribute relating to the event type, etc. Are stored in association with each other.
  • the event type window dividing unit 1005 divides the time recorded in the event history DB storage unit 1004 in time interval W [sec] increments. As a result, the event type window dividing unit 1005 classifies the event into a set of events (hereinafter referred to as “event type window”) according to the time when the event occurred.
  • FIG. 23 is a diagram conceptually illustrating a state in which the occurrence of an event is classified into an event type window.
  • the horizontal axis in FIG. 23 indicates the passage of time, and the time advances as it goes to the right.
  • a triangle in FIG. 23 indicates that an event has occurred.
  • events occur intermittently.
  • the events classified by the event type window dividing unit 1005 are stored in an event window table as shown in FIG.
  • FIG. 24 is a diagram showing a specific example of the event window table.
  • the event window table stores W # and E # in association with each other for at least one event ID (E #) that occurred at a time related to the window ID (W #).
  • FIG. 25 is a diagram showing an example of an image of the event type window table.
  • the event type window table stores the event type window ID (W #) in association with the event type of the event belonging to the event type window.
  • the rule generation unit 930 generates an event correlation rule while referring to a predetermined threshold given by the operator via the GUI 115.
  • the event generation source 110 generates an event.
  • the window dividing unit 1001 stores events that occur at a constant time interval W [sec] in the event type window table storage unit 1002.
  • the event type window table storage unit 1002 further stores W # and the event type of the event that occurred in W # in association with each other.
  • the event correlation rule engine unit 1003 displays correlated events on the GUI 115 according to the following processing while referring to the event correlation rule storage unit 1008. For example, when an event having an event type A and an event having an event type B occur, a rule that an event having an event type C occurs is expressed as an event correlation rule “A, B ⁇ C”. .
  • the event correlation rule engine unit 1003 determines that the event E3 occurs if the event E1 and the event E2 occur. As a result, the event correlation rule engine unit 1003 creates an event correlation rule “A, B ⁇ C” by associating the event with the event type of the event.
  • the mining kernel function 16 creates an event correlation rule according to the following process.
  • the mining kernel interface function 26 has information on a predetermined minimum support level (or minimum support rate) and a predetermined minimum reliability level (or minimum reliability level), which are criteria for determination.
  • the mining kernel function 16 uses a data access program or utility to read a history of events that have occurred in the past, and analyzes the relationship between events based on the read results. Next, the mining kernel function 16 records the correlation rule created by the analysis in the mining result recording function 28.
  • k represents the number of types of event combinations held by the mining kernel function 16.
  • Support level SR k ⁇ Nw, (However, it is assumed that a combination of events having k types of events appears in Nw windows in all event type windows).
  • the mining kernel function 16 repeatedly calculates the support level SR while increasing k by 1 until the support level SR in all event type windows is less than the predetermined minimum support level.
  • the number of combinations for which the mining kernel function 16 has completed the above calculation is represented by h.
  • the mining kernel function 16 presents a combination of events having an event type having a support SR that is equal to or greater than a predetermined minimum support at (h ⁇ 1) time points.
  • the mining kernel function 16 extracts an event that exists in the combination of event types presented as described above.
  • the mining kernel function 16 calculates whether there is a correlation with the occurrence of the extracted event according to the following processing. It is assumed that the presented combination of event types is ⁇ A, B, C, D ⁇ .
  • the mining kernel function 16 extracts one event type (denoted by “D”) from among them, and depends on the reliability defined by the following calculation formula (hereinafter referred to as “reliability TR”). , D is examined to see if it is correlated with the occurrence of A, B, or C.
  • Reliability TR “number of event type windows in which ⁇ A, B, C, D ⁇ occurs” ⁇ “number of event type windows in which ⁇ A, B, C ⁇ occurs”
  • the mining kernel function sets “A, B, C ⁇ D” as the event correlation rule if the reliability TR calculated as described above is equal to or greater than a predetermined minimum reliability.
  • Patent Document 1 The problem in Patent Document 1 is that it is difficult to appropriately determine a predetermined minimum support level and a predetermined minimum reliability level.
  • the mining kernel function 16 detects an erroneous result that event types that are not originally correlated are correlated if the predetermined minimum support value and the predetermined minimum reliability value are inappropriate. .
  • the minimum support and the minimum reliability have been obtained through trial and error so as to obtain an acceptable error detection rate.
  • the main object of the present invention is to provide an event correlation detection system or the like that can automatically set the minimum support level and the minimum reliability level so as to suppress the false detection rate to an acceptable level.
  • an event correlation detection system is characterized by having the following configuration.
  • the event correlation detection system is: For multiple event types, For each event type, an arrival rate calculation unit that calculates an arrival rate at which the event type arrives at a predetermined time interval; For each event type, an occurrence probability calculation unit that calculates a first probability that the event type occurs based on the arrival rate and the time interval; Threshold calculation for calculating a second probability that the plurality of event types occur simultaneously based on the first probability, and calculating a minimum support for the event type combination and a minimum reliability for the dependency rule based on the second probability And An event correlation rule engine for detecting correlation between the plurality of event types according to the minimum support level and the minimum reliability level.
  • an event correlation detection method includes: For multiple event types, For each event type, calculate the arrival rate at which the event type arrives at a predetermined time interval; For each event type, calculate a first probability that the event type will occur based on the arrival rate and the time interval; Calculating a second probability that the plurality of event types occur simultaneously based on the first probability, calculating a minimum support for the event type combination and a minimum reliability for the dependency rule based on the second probability; A correlation between the plurality of event types is detected according to the minimum support level and the minimum reliability level.
  • Another object of the present invention is to provide an event correlation detection apparatus having the above-described configuration, a computer program for realizing the corresponding method using a computer, and a computer-readable storage medium storing the computer program. It is also achieved by using it.
  • the event correlation detection system according to the present invention can suppress the false detection rate to an acceptable level.
  • 2 is a flowchart illustrating a procedure of processing executed by the event correlation detection system according to the first embodiment of the present invention. It is a block diagram showing the structure which the event correlation detection system which concerns on the 2nd Embodiment of this invention has. It is a flowchart which shows the procedure of the process which the event correlation detection system which concerns on the 2nd Embodiment of this invention performs. It is a flowchart which shows the procedure of the process which the event correlation detection system which concerns on the 2nd Embodiment of this invention performs.
  • FIG. 1 is a block diagram showing a configuration of an event correlation detection system 101 according to the first embodiment of the present invention.
  • the event correlation detection system 101 according to the first embodiment includes an arrival rate calculation unit 102, an occurrence probability calculation unit 103, a threshold value calculation unit 104, and an event correlation rule engine unit 160. .
  • the arrival rate calculation unit 102 calculates the number of arrivals per unit time (hereinafter, this value is referred to as “arrival rate”) for each event.
  • arrival rate the number of arrivals per unit time
  • the occurrence probability calculation unit 103 is in a certain time interval W [sec (seconds)] (hereinafter also referred to as “predetermined time interval”) according to the arrival rate calculated by the arrival rate calculation unit 102.
  • predetermined time interval the probability P (E
  • the threshold value calculation unit 104 calculates the probability that all events included in the rule candidates will occur based on the probability P (E
  • FIG. 2 is a flowchart showing a procedure of processing executed by the event correlation detection system 101 according to the first embodiment of the present invention.
  • the arrival rate calculation unit 102 calculates the arrival rate for each event based on the history of occurrence of the event (step A10).
  • the occurrence probability calculation unit 103 based on the arrival rate for each event calculated by the arrival rate calculation unit 102, the probability of occurrence of an event (step A20), the support SR and the reliability as described in the background art The degree TR is calculated (step A30).
  • the threshold value calculation unit 104 calculates two types of probability distributions based on the probability calculated above and the support level SR, or based on the calculated probability and the reliability level TR (step A40). Next, the threshold calculation unit 104 calculates thresholds such that the area of the region corresponding to the false detection rate in the two types of probability distributions described above is equal to or less than the assumed false detection rate, and sets the calculated threshold to the minimum.
  • the support level or the minimum reliability level is set (step A50).
  • the event correlation rule engine unit 160 detects the correlation between the event types described above according to the minimum support value or the minimum reliability value calculated by the threshold value calculation unit 104 (step A60). .
  • the event correlation detection system 101 calculates a threshold value that is equal to or lower than the assumed false detection rate, and calculates the calculated value as the minimum support level or the minimum reliability level. To do.
  • the false detection rate can be suppressed to an acceptable level.
  • FIG. 3 is a block diagram showing the configuration of the event correlation detection system 105 according to the second embodiment of the present invention.
  • the event correlation detection system 105 includes a window division unit 140 that classifies events at regular time intervals W [sec], an event type window table storage unit 220 that stores information related to event type windows, and the like.
  • the event correlation detection system 105 includes an event correlation rule engine unit 160 that detects correlated events based on values existing in the event correlation rule storage unit 170.
  • the event correlation detection system 105 includes an arrival rate calculation unit 102 that calculates an arrival rate for each event from the value of the event history DB storage unit 130, and an event type at a certain time interval W [sec] from the event arrival rate. And an occurrence probability calculation unit 103 that calculates the probability of occurrence of the event having the event.
  • the event correlation detection system 105 includes an event type window dividing unit 210 that classifies event types at regular time intervals W [sec] according to an event occurrence time in the event history DB storage unit 130, and an event correlation rule. And a rule generation unit 230 for generating.
  • the rule generation unit 230 refers to the event type window stored in the event type window table storage unit 220 to generate an event group having a high coincidence rate as a rule candidate.
  • the rule generation unit 230 stores the result in the rule candidate storage unit 240.
  • the rule generation unit 230 generates an event correlation rule using the value stored in the rule candidate storage unit 240 and the threshold stored in the threshold storage unit 310.
  • FIG. 5 is a block diagram showing the configuration of the rule generation unit 230 in the second embodiment of the present invention.
  • the rule generation unit 230 includes a combination generation unit 410, a combination selection unit 450, a dependency rule generation unit 460, and a dependency rule selection unit 510.
  • FIG. 6 is a block diagram showing the configuration of the rule candidate storage unit 240 in the second embodiment of the present invention.
  • the rule candidate storage unit 240 includes an event combination storage unit 420 and a dependency rule storage unit 470.
  • FIG. 7 is a block diagram showing the configuration of the threshold value calculation unit 104 according to the second embodiment of the present invention.
  • the threshold value calculation unit 104 includes a minimum support level calculation unit 430 and a minimum reliability level calculation unit 480.
  • FIG. 8 is a block diagram illustrating the configuration of the threshold storage unit 310 according to the second embodiment of the present invention. As illustrated in FIG. 8, the threshold storage unit 310 includes a minimum support level storage unit 440 and a minimum reliability level storage unit 490.
  • FIG. 10 is a block diagram showing the configuration of the minimum reliability calculation unit 480 in the second embodiment of the present invention.
  • the minimum reliability calculation unit 480 includes a probability distribution calculation unit 710, a probability distribution storage unit 720, and a distribution probability inverse calculation unit 730.
  • FIG. 12 is a block diagram showing the configuration of the minimum support level calculation unit 430 in the second embodiment of the present invention.
  • the minimum support level calculation unit 430 includes a probability distribution calculation unit 610, a probability distribution storage unit 620, and a distribution probability inverse calculation unit 630. The processing performed by each of these units will be described later together with the description of the flowchart.
  • the event generation source (event generation source 110 in FIG. 21) generates an event.
  • the event occurs according to the Poisson distribution.
  • a data center can be cited as an example of an event generation source.
  • the data center includes a large number of servers, network devices, storages, and the like. Many servers in a data center typically generate events independently of each other. When multiple devices generate events independently, such as servers in a data center, it can be assumed that the entire event occurs according to a Poisson distribution. If the event source is a data center, the user of this system is a data center operator.
  • a GUI for example, an input device 2305 in a hardware configuration described later (FIG. 20) is an interface that allows a user to input an allowable false detection rate.
  • the GUI for example, the output device 2304 in the hardware configuration (FIG. 20) described later
  • the assumed false detection rate storage unit 120 stores a value representing a false detection rate acceptable by the user.
  • the false detection rate is a probability that the event correlation rule stored in the event correlation rule storage unit 170 includes a rule having no correlation.
  • FIG. 26 is a diagram conceptually illustrating information stored in the event history DB.
  • the information stored in the event history DB in FIG. 26 is also used in the event correlation detection system 105 according to the second embodiment of the present invention.
  • FIG. 3 is a block diagram showing the configuration of the event correlation detection system 105 according to the second exemplary embodiment of the present invention.
  • the event history DB storage unit 130 stores a history related to events that have occurred in the past from the event generation source (event generation source 110 in FIG. 21).
  • the event history DB stored in the event history DB storage unit 130 stores event occurrence times and event types in association with each other.
  • the event history DB storage unit 130 may store the event history DB in association with values other than the parameters exemplified above.
  • the window dividing unit 140 classifies events generated from event generation sources (event generation sources 110 in FIG. 21) into event type windows. Next, the window dividing unit 140 records information related to the classified event type window in the event type window table storage unit 220.
  • FIG. 24 is a diagram showing a specific example of the event window table.
  • the event window table is a table stored by the related event correlation detection system, and is also a table stored by the event correlation detection system in the second exemplary embodiment of the present invention.
  • the event correlation rule engine unit 160 determines that there is a correlation in the occurrence of the event E1, the event E2, and the event E3 according to the event generation rule.
  • the event correlation rule storage unit 170 stores a precondition composed of events having at least one event type and an outcome composed of events having a certain event type in association with each other. For example, when A, B, and C each represent an event type, the event correlation rule “A, B ⁇ C” indicates that “the event having the event type A and the event having the event B type occur as events occur. This represents a correlation that an event having type C occurs.
  • the event correlation rule is “A, B ⁇ C”
  • “Prerequisite” indicates “A, B” existing to the left of “ ⁇ ”
  • “Consequence” exists to the right of “ ⁇ ”. Represents “C”.
  • the event type window dividing unit 210 classifies the events stored in the event history DB storage unit 130 in units of event type windows. Next, the event type window dividing unit 210 associates an event type related to an event occurring in the event type window with an identifier representing the event type window (hereinafter abbreviated as “ID”), and the result is an event type. Saved in the window table storage unit 220.
  • ID an identifier representing the event type window
  • the event type window table storage unit 220 stores the event type for each event type window.
  • FIG. 25 is a diagram showing an example of an image related to the event type window table.
  • the event type window table associates an ID (W #) related to an event type window with a set of event types possessed by an event existing in the event type window.
  • the event type window table is information that the related event correlation detection system has, and also information that the event correlation detection system in the second exemplary embodiment of the present invention has.
  • the rule generation unit 230 generates an event correlation rule while referring to the threshold value, and stores the result in the event correlation rule storage unit 170.
  • the configuration of the rule generation unit 230 will be described using an example as a subject.
  • the rule generation unit 230 includes a combination generation unit 410, a combination selection unit 450, a dependency rule generation unit 460, and a dependency rule selection unit 510.
  • A, B, C, D, and E exist as event types in the event type window.
  • the combination selection unit 450 selects ⁇ A, B ⁇ from the event type combinations stored in the event combination storage unit 420.
  • the combination generation unit 410 generates a new event type combination by adding one event type in the event type window for the event type combination ⁇ A, B ⁇ selected by the combination selection unit 450.
  • the combination generation unit 410 creates event type combinations ⁇ A, B, C ⁇ , ⁇ A, B, D ⁇ , ⁇ A, B, E ⁇ , and stores the combinations in the event combination storage unit 420. Output.
  • the combination selection unit 450 selects, from the event combinations stored in the event combination storage unit 420, event combinations related to the calculated support level SR greater than or equal to the minimum support level stored in the minimum support level storage unit 440.
  • the combination selection unit 450 calculates the support s (A, B,%) Of the event type combinations A, B,.
  • the dependency rule generation unit 460 generates a dependency rule according to the following process for at least one event combination selected by the combination selection unit 450. For example, it is assumed that the combination selection unit 450 selects the event type combination ⁇ A, B, C ⁇ . In that case, the dependency rule generation unit 460 generates “A, B ⁇ C”, “B, C ⁇ A”, and “C, A ⁇ B” as dependency rules from the event type combination, and the dependency rules are generated. Saved in the dependency rule storage unit 470.
  • the dependency rule selection unit 510 selects a dependency rule having a reliability TR greater than or equal to the minimum reliability from the dependency rules generated by the dependency rule generation unit 460.
  • the dependency rule selection unit 510 sets the selected dependency rule as an event correlation rule, and stores the result in the event correlation rule storage unit 170.
  • the combination selection unit 450 calculates the reliability t (B, C ⁇ A) related to the dependency rule “B, C ⁇ A” according to Equation 2.
  • T (B, C ⁇ A) (number of event type windows including A, B, C) ⁇ (number of event type windows including B, C) (Equation 2).
  • the rule candidate storage unit 240 includes an event combination storage unit 420 and a dependency rule storage unit 470.
  • the rule candidate storage unit 240 stores the work data temporarily created by the rule generation unit 230.
  • the event combination storage unit 420 stores a combination of event types obtained as a result of combining a plurality of event types.
  • the event type combinations include, for example, ⁇ A, B, C ⁇ , ⁇ A, B, D ⁇ , ⁇ A, B, E ⁇ and the like are assumed.
  • the dependency rule storage unit 470 stores a rule that combines a “precondition” configured using a plurality of event types and a “consequence” configured using the event types.
  • the arrival rate calculation unit 102 determines the event occurrence frequency for each event type (here, the event type is E) (here, the above-described event occurrence DB). In accordance with ( ⁇ E) [/ sec]). For example, when the event E occurs NE times in the time interval T, the arrival rate calculation unit 102 calculates the event occurrence frequency ⁇ E according to the process shown in Equation 3.
  • FIG. 19 is a diagram illustrating an example of a reference table indicating the relationship between the event type and the arrival rate, which is stored in the event arrival rate table storage unit 260 according to the second embodiment of the present invention.
  • the event arrival rate table storage unit 260 stores an event type and an arrival rate at which the event type arrives in association with each other.
  • the occurrence probability calculation unit 103 calculates an occurrence probability according to the following process for each event type in which an event occurs once or more at a fixed time interval W.
  • an event of event type E occurs according to a Poisson distribution.
  • the occurrence probability calculation unit 103 represents an occurrence probability Pr (
  • the occurrence probability table storage unit 280 stores the value calculated by the occurrence probability calculation unit 103 and the event type in association with each other as shown in Equation 4.
  • FIG. 16 is a diagram illustrating an example of a reference table indicating the association between an event type and its occurrence probability, which is stored in the occurrence probability table storage unit according to the second embodiment of the present invention.
  • the occurrence probability table storage unit 280 stores an event type and an occurrence probability Pr (
  • the threshold value calculation unit 104 includes a minimum support level calculation unit 430 and a minimum reliability level calculation unit 480.
  • the threshold calculation unit 104 calculates a threshold according to the following process, and stores the threshold in the threshold storage unit 310.
  • the threshold value calculation unit 104 calculates the minimum support level and the minimum reliability level, and stores the calculated values in the minimum support level storage unit 440 and the minimum reliability level storage unit 490, respectively.
  • the threshold calculation unit 104 calculates a threshold according to the following flow.
  • the minimum support level calculation unit 430 includes a probability distribution calculation unit 610, a probability distribution storage unit 620, and a distribution probability inverse calculation unit 630.
  • the minimum support level calculation unit 430 calculates a false detection rate according to the following process. As a result, the calculated false detection rate becomes a numerical value equal to or less than the assumed false detection rate stored in the assumed false detection rate storage unit 120.
  • the processing method in the minimum support degree calculation unit 430 is as follows.
  • the probability distribution calculation unit 610 refers to the event combination storage unit 420 and extracts a specific event type combination C from the event combinations.
  • the event type combination C includes a plurality of event types.
  • the probability distribution calculation unit 610 refers to the occurrence probability table storage unit 280 to extract the occurrence probability associated with the event type.
  • the probability distribution calculation unit 610 performs the above-described processing for all event types included in the event type combination C.
  • the probability distribution calculation unit 610 calculates the probability Pr (C
  • W) ⁇ E ⁇ C_Pr (
  • the probability distribution calculation unit 610 calculates the probability G (i) that the event type combination C occurs in i windows out of the Nw windows according to the process shown in Equation 6.
  • G (i) C (Nw, i) P (C
  • G (i) is equal to the binomial distribution B (Nw, Pr (C
  • the probability distribution calculation unit 610 associates the generated window number i with the calculated G (i) and stores the result in the probability distribution storage unit 620.
  • the probability distribution storage unit 620 stores the window number i and the value of G (i) in association with each other.
  • FIG. 14 is a diagram illustrating characteristics of information stored in the probability distribution storage unit 620 according to the second embodiment of the present invention.
  • the horizontal axis in FIG. 14 represents the number of windows (number of occurrences) in which the event combination C occurs.
  • the vertical axis in FIG. 14 represents the probability (probability density) associated with the number of occurrence windows i described above in the probability distribution stored in the probability distribution storage unit 620.
  • a curve indicated by a solid line in FIG. 14 represents a probability that an occurrence event type combination will occur when each event having an event type is assumed to occur independently.
  • a curve indicated by a dotted line in FIG. 14 represents the occurrence probability when the occurrence of each event in the event type combination is not independent.
  • the event type combination C includes an event type C1 and an event type C2.
  • the probability distribution calculation unit 610 calculates the probability G (i) that an event type combination occurs on the assumption that an event having an event type C1 and an event having an event type C2 occur independently. To do.
  • the solid line in FIG. 14 represents the probability G (i). That is, the solid line in FIG. 14 represents the binomial distribution B (Nw, Pr (C
  • the apparatus when the minimum support degree is represented as s and the occurrence frequency is higher than (s ⁇ Nw) shown on the vertical axis, the apparatus according to the present embodiment causes each event in the event type combination to generate each other. Is determined to be dependent. However, the events B and C in the event type combination are independent of each other. Therefore, in FIG. 14, the portion shown in a lattice shape indicates that an erroneous result is detected.
  • the distribution probability inverse calculation unit 630 calculates the minimum s satisfying Expression 7.
  • This s may be calculated by substituting the value of i sequentially from a large value to find a value that does not satisfy Equation 7, or by analytically calculating it using a method such as the Newton method. Good.
  • the method for calculating the minimum s is not limited to the method exemplified above.
  • the dotted line shown in FIG. 14 represents the probability distribution when the occurrence of each event B, C in the event type combination is not independent.
  • the area surrounded by the dotted line in FIG. 14 and the right part of the vertical line where the occurrence frequency shown on the horizontal axis indicates (s ⁇ Nw) is shown in FIG. 14 by the apparatus according to the present embodiment for each event B, C in the event type combination. If the occurrence of is not independent, it is the part that detects correctly.
  • a region surrounded by a dotted line in FIG. 14 and a left portion of a vertical line in which the occurrence frequency shown on the horizontal axis represents (s ⁇ Nw) (shaded portion shown in FIG. 14) is below the minimum support level. Therefore, the device according to the present embodiment does not select this part.
  • the minimum support level calculation unit 430 calculates the minimum support level by calculating s that satisfies Expression 7. As a result, the present embodiment according to the present invention can suppress the false detection rate to an acceptable level.
  • the minimum reliability calculation unit 480 calculates the minimum reliability according to the process described below, and stores the calculated value in the minimum reliability storage unit 490. In the present embodiment, when such processing is performed, the value of the false detection rate becomes equal to or less than the value of the assumed false detection rate stored in the assumed false detection rate storage unit 120.
  • the minimum reliability calculation unit 480 includes a probability distribution calculation unit 710, a probability distribution storage unit 720, and a distribution probability inverse calculation unit 730.
  • the probability distribution calculation unit 710 refers to the value associated with the occurrence probability table storage unit 280 and the dependency rule R stored in the dependency rule storage unit 470.
  • the probability distribution calculation unit 710 calculates the probability Pr (R) that the dependency rule is generated, assuming that the event having the event type included in the dependency rule R occurs independently. For example, when the dependency rule R is a dependency rule “B, C,... ⁇ A”, the probability distribution calculation unit 710 calculates the probability Pr (R
  • W) Pr (
  • the probability distribution calculation unit 710 calculates the probability distribution according to the binomial distribution B (Nw, Pr (R
  • Nw represents the number of windows stored in the event history DB.
  • the probability distribution calculation unit 710 stores the calculated probability distribution in the probability distribution storage unit 720.
  • FIG. 15 is a diagram illustrating the characteristics of the probability distribution storage unit 720 according to the second embodiment of the present invention.
  • the horizontal axis of FIG. 15 represents the number of windows (number of occurrences) in which the dependency rule has occurred.
  • the vertical axis in FIG. 15 represents the probability density stored in the probability distribution storage unit 720.
  • the solid line in FIG. 15 represents the probability that an occurrence event type combination will occur when each event having an event type is assumed to occur independently.
  • the dotted line in FIG. 15 represents the probability when the occurrence of each event in the event type combination is not independent.
  • the dependency rule R stored in the dependency rule storage unit 470 is assumed to be “B ⁇ A”.
  • the solid line in FIG. 15 represents the probability distribution when an event having event type A and an event having event type B occur independently.
  • the probability distribution calculation unit 710 calculates the probability distribution as a binomial distribution B (Nw, Pr (R
  • the apparatus according to the present embodiment selects a part having a higher occurrence frequency than t ⁇ Nw as an event in which events occur depending on each other.
  • the solid line in FIG. 15 represents a value calculated by the probability distribution calculation unit 710 on the assumption that an event having an event type A and an event having an event type B occur independently. Therefore, the distribution probability inverse calculation unit 730 is an area surrounded by the solid line in FIG. 15 and the right side of the vertical line where the occurrence frequency shown on the horizontal axis is (t ⁇ Nw) (the part shown in a grid pattern in FIG. 15). ) Is detected as an event having a dependency relationship with each other. That is, the detection is an incorrect result.
  • the distribution probability inverse calculation unit 730 calculates the minimum t that satisfies Equation 9 when the assumed erroneous detection rate storage unit 120 is set to p0.
  • Equation 9 (Where dR (Nw, W, R) (i) is the probability of taking the value i for the probability distribution dR (Nw, W, R), ( ⁇ i> t_Nw ⁇ dR (Nw, W, R) (i)) calculates the sum of Nw ⁇ dR (Nw, W, R) (i) for i having a value larger than t. i represents a natural number).
  • the distribution probability inverse calculation unit 730 calculates the minimum reliability t according to the processing method described above with reference to the values of the probability distribution storage unit 720 and the assumed false detection rate storage unit 120.
  • This t can be calculated by substituting the value of i sequentially from a large value and calculating a value that does not satisfy Equation 9, or by calculating it analytically and using a method such as the Newton method. Also good.
  • the method for calculating the minimum t is not limited to the method exemplified above.
  • the threshold value calculation unit 104 calculates a threshold value according to the following process, and stores the calculated value in the threshold value storage unit 310.
  • the rule generation unit 230 refers to the threshold stored in the threshold storage unit 310.
  • the threshold storage unit 310 includes a minimum support level storage unit 440 and a minimum reliability level storage unit 490.
  • the minimum support level storage unit 440 stores a threshold value that the rule generation unit 230 refers to.
  • the threshold calculated by the minimum support level calculation unit 430 represents a lower limit value of the support level SR regarding the event combination.
  • the minimum reliability storage unit 490 stores a threshold value referred to by the rule generation unit 230.
  • the threshold calculated by the minimum reliability calculation unit 480 represents a lower limit value in the reliability TR regarding the dependency rule.
  • FIG. 9 is a flowchart regarding event correlation detection processing according to the second embodiment of the present invention.
  • the window dividing unit 140 receives an event generated by an event generation source (event generation source 110 in FIG. 21). Then, the window dividing unit 140 classifies the events received at regular time intervals W into event type windows, and sets the event type window ID (W #) and the event type set of the events belonging to the event type window. Are recorded in the event type window table storage unit 220 (step E110).
  • the event correlation rule engine unit 160 selects a correlated event among the events recorded in the event type window table storage unit 220 according to the value of the event correlation rule storage unit 170 (step E120). .
  • FIGS. 3 to 8 and FIG. FIG. 4A and FIG. 4B are flowcharts showing a procedure of processing executed by the event correlation detection system 105 according to the second exemplary embodiment of the present invention.
  • the arrival rate calculation unit 102 calculates the arrival rate for each event existing in the event history DB storage unit 130 according to the above-described process while referring to the value of the event history DB storage unit 130.
  • the arrival rate calculation unit 102 associates the event with the calculated arrival rate at which the event arrives, and records it in the event arrival rate table storage unit 260 (step A210 in FIG. 4A).
  • the occurrence probability calculation unit 103 refers to the value of the event arrival rate table storage unit 260 and then calculates the event occurrence probability at a fixed time interval W [sec] for each event existing in the event arrival rate table storage unit 260. The calculation is performed according to the processing as described above. Then, the occurrence probability calculation unit 103 stores the calculated value in the occurrence probability table storage unit 280 (step A220).
  • the event type window dividing unit 210 classifies events as event type windows in units of a fixed time interval W [sec] based on the values stored in the event history DB storage unit 130.
  • the event type window dividing unit 210 stores the classified event type window in the event type window table storage unit 220 in association with the event type and the window (step A110 in FIG. 4A).
  • the process flow from step A210 to step A220 and the process of step A110 may be performed in parallel, or one of the two may be performed first. Note that step A210, step A220, and step A110 are the same as the processing in FIG.
  • step B120 the rule generation unit 230 sets the number of event combinations as 2 (step B120).
  • the combination generation unit 410 generates an event combination as described above for the number of event combinations set by the rule generation unit 230 based on the value of the event type window table storage unit 220.
  • the rule generation unit 230 stores the created event combination in the event combination storage unit 420 (step B130).
  • the combination generation unit 410 combines two types of event types when the rule generation unit 230 sets the number of event combinations to two.
  • the combination generation unit 410 creates an event combination by combining all event types.
  • the rule generation unit 230 increases the number of event combinations by one.
  • the combination generation unit 410 creates an event combination according to the number of event combinations set by the rule generation unit 230 and stores the created event combination in the event combination storage unit 420.
  • the minimum support level calculation unit 430 refers to the value of the occurrence probability table storage unit 280 and the value of the assumed false detection rate storage unit 120 for each event combination stored in the event combination storage unit 420, According to the processing method shown in Equation 9, the minimum support level is calculated, and the calculated value is stored in the minimum support level storage unit 440 (step B140).
  • the combination selection unit 450 calculates the support level SR in the event combination.
  • the combination selection unit 450 compares the calculated support level SR with the value existing in the minimum support level storage unit 440. Thereafter, the combination selection unit 450 leaves only event combinations having a large support level SR calculated from the minimum support level value (step B150). If the combination selection unit 450 determines that there is a combination in which the calculated support level SR is larger than the value present in the minimum support level storage unit 440 (YES in step B160), the above-described support is performed. Event combinations having a large degree SR are temporarily stored in the combination selection unit 450.
  • the combination selection unit 450 increases the event combination by one (step B170), adds one event to the combination of the temporarily stored events in the combination selection unit 450, and then performs step Return to B130.
  • the combination selection unit 450 determines that each calculated support level SR is smaller than the value existing in the minimum support level storage unit 440 (determined as NO in Step B160), the combination selection unit 450. , The dependency rule generation unit 460 generates a dependency rule (step B210).
  • the minimum reliability calculation unit 480 refers to the value existing in the occurrence probability table storage unit 280 and the value existing in the assumed false detection rate storage unit 120 for each dependency rule generated by the dependency rule generation unit 460. However, the minimum reliability is calculated, and the calculated value is stored in the minimum reliability storage unit 490 (step B220).
  • the dependency rule selection unit 510 calculates the reliability TR for each dependency rule generated by the dependency rule generation unit 460.
  • the dependency rule selection unit 510 compares the calculated reliability TR with the value existing in the minimum reliability storage unit 490 associated with the dependency rule. Then, the dependency rule selection unit 510 leaves only the dependency rule having a higher value of the reliability TR calculated than the value of the minimum reliability from the dependency rules generated by the dependency rule generation unit 460 (step B230).
  • the dependency rule selection unit 510 generates the dependency rule extracted as described above as an event correlation rule (step B240), and stores the created event correlation rule in the event correlation rule storage unit 170.
  • FIG. 12 is a block diagram showing the configuration of the minimum support level calculation unit in the second embodiment of the present invention.
  • FIG. 13 is a flowchart relating to processing performed by the minimum support level calculation unit according to the second embodiment of the present invention.
  • dC (Nw, W, C) B (Nw, ⁇ E ⁇ C_Pr (
  • ⁇ i_C (Nw, i) ⁇ P ⁇ i ⁇ (1-P) ⁇ i means taking the sum of C (Nw, i) ⁇ P ⁇ i ⁇ (1-P) ⁇ i for i).
  • the distribution probability inverse calculation unit 630 generates “Pr (X> s ⁇ Nw
  • the maximum s satisfying (Nw, W, C)) ⁇ the assumed erroneous detection rate p0 ” is calculated, and the calculated value is stored in the minimum support degree storage unit 440 (step C120).
  • dC (Nw, W, C)) represents the probability that the random variable X takes a value larger than s ⁇ Nw in the probability distribution represented by dC (Nw, W, C).
  • FIG. 10 is a block diagram showing the configuration of the minimum reliability calculation unit 480 in the second embodiment of the present invention.
  • FIG. 11 is a flowchart relating to processing performed by the minimum reliability calculation unit 480 in the second embodiment of the present invention.
  • the probability distribution calculation unit 710 determines that the event A is an event B, an event C,. And a probability distribution dR (Nw, W, R) is calculated.
  • the calculation method is a method of calculating a binomial distribution B (Nw, Pr (A
  • the probability distribution calculation unit 710 stores the calculated value in the probability distribution storage unit 720 (step D110).
  • the dependency rule does not necessarily have to be “B, C,... ⁇ A” as described above.
  • the distribution probability inverse calculation unit 730 performs “in the probability distribution dR (Nw, W, R) calculated by the probability distribution calculation unit 710 for each dependency rule“ B, C,...
  • dR (Nw, W, R)) ⁇ assumed false detection rate p0 ” is calculated.
  • the distribution probability inverse calculation unit 730 stores the calculated value in the minimum reliability storage unit 490 (step C130).
  • the distribution probability inverse calculation unit 730 is the minimum that satisfies the condition that the probability that X> t is less than or equal to p0 in the probability distribution dR (Nw, W, R) described above. T is calculated as the minimum reliability.
  • the event occurrence distribution probability is assumed to be a Poisson distribution.
  • Each event is assumed to occur probabilistically independently.
  • the calculation is performed according to the calculation method as described above.
  • the threshold values calculated by the present embodiment that is, the minimum support level and the minimum reliability level
  • the threshold values calculated by the present embodiment can be set so as not to exceed an allowable false detection rate.
  • FIG. 26 is a diagram conceptually illustrating information stored in the event history DB storage unit 130.
  • the event history DB also uses the event correlation detection system in the second embodiment of the present invention.
  • the table existing in the event history DB storage unit 130 associates the event ID (E #), the time when the event occurred (TIME), the event type, and the like.
  • the table existing in the event history DB storage unit 130 may be associated with an item other than the above, or does not necessarily include the above item.
  • the event types associated with each E # are four types of events, namely “QueryError” and “QueryError”.
  • DBError “ NWCongestion ”, and“ TooManyRequest ”.
  • the arrival rate calculation unit 102 refers to a value existing in the event history DB storage unit 130 and extracts one event from the value.
  • the arrival rate calculation unit 102 calculates the arrival rate for the extracted event according to the method described above, associates the calculated value with the event type, and stores it in the event arrival rate table storage unit 260.
  • the arrival rate calculation unit 102 performs such processing for all events existing in the event history DB storage unit 130 (step A210 in FIG. 4A).
  • FIG. 19 is a diagram illustrating an example of a reference table indicating the relationship between the event type and the arrival rate, which is stored in the event arrival rate table storage unit 260 according to the second embodiment of the present invention.
  • the event arrival rate table associates the event type with the calculated arrival rate.
  • the event having the QueryError type is 3 hours and 20 minutes from the time “2011/11/23 10:00: 00” to the time “2011/11/23 13:20”, that is, 12,000 seconds.
  • the occurrence probability calculation unit 103 calculates the event occurrence probability at a fixed time interval W [sec] for each event as follows with reference to the event arrival rate table storage unit 260, and the calculated value Is stored in the occurrence probability table storage unit 280 (step A220).
  • the occurrence probability calculation unit 103 determines the probability that a QueryError type event will occur according to Equation 4, Pr (
  • the occurrence probability calculation unit 103 associates the calculated value with its event type, and stores them in the occurrence probability table storage unit 280.
  • FIG. 16 is a diagram illustrating an example of a reference table indicating the relationship between event types and occurrence probabilities stored in the occurrence probability table storage unit 280 according to the second embodiment of the present invention.
  • the event type window dividing unit 210 divides the time at a constant time interval W [sec]. Here, each divided time is called a window.
  • the event type window dividing unit 210 searches the event history DB storage unit 130 for an event that has occurred in the window.
  • the event type window dividing unit 210 associates the event type of the event with the window and stores it in the event type window table storage unit 220 (step A110 in FIG. 4A).
  • the rule generation unit 230 operates as follows. After step A220 and step A110 are completed, the rule generation unit 230 sets the initial event combination to 2 (step B120). Next, the combination generation unit 410 refers to the value of the event type window table storage unit 220 and generates event combinations for the number of event combinations set by the rule generation unit 230 (step B130). That is, in the initial stage, the combination generation unit 410 combines two types of events.
  • the combination generation unit 410 generates the following six types of event combinations.
  • the minimum support degree calculation unit 430 refers to a table in the occurrence probability table storage unit 280 and a value existing in the assumed false detection rate storage unit 120 for each event combination, and a processing method as exemplified below Accordingly, the minimum support level storage unit 440 is calculated (step B140).
  • the minimum support level calculation unit 430 performs processing as follows. However, in this example, it is assumed that the assumed erroneous detection rate storage unit 120 stores a value of 0.1. Hereinafter, the operation of the minimum support level calculation unit 430 will be described by taking as an example the case of calculating the minimum support level in an event type combination of an event having a QueryError type and an event having a DBError type.
  • the minimum support level calculation unit 430 performs the calculation assuming that an event having the QueryError type and an event having the DBError type occur probabilistically independently. That is, the minimum support level calculation unit 430 calculates the probability that the above events occur simultaneously in the window at a constant time interval W [sec] according to the following process.
  • the minimum support degree calculation unit 430 calculates min ⁇ s
  • the calculated value is set as the minimum support level.
  • X in the above equation is a random variable representing the number of windows in which QueryError and DBError occur simultaneously. Further, the above equation means that the minimum s satisfying Pr (X> Nws
  • the combination selection unit 450 compares the calculated support level SR of each event combination with the minimum support level value associated with the combination. Thereafter, the combination selection unit 450 leaves only event combinations having a large support level SR calculated from the minimum support level value (step B150).
  • FIG. 17 shows an example of a table that associates the combination of the two types of events as described above, the support SR calculated by the combination, and the minimum support.
  • the table of FIG. 17 represents the support level SR calculated for the above six event type combinations.
  • the rule generation unit 230 recognizes that there is an event type combination having a support level SR larger than the minimum support level value.
  • the event type combinations having a greater support level SR calculated than the minimum support level value are only combinations of the QueryError type and the TooMany Request type.
  • the values of the support level SR in the other event type combinations are all smaller than the value of the minimum support level. Therefore, the combination selection unit 450 extracts an event type combination in which the QueryError type and the TooManyRequest type are combined.
  • the rule generation unit 230 increases the length of the event type combination by 1 (step B170). That is, in this example, since the length of the event type combination is 3, the combination generation unit 410 creates three event combinations according to 3 set by the rule generation unit 230, and the result is the event combination storage unit. Save to 420. In this example, the event combination storage unit 420 creates the following event type combinations for the event type combinations as described above.
  • the minimum support level calculation unit 430 calculates a minimum support level for each of these two types of event combinations according to the method described above (step B149).
  • the combination selection unit 450 calculates the support level SR of the event type combination, and compares the calculated value of the support level SR with the value existing in the minimum support level storage unit 440. As described above, the combination selection unit 450 leaves only the event type combinations having a greater support level SR calculated from the minimum support level value (step B150).
  • an event type combination of an event having a QueryError type and an event having a TooMany Request type, in which the calculated support level SR has finally exceeded the minimum support level, is processed in the dependency rule generation unit 460. Become a target.
  • the dependency rule generation unit 460 reads the values “QueryError” and “TooManRequest” by referring to the values existing in the event combination storage unit 420. Next, the dependency rule generation unit 460 performs the following process to generate a dependency rule (step B210).
  • the combination selection unit 450 leaves the event type combination of the event having the QueryError type and the event having the TooManyRequest type, and the dependency rules are of the following two types.
  • the minimum reliability calculation unit 480 calculates the minimum reliability by performing the following processing while referring to the value in the occurrence probability table storage unit 280 and the value in the assumed false detection rate storage unit 120. The calculated value is stored in the minimum reliability storage unit 490 (step B220).
  • the number of times an event having a QueryError type occurs is 32 times. Further, it is assumed that the number of windows in which an event having a QueryError type and an event having a TooManyRequest type are generated is 21 times.
  • the minimum reliability calculation unit 480 calculates Pr (TooManRequest
  • the dependency rule selection unit 510 calculates the reliability TR for each dependency rule. Thereafter, the dependency rule selection unit 510 compares the calculated reliability TR value with the value associated with the dependency rule in the minimum reliability storage unit 490. Based on the comparison result, the dependency rule selection unit 510 leaves only the dependency rule having a high reliability TR calculated from the minimum reliability value (step B230).
  • FIG. 18 is a diagram illustrating an example of the minimum reliability and the reliability TR in the second embodiment of the present invention.
  • the leftmost column in FIG. 18 represents A in the dependency rule “A ⁇ B”, and the uppermost row in FIG. 18 represents B in the dependency rule “A ⁇ B”.
  • the numerical value in the region where the row indicating A and the column indicating B intersect represents the reliability TR value of the calculated dependency rule “A ⁇ B”.
  • the reliability TR of the dependency rule “QueryError ⁇ TooManRequest” is 0.65625
  • the reliability TR of the dependency rule “TooManRequest ⁇ QueryError” is 0.84.
  • the dependency rule selection unit 510 sets both of the two dependency rules as event correlation rules according to the result of the comparison as described above.
  • the dependency rule selection unit 510 stores the two dependency rules in the event correlation rule storage unit 170 (step B240).
  • FIG. 9 is a flowchart relating to event correlation detection processing according to the second embodiment of the present invention. Next, the event correlation detection process will be described using a specific example with reference to FIG.
  • the window dividing unit 140 receives an event generated by an event generation source (for example, the event generation source 110 in FIG. 21). Next, the window dividing unit 140 classifies the events at regular time intervals W according to the time of occurrence. Then, the window dividing unit 140 associates the divided window with an event that has occurred in the window, and records the result in the event type window table storage unit 220 (step E110).
  • an event generation source for example, the event generation source 110 in FIG. 21.
  • the window dividing unit 140 classifies the events at regular time intervals W according to the time of occurrence. Then, the window dividing unit 140 associates the divided window with an event that has occurred in the window, and records the result in the event type window table storage unit 220 (step E110).
  • FIG. 24 is a diagram showing a specific example of the event window table.
  • the false detection rate can be suppressed to an acceptable level.
  • FIG. 20 is a block diagram schematically showing a hardware configuration of a calculation processing device capable of realizing the event correlation detection system according to each embodiment of the present invention.
  • an event correlation detection system may be realized using at least two types of calculation processing devices physically or functionally.
  • the event correlation detection system may be realized as a dedicated device.
  • FIG. 20 is a diagram schematically showing a hardware configuration of a calculation processing apparatus capable of realizing the event correlation detection system according to the first or second embodiment.
  • the calculation processing device 2306 includes a CPU (Central Processing Unit) 2301, a memory 2302, a disk 2303, an output device 2304, an input device 2305, and a nonvolatile recording medium 2307 (hereinafter also referred to as “recording medium”).
  • CPU Central Processing Unit
  • the non-volatile recording medium 2307 can be read by a computer, such as a compact disc (Compact Disc), a digital versatile disc (Digital Versatile Disc), a Blu-ray Disc (Blu-ray Disc), a universal serial bus memory (USB memory), and the like. It points to the program and keeps it portable even without power.
  • the nonvolatile recording medium 2307 is not limited to the above-described medium. Further, the program may be carried via a communication network instead of the non-volatile recording medium 2307.
  • the distribution probability inverse calculation unit 730 copies a software program (computer program) stored in the disk 2303 to the memory 2302 at the time of execution, and executes arithmetic processing.
  • the distribution probability inverse calculation unit 730 reads data necessary for program execution from the memory 2302. When display is necessary, the distribution probability inverse calculation unit 730 displays the output result on the output device 2304. When a program is input from the outside, the distribution probability inverse calculation unit 730 reads the program from the input device 2305.
  • the distribution probability inverse calculation unit 730 interprets and executes the event correlation detection program stored in the memory 2302.
  • the distribution probability inverse calculation unit 730 sequentially performs processes according to the flowcharts (FIGS. 2, 4A, 4B, 9, 11, and 13) and expressions referred to in the above-described embodiments.
  • the present invention can also be realized by such an event correlation detection program. Furthermore, it can be understood that the present invention can also be realized by a computer-readable recording medium in which the event correlation detection program is recorded.
  • an arrival rate calculation unit that calculates an arrival rate at which the event type arrives at a predetermined time interval
  • an occurrence probability calculation unit that calculates a first probability that the event type occurs based on the arrival rate and the predetermined time interval
  • a threshold calculation unit that calculates a second probability that the plurality of event types occur based on the first probability, and calculates a minimum support for the event type combination and a minimum reliability for the dependency rule based on the second probability
  • An event correlation detection system comprising: an event correlation rule engine that detects correlation between the plurality of event types according to the minimum support level and the minimum reliability level.
  • Appendix 2 Further comprising a window dividing unit that classifies the event types for each predetermined time interval, associates each predetermined time interval with the classified set of event types, and generates a window;
  • the event correlation detection system according to attachment 1 wherein the arrival rate calculation unit performs calculation according to the window.
  • a combination generation unit that generates a first combination by combining the plurality of event types existing in the window and collecting the sets;
  • a support level that is a ratio of the number of the windows in which all event types existing in the set included in the first combination appear and the number of all the windows is calculated, and the support level is calculated from the first combination.
  • a combination selection unit that selects the specific combination having a value larger than the minimum support as a second combination;
  • a dependency rule generating unit that generates a dependency rule that assumes one event type as a result and a remaining event type as a precondition among the event types in the pair existing in the second combination;
  • a dependency rule selection unit that calculates a reliability that is a ratio of the number of windows in which the event type appears in the dependency rule appears and the number of windows in which the precondition appears.
  • the event correlation detection system according to supplementary note 2, wherein the event correlation rule engine unit detects a correlation between the event types based on the magnitude of the reliability and the minimum reliability.
  • the combination generation unit sets the number of combinations to 2, The combination generation unit performs a first process of creating the set by combining the event types for the number of combinations.
  • the event correlation rule engine unit performs a second process of holding the second combination as a third combination when it is determined that there is a set having the reliability higher than the minimum reliability. Later Performing a third process of increasing the number of combinations by one;
  • the event correlation rule engine unit sequentially repeats the first process to the third process until it is determined that there is no set whose reliability is greater than the minimum reliability.
  • the event correlation rule engine unit determines that there is no group having the reliability higher than the minimum reliability, the event correlation rule engine unit last holds the specific The event correlation detection system according to appendix 3, which outputs three combinations.
  • the threshold calculation unit includes: A probability distribution calculation unit that calculates the second probability based on the first probability and generates a probability distribution G (i) by combining the calculated values; In the probability distribution G (i) (where i is a natural number), the sum of G (i) when the value of i is equal to or greater than a specific value is calculated, and the product of the calculated sum and the total number of windows is a predetermined assumption error.
  • the event correlation detection system according to appendix 2, further comprising: a distribution probability calculation unit that outputs the minimum specific value in a range that is equal to or lower than a detection rate.
  • the threshold calculation unit includes: Pr (
  • W) representing the first probability is calculated
  • the second probability is calculated based on the first probability
  • the threshold calculation unit includes: Pr (R
  • W) Pr (
  • the threshold value calculation unit calculates the probability distribution according to a binomial distribution calculation process of the number of time intervals and the first probability existing in the window, and calculates the minimum support based on the probability distribution.
  • the event correlation detection system according to attachment 5.
  • the threshold calculation unit calculates the probability distribution according to a binomial distribution calculation process of the number of time intervals and the first probability existing in the window, and calculates the minimum reliability based on the probability distribution.
  • the event correlation detection system according to attachment 5.
  • the threshold calculation unit includes: ( ⁇ i> s_Nw ⁇ G (i)) ⁇ p0, (Where Nw is the number of all the windows, G (i) is the probability distribution calculated based on ⁇ E, ( ⁇ i> s_Nw ⁇ G (i)) is the sum of Nw ⁇ G (i) for i greater than t, p0 is the assumed false detection rate, i is a natural number),
  • the event correlation detection system according to supplementary note 5, wherein a minimum s satisfying the above is calculated and the calculated value is the minimum support level.
  • the threshold calculation unit includes: ( ⁇ i> t_Nw ⁇ dR (Nw, W, R) (i)) ⁇ p0 (Where Nw is the number of all the windows, dR (Nw, W, R) (i) is the probability distribution calculated based on the dependency rule R; ( ⁇ i> t_Nw ⁇ dR (Nw, W, R) (i)) is the sum of Nw ⁇ dR (Nw, W, R) (i) for i larger than t, p0 is the assumed false detection rate, i is a natural number),
  • the event correlation detection system according to appendix 5, wherein the minimum t satisfying the above is calculated and the calculated value is the minimum reliability.

Abstract

 許容可能な程度に誤検出率に抑えるように、最小支持度と最小信頼度を自動設定できるイベント相関検出システム等を提供する。 イベント相関検出システム101は、到着率を算出する到着率計算部102と、第1確率を算出する発生確率計算部103と、最小支持度及び依存ルールに対する最小信頼度を算出する閾値計算部104と、複数のイベント型間における相関を検出するイベント相関用ルールエンジン部160とを備える。

Description

[規則37.2に基づきISAが決定した発明の名称] イベント相関検出システム
 本発明は、イベントの相関を検出する情報処理の技術分野に関する。
 図21は、一般的なイベント相関検出システムの構成を表すブロック図である。図21を参照すると、このイベント相関検出システムは、イベント発生源110と、ウィンドウ分割部1001と、イベント型ウィンドウ表記憶部1002と、イベント相関用ルールエンジン部1003と、Graphical User Interface(以降、「GUI」と略記する)115と、イベント履歴Database(以降、Databaseを「DB」と略記する)記憶部1004と、イベント型ウィンドウ分割部1005と、イベント型ウィンドウ表記憶部1006と、規則生成部930と、イベント相関規則記憶部1008等とを有する。
 特許文献1は、図21が表すイベント相関検出システムにおける規則生成手法の一例を開示する。図22は、図21に例示するイベント相関検出システムにおける規則生成手法の一例を表す図である。図22を参照すると、規則生成手法は、マイニングカーネルインタフェース機能26と、マイニングカーネル機能16と、マイニングカーネルの実行結果を記録するマイニング結果記録機能28等を備える。
 次に、上記のような規則生成手法を備えるイベント相関規則生成システムが行う処理について説明する。
 イベント履歴DB記憶部1004は、イベント発生源110が発生したイベントに関する履歴を記憶する。図26は、イベント履歴DBが有する情報を概念的に例示する図である。イベント履歴DB記憶部1004は、イベントを識別する識別子(以降、「ID」と略記する)(E#)と、イベントが発生した時刻(図26に示す項目「Time」)及びイベント型等に関する属性とを関連付けて記憶する。
 イベント型ウィンドウ分割部1005は、イベント履歴DB記憶部1004に記録された時刻を時間間隔W[sec]刻みに区切る。その結果、イベント型ウィンドウ分割部1005は、イベントが発生した時刻に応じて、そのイベントをイベントの集合(以降、「イベント型ウィンドウ」と記す)に分類する。図23は、イベントの発生をイベント型ウィンドウに分類した状態を概念的に例示する図である。図23における横軸は、時刻の経過を示し、右に行くに従い、時刻が進むことを示す。図23における三角形は、イベントが発生したことを示す。図23に示す通り、イベントは、断続的に発生する。イベント型ウィンドウ分割部1005が分類したイベントは、図24に例示すような、イベントウィンドウ表に保存される。図24は、イベントウィンドウ表の具体例を示す図である。イベントウィンドウ表は、ウィンドウのID(W#)に関連する時間に発生した、少なくとも1つ以上のイベントのID(E#)について、W#とE#とを関連付けて記憶する。
 図25は、イベント型ウィンドウ表のイメージの一例を示す図である。そのイベント型ウィンドウ表は、イベント型ウィンドウのID(W#)と、そのイベント型ウィンドウに属するイベントが持つイベント型とを関連付けて記憶する。規則生成部930は、運用者がGUI115を介して与えた所定の閾値を参照しつつ、イベント相関規則を生成する。
 イベント発生源110は、イベントを発生する。ウィンドウ分割部1001は、一定時間間隔W[sec]に発生するイベントを、イベント型ウィンドウ表記憶部1002に保存する。イベント型ウィンドウ表記憶部1002は、さらに、W#と、W#に発生したイベントが持つイベント型とを関連付けて記憶する。
 イベント相関用ルールエンジン部1003は、イベント相関規則記憶部1008を参照しつつ、下記のような処理に従い、相関性のあるイベントをGUI115に表示する。例えば、イベント型Aを持つイベント及びイベント型Bを持つイベントが発生する場合に、イベント型Cを持つイベントが発生するという規則は、イベント相関規則「A,B⇒C」という形で表現される。
 あるイベント型ウィンドウW1の期間中に、イベント型Cを持つイベントE3が発生するとする。イベント型ウィンドウW1の期間中において、そのイベントE3が発生する直前に、イベント型Aを持つイベントE1、及びイベント型Bを持つイベントE2が存在していたとする。
 このとき、イベント相関用ルールエンジン部1003は、イベントE1とイベントE2が発生すれば、イベントE3が発生すると判定する。その結果、イベント相関用ルールエンジン部1003は、イベントとそのイベントが持つイベント型を関連付け、イベント相関規則「A,B⇒C」を作成する。
 マイニングカーネル機能16は、以下のような処理に従って、イベント相関規則を作成する。まず、マイニングカーネルインタフェース機能26は、判定の基準となる、所定の最小支持度(もしくは、最低サポート率)と、所定の最小信頼度(もしくは、最低信頼度)とに関する情報を有する。
 マイニングカーネル機能16は、データアクセスプログラム、あるいは、ユーティリティを使い、過去に起きたイベントに関する履歴を読み取り、読み取った結果に基づき、イベント間の関係を解析する。次に、マイニングカーネル機能16は、その解析により作成した相関ルールを、マイニング結果記録機能28に記録する。
 ここで、kは、マイニングカーネル機能16が保持するイベントの組み合わせの種類数を表す。マイニングカーネル機能16は、k=2からkを1ずつ増やしながら、以下の式に従って、支持度(もしくは、サポート率)(以降、「支持度SR」と表記する)を算出する。
   支持度SR=k÷Nw、
   (ただし、k種類イベント型を持つイベントの組み合わせが、全イベント型ウィンドウ中、Nw個のウィンドウに現れるとする)。
 マイニングカーネル機能16は、すべてのイベント型ウィンドウにおける支持度SRが、所定の最小支持度未満になるまで、kを1ずつ増やしながら、上記支持度SRの計算を繰り返し行う。ここで、マイニングカーネル機能16が、上記のような計算を終了した組み合わせ数を、hで表す。マイニングカーネル機能16は、(h-1)個の時点において、所定の最小支持度以上である支持度SRを有するイベント型を持つイベントの組み合わせを提示する。
 次に、マイニングカーネル機能16は、上述したように提示したイベント型の組み合わせに存在するイベントを取り出す。次に、マイニングカーネル機能16は、取り出したイベントが発生することについて相関があるかを、以下の処理に従い算出する。仮に、提示されたイベント型の組み合わせは、{A,B,C,D}であるとする。マイニングカーネル機能16は、その中から、一つのイベント型を取り出し(「D」で表す)、以下の計算式で定義する信頼度(以降、「信頼度TR」と表記する)の値に応じて、Dの発生がA,B、あるいは、Cの発生に相関するか否かを調べる。
   信頼度TR=「{A,B,C,D}が発生するイベント型ウィンドウの数」÷「{A,B,C}が発生するイベント型ウィンドウの数」
 マイニングカーネル機能は、上記のように計算した信頼度TRが、所定の最小信頼度以上ならば「A,B,C⇒D」をイベント相関規則とする。
特許3195233号公報
 特許文献1における課題は、所定の最小支持度と、所定の最小信頼度とを、適切に決めることが難しいということである。マイニングカーネル機能16は、所定の最小支持度の値や所定の最小信頼度の値が不適切であると、本来、相関してないイベント型同士が相関するという、誤った結果を検出してしまう。これまでは、最小支持度や最小信頼度は、許容可能な誤検出率になるように、試行錯誤しながら求められている。
 本発明の主たる目的は、許容可能な程度に誤検出率に抑えるように、最小支持度と最小信頼度を自動設定できるイベント相関検出システム等を提供することである。
 前述の目的を達成するために、本発明に係るイベント相関検出システムは、以下の構成を備えることを特徴とする。
 即ち、本発明に係るイベント相関検出システムは、
 複数のイベント型を対象として、
 前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を算出する到着率計算部と、
 前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を算出する発生確率計算部と、
 前記第1確率に基づいて、前記複数のイベント型が同時に発生する第2確率を計算し、前記第2確率に基づいてイベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を算出する閾値計算部と、
 前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出するイベント相関用ルールエンジン部とを
備えることを特徴とする。
 また、本発明の他の見地として、本発明に係るイベント相関検出方法は、
 複数のイベント型を対象として、
 前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を計算し、
 前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を計算し、
 前記第1確率に基づいて、前記複数のイベント型が同時に発生する第2確率を計算し、前記第2確率に基づいてイベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を計算し、
 前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出することを特徴とする。
 また、同目的は、上記構成を有するイベント相関検出装置を、並びに対応する方法を、コンピュータを使って実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが保存されている、コンピュータ読み取り可能な記憶媒体を使っても達成される。
 本発明に係るイベント相関検出システムによれば、許容可能な程度に誤検出率に抑えることができる。
本発明の第1の実施形態に係るイベント相関検出システムが有する構成を示すブロック図である。 本発明の第1の実施形態に係るイベント相関検出システムが実行する処理の手順を示すフローチャートを表す。 本発明の第2の実施形態に係るイベント相関検出システムが有する構成を表すブロック図である。 本発明の第2の実施形態に係るイベント相関検出システムが実行する処理の手順を示すフローチャートである。 本発明の第2の実施形態に係るイベント相関検出システムが実行する処理の手順を示すフローチャートである。 本発明の第2の実施形態における規則生成部が有する構成を表すブロック図である。 本発明の第2の実施形態におけるルール候補記憶部が有する構成を表すブロック図である。 本発明の第2の実施形態における閾値計算部が有する構成を表すブロック図である。 本発明の第2の実施形態における閾値記憶部が有する構成を表すブロック図である。 本発明の第2の実施形態におけるイベント相関検出処理に関するフローチャートである。 本発明の第2の実施形態における最小信頼度計算部が有する構成を表すブロック図である。 本発明の第2の実施形態における最小信頼度計算部が行う処理に関するフローチャートである。 本発明の第2の実施形態における最小支持度計算部が有する構成を示すブロック図である。 本発明の第2の実施形態における最小支持度計算部が行う処理に関するフローチャートである。 本発明の第2の実施形態における確率分布記憶部620が記憶する値の特性を説明する図である。 本発明の第2の実施形態における確率分布記憶部720が記憶する値の特性を説明する図である。 本発明の第2の実施形態における発生確率表記憶部が記憶する、イベント型と発生確率との関連を示す参照テーブルの一例を示す図である。 本発明の第2の実施形態における最小支持度と支持度との関係を示す参照テーブルの一例を示す図である。 本発明の第2の実施形態における最小信頼度と信頼度との関係を示す参照テーブルの一例を示す図である。 本発明の第2の実施形態におけるイベント到着率表記憶部が記憶する、イベント型と到着率との関連を示す参照テーブルの一例を示す図である。 実施形態に係るイベント相関検出システムを実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。 一般的なイベント相関検出システムの構成を表すブロック図である。 イベント相関検出システムにおける規則生成手法の一例を表す図である。 イベントの発生をイベント型ウィンドウに分類した状態を概念的に例示する図である。 イベントウィンドウ表の具体例を示す図である。 イベント型ウィンドウ表に関するイメージの一例を示す図である。 イベント履歴DBに記憶された情報を概念的に例示する図である。
 次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
 <第1の実施形態>
 図1は、本発明の第1の実施形態に係るイベント相関検出システム101が有する構成を示すブロック図である。図1を参照すると、第1の実施形態に係るイベント相関検出システム101は、到着率計算部102と、発生確率計算部103と、閾値計算部104と、イベント相関用ルールエンジン部160とを有する。
 到着率計算部102は、イベントごとに単位時間当たりの到着件数(以降、この値を「到着率」と表す)を算出する。次に、発生確率計算部103は、到着率計算部102が算出した到着率に応じて、一定時間間隔W[sec(秒)](以降、「所定の時間間隔」としても表す)において、あるイベント型を持つイベントEが発生する確率P(E|W)と、背景技術で説明したような支持度SRと信頼度TRとを算出する。
 次に、閾値計算部104は、確率P(E|W)に基づいて、ルール候補に含まれる全てのイベントが発生する確率を算出する。次に、閾値計算部104は、上記で算出した確率と上記支持度SR、あるいは、算出した確率と上記信頼度TRに基づき、2種類の確率分布を算出する。次に、閾値計算部104は、上述した2種類の確率分布において誤検出率に対応する領域の面積が、想定誤検出率以下となるような閾値をそれぞれ算出し、その算出した閾値を、それぞれ最小支持度、あるいは、最小信頼度とする。
 次に、図2に示すフローチャートを参照しながら、実施形態に係るイベント相関検出システム101が、イベント相関規則を生成する動作について説明する。図2は、本発明の第1の実施形態に係るイベント相関検出システム101が、実行する処理の手順を示すフローチャートを示す。
 まず、到着率計算部102は、イベントが発生した履歴に基づいて、イベントごとに到着率を算出する(ステップA10)。次に、発生確率計算部103は、到着率計算部102が算出したイベントごとの到着率に基づいて、イベントが発生する確率(ステップA20)と、背景技術で説明したような支持度SRと信頼度TRとを算出する(ステップA30)。
 次に、閾値計算部104は、上記で算出した確率と上記支持度SRとに基づき、あるいは、算出した確率と上記信頼度TRとに基づき、2種類の確率分布を算出する(ステップA40)。次に、閾値計算部104は、上述した2種類の確率分布において誤検出率に対応する領域の面積が、想定誤検出率以下となるような閾値をそれぞれ算出し、算出した閾値を、それぞれ最小支持度、あるいは、最小信頼度とする(ステップA50)。
 次に、イベント相関用ルールエンジン部160は、閾値計算部104が算出した最小支持度の値、あるいは、最小信頼度の値に応じて、上述したイベント型間における相関を検出する(ステップA60)。本発明の第1の実施形態に係るイベント相関検出システム101は、上述したように、想定誤検出率以下になるような閾値を算出し、算出した値を最小支持度、あるいは、最小信頼度とする。
 即ち、本発明の第1の実施形態によれば、許容可能な程度に誤検出率に抑えることができる。
 <第2の実施形態>
 次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
 以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
 図3は、本発明の第2の実施形態に係るイベント相関検出システム105の構成を表すブロック図である。
 図3を参照すると、イベント相関検出システム105は、一定時間間隔W[sec]ごとにイベントを分類するウィンドウ分割部140と、イベント型ウィンドウに関連する情報を保存するイベント型ウィンドウ表記憶部220とを有する。さらに、イベント相関検出システム105は、イベント相関規則記憶部170に存在する値に基づき相関のあるイベントを検出するイベント相関用ルールエンジン部160を有する。
 さらに、イベント相関検出システム105は、イベント履歴DB記憶部130の値からイベントごとの到着率を算出する到着率計算部102と、イベント到着率から一定時間間隔W[sec]において、あるイベント型を持つイベントが発生する確率を算出する発生確率計算部103とを有する。
 さらに、イベント相関検出システム105は、イベント履歴DB記憶部130におけるイベントの発生時刻に応じて、一定時間間隔W[sec]ごとにイベント型を区分するイベント型ウィンドウ分割部210と、イベント相関規則を生成する規則生成部230とを有する。規則生成部230は、イベント型ウィンドウ表記憶部220が記憶するイベント型ウィンドウを参照することにより、ルール候補として同時発生率の高いイベント群を生成する。次に、規則生成部230は、その結果をルール候補記憶部240に記憶する。次に、規則生成部230は、ルール候補記憶部240が記憶する値と、閾値記憶部310が記憶する閾値とを使って、イベント相関規則を生成する。
 図5は、本発明の第2の実施形態における規則生成部230が有する構成を表すブロック図である。図5に示すように、規則生成部230は、組み合わせ生成部410と、組み合わせ選抜部450と、依存ルール生成部460と、依存ルール選抜部510とを有する。
 図6は、本発明の第2の実施形態におけるルール候補記憶部240が有する構成を表すブロック図である。図6に示すように、ルール候補記憶部240は、イベント組み合わせ記憶部420と、依存ルール記憶部470とを有する。
 図7は、本発明の第2の実施形態における閾値計算部104が有する構成を表すブロック図である。図7に示すように、閾値計算部104は、最小支持度計算部430と、最小信頼度計算部480とを有する。
 図8は、本発明の第2の実施形態における閾値記憶部310が有する構成を表すブロック図である。図8に示すように、閾値記憶部310は、最小支持度記憶部440と、最小信頼度記憶部490とを有する。
 図10は、本発明の第2の実施形態における最小信頼度計算部480が有する構成を表すブロック図である。図10を参照すると、最小信頼度計算部480は、確率分布計算部710と、確率分布記憶部720と、分布確率逆計算部730とを有する。図12は、本発明の第2の実施形態における最小支持度計算部430の構成を示すブロック図である。図12を参照すると、最小支持度計算部430は、確率分布計算部610と、確率分布記憶部620と、分布確率逆計算部630とを有する。これらの各部が行う処理については、フローチャートの説明とともに後述する。
 イベント発生源(図21におけるイベント発生源110)は、イベントを発生する。本実施形態に係る説明においては、イベントは、ポアソン分布に従い発生すると仮定する。
 イベント発生源の一例として、データセンタを挙げることができる。データセンタは、多数のサーバや、ネットワーク機器、ストレージなどを有する。データセンタにおける多数のサーバは、通常、お互いに独立して、イベントを発生する。データセンタにおけるサーバのように、多数の機器が独立してイベントを発生する場合、全体のイベントは、ポアソン分布に従って発生すると仮定することができる。仮に、イベント発生源がデータセンタであるとすると、このシステムの利用者は、データセンタ運用者である。
 GUI(例えば、後述するハードウェア構成(図20)における入力装置2305)は、利用者が許容可能な想定誤検出率を入力することが可能な、インターフェースである。また、GUI(例えば、後述するハードウェア構成(図20)における出力装置2304)は、イベント相関用ルールエンジン部160が検出した相関のあるイベントを、利用者に提示する処理も行う。
 想定誤検出率記憶部120は、利用者が許容可能な誤検出率を表す値を記憶する。誤検出率は、イベント相関規則記憶部170が記憶するイベント相関規則の中に、相関性を持たない規則が含まれる確率である。
 図3、図21、図26を参照しながら、実施形態に係るイベント相関検出システム105について説明を行う。図26は、イベント履歴DBが記憶する情報を概念的に例示する図である。図26におけるイベント履歴DBが記憶する情報は、本発明の第2の実施形態に係るイベント相関検出システム105でも利用する。図3は、本発明の第2の実施形態に係るイベント相関検出システム105の構成を表すブロック図である。イベント履歴DB記憶部130は、イベント発生源(図21におけるイベント発生源110)が過去に発生したイベントに関連する履歴を記憶する。イベント履歴DB記憶部130が記憶するイベント履歴DBは、イベントの発生時刻と、イベント型などを関連付けて記憶する。イベント履歴DB記憶部130は、上記に例示したパラメタ以外の値と関連付けして、記憶してもよい。
 ウィンドウ分割部140は、イベント発生源(図21におけるイベント発生源110)から発生したイベントを、イベント型ウィンドウに分類する。次に、ウィンドウ分割部140は、イベント型ウィンドウ表記憶部220に、分類したイベント型ウィンドウに関連する情報を記録する。図24は、イベントウィンドウ表の具体例を示す図である。イベントウィンドウ表は、関連するイベント相関検出システムが記憶する表であるとともに、本発明の第2の実施形態におけるイベント相関検出システムが記憶する表でもある。
 次に、イベント相関用ルールエンジン部160は、イベント相関規則記憶部170が記憶する値に従い、イベント型ウィンドウ表記憶部220に記録されたイベントの間において発生に相関があるイベントを選び出す。例えば、イベント型Aを持つイベント及びイベント型Bを持つイベントが発生するのに応じて、イベント型Cを持つイベントが発生するということを表す、イベント相関規則「A,B⇒C」があるとする。あるイベント型ウィンドウW1の中に、イベント型Cを持つイベントE3が発生するとする。
 イベント型ウィンドウW1内において、イベントE3が発生する直前に、イベント型Aを持つイベントE1、及びイベント型Bを持つイベントE2が発生するとする。このとき、イベント相関用ルールエンジン部160は、上記のイベント生成規則に従い、イベントE1、イベントE2、イベントE3の発生に相関があると判定する。
 イベント相関規則記憶部170は、少なくとも1つ以上のイベント型を持つイベントから構成される前提条件と、あるイベント型を持つイベントから構成される帰結とを関連付けて記憶する。例えば、A、B、Cがそれぞれイベント型を表す場合、イベント相関規則「A,B⇒C」は、「イベント型Aを持つイベント及びイベントB型を持つイベントが発生するのに応じて、イベント型Cを持つイベントが発生する」という相関を表す。イベント相関規則が「A,B⇒C」である場合に、「前提条件」は、「⇒」の左に存在する「A,B」を表し、「帰結」は、「⇒」の右に存在する「C」を表す。
 イベント型ウィンドウ分割部210は、イベント履歴DB記憶部130が記憶するイベントをイベント型ウィンドウの単位で分類する。次に、イベント型ウィンドウ分割部210は、イベント型ウィンドウにおいて発生するイベントに関するイベント型と、そのイベント型ウィンドウを表す識別子(以降、「ID」と略記する)とを関連付けし、その結果をイベント型ウィンドウ表記憶部220に保存する。
 イベント型ウィンドウ表記憶部220は、イベント型ウィンドウごとにそのイベント型を保存する。図25は、イベント型ウィンドウ表に関するイメージの一例を示す図である。例えば、イベント型ウィンドウ表は、イベント型ウィンドウに関するID(W#)と、イベント型ウィンドウに存在するイベントが持つイベント型の集合等とを関連付けする。イベント型ウィンドウ表は、関連するイベント相関検出システムが有する情報であるとともに、本発明の第2の実施形態におけるイベント相関検出システムが有する情報でもある。
 規則生成部230は、閾値を参照しつつイベント相関規則を生成し、その結果をイベント相関規則記憶部170に記憶する。以下では、一例を題材にしながら、規則生成部230の構成などについて説明を行う。
 図5に示すように、規則生成部230は、組み合わせ生成部410と、組み合わせ選抜部450と、依存ルール生成部460と、依存ルール選抜部510とを有する。
 ここで、イベント型ウィンドウにおけるイベント型に、AとBとCとDとEとが存在していたと仮定する。また、組み合わせ選抜部450は、イベント組み合わせ記憶部420が記憶するイベント型組み合わせの中から、{A,B}を選んだとする。組み合わせ生成部410は、組み合わせ選抜部450が選んだイベント型組み合わせ{A,B}に関して、イベント型ウィンドウ内にあるイベント型を一つ加えて、新たなイベント型組み合わせを生成する。この例の場合、組み合わせ生成部410は、イベント型組み合わせ{A,B,C},{A,B,D},{A,B,E}を作成し、該組み合わせをイベント組み合わせ記憶部420に出力する。
 組み合わせ選抜部450は、イベント組み合わせ記憶部420が記憶するイベント組み合わせの中から、計算した支持度SRが、最小支持度記憶部440が記憶する最小支持度以上の値に関連するイベント組み合わせを選び出す。
 組み合わせ選抜部450は、イベント型の組み合わせA,B,・・・の支持度s(A,B,・・・)を、式1に従って算出する。
   s(A,B,・・・)=(組み合わせA,B,・・・を含むイベント型ウィンドウ数)÷(全イベント型ウィンドウ数)・・・(式1)。
 依存ルール生成部460は、組み合わせ選抜部450が選択した少なくとも1つ以上のイベント組み合わせに対して、以下の処理に従って、依存ルールを生成する。例えば、組み合わせ選抜部450は、イベント型組み合わせ{A,B,C}を選んだとする。その場合、依存ルール生成部460は、そのイベント型組み合わせから、「A,B⇒C」,「B,C⇒A」,「C,A⇒B」を依存ルールとして生成し、該依存ルールを依存ルール記憶部470に保存する。
 依存ルール選抜部510は、依存ルール生成部460が生成した依存ルールの中から、その信頼度TRが最小信頼度以上の依存ルールを選抜する。依存ルール選抜部510は、選抜した依存ルールをイベント相関規則とし、その結果をイベント相関規則記憶部170に記憶する。ここで、組み合わせ選抜部450は、依存ルール「B,C⇒A」に関する信頼度t(B,C⇒A)を、式2に従って算出する。
   t(B,C⇒A)=(A,B,Cを含むイベント型ウィンドウ数)÷(B,Cを含むイベント型ウィンドウ数)・・・(式2)。
 図6に示すように、ルール候補記憶部240は、イベント組み合わせ記憶部420と、依存ルール記憶部470とを有する。ルール候補記憶部240は、規則生成部230が一時的に作成した作業データを記憶する。
 イベント組み合わせ記憶部420は、複数のイベント型を組み合わせた結果、得られるイベント型の組み合わせを記憶する。例えば、イベント組み合わせ記憶部420が記憶する値の一例として、上記の例の場合、係るイベント型の組み合わせとしては、例えば、{A,B,C},{A,B,D},{A,B,E}などが想定される。
 依存ルール記憶部470は、複数のイベント型を使って構成される「前提条件」と、イベント型を使って構成される「帰結」とを組み合わせた規則を記憶する。依存ルール記憶部470が記憶する規則は、イベント型間における相関を表す。例えば、A、B、Cは、イベント型を表すとする。その場合、イベント相関規則「A,B⇒C」は、「イベント型Aを持つイベント及びイベント型Bを持つイベントが発生するのに応じて、イベント型Cを持つイベントが発生する」、という相関を表す。
 到着率計算部102は、イベント履歴DB記憶部130が記憶するイベント履歴DBをもとに、イベント型ごと(ここでは、イベント型がEであったとする。)のイベント発生頻度(ここでは、上述に従い「λE」[/sec]とする)を算出する。例えば、時間間隔TにおいてイベントEがNE回発生する場合、到着率計算部102は、イベント発生頻度λEを、式3に示すような処理に従い算出する。
   λE=NE÷T・・・(式3)。
 図19は、本発明の第2の実施形態におけるイベント到着率表記憶部260が記憶する、イベント型と到着率との関連を示す参照テーブルの一例を示す図である。イベント到着率表記憶部260は、イベント型とそのイベント型が到着する到着率を関連付けて記憶する。
 発生確率計算部103は、一定時間間隔Wにて、イベントが一回以上発生するイベント型ごとに、以下の処理に従って、発生確率を算出する。ここで、イベント型Eであるイベントは、ポアソン分布に従い発生すると仮定する。その場合、発生確率計算部103は、一定時間間隔Wのイベント型ウィンドウにおいて、イベント型Eを持つイベントが1回以上発生する発生確率Pr(|E|>0|W)を、式4に示す処理に従い算出する。
   Pr(|E|>0|W)=1-exp(-λE×W)・・・(式4)、
  (ただし、|E|は、イベントEを持つイベントが発生する回数、
  λEは、上述したイベント発生頻度、
  exp()は、自然対数を底とする指数関数を表す)。
 発生確率表記憶部280は、式4のように発生確率計算部103が計算した値とイベント型とを関連付けて記憶する。図16は、本発明の第2の実施形態における発生確率表記憶部が記憶する、イベント型とその発生確率との関連を示す参照テーブルの一例を示す図である。
 発生確率表記憶部280は、イベント型と、式4のような式に従って算出した発生確率Pr(|E|>0|W)とを関連付けて記憶する。
 図7に示すように、閾値計算部104は、最小支持度計算部430と、最小信頼度計算部480とを有する。閾値計算部104は、以下のような処理に従い閾値を算出し、該閾値を閾値記憶部310に記憶する。その結果、閾値記憶部310が記憶する閾値に基づいて、閾値計算部104が処理を行う場合に、誤検出率は、想定誤検出率記憶部120が記憶する想定誤検出率以下になる。閾値計算部104は、そのために、最小支持度と最小信頼度を算出し、それらの算出値をそれぞれ最小支持度記憶部440と最小信頼度記憶部490とに記憶する。閾値計算部104は、以下のようなフローに従って、閾値を算出する。
 図12に示すように、最小支持度計算部430は、確率分布計算部610と、確率分布記憶部620と、分布確率逆計算部630とを有する。最小支持度計算部430は、以下のような処理に従って誤検出率を算出する。その結果、算出した誤検出率は、想定誤検出率記憶部120が記憶する想定誤検出率以下の数値になる。
 最小支持度計算部430における処理方法は、以下のような方法である。確率分布計算部610は、イベント組み合わせ記憶部420を参照し、該イベント組み合わせの中から特定のイベント型組み合わせCを取り出す。イベント型組み合わせCは、複数のイベント型を含む。次に、確率分布計算部610は、発生確率表記憶部280を参照することにより、該イベント型に関連付けられた発生確率を取り出す。確率分布計算部610は、上述した処理を、イベント型組み合わせCに含まれる全てのイベント型について行う。
 次に、確率分布計算部610は、イベント型組み合わせCに含まれるイベント型が互いに独立して発生するという仮定の下で、イベント型組み合わせCが発生する確率Pr(C|W)を、式5に示した処理に従い算出する。
   Pr(C|W)=ΠE∈C_Pr(|E|>0|W)・・・(式5)、
  (ただし、ΠE∈C_Pr(|E|>0|W)は、イベント型組み合わせCに属する任意のイベント型Eについて、Pr(|E|>0|W)を掛け合わせることを表す)。
 次に、確率分布計算部610は、Nw個のウィンドウのうちi個のウィンドウにおいて、イベント型組み合わせCが発生する確率G(i)を、式6に示された処理に従って算出する。
   G(i)= C(Nw,i) P(C|W)↑i×(1-P(C|W))↑(Nw-i)・・・(式6)、
  (ただし、C(Nw,i)は、Nw個からi個を取り出す場合の組み合わせ数、
  Nwは、イベント型ウィンドウ表における全ウィンドウ数、
  W↑iは、べき乗を表す。即ち、W↑iは、Wをi回掛け合わせること、
  iは、自然数を意味する)。
 G(i)は、二項分布B(Nw,Pr(C|W))に等しい。確率分布計算部610は、発生ウィンドウ数iと算出したG(i)とを関連付けして、その結果を確率分布記憶部620に記憶する。確率分布記憶部620は、上記ウィンドウ数iとG(i)の値とを、関連付けして記憶する。
 図14は、本発明の第2の実施形態における確率分布記憶部620が記憶する情報が有する特性を説明する図である。図14の横軸は、イベント組み合わせCが発生するウィンドウ数(発生回数)を表す。図14の縦軸は、確率分布記憶部620が記憶する確率分布において、上述した発生ウィンドウ数iに関連付けされた確率(確率密度)を表す。図14に実線で示す曲線は、イベント型を持つ各イベントが独立して発生すると仮定したときにおける、発生イベント型組み合わせが発生する確率を表す。図14に点線で示す曲線は、イベント型組み合わせにおける各イベントの発生が独立でない場合における発生確率を表す。
 図14を参照しながら、最小支持度計算部430における最小支持度sの算出方法について説明する。例えば、イベント型組み合わせCは、イベント型C1とイベント型C2とから構成されるとする。
 上記のように、確率分布計算部610は、イベント型C1を持つイベントと、イベント型C2を持つイベントとが独立して発生するという仮定において、イベント型組み合わせが発生する確率G(i)を算出する。図14における実線は、確率G(i)を表す。すなわち、図14における実線は、上記のような二項分布B(Nw,Pr(C|W))を表す。
 図14において、最小支持度をsと表したとき、縦軸に示す(s×Nw)より発生頻度が高い場合に、本実施形態に係る装置は、イベント型組み合わせにおける各イベントの発生が、お互いに依存性があると判定する。しかし、イベント型組み合わせにおける各イベントB、Cは、お互いに独立である。そのため、図14において、格子状に表した部分は、誤った結果を検出することを表す。
 想定誤検出率記憶部120が記憶する想定誤検出率をp0として表すと、分布確率逆計算部630は、式7を満たす最小のsを算出する。
   (Σi>s_Nw×G(i))<p0・・・(式7)、
  (ただし、(Σi>s_Nw×G(i))は、sよりも大きな値を持つiについて、Nw×G(i)の和をとること、
  iは、自然数を表す)。
 このsを算出する方法は、iの値を順次大きな値から代入していき、式7を満たさなくなる値を見つけてもよいし、解析的に計算してNewton法などの手法により計算してもよい。最小のsを算出する方法は、上記に例示した方法に限定されるものではない。
 図14に示す点線は、イベント型組み合わせにおける各イベントB、Cの発生が独立でない場合における確率分布を表す。図14における点線と、横軸に示す発生頻度が(s×Nw)を表す縦線の右側部分とに囲まれた領域は、本実施形態に係る装置が、イベント型組み合わせにおける各イベントB、Cの発生が独立でないと、正しく検出する部分である。一方、図14における点線と、横軸に示す発生頻度が(s×Nw)を表す縦線の左側部分とに囲まれた領域(図14に示す斜線部分)は、最小支持度以下である。そのため、本実施形態に係る装置は、この部分を選抜しない。
 即ち、本実施形態に係るイベント相関検出システムは、イベント型組み合わせにおける各イベントB、Cの発生が独立でないにもかかわらず、検出することができない。そのため、最小支持度計算部430は、式7を満たすようなsを算出することにより、最小支持度を算出する。その結果、本発明に係る本実施形態は、許容可能な程度に誤検出率に抑えることができる。
 最小信頼度計算部480は、以下に説明する処理に従って、最小信頼度を算出し、算出した値を最小信頼度記憶部490に記憶する。本実施形態において、係る処理が実施されると、誤検出率の値は、想定誤検出率記憶部120が記憶する想定誤検出率の値以下になる。
 即ち、図10に示すように、最小信頼度計算部480は、確率分布計算部710と、確率分布記憶部720と、分布確率逆計算部730とを有する。確率分布計算部710は、発生確率表記憶部280が関連付ける値と依存ルール記憶部470が記憶する依存ルールRとを参照する。次に、確率分布計算部710は、依存ルールRに含まれるイベント型を持つイベントが独立して発生すると仮定して、依存ルールが発生する確率Pr(R)を算出する。例えば、依存ルールRが「B,C,…⇒A」という依存ルールである場合、確率分布計算部710は、式8に示す処理に従って、確率Pr(R|W)を算出する。
   Pr(R|W)=Pr(|A|>0|W)・・・(式8)、
  (ただし、|A|は、イベント型Aを持つイベントの発生回数を表す)。
 このとき、確率分布計算部710は、NwとPr(R|W)とをパラメタとした二項分布B(Nw,Pr(R|W))に従って、確率分布を算出する。ただし、上述した計算手法において、Nwは、イベント履歴DBに保存されているウィンドウ数を表す。確率分布計算部710は、算出した確率分布を、確率分布記憶部720に記憶する。
 次に、分布確率逆計算部730は、確率分布記憶部720が記憶する確率分布を参照した後、以下に説明する処理に従い、最小信頼度tを算出する。図15は、本発明の第2の実施形態における確率分布記憶部720の特性を説明する図である。図15の横軸は、依存ルールが発生したウィンドウ数(発生回数)を表す。また、図15の縦軸は、確率分布記憶部720が記憶する確率密度を表す。図15の実線は、イベント型を持つ各イベントが独立して発生すると仮定したときにおける、発生イベント型組み合わせが発生する確率を表す。図15の点線は、イベント型組み合わせにおける各イベントの発生が独立でない場合における確率を表す。図15を参照しながら、分布確率逆計算部730が最小信頼度tを算出する処理方法について説明する。
 依存ルール記憶部470が記憶する依存ルールRは、「B⇒A」であるとする。図15における実線は、イベント型Aを持つイベントとイベント型Bを持つイベントとが独立して発生した場合の確率分布を表す。確率分布計算部710は、上記の処理に従い、確率分布を二項分布B(Nw,Pr(R|W))として計算処理する。最小信頼度をtとした場合、本実施形態に係る装置は、t×Nwより発生頻度が高い部分を、イベントが相互に依存して発生するイベントとして選ぶ。
 しかし、図15における実線は、イベント型Aを持つイベントとイベント型Bを持つイベントとが独立して発生すると仮定して、確率分布計算部710が算出した値を表す。そのため、分布確率逆計算部730は、図15における実線と、横軸に示す発生頻度が(t×Nw)を表す縦線の右側とで囲まれた領域(図15において格子状に表した部分)を、お互いに依存関係があるイベントとして検出する。即ち、その検出は、誤った結果である。
 そこで、分布確率逆計算部730は、想定誤検出率記憶部120をp0とするとき、式9を満たす、最小のtを算出する。
   (Σi>t_Nw×dR(Nw,W,R)(i))<p0・・・(式9)、
  (ただし、dR(Nw,W,R)(i)は、確率分布dR(Nw,W,R)のときの、値iを取る確率、
  (Σi>t_Nw×dR(Nw,W,R)(i))は、tよりも大きな値を持つiについてNw×dR(Nw,W,R)(i)の和を算出すること、
  iは、自然数を表す)。
 分布確率逆計算部730は、確率分布記憶部720と想定誤検出率記憶部120の値を参照しながら、上述した処理方法に従って、最小信頼度tを算出する。
 このtを算出する方法は、iの値を順次大きな値から代入していき、式9を満たさなくなる値を計算してもよいし、解析的に計算してNewton法などの手法により計算してもよい。最小のtを算出する方法は、上記に例示した方法に限定されるものではない。
 閾値計算部104は、下記のような処理に従って閾値を計算し、算出した値を閾値記憶部310に記憶する。規則生成部230は、閾値記憶部310が記憶する閾値を参照する。図8に示すように、閾値記憶部310は、最小支持度記憶部440と、最小信頼度記憶部490とを有する。
 最小支持度記憶部440は、規則生成部230が参照する閾値を記憶する。最小支持度計算部430が算出する閾値は、イベント組み合わせに関する支持度SRにおける下限値を表す。また、最小信頼度記憶部490は、規則生成部230が参照する閾値を記憶する。最小信頼度計算部480が算出する閾値は、依存ルールに関する信頼度TRにおける下限値を表す。
 図9のフローチャートを参照しながら、本実施の形態に係るイベント相関検出処理動作について詳細に説明する。図9は、本発明の第2の実施形態におけるイベント相関検出処理に関するフローチャートである。
 まず、ウィンドウ分割部140は、イベント発生源(図21におけるイベント発生源110)が発生したイベントを受信する。そして、ウィンドウ分割部140は、一定時間間隔Wごとに受信したイベントをイベント型ウィンドウに分類し、イベント型ウィンドウのID(W#)と、そのイベント型ウィンドウに属するイベントが持つイベント型の集合とを関連付けて、イベント型ウィンドウ表記憶部220に記録する(ステップE110)。
 次に、イベント相関用ルールエンジン部160は、イベント相関規則記憶部170の値に応じて、イベント型ウィンドウ表記憶部220に記録されたイベントの間において、相関のあるイベントを選び出す(ステップE120)。
 次に、図3乃至図8、図10を参照しながら、本発明の第2の実施形態に係るイベント相関システムの動作について詳細に説明する。図4Aと図4Bとは、本発明の第2の実施形態に係るイベント相関検出システム105が、実行する処理の手順を示すフローチャートを表す。
 まず、到着率計算部102は、イベント履歴DB記憶部130が持つ値を参照しながら、上述した処理に従って、イベント履歴DB記憶部130に存在するイベントごとに到着率を算出する。次に、到着率計算部102は、イベントと計算したそのイベントが到着する到着率とを関連付けて、イベント到着率表記憶部260に記録する(図4AにおけるステップA210)。
 次に、発生確率計算部103は、イベント到着率表記憶部260の値を参照した後、イベント到着率表記憶部260に存在するイベントごとに、一定時間間隔W[sec]におけるイベント発生確率を、上記のような処理に従って算出する。そして、発生確率計算部103は、算出した値を発生確率表記憶部280に保存する(ステップA220)。
 また、イベント型ウィンドウ分割部210は、イベント履歴DB記憶部130が記憶する値に基づいて、一定時間間隔W[sec]単位にて、イベントをイベント型ウィンドウとして分類する。次に、イベント型ウィンドウ分割部210は、分類したイベント型ウィンドウを、イベント型とウィンドウとを関連付けてイベント型ウィンドウ表記憶部220に保存する(図4AにおけるステップA110)。ステップA210からステップA220への処理の流れと、ステップA110の処理は、並行に行ってもよいし、二つのうちいずれかを先に行ってもよい。なお、これらステップA210、ステップA220、ステップA110は、前述した図2における処理と同じなので、重複する説明は省略する。
 ステップA220及びステップA110が完了したのち、規則生成部230は、イベント組み合わせ数を2として設定する(ステップB120)。次に、組み合わせ生成部410は、イベント型ウィンドウ表記憶部220の値に基づいて、規則生成部230が設定したイベント組み合わせ数について、上述したようにイベント組み合わせを作成する。そして、規則生成部230は、作成したイベント組み合わせをイベント組み合わせ記憶部420に記憶する(ステップB130)。
 組み合わせ生成部410は、規則生成部230がイベント組み合わせ数を2と設定したとき、2種類のイベント型を組み合わせる。組み合わせ生成部410は、全てのイベント型を組み合わせることにより、イベント組み合わせを作成する。
 一方、ステップB170の処理が完了した後、規則生成部230は、イベント組み合わせ数を1増やす。組み合わせ生成部410は、規則生成部230が設定したイベント組み合わせ数に応じて、イベント組み合わせを作成し、作成したイベント組み合わせをイベント組み合わせ記憶部420に記憶する。
 次に、最小支持度計算部430は、イベント組み合わせ記憶部420が記憶するそれぞれのイベント組み合わせについて、発生確率表記憶部280が持つ値と想定誤検出率記憶部120が持つ値とを参照し、式9に示す処理方法に従って、最小支持度を計算し、算出した値を最小支持度記憶部440に記憶する(ステップB140)。
 次に、組み合わせ選抜部450は、イベント組み合わせにおける支持度SRを算出する。次に、組み合わせ選抜部450は、算出した支持度SRと最小支持度記憶部440に存在する値との大小を比較する。その後、組み合わせ選抜部450は、最小支持度の値より算出した支持度SRの値が大きいイベント組み合わせのみを残す(ステップB150)。もし、組み合わせ選抜部450は、最小支持度記憶部440に存在する値より、算出した支持度SRが大きな値である組み合わせが有ると判定した場合に(ステップB160においてYESと判定)、上述した支持度SRが大きいイベント組み合わせを、組み合わせ選抜部450の内部に、一時的に保存する。
 次に、組み合わせ選抜部450は、イベント組み合わせを1個増やし(ステップB170)、組み合わせ選抜部450の内部に、一時的に保存したイベントの組み合わせに、新たに一つイベントを追加し、その後、ステップB130に戻る。
 組み合わせ選抜部450は、もし、算出したそれぞれの支持度SRが最小支持度記憶部440に存在する値より、小さな値であると判定した場合に(ステップB160においてNOと判定)、組み合わせ選抜部450の内部に、一時的に保存したイベントの組み合わせを参照し、依存ルール生成部460は、依存ルールを生成する(ステップB210)。
 次に、最小信頼度計算部480は、依存ルール生成部460が生成した依存ルールごとに、発生確率表記憶部280に存在する値と、想定誤検出率記憶部120に存在する値を参照しながら、最小信頼度を計算し、算出した値を最小信頼度記憶部490に保存する(ステップB220)。
 次に、依存ルール選抜部510は、依存ルール生成部460が生成した依存ルールごとに信頼度TRを算出する。依存ルール選抜部510は、算出した信頼度TRと、依存ルールに関連付けされた最小信頼度記憶部490に存在する値との大小を比較する。そして、依存ルール選抜部510は、依存ルール生成部460が生成した依存ルールの中から、最小信頼度の値よりも算出した信頼度TRが高い値を持つ依存ルールのみを残す(ステップB230)。
 最後に、依存ルール選抜部510は、上記のように抽出した依存ルールを、イベント相関規則として生成し(ステップB240)、作成したイベント相関規則をイベント相関規則記憶部170に保存する。
 次に、図12のブロック図及び図13のフローチャートを参照しながら、最小支持度計算部430の動作について説明する。図12は、本発明の第2の実施形態における最小支持度計算部の構成を示すブロック図である。図13は、本発明の第2の実施形態における最小支持度計算部が行う処理に関するフローチャートである。
 まず、確率分布計算部610は、イベント型組み合わせ「A,B,・・・」(=C)ごとに、下記の方法に従い、イベントが独立に発生すると仮定した場合に算出した確率分布を、下記のような二項分布の計算方法に従って、dC(Nw,W,C)を算出する(ステップC110)。その後、確率分布計算部610は、算出した値を確率分布記憶部620に保存する。確率分布計算部610は、その計算方法を、Pr(|E|>0|W)の値に応じて、式10に示す処理に従い計算する。
   dC(Nw,W,C)=B(Nw,ΠE∈C_Pr(|E|>0|W))・・・(式10)、
  (ただし、ΠE∈C_Pr(|E|>0|W)は、上記イベント型組み合わせCに属する全てのイベント型について、Pr(|E|>0|W)を掛け合わせること、
  B(Nw,P)は、二項分布、即ち、
  B(Nw,P)=Σi_C(Nw,i)×P↑i×(1-P)↑i、
  (ただし、C(Nw,i)は、Nw個からi個を取り出す場合の組み合わせ数、
  P↑iは、べき乗を表す。即ち、P↑iは、Wをi回掛け合わせることを意味する。
  Σi_C(Nw,i)×P↑i×(1-P)↑iは、iについてC(Nw,i)×P↑i×(1-P)↑iの総和を取ることを意味する)。
 次に、分布確率逆計算部630は、上述したイベント組み合わせごとに、確率分布計算部610が算出した確率分布dC(Nw,W,C)に応じて、「Pr(X>s×Nw|dC(Nw,W,C))≦想定誤検出率p0」を満たす最大のsを計算し、算出した値を最小支持度記憶部440に保存する(ステップC120)。ただし、Pr(X>s×Nw|dC(Nw,W,C))は、dC(Nw,W,C)が表す確率分布において、確率変数Xがs×Nwよりも大きな値を取る確率を表す。
 次に、図10のブロック図及び図11のフローチャートを参照して本実施の形態のうち、最小信頼度計算部480の動作について説明する。図10は、本発明の第2の実施形態における最小信頼度計算部480が有する構成を表すブロック図である。図11は、本発明の第2の実施形態における最小信頼度計算部480が行う処理に関するフローチャートである。
 まず、確率分布計算部710は、依存ルール記憶部470が記憶する依存ルール「B,C,・・・⇒A」ごとに、下記の方法に従い、イベントAがイベントB,イベントC,・・・と独立に発生すると仮定した場合の確率分布dR(Nw,W,R)を算出する。その計算方法は、NwとPr(A|W)の値とに従って、二項分布B(Nw,Pr(A|W))を算出する方法である。次に、確率分布計算部710は、算出した値を確率分布記憶部720に保存する(ステップD110)。依存ルールは、必ずしも、上記に示したような「B,C,・・・⇒A」である必要はない。
 次に、分布確率逆計算部730は、上述した依存ルール「B,C,・・・⇒A」ごとに、確率分布計算部710が算出した確率分布dR(Nw,W,R)において、「Pr(X>t|dR(Nw,W,R))≦想定誤検出率p0」となる最小のtを算出する。分布確率逆計算部730は、その算出値を最小信頼度記憶部490に保存する(ステップC130)。上述したような方法に従って算出することにより、分布確率逆計算部730は、上述した確率分布dR(Nw,W,R)において、X>tである確率がp0以下という条件を満たすような、最小のtを最小信頼度として算出する。
 本実施形態は、最小支持度と最小信頼度とを評価可能にするため、入力されるイベント発生分布確率と、各イベント間における相関性とにおいて仮定をする。即ち、イベント発生分布確率は、ポアソン分布であると仮定する。また、各イベントは、確率的に独立して発生すると仮定する。
 即ち、本実施形態は、上述したような計算方法に従って計算を行う。そのため、本実施形態が算出する閾値(すなわち、最小支持度、最小信頼度)は、許容される誤検出率を超えないようにすることができる。
 次に、具体例を用いて本発明を実施するための本実施形態の動作を説明する。
 図26は、イベント履歴DB記憶部130が記憶する情報を概念的に例示する図である。イベント履歴DBは、本発明の第2の実施形態におけるイベント相関検出システムも利用している。イベント履歴DB記憶部130に存在するテーブルは、イベントのID(E#)と、そのイベントが発生した時刻(TIME)と、そのイベント型などを関連付けている。イベント履歴DB記憶部130に存在するテーブルは、上記以外の項目と関連付けられていてもよいし、上記の項目を必ずしも含んでいなくともよい。図26に示したようなイベント履歴DBに存在するイベントの番号(E#)をすべて参照すると、それぞれのE#に関連付けられたイベント型は、4種類のイベント型、すなわち、「QueryError」,「DBError」,「NWCongestion」,「TooManyRequest」である。
 まず、到着率計算部102は、イベント履歴DB記憶部130に存在する値を参照し、その中から一つのイベントを取り出す。次に、到着率計算部102は、取り出したイベントついて、上述した方法に従って到着率を計算し、算出した値をイベント型と関連付けを行い、それをイベント到着率表記憶部260に記憶する。到着率計算部102は、そのような処理を、イベント履歴DB記憶部130に存在する全てのイベントについて行う(図4AにおけるステップA210)。
 図19は、本発明の第2の実施形態におけるイベント到着率表記憶部260が記憶する、イベント型と到着率との関連を示す参照テーブルの一例を示す図である。イベント到着率表は、イベント型と算出した到着率とを関連付けする。ここで、QueryError型を持つイベントが時刻「2011/11/23 10:00:00」から時刻「2011/11/23 13:20」までの3時間20分の間、すなわち、12,000秒間のうちに、48回発生するとする。その場合、到着率計算部102は、QueryError型イベントの発生率を、λQueryError=48÷12000=0.004[/sec]のように算出する。 
 次に、発生確率計算部103は、イベント到着率表記憶部260を参照しながら、イベントごとに一定時間間隔W[sec]でのイベント発生確率を、下記のように計算し、その算出した値を発生確率表記憶部280に記憶する(ステップA220)。
 W=300[sec]とすると、例えば、発生確率計算部103は、QueryError型のイベントが発生する確率を、式4に従い、Pr(|QueryError|>0|W)=1-exp(-λQueryError×W)=1―exp(-0.004×300)=0.698806のように算出する。次に、発生確率計算部103は、図16に示すように、算出した値と、そのイベント型を関連付けて、発生確率表記憶部280に保存する。図16は、本発明の第2の実施形態における発生確率表記憶部280が記憶する、イベント型と発生確率との関連を示す参照テーブルの一例を示す図である。
 イベント型ウィンドウ分割部210は、時刻を一定時間間隔W[sec]で切り分ける。ここでは、その切り分けられた個々の時間を、それぞれ、ウィンドウと呼ぶ。次に、イベント型ウィンドウ分割部210は、ウィンドウにおいて発生したイベントを、イベント履歴DB記憶部130から探す。次に、イベント型ウィンドウ分割部210は、そのイベントが持つイベント型の種類とウィンドウとを関連付けて、イベント型ウィンドウ表記憶部220に保存する(図4AにおけるステップA110)。
 規則生成部230は、以下のように動作する。ステップA220及びステップA110が完了したのち、規則生成部230は、初期におけるイベント組み合わせを2と設定する(ステップB120)。次に、組み合わせ生成部410は、イベント型ウィンドウ表記憶部220の値を参照し、規則生成部230が設定したイベント組み合わせ数分のイベントの組み合わせを生成する(ステップB130)。即ち、初期において、組み合わせ生成部410は、2種類のイベントを組み合わせる。
 図25におけるイベント型ウィンドウ表においては、4種類のイベント型が存在する。規則生成部230がイベント型組み合わせ数を2と設定した場合、組み合わせ生成部410は、以下に示す、6種類のイベント組み合わせを生成する。
   「QueryError」,「DBError」、
   「QueryError」,「NWCongestion」、
   「QueryError」,「TooManyRequest」、
   「DBError」,「NWCongestion」、
   「DBError」,「TooManyRequest」、
   「NWCongestion」,「TooManyRequest」。
 次に、最小支持度計算部430は、それぞれのイベント組み合わせについて、発生確率表記憶部280におけるテーブルと、想定誤検出率記憶部120に存する値を参照しつつ、以下に例示するような処理方法に従って、最小支持度記憶部440を算出する(ステップB140)。
 即ち、最小支持度計算部430は、以下のように処理を行う。ただし、この例では、想定誤検出率記憶部120は、0.1という値を記憶するとする。以下では、QueryError型を持つイベントと、DBError型を持つイベントとのイベント型組み合わせにおける最小支持度を算出する場合を例にして、最小支持度計算部430の動作について説明する。
 最小支持度計算部430は、QueryError型を持つイベントとDBError型を持つイベントとが、確率的に独立して発生すると仮定して、計算を行う。即ち、最小支持度計算部430は、一定時間間隔W[sec]でのウィンドウにおいて、以下に示す処理に従って、上記のイベントが同時に発生する確率を算出する。
  P(QueryError&DBError|W)=P(QueryError|W)×P(DBError|W)=0.698806×0.259182=0.181118。
 次に、最小支持度計算部430は、算出した確率P(QueryError&DBError|W)に基づき、min{s|Pr(X>Nws|B(Nw,P(QueryError&DBError|W)))>p0}を算出し、算出した値を最小支持度とする。ただし、上記式におけるXは、QueryErrorとDBErrorが同時発生するウィンドウ数を表す確率変数である。また、上記式は、Pr(X>Nws|B(Nw,P(QueryError&DBError|W)))>p0を満たす最小のsを算出することを意味している。
 次に、組み合わせ選抜部450は、以下に例示するような方法により、イベント組み合わせの支持度SRを算出する。例えば、QueryErrorとDBErrorとがともに発生したウィンドウ数は、全ウィンドウ数Nw=40回のうち、10回であるとする。その場合、組み合わせ選抜部450は、支持度SRを10÷40=0.25として計算し、その値を出力する。
 次に、組み合わせ選抜部450は、算出した各イベント組み合わせの支持度SRと、その組み合わせに関連付いた最小支持度の値とを比較する。その後、組み合わせ選抜部450は、最小支持度の値より算出した支持度SRが大きい値を持つイベント組み合わせのみを残す(ステップB150)。
 図17は、上記のような2種類のイベントの組み合わせと、その組み合わせにて算出した支持度SRと、その最小支持度とを関連付けしたテーブルの一例を表す。図17のテーブルは、上記6つのイベント型組み合わせについて、算出した支持度SRなどを表す。
 次に、規則生成部230は、最小支持度の値よりも大きな支持度SRを持つイベント型組み合わせが存在することを認識する。図17に示したテーブルにおいて、最小支持度の値よりも算出した支持度SRが大きいイベント型組み合わせは、QueryError型とTooManyRequest型との組み合わせのみある。その他のイベント型組み合わせにおける支持度SRの値は、いずれも最小支持度の値よりも小さい。そのため、組み合わせ選抜部450は、QueryError型とTooManyRequest型とが組み合わされたイベント型組み合わせを抜き出す。
 そして、規則生成部230は、イベント型組み合わせの長さを1増やす(ステップB170)。即ち、この例において、イベント型組み合わせの長さは、3となるため、組み合わせ生成部410は、規則生成部230が設定した3に従って、3つのイベント組み合わせを作成し、その結果をイベント組み合わせ記憶部420に保存する。この例において、イベント組み合わせ記憶部420は、上述のようなイベント型組み合わせに対して、以下のイベント型組み合わせを作成する。
   「QueryError」,「TooManyRequest」,「NWCongestion」、
   「QueryError」,「TooManyRequest」,「DBError」。
 最小支持度計算部430は、これらの2種類のイベント組み合わせについて、上述した方法に従って、それぞれ最小支持度を算出する(ステップB149)。次に、組み合わせ選抜部450は、イベント型組み合わせの支持度SRを算出し、算出された支持度SRの値と最小支持度記憶部440に存在する値との大小を比較する。上述したように、組み合わせ選抜部450は、最小支持度の値より算出した支持度SRの方が大きいイベント型組み合わせのみを残す(ステップB150)。
 ここで、上記2種類のイベント型組み合わせにおける支持度SRは、ともに最小支持度よりも小さな値であるとする。図17に示すように、算出した支持度SRが、最後に最小支持度の値を上回った、QueryError型を持つイベントとTooManyRequest型を持つイベントとのイベント型組み合わせが、依存ルール生成部460における処理対象になる。
 依存ルール生成部460は、イベント組み合わせ記憶部420に存在する値を参照することにより、「QueryError」,「TooManyRequest」という値を読み出す。次に、依存ルール生成部460は、下記のような処理を行い、依存ルールを生成する(ステップB210)。
 この例において、組み合わせ選抜部450が、QueryError型を持つイベントとTooManyRequest型を持つイベントとのイベント型組み合わせを残したのに応じて、依存ルールは、下記の2種類である。
   QueryError⇒TooManyRequest、
   TooManyRequest⇒QueryError。
 最小信頼度計算部480は、依存ルールごとに、発生確率表記憶部280における値と、想定誤検出率記憶部120における値とを参照しながら、下記の処理を行って、最小信頼度を算出し、算出した値を最小信頼度記憶部490に保存する(ステップB220)。
 例えば、QueryError型を持つイベントが発生する回数は、32回であるとする。さらに、QueryError型を持つイベントとTooManyRequest型を持つイベントとが発生するウィンドウ数は、21回であるとする。
 「QueryError⇒TooManyRequest」という依存ルールの場合、最小信頼度計算部480は、Pr(TooManyRequest|W)=21÷32=0.65625を計算し、その値を最小信頼度の値とする。次に、依存ルール選抜部510は、依存ルールごとに信頼度TRを算出する。その後、依存ルール選抜部510は、算出した信頼度TRの値と、最小信頼度記憶部490において依存ルールに関連付いた値とを比較する。そして、依存ルール選抜部510は、その比較結果に基づき、最小信頼度の値より算出した信頼度TRが高い依存ルールのみを残す(ステップB230)。
 図18は、本発明の第2の実施形態における最小信頼度と信頼度TRの一例を示す図である。図18における最左の列は、依存ルール「A⇒B」におけるAを表し、図18における最上位の行は、依存ルール「A⇒B」におけるBを表す。そして、図18において、Aを示す行とBを示す列が交差する領域における数値は、算出した依存ルール「A⇒B」の信頼度TRの値を表す。
 図18を参照すると、依存ルール「QueryError⇒TooManyRequest」の信頼度TRは、0.65625であり、依存ルール「TooManyRequest⇒QueryError」の信頼度TRは、0.84であることがわかる。
 図18の最下位の行は、依存ルール「A⇒B」における最小信頼度の値を、Bを表す列に関連付けている。依存ルール「TooManyRequest⇒QueryError」における最小信頼度が0.8であるため、算出した信頼度TRである0.84は、最小信頼度よりも大きい。同様に、依存ルール「QueryError⇒TooManyRequest」における最小信頼度が0.65であるため、算出した信頼度TRである0.65625は、最小信頼度よりも大きい。
 そのため、依存ルール選抜部510は、上述したような比較の結果に従い、上記2つの依存ルールともイベント相関規則とする。次に、依存ルール選抜部510は、その2つの依存ルールをイベント相関規則記憶部170に記憶する(ステップB240)。
 図9は、本発明の第2の実施形態におけるイベント相関検出処理に関するフローチャートである。次に、図9を参照しながら、具体的な例を用いて、イベント相関検出処理について示す。
 まず、ウィンドウ分割部140は、イベント発生源(例えば、図21におけるイベント発生源110)が発生したイベントを受信する。次に、ウィンドウ分割部140は、発生時刻に応じて、一定時間間隔Wごとにイベントを分類する。そして、ウィンドウ分割部140は、分割したウィンドウと、ウィンドウに発生したイベントなどとを関連付けし、その結果をイベント型ウィンドウ表記憶部220に記録する(ステップE110)。
 図24は、イベントウィンドウ表の具体例を示す図である。図24において、ウィンドウ1(W#=1)において発生したイベント(E#=2343)に関連したTooManyRequest型と、イベント(E#=2345)に関連したQueryError型とが、一つのウィンドウで発生していることがわかる。このことは、作成したイベント相関規則「TooManyRequest⇒QueryError」に対応している。
 次に、イベント相関用ルールエンジン部160は、作成したイベント相関規則「TooManyRequest⇒QueryError」に従い、イベント型ウィンドウ表220に記録されたイベントの間で相関のあるイベント(E#=2343とE#=2345)を選び出す。
 即ち、本発明の実施形態によれば、許容可能な程度に誤検出率に抑えることができる。
 (ハードウェア構成例)
 図20は、本発明の各実施形態に係るイベント相関検出システムを実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
 次に、上述した各実施形態におけるイベント相関検出システムを、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るイベント相関検出システムは、物理的または機能的に少なくとも2種類の計算処理装置を用いて実現してもよい。また、係るイベント相関検出システムは、専用の装置として実現してもよい。
 図20は、第1または第2の実施形態に係るイベント相関検出システムを実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置2306は、CPU(Central Processing Unit)2301、メモリ2302、ディスク2303、出力装置2304、入力装置2305、および、不揮発性記録媒体2307(以降、「記録媒体」とも表す)を有する。
 不揮発性記録媒体2307は、コンピュータが読み取り可能な、例えば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc)、ユニバーサルシリアルバスメモリ(USBメモリ)などを指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体2307は、上述した媒体に限定されない。また、不揮発性記録媒体2307の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
 分布確率逆計算部730は、ディスク2303が記憶するソフトウェア・プログラム(コンピュータ・プログラム):以下、単にプログラムと称する)を、実行時にメモリ2302にコピーし、演算処理を実行する。分布確率逆計算部730は、プログラム実行に必要なデータをメモリ2302から読み込む。表示が必要な場合には、分布確率逆計算部730は、出力装置2304に出力結果を表示する。外部からプログラムを入力する場合、分布確率逆計算部730は、入力装置2305からプログラムを読み取る。分布確率逆計算部730は、メモリ2302にあるイベント相関検出プログラム解釈し実行を行う。分布確率逆計算部730は、上述した各実施形態において参照したフローチャート(図2、図4A、図4B、図9、図11、図13)、式に応じた処理を順次行う。
 即ち、このような場合、本発明は、係るイベント相関検出プログラムによっても成し得ると捉えることができる。更に、係るイベント相関検出プログラムが記録されたコンピュータ読み取り可能な記録媒体によっても、本発明は成し得ると捉えることができる。
 尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した各実施形態により例示的に説明した本発明は、以下には限られない。即ち、
 (付記1)
 複数のイベント型を対象として、
 前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を算出する到着率計算部と、
 前記イベント型ごとに、前記到着率と前記所定の時間間隔とに基づいて、前記イベント型が発生する第1確率を算出する発生確率計算部と、
 前記第1確率に基づいて、前記複数のイベント型が発生する第2確率を計算し、前記第2確率に基づいてイベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を算出する閾値計算部と、
 前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出するイベント相関用ルールエンジン部とを
備えるイベント相関検出システム。
 (付記2)
 前記イベント型を前記所定の時間間隔ごとに分類し、各前記所定の時間間隔と、分類した前記イベント型の集合を関連付けして、ウィンドウを生成するウィンドウ分割部をさらに備え、
 前記到着率計算部は、前記ウィンドウに応じて計算を行う
付記1に記載のイベント相関検出システム。
 (付記3)
 前記ウィンドウに存在する複数の前記イベント型を組にし、その組を集めることによって、第1組み合わせを生成する組み合わせ生成部と、
 前記第1組み合わせに含まれる前記組に存在するイベント型が全て出現する前記ウィンドウの個数と、全ての前記ウィンドウの個数との比である支持度を計算し、前記第1組み合わせから、前記支持度が前記最小支持度より大きな値を持つ特定の前記組を、第2組み合わせとして選抜する組み合わせ選抜部と、
 前記第2組み合わせに存在する組におけるイベント型の中から、一つのイベント型を帰結とし、残りのイベント型を前提条件とする依存ルールを生成する依存ルール生成部と、
 前記依存ルールに出現する前記イベント型が出現するウィンドウの個数と、前記前提条件が出現する前記ウィンドウの個数との比である信頼度を算出する依存ルール選抜部とを、
さらに備え、
 前記イベント相関用ルールエンジン部は、前記信頼度と前記最小信頼度との大小に基づいて前記イベント型間における相関を検出する
付記2に記載のイベント相関検出システム。
 (付記4)
 前記組み合わせ生成部は、組み合わせ個数を2と設定し、
 前記組み合わせ生成部は、前記組み合わせ個数分の前記イベント型を組み合わせて前記組を作成する第1処理を行い、
 前記イベント相関用ルールエンジン部は、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在すると判定した場合には、前記第2組み合わせを第3組み合わせとして保持する第2処理を行ったのち、
 前記組み合わせ個数を1増やす第3処理を行い、
 前記イベント相関用ルールエンジン部が、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在しないと判定するまで、前記第1処理乃至前記第3処理を順次繰り返し、
 前記イベント相関用ルールエンジン部は、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在しないと判定する場合には、前記イベント相関用ルールエンジン部が最後に保持した特定の前記第3組み合わせを出力する
付記3に記載のイベント相関検出システム。
 (付記5)
 前記閾値計算部は、
 前記第1確率に基づいて、前記第2確率を計算し、その計算した値をまとめて確率分布G(i)を生成する確率分布計算部と、
 前記確率分布G(i)(但しiは、自然数)においてiの値が特定値以上におけるG(i)の総和を取り、その算出した総和と全前記ウィンドウ数との積が、所定の想定誤検出率以下である範囲における最小の前記特定値を出力する分布確率計算部とを
有する付記2に記載のイベント相関検出システム。
 (付記6)
 前記閾値計算部は、
   Pr(|E|>0|W)=1-exp(-λE×W)、
   (ただし、Wは、前記ウィンドウにおける時間間隔、
   λE=NE÷T、
   exp()は、指数関数、
   Tは、時間間隔、
   NEは、時間間隔Tにおいて、イベント型Eが発生する回数、
   「|E|」は、イベント型Eを持つイベントが発生する回数、
   Pr(|E|>0|W)は、ウィンドウにおける時間間隔Wにおいて、イベント型Eを持つイベントを持つイベントが発生する確率である)、
 の処理に従い、前記第1確率をあらわすPr(|E|>0|W)を計算し、前記第1確率に基づいて、前記第2確率を計算し、前記第2確率に基づいて前記最小支持度を算出する付記2に記載のイベント相関検出システム。
 (付記7)
 前記閾値計算部は、
   Pr(R|W)=Pr(|A|>0|W)、
   (ただし、Rは、依存ルール、
   Aは、前記依存ルールにおける前記帰結、
   Wは、前記ウィンドウの時間間隔、
   「|A|」は、イベント型Aを持つイベントが発生する回数、
   Pr(|A|>0|W)は、前記ウィンドウにおける時間間隔Wにおいて、イベント型Aを持つイベントを持つイベントが少なくとも1回以上発生する確率、
   Pr(R|W)は、「前記ウィンドウにおける時間間隔Wにおいて、依存ルールRが発生する」確率である)、
 の処理に従い前記第1確率を表すPr(R|W)を計算し、前記第1確率に基づいて、前記第2確率を計算し、前記第2確率に基づいて前記最小信頼度を算出する
付記2に記載のイベント相関検出システム。
 (付記8)
 前記閾値計算部は、前記ウィンドウに存在する前記時間間隔数と前記第1確率との2項分布の計算処理に従って、前記確率分布を計算し、前記確率分布に基づいて前記最小支持度を算出する
付記5に記載のイベント相関検出システム。
 (付記9)
 前記閾値計算部は、前記ウィンドウに存在する前記時間間隔数と前記第1確率との2項分布の計算処理に従って、前記確率分布を計算し、前記確率分布に基づいて前記最小信頼度を算出する付記5に記載のイベント相関検出システム。
 (付記10)
 前記閾値計算部は、
   (Σi>s_Nw×G(i))<p0、
   (ただし、Nwは、全前記ウィンドウの個数、
   G(i)は、前記λEに基づいて算出した前記確率分布、
   (Σi>s_Nw×G(i))は、tよりも大きなiについてNw×G(i)の総和値、
   p0は、前記想定誤検出率、
   iは、自然数である)、
 を満たす最小のsを計算し、その算出値を前記最小支持度とする
付記5に記載のイベント相関検出システム。
 (付記11)
 前記閾値計算部は、
   (Σi>t_Nw×dR(Nw,W,R)(i))<p0
   (ただし、Nwは、全前記ウィンドウの個数、
   dR(Nw,W,R)(i)は、前記依存ルールRに基づいて算出した前記確率分布、
   (Σi>t_Nw×dR(Nw,W,R)(i))は、tよりも大きなiについてNw×dR(Nw,W,R)(i)の総和値、
   p0は、前記想定誤検出率、
   iは、自然数である)、
 を満たす最小のtを計算し、その算出値を前記最小信頼度とする
付記5に記載のイベント相関検出システム。
 (付記12)
 複数のイベント型を対象として、
 前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を計算し、
 前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を計算し、
 前記第1確率に基づいて、前記複数のイベント型が発生する第2確率を計算し、前記第2確率に基づいて、イベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を計算し、
 前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出する
イベント相関検出方法。
 (付記13)
 複数のイベント型を対象として、
 前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を算出する到着率機能と、
 前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を算出する発生確率計算機能と、
 前記第1確率に基づいて、前記複数のイベント型が発生する第2確率を計算し、前記第2確率に基づいて、イベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を算出する閾値計算機能と、
 前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出するイベント相関用ルールエンジン機能とを
コンピュータに実現させるコンピュータ・プログラム。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2012年3月26日に出願された日本出願特願2012-068639を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 16  マイニングカーネル機能
 26  マイニングカーネルインタフェース機能
 28  マイニング結果記録機能
 101  イベント相関検出システム
 102  到着率計算部
 103  発生確率計算部
 104  閾値計算部
 105  イベント相関検出システム
 110  イベント発生源
 115  GUI
 120  想定誤検出率記憶部
 130  イベント履歴DB記憶部
 140  ウィンドウ分割部
 150  イベント型ウィンドウ表記憶部
 160  イベント相関用ルールエンジン部
 170  イベント相関規則記憶部
 210  イベント型ウィンドウ分割部
 220  イベント型ウィンドウ表記憶部
 230  規則生成部
 240  ルール候補記憶部
 260  イベント到着率表記憶部
 280  発生確率表記憶部
 310  閾値記憶部
 410  組み合わせ生成部
 420  イベント組み合わせ記憶部
 430  最小支持度計算部
 440  最小支持度記憶部
 450  組み合わせ選抜部
 460  依存ルール生成部
 470  依存ルール記憶部
 480  最小信頼度計算部
 490  最小信頼度記憶部
 510  依存ルール選抜部
 610  確率分布計算部
 620  確率分布記憶部
 630  分布確率逆計算部
 710  確率分布計算部
 720  確率分布記憶部
 730  分布確率逆計算部
 2301  CPU
 2302  メモリ
 2303  ディスク
 2304  出力装置
 2305  入力装置
 2306  計算処理装置
 2307  不揮発性記録媒体
 1001  ウィンドウ分割部
 1002  イベント型ウィンドウ分割部
 1003  イベント相関用ルールエンジン部
 1004  イベント履歴Database記憶部
 1005  イベント型ウィンドウ分割部
 1006  イベント型ウィンドウ表記憶部
 930  規則生成部
 1008  イベント相関規則記憶部

Claims (10)

  1.  複数のイベント型を対象として、
     前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を計算する到着率計算部と、
     前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を計算する発生確率計算部と、
     前記第1確率に基づいて、前記複数のイベント型が発生する第2確率を計算し、前記第2確率に基づいて、イベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を計算する閾値計算部と、
     前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出するイベント相関用ルールエンジン部とを
    備えることを特徴とするイベント相関検出システム。
  2.  前記イベント型を前記時間間隔ごとに分類し、各前記所定の時間間隔と、分類した前記イベント型の集合を関連付けして、ウィンドウを生成するウィンドウ分割部をさらに備え、
     前記到着率計算部は、前記ウィンドウに応じて計算を行う
    ことを特徴とする請求項1に記載のイベント相関検出システム。
  3.  前記ウィンドウに存在する複数の前記イベント型を組にし、その組を集めることによって、第1組み合わせを生成する組み合わせ生成部と、
     前記第1組み合わせに含まれる前記組に存在するイベント型が全て出現する前記ウィンドウの個数と、全ての前記ウィンドウの個数との比である支持度を計算し、前記第1組み合わせから、前記支持度が前記最小支持度より大きな値を持つ特定の前記組を、第2組み合わせとして選抜する組み合わせ選抜部と、
     前記第2組み合わせに存在する組におけるイベント型の中から、一つのイベント型を帰結とし、残りのイベント型を前提条件とする依存ルールを生成する依存ルール生成部と、
     前記依存ルールに出現する前記イベント型が出現するウィンドウの個数と、前記前提条件が出現する前記ウィンドウの個数との比である信頼度を計算する依存ルール選抜部とを、
    さらに備え、
     前記イベント相関用ルールエンジン部は、前記信頼度と前記最小信頼度との大小に基づいて前記イベント型間における相関を検出する
    ことを特徴とする請求項2に記載のイベント相関検出システム。
  4.  前記組み合わせ生成部は、組み合わせ個数を2と設定し、
     前記組み合わせ生成部は、前記組み合わせ個数分の前記イベント型を組み合わせて前記組を作成する第1処理を行い、
     前記イベント相関用ルールエンジン部は、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在すると判定した場合には、前記第2組み合わせを第3組み合わせとして保持する第2処理を行ったのち、
     前記組み合わせ個数を1増やす第3処理を行い、
     前記イベント相関用ルールエンジン部が、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在しないと判定するまで、前記第1処理乃至前記第3処理を順次繰り返し、
     前記イベント相関用ルールエンジン部は、前記信頼度が前記最小信頼度よりも大きな値を持つ組が存在しないと判定した場合には、前記イベント相関用ルールエンジン部が最後に保持した特定の前記第3組み合わせを出力する
    ことを特徴とする請求項3に記載のイベント相関検出システム。
  5.  前記閾値計算部は、
     前記第1確率に基づいて、前記第2確率を計算し、その計算した値をまとめて確率分布G(i)(但しiは、自然数)を生成する確率分布計算部と、
     前記確率分布G(i)においてiの値が特定値以上におけるG(i)の総和を取り、その算出した総和と全前記ウィンドウ数との積が、所定の想定誤検出率以下である範囲における最小の前記特定値を出力する分布確率計算部と、
    から構成されることを特徴とする請求項2乃至4のいずれか1項に記載のイベント相関検出システム。
  6.  前記閾値計算部は、
       Pr(|E|>0|W)=1-exp(-λE×W)、
       (ただし、Wは、前記ウィンドウにおける時間間隔、
       λE=NE÷T、
       exp()は、指数関数、
       Tは、時間間隔、
       NEは、時間間隔Tにおいて、イベント型Eが発生する回数、
       「|E|」は、イベント型Eを持つイベントが発生する回数、
       Pr(|E|>0|W)は、ウィンドウにおける時間間隔Wにおいて、イベント型Eを持つイベントを持つイベントが発生する確率である)、
     の処理に従い、前記第1確率をあらわすPr(|E|>0|W)を計算し、前記第1確率に基づいて、前記第2確率を計算し、前記第2確率に基づいて前記最小支持度を計算する
    ことを特徴とする、請求項2乃至5のいずれか1項に記載のイベント相関検出システム。
  7.  前記閾値計算部は、
       Pr(R|W)=Pr(|A|>0|W)、
       (ただし、Rは、依存ルール、
       Aは、前記依存ルールにおける前記帰結、
       Wは、前記ウィンドウの時間間隔、
       「|A|」は、イベント型Aを持つイベントが発生する回数、
       Pr(|A|>0|W)は、前記ウィンドウにおける時間間隔Wにおいて、イベント型Aを持つイベントを持つイベントが少なくとも1回以上発生する確率、
       Pr(R|W)は、「前記ウィンドウにおける時間間隔Wにおいて、依存ルールRが発生する」確率である)、
     の処理に従い前記第1確率を表すPr(R|W)を計算し、前記第1確率に基づいて、前記第2確率を計算し、前記第2確率に基づいて前記最小信頼度を計算する
    ことを特徴とする、請求項2乃至6のいずれか1項に記載のイベント相関検出システム。
  8.  前記閾値計算部は、
       (Σi>s_Nw×G(i))<p0、
       (ただし、Nwは、全前記ウィンドウの個数、
       G(i)は、前記λEに基づいて算出した前記確率分布、
       (Σi>s_Nw×G(i))は、tよりも大きなiについてNw×G(i)の総和値、
       p0は、前記想定誤検出率、
       iは、自然数である)、
     を満たす最小のsを計算し、その算出値を前記最小支持度とする
    ことを特徴とする請求項5あるいは6のいずれか1項に記載のイベント相関検出システム。
  9.  複数のイベント型を対象として、
     前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を計算し、
     前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を計算し、
     前記第1確率に基づいて、前記複数のイベント型が同時に発生する第2確率を計算し、前記第2確率に基づいて、イベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を計算し、
     前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出する
    ことを特徴とするイベント相関検出方法。
  10.  複数のイベント型を対象として、
     前記イベント型ごとに、前記イベント型が所定の時間間隔において到着する到着率を計算する到着率機能と、
     前記イベント型ごとに、前記到着率と前記時間間隔とに基づいて、前記イベント型が発生する第1確率を計算する発生確率計算機能と、
     前記第1確率に基づいて、前記複数のイベント型が同時に発生する第2確率を計算し、前記第2確率に基づいて、イベント型組み合わせに対する最小支持度及び依存ルールに対する最小信頼度を計算する閾値計算機能と、
     前記最小支持度と前記最小信頼度に応じて前記複数のイベント型間における相関を検出するイベント相関用ルールエンジン機能とを
    コンピュータに実現させるコンピュータ・プログラム。
PCT/JP2013/001481 2012-03-26 2013-03-08 イベント相関検出システム WO2013145584A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/388,589 US20150058272A1 (en) 2012-03-26 2013-03-08 Event correlation detection system
JP2014507378A JP6060969B2 (ja) 2012-03-26 2013-03-08 イベント相関検出システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-068639 2012-03-26
JP2012068639 2012-03-26

Publications (1)

Publication Number Publication Date
WO2013145584A1 true WO2013145584A1 (ja) 2013-10-03

Family

ID=49258902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/001481 WO2013145584A1 (ja) 2012-03-26 2013-03-08 イベント相関検出システム

Country Status (3)

Country Link
US (1) US20150058272A1 (ja)
JP (1) JP6060969B2 (ja)
WO (1) WO2013145584A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699019A (zh) * 2013-12-09 2015-06-10 中芯国际集成电路制造(上海)有限公司 机台恢复检验系统以及机台恢复检验方法
JP2018028778A (ja) * 2016-08-17 2018-02-22 日本電信電話株式会社 パターン抽出及びルール生成装置、及びその方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462199B2 (en) * 2016-12-23 2019-10-29 Cerner Innovation, Inc. Intelligent and near real-time monitoring in a streaming environment
JP2020071570A (ja) * 2018-10-30 2020-05-07 ファナック株式会社 データ作成装置、デバッグ装置、データ作成方法及びデータ作成プログラム
CN110932272A (zh) * 2019-12-13 2020-03-27 国网福建省电力有限公司三明供电公司 一种三遥配电终端优化配置方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10134086A (ja) * 1996-08-30 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 因果関係検出装置及び方法
JP2006004346A (ja) * 2004-06-21 2006-01-05 Fujitsu Ltd パターン検出プログラム
JP2008299690A (ja) * 2007-06-01 2008-12-11 Honda Motor Co Ltd イベント解析装置
JP2009217567A (ja) * 2008-03-11 2009-09-24 Oki Electric Ind Co Ltd ログデータ相関分析装置及び方法
WO2010131746A1 (ja) * 2009-05-15 2010-11-18 日本電気株式会社 障害原因推定システム、障害原因推定方法、及び障害原因推定プログラム
JP2011159125A (ja) * 2010-02-01 2011-08-18 Nec Corp イベントクラスタリングシステム、そのコンピュータプログラムおよびデータ処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120078903A1 (en) * 2010-09-23 2012-03-29 Stefan Bergstein Identifying correlated operation management events
US20130027561A1 (en) * 2011-07-29 2013-01-31 Panasonic Corporation System and method for improving site operations by detecting abnormalities

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10134086A (ja) * 1996-08-30 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 因果関係検出装置及び方法
JP2006004346A (ja) * 2004-06-21 2006-01-05 Fujitsu Ltd パターン検出プログラム
JP2008299690A (ja) * 2007-06-01 2008-12-11 Honda Motor Co Ltd イベント解析装置
JP2009217567A (ja) * 2008-03-11 2009-09-24 Oki Electric Ind Co Ltd ログデータ相関分析装置及び方法
WO2010131746A1 (ja) * 2009-05-15 2010-11-18 日本電気株式会社 障害原因推定システム、障害原因推定方法、及び障害原因推定プログラム
JP2011159125A (ja) * 2010-02-01 2011-08-18 Nec Corp イベントクラスタリングシステム、そのコンピュータプログラムおよびデータ処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699019A (zh) * 2013-12-09 2015-06-10 中芯国际集成电路制造(上海)有限公司 机台恢复检验系统以及机台恢复检验方法
JP2018028778A (ja) * 2016-08-17 2018-02-22 日本電信電話株式会社 パターン抽出及びルール生成装置、及びその方法

Also Published As

Publication number Publication date
US20150058272A1 (en) 2015-02-26
JP6060969B2 (ja) 2017-01-18
JPWO2013145584A1 (ja) 2015-12-10

Similar Documents

Publication Publication Date Title
US10902062B1 (en) Artificial intelligence system providing dimension-level anomaly score attributions for streaming data
JP6060969B2 (ja) イベント相関検出システム
JP5532150B2 (ja) 運用管理装置、運用管理方法、及びプログラム
JP2007096796A (ja) ネットワーク障害診断装置、ネットワーク障害診断方法およびネットワーク障害診断プログラム
US20130191107A1 (en) Monitoring data analyzing apparatus, monitoring data analyzing method, and monitoring data analyzing program
JP6665784B2 (ja) ログ分析システム、ログ分析方法およびログ分析プログラム
JP6521096B2 (ja) 表示方法、表示装置、および、プログラム
JP2005302028A (ja) プログラムを計装するプローブ最適化のための方法およびシステム
JP5051135B2 (ja) 資源情報収集装置、資源情報収集方法、プログラム、および、収集スケジュール生成装置
US9658834B2 (en) Program visualization device, program visualization method, and program visualization program
US8660979B2 (en) Event prediction
US8924794B2 (en) Method and computer program product for forecasting system behavior
US20090187533A1 (en) Automatically identifying an optimal set of attributes to facilitate generating best practices for configuring a networked system
JP2000194745A (ja) トレンド評価装置及びトレンド評価方法
JP5439775B2 (ja) 障害対応プログラム、障害対応装置、及び障害対応システム
JP2021174473A (ja) ユーザに提案する材料を決定するシステム
JP2016085152A (ja) 診断装置、診断プログラム及び診断方法
JP2018014000A (ja) テスト支援プログラム、テスト支援装置、及びテスト支援方法
US11113268B2 (en) Method and device for restoring missing operational data
CN113434326A (zh) 基于分布式集群拓扑实现网络系统故障定位的方法及装置、处理器及其计算机可读存储介质
JP2022115316A (ja) ログ検索支援装置、及びログ検索支援方法
JP6396615B1 (ja) 情報処理プログラム、情報処理装置及びデバッグシステム
JP2017207878A (ja) 欠落データ推定方法、欠落データ推定装置および欠落データ推定プログラム
JP2000242651A (ja) データマイニング方法およびデータマイニング装置
KR20190123369A (ko) 머신러닝 기반 악성코드 탐지를 위한 특성선정 방법 및 이를 수행하기 위한 기록매체 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014507378

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14388589

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

Country of ref document: EP

Kind code of ref document: A1