PROGRAM, INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD
By using a directed graph to manage additional and deleted generations in cloud infrastructure configurations, the method addresses the computational inefficiencies of large search spaces in cloud environments, facilitating rapid and accurate updates.
Patent Information
- Application Number
- JP2021047631
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-22
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-03-22
AI Technical Summary
In cloud environments, searching for nodes in a graph DB for cloud infrastructure configurations is computationally expensive due to high search spaces, leading to prolonged search times, especially when configuration information spans multiple generations.
A directed graph is used to represent dependencies among nodes, with additional and deleted generations recorded in property information, allowing selection of nodes and edges at specified times to reduce the number of entries stored in the graph DB.
This approach significantly shortens search times for cloud infrastructure configurations, enabling rapid updates and reducing computational overhead while maintaining accurate configuration information.
Smart Images

Figure 0007615808000001 
Figure 0007615808000002 
Figure 0007615808000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a program, an information processing device, and an information processing method. [Background technology]
[0002] In a cloud environment in which a customer system operates, only configurations related to a tenant of a specific customer operator may be visualized among various configurations in the cloud environment.
[0003] Cloud infrastructure can be complex, with different management infrastructures for virtual and physical resources.
[0004] Among cloud infrastructure, virtual resources such as virtual machines (VMs), virtual networks, and virtual volumes are easily identifiable because they belong to a customer. On the other hand, physical servers, storage, physical switches, etc. are shared by multiple customers, so it can be difficult to determine to what extent they are related to each customer.
[0005] Therefore, investigations can be carried out quickly by checking logs from multiple virtual and physical layers and visualizing past performance information in addition to accumulated past configuration information.For example, a method for linking past performance information may be realized by determining fault events such as failures, access concentration, and latency from performance information and highlighting the corresponding nodes.
[0006] Here, if the configuration information changes due to a node being added to the cloud infrastructure at a certain time, the event cannot be displayed because there is no corresponding node prior to the time the node was added.
[0007] Therefore, the obtained configuration information of all generations may be stored in a graph database (DB). [Prior art documents] [Patent documents]
[0008] [Patent Document 1] JP 2016-012193 A [Patent Document 2] JP 2019-082944 A Summary of the Invention [Problem to be solved by the invention]
[0009] However, since the nodes that are the targets of events are searched for and synthesized from configuration information of multiple generations in the graph DB, the computational cost of searching for nodes in the graph DB may be high, and as a result, the search time becomes longer as the search space becomes larger.
[0010] One aspect is to shorten the search time for cloud infrastructure configuration and update configuration information at short intervals. [Means for solving the problem]
[0011] In one aspect, the program causes a computer to present a directed graph representing dependencies between a plurality of nodes, by recording an added generation or a deleted generation at the time of a configuration change in property information in the directed graph, selecting nodes that exist at a specified time among the plurality of nodes and edges between the nodes, and acquiring configuration information of the nodes and the edges at the specified time, thereby presenting the directed graph. death , referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; Execute the process. The program also causes a computer that presents a directed graph representing dependency relationships between multiple nodes to perform the following processes: record an addition generation or deletion generation at the time of a configuration change in property information in the directed graph, select nodes among the multiple nodes that exist at a specified time and edges between the nodes, and present the directed graph by obtaining configuration information of the nodes and edges at the specified time, refer to the configuration information at the specified time for the multiple nodes and multiple edges between the multiple nodes whose timestamps in the directed graph are less than the specified time, and record the deletion generation for nodes or edges not included in the configuration information. Effect of the Invention
[0012] On the one hand, it is possible to shorten the time required to search for cloud infrastructure configuration and update configuration information at short intervals. [Brief description of the drawings]
[0013] [Figure 1] FIG. 2 is a block diagram illustrating a configuration example of a customer system according to an embodiment. [Diagram 2] 2 is a diagram for explaining configuration information in the customer system shown in FIG. 1. [Diagram 3] FIG. 13 is a diagram illustrating an example of deleting and adding a node in a related example. [Figure 4] 11 is a diagram illustrating a process of storing configuration information in a graph DB in a related example; [Diagram 5] 11A and 11B are diagrams illustrating a synthesis process of configuration information in a related example; [Figure 6] 2 is a diagram illustrating an example of changes in actual configuration information in the customer system shown in FIG. 1. [Figure 7] 7 is a diagram illustrating an example of changes in data in a graph DB corresponding to the changes in the actual configuration information shown in FIG. 6. [Figure 8] 2 is a block diagram illustrating an example of a hardware configuration of a physical machine in the customer system illustrated in FIG. 1. [Figure 9] 9 is a block diagram illustrating an example of the software configuration of the physical machine illustrated in FIG. 8. [Figure 10] 10 is a table illustrating tenant configuration information in the configuration information DB illustrated in FIG. 9 . [Figure 11] 10 is a table illustrating VM configuration information in the configuration information DB illustrated in FIG. 9 . [Figure 12] 10 is a table illustrating volume configuration information in the configuration information DB shown in FIG. 9 . [Figure 13] 10 is a table illustrating storage configuration information in the configuration information DB illustrated in FIG. 9 . [Figure 14] 10 is a table illustrating server configuration information in the configuration information DB shown in FIG. 9 . [Figure 15] 10 is a table illustrating physical switch configuration information in the configuration information DB illustrated in FIG. 9 . [Figure 16] 10 is a table illustrating edge configuration information in the configuration information DB illustrated in FIG. 9 . [Figure 17] 10 is a flowchart illustrating a first example of a graph DB creation process in the physical machine illustrated in FIG. 8. [Figure 18] 10 is a flowchart illustrating a second example of the graph DB creation process in the physical machine illustrated in FIG. 8. [Figure 19] 9 is a flowchart illustrating a reconfiguration process of configuration information in the physical machine illustrated in FIG. 8. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] [A] Embodiment An embodiment will be described below with reference to the drawings. However, the embodiment described below is merely an example, and there is no intention to exclude the application of various modified examples and techniques not specified in the embodiment. In other words, the present embodiment can be implemented with various modifications within the scope of the gist of the embodiment. In addition, each figure does not intend to include only the components shown in the figure, but can include other functions, etc.
[0015] In the following drawings, the same reference numerals denote similar parts, and therefore the description thereof will be omitted.
[0016] [A-1] Configuration example FIG. 1 is a block diagram illustrating a configuration example of a customer system 100 according to an embodiment.
[0017] The customer system 100 includes a tenant 21, a service 22, a VM 23, a virtual volume 24, a server 25, and a storage 26. The VM 23 may be a container. The server 25 and the storage 26 may be collectively referred to as a physical resource. The VM 23, the virtual volume 24, the server 25, and the storage 26 may be collectively referred to as a node.
[0018] The VM 23 and the virtual volume 24 are deployed on a virtual platform 201 and are managed by configuration information and performance information. The virtual volume 24, the server 25, and the storage 26 are deployed on a physical platform 202 and are managed by configuration information and performance information.
[0019] The configuration information includes data on added and deleted generations in addition to the name and status of each node. The performance information includes data on the performance of each node. Details of the configuration information will be described later with reference to Figs. 2 and 10 to 16.
[0020] FIG. 2 is a diagram for explaining configuration information in the customer system 100 shown in FIG.
[0021] Configuration information is stored in the graph DB as a directed graph to represent the dependencies between nodes. Configuration information and performance information are acquired at different times, and are acquired at irregular intervals. Generally, performance changes occur more frequently than configuration changes, so the acquisition cycle for performance information may be shorter than that for configuration information.
[0022] The generations of the graph DB are managed by the time of acquisition. In the example shown in Fig. 2, generation T acquired at time T and generation T+1 acquired at time T+1 are shown. Also, as shown by reference symbol A1, a node is added to generation T at time t1, and an event occurs for the node added to generation T at time t2, as shown by reference symbol A2.
[0023] Additionally, any generation may be erased asynchronously.
[0024] FIG. 3 is a diagram illustrating an example of deleting and adding a node in an association example.
[0025] A customer system 600 shown in Fig. 3 corresponds to the customer system 100 in the embodiment shown in Fig. 1. At time T indicated by reference symbol B1, the customer system 600 includes tenant A, VM01, VM02, vol01, vol02, Server001, Server002, St001, St002, psw001, and psw002.
[0026] Note that VM corresponds to the VM 23 shown in Fig. 1, vol corresponds to the virtual volume 24 shown in Fig. 1, Server corresponds to the server 25 shown in Fig. 1, and St corresponds to the storage 26 shown in Fig. 1. Note that psw indicates a physical switch included in the physical resources shown in Fig. 1, although it is not shown in Fig. 1.
[0027] As indicated by reference symbol B11, in the customer system 100 at time T, vol03 is a non-existent node, so that an event relating to vol03 cannot be displayed.
[0028] At time T+1 indicated by reference symbol B2, the nodes VM02 and vol02 are deleted as indicated by reference symbol B21, and the nodes St003 are added in addition to VM03 and vol03 as indicated by reference symbol B22.
[0029] In this manner, in the related example shown in FIG. 3, if the configuration information changes between time T and time T+1 and a node is added, even if an event for the added node is notified, the event cannot be displayed because there is no corresponding node at time T.
[0030] FIG. 4 is a diagram illustrating a process of storing configuration information in the graph DB 601 in the association example.
[0031] At time T1 indicated by reference symbol C1, the customer system 600 has the same nodes as the customer system 600 indicated by reference symbol B1 in Fig. 3, and configuration information at time T1 is stored in the graph DB 601. At time T3 indicated by reference symbol C2, the nodes VM03, vol03, and St003 are added to the customer system 600, and configuration information at time T3 is stored in the graph DB 601. At time T5 indicated by reference symbol C3, the nodes VM03, vol03, and St003 are deleted from the customer system 600, and configuration information at time T5 is stored in the graph DB 601.
[0032] 4, the acquired configuration information of all generations is stored in the graph DB 601, and the node that is the target of the event is searched and synthesized from the configuration information of multiple generations in the graph DB 601. In general, the graph DB 601 requires high calculation costs for searching for nodes, and the larger the search space, the longer the search time.
[0033] FIG. 5 is a diagram illustrating a composition process of configuration information in the related example.
[0034] The customer system 600 shown at D1 shows the original configuration information and has the same nodes as the customer system 600 shown at B1 in FIG.
[0035] In the added node including the dependency shown by the symbol D2, VM03 and St003 are shown as added nodes in addition to vol03 shown by the symbol D21. Also, in the added node including the dependency shown by the symbol D2, each node showing the dependency with the added vol03, VM03, and St003 is also shown.
[0036] The customer system 600 shown at D3 shows the combined configuration information, in which the original configuration information at D1 and the additional node including the dependency relationship at D2 are combined.
[0037] Configuration information expresses dependencies as a directed graph. When adding a node that does not exist in the configuration information of a certain generation, the dependency cannot be expressed by simply adding the node. Therefore, as shown in Figure 5, new configuration information is generated, including the dependency of the node to be added.
[0038] FIG. 6 is a diagram illustrating an example of changes in actual configuration information in the customer system 100 shown in FIG.
[0039] At time T1 indicated by symbol E1, the customer system 100 includes tenant A, VM01, VM02, vol01, vol02, Server001, Server002, St001, St002, psw001, and psw002.
[0040] Note that VM corresponds to the VM 23 shown in Fig. 1, vol corresponds to the virtual volume 24 shown in Fig. 1, Server corresponds to the server 25 shown in Fig. 1, and St corresponds to the storage 26 shown in Fig. 1. Note that psw indicates a physical switch included in the physical resources shown in Fig. 1, although it is not shown in Fig. 1.
[0041] At time T3 indicated by reference symbol E2, the nodes VM03 and St003 are added in addition to vol03 indicated by reference symbol E21.
[0042] At time T5 indicated by reference symbol E3, the nodes vol03, VM03, and St003 are deleted as indicated by reference symbol E31.
[0043] FIG. 7 is a diagram illustrating an example of changes in data in the graph DB corresponding to the changes in the actual configuration information shown in FIG.
[0044] At time T1, indicated by reference character E4, customer system 100 has the same nodes as customer system 100 indicated by reference character E1 in FIG.
[0045] At time T3, indicated by reference symbol E5, the customer system 100 has nodes similar to those of the customer system 100 indicated by reference symbol E2 in Fig. 6. As indicated by reference symbol E51, for example, for VM01, since it is a node that exists in the previous generation, it is not added as a new node to the graph DB. On the other hand, as indicated by reference symbol E52, for example, for vol03, data such as "Name: vol03", "Added generation: T3", and "Deleted generation: - (none)" are stored as properties in the graph DB.
[0046] At time T5, indicated by reference symbol E5, the customer system 100 has nodes similar to those of the customer system 100 indicated by reference symbol E3 in Fig. 6. As indicated by reference symbol E61, in the graph DB data, even after a node is deleted, the node or edge is not deleted, and the deletion generation number is recorded. That is, as indicated by reference symbol E62, for example, for vol03, in addition to data such as "Name:vol03" and "addition generation:T3", data of "deletion generation:T5" is stored in the graph DB as a property.
[0047] Thus, in one embodiment, the added generation and deleted generation are recorded in the properties of nodes and edges stored in the graph DB. When a resource is added, a node or edge is added to the graph DB, and the added generation is set in the properties. On the other hand, when a resource is deleted, the deleted generation is set in the properties without deleting the node or edge in the graph DB.
[0048] Nodes and edges between nodes that exist at a specified time t may be selected, and configuration information at that time may be obtained. Nodes and edges that satisfy the condition of added generation≦t and t<deleted generation may be selected, and configuration information at time t may be obtained.
[0049] By using properties, it is not necessary to store all generations in the graph DB, so the number of nodes and edges stored in the graph DB can be reduced.
[0050] FIG. 8 is a block diagram illustrating an example of a hardware configuration of the physical machine 1 in the customer system 100 illustrated in FIG.
[0051] The physical machine 1 is an example of an information processing device, and includes a Central Processing Unit (CPU) 11, a memory 12, a storage device 13, a recording medium IF 14, and a network IF 15.
[0052] The memory 12 is a storage device including, for example, a Read Only Memory (ROM) and a Random Access Memory (RAM). The RAM may be, for example, a Dynamic RAM (DRAM). Programs such as a Basic Input / Output System (BIOS) may be written in the ROM of the memory 12. The software programs in the memory 12 may be appropriately read and executed by the CPU 11. The RAM of the memory 12 may be used as a primary recording memory or a working memory.
[0053] The storage device 13 is illustratively a device that stores data in a readable and writable manner, and may be, for example, a hard disk drive (HDD), a solid state drive (SSD), or a storage class memory (SCM).
[0054] The recording medium IF 14 is configured so that the recording medium 140 can be mounted thereon. The recording medium IF 14 is configured so that, when the recording medium 140 is mounted thereon, the information recorded on the recording medium 140 can be read. In this example, the recording medium 140 is portable. The recording medium 140 is a computer-readable recording medium, and is, for example, a flexible disk, a CD (CD-ROM, CD-R, CD-RW, etc.), a DVD (DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD, etc.), a Blu-ray disk, a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
[0055] The network IF 15 is an interface device for connecting the physical machine 1 to a network 150 and communicating with each node of the customer system 100 shown in Fig. 1 via the network 150. As the network IF 15, for example, various interface cards compatible with the standards of the network 150, such as a wired local area network (LAN), a wireless LAN, or a wireless wide area network (WWAN), can be used.
[0056] The CPU 11 is, for example, a processing device that performs various controls and calculations, and realizes various functions by executing an Operating System (OS) and programs stored in the memory 12.
[0057] The program for realizing the functions of the CPU 11 may be provided in a form recorded on a computer-readable recording medium, such as a flexible disk, a CD (CD-ROM, CD-R, CD-RW, etc.), a DVD (DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD, etc.), a Blu-ray disk, a magnetic disk, an optical disk, a magneto-optical disk, etc. Then, the computer (CPU 11 in this embodiment) may read the program from the above-mentioned recording medium via a reading device (not shown), transfer it to an internal recording device or an external recording device, and store it for use. Also, the program may be recorded in a storage device (recording medium), such as a magnetic disk, an optical disk, a magneto-optical disk, etc., and provided to the computer from the storage device via a communication path.
[0058] When implementing the functions of the CPU 11, a program stored in an internal storage device (memory 12 in this embodiment) may be executed by a computer (CPU 11 in this embodiment). Also, a program recorded on a recording medium may be read and executed by a computer.
[0059] FIG. 9 is a block diagram illustrating an example of the software configuration of the physical machine 1 illustrated in FIG.
[0060] 8 functions as a configuration information acquisition unit 111, a graph DB creation unit 112, a configuration information reconfiguration unit 113, a display unit 114, a performance information acquisition unit 115, and an event transmission unit 116. In addition, the storage device 13 shown in FIG. 8 stores a configuration information DB 101 and a performance information DB 102.
[0061] The configuration information acquisition unit 111 detects the addition of a node or edge in the customer system 100 , and outputs configuration information about the added node or edge to the graph DB creation unit 112 .
[0062] 6 based on the configuration information received from the configuration information acquisition unit 111. In addition, the graph DB creation unit 112 stores the received configuration information in the configuration information DB 101.
[0063] The graph DB creation unit 112 records the added generation or deleted generation at the time of the configuration change in the property information in the directed graph. The graph DB creation unit 112 selects nodes that exist at a specified time among multiple nodes and edges between the nodes. The graph DB creation unit 112 presents the directed graph by obtaining configuration information of the nodes and edges at the specified time.
[0064] The graph DB creation unit 112 may refer to configuration information at a specified time for all of the multiple nodes in the directed graph and the multiple edges between the multiple nodes, and record the deletion generation for the nodes or edges not included in the configuration information. The graph DB creation unit 112 may also refer to configuration information at a specified time for the multiple nodes in the directed graph whose timestamps are less than the specified time and the multiple edges between the multiple nodes, and record the deletion generation for the nodes or edges not included in the configuration information.
[0065] The configuration information reconfiguration unit 113 reconfigures the configuration information and recreates the graph DB based on the graph DB created by the graph DB creation unit 112 and the configuration information stored in the configuration information DB 101. The configuration information reconfiguration unit 113 may reconfigure the configuration information in response to the transmission of an event from the event transmission unit 116.
[0066] The configuration information reconfiguration unit 113 may reconfigure the configuration information when detecting an event for any of the multiple nodes in the directed graph and the multiple edges between the multiple nodes at a specified time. The configuration information reconfiguration may be performed by presenting, to the directed graph, the nodes and edges whose specified time is after the addition generation and whose deletion generation is not recorded, and the nodes and edges whose specified time is after the addition generation and before the deletion generation, among the multiple nodes and edges.
[0067] The display unit 114 displays the graph DB reconstructed by the configuration information reconstructing unit 113 and the events output from the event transmitting unit 116 on a display device (not shown) of the physical machine 1.
[0068] The performance information acquisition unit 115 detects changes in performance information relating to nodes and edges in the customer system 100 , acquires the performance information relating to the nodes and edges, and stores it in the performance information DB 102 .
[0069] The event transmission unit 116 detects a change in the performance information stored in the performance information DB 102, and transmits the detected change in the performance information to the configuration information reconfiguration unit 113 and the display unit 114 as an event.
[0070] FIG. 10 is a table illustrating tenant configuration information in the configuration information DB 101 shown in FIG.
[0071] The tenant configuration information is the configuration information of the tenant 21 shown in Fig. 1. In the definition example indicated by the reference symbol F1, the tenant configuration information includes, as property names, a TenantId, a tenant name, an added generation, and a deleted generation. The types of the TenantId and the tenant name are String (character string), and the types of the added generation and the deleted generation are Time (time).
[0072] In the data example indicated by the reference symbol F2, the tenant configuration information is "TenantId: 01", "tenant name: TenantA", "addition generation: T1", and "deletion generation: - (none)".
[0073] FIG. 11 is a table illustrating the VM configuration information in the configuration information DB 101 shown in FIG.
[0074] The VM configuration information is the configuration information of the VM 23 shown in Fig. 1. In the definition example indicated by the symbol G1, the tenant configuration information includes the property names of VMId, VM name, state, port, added generation, and deleted generation. The types of VMId, VM name, state, and port are String, and the types of added generation and deleted generation are Time.
[0075] In the data example shown in symbol G2, for example, "VMId:01" is "VM name: VM01", "status: active", "port: port1", "additional generation: T1", and "deletion generation: - (none)". Also, for example, "VMId:03" is "VM name: VM03", "status: active", "port: port2", "additional generation: T3", and "deletion generation: T5".
[0076] FIG. 12 is a table showing an example of volume configuration information in the configuration information DB 101 shown in FIG.
[0077] The volume configuration information is the configuration information of the virtual volume 24 shown in Fig. 1. In the definition example indicated by the symbol H1, the volume configuration information includes property names such as VolumeId, volume name, status, added generation, and deleted generation. The types of VolumeId, volume name, and status are String, and the types of added generation and deleted generation are Time.
[0078] In the data example shown by the symbol H2, for example, "VolumeId:01" is "Volume name: Vol01", "Status: active", "Additional generation: T1", and "Deletion generation: - (none)". Also, for example, "VolumeId:03" is "Volume name: Vol03", "Status: active", "Additional generation: T3", and "Deletion generation: T5".
[0079] FIG. 13 is a table illustrating the storage configuration information in the configuration information DB 101 shown in FIG.
[0080] The storage configuration information is the configuration information of the storage 26 shown in Fig. 1. In the definition example indicated by the symbol I1, the storage configuration information includes property names: StorageId, storage name, status, added generation, and deleted generation. The types of StorageId, storage name, and status are String, and the types of added generation and deleted generation are Time.
[0081] In the data example shown by reference symbol I2, for example, "StorageId:01" is "Storage name: St001", "Status: active", "Additional generation: T1", and "Deletion generation: - (none)". Also, for example, "StorageId:03" is "Storage name: St003", "Status: online", "Additional generation: T3", and "Deletion generation: T5".
[0082] FIG. 14 is a table illustrating the server configuration information in the configuration information DB 101 shown in FIG.
[0083] The server configuration information is the configuration information of the server 25 shown in Fig. 1. In the definition example indicated by the symbol J1, the server configuration information includes property names of ServerId, Server Name, Status, Added Generation, and Deleted Generation. The types of ServerId, Server Name, and Status are String, and the types of Added Generation and Deleted Generation are Time.
[0084] In the data example shown by the symbol J2, for example, "ServerId:01" has "Server name: Server001", "Status: active", "Additional generation: T1", and "Deletion generation: - (none)".
[0085] FIG. 15 is a table illustrating the physical switch configuration information in the configuration information DB 101 shown in FIG.
[0086] The physical switch configuration information is configuration information of the physical switches included in the physical resources shown in Fig. 1. In the definition example indicated by the reference symbol K1, the physical switch configuration information includes PSwitchId, physical switch name, added generation, and deleted generation as property names. The types of PSwitchId and physical switch name are String, and the types of added generation and deleted generation are Time.
[0087] In the data example indicated by the reference symbol K2, for example, "PSwitchId: 01" has "physical switch name: psw001", "addition generation: T1", and "deletion generation: - (none)" as the physical switch configuration information.
[0088] FIG. 16 is a table illustrating edge configuration information in the configuration information DB 101 shown in FIG.
[0089] The edge configuration information is the configuration information of the edge between each node shown in Fig. 1. In the definition example shown by the symbol L1, the edge configuration information includes EdgeId, Type, Src, Dst, added generation, and deleted generation as property names. The types of EdgeId, Type, Src, and Dst are String, and the types of the added generation and deleted generation are Time.
[0090] In the data example shown by symbol L2, the physical switch configuration information, for example, "EdgeId: 01" is "Type: OwnedBy", "Src: VM01", "Dst: TenantA", "Add Generation: T1", "Delete Generation: - (none)". Also, for example, "EdgeId: 12" is "Type: OwnedBy", "Src: VM03", "Dst: TenantA", "Add Generation: T3", "Delete Generation: T5".
[0091] 〔A-2〕Operation Example A first example of the creation process of the graph DB in the physical machine 1 shown in FIG. 8 in an example of the embodiment will be described according to the flowchart (steps S1 to S9) shown in FIG. 17.
[0092] The configuration information acquisition unit 111 acquires the configuration information of generation T (step S1).
[0093] The graph DB creation unit 112 searches for the entry e in the configuration information DB 101 (step S2).
[0094] The graph DB creation unit 112 determines whether the entry e has been found (step S3).
[0095] If the entry e is not found (refer to the No route in step S3), the process proceeds to step S5.
[0096] On the other hand, if the entry e is found (refer to the Yes route in step S3), the graph DB creation unit 112 determines whether a delete generation is set in the entry e and the delete generation < T (step S4).
[0097] If a delete generation is set in the entry e and the delete generation < T (refer to the Yes route in step S4), the graph DB creation unit 112 creates a new entry for e (step S5).
[0098] The graph DB creation unit 112 sets the generation T to the additional generation property of the created entry (step S6).
[0099] The graph DB creation unit 112 adds an entry to the configuration information DB 101 (step S7). Then, the processing in steps S2 to S7 is repeated for all the nodes and edges of generation T.
[0100] In step S4, if the deletion generation is not set for the entry e or the deletion generation < T (refer to the No route in step S4), the processing in steps S2 to S7 is repeated for all the nodes and edges of generation T.
[0101] When the processing in steps S2 to S7 is completed for all the nodes and edges of generation T, the graph DB creation unit 112 determines whether the entry e is found in the configuration information of generation T (step S8).
[0102] If the entry e is found in the configuration information of generation T (refer to the Yes route in step S8), the processing in steps S8 and S9 is repeated for all the nodes and edges of the graph DB.
[0103] On the other hand, if the entry e is not found in the configuration information of generation T (refer to the No route in step S8), the graph DB creation unit 112 sets the generation T to the deletion generation property of the entry e (step S9). Then, the processing in steps S8 and S9 is repeated for all the nodes and edges of the graph DB.
[0104] When the processing in steps S8 and S9 is completed for all the nodes and edges of the graph DB, the creation process of the graph DB ends.
[0105] Next, a second example of the graph DB creation process in the physical machine 1 shown in FIG. 8 in an example of the embodiment will be described according to the flowchart (steps S11 to S19) shown in FIG. 18.
[0106] The configuration information acquisition unit 111 acquires the configuration information of generation T (step S11).
[0107] The graph DB creation unit 112 searches for the entry e in the configuration information DB 101 (step S12).
[0108] The graph DB creation unit 112 determines whether the entry e is found (step S13).
[0109] If the entry e is not found (refer to the No route in step S13), the process proceeds to step S15.
[0110] On the other hand, if the entry e is found (refer to the Yes route in step S13), the graph DB creation unit 112 determines whether a deletion generation is set for the entry e and the deletion generation < T (step S14).
[0111] If a deletion generation is set for the entry e and the deletion generation < T (refer to the Yes route in step S14), the graph DB creation unit 112 creates a new entry for e (step S15).
[0112] The graph DB creation unit 112 sets the generation T to the additional generation property of the created entry (step S16).
[0113] The graph DB creation unit 112 adds the entry to the configuration information DB 101 (step S17). Then, the process proceeds to step S18.
[0114] In step S14, if a deletion generation is not set for the entry e or the deletion generation ≥ T (refer to the No route in step S14), the graph DB creation unit 112 sets T to the time stamp of the entry e (step S18). Then, the processing in steps S12 to S18 is repeated for all the nodes and edges of generation T.
[0115] As shown by symbol M1, a time stamp of type Time is added to the time stamps of the configuration information of each node and edge shown in FIGS. 10 to 16.
[0116] When the processing in steps S12 to S18 is completed for all nodes and edges in generation T, the graph DB creation unit 112 sets generation T in the deletion generation property of the entry e (step S19). Then, the processing of step S19 is repeated for the nodes and edges in the graph DB whose time stamps are < T.
[0117] When the processing of step S19 is completed for the nodes and edges in the graph DB whose time stamps are < T, the creation process of the graph DB ends.
[0118] Next, the configuration information reconstruction process in the physical machine 1 shown in FIG. 8 in an example of the embodiment will be described according to the flowchart shown in FIG. 19 (steps S21 to S27).
[0119] The configuration information reconstruction unit 113 receives an event and acquires the event time t and the event node n (step S21).
[0120] The configuration information reconstruction unit 113 sets the result set to an empty set (step S22).
[0121] The configuration information reconstruction unit 113 searches the configuration information DB 101 (step S23).
[0122] The configuration information reconstruction unit 113 determines whether a deletion time is set in the configuration information DB 101 (step S24).
[0123] If the deletion time is not set (refer to the No route in step S24), the configuration information reconstruction unit 113 determines whether the addition time ≤ t (step S25).
[0124] If the addition time ≤ t (refer to the Yes route of step S25), the process proceeds to step S27.
[0125] On the other hand, if the addition time ≤ t is not satisfied (refer to the No route of step S25), the processes in steps S24 to S27 are repeated for the nodes and edges where the addition time < t.
[0126] In step S24, if the deletion time has been set (refer to the Yes route of step S24), the configuration information reconstruction unit 113 determines whether the addition time ≤ t < the deletion time (step S26).
[0127] If the addition time ≤ t < the deletion time is not satisfied (refer to the No route of step S26), the processes in steps S24 to S27 are repeated for the nodes and edges where the addition time < t.
[0128] On the other hand, if the addition time ≤ t < the deletion time (refer to the Yes route of step S27), the configuration information reconstruction unit 113 records the entry e in the result set (step S27). Then, the processes in steps S24 to S27 are repeated for the nodes and edges where the addition time < t.
[0129] When the processes in steps S24 to S27 for the nodes and edges where the addition time < t are completed, the reconstruction process of the configuration information ends.
[0130] 〔B〕Effect According to the information processing apparatus, program, and information processing method in an example of the above-described embodiment, for example, the following operational effects can be achieved.
[0131] The graph DB creation unit 112 records the added generation or deleted generation at the time of the configuration change in the property information in the directed graph. The graph DB creation unit 112 selects nodes that exist at a specified time among multiple nodes and edges between the nodes. The graph DB creation unit 112 presents the directed graph by obtaining configuration information of the nodes and edges at the specified time.
[0132] This shortens the time required to search for the cloud infrastructure configuration and allows the configuration information to be updated in short cycles. Specifically, by reducing the number of nodes and edges stored in the graph DB, the search time in the graph DB can be shortened, making it possible to update the configuration information in short cycles in accordance with failure events due to performance information. In addition, inconsistencies such as nodes not existing in the performance information do not occur.
[0133] The graph DB creation unit 112 may refer to configuration information at a specified time for all of the multiple nodes in the directed graph and the multiple edges between the multiple nodes, and record the deletion generation for nodes or edges that are not included in the configuration information. This allows nodes or edges to be deleted reliably from the graph DB.
[0134] Furthermore, the graph DB creation unit 112 may refer to configuration information at a specified time for multiple nodes in a directed graph whose timestamps are less than the specified time and multiple edges between the multiple nodes, and record the deletion generations for nodes or edges not included in the configuration information. By adding a timestamp to the property, the number of entries to be searched can be reduced, and the time required to create a graph DB can be further reduced.
[0135] The configuration information reconfiguration unit 113 may reconfigure the configuration information when an event is detected at a specified time for any of the multiple nodes in the directed graph and the multiple edges between the multiple nodes. The configuration information may be reconfigured by presenting, in the directed graph, the nodes and edges of the multiple nodes and edges whose specified time is after the added generation and whose deleted generation is not recorded, and the nodes and edges whose specified time is after the added generation and before the deleted generation. This makes it possible to reconfigure the configuration information reliably in response to the occurrence of an event such as a change in the performance of a node or edge.
[0136] [C] Other The disclosed technology is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment. Each configuration and each process of the present embodiment can be selected as necessary, or can be combined as appropriate.
[0137] [C] Additional Notes The following supplementary notes are further disclosed regarding the above embodiment.
[0138] (Appendix 1) A computer presents a directed graph representing dependencies between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; A program that executes a process.
[0139] (Appendix 2) referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; 2. The program of claim 1, which causes the computer to execute a process.
[0140] (Appendix 3) referring to the configuration information at the specified time for the plurality of nodes and the plurality of edges between the plurality of nodes whose timestamps are less than the specified time in the directed graph, and recording the deletion generations for the nodes or edges not included in the configuration information; 2. The program of claim 1, which causes the computer to execute a process.
[0141] (Appendix 4) when an event for any of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph is detected at the specified time, presenting, in the directed graph, among the plurality of nodes and the plurality of edges, nodes and edges for which the specified time is after the addition generation and for which the deletion generation is not recorded, and nodes and edges for which the specified time is after the addition generation and before the deletion generation; 4. The program according to any one of claims 1 to 3, which causes the computer to execute a process.
[0142] (Appendix 5) An information processing device that presents a directed graph representing dependency relationships between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; An information processing device comprising a processor.
[0143] (Appendix 6) the processor refers to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and records the deletion generation for nodes or edges not included in the configuration information; 6. The information processing device according to claim 5.
[0144] (Appendix 7) The processor refers to the configuration information at the specified time for the plurality of nodes and the plurality of edges between the plurality of nodes whose timestamps are less than the specified time in the directed graph, and records the deletion generation for the nodes or edges not included in the configuration information. 6. The information processing device according to claim 5.
[0145] (Appendix 8) When the processor detects an event for any of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph at the specified time, the processor presents, to the directed graph, nodes and edges for which the specified time is after the addition generation and for which the deletion generation is not recorded, and nodes and edges for which the specified time is after the addition generation and before the deletion generation. 8. The information processing device according to any one of claims 5 to 7.
[0146] (Appendix 9) a computer presenting a directed graph representing dependencies between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; A method for processing information.
[0147] (Appendix 10) referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; 10. The information processing method according to claim 9, wherein the processing is performed by the computer.
[0148] (Appendix 11) referring to the configuration information at the specified time for the plurality of nodes and the plurality of edges between the plurality of nodes whose timestamps are less than the specified time in the directed graph, and recording the deletion generations for the nodes or edges not included in the configuration information; 10. The information processing method according to claim 9, wherein the processing is performed by the computer.
[0149] (Appendix 12) when an event for any of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph is detected at the specified time, presenting, in the directed graph, among the plurality of nodes and the plurality of edges, nodes and edges for which the specified time is after the addition generation and for which the deletion generation is not recorded, and nodes and edges for which the specified time is after the addition generation and before the deletion generation; 12. The information processing method according to any one of claims 9 to 11, wherein the processing is executed by the computer. [Explanation of symbols]
[0150] 1: Physical machine 11: CPU 12: Memory 13:Storage device 14: Recording medium IF 15: Network Interface 21: Tenant 22:Service 24: Virtual Volume 25: Server 26: Storage 100,600: Customer system 111: Configuration information acquisition unit 112: Graph DB Creation Department 113: Configuration information reconfiguration unit 114:Display section 115:Performance information acquisition section 116: Event sending unit 140: Recording media 150: Network 201: Virtual infrastructure 202: Physical Foundation 101: Configuration information DB 102: Performance information DB 601: Graph DB
Claims
1. A computer presents a directed graph representing dependencies between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; A program that executes a process.
2. A computer that presents a directed graph representing dependencies between a plurality of nodes, comprising: In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; referring to the configuration information at the specified time for the plurality of nodes and the plurality of edges between the plurality of nodes whose timestamps are less than the specified time in the directed graph, and recording the deletion generations for the nodes or edges not included in the configuration information; A program that executes a process.
3. when an event for any of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph is detected at the specified time, presenting, in the directed graph, among the plurality of nodes and the plurality of edges, nodes and edges for which the specified time is after the addition generation and for which the deletion generation is not recorded, and nodes and edges for which the specified time is after the addition generation and before the deletion generation; The program according to claim 1 or 2, which causes the computer to execute a process.
4. An information processing device that presents a directed graph representing dependency relationships between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; An information processing device comprising a processor.
5. a computer presenting a directed graph representing dependencies between a plurality of nodes, In the property information in the directed graph, an added generation or a deleted generation at the time of a configuration change is recorded; Selecting a node that exists at a specified time from among the plurality of nodes and an edge between the node; presenting the directed graph by obtaining configuration information of the nodes and the edges at the specified time; referring to the configuration information at the specified time for all of the plurality of nodes and a plurality of edges between the plurality of nodes in the directed graph, and recording the deletion generation for nodes or edges not included in the configuration information; A method for processing information.
Citation Information
Patent Citations
Network operation supervisory device
JP2004056604A
Configuration monitoring system and configuration monitoring method
JP2010146306A
Extraction method, device, and program
JP2016012193A
Event investigation assisting program, event investigation assisting method and event investigation assisting device
JP2019082944A