WO2013103008A1 - 事象の原因を特定する情報システム、コンピュータ及び方法 - Google Patents

事象の原因を特定する情報システム、コンピュータ及び方法 Download PDF

Info

Publication number
WO2013103008A1
WO2013103008A1 PCT/JP2012/050114 JP2012050114W WO2013103008A1 WO 2013103008 A1 WO2013103008 A1 WO 2013103008A1 JP 2012050114 W JP2012050114 W JP 2012050114W WO 2013103008 A1 WO2013103008 A1 WO 2013103008A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
internal
rule
generated
memory data
Prior art date
Application number
PCT/JP2012/050114
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 PCT/JP2012/050114 priority Critical patent/WO2013103008A1/ja
Priority to US13/580,753 priority patent/US20130179563A1/en
Publication of WO2013103008A1 publication Critical patent/WO2013103008A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data

Definitions

  • the present invention relates to a technique for identifying the cause of an event that has occurred in a network to which a plurality of node devices belong.
  • event a technique for identifying the root cause of an event related to a failure (hereinafter referred to as “event”) is known.
  • Patent Document 1 discloses the following technique. That is, first, rule memory data used for root cause analysis is stored in the rule memory. Each time the root cause analysis engine receives a notification of an event, the root cause analysis engine adds data related to the event to the rule memory and calculates a matching rate of rules related to the received event among the rules included in the rule memory data. Matching rate is an indicator (probability or calculated ratio) that indicates which rule conclusion is likely to be the root cause, and the analysis engine should identify the root cause based on the calculated matching rate Can do. Each event has a valid period, and when the duration expires, the data related to the event is deleted from the rule memory. The analysis engine recalculates the matching rate only for rules that are affected in relation to the deleted event.
  • the rule memory data used for the root cause analysis is data including a plurality of rules, event occurrence information related to the rules, and information such as an event matching rate related to the rules.
  • the rule memory data is expressed by, for example, an object model structured by a plurality of objects and their association.
  • This object model includes, for example, a condition object corresponding to the rule condition, a conclusion object corresponding to the rule conclusion, a calculation object for performing input / output operations between the objects, and all these objects are stored as data.
  • the connection between objects is stored in the memory as pointer data of the connection destination object, for example.
  • Root root cause analysis technology is generally introduced in medium to large-scale information processing systems. This is because in a small-scale system, there are few devices to be monitored, and the cause can often be identified manually, and it is not necessary to introduce a root cause analysis technique. On the other hand, in a large-scale system with many devices to be monitored, it is difficult to manually identify the cause, and the introduction value of the root cause analysis technique is high.
  • the number of rules to be determined increases according to the number of devices to be monitored. If the number of rules to be determined increases, the number of objects in the object model and the number of connections increase, resulting in an increase in rule memory data.
  • the information system includes a plurality of network devices constituting a plurality of sub-networks, a plurality of node devices belonging to the plurality of sub-networks, and a computer that identifies the cause of the event that has occurred.
  • the computer has a storage resource and a control device connected to the storage resource.
  • the storage resource stores one or more rules and subnetwork information indicating to which subnetwork the network device and the node device belong.
  • Each rule indicates topology information about a topology including a node device at one end, a node device at the other end, and a network device that relays them, a condition indicating an event in the topology, and an event that causes the condition to be satisfied And conclusions.
  • the control device performs the following (a1) to (a13) in a predetermined order to generate rule memory data and store it in the storage resource.
  • the predetermined order may be an order according to the description order of (a1) to (a13), and the same rule memory as the rule memory data generated by executing according to the description order. Any other order may be used as long as data can be generated.
  • the control device identifies one or more network devices in a certain first sub-network based on the sub-network information, and manages one or more event occurrence information as a rule condition by the network device
  • the first condition object is generated when it does not exist in the rule memory data, and the generated one or more first condition objects are included in the rule memory data.
  • the control device generates a first internal condition object for aggregating occurrence information of all events of one or more first condition objects when the rule memory data does not exist, and generates the generated first Are included in the rule memory data.
  • the control device associates the first internal condition object with the first condition object.
  • the control device identifies one or more network devices in a certain second sub-network based on the sub-network information, and manages one or more event occurrence information that is a rule condition by the network device
  • the second condition object is generated when it does not exist in the rule memory data, and the generated one or more second condition objects are included in the rule memory data.
  • the control device generates a second internal condition object that aggregates event occurrence information from all of the one or more second condition objects when the rule memory data does not exist. Include condition objects in rule memory data.
  • the control device associates the second internal condition object with the second condition object.
  • the control device generates an aggregate internal condition object for managing aggregate information in which event occurrence information of the first internal condition object and the second internal condition object is aggregated when the rule memory data does not exist, The generated aggregate internal condition object is included in the rule memory data.
  • the control device associates the aggregate internal condition object with the first and second internal condition objects.
  • the control device identifies a plurality of node devices in the first sub-network based on the sub-network information, and manages a plurality of third conditions for managing event occurrence information that is a rule condition by the node device An object is generated when it does not exist in the rule memory data, and the plurality of generated third condition objects are included in the rule memory data.
  • the control device stores an aggregate internal conclusion object that manages determination information for determining a condition, based on the aggregate information of the aggregate internal condition object and the occurrence information of the event of the third condition object, in the rule memory Generated when the data does not exist, and includes the generated aggregate internal conclusion object in the rule memory data.
  • the control device associates the aggregate internal conclusion object with the aggregate internal condition object and the third condition object.
  • the control device has a plurality of conclusion objects for managing an index indicating a possibility that a conclusion indicating an event occurring in each of the network device in the first subnetwork and the network device in the second subnetwork may be caused Is generated when the rule memory data does not exist, and the generated plurality of conclusion objects are included in the rule memory data.
  • the control device associates a plurality of conclusion objects with the aggregate internal conclusion object.
  • the control device receives event occurrence information in a plurality of network devices or node devices, identifies a condition object that manages the received occurrence information based on the rule memory data, and manages an event managed by the identified condition object Update the occurrence object information, update the information managed by each object affected by the update of the occurrence information by following the association with the condition object, update the conclusion object index, and update the updated conclusion object The cause of the event is identified and output based on the indicators.
  • FIG. 1 is a configuration diagram of an information processing system according to the embodiment.
  • FIG. 2 is a diagram illustrating a network configuration example 1 of the information processing system.
  • FIG. 3 is a diagram illustrating an example of the subnet management table in the configuration example 1.
  • FIG. 4 is a diagram illustrating a configuration example 2 of the network of the information processing system.
  • FIG. 5 is a diagram illustrating an example of the subnet management table in the configuration example 2.
  • FIG. 6 is a diagram illustrating an example of the router management table.
  • FIG. 7 is a diagram illustrating an example of an iSCSI target management table.
  • FIG. 8 is a diagram illustrating an example of a general rule.
  • FIG. 9 is a diagram illustrating an example of an expansion rule.
  • FIG. 1 is a configuration diagram of an information processing system according to the embodiment.
  • FIG. 2 is a diagram illustrating a network configuration example 1 of the information processing system.
  • FIG. 3 is a diagram illustrating an example of the subnet management
  • FIG. 10 is a diagram illustrating an example of a disassembly rule when subnets are adjacent to each other.
  • FIG. 11 is a diagram illustrating an image of disassembly when subnets are adjacent to each other.
  • FIG. 12 is a diagram illustrating an example of a disassembly rule when straddling subnets.
  • FIG. 13 is a diagram illustrating an image of disassembly when straddling subnets.
  • FIG. 14 is a diagram illustrating an example of an event message.
  • FIG. 15 is a diagram illustrating an example of an event queue table.
  • FIG. 16 is a diagram illustrating an example of rule memory data in the configuration example 1.
  • FIG. 17 is a diagram illustrating an example of the rule memory data in the configuration example 2.
  • FIG. 16 is a diagram illustrating an example of rule memory data in the configuration example 1.
  • FIG. 18 is a flowchart of the rule process.
  • FIG. 19 is a flowchart of the disassembly rule generation process.
  • FIG. 20 is a flowchart of the same subnet rule memory data generation processing.
  • FIG. 21 is a flowchart of event reception processing.
  • FIG. 22 is a flowchart of the event writing process.
  • program and “object” may be used as the subject.
  • the program and object are subject to processing determined by being executed by the processor of the control device in the memory and communication port ( Since it is performed using the network I / F), the description may be made with the processor as the subject.
  • the processing disclosed with a program or object as the subject may be processing performed by a computer such as a monitoring computer or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
  • Various programs may be installed in each computer by a program distribution server or a computer-readable storage medium.
  • a CPU Central Processing Unit
  • the control device includes dedicated hardware that performs predetermined processing (for example, compression and decompression). May include.
  • the action of “displaying” by the CPU is performed by the CPU on the display device of the first computer having the CPU. And the like, and an act of transmitting display information such as an object displayed on the display device to a second computer having the display device.
  • the second computer receives the display information, the second computer can display the object or the like represented by the display information on the display device.
  • FIG. 1 is a configuration diagram of an information processing system according to an embodiment.
  • the information processing system 100 includes a monitoring computer 101 as an example of a cause analysis device, one or more servers 102, one or more network devices 103, and a communication network 105 (105a, 105b) such as a LAN (Local Area Network). Etc.) and one or more storages 104.
  • the network device 103 is an IP switch, a router, or the like.
  • the monitoring computer 101, the server 102, and the storage 104 are connected to each other via a communication network 105 and a network device 103.
  • the devices (the server 102, the storage device 104, the network device 103, etc.) constituting the information processing system 100 are referred to as “node devices”.
  • the information processing system 100 may include, for example, a host computer, NAS (Network Attached Storage), file server, printer, and the like as node devices. Since the node device is also a monitoring target of the monitoring computer 101, the node device may be referred to as a “monitoring target device”.
  • a logical or physical component such as a device included in the node apparatus is referred to as a “component”. Examples of components include a port, a processor, a storage resource, a storage device, a program, a virtual machine, a logical volume defined within the storage apparatus, and a RAID group. Note that when the monitoring target device and the component are handled without being distinguished, they are called “monitoring target”.
  • the server 102 is a computer that executes applications and the like.
  • the server 102 includes a CPU (Central Processing Unit) 146, a memory 147, a network interface (I / F) 142, and an iSCSI (Internet Small Computer System Interface) initiator 143.
  • the server 102 generates a monitoring agent 141 that is a logical component by executing a predetermined application by the CPU 146. When any event occurs in the monitoring target, the monitoring agent 141 transmits an event message indicating the occurrence of the event to the monitoring computer 101.
  • an iSCSI disk 151 that is a virtual volume to which the storage area of the storage 104 is allocated is formed in the server 102.
  • the server 102 can use the iSCSI disk 151 like a local hard disk through the iSCSI initiator 143.
  • the storage 104 is a device that provides a storage area to the server 102 or the like.
  • the storage 104 includes a storage controller 161, a network I / F 163, and a storage medium 162.
  • the storage medium 162 is a hard disk drive (HDD), but may be another type of storage medium such as a solid storage medium or an optical storage medium instead.
  • the storage 104 provides a storage area for forming the iSCSI disk 151 to the server 102, for example.
  • the storage 104 generates a monitoring agent 166 that is a logical component by executing a predetermined application by a CPU (not shown). When any event occurs in the storage 104, the monitoring agent 166 transmits an event message indicating the occurrence of the event to the monitoring computer 101.
  • the monitoring agent 141 of the server 102 may be configured to be able to monitor an event that has occurred in the storage 104, and an event message of the event that has occurred in the storage 104 may be transmitted to the monitoring computer 101.
  • the monitoring computer 101 is a computer that manages the monitoring target device.
  • the monitoring computer 101 is a general-purpose computer, for example, and includes a CPU 111, a storage resource 112, an input / output device 114, a system bus 116, and a network I / F 115.
  • the storage resource 112 may be a memory, a secondary storage device such as a hard disk drive (HDD), or a combination of a memory and a secondary storage device.
  • the CPU 111, the storage resource 112, the input / output device 114, and the network I / F 115 are connected to each other via the system bus 116.
  • the storage resource 112 includes, for example, a rule memory 121, a rule loader program 122, an event reception program 123, an event writing program 124, a matching rate evaluation program 125, a general rule repository 131, an expansion rule repository 132, A decomposition rule repository 133, an event queue table (TBL) 134, and configuration information 135 are stored.
  • the rule loader program 122, the event reception program 123, the event writing program 124, and the matching rate evaluation program 125 are executed by the CPU 111.
  • the rule memory 121 stores rule memory data used when analyzing the root cause.
  • the general rule repository 131 stores one or more general rules.
  • the expansion rule repository 132 stores one or more expansion rules.
  • the decomposition rule repository 133 stores one or more decomposition rules. General rules, expansion rules, and disassembly rules will be described later with reference to the drawings.
  • the network I / F 115 is an interface device for connecting to the communication network 105.
  • the input / output device 114 is an interface device for connecting to an input / output device.
  • the display 117 is connected to the input / output device 114.
  • the monitoring computer 101 can display the result of the root cause analysis and other information on the display 117, thereby presenting the result of the root cause analysis to the administrator. Note that the monitoring computer 101 may have a display 117 inside.
  • the monitoring computer 101 receives various information such as an event message indicating that an event has occurred in the monitoring target, configuration information of the monitoring target device or the information processing system 100 as a whole, from the monitoring target device.
  • the monitoring computer 101 performs various processes such as a process of analyzing the cause of an event based on various information received from the monitoring target apparatus, and outputs the processing result.
  • some of the monitoring target devices are devices that provide network services such as an iSCSI volume providing service, a file sharing service, and a Web service (hereinafter “service providing devices”).
  • Some monitored devices are devices that use network services provided by service providing devices (hereinafter referred to as “service using devices”).
  • service providing devices since the server 102 uses the iSCSI volume providing service provided by the storage 104, it corresponds to a service using device.
  • the storage 104 corresponds to a service providing apparatus in order to provide an iSCSI volume providing service to the server 102 or the like. Since the service providing apparatus and the service using apparatus have a relationship of providing and using a network service with each other, an event that occurs on the one hand can propagate to the other. For example, when a certain event occurs in the storage 104 corresponding to the service providing apparatus, a similar event may occur in the server 102 (that is, the service using apparatus) that uses the network service provided by the storage 104.
  • the configuration information 135 is information indicating the configuration of the information processing system 100.
  • the node information is configured by the node device, and the configuration of each node device (for example, And what kind of component the node device has), how the connection relationship between the node devices or between the components is, and what is the inclusion relationship between the node device and the component.
  • the configuration information 135 may include information related to the provision or use of the network service (for example, identification information of the service using device, information input to the service providing device when using the network service, etc.).
  • Information input to the service providing device includes, for example, an iSCSI target name and LUN (logical unit number) input when using the iSCSI volume providing service, and a Web server name input when using the Web service. URL etc.
  • FIG. 2 is a diagram illustrating a configuration example 1 of the network of the information processing system.
  • “sv”, “st”, “sw”, “rt”, and “Net” are server 102, storage 104, IP switch, router, and subnetwork (subnet), respectively. Means.
  • the servers (sv1, sv2) corresponding to the service using devices belong to the subnet 1
  • the storage (st1) corresponding to the service providing device is in the subnet 0 different from the subnet 1. belong to.
  • Subnet 1 and subnet 0 are connected to each other via a router (rt1) which is a network device.
  • the subnet to which the server belongs ie, subnet 1
  • the subnet to which the storage (st1) belongs ie, subnet 0
  • FIG. 3 is a diagram illustrating an example of the subnet management table in the configuration example 1.
  • the subnet management table 301 is a table for managing information indicating to which subnet the monitored device belongs.
  • the subnet management table 301 corresponds to a part of the configuration information 135.
  • the subnet management table 301 includes, for each node device, a node ID 311 of the node device, a node type 312 of the node device, a node name 313 of the node device, an IP address 314 assigned to the node device,
  • the subnet ID 315 to which the node device belongs is stored in association with each other.
  • the node ID 311 is an identifier for uniquely identifying the node device.
  • the node type 312 is information indicating the type of the node device. In this embodiment, the node type “SERVER” indicates the server 102, the node type “STORE” indicates the storage 104, the node type “IPSWITCH” indicates the IP switch, and the node type “ROUTER” indicates the router.
  • the subnet ID 315 is an identifier for uniquely specifying a subnet. In the present embodiment, the subnet ID “0” indicates the subnet 0, and the subnet ID “1” indicates the subnet 1.
  • the server 1 and the server 2 belong to the subnet 1 and the storage 1 belongs to the subnet 0.
  • FIG. 4 is a diagram showing a configuration example 2 of the information processing system network.
  • the servers (sv1, sv2) corresponding to the service using devices belong to the subnet 1
  • the storage (st1) corresponding to the service providing device belongs to the subnet 2 different from the subnet 1.
  • Subnet 1 and subnet 2 are connected via another subnet 0 (for example, a backbone LAN).
  • the subnet to which the server belongs ie, subnet 1
  • the subnet to which the storage (st1) belongs ie, subnet 2
  • FIG. 5 is a diagram illustrating an example of the subnet management table in the configuration example 2.
  • the subnet management table 301 has the same configuration as the subnet management table 301 shown in FIG.
  • the monitoring computer 101 can know that the server 1 and the server 2 belong to the subnet 1 and the storage 2 belongs to the subnet 2 by referring to the subnet management table 301 in FIG.
  • FIG. 6 shows an example of the router management table.
  • the router management table 601 is a table for managing information indicating which subnet is connected to which subnet by the router.
  • the router management table 601 corresponds to a part of the configuration information 135.
  • a node ID 611 of the router, a node type 612 of the router, and two subnet IDs 613 and 614 (subnet ID1, subnet ID2) to which the router is connected correspond.
  • the router management table 601 in the figure it can be known that the router 1 connects the subnet 0 and the subnet 1 and the router 2 connects the subnet 0 and the subnet 2.
  • FIG. 7 is a diagram showing an example of the iSCSI target management table.
  • the iSCSI target management table 701 is a table for managing information indicating to which iSCSI initiator the iSCSI target permits connection.
  • the iSCSI target management table 701 corresponds to a part of the configuration information 135.
  • a target ID 711, an iSCSI target name 712, and a connection permission iSCSI initiator name 713 are recorded in association with each other.
  • the target ID 711 is an identifier assigned to each combination of the iSCSI target and the connection permission iSCSI initiator (hereinafter referred to as “iSCSI connection permission set”).
  • the iSCSI target name 712 is the name of the iSCSI target.
  • the connection permitted iSCSI initiator name 713 is the name of the iSCSI initiator that is permitted to connect. For example, it can be seen from the information of the target ID “TG1” that the storage 1 that is the iSCSI target permits the connection to the server 1 that is the iSCSI initiator.
  • FIG. 8 is a diagram illustrating an example of a general rule.
  • the general rule is information describing a condition indicating an event and a conclusion indicating an event identified as a cause when the condition is satisfied in a format independent of the actual configuration of the information processing system 100.
  • a general rule may include multiple conditions or multiple conclusions.
  • the general rule when the general rule includes a condition indicating an event related to the network device 103 (hereinafter, “network event”), the general rule further includes the network device 103 related to the network event and the network device 103.
  • Topology information about service providing apparatuses and service using apparatuses connected to each other via the network is included.
  • a service providing apparatus and a service using apparatus connected to each other via the network apparatus 103 related to a network event are referred to as “service providing apparatus related to a network event” and “service use related to a network event”, respectively.
  • device Sometimes referred to as “device”.
  • the general rules 801 and 802 include IF sections 811, 813 and THEN sections 812, 814. Conditions are described in IF sections 811, 813, and conclusions are described in THEN sections 812, 814. The condition and the conclusion each include the node type of the node device that has generated the event and the event type of the event.
  • the IF section 811 describes two conditions 821 and 822.
  • the THEN section 812 describes one conclusion 823 (“IPSWITCH Port_LinkDown”). This general rule 801 represents that the event indicated by the conclusion 812 is identified as the cause when two conditions 821 and 822 are satisfied.
  • the condition 821 describes “SERVER DiskDrive_Err”, indicates that the node type is “SERVER”, and the event type is “DiskDrive_Err”.
  • a condition 821 indicates an event of a disk failure that occurs in the server 102.
  • the condition 822 describes “IPSWITCH Port_LinkDown”, indicating that the node type is “IPSWITCH” and the event type is “Port_LinkDown”.
  • a condition 822 indicates an event of a link failure of a port occurring in the IP switch. Note that the event indicated by the condition 822 corresponds to a “network event” because it is an event related to the network device 103 called the IP switch.
  • the general rule 801 since the general rule 801 includes a condition indicating a network event, the general rule 801 further includes topology information 831.
  • the topology information 831 includes a node type “IPSWITCH” indicating the network device 103, and “SERVER” and “STORAGE” indicating either the service providing device or the service using device. .
  • This topology information 831 indicates that the server 102 and the storage 104 are connected via an IP switch.
  • the general rule 802 (GenRule 2) includes two conditions 824 and 825 and one conclusion 826. None of the events indicated by the conditions 824 and 825 are network events. Therefore, the general rule 802 does not include topology information.
  • FIG. 9 is a diagram illustrating an example of an expansion rule.
  • the expansion rule is information obtained by expanding the general rule into a format that depends on the actual configuration of the information processing system 100.
  • the information processing system 100 includes one server 102 (server 1), one storage 104 (storage 1), and one IP switch (IP switch 1)
  • the rule 801 is expanded to an expansion rule 901 (ExpRule 1) shown in FIG.
  • the expansion rule 901 includes a condition and a conclusion indicating an event related to a monitoring target that is an actual configuration of the information processing system 100 such as the server 1, the storage 1, and the IP switch 1.
  • the expansion rule 901 includes a condition indicating an event of a disk failure occurring in the server 1 and a condition and a conclusion indicating an event of a port link failure occurring in the IP switch 1.
  • FIG. 10 is a diagram illustrating an example of a disassembly rule when subnets are adjacent to each other.
  • FIG. 11 is a diagram illustrating an image of disassembly when subnets are adjacent to each other.
  • Decomposition rules are information generated based on general rules including conditions indicating network events.
  • the decomposition rule is generated by decomposing a condition indicating a network event included in the general rule into a plurality of conditions for a plurality of groups (for example, subnets). Note that not only conditions indicating network events but also conclusions indicating network events may be decomposed into a plurality of conclusions for a plurality of groups (for example, subnets). In the present embodiment, both the condition and the conclusion indicating the network event are decomposed into a plurality of conditions and conclusions for a plurality of groups.
  • the subnet (hereinafter referred to as the “first subnet”) to which the service using device related to the network event (servers 1 and 2 in the configuration example 1) belongs and the network event
  • the subnet to which the service providing apparatus related to (storage 1 in the configuration example 1) belongs (hereinafter referred to as “second subnet”) is adjacent, the conditions and conclusions indicating the network event are respectively in the first subnet.
  • a network device 103 that connects the first subnet and the second subnet, the condition and the conclusion indicating the event in which the network events are aggregated, the condition and the conclusion in which the event is aggregated in the second subnet, and the first subnet and the second subnet.
  • the conditions and conclusions indicating the network event of the router 1) are divided. It is.
  • an event in which network events are aggregated is referred to as an “internal event”, and a condition and a conclusion indicating the internal event may be referred to as an “internal condition” and an “internal conclusion”, respectively.
  • An event in which a plurality of internal events are aggregated is referred to as an “aggregated internal event”, and a condition and a conclusion indicating the aggregated internal event may be referred to as an “aggregated internal condition” and an “aggregated internal conclusion”, respectively.
  • an event that aggregates network events in a certain subnet A is referred to as “internal event related to subnet A”, and a condition and a conclusion indicating an internal event related to a certain subnet A are referred to as “internal condition related to subnet A” and There may be a case of “internal conclusion relating to subnet A”.
  • the network event of the network device 103 that connects a certain subnet A and another subnet B is referred to as “internal event related to connection of subnet A-B” (or “internal event related to connection of subnet A-subnet B”).
  • the conditions and conclusion indicating the internal event related to the connection of the subnet AB are referred to as “internal condition related to the connection of the subnet AB” and “internal conclusion related to the connection of the subnet AB” (or “subnet A -Internal conditions relating to the connection of the subnet B "and” Internal conclusion relating to the connection of the subnet A-subnet B ").
  • a relationship 1111 indicates a relationship between events indicating conditions and conclusions regarding the general rule 801.
  • the relationship 1111 indicates that the event 1101 is identified as a conclusion, that is, a cause when the events 1102 and 1103 occur.
  • Relationship 1112 indicates a relationship between events indicating conditions and conclusions regarding the disassembly rule generated based on the general rule 801.
  • the event 1106 is an event corresponding to the network event 1103 of the general rule 801, and represents that the network event 1103 of the general rule 801 is decomposed into a plurality of events 1121, 1122, and 1123.
  • the network event 1103 includes an internal event 1121 related to the subnet X (corresponding to the first subnet in this example) and a subnet Y (corresponding to the second subnet in this example).
  • the condition indicating the network event 1103 includes the internal condition related to the subnet X, the internal condition related to the subnet Y, and the internal event 1123 related to the connection of the subnet XY). And the internal conditions related to the connection of the subnet XY).
  • the conclusion is also decomposed in the same manner as described above. Accordingly, the conclusion indicated by the network event 1101 is broken down into an internal conclusion relating to the subnet X, an internal conclusion relating to the subnet Y, and an internal conclusion relating to the connection of the subnet XY.
  • the condition indicating the network event 1103 includes the internal condition relating to the subnet X, the internal condition relating to the subnet Y, and the internal condition relating to the connection of the subnet XY, as shown in the network event 1106.
  • the general rule 801 includes a decomposition rule 1011 including the internal condition 1021 related to the subnet X, a decomposition rule 1012 including the internal condition 1022 related to the subnet Y, and a decomposition rule including the internal condition 1023 related to the connection of the subnet XY. 1013.
  • the condition 1031 indicates an aggregated internal condition in which the internal conditions 1021, 1022, and 1023 are aggregated.
  • a decomposition rule 1001 including the aggregate internal condition 1031 is also generated.
  • the disassembly rules 1011, 1022, and 1013 define the aggregate internal condition 1031 of the disassembly rule 1001 in their THEN part. This means that the event indicated by the conclusion of the decomposition rules 1011, 1022, and 1013 is the same as the event indicated by the aggregate internal condition 1031 (that is, the aggregate internal event).
  • FIG. 12 is a diagram showing an example of disassembly rules when straddling subnets.
  • FIG. 13 is a diagram illustrating an image of disassembly when straddling subnets.
  • the condition and the conclusion indicating the network event are the first and the second, respectively.
  • Internal conditions and conclusions related to the second subnet, internal conditions and conclusions related to the second subnet, and a subnet interposed between the first subnet and the second subnet (hereinafter referred to as “third subnet”) Is divided into the internal conditions and conclusions regarding the connection between the first subnet and the third subnet, and the internal conditions and conclusions regarding the connection between the second subnet and the third subnet.
  • the event relationship 1111 of the general rule 801 is the same as in FIG.
  • the event 1302 includes an internal event 1321 related to the subnet X (corresponding to the first subnet in this example) and an internal event related to the subnet Y (corresponding to the second subnet in this example). 1322, an internal event 1323 related to a subnet (not shown, but assumed to be subnet Z) between subnet X and subnet Y, an internal event 1324 related to connection of subnet XZ, and subnet YZ It shows that it is decomposed into an internal event 1325 related to connection.
  • condition indicating the network event 1103 of the general rule 801 includes an internal condition relating to the subnet X, an internal condition relating to the subnet Y, an internal condition relating to the subnet Z, and an internal condition relating to the connection of the subnet XZ, It is decomposed into internal conditions related to the connection of the subnet YZ. The conclusion is also decomposed in the same manner as the condition indicating the network event.
  • the condition indicating the network event 1103 includes the internal condition relating to the subnet X, the internal condition relating to the subnet Y, the internal condition relating to the subnet Z, and the subnet XZ as shown in the network event 1302.
  • the condition indicating the network event 1103 includes the internal condition relating to the subnet X, the internal condition relating to the subnet Y, the internal condition relating to the subnet Z, and the subnet XZ as shown in the network event 1302.
  • the general rule 801 includes a decomposition rule 1211 including the internal condition 1221 related to the subnet X, a decomposition rule 1212 including the internal condition 1222 related to the subnet Y, a decomposition rule 1213 including the internal condition 1223 related to the subnet Z,
  • the decomposition rule 1214 including the internal condition 1224 relating to the XZ connection and the decomposition rule 1215 including the internal condition 1225 relating to the connection of the subnet YX are decomposed.
  • a disassembly rule 1001 including an aggregate internal condition 1231 in which internal conditions 1221, 1222, 1223, 1224, and 1225 are aggregated is also generated.
  • the decomposition rules 1211, 1222, 1213, 1214, and 1215 describe the aggregate internal condition 1231 of the decomposition rule 1201 in their THEN part. Therefore, the event indicated by the conclusion of the decomposition rules 1211, 1222, 1213, 1214, and 1215 is the same as the event indicated by the aggregate internal condition 1231 (that is, the aggregate internal event).
  • FIG. 14 is a diagram illustrating an example of an event message.
  • the event message 1401 is a message for notifying the occurrence of an event in the monitoring target, and is transmitted to the monitoring computer 101 by the monitoring agents 141 and 166.
  • the event message 1401 includes, for example, a monitoring target name 1411 of a monitoring target that is an event generation source, and an event type 1412 of the event that has occurred.
  • the monitoring target name 1411 is the name of the monitoring target. When the monitoring target is a node device, the monitoring target name 1411 is a node name.
  • FIG. 15 is a diagram illustrating an example of the event queue table.
  • the event queue table 134 is a table for managing event information 1511 related to an event that has occurred.
  • the event reception program 123 receives the event message 1401
  • the event reception program 123 enters the event information 1511 of the event notified by the received event message 1401 in this table.
  • the event queue table 134 functions as a buffer for the event writing program 124.
  • the event writing program 124 acquires the event information 1511 from the event queue table 134 and updates the contents of the rule memory data based on the event information 1511.
  • the event queue table 134 may manage event information 1511 related to internal events and aggregated internal events, in addition to event information related to normal events that occur in the monitoring target.
  • Each event information 1511 includes, for example, a monitoring target monitoring target type 1501 that is a generation source of the generated event, a monitoring target monitoring target name 1502 that is a generation source of the generated event, and an event type 1503 of the generated event. And the reception date and time 1504 regarding the event that occurred.
  • the monitoring target type 1501 is information indicating the type of the monitoring target. When the monitoring target is a node device, the monitoring target type 1501 is a node type (“SERVER”, “STORAGE”, “IPSWITCH”, “ROUTER”, etc.).
  • the monitoring target name 1502 is the name of the monitoring target. When the monitoring target is a node device, the monitoring target name 1502 is a node name.
  • the reception date and time 1504 is the date and time when the event reception program 123 receives the event message 1401.
  • FIG. 16 is a diagram illustrating an example of rule memory data in the configuration example 1.
  • FIG. 17 is a diagram illustrating an example of the rule memory data in the configuration example 2.
  • the rule memory data includes at least a plurality of rules used for root cause analysis, occurrence information of events related to the rules, and information indicating a possibility that an event related to the rules may be a cause. It is data expressed by their association.
  • the rule memory data is generated based on, for example, a decomposition rule and used when analyzing the root cause.
  • the rule memory data includes, for example, a condition object 1611, internal condition objects 1622 (1622a, 1622b, etc.), 1722 (1722, a 1722b, 1722c, etc.), aggregated internal condition objects 1621, 1721, a conclusion object 1612, Conclusion objects 1642 and 1742, aggregated internal conclusion objects 1641 and 1741, an operator object 1631, and connection information thereof are included.
  • Each object is data (object data) that is implemented as a structure or a class in a computer language and is stored in the storage resource 112 during a program operation.
  • Connection information is, for example, information that holds identifiers of objects to be connected in pairs.
  • the connection information has direction information, and the direction information indicates a relationship in which an output of a certain object is an input of another object, in other words, an upstream / downstream relationship between the objects.
  • the connection information has thickness information.
  • the thickness information corresponds to the number of inputs to the operator object 1631 and is an important element in the BLEND operator object 1631c described later.
  • the thickness information may be a value indicating the thickness. In FIG. 16 and FIG. 17, the connection thickness value is indicated by “ ⁇ number”.
  • the connection from the condition object 1611 generally has a thickness of 1, but the thickness does not necessarily have to be 1.
  • condition object 1611 is output to the target object connected to the condition object 1611.
  • the conclusion object 1612 receives an output from the source object connected to the conclusion object 1612 as an input.
  • the operator object 1631 receives an output of one or more source objects connected to the operator object 1631 as an input, and outputs it to a target object connected to the operator object 1631.
  • Internal condition objects 1622, 1722, aggregated internal condition objects 1621, 1721, internal conclusion objects 1642, 1742, and aggregated internal conclusion objects 1641, 1741 receive as inputs the output of one or more source objects connected to these objects, Output to the target objects connected to these objects.
  • the condition object 1611 is an object that manages an event related to a specific monitoring target and occurrence information of the event.
  • the condition object 1611 corresponds to the conditions of the expansion rule and the decomposition rule.
  • the condition object 1611 manages an event of a disk failure of the server 1 and occurrence information of the event.
  • event information 1511 of the event that has occurred is added to the event queue table 134 by the event reception program 123.
  • the event writing program 124 acquires the event information 1511 added to the event queue table 134 and sets the output value of the condition object 1611 that manages the disk failure of the server 1 to true (that is, 1).
  • the condition object 1611 outputs the output value (true) to the target object connected thereto.
  • the operator object 1631 includes an OR operator object 1631b, an AND operator object 1631a, and a BLEND operator object 1631c.
  • the OR operator object 1631b is an object that outputs true (1) to the target object when any of the outputs of one or more source objects is true (1). In the matching rate calculation process described later, the OR operator object 1631b outputs the maximum output value of one or more source objects to the target object. In the case of the OR operator object 1631b, the connection thickness with the target object is the same as the connection thickness with the source object.
  • the AND operator object 1631a is an object that outputs true (1) to the target object when all the outputs of one or more source objects are true (1). In the matching rate calculation process described later, the AND operator object 1631a outputs an AND output value of Expression 2 below to the target object.
  • the connection thickness on the output side of the AND operator object 1631a is X calculated by the following equation (1).
  • X indicates the sum of the thicknesses of all inputs of the target object of the AND operator object 1631a. Other similar descriptions have the same meaning.
  • Inputs to the BLEND operator object 1631c are classified into two types: inputs that are basic inputs (in principle, one) and inputs that are delta inputs. 16 and 17, the delta input is represented by a connection via a circle. In the matching rate calculation process described later, the BLEND operator object 1631c outputs the BLEND output value of Expression 3 below to the target object (typically, the conclusion object 1612).
  • the internal condition objects 1622, 1722 are objects that aggregate all events managed by the condition object 1611 located on the upstream side.
  • the internal condition objects 1622 and 1722 manage aggregate information obtained by aggregating event occurrence information from all condition objects located on the upstream side.
  • the internal condition objects 1622, 1722 correspond to the internal conditions of the decomposition rules (internal conditions 1021 to 1023 in FIG. 10, internal conditions 1221 to 1225 in FIG. 12).
  • the internal condition object 1622a (EaDiv1-1 (Net1)) corresponds to the internal condition 1021 related to the subnet X of the decomposition rule 1011 (subnet X is specified as subnet 1), and subnet 1 Of network events (in this example, one network event of switch 1) is collected.
  • the internal condition object 1622b (EaDiv1-5 (Net0)) corresponds to the internal condition 1022 related to the subnet Y of the decomposition rule 1012 (subnet Y is specified as the subnet 0), and a network event in the subnet 0 (this example Then, the occurrence information of one network event of the switch 2 is collected.
  • the internal condition object 1722b (EaDiv1-3 (Net0)) corresponds to the internal condition 1223 related to the subnet Z of the decomposition rule 1213 (the subnet Z is between subnet 1 and subnet 2).
  • the occurrence information of network events in the subnet 0 (specified in the intervening subnet 0) (in this example, two network events of the switch 2 and the switch 3) are aggregated.
  • the connection thickness of the internal condition objects 1622, 1722 to the target object is the same as the connection thickness from the source object.
  • the aggregate internal condition objects 1621 and 1721 are objects that aggregate all the events managed by the internal condition objects 1622 and 1722 located on the upstream side.
  • the aggregated internal condition objects 1621 and 1721 manage aggregated information obtained by aggregating event occurrence information from all of the internal condition objects 1622 and 1722 located on the upstream side.
  • the aggregate internal condition objects 1621 and 1721 correspond to the aggregate internal conditions (aggregate internal condition 1031 in FIG. 10 and aggregate internal condition 1231 in FIG. 12) of the decomposition rule.
  • the aggregated internal condition object 1621 (Ea (Net1-Net0)) corresponds to the aggregated internal condition 1031 of the disassembly rule 1001, and the internal condition objects 1622a and 1622b and the occurrence information of the network event of the router 1
  • the event occurrence information from all of the condition objects 1611 managing the event information is aggregated. That is, the aggregate internal condition object 1621 (Ea (Net1-Net0)) aggregates the occurrence information of the network events of all the network devices 103 (switch 1, switch 2, and router 1) in the subnet 1 and subnet 0.
  • the aggregated internal condition object 1721 (Ea (Net1-Net2)) corresponds to the aggregated internal condition 1231 of the disassembly rule 1201, and the occurrence of network events of the internal condition objects 1722a, 1722b, 1722c, and router 1
  • the event occurrence information from all of the condition object 1611 for managing information and the condition object 1611 for managing the occurrence information of the network event of the router 2 are collected. That is, the aggregated internal condition object 1721 (Ea (Net1-Net2)) is the network of the subnet 1, subnet 2, and all the network devices 103 (switches 1 to 4 and routers 1 and 2) between the subnet 1 and subnet 2. Collect event occurrence information.
  • the conclusion object 1612 manages an event related to a specific monitoring target (in the example shown in FIGS. 16 and 17, a network event) and an index (for example, a matching rate) indicating a possibility that a conclusion indicating the event is a cause.
  • the conclusion object 1612 corresponds to a conclusion such as an expansion rule.
  • the conclusion object 1612 manages an event of a network failure of the switch 1 and an index indicating a possibility that the event is a cause.
  • the internal conclusion objects 1642 (1642a, 1642b, etc.) and 1742 (1742a, 1742b, 1742c, etc.) are objects that aggregate all the events managed by the conclusion object 1612 located downstream thereof.
  • the internal conclusion objects 1642 and 1742 correspond to the internal conclusion of the decomposition rule.
  • the internal conclusion object 1642a (EaDiv1-1 (Net1)) corresponds to the internal conclusion of the decomposition rule 1011 and is a network event in the subnet 1 (in this example, one network event of the switch 1). Aggregate.
  • the internal conclusion object 1642b (EaDiv1-5 (Net0)) corresponds to the internal conclusion of the decomposition rule 1012 and aggregates network events in the subnet 0 (in this example, one network event of the switch 2).
  • the internal conclusion object 1742b (EaDiv1-3 (Net0)) corresponds to the internal conclusion of the decomposition rule 1213, and the network event in the subnet 0 (in this example, 2 of the switch 2 and the switch 3). Network events).
  • the aggregated internal conclusion objects 1641 and 1741 are objects that aggregate all the events that are aggregated in each of the internal conclusion objects 1622 and 1742 located on the downstream side thereof.
  • the aggregate internal conclusion objects 1641 and 1741 correspond to the aggregate internal conclusion of the decomposition rule.
  • the aggregated internal conclusion object 1641 (Ea (Net1-Net0)) corresponds to the aggregated internal conclusion of the decomposition rule 1001
  • the aggregate internal conclusion object 1641 (Ea (Net 1 -Net 0)) aggregates network events of all the network devices 103 (switch 1, switch 2, and router 1) in the subnet 1 and subnet 0.
  • the aggregated internal conclusion object 1741 (Ea (Net1-Net2)) corresponds to the aggregated internal conclusion of the disassembly rule 1201, and the internal conclusion objects 1742a, 1742b, 1742c, and the network events of the router 1 All of the events aggregated by the condition object 1611 for managing the occurrence information and the condition object 1611 for managing the occurrence information of the network event of the router 2 are aggregated.
  • the aggregated internal conclusion object 1741 (Ea (Net1-Net2)) is the network of the subnet 1, subnet 2, and all the network devices 103 (switches 1 to 4 and routers 1 and 2) between the subnet 1 and subnet 2. Collect event occurrence information.
  • the object is an internal condition object 1622, 1722, an aggregated internal condition object 1621, 1721, an internal conclusion object 1642, 1742, or an aggregated internal conclusion object 1641, 1741
  • at least a corresponding event is detected as a data structure (that is, The event writing program 124 may have a flag indicating whether the event information 1511 has been acquired).
  • FIG. 18 is a flowchart of rule processing.
  • the rule processing (steps 1801 to 1808) is repeated for the number of general rules existing in the general rule repository 131.
  • Step 1801 The rule loader program 122 selects one general rule i, and determines whether or not two or more node types are included in the IF part of the selected general rule i.
  • Step 1802 When the IF part of the general rule i includes two or more node types (step 1801: YES), the rule loader program 122 determines that the condition indicating the network event is in the IF part of the general rule i. It is determined whether or not it is included.
  • Step 1803 When a condition indicating a network event is included in the IF part of the general rule i (Step 1802: YES), the rule loader program 122 uses the service providing apparatus related to the network event and the service usage related to the network event. It is determined whether or not the connection with the device is an iSCSI connection.
  • the rule loader program 122 is equal to the number of iSCSI connection permission sets existing in the iSCSI target management table 701. Steps 1804 to 1807 are repeated.
  • Step 1804 The rule loader program 122 selects one iSCSI connection permission set j from the subnet management table 301, and the subnet to which the iSCSI target included in the iSCSI connection permission set j belongs (in FIGS. 18 and 19). Subnet X) and the subnet to which the iSCSI initiator included in the iSCSI connection permission set j belongs (subnet Y in FIGS. 18 and 19) is acquired.
  • Step 1805 the rule loader program 122 determines whether the subnet X and the subnet Y are different.
  • Step 1806 When the subnet X and the subnet Y are different (step 1805: YES), the rule loader program 122 performs a decomposition rule generation process (see FIG. 19). After the disassembly rule generation processing is completed, the rule loader program 122 newly selects one iSCSI connection permission set, and performs the processing from step 1804 to step 1807 again on the selected iSCSI connection permission set.
  • Step 1807 If the subnet X and the subnet Y are the same (step 1805: NO), the rule loader program 122 performs rule memory data generation processing for the same subnet (see FIG. 20). After the rule memory data generation process for the same subnet is completed, the rule loader program 122 newly selects one iSCSI connection permission set, and performs the processing of Steps 1804 to 1807 again for the selected iSCSI connection permission set. I do.
  • Step 1808 When two or more node types are not included in the IF part of the general rule i in Step 1801 (Step 1801: NO), a condition indicating a network event in the IF part of the general rule i in Step 1802 Is not included (step 1802: NO), or when the connection between the service providing apparatus and the service using apparatus related to the network event is not an iSCSI connection in step 1803 (step 1803: NO), the rule loader The program 122 performs rule memory data generation processing for the same subnet. After the same subnet rule memory data generation processing is completed, the rule loader program 122 newly selects one general rule, and performs the processing of steps 1801 to 1808 again for the selected general rule.
  • the rule loader program 122 ends the rule processing.
  • the decomposition rule is generated based on the general rule.
  • the rule memory data is generated based on the general rule or the expanded rule obtained by expanding the general rule without generating the decomposition rule. That is, since the decomposition rule can be generated based on the common general rule, or the rule memory data can be generated directly, the labor of the rule creator does not increase.
  • FIG. 19 is a flowchart of the disassembly rule generation process.
  • FIG. 19 shows processing when subnet X and subnet Y straddle other subnets (subnet Z in accordance with the examples shown in FIGS. 12 and 13). If subnet X and subnet Y are adjacent, step 1903 and any one of steps 1904 or 1905 can be omitted.
  • the condition and the conclusion indicating the network event 1103 of the general rule 801 are the internal condition 1221 and the internal conclusion for the subnet X, the internal condition 1222 and the internal conclusion for the subnet Y, and the internal condition 1223 and the subnet Z, respectively.
  • a decomposition rule 1001 including an aggregate internal condition 1231 that aggregates all of the above is generated.
  • the rule loader program 122 generates a decomposition rule 1211 including an internal condition 1221 related to the subnet X.
  • Step 1902 The rule loader program 122 generates a decomposition rule 1212 including the internal condition 1222 relating to the subnet Y.
  • Step 1903 The rule loader program 122 generates a decomposition rule 1213 including an internal condition 1223 related to the subnet Z.
  • Step 1904 The rule loader program 122 generates a decomposition rule 1214 including an internal condition 1224 related to the connection of the subnet XZ.
  • Step 1905 The rule loader program 122 generates a decomposition rule 1215 including an internal condition 1225 related to the connection of the subnet YZ.
  • Step 1906 The rule loader program 122 generates a decomposition rule 1001 including an aggregated internal condition 1231 (that is, AggregateEvent) in which all of the internal conditions 1221 to 1225 are aggregated, and ends the process.
  • an aggregated internal condition 1231 that is, AggregateEvent
  • the disassembly rules 1211 to 1215 including the internal conditions 1221 to 1225 include, for example, a condition indicating a network event, topology information about the network device and a node device connected via the network device, and a network It is generated to include information indicating to which subnet a device and a node device connected via the network device belong.
  • the THEN part includes an aggregate internal conclusion called AggregateEvent.
  • the AggregateEvent is generated for each event of the subnet X, the subnet Y, and the network device 103 (the event type described in the original general rule). For example, a disassembly rule for a general rule that includes link down as a condition is different from a disassembly rule for a general rule that includes a processor failure of the switch itself as a condition section.
  • AggregateEvent has a condition or conclusion that an event included in the general rule condition has occurred in any of the network devices 103 on the communication path from the node device in the subnet X to the node device in the subnet Y. means.
  • the decomposition into the decomposition rules 1211 to 1215 has a form that does not depend on the event type of the server 102 or the storage 104 of the general rule that is the source of the decomposition. Therefore, the same disassembly rule can be shared between an iSCSI error of the server 102 and a DNS error (assuming that the DNS server is in the subnet Y).
  • the IP switch indicated by the disassembly rules 1211 and 1212 may be a switch that is shared by any device for communication to the subnet Y (or subnet X) in the subnet X (or subnet Y). Is not limited. For example, if all tablet computers in the subnet X pass through the switch A (wireless LAN access point) and the server computer does not pass through the switch A, if the general rule that applies only to the tablet computer is an object, the switch A It becomes a target of the decomposition rule 1211.
  • FIG. 20 is a flowchart of rule memory data generation processing for the same subnet.
  • the rule loader program 122 generates an expansion rule from the general rule based on the system topology of the information processing system 100, and stores the generated expansion rule in the expansion rule repository 132.
  • Step 2002 The rule loader program 122 acquires the expansion rule from the expansion rule repository 132, and parses the acquired expansion rule.
  • Step 2003 The rule loader program 122 acquires a condition from the IF part of the expansion rule acquired in Step 2002.
  • Step 2004 The rule loader program 122 checks whether or not a condition object corresponding to the condition acquired in Step 2003 exists in the rule memory data.
  • Step 2005 When the corresponding condition object is not found (Step 2005: NO), the rule loader program 122 advances the process to Step 2006. On the other hand, when the condition object is found (step 2005: YES), the rule loader program 122 advances the process to step 2007.
  • Step 2006 The rule loader program 122 generates a condition object and an operator object for the condition acquired in Step 2003 in the rule memory data.
  • the rule loader program 122 connects the newly generated condition object and operator object to each other.
  • Step 2007 The rule loader program 122 checks whether or not processing has been completed for all conditions in the IF section. If all processing has been completed (step 2007: YES), the rule loader program 122 advances the processing to step 2008. On the other hand, if there are still unprocessed conditions (step 2007: NO), the rule loader program 122 advances the process to step 2003.
  • Step 2008 The rule loader program 122 acquires a conclusion from the THEN part of the expansion rule acquired in Step 2002.
  • Step 2009 The rule loader program 122 generates a conclusion object corresponding to the conclusion obtained in Step 2008 in the rule memory data. Further, the rule loader program 122 connects all the operator objects related to the generated conclusion object. Further, when two or more conclusions are acquired in step 2008, the rule loader program 122 generates a corresponding conclusion object in the rule memory data for each of the acquired conclusions, and generates the generated conclusion object. Connects all operator objects associated with.
  • Step 2010 The rule loader program 122 checks whether or not the processing has been completed for all the expansion rules in the expansion rule repository 132. If all processing has been completed (step 2010: YES), the same subnet rule memory data generation processing is terminated. On the other hand, if there are unexpanded unrolled rules (step 2010: NO), the rule loader program 122 advances the process to step 2002.
  • rule memory data generation processing when a plurality of subnets according to the present embodiment are included will be described.
  • This rule memory generation process is executed after the decomposition rule generation process is executed.
  • Step 3001 The rule loader program 122 examines the contents of all decomposition rules, and extracts all of the aggregate internal conditions, internal conditions, aggregate internal conclusions and internal conclusions included in the decomposition rules. The rule loader program 122 advances the process to step 3002.
  • Step 3002 The rule loader program 122 starts a loop (loop 1) that repeats the processing from Step 3003 below for each of the aggregate internal condition, internal condition, aggregate internal conclusion, and internal conclusion extracted in Step 3001.
  • loop 1 a loop that repeats the processing from Step 3003 below for each of the aggregate internal condition, internal condition, aggregate internal conclusion, and internal conclusion extracted in Step 3001.
  • Step 3003 The rule loader program 122 sends an aggregate internal condition object (Ea (NetX ⁇ ) corresponding to the aggregate internal condition 1231 (Ea (NetX ⁇ NetY)) extracted from the decomposition rule 1201 to the IF part 1601 of the rule memory data. NetY)) is generated, and the process proceeds to step 3004. If an aggregate internal condition object (Ea (NetX-NetY)) corresponding to the aggregate internal condition 1231 (Ea (NetX-NetY)) exists in the rule memory data, the aggregate internal condition object should be used. Does not create a corresponding object. In this way, since the existing aggregate internal condition object can be used, the data amount of the rule memory data can be reduced.
  • this aggregated internal condition object uses a service providing device (for example, storage) belonging to subnet Y and a plurality of service using devices (for example, servers) belonging to subnet X. Can be shared in cause analysis for each.
  • a service providing device for example, storage
  • devices for example, servers
  • subnets X and Y mean subnets to which node devices (that is, a service providing device and a service using device) that provide and use network services with each other belong.
  • the subnet X is the subnet to which the server 102 that is the service using device belongs
  • the subnet Y is the subnet to which the storage 104 that is the service providing device belongs (see the disassembly rule 1201).
  • Ea Net1-Net2
  • the rule loader program 122 generates an OR operator object 1631b on the upstream side of the generated aggregate internal condition object in the IF section. Then, the rule loader program 122 generates a connection for the aggregate internal condition object generated from the generated OR operator object 1631b. That is, the rule loader program 122 generates a connection so that the output value of the OR operator object 1631b becomes the input value of the aggregate internal condition object 1721.
  • Step 3004 The rule loader program 122 belongs to the subnet X based on the contents of the internal condition 1221 extracted from the disassembly rule 1211, and is used for communication between the subnet X and the subnet Y ( In the disassembly rule of FIG. 12, the IP switch) is searched.
  • the rule loader program 122 advances the process to step 3005.
  • the rule loader program 122 generates an internal condition object (EaDiv1-1 (NetX)) corresponding to the internal condition 1221 extracted from the decomposition rule 1211 in the IF section. If the internal condition object (EaDiv1-1 (NetX)) corresponding to the internal condition 1221 exists in the rule memory data, the corresponding object is not generated. As described above, since the existing internal condition object can be used, the data amount of the rule memory data can be reduced.
  • the subnet X is a subnet to which the server 102 that is a service using apparatus belongs. When the information processing system 100 is the configuration example 2, the server 1 belongs to the subnet 1. Therefore, an internal condition object (EaDiv1-1 (Net1)) is generated (internal condition object 1722a in FIG.
  • the rule loader program 122 generates an OR operator object 1631b on the upstream side of the internal condition object generated by the IF unit (not shown in FIG. 17). Then, the rule loader program 122 generates a connection for the internal condition object generated from the generated OR operator object 1631b. Thereafter, the rule loader program 122 proceeds with the process to step 3006.
  • Step 3006 The rule loader program 122 generates a condition object corresponding to a condition related to each of the network devices 103 in the subnet X (IP switch in the disassembly rule of FIG. 12). If a condition object corresponding to the condition exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced.
  • the subnet X is the subnet 1
  • the switch 1 belongs to the subnet 1. Accordingly, a condition object corresponding to the condition related to the switch 1 is generated.
  • the rule loader program 122 generates a connection from each of the generated condition objects to the OR operator object 1631b generated in step 3005. Thereafter, the rule loader program 122 proceeds with the process to step 3007.
  • Step 3007 The rule loader program 122 belongs to the subnet Y based on the contents of the internal condition 1222 extracted from the disassembly rule 1212, and is used for communication between the subnet X and the subnet Y ( In the disassembly rule of FIG. 12, the IP switch) is searched. Thereafter, the rule loader program 122 advances the process to step 3008.
  • the rule loader program 122 generates an internal condition object (EaDiv1-5 (NetY)) corresponding to the internal condition 1222 extracted from the decomposition rule 1212 in the IF section.
  • an internal condition object (EaDiv1-5 (NetY)) corresponding to the internal condition 1222 exists in the rule memory data, the corresponding object is not generated.
  • the subnet Y is a subnet to which the storage 104 that is a service providing apparatus belongs. When the information processing system 100 is the configuration example 2, the storage 2 belongs to the subnet 2. Therefore, an internal condition object (EaDiv1-5 (Net2)) is generated (internal condition object 1722c in FIG.
  • the rule loader program 122 generates an OR operator object 1631b on the upstream side of the internal condition object generated by the IF unit (not shown in FIG. 17). Then, the rule loader program 122 generates a connection for the internal condition object generated from the generated OR operator object 1631b. Thereafter, the rule loader program 122 advances the process to step 3009.
  • Step 3009 The rule loader program 122 generates a condition object corresponding to a condition related to each of the network devices 103 in the subnet Y (IP switch in the disassembly rule of FIG. 12). If a condition object corresponding to the condition exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced.
  • the subnet Y is the subnet 2
  • the switch 4 belongs to the subnet 2. Accordingly, a condition object corresponding to the condition related to the switch 4 is generated.
  • the rule loader program 122 generates a connection from each of the generated condition objects to the OR operator object 1631b generated in step 3008. Thereafter, the rule loader program 122 proceeds with the process to step 3010.
  • Step 3010 The rule loader program 122 searches for a router used for communication between the subnet X and the subnet Y, which is a boundary router of the subnet X (router connecting subnets). Then, the rule loader program 122 generates a condition object corresponding to the condition related to the searched router. If a condition object corresponding to a condition related to the corresponding router exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced. Furthermore, the rule loader program 122 creates a connection from the generated condition object to the OR operator object 1631b generated in step 3003. Thereafter, the rule loader program 122 proceeds with the process to step 3011.
  • Step 3011 The rule loader program 122 searches for a router that is a boundary router of the subnet Y and is used for communication between the subnet X and the subnet Y. Then, the rule loader program 122 generates a condition object corresponding to the condition related to the searched router. If a condition object corresponding to a condition related to the corresponding router exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced. Furthermore, the rule loader program 122 creates a connection from the generated condition object to the OR operator object 1631b generated in step 3003. Thereafter, the rule loader program 122 advances the process to step 3012.
  • Step 3012 The rule loader program 122 is located between the subnet X and the subnet Y based on the contents of the internal condition 1223 extracted from the decomposition rule 1213, and is used for communication between the subnet X and the subnet Y.
  • Network device 103 IP switch in the disassembly rule of FIG. 12
  • the routers boundary routers
  • these border routers may not be searched in steps 3010 and 3011, but may be searched in step 3012 instead.
  • the rule loader program 122 proceeds with the process to step 3013.
  • the rule loader program 122 generates an internal condition object (EaDiv1-3 (NetZ)) corresponding to the internal condition 1223 extracted from the decomposition rule 1213 in the IF section. Note that if the internal condition object (EaDiv1-3 (NetZ)) corresponding to the internal condition 1223 exists in the rule memory data, the corresponding object is not generated. As described above, since the existing internal condition object can be used, the data amount of the rule memory data can be reduced. For example, the internal condition object (EaDiv1-3 (NetZ)) can be shared in cause analysis regarding the service providing apparatus and the service using apparatus between two subnets connected across the subnet Z.
  • the subnet 0 is interposed between the subnet 1 and the subnet 2. Therefore, an internal condition object (EaDiv1-3 (Net0)) is generated (internal condition object 1722b in FIG. 17). Further, the rule loader program 122 generates an OR operator object 1631b on the upstream side of the internal condition object generated by the IF unit. Then, the rule loader program 122 generates a connection for the internal condition object generated from the generated OR operator object 1631b. Thereafter, the rule loader program 122 advances the process to step 3014.
  • an internal condition object EaDiv1-3 (Net0)
  • the rule loader program 122 generates an OR operator object 1631b on the upstream side of the internal condition object generated by the IF unit. Then, the rule loader program 122 generates a connection for the internal condition object generated from the generated OR operator object 1631b. Thereafter, the rule loader program 122 advances the process to step 3014.
  • Step 3014 The rule loader program 122 generates a condition object corresponding to a condition related to each of the network devices 103 (IP switches in the disassembly rule of FIG. 12) between the subnet X and the subnet Y. If a condition object corresponding to the condition exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced.
  • the subnet 0 is interposed between the subnet 1 and the subnet 2, and the switch 2 and the switch 3 belong to the subnet 0. Therefore, a condition object corresponding to the condition related to each of the switch 2 and the switch 3 is generated.
  • the rule loader program 122 generates a connection from each of the generated condition objects to the OR operator object 1631b generated in step 3008. Thereafter, the rule loader program 122 proceeds with the process to step 3015.
  • the rule loader program 122 refers to the disassembly rule 1201, and identifies a service providing device or service using device related to the disassembly rule 1201 for which an event is specified in the disassembly rule 1201.
  • the service providing apparatus or the service using apparatus related to the disassembly rule 1201 corresponds to the server 1, the server 2, and the storage 2. It has not been. Therefore, when the information processing system 100 is the configuration example 2, the server 1 and the server 2 are specified.
  • Step 3016 The rule loader program 122 generates a condition object corresponding to a condition related to each of the service providing device and the service using device specified in Step 3015. If a condition object corresponding to the condition exists in the rule memory data, the corresponding object is not generated. In this way, since the existing condition object can be used, the data amount of the rule memory data can be reduced.
  • the information processing system 100 is the configuration example 2
  • a condition object corresponding to a condition related to each of the server 1 and the server 2 is generated.
  • the rule loader program 122 generates an AND operator object 1631a on the downstream side of the condition object generated by the IF unit. Then, the rule loader program 122 generates a connection from the generated AND operator object 1631a to the generated condition object. Thereafter, the rule loader program 122 proceeds with the process to step 3015.
  • Step 3017 The rule loader program 122 generates a connection from the aggregate internal condition object (Ea (NetX-NetY)) generated in Step 3003 to the AND operator object 1631b generated in Step 3016. Thereafter, the rule loader program 122 proceeds with the process to step 3015.
  • Ea NetX-NetY
  • Step 3018 The rule loader program 122 generates an OR operator object in the THEN part, and generates a connection for each OR operator generated from each of the AND operator objects 1631b generated in Step 3016. Note that the thickness of this connection is the number of inputs of the connected AND operator object 1631b. Thereafter, the rule loader program 122 proceeds with the process to step 3019.
  • Step 3019 The rule loader program 122 generates an aggregated internal conclusion object (Ea (NetX-NetY)) in the THEN part.
  • Ea NetX-NetY
  • the aggregate internal conclusion object (Ea (NetX-NetY)) exists in the rule memory data
  • the corresponding aggregate internal conclusion object is not generated. In this way, since the existing aggregate internal conclusion object can be used, the data amount of the rule memory data can be reduced.
  • an aggregated internal conclusion object (Ea (Net1-Net2)) is generated (aggregated internal conclusion object 1741 in FIG. 17).
  • the rule loader program 122 generates a connection toward the aggregate internal conclusion object generated from the OR operator object 1631b generated in step 3018. Note that the thickness of this connection is the same as the input thickness of the connected OR operator object 1631b. Thereafter, the rule loader program 122 advances the process to step 3020.
  • Step 3020 The rule loader program 122 generates an internal conclusion object (EaDiv1-1 (NetX)) in the THEN part.
  • the internal conclusion object (EaDiv1-1 (NetX)) exists in the rule memory data, the corresponding object is not generated. In this way, since the existing internal conclusion object can be used, the data amount of the rule memory data can be reduced.
  • an internal conclusion object (EaDiv1-1 (Net1)) is generated (internal conclusion object 1742a in FIG. 17). Further, the rule loader program 122 generates a connection from the aggregated internal conclusion object (Ea (NetX-NetY)) generated in Step 3019 to the generated internal conclusion object.
  • this connection is the same as the input thickness of the connected aggregate internal conclusion object. Further, this connection may be made via the OR operator object 1631b or the AND operator object 1631a. Thereafter, the rule loader program 122 advances the process to Step 3021.
  • Step 3021 The rule loader program 122 repeats the following processing of Step 3021-1 to Step 3021-4 for each of the network devices 103 in the subnet X searched in Step 3004. In addition, after finishing the processing for each, the rule loader program 122 advances the processing to Step 3022. First, the rule loader program 122 selects one of the network devices 103 in the subnet X searched in Step 3004 (hereinafter referred to as “target device” in Steps 3021-1 to 3021-4).
  • Step 3021-1 The rule loader program 122 generates a conclusion object 1612 and a BLEND operator object 1631c corresponding to the conclusion related to the target device.
  • a conclusion object corresponding to a conclusion related to the target device exists in the rule memory data, the corresponding object is not generated. In this way, since the existing conclusion object can be used, the data amount of the rule memory data can be reduced. Thereafter, the rule loader program 122 advances the processing to Step 3021-2.
  • Step 3021-2 The rule loader program 122 generates a connection from the BLEND operator object 1631c generated at Step 3021-1 to each of the conclusion objects generated at Step 3021-1. Thereafter, the rule loader program 122 advances the process to Step 3021-3.
  • Step 3021-3 The rule loader program 122 generates a connection from the internal conclusion object (EaDiv1-1 (NetX)) generated at Step 3020 to the basic input of the BLEND operator object 1631c generated at Step 3021-1. To do. Note that the connection thickness is the same as the input thickness of the connected internal conclusion object (EaDiv1-1 (NetX)). Thereafter, the rule loader program 122 advances the processing to Step 3021-4.
  • Step 3021-4 The rule loader program 122 generates a connection from the condition object corresponding to the condition related to the target device to the delta input of the BLEND operator object 1631c generated in Step 3021-1.
  • Step 3022 The rule loader program 122 generates an internal conclusion object (EaDiv1-5 (NetY)) in the THEN part.
  • the internal conclusion object (EaDiv1-5 (NetX)) exists in the rule memory data, the corresponding object is not generated. In this way, since the existing internal conclusion object can be used, the data amount of the rule memory data can be reduced.
  • an internal conclusion object (EaDiv1-5 (Net2)) is generated (internal conclusion object 1742c in FIG. 17). Further, the rule loader program 122 generates a connection from the aggregated internal conclusion object (Ea (NetX-NetY)) generated in Step 3019 to the internal conclusion object.
  • this connection is the same as the input thickness of the connected aggregate internal conclusion object. Further, this connection may be made via the OR operator object 1631b or the AND operator object 1631a. Thereafter, the rule loader program 122 proceeds with the process to step 3023.
  • Step 3023 The rule loader program 122 repeats the following processing of Step 3023-1 to Step 3023-4 for each of the network devices 103 in the subnet Y searched in Step 3007. In addition, after finishing the processing for each, the rule loader program 122 advances the processing to Step 3024. First, the rule loader program 122 selects one of the network devices 103 in the subnet Y searched in Step 3007 (hereinafter referred to as “target device” in Step 3023-1 to Step 3023-4).
  • Step 3023-1 The rule loader program 122 generates a conclusion object and a BLEND operator object 1631c corresponding to the conclusion related to the target device. Thereafter, the rule loader program 122 advances the process to Step 3023-2.
  • Step 3023-2 The rule loader program 122 generates a connection from the BLEND operator object 1631c generated in Step 3023-1 to each of the conclusion objects generated in the same Step 3023-1. Thereafter, the rule loader program 122 advances the process to Step 3023-3.
  • Step 3023-3 The rule loader program 122 generates a connection from the internal conclusion object (EaDiv1-5 (NetY)) generated at Step 3022 to the basic input of the BLEND operator object 1631c generated at Step 3023-1. To do. The thickness of this connection is the same as the input thickness of the connected internal conclusion object (EaDiv1-5 (NetY)). Thereafter, the rule loader program 122 proceeds with the process to step 3023-4.
  • Step 3023-4 The rule loader program 122 generates a connection from the condition object corresponding to the condition related to the target device to the delta input of the BLEND operator object 1631c generated in Step 3023-1.
  • Step 3024 The rule loader program 122 repeats the following processing of Step 3024-1 to Step 3024-4 for each of the border routers searched in Step 3010. In addition, after finishing the processing for each, the rule loader program 122 advances the processing to Step 3025. First, the rule loader program 122 selects one of the border routers searched in Step 3010 (hereinafter referred to as “target device” in Steps 3024-1 to 3024-4).
  • Step 3024-1 The rule loader program 122 generates a conclusion object and a BLEND operator object 1631c corresponding to a conclusion related to the target device. Thereafter, the rule loader program 122 proceeds with the process to step 3024-1.
  • Step 3024-2 The rule loader program 122 generates a connection from the BLEND operator object 1631c generated in Step 3024-1 to each of the conclusion objects generated in Step 3024-1. Thereafter, the rule loader program 122 proceeds with the process to step 3024-3.
  • Step 3024-3 The rule loader program 122 establishes connection from the aggregate internal conclusion object (Ea (NetX-NetY)) generated at Step 3019 to the basic input of the BLEND operator object 1631c generated at Step 3024-1. Generate. The thickness of this connection is the same as the input thickness of the connected aggregate internal conclusion object (Ea (NetX-NetY)). Thereafter, the rule loader program 122 proceeds with the process to step 3024-4.
  • Step 3024-4 The rule loader program 122 generates a connection from the condition object corresponding to the condition related to the target device to the delta input of the BLEND operator object 1631c generated in Step 3024-1.
  • Step 3025 The rule loader program 122 repeats the processing of the following steps 3025-1 to 3025-4 for each of the border routers searched in step 3011. In addition, after finishing the processing for each, the rule loader program 122 advances the processing to Step 3026. First, the rule loader program 122 selects one of the border routers searched in step 3011 (hereinafter referred to as “target device” in steps 3025-1 to 3025-4).
  • Step 3025-1 The rule loader program 122 generates a conclusion object and a BLEND operator object 1631c corresponding to the conclusion related to the target device. Thereafter, the rule loader program 122 proceeds with the process to step 3025-2.
  • Step 3025-2 The rule loader program 122 generates a connection from the BLEND operator object 1631c generated in Step 3025-1 to each conclusion object generated in Step 3025-1. Thereafter, the rule loader program 122 proceeds with the process to step 3025-3.
  • Step 3025-3 The rule loader program 122 establishes a connection from the aggregate internal conclusion object (Ea (NetX-NetY)) generated at Step 3019 to the basic input of the BLEND operator object 1631c generated at Step 3025-1. Generate. The thickness of this connection is the same as the input thickness of the connected aggregate internal conclusion object (Ea (NetX-NetY)). Thereafter, the rule loader program 122 proceeds with the process to step 3025-4.
  • Step 3025-4 The rule loader program 122 generates a connection from the condition object corresponding to the condition related to the target device to the delta input of the BLEND operator object 1631c generated in Step 3025-1.
  • Step 3026 The rule loader program 122 generates an internal conclusion object (EaDiv1-3 (NetZ)) in the THEN part.
  • the internal conclusion object (EaDiv1-3 (NetZ)) exists in the rule memory data, the corresponding object is not generated. In this way, since the existing internal conclusion object can be used, the data amount of the rule memory data can be reduced.
  • an internal conclusion object (EaDiv1-3 (Net0)) is generated (internal conclusion object 1742b in FIG. 17). Further, the rule loader program 122 generates a connection from the aggregated internal conclusion object (Ea (NetX-NetY)) generated in Step 3019 to the internal conclusion object.
  • this connection is the same as the input thickness of the connected aggregate internal conclusion object. Further, this connection may be made via the OR operator object 1631b or the AND operator object 1631a. Thereafter, the rule loader program 122 proceeds with the process to step 3027.
  • Step 3027 The rule loader program 122 repeats the processing of the following steps 3027-1 to 3027-4 for each of the network devices 103 between the subnet X and the subnet Y searched in step 3012. Note that, after finishing the processing for each, the rule loader program 122 advances the processing to Step 3028. First, the rule loader program 122 reads one of the network devices 103 between the subnet X and the subnet Y searched in step 3012 (hereinafter referred to as “target device” in steps 3027-1 to 3027-4). Select.
  • Step 3027-1 The rule loader program 122 generates a conclusion object and a BLEND operator object 1631c corresponding to a conclusion related to the target device. Thereafter, the rule loader program 122 proceeds with the process to step 3027-2.
  • Step 3027-2 The rule loader program 122 generates a connection from the BLEND operator object 1631c generated in Step 3027-1 to each of the conclusion objects generated in Step 3027-1. Thereafter, the rule loader program 122 proceeds with the process to step 3027-3.
  • Step 3027-3 The rule loader program 122 generates a connection from the internal conclusion object (EaDiv1-3 (NetZ)) generated in Step 3026 to the basic input of the BLEND operator object 1631c generated in Step 3027-1. To do. Note that the thickness of this connection is the same as the input thickness of the connected internal conclusion object (EaDiv1-3 (NetZ)). Thereafter, the rule loader program 122 proceeds with the process to step 3027-4.
  • Step 3027-4 The rule loader program 122 generates a connection from the condition object corresponding to the condition related to the target device to the delta input of the BLEND operator object 1631c generated in Step 3027-1.
  • Step 3028 The rule loader program 122 ends the loop 1.
  • the matching rate calculation process is performed by the matching rate evaluation program 125.
  • each object included in the rule memory data outputs a value corresponding to the output from the source object.
  • the output of the conditional object follows the connection relationship of the objects and flows downstream.
  • the output finally reaches the conclusion object the output of the conclusion object becomes the matching rate.
  • the matching rate evaluation program 125 performs the following recursive process.
  • Step 4001 The matching rate evaluation program 125 specifies a target object (an object connected to the downstream side, hereinafter referred to as “object A”) of the condition object whose output value has changed. Thereafter, the matching rate evaluation program 125 advances the process to Step 4002.
  • object A an object connected to the downstream side
  • Step 4002 The matching rate evaluation program 125 performs a process according to the type of object for each object A, and generates a new output value. Thereafter, the matching rate evaluation program 125 advances the process to Step 4003.
  • the matching rate evaluation program 125 identifies the target object (hereinafter “object B”) of the object A that has generated a new output value. If the object B is a conclusion object, the matching rate evaluation program 125 stores the new output value as a matching rate. If the object B is an object other than the conclusion object, the matching rate evaluation program 125 performs the processing of step 4002 with the object B as “each of object A”.
  • the calculation of the matching rate is started from the condition object related to the event that becomes true (1) by the event detection. Even when the output of a certain conditional event is changed from true (1) to 0, which means non-detection, after a predetermined time has elapsed, the matching rate can be recalculated by performing the same processing as described above. However, the execution of each object may be controlled by other methods regardless of the above.
  • the matching rate evaluation program 125 detects, for example, a conclusion object 1612 whose matching rate exceeds a predetermined value from the rule memory data, and the conclusion object 1612 manages it.
  • the conclusion event is identified as the root cause, and information indicating the root cause is displayed on the display 117 via the input / output device 114, for example.
  • Information indicating the root cause event may be output (transmitted) to another device and displayed on the other device.
  • the general rule means that when an event included in the conclusion occurs, an event included in the condition always occurs.
  • event detection cannot always be performed from such affected node devices.
  • the affected node device is obtained by the monitoring computer using the rule memory data of the present embodiment, it is difficult to trace the affected range by the Aggregate event (Ea (NetX-NetY)). Therefore, the CPU 111 identifies the corresponding condition event (that is, the affected node device) by searching the corresponding general rule using the specified node device and event type as a key, and temporarily stores it in the storage resource 112. For example, it may be displayed on the display device 117.
  • FIG. 21 is a flowchart of the event reception process.
  • the event reception program 123 receives the event message 1401 from the monitoring target device (specifically, the monitoring agents 141 and 166 in the monitoring target device).
  • Step 2102 The event reception program 123 acquires the monitoring target name 1411 and the event type 1412 from the event message 1401 received in Step 2101, adds the monitoring target type and the reception date and time to the acquired information 1411 and 1412, and acquires event information 1511. Create Then, the event reception program 123 adds the created event information 1511 to the event queue table 134 and ends the process.
  • FIG. 22 is a flowchart of the event writing process.
  • Step 2201 The event writing program 124 acquires one event information 1511 from the event queue table 134.
  • Step 2202 The event writing program 124 acquires the monitoring target type 1501, the monitoring target name 1502, and the event type 1503 from the event information 1511 acquired in Step 2201.
  • Step 2203 the event writing program 124 searches the rule memory data using the monitoring target name 1502 and the event type 1503 acquired in Step 2202 as keys, and the condition object whose monitoring target name 1502 and event type 1503 match. Is identified. Then, the event writing program 124 sets the output value of the identified condition object to true (that is, 1) and ends the process. When the output value of the object is changed in this way, the above-described matching rate calculation process is executed.
  • the monitoring computer 101 may be configured by a network device, for example, a switch.
  • 101 monitoring computer
  • 102 server
  • 103 network device
  • 104 storage.

Abstract

 情報システムは、複数のネットワーク装置と、複数のノード装置と、発生した事象の原因を分析するコンピュータとを有する。コンピュータの記憶資源は、ネットワーク装置及びノード装置で発生する事象を示す条件と、結論とを含むルールを記憶する。コンピュータは、複数のネットワーク装置の条件に対応する複数の条件オブジェクトの事象の発生情報を集約するための集約内部条件オブジェクトを生成し、集約内部条件オブジェクトを、ネットワーク装置の条件に対応する条件オブジェクト、ノード装置の条件に対応する条件オブジェクト、及び、結論に対応する結論オブジェクトに関連付ける。

Description

事象の原因を特定する情報システム、コンピュータ及び方法
 本発明は、複数のノード装置が属するネットワークにおいて発生した事象の原因を特定する技術に関する。
 サーバ、ストレージ、ネットワーク装置等の複数の装置を有する情報処理システムにおける、例えば、障害等に関わる事象(以下「イベント」という)の根本原因を特定する技術が知られている。
 例えば、特許文献1は、以下の技術を開示している。すなわち、まず、根本原因の分析に用いられるルールメモリデータが、ルールメモリに格納される。根本原因分析エンジンは、イベントの通知を受信する都度、そのイベントに関するデータをルールメモリに追加するとともに、ルールメモリデータに含まれるルールのうち受信したイベントに関連するルールのマッチング率を計算する。マッチング率は、どのルールの結論が根本原因である可能性が高いかを示す指標(確率又は計算された比率)であり、分析エンジンは、計算されたマッチング率に基づいて根本原因を特定することができる。また、各イベントは有効期間を有しており、持続期間が満了した場合、当該イベントに関するデータが、ルールメモリから削除される。分析エンジンは、削除されたイベントに関係して影響を受けたルールに関してのみマッチング率の再計算を行う。
 特許文献1に開示された技術によれば、分析エンジンが増加分または減少分のイベントについてのみ処理を行うため、計算コストを減らすことができる。また、分析エンジンがマッチング率に基づいて根本原因を特定するため、たとえ1つ以上の条件要素が真でない場合でも最も可能性の高い結論を判定することができ、分析精度を向上させることができる。
米国特許出願公開第2009/313198号明細書
 ところで、根本原因の分析に用いられるルールメモリデータは、複数のルールやそのルールに関わるイベントの発生情報やそのルールに関わるイベントのマッチング率等の情報を含むデータである。ルールメモリデータは、例えば、複数のオブジェクトとそれらの関連付けにより構造化されたオブジェクトモデルによって表現される。このオブジェクトモデルには、例えば、ルールの条件に対応する条件オブジェクト、ルールの結論に対応する結論オブジェクト、オブジェクト間の入出力の演算を行う演算オブジェクト等が含まれ、これらのオブジェクトは全てデータとしてメモリに格納される。また、オブジェクト間の接続は、例えば、接続先のオブジェクトのポインタデータとしてメモリに格納される。
 根本原因の分析技術は、一般には、中規模から大規模の情報処理システムに導入される。小規模システムでは、監視すべき装置が少なく、人手により原因を特定できる場合が多く、根本原因の分析技術を導入する必要性に乏しいからである。一方で、監視すべき装置が多い大規模システムでは、人手により原因を特定することは困難であり、根本原因の分析技術の導入価値は高い。
 しかしながら、監視すべき装置が多い大規模システムでは、監視すべき装置の数に応じて、判定すべきルールの数が多くなる。判定すべきルールの数が多くなれば、オブジェクトモデルのオブジェクトの数や接続の数が増え、結果的にルールメモリデータの増大を招くことになる。
 情報システムは、複数のサブネットワークを構成する複数のネットワーク装置と、複数のサブネットワークに属する複数のノード装置と、発生した事象の原因を特定するコンピュータとを有する。コンピュータは、記憶資源と、記憶資源に接続された制御デバイスと、を有する。記憶資源は、1以上のルールと、ネットワーク装置及びノード装置がどのサブネットワークに所属するかを表したサブネットワーク情報とを記憶する。各ルールは、一端のノード装置と他端のノード装置とそれらを中継するネットワーク装置とを含んだトポロジに関するトポロジ情報と、そのトポロジにおける事象を示す条件と、その条件を満たす原因となる事象を示す結論と、を含む。
 制御デバイスは、以下の(a1)~(a13)を所定の順番に行うことにより、ルールメモリデータを生成して記憶資源に格納する。ここで、所定の順番とは、(a1)~(a13)の記載順番に従った順番であってもよく、また、この記載順番に従って実行することにより生成されるルールメモリデータと同一のルールメモリデータを生成することができれば、任意の別の順番であってもよい。
(a1)制御デバイスは、サブネットワーク情報に基づいて、或る第1のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置によるルールの条件となる事象の発生情報を管理する1以上の第1の条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した1以上の第1の条件オブジェクトをルールメモリデータに含める。
(a2)制御デバイスは、1以上の第1の条件オブジェクトの全ての事象の発生情報を集約するための第1の内部条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した第1の内部条件オブジェクトをルールメモリデータに含める。
(a3)制御デバイスは、第1の内部条件オブジェクトを第1の条件オブジェクトに関連付ける。
(a4)制御デバイスは、サブネットワーク情報に基づいて、或る第2のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置によるルールの条件となる事象の発生情報を管理する1以上の第2の条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した1以上の第2の条件オブジェクトをルールメモリデータに含める。
(a5)制御デバイスは、1以上の第2の条件オブジェクトの全てからの事象の発生情報を集約する第2の内部条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した2の内部条件オブジェクトをルールメモリデータに含める。
(a6)制御デバイスは、第2の内部条件オブジェクトを第2の条件オブジェクトに関連付ける。
(a7)制御デバイスは、第1の内部条件オブジェクト、第2の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理する集約内部条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した集約内部条件オブジェクトをルールメモリデータに含める。
(a8)制御デバイスは、集約内部条件オブジェクトを、第1及び第2の内部条件オブジェクトに関連付ける。
(a9)制御デバイスは、サブネットワーク情報に基づいて、第1のサブネットワークにおける複数のノード装置を特定し、当該ノード装置によるルールの条件となる事象の発生情報を管理する複数の第3の条件オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した複数の第3の条件オブジェクトを、ルールメモリデータに含める。
(a10)制御デバイスは、集約内部条件オブジェクトの集約情報と、第3の条件オブジェクトの事象の発生情報とに基づいた、条件を判定するための判定情報を管理する集約内部結論オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した集約内部結論オブジェクトをルールメモリデータに含める。
(a11)制御デバイスは、集約内部結論オブジェクトを、集約内部条件オブジェクト及び第3の条件オブジェクトに関連付ける。
(a12)制御デバイスは、第1のサブネットワークにおけるネットワーク装置、及び第2のサブネットワークのネットワーク装置のそれぞれで発生する事象を示す結論が原因である可能性を示す指標を管理する複数の結論オブジェクトを、ルールメモリデータに存在しない場合に生成し、生成した複数の結論オブジェクトをルールメモリデータに含める。
(a13)制御デバイスは、複数の結論オブジェクトを集約内部結論オブジェクトに関連付ける。
 制御デバイスは、複数のネットワーク装置又は複数のノード装置における事象の発生情報を受信し、ルールメモリデータに基づいて、受信した発生情報を管理する条件オブジェクトを特定し、特定した条件オブジェクトの管理する事象の発生情報を更新するとともに、条件オブジェクトに対する関連付けを辿って、発生情報の更新の影響が及ぶ各オブジェクトの管理する情報を更新していくことにより、結論オブジェクトの指標を更新し、更新した結論オブジェクトの指標に基づいて、事象の原因を特定し出力する。
図1は、実施形態に係る情報処理システムの構成図である。 図2は、情報処理システムのネットワークの構成例1を示す図である。 図3は、構成例1におけるサブネット管理テーブルの一例を示す図である。 図4は、情報処理システムのネットワークの構成例2を示す図である。 図5は、構成例2におけるサブネット管理テーブルの一例を示す図である。 図6は、ルータ管理テーブルの一例を示す図である。 図7は、iSCSIターゲット管理テーブルの一例を示す図である。 図8は、一般ルールの一例を示す図である。 図9は、展開ルールの一例を示す図である。 図10は、サブネットが隣り合う場合の分解ルールの一例を示す図である。 図11は、サブネットが隣り合う場合の分解のイメージを表す図である。 図12は、サブネットを跨ぐ場合の分解ルールの一例を示す図である。 図13は、サブネットを跨ぐ場合の分解のイメージを表す図である。 図14は、イベントメッセージの一例を示す図である。 図15は、イベントキューテーブルの一例を示す図である。 図16は、構成例1におけるルールメモリデータの一例を示す図である。 図17は、構成例2におけるルールメモリデータの一例を示す図である。 図18は、ルール処理のフローチャートである。 図19は、分解ルール生成処理のフローチャートである。 図20は、同一サブネット用ルールメモリデータ生成処理のフローチャートである。 図21は、イベント受信処理のフローチャートである。 図22は、イベント書込処理のフローチャートである。
 実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。
 なお、以後の説明では「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等の表現にて本発明の情報を説明するが、これら情報は必ずしもテーブル、リスト、DB、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等について「aaa情報」と呼ぶことがある。
 また、以後の説明では、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
 さらに、以後の説明では「プログラム」、「オブジェクト」を主語として説明を行う場合があるが、プログラム、オブジェクトは、制御デバイスが有するプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(ネットワークI/F)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラム、オブジェクトを主語として開示された処理は監視コンピュータ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
 また、以後の説明では、制御デバイスとしてCPU(Central Processing Unit)が採用されるが、制御デバイスは、CPUのようなプロセッサに加えて、所定の処理(例えば圧縮、伸長)を行う専用ハードウェアを含んで良い。
 また、以後の説明では、CPU(及び或いはそのCPUを有する監視コンピュータのような第1の計算機)の「表示する」という行為は、CPUが、そのCPUを有する第1の計算機の表示デバイスにオブジェクト等を表示する行為と、表示デバイスを有する第2の計算機に、その表示デバイスに表示されるオブジェクト等の表示用情報を送信する行為のいずれであっても良い。第2の計算機は、表示用情報を受信した場合、その表示用情報が表すオブジェクト等を表示デバイスに表示することができる。
 図1は、一実施形態に係る情報処理システムの構成図である。
 情報処理システム100は、原因分析装置の一例としての監視コンピュータ101と、1つ以上のサーバ102と、1つ以上のネットワーク装置103と、LAN(Local Area Network)等の通信ネットワーク105(105a、105b等)と、1つ以上のストレージ104とを有する。ネットワーク装置103は、IPスイッチやルータ等である。監視コンピュータ101、サーバ102及びストレージ104は、通信ネットワーク105及びネットワーク装置103を介して相互に接続される。以下、情報処理システム100を構成する装置(サーバ102、ストレージ装置104、ネットワーク装置103等)を「ノード装置」と呼ぶ。情報処理システム100は、例えば、ホストコンピュータ、NAS(Network Attached Storage)、ファイルサーバ、プリンタ等をノード装置として有していてもよい。ノード装置は、監視コンピュータ101の監視の対象でもあるため、ノード装置を「監視対象装置」と呼ぶこともある。また、ノード装置が有するデバイス等の論理的又は物理的な構成物を「コンポーネント」と呼ぶ。コンポーネントの例としては、ポート、プロセッサ、記憶資源、記憶デバイス、プログラム、仮想マシン、ストレージ装置内部で定義される論理ボリューム、RAIDグループ等がある。なお、監視対象装置とコンポーネントとを区別せずに扱う場合は「監視対象」と呼ぶ。
 サーバ102は、アプリケーション等を実行する計算機である。サーバ102は、CPU(Central Processing Unit)146と、メモリ147と、ネットワークインターフェース(I/F)142と、iSCSI(Internet Small Computer System Interface)イニシエータ143とを有する。サーバ102は、所定のアプリケーションをCPU146により実行することにより、論理的なコンポーネントである監視エージェント141を生成する。監視エージェント141は、監視対象において何らかのイベントが発生した場合に、そのイベントの発生を示すイベントメッセージを監視コンピュータ101に送信する。また、サーバ102には、ストレージ104の記憶領域が割り当てられた仮想的なボリュームであるiSCSIディスク151が形成される。サーバ102は、iSCSIイニシエータ143を介すことで、iSCSIディスク151をローカルハードディスクのように利用できる。
 ストレージ104は、サーバ102等に記憶領域を提供する装置である。ストレージ104は、ストレージコントローラ161と、ネットワークI/F163と、記憶媒体162とを有する。本実施形態において、記憶媒体162は、ハードディスクドライブ(HDD)であるが、これに代えて、固体記憶媒体、光記憶媒体等、他の種類の記憶媒体であってもよい。ストレージ104は、例えば、サーバ102に対して、iSCSIディスク151を形成するための記憶領域を提供する。ストレージ104は、所定のアプリケーションを図示しないCPUにより実行することにより、論理的なコンポーネントである監視エージェント166を生成する。監視エージェント166は、ストレージ104において何らかのイベントが発生した場合に、そのイベントの発生を示すイベントメッセージを監視コンピュータ101に送信する。なお、サーバ102の監視エージェント141が、ストレージ104で発生したイベントを監視できるように構成し、ストレージ104で発生したイベントのイベントメッセージを監視コンピュータ101に送信するようにしてもよい。
 監視コンピュータ101は、監視対象装置を管理する計算機である。監視コンピュータ101は、例えば、汎用的な計算機であり、CPU111と、記憶資源112と、入出力デバイス114と、システムバス116と、ネットワークI/F115とを有する。記憶資源112は、メモリであってもよいし、ハードディスクドライブ(HDD)等の二次記憶装置であってもよいし、メモリ及び二次記憶装置を組み合わせたものであってもよい。CPU111、記憶資源112、入出力デバイス114、及び、ネットワークI/F115は、システムバス116を介して相互に接続される。
 記憶資源112は、例えば、ルールメモリ121と、ルールローダープログラム122と、イベント受信プログラム123と、イベント書込プログラム124と、マッチング率評価プログラム125と、一般ルールリポジトリ131と、展開ルールリポジトリ132と、分解ルールリポジトリ133と、イベントキューテーブル(TBL)134と構成情報135とを記憶する。ルールローダープログラム122、イベント受信プログラム123、イベント書込プログラム124、マッチング率評価プログラム125は、CPU111により実行される。ルールメモリ121には、根本原因を分析する際に利用されるルールメモリデータが格納される。一般ルールリポジトリ131には、一以上の一般ルールが格納される。展開ルールリポジトリ132には、一以上の展開ルールが格納される。分解ルールリポジトリ133には、一以上の分解ルールが格納される。一般ルール、展開ルール及び分解ルールについては、後に図面を参照して説明する。
 ネットワークI/F115は、通信ネットワーク105に接続するためのインターフェース装置である。入出力デバイス114は、入出力装置に接続するためのインターフェース装置である。例えば、入出力デバイス114には、ディスプレイ117が接続される。監視コンピュータ101は、根本原因分析の結果や他の情報をディスプレイ117に表示することで、根本原因分析の結果等を管理者に提示することができる。なお、監視コンピュータ101が、内部にディスプレイ117を有するようにしてもよい。
 監視コンピュータ101は、監視対象装置から例えば、監視対象でイベントが発生したことを示すイベントメッセージ、監視対象装置或いは情報処理システム100全体の構成情報等の種々の情報を受信する。監視コンピュータ101は、監視対象装置から受信した種々の情報に基づいて、例えば、イベントの原因を解析する処理等の種々の処理を行い、その処理結果を出力する。
 本実施形態において、幾つかの監視対象装置は例えば、iSCSIボリュームの提供サービスやファイル共有サービスやWebサービス等のネットワークサービスを提供する装置(以下「サービス提供装置」)である。また、幾つかの監視対象装置は、サービス提供装置が提供するネットワークサービスを利用する装置(以下「サービス利用装置」)である。例えば、サーバ102は、ストレージ104が提供するiSCSIボリュームの提供サービスを利用するため、サービス利用装置に相当する。一方、ストレージ104は、サーバ102等にiSCSIボリュームの提供サービスを提供するため、サービス提供装置に相当する。サービス提供装置及びサービス利用装置は、相互にネットワークサービスを提供して利用する関係を有しているため、その一方で発生したイベントが他方へ伝搬し得る。例えば、サービス提供装置に相当するストレージ104で或るイベントが発生した場合、そのストレージ104が提供するネットワークサービスを利用しているサーバ102(すなわちサービス利用装置)においても同様のイベントが発生し得る。
 ここで、監視コンピュータ101の記憶資源112に記憶される構成情報135について説明する。構成情報135は、情報処理システム100の構成を示す情報であり、具体的には、情報処理システム100がどんなノード装置によって構成されているか、各ノード装置の構成がどのようになっているか(例えば、ノード装置がどんなコンポーネントを有しているか)、ノード装置間或いはコンポーネント間の接続関係がどうなっているか、ノード装置とコンポーネントとの間の包含関係がどうなっているか等を示す情報である。また、構成情報135には、ネットワークサービスの提供又は利用に関係する情報(例えば、サービス利用装置の識別情報、ネットワークサービスを利用する際にサービス提供装置に入力する情報等)が含まれる場合がある。サービス提供装置に入力する情報として、例えば、iSCSIボリュームの提供サービスを利用する際に入力するiSCSIターゲット名及びLUN(論理ユニット番号)や、Webサービスを利用する際に入力するWebサーバの名前を含むURL等がある。
 図2は、情報処理システムのネットワークの構成例1を示す図である。ここで、図2及び他の図面において、「sv」、「st」、「sw」、「rt」及び「Net」は、それぞれ、サーバ102、ストレージ104、IPスイッチ、ルータ及びサブネットワーク(サブネット)を意味している。
 構成例1では、iSCSIボリュームの提供サービスに関して、サービス利用装置に相当するサーバ(sv1、sv2)が、サブネット1に属し、サービス提供装置に相当するストレージ(st1)が、サブネット1と異なるサブネット0に属している。サブネット1と、サブネット0とは、ネットワーク装置であるルータ(rt1)を介して互いに接続されている。構成例1では、サーバの属するサブネット(すなわち、サブネット1)と、ストレージ(st1)の属するサブネット(すなわち、サブネット0)とは、隣り合っている。
 図3は、構成例1における、サブネット管理テーブルの一例を示す図である。
 サブネット管理テーブル301は、監視対象装置がどのサブネットに所属するかを表した情報を管理するためのテーブルである。なお、サブネット管理テーブル301は、構成情報135の一部に相当する。サブネット管理テーブル301には、ノード装置ごとに、当該ノード装置のノードID311と、当該ノード装置のノードタイプ312と、当該ノード装置のノード名313と、当該ノード装置に割り当てられたIPアドレス314と、当該ノード装置が所属するサブネットID315とが、対応付けて格納される。
 ノードID311は、ノード装置を一意に特定するための識別子である。ノードタイプ312は、ノード装置の種別を示す情報である。本実施形態では、ノードタイプ「SERVER」はサーバ102を、ノードタイプ「STORAGE」はストレージ104を、ノードタイプ「IPSWITCH」はIPスイッチを、ノードタイプ「ROUTER」はルータをそれぞれ示している。サブネットID315は、サブネットを一意に特定するための識別子である。本実施形態では、サブネットID「0」はサブネット0を、サブネットID「1」はサブネット1をそれぞれ示している。
 同図のサブネット管理テーブル301によると、サーバ1及びサーバ2がサブネット1に所属し、ストレージ1がサブネット0に所属していることを知ることができる。
 図4は、情報処理システムのネットワークの構成例2を示す図である。
 構成例2では、iSCSIボリュームの提供サービスに関して、サービス利用装置に相当するサーバ(sv1、sv2)がサブネット1に属し、サービス提供装置に相当するストレージ(st1)が、サブネット1と異なるサブネット2に属している。サブネット1と、サブネット2とは、他のサブネット0(例えば、基幹LAN)を介して接続されている。構成例2では、サーバの属するサブネット(すなわち、サブネット1)と、ストレージ(st1)の属するサブネット(すなわち、サブネット2)とは、他のサブネット0を跨って接続されている。
 図5は、構成例2におけるサブネット管理テーブルの一例を示す図である。
 サブネット管理テーブル301は、図3で示したサブネット管理テーブル301と同じ構成となっている。監視コンピュータ101は、図5のサブネット管理テーブル301を参照することにより、サーバ1及びサーバ2がサブネット1に所属し、ストレージ2がサブネット2に所属していることを知ることができる。
 図6は、ルータ管理テーブルの一例を示す図である。
 ルータ管理テーブル601は、ルータがどのサブネットとどのサブネットとを接続しているかを表す情報を管理するためのテーブルである。なお、ルータ管理テーブル601は、構成情報135の一部に相当する。ルータ管理テーブル601には、ルータごとに、例えば、当該ルータのノードID611と、当該ルータのノードタイプ612と、当該ルータが接続する二つのサブネットID613、614(サブネットID1、サブネットID2)とが、対応付けて記録される。
同図のルータ管理テーブル601によると、ルータ1がサブネット0とサブネット1とを接続しており、ルータ2がサブネット0とサブネット2とを接続していることを知ることができる。
 図7は、iSCSIターゲット管理テーブルの一例を示す図である。
 iSCSIターゲット管理テーブル701は、iSCSIターゲットがどのiSCSIイニシエータに対して接続を許可しているかを表す情報を管理するためのテーブルである。なお、iSCSIターゲット管理テーブル701は、構成情報135の一部に相当する。iSCSIターゲット管理テーブル701には、例えば、ターゲットID711と、iSCSIターゲット名712と、接続許可iSCSIイニシエータ名713とが、対応付けて記録される。
 ターゲットID711は、iSCSIターゲットと接続許可iSCSIイニシエータとの組み合わせ(以下「iSCSI接続許可セット」)ごとに付与された識別子である。iSCSIターゲット名712は、iSCSIターゲットの名称である。接続許可iSCSIイニシエータ名713は、接続が許可されているiSCSIイニシエータの名称である。例えば、ターゲットID「TG1」の情報から、iSCSIターゲットであるストレージ1は、iSCSIイニシエータであるサーバ1に対して接続を許可していることがわかる。
 図8は、一般ルールの一例を示す図である。
 一般ルールは、イベントを示す条件と、当該条件を満たす場合に原因と特定されるイベントを示す結論と、を情報処理システム100の実構成に依存しない形式で記述した情報である。一般ルールは、複数の条件又は複数の結論を含んでいてもよい。また、一般ルールがネットワーク装置103に関係するイベント(以下「ネットワークイベント」)を示す条件を含む場合には、一般ルールには、さらに、そのネットワークイベントに関係するネットワーク装置103及び当該ネットワーク装置103を介して相互に接続されるサービス提供装置及びサービス利用装置に関するトポロジ情報が含まれる。なお、以下の説明において、ネットワークイベントに関係するネットワーク装置103を介して相互に接続されるサービス提供装置及びサービス利用装置を、それぞれ「ネットワークイベントに係るサービス提供装置」及び「ネットワークイベントに係るサービス利用装置」という場合がある。
 同図に示すように、一般ルール801、802には、IF部811、813とTHEN部812、814とがある。IF部811、813には条件が記述され、THEN部812、814には結論が記述される。条件及び結論は、それぞれイベントの発生元のノード装置のノードタイプとイベントのイベントタイプとを含む。
 一般ルール801(GenRule1)においては、IF部811には、二つの条件821、822が記述されている。また、THEN部812には、一つの結論823(「IPSWITCH Port_LinkDown」)が記述されている。この一般ルール801は、二つの条件821、822が満たされた場合に、結論812によって示されるイベントが原因であると特定されることを表している。
 条件821には、「SERVER DiskDrive_Err」が記述されており、ノードタイプが「SERVER」であり、イベントタイプが「DiskDrive_Err」であることを示している。条件821は、サーバ102で発生するディスク障害というイベントを示している。条件822には、「IPSWITCH Port_LinkDown」が記述されており、ノードタイプが「IPSWITCH」であり、イベントタイプが「Port_LinkDown」であることを示している。条件822は、IPスイッチで発生するポートのリンク障害というイベントを示している。なお、条件822が示すイベントは、IPスイッチというネットワーク装置103に関係するイベントであるため「ネットワークイベント」に相当する。このように一般ルール801がネットワークイベントを示す条件を含んでいるため、一般ルール801には、さらに、トポロジ情報831が含まれる。同図で示す例では、トポロジ情報831には、ネットワーク装置103を示すノードタイプ「IPSWITCH」と、サービス提供装置及びサービス利用装置のいずれかを示す「SERVER」及び「STORAGE」とが含まれている。このトポロジ情報831は、サーバ102とストレージ104とがIPスイッチを介して接続されることを示している。
 一方、一般ルール802(GenRule2)においては、二つの条件824、825と一つの結論826が含まれる。条件824、825が示すイベントは、いずれもネットワークイベントではない。従って、一般ルール802には、トポロジ情報は含まれていない。
 図9は、展開ルールの一例を示す図である。
 展開ルールは、一般ルールを情報処理システム100の実構成に依存する形式に展開した情報である。例えば、情報処理システム100に一つのサーバ102(サーバ1)と一つのストレージ104(ストレージ1)と一つのIPスイッチ(IPスイッチ1)とが含まれていると想定した場合、図8に示す一般ルール801は、図9に示す展開ルール901(ExpRule1)に展開される。展開ルール901には、サーバ1、ストレージ1、及びIPスイッチ1という情報処理システム100の実構成である監視対象に関係するイベントを示す条件及び結論が含まれる。具体的には、展開ルール901には、サーバ1で発生するディスク障害というイベントを示す条件と、IPスイッチ1で発生するポートのリンク障害というイベントを示す条件及び結論とが含まれる。
 図10は、サブネットが隣り合う場合の分解ルールの一例を示す図である。図11は、サブネットが隣り合う場合の分解のイメージを表す図である。
 分解ルールは、ネットワークイベントを示す条件を含む一般ルールに基づいて生成される情報である。分解ルールは、一般ルールに含まれるネットワークイベントを示す条件を複数のグループ(例えば、サブネット)ごとの複数の条件に分解することにより生成される。なお、ネットワークイベントを示す条件だけでなく、ネットワークイベントを示す結論についても、複数のグループ(例えば、サブネット)ごとの複数の結論に分解するようにしてもよい。本実施形態では、ネットワークイベントを示す条件及び結論のいずれについても、複数のグループごとの複数の条件及び結論に分解される。
 本実施形態では、図2に示す構成例1のように、ネットワークイベントに係るサービス利用装置(構成例1ではサーバ1、2)が所属するサブネット(以下「第一のサブネット」という)とネットワークイベントに係るサービス提供装置(構成例1ではストレージ1)が所属するサブネット(以下「第二のサブネット」という)とが隣り合う場合は、ネットワークイベントを示す条件及び結論は、それぞれ、第一のサブネット内のネットワークイベントを集約したイベントを示す条件及び結論と、第二のサブネット内のネットワークイベントを集約したイベントを示す条件及び結論と、第一のサブネットと第二のサブネットとを接続するネットワーク装置103(構成例1ではルータ1)のネットワークイベントを示す条件及び結論とに分解される。
 なお、以下の説明において、ネットワークイベントを集約したイベントを「内部イベント」といい、内部イベントを示す条件及び結論をそれぞれ「内部条件」及び「内部結論」という場合がある。また、複数の内部イベントを集約したイベントを「集約内部イベント」といい、集約内部イベントを示す条件及び結論をそれぞれ「集約内部条件」及び「集約内部結論」という場合がある。また、或るサブネットA内のネットワークイベントを集約したイベントを「サブネットAに係る内部イベント」といい、或るサブネットAに係る内部イベントを示す条件及び結論をそれぞれ「サブネットAに係る内部条件」及び「サブネットAに係る内部結論」という場合がある。さらに、或るサブネットAと他のサブネットBとを接続するネットワーク装置103のネットワークイベントを「サブネットA-Bの接続に係る内部イベント」(或いは「サブネットA-サブネットBの接続に係る内部イベント」)といい、サブネットA-Bの接続に係る内部イベントを示す条件及び結論をそれぞれ「サブネットA-Bの接続に係る内部条件」及び「サブネットA-Bの接続に係る内部結論」(或いは「サブネットA-サブネットBの接続に係る内部条件」及び「サブネットA-サブネットBの接続に係る内部結論」)という場合がある。
 サブネットが隣り合う場合のネットワークイベントを示す条件及び結論の分解について、図11を参照して説明する。関係1111は、一般ルール801についての条件及び結論のそれぞれを示すイベントの関係を示している。関係1111は、イベント1102、1103が発生した場合に、イベント1101が結論、すなわち、原因と特定されることを示している。
 関係1112は、一般ルール801に基づいて生成される分解ルールについての条件及び結論のそれぞれを示すイベントの関係を示している。イベント1106は、一般ルール801のネットワークイベント1103に対応するイベントであり、一般ルール801のネットワークイベント1103が複数のイベント1121、1122、1123に分解されることを表している。具体的には、図11に示すように、ネットワークイベント1103は、サブネットX(この例では第一のサブネットに相当)に係る内部イベント1121と、サブネットY(この例では第二のサブネットに相当)に係る内部イベント1122と、サブネットX-Yの接続に係る内部イベント1123とに分解される(つまり、ネットワークイベント1103を示す条件は、サブネットXに係る内部条件と、サブネットYに係る内部条件と、サブネットX-Yの接続に係る内部条件とに分解される)。なお、結論についても、上記と同様に分解される。従って、ネットワークイベント1101が示す結論は、サブネットXに係る内部結論と、サブネットYに係る内部結論と、サブネットX-Yの接続に係る内部結論とに分解される。
 次に、図10に示す分解ルールについて、詳細に説明する。上記説明したように、ネットワークイベント1103を示す条件は、ネットワークイベント1106に示すように、サブネットXに係る内部条件と、サブネットYに係る内部条件と、サブネットX-Yの接続に係る内部条件とに分解される。従って、一般ルール801は、サブネットXに係る内部条件1021を含む分解ルール1011と、サブネットYに係る内部条件1022を含む分解ルール1012と、サブネットX-Yの接続に係る内部条件1023を含む分解ルール1013とに分解される。
 条件1031は、内部条件1021、1022、1023を集約した集約内部条件を示している。このように、本実施形態では、分解ルール1011、1022、1013に加えて、集約内部条件1031を含む分解ルール1001も生成される。また、分解ルール1011、1022、1013は、それらのTHEN部において分解ルール1001の集約内部条件1031を規定している。これは、分解ルール1011、1022、1013の結論が示すイベントが、集約内部条件1031が示すイベント(すなわち集約内部イベント)と同じであることを意味している。
 なお、一般ルール802にはネットワークイベントを示す条件が含まれないため、一般ルール802に基づいて分解ルールは生成されない。
 図12は、サブネットを跨ぐ場合の分解ルールの一例を示す図である。図13は、サブネットを跨ぐ場合の分解のイメージを表す図である。
 本実施形態では、図4で示す構成例2のように、第一のサブネットと第二のサブネットとが他のサブネットを跨いでいる場合は、ネットワークイベントを示す条件及び結論は、それぞれ、第一のサブネットに係る内部条件及び内部結論と、第二のサブネットに係る内部条件及び内部結論と、第一のサブネットと第二のサブネットとの間に介在するサブネット(以下「第三のサブネット」という)に係る内部条件及び結論と、第一のサブネット-第三のサブネットの接続に係る内部条件及び内部結論と、第二のサブネット-第三のサブネットの接続に係る内部条件及び内部結論とに分解される。
 サブネットを跨ぐ場合のネットワークイベントを示す条件及び結論の分解について、図13を参照して説明する。一般ルール801のイベントの関係1111については、図11と同様である。イベント1302は、一般ルール801のネットワークイベント1103が、サブネットX(この例では第一のサブネットに相当)に係る内部イベント1321と、サブネットY(この例では第二のサブネットに相当)に係る内部イベント1322と、サブネットXとサブネットYとの間に介在するサブネット(図示しないが、サブネットZとする)に係る内部イベント1323と、サブネットX-Zの接続に係る内部イベント1324と、サブネットY-Zの接続に係る内部イベント1325とに分解されることを表している。つまり、一般ルール801のネットワークイベント1103を示す条件は、サブネットXに係る内部条件と、サブネットYに係る内部条件と、サブネットZに係る内部条件と、サブネットX-Zの接続に係る内部条件と、サブネットY-Zの接続に係る内部条件とに分解される。結論についても、ネットワークイベントを示す条件と同様に分解される。
 次に、図12に示す分解ルールについて、詳細に説明する。上記説明したように、ネットワークイベント1103を示す条件は、ネットワークイベント1302に示すように、サブネットXに係る内部条件と、サブネットYに係る内部条件と、サブネットZに係る内部条件と、サブネットX-Zの接続に係る内部条件と、サブネットY-Zの接続に係る内部条件とに分解される。従って、一般ルール801は、サブネットXに係る内部条件1221を含む分解ルール1211と、サブネットYに係る内部条件1222を含む分解ルール1212と、サブネットZに係る内部条件1223を含む分解ルール1213と、サブネットX-Zの接続に係る内部条件1224を含む分解ルール1214と、サブネットY-Xの接続に係る内部条件1225を含む分解ルール1215とに分解される。
 分解ルールとして、内部条件1221、1222、1223、1224、1225を集約した集約内部条件1231を含む分解ルール1001も生成される。分解ルール1211、1222、1213、1214、1215は、それらのTHEN部において分解ルール1201の集約内部条件1231を記述している。従って、分解ルール1211、1222、1213、1214、1215の結論が示すイベントは、集約内部条件1231が示すイベント(すなわち集約内部イベント)と同じである。
 図14は、イベントメッセージの一例を示す図である。
 イベントメッセージ1401は、監視対象におけるイベントの発生を通知するためのメッセージであり、監視エージェント141、166により監視コンピュータ101へ送信される。イベントメッセージ1401は、例えば、イベントの発生元である監視対象の監視対象名1411と、発生したイベントのイベントタイプ1412とを含む。監視対象名1411は、監視対象の名称であり、監視対象がノード装置である場合はノード名となる。
 図15は、イベントキューテーブルの一例を示す図である。
 イベントキューテーブル134は、発生したイベントに関するイベント情報1511を管理するためのテーブルである。イベント受信プログラム123は、イベントメッセージ1401を受信した場合に、受信したイベントメッセージ1401により通知されたイベントのイベント情報1511を、このテーブルに入れる。イベントキューテーブル134は、イベント書込プログラム124のバッファとして機能する。イベント書込プログラム124は、イベントキューテーブル134からイベント情報1511を取得し、当該イベント情報1511に基づいてルールメモリデータの内容を更新する。なお、イベントキューテーブル134は、監視対象で発生する通常のイベントに関するイベント情報の他、内部イベントや集約内部イベントに関するイベント情報1511を管理するようにしてもよい。
 各イベント情報1511には、例えば、発生したイベントの発生元である監視対象の監視対象タイプ1501と、発生したイベントの発生元である監視対象の監視対象名1502と、発生したイベントのイベントタイプ1503と、発生したイベントに関する受信日時1504とが含まれる。監視対象タイプ1501は、監視対象の種別を示す情報であり、監視対象がノード装置である場合はノードタイプ(「SERVER」、「STORAGE」、「IPSWITCH」、「ROUTER」等)となる。監視対象名1502は、監視対象の名称であり、監視対象がノード装置である場合はノード名となる。受信日時1504は、イベント受信プログラム123がイベントメッセージ1401を受信した日時である。
 図16は、構成例1における、ルールメモリデータの一例を示す図である。図17は、構成例2におけるルールメモリデータの一例を示す図である。
 ルールメモリデータは、少なくとも、根本原因の分析に用いられる複数のルールと、そのルールに関わるイベントの発生情報と、そのルールに関わるイベントが原因となる可能性を示す情報とを、複数のオブジェクト及びそれらの関連付けにより表現したデータである。ルールメモリデータは、例えば分解ルールに基づいて生成され、根本原因を分析する際に利用される。
 ルールメモリデータには、例えば、条件オブジェクト1611と、内部条件オブジェクト1622(1622a、1622b等)、1722(1722a、1722b、1722c等)と、集約内部条件オブジェクト1621、1721と、結論オブジェクト1612と、内部結論オブジェクト1642、1742と、集約内部結論オブジェクト1641、1741と、演算子オブジェクト1631と、それぞれの接続情報とが含まれる。なお、各オブジェクトは、コンピュータ言語では例えば構造体やクラスとして実装され、プログラム動作中は記憶資源112に格納されるデータ(オブジェクトデータ)である。
 接続情報は、例えば、接続するオブジェクトの識別子をペアで保持した情報である。接続情報は、方向情報を持ち、方向情報は、或るオブジェクトの出力を別のオブジェクトの入力とする関係、換言すれば、オブジェクト間の上流下流の関係を示している。また、接続情報は太さ情報を持つ。太さ情報は、演算子オブジェクト1631への入力数に相当し、後述するBLEND演算子オブジェクト1631cで重要な要素となる。太さ情報としては、太さを示す値であってもよい。図16及び図17では、接続の太さの値を「×数字」で示している。なお、条件オブジェクト1611からの接続は、太さを1とするのが一般的であるが、必ずしも太さを1とする必要はない。
 各オブジェクトの接続に関して、次のような処理が行われる。なお、以下の説明において、或るオブジェクトに着目したときに、そのオブジェクトへ出力するオブジェクト(そのオブジェクトの上流側に接続されているオブジェクト)を「ソースオブジェクト」と呼び、そのオブジェクトからの出力を入力として受け取るオブジェクト(そのオブジェクトの下流側に接続されているオブジェクト)を「ターゲットオブジェクト」と呼ぶ。
 すなわち、条件オブジェクト1611は、この条件オブジェクト1611に接続されたターゲットオブジェクトに出力する。結論オブジェクト1612は、この結論オブジェクト1612に接続されたソースオブジェクトからの出力を入力として受ける。演算子オブジェクト1631は、この演算子オブジェク1631に接続された一つ以上のソースオブジェクトの出力を入力として受け取り、この演算子オブジェクト1631に接続されたターゲットオブジェクトに出力する。内部条件オブジェクト1622、1722、集約内部条件オブジェクト1621、1721、内部結論オブジェクト1642、1742及び集約内部結論オブジェクト1641、1741は、これらオブジェクトに接続された一つ以上のソースオブジェクトの出力を入力として受け取り、これらオブジェクトに接続されたターゲットオブジェクトに出力する。
 条件オブジェクト1611は、特定の監視対象に関係するイベント及びそのイベントの発生情報を管理するオブジェクトである。条件オブジェクト1611は、展開ルール、分解ルールの条件に対応する。例えば、図16及び図17の例では、条件オブジェクト1611は、サーバ1のディスク障害というイベント及びそのイベントの発生情報を管理する。例えば、サーバ1においてディスク障害が発生すると、この発生したイベントのイベント情報1511が、イベント受信プログラム123によってイベントキューテーブル134に追加される。そして、イベント書込プログラム124が、そのイベントキューテーブル134に追加されたイベント情報1511を取得し、サーバ1のディスク障害を管理する条件オブジェクト1611の出力値を真(すなわち1)にする。条件オブジェクト1611の出力値が真となることで、その条件オブジェクト1611は、そこに接続されたターゲットオブジェクトにその出力値(真)を出力する。
 演算子オブジェクト1631には、OR演算子オブジェクト1631bと、AND演算子オブジェクト1631aと、BLEND演算子オブジェクト1631cとがある。
 OR演算子オブジェクト1631bは、一つ以上のソースオブジェクトの出力のいずれかが真(1)であった場合に真(1)をターゲットオブジェクトに出力するオブジェクトである。後述するマッチング率の計算処理においては、OR演算子オブジェクト1631bは、一つ以上ソースオブジェクトの出力の最大値をターゲットオブジェクトに出力する。なお、OR演算子オブジェクト1631bの場合、ターゲットオブジェクトとの接続の太さは、ソースオブジェクトとの接続の太さと同じになる。
 AND演算子オブジェクト1631aは、一つ以上のソースオブジェクトの出力の全てが真(1)であった場合に真(1)をターゲットオブジェクトに出力するオブジェクトである。後述するマッチング率の計算処理においては、AND演算子オブジェクト1631aは、以下の式2のAND出力値をターゲットオブジェクトに出力する。なお、AND演算子オブジェクト1631aの出力側の接続の太さは、下記式(1)により算出されるXである。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
ここで、Xは、このAND演算子オブジェクト1631aのターゲットオブジェクトの全ての入力の太さの和を示している。なお、他の同様な記載も、同様な意味を持っている。
 BLEND演算子オブジェクト1631cへの入力は、基礎入力となる入力(原則一つ)と、デルタ入力となる入力との二種類に分けられる。図16及び図17では、デルタ入力を、丸印介した接続で表現している。後述するマッチング率の計算処理においては、BLEND演算子オブジェクト1631cは、以下の式3のBLEND出力値をターゲットオブジェクト(典型的には結論オブジェクト1612)に出力する。
Figure JPOXMLDOC01-appb-M000003
 内部条件オブジェクト1622、1722は、その上流側に位置する条件オブジェクト1611が管理するイベントの全てを集約するオブジェクトである。内部条件オブジェクト1622、1722は、その上流側に位置する条件オブジェクトの全てからのイベントの発生情報を集約した集約情報を管理する。内部条件オブジェクト1622、1722は、分解ルールの内部条件(図10における内部条件1021~1023、図12における内部条件1221~1225)に対応する。
 図16に示す例では、内部条件オブジェクト1622a(EaDiv1-1(Net1))は、分解ルール1011のサブネットXに係る内部条件1021に対応し(サブネットXがサブネット1に特定されている)、サブネット1内のネットワークイベント(この例ではスイッチ1の1つネットワークイベント)の発生情報を集約する。内部条件オブジェクト1622b(EaDiv1-5(Net0))は、分解ルール1012のサブネットYに係る内部条件1022に対応し(サブネットYがサブネット0に特定されている)、サブネット0内のネットワークイベント(この例ではスイッチ2の1つネットワークイベント)の発生情報を集約する。
 また、図17に示す例では、内部条件オブジェクト1722b(EaDiv1-3(Net0))は、分解ルール1213のサブネットZに係る内部条件1223に対応し(サブネットZがサブネット1とサブネット2との間に介在するサブネット0に特定されている)、サブネット0内のネットワークイベント(この例ではスイッチ2とスイッチ3の2つのネットワークイベント)の発生情報を集約する。なお、内部条件オブジェクト1622、1722のターゲットオブジェクトへの接続の太さは、ソースオブジェクトからの接続の太さと同じである。
 集約内部条件オブジェクト1621、1721は、その上流側に位置する内部条件オブジェクト1622、1722が管理するイベントの全てを集約するオブジェクトである。集約内部条件オブジェクト1621、1721は、その上流側に位置する内部条件オブジェクト1622、1722の全てからのイベントの発生情報を集約した集約情報を管理する。集約内部条件オブジェクト1621、1721は、分解ルールの集約内部条件(図10の集約内部条件1031、図12の集約内部条件1231)に対応する。
 図16に示す例では、集約内部条件オブジェクト1621(Ea(Net1-Net0))は、分解ルール1001の集約内部条件1031に対応し、内部条件オブジェクト1622a、1622b、及びルータ1のネットワークイベントの発生情報を管理する条件オブジェクト1611の全てからのイベントの発生情報を集約する。つまり、集約内部条件オブジェクト1621(Ea(Net1-Net0))は、サブネット1及びサブネット0内の全てのネットワーク装置103(スイッチ1、スイッチ2及びルータ1)のネットワークイベントの発生情報を集約する。
 図17に示す例では、集約内部条件オブジェクト1721(Ea(Net1-Net2))は、分解ルール1201の集約内部条件1231に対応し、内部条件オブジェクト1722a、1722b、1722c、ルータ1のネットワークイベントの発生情報を管理する条件オブジェクト1611、及びルータ2のネットワークイベントの発生情報を管理する条件オブジェクト1611の全てからのイベントの発生情報を集約する。つまり、集約内部条件オブジェクト1721(Ea(Net1-Net2))は、サブネット1、サブネット2及びサブネット1とサブネット2の間にある全てのネットワーク装置103(スイッチ1~4及びルータ1、2)のネットワークイベントの発生情報を集約する。
 結論オブジェクト1612は、特定の監視対象に関係するイベント(図16及び図17に示す例では、ネットワークイベント)及びそのイベントを示す結論が原因である可能性を示す指標(例えば、マッチング率)を管理するオブジェクトである。結論オブジェクト1612は、展開ルール等の結論に対応する。例えば、図16及び図17に示す例では、結論オブジェクト1612は、スイッチ1のネットワーク障害というイベント及びそのイベントが原因である可能性を示す指標を管理する。
 内部結論オブジェクト1642(1642a、1642b等)、1742(1742a、1742b、1742c等)は、その下流側に位置する結論オブジェクト1612が管理するイベントの全てを集約するオブジェクトである。内部結論オブジェクト1642、1742は、分解ルールの内部結論に対応する。例えば、図16の例では、内部結論オブジェクト1642a(EaDiv1-1(Net1))は、分解ルール1011の内部結論に対応し、サブネット1内のネットワークイベント(この例ではスイッチ1の1つのネットワークイベント)を集約する。内部結論オブジェクト1642b(EaDiv1-5(Net0))は、分解ルール1012の内部結論に対応し、サブネット0内のネットワークイベント(この例ではスイッチ2の1つのネットワークイベント)を集約する。また、図17に示す例では、内部結論オブジェクト1742b(EaDiv1-3(Net0))は、分解ルール1213の内部結論に対応し、サブネット0内のネットワークイベント(この例ではスイッチ2とスイッチ3の2つネットワークイベント)を集約する。
 集約内部結論オブジェクト1641、1741は、その下流側に位置する内部結論オブジェクト1622、1742のそれぞれに集約されるイベントの全てを集約するオブジェクトである。集約内部結論オブジェクト1641、1741は、分解ルールの集約内部結論に対応する。例えば、図16に示す例では、集約内部結論オブジェクト1641(Ea(Net1-Net0))は、分解ルール1001の集約内部結論に対応し、内部結論オブジェクト1642a、1642b、及びルータ1のネットワークイベントの条件オブジェクト1611のそれぞれが集約(管理)するイベントの全てを集約する。つまり、集約内部結論オブジェクト1641(Ea(Net1-Net0))は、サブネット1及びサブネット0内の全てのネットワーク装置103(スイッチ1、スイッチ2及びルータ1)のネットワークイベントを集約する。また、図17に示す例では、集約内部結論オブジェクト1741(Ea(Net1-Net2))は、分解ルール1201の集約内部結論に対応し、内部結論オブジェクト1742a、1742b、1742c、ルータ1のネットワークイベントの発生情報を管理する条件オブジェクト1611、及びルータ2のネットワークイベントの発生情報を管理する条件オブジェクト1611のそれぞれが集約するイベントの全てを集約する。つまり、集約内部結論オブジェクト1741(Ea(Net1-Net2))は、サブネット1、サブネット2及びサブネット1とサブネット2の間にある全てのネットワーク装置103(スイッチ1~4及びルータ1、2)のネットワークイベントの発生情報を集約する。
 なお、オブジェクトが内部条件オブジェクト1622、1722、集約内部条件オブジェクト1621、1721、内部結論オブジェクト1642、1742又は集約内部結論オブジェクト1641、1741である場合は、データ構造として、少なくとも対応するイベントを検知(つまり、イベント書込プログラム124がイベント情報1511を取得)したか否かを示すフラグを持ってもよい。また、本実施形態では、複数の出力を行うオブジェクトが存在するが、これらオブジェクトからの出力を1つにし、出力を入力として、複数の出力を行うマルチプレクサオブジェクトを備えるようにしてもよい。
 図18は、ルール処理のフローチャートである。
 ルール処理(ステップ1801~ステップ1808の処理)は、一般ルールリポジトリ131に存在する一般ルールの数だけ繰り返し行われる。
 (ステップ1801)ルールローダープログラム122は、一つの一般ルールiを選択し、選択した一般ルールiのIF部に二つ以上のノードタイプが含まれているか否かを判定する。
 (ステップ1802)一般ルールiのIF部に二つ以上のノードタイプが含まれている場合(ステップ1801:YES)は、ルールローダープログラム122は、一般ルールiのIF部にネットワークイベントを示す条件が含まれているか否かを判定する。
 (ステップ1803)一般ルールiのIF部にネットワークイベントを示す条件が含まれている場合(ステップ1802:YES)は、ルールローダープログラム122は、ネットワークイベントに係るサービス提供装置とネットワークイベントに係るサービス利用装置との間の接続がiSCSI接続であるか否かを判定する。
 ネットワークイベントに係るサービス提供装置及びサービス利用装置間の接続がiSCSI接続である場合は(ステップ1803:YES)、ルールローダープログラム122は、iSCSIターゲット管理テーブル701に存在するiSCSI接続許可セットの数だけ、ステップ1804~ステップ1807の処理を繰り返し行う。
 (ステップ1804)ルールローダープログラム122は、サブネット管理テーブル301から、一つのiSCSI接続許可セットjを選択し、iSCSI接続許可セットjに含まれるiSCSIターゲットが所属するサブネット(図18及び図19においては、サブネットXとする)とiSCSI接続許可セットjに含まれるiSCSIイニシエータが所属するサブネット(図18及び図19においては、サブネットYとする)とを取得する。
 (ステップ1805)、ルールローダープログラム122は、サブネットXとサブネットYとが異なるか否かを判定する。
 (ステップ1806)サブネットXとサブネットYとが異なる場合(ステップ1805:YES)は、ルールローダープログラム122は、分解ルール生成処理(図19参照)を行う。分解ルール生成処理が終了した後は、ルールローダープログラム122は、新たに一つのiSCSI接続許可セットを選択して、選択したiSCSI接続許可セットに対して再度ステップ1804~ステップ1807の処理を行う。
 (ステップ1807)サブネットXとサブネットYとが同じ場合(ステップ1805:NO)は、ルールローダープログラム122は、同一サブネット用ルールメモリデータ生成処理(図20参照)を行う。同一サブネット用ルールメモリデータ生成処理が終了した後は、ルールローダープログラム122は、新たに一つのiSCSI接続許可セットを選択して、選択したiSCSI接続許可セットに対して再度ステップ1804~ステップ1807の処理を行う。
 (ステップ1808)ステップ1801において、一般ルールiのIF部に二つ以上のノードタイプが含まれていない場合(ステップ1801:NO)、ステップ1802において、一般ルールiのIF部にネットワークイベントを示す条件が含まれていない場合(ステップ1802:NO)、又は、ステップ1803において、ネットワークイベントに係るサービス提供装置及びサービス利用装置間の接続がiSCSI接続でない場合は(ステップ1803:NO)には、ルールローダープログラム122は、同一サブネット用ルールメモリデータ生成処理を行う。同一サブネット用ルールメモリデータ生成処理が終了した後は、ルールローダープログラム122は、新たに一つの一般ルールを選択して、選択した一般ルールに対して再度ステップ1801~ステップ1808の処理を行う。
 一般ルールリポジトリ131に存在する全ての一般ルールについてステップ1801~ステップ1808の処理が完了した場合、ルールローダープログラム122は、ルール処理を終了する。
 以上説明したように、本実施形態では、ネットワークイベントに係るサービス利用装置が所属するサブネットとネットワークイベントに係るサービス提供装置が所属するサブネットとが異なる場合には、一般ルールに基づいて分解ルールが生成され、これらサブネットが同じ場合には、分解ルールは生成されずに一般ルール或いは一般ルールを展開した展開ルール)に基づいて、ルールメモリデータが生成される。つまり、共通の一般ルールに基づいて、分解ルールを生成し、或いは直接にルールメモリデータを生成することができるので、ルール作成者の手間が増えない。
 図19は、分解ルール生成処理のフローチャートである。ここで、図19は、サブネットXとサブネットYとが他のサブネット(図12及び図13に示す例に合わせて、サブネットZとする)を跨いでいる場合の処理である。なお、サブネットXとサブネットYとが隣り合う場合は、ステップ1903と、ステップ1904又はステップ1905のいずれか一方の処理を省略することができる。
 サブネットを跨ぐ場合に、一般ルールの条件及び結論がどのように分解されてどのような分解ルールが生成されるかは、図12及び図13で説明したとおりである。すなわち、一般ルール801のネットワークイベント1103を示す条件及び結論が、それぞれ、サブネットXに係る内部条件1221及び内部結論と、サブネットYに係る内部条件1222及び内部結論と、サブネットZに係る内部条件1223及び内部結論と、サブネットX-Zの接続に係る内部条件1224及び内部結論と、サブネットY-Zの接続に係る内部条件1225及び内部結論とに分解され、サブネットXに係る内部条件1221を含む分解ルール1211と、サブネットYに係る内部条件1222を含む分解ルール1212と、サブネットZに係る内部条件1223を含む分解ルール1213と、サブネットX-Zの接続に係る内部条件1224を含む分解ルール1214と、サブネットY-Zの接続に係る内部条件1225を含む分解ルール1215とが生成される。また、サブネットXに係る内部条件1221、サブネットYに係る内部条件1222、サブネットZに係る内部条件1223、サブネットX-Zの接続に係る内部条件1224、及びサブネットY-Zの接続に係る内部条件1225の全てを集約した集約内部条件1231を含む分解ルール1001が生成される。
 (ステップ1901)ルールローダープログラム122は、サブネットXに係る内部条件1221を含む分解ルール1211を生成する。
 (ステップ1902)ルールローダープログラム122は、サブネットYに係る内部条件1222を含む分解ルール1212を生成する。
 (ステップ1903)ルールローダープログラム122は、サブネットZに係る内部条件1223を含む分解ルール1213を生成する。
 (ステップ1904)ルールローダープログラム122は、サブネットX-Zの接続に係る内部条件1224を含む分解ルール1214を生成する。
 (ステップ1905)ルールローダープログラム122は、サブネットY-Zの接続に係る内部条件1225を含む分解ルール1215を生成する。
 (ステップ1906)ルールローダープログラム122は、内部条件1221~1225の全てを集約した集約内部条件1231(すなわち、AggregateEvent)を含む分解ルール1001を生成し、処理を終了する。
 なお、内部条件1221~1225を含む分解ルール1211~1215は、例えば、そのIF部に、ネットワークイベントを示す条件と、ネットワーク装置及びそのネットワーク装置を介して接続されるノード装置に関するトポロジ情報と、ネットワーク装置及びそのネットワーク装置を介して接続されるノード装置がどのサブネットに属するかを示す情報とが含まれるように生成される。また、THEN部には、AggregateEventという集約内部結論が含められる。なお、AggregateEventは、サブネットXとサブネットYとネットワーク装置103のイベント(元にした一般ルールに記載のイベント種別)別に生成される。例えば、リンクダウンを条件に含む一般ルール用の分解ルールと、スイッチ自体のプロセッサ障害を条件部に含む一般ルール用の分解ルールとは別になる。
 AggregateEventは、サブネットX内のノード装置からサブネットY内のノード装置への通信経路上のネットワーク装置103の何れかで、一般ルールの条件に含まれるイベントが発生したことを条件又は結論とすることを意味する。そのため、分解ルール1211~1215への分解は、分解の元となった一般ルールのサーバ102やストレージ104のイベント種別には依存しない形になっている。そのため、サーバ102のiSCSIエラーの場合と、DNSエラーの場合(DNSサーバがサブネットYに居るとして)とで、同じ分解ルールを共用することもできる。
 分解ルール1211、1212が指し示すIPスイッチとは、サブネットX(またはサブネットY)内のサブネットY(またはサブネットX)行きの通信でいずれの装置が共用するスイッチであることが考えられるが、必ずしもそうとは限らない。例えば、サブネットX内のタブレットコンピュータが全てスイッチA(無線LANアクセスポイント)を通過し、サーバコンピュータがスイッチAを通過しない場合は、タブレットコンピュータにしか適用されない一般ルールが対象であれば、スイッチAが分解ルール1211の対象となる。
 図20は、同一サブネット用ルールメモリデータ生成処理のフローチャートである。
 (ステップ2001)ルールローダープログラム122は、情報処理システム100のシステムトポロジに基づいて、一般ルールから展開ルールを生成し、生成した展開ルールを展開ルールリポジトリ132に保存する。
 (ステップ2002)ルールローダープログラム122は、展開ルールリポジトリ132から展開ルールを取得し、取得した展開ルールを構文解析する。
 (ステップ2003)ルールローダープログラム122は、ステップ2002で取得した展開ルールのIF部から条件を取得する。
 (ステップ2004)ルールローダープログラム122は、ステップ2003で取得した条件に対応する条件オブジェクトがルールメモリデータ内に存在するか否かを調べる。
 (ステップ2005)対応する条件オブジェクトが見つからなかった場合(ステップ2005:NO)は、ルールローダープログラム122は、ステップ2006に処理を進める。一方、条件オブジェクトが見つかった場合(ステップ2005:YES)は、ルールローダープログラム122は、ステップ2007に処理を進める。
 (ステップ2006)ルールローダープログラム122は、ステップ2003で取得した条件のための条件オブジェクト及び演算子オブジェクトをルールメモリデータ内に生成する。また、ルールローダープログラム122は、新たに生成された条件オブジェクトと演算子オブジェクトとを互いに接続する。
 (ステップ2007)ルールローダープログラム122は、IF部内の全ての条件について処理が完了したか否かを調べる。全て処理済みであれば(ステップ2007:YES)、ルールローダープログラム122は、ステップ2008に処理を進める。一方、未だ処理されていない条件が残っている場合は(ステップ2007:NO)、ルールローダープログラム122は、処理をステップ2003に進める。
 (ステップ2008)ルールローダープログラム122は、ステップ2002で取得した展開ルールのTHEN部から結論を取得する。
 (ステップ2009)ルールローダープログラム122は、ステップ2008で取得した結論に対応する結論オブジェクトをルールメモリデータ内に生成する。また、ルールローダープログラム122は、生成された結論オブジェクトと関連する全ての演算子オブジェクトとを接続する。さらに、2つ以上の結論がステップ2008で取得された場合、ルールローダープログラム122は、それら取得された結論のそれぞれについても、対応する結論オブジェクトをルールメモリデータ内に生成し、生成された結論オブジェクトと関連する全ての演算子オブジェクトとを接続する。
 (ステップ2010)ルールローダープログラム122は、展開ルールリポジトリ132内の全ての展開ルールについて処理が完了したか否かを調べる。全て処理済みであれば(ステップ2010:YES)、同一サブネット用ルールメモリデータ生成処理を終了する。一方、未だ処理されていない展開ルールが残っている場合(ステップ2010:NO)は、ルールローダープログラム122は、処理をステップ2002に進める。
 次に、本実施形態に係る複数のサブネットが含まれる場合のルールメモリデータ生成処理について説明する。
 このルールメモリ生成処理は、分解ルール生成処理が実行された後に実行される。
 (ステップ3001)ルールローダープログラム122は、全ての分解ルールの内容を調べ、分解ルールに含まれる集約内部条件、内部条件、集約内部結論及び内部結論の全てを抽出する。ルールローダープログラム122は、処理をステップ3002に進める。
 (ステップ3002)ルールローダープログラム122は、ステップ3001で抽出した集約内部条件、内部条件、集約内部結論及び内部結論のそれぞれについて、以下のステップ3003からの処理を繰り返すループ(ループ1)を開始する。なお、説明を理解しやすくするため、ここではサブネットを跨ぐ場合の分解ルール(図12の分解ルール1201、1211~1215)に含まれる集約内部条件、内部条件、集約内部結論及び内部結論だけが抽出されたものとして処理を説明する。
 <1.ルールメモリデータのIF部の生成>。
 <1.1.集約内部条件オブジェクト(Ea(NetX-NetY))の生成>。
 (ステップ3003)ルールローダープログラム122は、ルールメモリデータのIF部1601に、分解ルール1201から抽出された集約内部条件1231(Ea(NetX-NetY))に対応する集約内部条件オブジェクト(Ea(NetX-NetY))を生成し、処理をステップ3004に進める。なお、集約内部条件1231(Ea(NetX-NetY))に対応する集約内部条件オブジェクト(Ea(NetX-NetY))が、ルールメモリデータに存在する場合には、当該集約内部条件オブジェクトを利用することができるので、対応するオブジェクトを生成しない。このように、既に存在する集約内部条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。例えば、この集約内部条件オブジェクト(Ea(NetX-NetY))は、サブネットYに所属するサービス提供装置(例えば、ストレージ)を利用する、サブネットXに所属する複数のサービス利用装置(例えば、サーバ)のそれぞれに対する原因分析において共用することができる。
 ここで、サブネットX、Yは、互いにネットワークサービスを提供し利用し合っているノード装置(すなわちサービス提供装置とサービス利用装置)が所属するサブネットを意味している。ここでは、サブネットXは、サービス利用装置であるサーバ102が所属するサブネットであり、サブネットYは、サービス提供装置であるストレージ104が所属するサブネットである(分解ルール1201を参照)。例えば、情報処理システム100が構成例2の場合、サーバ1がサブネット0に所属し、ストレージ2がサブネット2に所属している。従って、集約内部条件オブジェクト(Ea(Net1-Net2))が生成される(図17の集約内部条件オブジェクト1721)。また、ルールローダープログラム122は、IF部の上記生成した集約内部条件オブジェクトの上流側に、OR演算子オブジェクト1631bを生成する。そして、ルールローダープログラム122は、生成したOR演算子オブジェクト1631bから生成した集約内部条件オブジェクトへ向けた接続を生成する。すなわち、ルールローダープログラム122は、OR演算子オブジェクト1631bの出力値が集約内部条件オブジェクト1721の入力値となるように接続を生成する。
 <1.2.内部条件オブジェクトの生成>。
 <1.2.1.内部条件オブジェクト(EaDiv1-1(NetX))の生成>。
 (ステップ3004)ルールローダープログラム122は、分解ルール1211から抽出された内部条件1221の内容に基づいて、サブネットXに所属し、サブネットXとサブネットYとの間の通信に利用されるネットワーク装置103(図12の分解ルールではIPスイッチ)を検索する。ルールローダープログラム122は、処理をステップ3005に進める。
 (ステップ3005)ルールローダープログラム122は、IF部に、分解ルール1211から抽出された内部条件1221に対応する内部条件オブジェクト(EaDiv1-1(NetX))を生成する。なお、内部条件1221に対応する内部条件オブジェクト(EaDiv1-1(NetX))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。サブネットXは、サービス利用装置であるサーバ102が所属するサブネットであり、情報処理システム100が構成例2の場合、サーバ1がサブネット1に所属している。従って、内部条件オブジェクト(EaDiv1-1(Net1))が生成される(図17の内部条件オブジェクト1722a)。また、ルールローダープログラム122は、IF部の生成した内部条件オブジェクトの上流側に、OR演算子オブジェクト1631bを生成する(図17では図示せず)。そして、ルールローダープログラム122は、生成したOR演算子オブジェクト1631bから生成した内部条件オブジェクトへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3006に進める。
 (ステップ3006)ルールローダープログラム122は、サブネットX内のネットワーク装置103(図12の分解ルールではIPスイッチ)の各々に関係する条件に対応する条件オブジェクトを生成する。なお、条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、サブネットXはサブネット1であり、サブネット1にはスイッチ1が所属している。従って、スイッチ1に関係する条件に対応する条件オブジェクトが生成される。そして、ルールローダープログラム122は、生成した条件オブジェクトの各々からステップ3005で生成したOR演算子オブジェクト1631bへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3007に進める。
 <1.2.2.内部条件オブジェクト(EaDiv1-5(NetX))の生成>。
 (ステップ3007)ルールローダープログラム122は、分解ルール1212から抽出された内部条件1222の内容に基づいて、サブネットYに所属し、サブネットXとサブネットYとの間の通信に利用されるネットワーク装置103(図12の分解ルールではIPスイッチ)を検索する。その後、ルールローダープログラム122は、処理をステップ3008に進める。
 (ステップ3008)ルールローダープログラム122は、IF部に、分解ルール1212から抽出された内部条件1222に対応する内部条件オブジェクト(EaDiv1-5(NetY))を生成する。なお、内部条件1222に対応する内部条件オブジェクト(EaDiv1-5(NetY))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。サブネットYは、サービス提供装置であるストレージ104が所属するサブネットであり、情報処理システム100が構成例2の場合、ストレージ2はサブネット2に所属している。従って、内部条件オブジェクト(EaDiv1-5(Net2))が生成される(図17の内部条件オブジェクト1722c)。また、ルールローダープログラム122は、IF部の生成した内部条件オブジェクトの上流側に、OR演算子オブジェクト1631bを生成する(図17では図示せず)。そして、ルールローダープログラム122は、生成したOR演算子オブジェクト1631bから生成した内部条件オブジェクトへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3009に進める。
 (ステップ3009)ルールローダープログラム122は、サブネットY内のネットワーク装置103(図12の分解ルールではIPスイッチ)の各々に関係する条件に対応する条件オブジェクトを生成する。なお、条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、サブネットYはサブネット2であり、サブネット2にはスイッチ4が所属している。従って、スイッチ4に関係する条件に対応する条件オブジェクトが生成される。そして、ルールローダープログラム122は、生成した条件オブジェクトの各々からステップ3008で生成したOR演算子オブジェクト1631bへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3010に進める。
 <1.2.3.サブネットXの境界ルータ関係>。
 (ステップ3010)ルールローダープログラム122は、サブネットXの境界ルータ(サブネット同士を接続するルータ)であって、サブネットXとサブネットYとの間の通信に利用されるルータを検索する。そして、ルールローダープログラム122は、検索したルータに関係する条件に対応する条件オブジェクトを生成する。なお、対応するルータに関係する条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。さらに、ルールローダープログラム122は、生成した条件オブジェクトからステップ3003で生成したOR演算子オブジェクト1631bへ向けた接続を作成する。その後、ルールローダープログラム122は、処理をステップ3011に進める。
 <1.2.4.サブネットYの境界ルータ関係>。
 (ステップ3011)ルールローダープログラム122は、サブネットYの境界ルータであって、サブネットXとサブネットYとの間の通信に利用されるルータを検索する。そして、ルールローダープログラム122は、検索したルータに関係する条件に対応する条件オブジェクトを生成する。なお、対応するルータに関係する条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。さらに、ルールローダープログラム122は、生成した条件オブジェクトからステップ3003で生成したOR演算子オブジェクト1631bへ向けた接続を作成する。その後、ルールローダープログラム122は、処理をステップ3012に進める。
 <1.2.5.内部条件オブジェクト(EaDiv1-3(NetX-NetY))の生成>。
 (ステップ3012)ルールローダープログラム122は、分解ルール1213から抽出された内部条件1223の内容に基づいて、サブネットXとサブネットYとの間に位置し、サブネットXとサブネットYとの間の通信に利用されるネットワーク装置103(図12の分解ルールではIPスイッチ)を検索する。なお、ここでは、他のサブネットとの接続を行うサブネットX、Y内のルータ(境界ルータ)は、検索の対象とされない。なお、これらの境界ルータについては、ステップ3010、ステップ3011では検索の対象とせずに、その代わりにステップ3012で検索の対象としてもよい。その後、ルールローダープログラム122は、処理をステップ3013に進める。
 (ステップ3013)ルールローダープログラム122は、IF部に、分解ルール1213から抽出された内部条件1223に対応する内部条件オブジェクト(EaDiv1-3(NetZ))を生成する。なお、内部条件1223に対応する内部条件オブジェクト(EaDiv1-3(NetZ))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部条件オブジェクを利用することができるので、ルールメモリデータのデータ量を削減することができる。例えば、この内部条件オブジェクト(EaDiv1-3(NetZ))は、サブネットZを跨って接続された2つのサブネット間における、サービス提供装置及びサービス利用装置に関しての原因分析において共用することができる。情報処理システム100が構成例2の場合、サブネット1とサブネット2との間には、サブネット0が介在している。従って、内部条件オブジェクト(EaDiv1-3(Net0))が生成される(図17の内部条件オブジェクト1722b)。また、ルールローダープログラム122は、IF部の生成した内部条件オブジェクトの上流側に、OR演算子オブジェクト1631bを生成する。そして、ルールローダープログラム122は、上記生成したOR演算子オブジェクト1631bから生成した内部条件オブジェクトへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3014に進める。
 (ステップ3014)ルールローダープログラム122は、サブネットXとサブネットYとの間にあるネットワーク装置103(図12の分解ルールではIPスイッチ)の各々に関係する条件に対応する条件オブジェクトを生成する。なお、条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、サブネット1とサブネット2との間にはサブネット0が介在しており、サブネット0にはスイッチ2及びスイッチ3が所属している。従って、スイッチ2及びスイッチ3のそれぞれに関係する条件に対応する条件オブジェクトが生成される。そして、ルールローダープログラム122は、生成した条件オブジェクトの各々からステップ3008で生成したOR演算子オブジェクト1631bへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3015に進める。
 <1.3.サービス提供装置又はサービス利用装置に対応した内部条件オブジェクトの生成>。
 (ステップ3015)ルールローダープログラム122は、分解ルール1201を参照して、その分解ルール1201に関するサービス提供装置又はサービス利用装置のうちその分解ルール1201においてイベントが規定されているものを特定する。情報処理システム100が構成例2の場合、分解ルール1201に関するサービス提供装置又はサービス利用装置には、サーバ1、サーバ2、ストレージ2が該当するが、分解ルール1201においてストレージ102に関係するイベントは規定されていない。従って、情報処理システム100が構成例2の場合、サーバ1及びサーバ2が特定される。
 (ステップ3016)ルールローダープログラム122は、ステップ3015で特定したサービス提供装置及びサービス利用装置のそれぞれに関係する条件に対応する条件オブジェクトを生成する。なお、条件に対応する条件オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する条件オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、サーバ1及びサーバ2のそれぞれに関係する条件に対応した条件オブジェクトが生成される。また、ルールローダープログラム122は、IF部の生成した条件オブジェクトの下流側に、AND演算子オブジェクト1631aを生成する。そして、ルールローダープログラム122は、生成したAND演算子オブジェクト1631aから生成した条件オブジェクトへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3015に進める。
 (ステップ3017)ルールローダープログラム122は、ステップ3003で生成した集約内部条件オブジェクト(Ea(NetX-NetY))からステップ3016で生成したAND演算子オブジェクト1631bへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3015に進める。
 <2.ルールメモリデータのTHEN部の生成>。
 <2.1.集約内部結論オブジェクト(Ea(NetX-NetY))の生成>。
 (ステップ3018)ルールローダープログラム122は、THEN部にOR演算子オブジェクトを生成し、ステップ3016で生成したAND演算子オブジェクト1631bの各々から生成したOR演算子へ向けた接続を生成する。なお、この接続の太さは、接続したAND演算子オブジェクト1631bの入力の数である。その後、ルールローダープログラム122は、処理をステップ3019に進める。
 (ステップ3019)ルールローダープログラム122は、THEN部に集約内部結論オブジェクト(Ea(NetX-NetY))を生成する。なお、集約内部結論オブジェクト(Ea(NetX-NetY))がルールメモリデータに存在する場合には、対応する集約内部結論オブジェクトを生成しない。このように、既に存在する集約内部結論オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、集約内部結論オブジェクト(Ea(Net1-Net2))が生成される(図17の集約内部結論オブジェクト1741)。また、ルールローダープログラム122は、ステップ3018で生成したOR演算子オブジェクト1631bから生成した集約内部結論オブジェクトへ向けた接続を生成する。なお、この接続の太さは、接続したOR演算子オブジェクト1631bの入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3020に進める。
 <2.2.内部結論オブジェクトの生成>。
 <2.2.1.内部結論オブジェクト(EaDiv1-1(NetX))の生成>。
 (ステップ3020)ルールローダープログラム122は、THEN部に内部結論オブジェクト(EaDiv1-1(NetX))を生成する。なお、内部結論オブジェクト(EaDiv1-1(NetX))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部結論オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、内部結論オブジェクト(EaDiv1-1(Net1))が生成される(図17の内部結論オブジェクト1742a)。また、ルールローダープログラム122は、ステップ3019で生成した集約内部結論オブジェクト(Ea(NetX-NetY))から、生成した内部結論オブジェクトへ向けた接続を生成する。なお、この接続の太さは、接続した集約内部結論オブジェクトの入力の太さと同じである。また、この接続は、OR演算子オブジェクト1631b又はAND演算子オブジェクト1631aを介して行われてもよい。その後、ルールローダープログラム122は、処理をステップ3021に進める。
 (ステップ3021)ルールローダープログラム122は、ステップ3004で検索したサブネットX内のネットワーク装置103のそれぞれについて、以下のステップ3021-1~ステップ3021-4の処理を繰り返す。なお、それぞれに対して処理を終えた後、ルールローダープログラム122は、処理をステップ3022に進める。まず、ルールローダープログラム122は、ステップ3004で検索したサブネットX内のネットワーク装置103のうちの一つ(以下のステップ3021-1~ステップ3021-4において「対象装置」という)を選択する。
   (ステップ3021-1)ルールローダープログラム122は、対象装置に関係する結論に対応する結論オブジェクト1612とBLEND演算子オブジェクト1631cとを生成する。なお、対象装置に関係する結論に対応する結論オブジェクトがルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する結論オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。その後、ルールローダープログラム122は、処理をステップ3021-2に進める。
   (ステップ3021-2)ルールローダープログラム122は、ステップ3021-1で生成したBLEND演算子オブジェクト1631cからステップ3021-1で生成した結論オブジェクトのそれぞれへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3021-3に進める。
   (ステップ3021-3)ルールローダープログラム122は、ステップ3020で生成した内部結論オブジェクト(EaDiv1-1(NetX))からステップ3021-1で生成したBLEND演算子オブジェクト1631cの基礎入力へ向けた接続を生成する。なお、この接続の太さは、接続した内部結論オブジェクト(EaDiv1-1(NetX))の入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3021-4に進める。
   (ステップ3021-4)ルールローダープログラム122は、対象装置に関係する条件に対応する条件オブジェクトからステップ3021-1で生成したBLEND演算子オブジェクト1631cのデルタ入力へ向けた接続を生成する。
 <2.2.2.内部結論オブジェクト(EaDiv1-5(NetY))の生成>。
 (ステップ3022)ルールローダープログラム122は、THEN部に内部結論オブジェクト(EaDiv1-5(NetY))を生成する。なお、内部結論オブジェクト(EaDiv1-5(NetX))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部結論オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、内部結論オブジェクト(EaDiv1-5(Net2))が生成される(図17の内部結論オブジェクト1742c)。また、ルールローダープログラム122は、ステップ3019で生成した集約内部結論オブジェクト(Ea(NetX-NetY))から生成した内部結論オブジェクトへ向けた接続を生成する。なお、この接続の太さは、接続した集約内部結論オブジェクトの入力の太さと同じである。また、この接続は、OR演算子オブジェクト1631b又はAND演算子オブジェクト1631aを介して行われてもよい。その後、ルールローダープログラム122は、処理をステップ3023に進める。
 (ステップ3023)ルールローダープログラム122は、ステップ3007で検索したサブネットY内のネットワーク装置103のそれぞれについて、以下のステップ3023-1~ステップ3023-4の処理を繰り返す。なお、それぞれに対して処理を終えた後、ルールローダープログラム122は、処理をステップ3024に進める。まず、ルールローダープログラム122は、ステップ3007で検索したサブネットY内のネットワーク装置103のうちの一つ(以下のステップ3023-1~ステップ3023-4において「対象装置」という)を選択する。
   (ステップ3023-1)ルールローダープログラム122は、対象装置に関係する結論に対応する結論オブジェクトとBLEND演算子オブジェクト1631cとを生成する。その後、ルールローダープログラム122は、処理をステップ3023-2に進める。
   (ステップ3023-2)ルールローダープログラム122は、ステップ3023-1で生成したBLEND演算子オブジェクト1631cから同じステップ3023-1で生成した結論オブジェクトのそれぞれへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3023-3に進める。
   (ステップ3023-3)ルールローダープログラム122は、ステップ3022で生成した内部結論オブジェクト(EaDiv1-5(NetY))からステップ3023-1で生成したBLEND演算子オブジェクト1631cの基礎入力へ向けた接続を生成する。なお、この接続の太さは、接続した内部結論オブジェクト(EaDiv1-5(NetY))の入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3023-4に進める。
   (ステップ3023-4)ルールローダープログラム122は、対象装置に関係する条件に対応する条件オブジェクトからステップ3023-1で生成したBLEND演算子オブジェクト1631cのデルタ入力へ向けた接続を生成する。
 <2.2.3.サブネットXの境界ルータ関係>。
 (ステップ3024)ルールローダープログラム122は、ステップ3010で検索した境界ルータのそれぞれについて、以下のステップ3024-1~ステップ3024-4の処理を繰り返す。なお、それぞれに対して処理を終えた後、ルールローダープログラム122は、処理をステップ3025に進める。まず、ルールローダープログラム122は、ステップ3010で検索した境界ルータのうちの一つ(以下のステップ3024-1~ステップ3024-4において「対象装置」という)を選択する。
   (ステップ3024-1)ルールローダープログラム122は、対象装置に関係する結論に対応する結論オブジェクトとBLEND演算子オブジェクト1631cとを生成する。その後、ルールローダープログラム122は、処理をステップ3024-1に進める。
   (ステップ3024-2)ルールローダープログラム122は、ステップ3024-1で生成したBLEND演算子オブジェクト1631cからステップ3024-1で生成した結論オブジェクトのそれぞれへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3024-3に進める。
   (ステップ3024-3)ルールローダープログラム122は、ステップ3019で生成した集約内部結論オブジェクト(Ea(NetX-NetY))からステップ3024-1で生成したBLEND演算子オブジェクト1631cの基礎入力へ向けた接続を生成する。なお、この接続の太さは、接続した集約内部結論オブジェクト(Ea(NetX-NetY))の入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3024-4に進める。
   (ステップ3024-4)ルールローダープログラム122は、対象装置に関係する条件に対応する条件オブジェクトからステップ3024-1で生成したBLEND演算子オブジェクト1631cのデルタ入力へ向けた接続を生成する。
 <2.2.4.サブネットYの境界ルータ関係>。
 (ステップ3025)ルールローダープログラム122は、ステップ3011で検索した境界ルータのそれぞれについて、以下のステップ3025-1~ステップ3025-4の処理を繰り返す。なお、それぞれに対して処理を終えた後、ルールローダープログラム122は、処理をステップ3026に進める。まず、ルールローダープログラム122は、ステップ3011で検索した境界ルータのうちの一つ(以下のステップ3025-1~ステップ3025-4において「対象装置」という)を選択する。
   (ステップ3025-1)ルールローダープログラム122は、対象装置に関係する結論に対応する結論オブジェクトとBLEND演算子オブジェクト1631cとを生成する。その後、ルールローダープログラム122は、処理をステップ3025-2に進める。
   (ステップ3025-2)ルールローダープログラム122は、ステップ3025-1で生成したBLEND演算子オブジェクト1631cからステップ3025-1で生成した結論オブジェクトのそれぞれへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3025-3に進める。
   (ステップ3025-3)ルールローダープログラム122は、ステップ3019で生成した集約内部結論オブジェクト(Ea(NetX-NetY))からステップ3025-1で生成したBLEND演算子オブジェクト1631cの基礎入力へ向けた接続を生成する。なお、この接続の太さは、接続した集約内部結論オブジェクト(Ea(NetX-NetY))の入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3025-4に進める。
   (ステップ3025-4)ルールローダープログラム122は、対象装置に関係する条件に対応する条件オブジェクトからステップ3025-1で生成したBLEND演算子オブジェクト1631cのデルタ入力へ向けた接続を生成する。
 <2.2.5.内部結論オブジェクト(EaDiv1-3(NetZ))の生成>。
 (ステップ3026)ルールローダープログラム122は、THEN部に内部結論オブジェクト(EaDiv1-3(NetZ))を生成する。なお、内部結論オブジェクト(EaDiv1-3(NetZ))がルールメモリデータに存在する場合には、対応するオブジェクトを生成しない。このように、既に存在する内部結論オブジェクトを利用することができるので、ルールメモリデータのデータ量を削減することができる。情報処理システム100が構成例2の場合、内部結論オブジェクト(EaDiv1-3(Net0))が生成される(図17の内部結論オブジェクト1742b)。また、ルールローダープログラム122は、ステップ3019で生成した集約内部結論オブジェクト(Ea(NetX-NetY))から生成した内部結論オブジェクトへ向けた接続を生成する。なお、この接続の太さは、接続した集約内部結論オブジェクトの入力の太さと同じである。また、この接続は、OR演算子オブジェクト1631b又はAND演算子オブジェクト1631aを介して行われてもよい。その後、ルールローダープログラム122は、処理をステップ3027に進める。
 (ステップ3027)ルールローダープログラム122は、ステップ3012で検索したサブネットXとサブネットYとの間にあるネットワーク装置103のそれぞれについて、以下のステップ3027-1~ステップ3027-4の処理を繰り返す。なお、それぞれに対して処理を終えた後、ルールローダープログラム122は、処理をステップ3028に進める。まず、ルールローダープログラム122は、ステップ3012で検索したサブネットXとサブネットYとの間にあるネットワーク装置103のうちの一つ(以下のステップ3027-1~ステップ3027-4において「対象装置」という)を選択する。
   (ステップ3027-1)ルールローダープログラム122は、対象装置に関係する結論に対応する結論オブジェクトとBLEND演算子オブジェクト1631cとを生成する。その後、ルールローダープログラム122は、処理をステップ3027-2に進める。
   (ステップ3027-2)ルールローダープログラム122は、ステップ3027-1で生成したBLEND演算子オブジェクト1631cからステップ3027-1で生成した結論オブジェクトのそれぞれへ向けた接続を生成する。その後、ルールローダープログラム122は、処理をステップ3027-3に進める。
   (ステップ3027-3)ルールローダープログラム122は、ステップ3026で生成した内部結論オブジェクト(EaDiv1-3(NetZ))からステップ3027-1で生成したBLEND演算子オブジェクト1631cの基礎入力へ向けた接続を生成する。なお、この接続の太さは、接続した内部結論オブジェクト(EaDiv1-3(NetZ))の入力の太さと同じである。その後、ルールローダープログラム122は、処理をステップ3027-4に進める。
   (ステップ3027-4)ルールローダープログラム122は、対象装置に関係する条件に対応する条件オブジェクトからステップ3027-1で生成したBLEND演算子オブジェクト1631cのデルタ入力へ向けた接続を生成する。
 (ステップ3028)ルールローダープログラム122は、ループ1を終了する。
 次に、マッチング率計算処理について説明する。
 マッチング率計算処理は、マッチング率評価プログラム125により行われる。図16及び図17を参照して説明したとおり、ルールメモリデータに含まれる各オブジェクトは、ソースオブジェクトからの出力に応じた値を出力する。条件オブジェクトが真(1)を出力することを契機に、その条件オブジェクトの出力は、オブジェクトの接続関係を辿って下流側へ流れる。出力が最終的に結論オブジェクトに至ることで、その結論オブジェクトの出力が、マッチング率になる。例えば、或る条件オブジェクトが真(1)を新たに出力することを契機に、マッチング率評価プログラム125は、以下の再帰的処理を行う。
 (ステップ4001)マッチング率評価プログラム125は、出力値が変化した条件オブジェクトのターゲットオブジェクト(下流側に接続されたオブジェクトであり、以下「オブジェクトA」という)を特定する。その後、マッチング率評価プログラム125は、処理をステップ4002に進める。
 (ステップ4002)マッチング率評価プログラム125は、オブジェクトAの各々について、オブジェクトの種類に従った処理を行い、新たな出力値を生成する。その後、マッチング率評価プログラム125は、処理をステップ4003に進める。
 (ステップ4003)マッチング率評価プログラム125は、新たな出力値を生成したオブジェクトAのターゲットオブジェクト(以下「オブジェクトB」)を特定する。もし、オブジェクトBが結論オブジェクトならば、マッチング率評価プログラム125は、当該新たな出力値をマッチング率として保存する。オブジェクトBが結論オブジェクト以外のオブジェクトであれば、マッチング率評価プログラム125は、オブジェクトBを「オブジェクトAの各々」としてステップ4002の処理を行う。
 以上の処理により、イベント検知によって真(1)となったイベントに関係する条件オブジェクトから、マッチング率の計算が開始される。なお、所定の時間経過によってある条件イベントの出力が真(1)から未検知を意味する0に変更された場合も、上記と同様の処理を行うことでマッチング率を再計算することができる。ただし、各オブジェクトの実行は、上記によらず他の方法で制御されても構わない。
 このように、マッチング率が計算された後に、マッチング率評価プログラム125は、例えば、ルールメモリデータから、マッチング率が所定の値を超えている結論オブジェクト1612を検出し、当該結論オブジェクト1612が管理する結論のイベントを、根本原因と特定し、当該根本原因を示す情報を、例えば、入出力デバイス114を介して、ディスプレイ117に表示出力させる。なお、根本原因のイベントを示す情報を、他の装置に出力(送信)して、他の装置において表示させるようにしてもよい。
 なお、一般ルールは、結論に含まれるイベントが発生した場合は、条件に含まれるイベントも必ず発生することを意味している。しかし、こうした影響を受けるノード装置からは必ずしもイベント検知ができるとは限らない。しかし、本実施形態のルールメモリデータで影響ノード装置を監視コンピュータで求める場合は、Aggregateイベント(Ea(NetX-NetY))によって影響範囲をたどることが難しくなる。そのため、CPU111が、指定されたノード装置とイベント種別とをキーに、該当する一般ルールを検索することで対応する条件イベント(つまり影響を受けるノード装置を示す)を特定し、記憶資源112に一時生成するようにして、例えば、ディスプレイ装置117に表示するようにしてもよい。
 図21は、イベント受信処理のフローチャートである。
 (ステップ2101)イベント受信プログラム123は、監視対象装置(具体的には、監視対象装置内の監視エージェント141、166)からイベントメッセージ1401を受信する。
 (ステップ2102)イベント受信プログラム123は、ステップ2101で受信したイベントメッセージ1401から監視対象名1411及びイベントタイプ1412を取得し、取得した情報1411、1412に監視対象タイプ及び受信日時を加えてイベント情報1511を作成する。そして、イベント受信プログラム123は、その作成したイベント情報1511をイベントキューテーブル134に追加して、処理を終了する。
 図22は、イベント書込処理のフローチャートである。
 (ステップ2201)イベント書込プログラム124は、イベントキューテーブル134からイベント情報1511を一つ取得する。
 (ステップ2202)イベント書込プログラム124は、ステップ2201で取得したイベント情報1511から監視対象タイプ1501、監視対象名1502及びイベントタイプ1503を取得する。
 (ステップ2203)その後、イベント書込プログラム124は、ステップ2202で取得した監視対象名1502及びイベントタイプ1503をキーに、ルールメモリデータを検索し、監視対象名1502及びイベントタイプ1503が一致する条件オブジェクトを特定する。そして、イベント書込プログラム124は、特定した条件オブジェクトの出力値を真(すなわち1)とし、処理を終了する。なお、このようにオブジェクトの出力値が変更されると、上記したマッチング率計算処理が実行されることとなる。
 以上、実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、監視コンピュータ101がネットワーク装置、例えば、スイッチにより構成されてもよい。
 101:監視コンピュータ、102:サーバ、103:ネットワーク装置、104:ストレージ。

Claims (9)

  1.  複数のサブネットワークを構成する複数のネットワーク装置と、
     前記複数のサブネットワークに属する複数のノード装置と、
     発生した事象の原因を特定するコンピュータと
    を有し、
     前記コンピュータは、
     記憶資源と、前記記憶資源に接続された制御デバイスと、を有し、
     前記記憶資源は、1以上のルールと、前記ネットワーク装置及び前記ノード装置がどのサブネットワークに所属するかを表したサブネットワーク情報とを記憶し、
     各ルールは、一端のノード装置と他端のノード装置とそれらを中継するネットワーク装置とを含んだトポロジに関するトポロジ情報と、そのトポロジにおける事象を示す条件と、その条件を満たす原因となる事象を示す結論と、を含み、
     (A)前記制御デバイスは、以下の(a1)~(a13)を行うことにより、ルールメモリデータを生成して前記記憶資源に格納し、
    (a1)前記サブネットワーク情報に基づいて、或る第1のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第1の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第1の条件オブジェクトを前記ルールメモリデータに含め、
    (a2)1以上の前記第1の条件オブジェクトの全ての事象の発生情報を集約するための第1の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第1の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a3)前記第1の内部条件オブジェクトを前記第1の条件オブジェクトに関連付け、
    (a4)前記サブネットワーク情報に基づいて、或る第2のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第2の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第2の条件オブジェクトを前記ルールメモリデータに含め、
    (a5)1以上の前記第2の条件オブジェクトの全てからの事象の発生情報を集約する第2の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記2の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a6)前記第2の内部条件オブジェクトを前記第2の条件オブジェクトに関連付け、
    (a7)前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理する集約内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部条件オブジェクトを前記ルールメモリデータに含め、
    (a8)前記集約内部条件オブジェクトを、前記第1及び第2の内部条件オブジェクトに関連付け、
    (a9)前記サブネットワーク情報に基づいて、前記第1のサブネットワークにおける複数のノード装置を特定し、当該ノード装置による前記ルールの前記条件となる事象の発生情報を管理する複数の第3の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の第3の条件オブジェクトを、前記ルールメモリデータに含め、
    (a10)前記集約内部条件オブジェクトの集約情報と、前記第3の条件オブジェクトの事象の前記発生情報とに基づいた、条件を判定するための判定情報を管理する集約内部結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部結論オブジェクトを前記ルールメモリデータに含め、
    (a11)前記集約内部結論オブジェクトを、前記集約内部条件オブジェクト及び前記第3の条件オブジェクトに関連付け、
    (a12)前記第1のサブネットワークにおけるネットワーク装置、及び前記第2のサブネットワークのネットワーク装置のそれぞれで発生する事象を示す結論が原因である可能性を示す指標を管理する複数の結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の結論オブジェクトを前記ルールメモリデータに含め、
    (a13)複数の前記結論オブジェクトを前記集約内部結論オブジェクトに関連付け、
     (B)前記制御デバイスは、前記複数のネットワーク装置又は前記複数のノード装置における事象の発生情報を受信し、前記ルールメモリデータに基づいて、前記受信した発生情報を管理する条件オブジェクトを特定し、特定した前記条件オブジェクトの管理する事象の前記発生情報を更新するとともに、前記条件オブジェクトに対する関連付けを辿って、前記発生情報の更新の影響が及ぶ各オブジェクトの管理する情報を更新していくことにより、前記結論オブジェクトの前記指標を更新し、更新した結論オブジェクトの前記指標に基づいて、事象の原因を特定し出力する、
    情報システム。
  2.  請求項1において、
     前記第1のサブネットワークと、前記第2のサブネットワークとの間には、第3のサブネットワークが介在しており、
     前記制御デバイスは、前記(A)において、さらに、以下の(a14)~(a16)を実行し、
    (a14)前記サブネットワーク情報に基づいて、前記第3のサブネットワークにおける1以上のネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第4の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第4の条件オブジェクトを前記ルールメモリデータに含め、
    (a15)1以上の前記第4の条件オブジェクトの全ての事象の前記発生情報を集約するための第3の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第3の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a16)前記第3の内部条件オブジェクトを前記第4の条件オブジェクトに関連付け、
     前記(a7)において生成された集約内部条件オブジェクトは、前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクト、及び前記第3の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理するオブジェクトであり、
     前記(a8)において、前記制御デバイスは、前記集約内部条件オブジェクトを、前記第1、第2及び第3の内部条件オブジェクトに関連付ける、
    情報システム。
  3.  請求項2において、
     前記結論オブジェクトの前記指標は、前記結論オブジェクトに対応する事象の発生情報を管理する条件オブジェクトの事象の発生情報と、前記集約内部結論オブジェクトの前記判定情報とに基づいて、決定される、
    情報システム。
  4.  複数のサブネットワークを構成する複数のネットワーク装置と前記複数のサブネットワークに属する複数のノード装置とを有する情報システムにおいて発生した事象の原因を特定するコンピュータであって、
     記憶資源と、
     前記記憶資源に接続された制御デバイスと
    を有し、
     前記記憶資源は、1以上のルールと、前記ネットワーク装置及び前記ノード装置がどのサブネットワークに所属するかを表したサブネットワーク情報とを記憶し、
     各ルールは、一端のノード装置と他端のノード装置とそれらを中継するネットワーク装置とを含んだトポロジに関するトポロジ情報と、そのトポロジにおける事象を示す条件と、その条件を満たす原因となる事象を示す結論と、を含み、
     (A)前記制御デバイスは、以下の(a1)~(a13)を行うことにより、ルールメモリデータを生成して前記記憶資源に格納し、
    (a1)前記サブネットワーク情報に基づいて、或る第1のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第1の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第1の条件オブジェクトを前記ルールメモリデータに含め、
    (a2)1以上の前記第1の条件オブジェクトの全ての事象の発生情報を集約するための第1の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第1の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a3)前記第1の内部条件オブジェクトを前記第1の条件オブジェクトに関連付け、
    (a4)前記サブネットワーク情報に基づいて、或る第2のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第2の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第2の条件オブジェクトを前記ルールメモリデータに含め、
    (a5)1以上の前記第2の条件オブジェクトの全てからの事象の発生情報を集約する第2の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記2の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a6)前記第2の内部条件オブジェクトを前記第2の条件オブジェクトに関連付け、
    (a7)前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理する集約内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部条件オブジェクトを前記ルールメモリデータに含め、
    (a8)前記集約内部条件オブジェクトを、前記第1及び第2の内部条件オブジェクトに関連付け、
    (a9)前記サブネットワーク情報に基づいて、前記第1のサブネットワークにおける複数のノード装置を特定し、当該ノード装置による前記ルールの前記条件となる事象の発生情報を管理する複数の第3の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の第3の条件オブジェクトを、前記ルールメモリデータに含め、
    (a10)前記集約内部条件オブジェクトの集約情報と、前記第3の条件オブジェクトの事象の前記発生情報とに基づいた、条件を判定するための判定情報を管理する集約内部結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部結論オブジェクトを前記ルールメモリデータに含め、
    (a11)前記集約内部結論オブジェクトを、前記集約内部条件オブジェクト及び前記第3の条件オブジェクトに関連付け、
    (a12)前記第1のサブネットワークにおけるネットワーク装置、及び前記第2のサブネットワークのネットワーク装置のそれぞれで発生する事象を示す結論が原因である可能性を示す指標を管理する複数の結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の結論オブジェクトを前記ルールメモリデータに含め、
    (a13)複数の前記結論オブジェクトを前記集約内部結論オブジェクトに関連付け、
     (B)前記制御デバイスは、前記複数のネットワーク装置又は前記複数のノード装置における事象の発生情報を受信し、前記ルールメモリデータに基づいて、前記受信した発生情報を管理する条件オブジェクトを特定し、特定した前記条件オブジェクトの管理する事象の前記発生情報を更新するとともに、前記条件オブジェクトに対する関連付けを辿って、前記発生情報の更新の影響が及ぶ各オブジェクトの管理する情報を更新していくことにより、前記結論オブジェクトの前記指標を更新し、更新した結論オブジェクトの前記指標に基づいて、事象の原因を特定し出力する、
    コンピュータ。
  5.  請求項4において、
     前記第1のサブネットワークと、前記第2のサブネットワークとの間には、第3のサブネットワークが介在しており、
     前記制御デバイスは、前記(A)において、さらに、以下の(a14)~(a16)を実行し、
    (a14)前記サブネットワーク情報に基づいて、前記第3のサブネットワークにおける1以上のネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第4の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第4の条件オブジェクトを前記ルールメモリデータに含め、
    (a15)1以上の前記第4の条件オブジェクトの全ての事象の前記発生情報を集約するための第3の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第3の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a16)前記第3の内部条件オブジェクトを前記第4の条件オブジェクトに関連付け、
     前記(a7)において生成された集約内部条件オブジェクトは、前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクト、及び前記第3の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理するオブジェクトであり、
     前記(a8)において、前記制御デバイスは、前記集約内部条件オブジェクトを、前記第1、第2及び第3の内部条件オブジェクトに関連付ける、
    コンピュータ。
  6.  請求項4において、
     前記結論オブジェクトの前記指標は、前記結論オブジェクトに対応する事象の発生情報を管理する条件オブジェクトの事象の発生情報と、前記集約内部結論オブジェクトの前記判定情報とに基づいて、決定される、
    コンピュータ。
  7.  複数のサブネットワークを構成する複数のネットワーク装置と前記複数のサブネットワークに属する複数のノード装置とを有する情報システムにおいて発生した事象の原因を特定する方法であって、
     (A)コンピュータが、以下の(a1)~(a13)を行うことにより、ルールメモリデータを生成して、1以上のルールとサブネットワーク情報とを記憶する記憶資源に格納し、各ルールは、一端のノード装置と他端のノード装置とそれらを中継するネットワーク装置とを含んだトポロジに関するトポロジ情報と、そのトポロジにおける事象を示す条件と、その条件を満たす原因となる事象を示す結論と、を含み、前記サブネットワーク情報は、前記ネットワーク装置及び前記ノード装置がどのサブネットワークに所属するかを表し、
    (a1)前記サブネットワーク情報に基づいて、或る第1のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第1の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第1の条件オブジェクトを前記ルールメモリデータに含め、
    (a2)1以上の前記第1の条件オブジェクトの全ての事象の発生情報を集約するための第1の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第1の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a3)前記第1の内部条件オブジェクトを前記第1の条件オブジェクトに関連付け、
    (a4)前記サブネットワーク情報に基づいて、或る第2のサブネットワークにおける1以上のネットワーク装置を特定し、当該ネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第2の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第2の条件オブジェクトを前記ルールメモリデータに含め、
    (a5)1以上の前記第2の条件オブジェクトの全てからの事象の発生情報を集約する第2の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記2の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a6)前記第2の内部条件オブジェクトを前記第2の条件オブジェクトに関連付け、
    (a7)前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理する集約内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部条件オブジェクトを前記ルールメモリデータに含め、
    (a8)前記集約内部条件オブジェクトを、前記第1及び第2の内部条件オブジェクトに関連付け、
    (a9)前記サブネットワーク情報に基づいて、前記第1のサブネットワークにおける複数のノード装置を特定し、当該ノード装置による前記ルールの前記条件となる事象の発生情報を管理する複数の第3の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の第3の条件オブジェクトを、前記ルールメモリデータに含め、
    (a10)前記集約内部条件オブジェクトの集約情報と、前記第3の条件オブジェクトの事象の前記発生情報とに基づいた、条件を判定するための判定情報を管理する集約内部結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記集約内部結論オブジェクトを前記ルールメモリデータに含め、
    (a11)前記集約内部結論オブジェクトを、前記集約内部条件オブジェクト及び前記第3の条件オブジェクトに関連付け、
    (a12)前記第1のサブネットワークにおけるネットワーク装置、及び前記第2のサブネットワークのネットワーク装置のそれぞれで発生する事象を示す結論が原因である可能性を示す指標を管理する複数の結論オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記複数の結論オブジェクトを前記ルールメモリデータに含め、
    (a13)複数の前記結論オブジェクトを前記集約内部結論オブジェクトに関連付け、
     (B)前記コンピュータは、前記複数のネットワーク装置又は前記複数のノード装置における事象の発生情報を受信し、前記ルールメモリデータに基づいて、前記受信した発生情報を管理する条件オブジェクトを特定し、特定した前記条件オブジェクトの管理する事象の前記発生情報を更新するとともに、前記条件オブジェクトに対する関連付けを辿って、前記発生情報の更新の影響が及ぶ各オブジェクトの管理する情報を更新していくことにより、前記結論オブジェクトの前記指標を更新し、更新した結論オブジェクトの前記指標に基づいて、事象の原因を特定し出力する、
    方法。
  8.  請求項7において、
     前記第1のサブネットワークと、前記第2のサブネットワークとの間には、第3のサブネットワークが介在しており、
     前記コンピュータは、前記(A)において、さらに、以下の(a14)~(a16)を実行し、
    (a14)前記サブネットワーク情報に基づいて、前記第3のサブネットワークにおける1以上のネットワーク装置による前記ルールの前記条件となる事象の発生情報を管理する1以上の第4の条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記1以上の第4の条件オブジェクトを前記ルールメモリデータに含め、
    (a15)1以上の前記第4の条件オブジェクトの全ての事象の前記発生情報を集約するための第3の内部条件オブジェクトを、前記ルールメモリデータに存在しない場合に生成し、生成した前記第3の内部条件オブジェクトを前記ルールメモリデータに含め、
    (a16)前記第3の内部条件オブジェクトを前記第4の条件オブジェクトに関連付け、
     前記(a7)において生成された集約内部条件オブジェクトは、前記第1の内部条件オブジェクト、前記第2の内部条件オブジェクト、及び前記第3の内部条件オブジェクトの事象の発生情報を集約した集約情報を管理するオブジェクトであり、
     前記(a8)において、前記コンピュータは、前記集約内部条件オブジェクトを、前記第1、第2及び第3の内部条件オブジェクトに関連付ける、
    方法。
  9.  請求項7において、
     前記結論オブジェクトの前記指標は、前記結論オブジェクトに対応する事象の発生情報を管理する条件オブジェクトの事象の発生情報と、前記集約内部結論オブジェクトの前記判定情報とに基づいて、決定される、
    方法。 
PCT/JP2012/050114 2012-01-05 2012-01-05 事象の原因を特定する情報システム、コンピュータ及び方法 WO2013103008A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2012/050114 WO2013103008A1 (ja) 2012-01-05 2012-01-05 事象の原因を特定する情報システム、コンピュータ及び方法
US13/580,753 US20130179563A1 (en) 2012-01-05 2012-01-05 Information system, computer and method for identifying cause of phenomenon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/050114 WO2013103008A1 (ja) 2012-01-05 2012-01-05 事象の原因を特定する情報システム、コンピュータ及び方法

Publications (1)

Publication Number Publication Date
WO2013103008A1 true WO2013103008A1 (ja) 2013-07-11

Family

ID=48744740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/050114 WO2013103008A1 (ja) 2012-01-05 2012-01-05 事象の原因を特定する情報システム、コンピュータ及び方法

Country Status (2)

Country Link
US (1) US20130179563A1 (ja)
WO (1) WO2013103008A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708677B (zh) * 2020-06-19 2023-07-07 浪潮云信息技术股份公司 一种云计算环境下的云硬盘使用量采集方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009153901A1 (en) * 2008-06-17 2009-12-23 Hitachi, Ltd. Method and apparatus for performing root cause analysis
JP2011198262A (ja) * 2010-03-23 2011-10-06 Hitachi Ltd 計算機システムにおけるシステム管理方法、及び管理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043661B2 (en) * 2000-10-19 2006-05-09 Tti-Team Telecom International Ltd. Topology-based reasoning apparatus for root-cause analysis of network faults
US7269757B2 (en) * 2003-07-11 2007-09-11 Reflectent Software, Inc. Distributed computer monitoring system and methods for autonomous computer management
US7668953B1 (en) * 2003-11-13 2010-02-23 Cisco Technology, Inc. Rule-based network management approaches
US7733788B1 (en) * 2004-08-30 2010-06-08 Sandia Corporation Computer network control plane tampering monitor
US20060271677A1 (en) * 2005-05-24 2006-11-30 Mercier Christina W Policy based data path management, asset management, and monitoring
CA2926677C (en) * 2007-09-26 2020-07-14 Nicira, Inc. Network operating system for managing and securing networks
WO2013086204A1 (en) * 2011-12-07 2013-06-13 Citrix Systems, Inc. Controlling a network interface using virtual switch proxying

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009153901A1 (en) * 2008-06-17 2009-12-23 Hitachi, Ltd. Method and apparatus for performing root cause analysis
JP2011198262A (ja) * 2010-03-23 2011-10-06 Hitachi Ltd 計算機システムにおけるシステム管理方法、及び管理システム

Also Published As

Publication number Publication date
US20130179563A1 (en) 2013-07-11

Similar Documents

Publication Publication Date Title
JP6307453B2 (ja) リスク評価システムおよびリスク評価方法
US10313183B2 (en) Network function virtualization NFV fault management apparatus, device, and method
US9294338B2 (en) Management computer and method for root cause analysis
US7552447B2 (en) System and method for using root cause analysis to generate a representation of resource dependencies
US9329924B2 (en) Monitoring system and monitoring program
EP3327637B1 (en) On-demand fault reduction framework
JP6208770B2 (ja) イベントの根本原因の解析を支援する管理システム及び方法
JP5698429B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US9246777B2 (en) Computer program and monitoring apparatus
US20200059396A1 (en) Correlating computing network events
JP6160064B2 (ja) 適用判定プログラム、障害検出装置および適用判定方法
WO2003005200A1 (en) Method and system for correlating and determining root causes of system and enterprise events
JP2016091402A (ja) リスク評価システムおよびリスク評価方法
US20230040635A1 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
US9021078B2 (en) Management method and management system
JP2012003406A (ja) 障害原因判定ルール検証装置及びプログラム
JP2010128597A (ja) 情報処理装置及び情報処理装置の運用方法
US11218357B1 (en) Aggregation of incident data for correlated incidents
WO2013103008A1 (ja) 事象の原因を特定する情報システム、コンピュータ及び方法
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP2017211806A (ja) 通信の監視方法、セキュリティ管理システム及びプログラム
WO2015019488A1 (ja) 管理システム及びその管理システムによるイベント解析方法
JP2019009726A (ja) 障害切り分け方法および管理サーバ
JP6926646B2 (ja) 事業者間一括サービス管理装置および事業者間一括サービス管理方法
JP5938495B2 (ja) 根本原因を解析する管理計算機、方法及び計算機システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 13580753

Country of ref document: US

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

Ref document number: 12864200

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12864200

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP