Information display system, information display device and information display method
The information display system effectively visualizes microservice call relationships using design information and service lists, addressing the incomplete tracing of call relationships in existing methods and enhancing developer understanding.
Patent Information
- Application Number
- JP2024094140
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-11
- Publication Date
- 2025-12-23
AI Technical Summary
Existing methods for tracing microservice call relationships across large numbers of microservices are inadequate, particularly for services not executed during monitoring periods, leading to incomplete understanding of comprehensive call relationships.
An information display system comprising a memory unit, call information extraction unit, call relationship creation unit, and directed graph creation unit to extract, integrate, and visualize call relationships using design information and service lists, enabling comprehensive visualization of microservice dependencies.
The system allows for a comprehensive grasp of microservice call relationships, including those without execution history, facilitating improved developer understanding and management of service impacts.
Smart Images

Figure 2025185772000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information display system, an information display device, and an information display method. [Background technology]
[0002] As digital services are provided, developers repeatedly modify the services, adding features and improving security. Digital services require rapid modifications, and microservices are a means to achieve this. This has led to increased demand for microservice architectures that offer excellent scalability and flexibility. Microservices are the individual services that are created when an application is divided into small, independent functions. The overall functionality of an application is achieved by calling the microservices. Applications made up of microservices can be modified by modifying each independent microservice. For example, if only part of an application's functionality is to be modified, it is sufficient to modify only the one or more microservices that realize that function.
[0003] Developers of each microservice need to accurately understand the call relationships between microservices to determine the impact of modifications on other microservices. Typically, microservices are developed independently by different teams or companies, and the call relationships are not centrally managed. Therefore, there are methods for identifying the other microservices that each microservice calls from its design documents. However, in recent years, a single application can involve hundreds or even thousands of microservices. Using the above methods, it is difficult to repeatedly trace all the call destinations and call sources of a specific microservice across a large number of microservices. Therefore, a technology has been proposed that uses monitoring data from service execution to estimate the dependencies between microservices and visualize the call relationships between microservices using a directed graph. For example, the technology described in Patent Literature 1 (Patent Document 1) describes such a technology.
[0004] Patent Document 1 describes a conversion unit that "extracts parent-child relationships between multiple components that make up a program from monitoring data including the program's operation history, converts the monitoring data into an event log of a child component for each parent component based on a tree of parent-child relationships, and estimates and calculates the dependency relationships between multiple components using the event log of a child component for each parent component." [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2023 / 073859 Summary of the Invention [Problem to be solved by the invention]
[0006] As mentioned above, a technique has been proposed for estimating dependencies between microservices using monitoring data obtained during service execution. However, this monitoring data does not contain records of microservices that were not executed during the monitoring period. Therefore, the technique described in Patent Document 1 cannot cover the call relationships of microservices that were not executed, and thus has the problem of being unable to comprehensively grasp the call relationships of microservices.
[0007] The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to comprehensively understand the call relationships of the microservices that make up an application. [Means for solving the problem]
[0008] The information display system of the present invention comprises a memory unit that stores design information for a plurality of services, a call information extraction unit that extracts call information for the services from the design information for the services, a call relationship information creation unit that creates individual call relationship information for each service based on the call information for the plurality of services, a directed graph creation unit that creates an individual directed graph showing the individual call relationships of the services based on the individual call relationship information, and an output unit that outputs and displays the individual directed graph. The above-described information display system is one aspect of the present invention, and an information display device and an information display method embodying one aspect of the present invention are configured in the same manner as the above-described information display system. [Effects of the Invention]
[0009] According to the present invention having the above configuration, it is possible to comprehensively grasp the call relationships of the microservices that make up an application. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]
[0010] [Figure 1] This is a diagram illustrating an example of an application composed of microservices. [Figure 2] 1 is a block diagram showing a first example of a functional configuration of an information display system according to an embodiment of the present invention. [Figure 3] FIG. 2 is a block diagram showing a second example of a functional configuration of an information display system according to an embodiment of the present invention. [Figure 4] 1 is a block diagram illustrating an example of a hardware configuration of an information display device according to an embodiment of the present invention. [Figure 5] 5 is a flowchart showing the procedure of an information display process in the information display system according to one embodiment of the present invention. [Figure 6] FIG. 2 is a diagram showing an example of a service list displayed by the information display system according to the embodiment of the present invention. [Figure 7]FIG. 10 is a diagram showing an example of an overall directed graph display screen showing an overall call relationship, displayed by an information display system according to an embodiment of the present invention. [Figure 8] FIG. 10 is a diagram showing an example of an individual directed graph display screen showing individual call relationships, displayed by the information display system according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functions or configurations are designated by the same reference numerals, and redundant description will be omitted.
[0012] <One embodiment> First, an application composed of microservices will be described. FIG. 1 is a diagram illustrating an example of an application composed of microservices. As shown in FIG. 1, application 100 is composed of multiple microservices 101 to 103. Note that in FIG. 1, only microservices 101 to 103 are labeled, and the labels for the other microservices are omitted. Each microservice that constitutes application 100 has a call relationship with another microservice. For example, microservice 101 calls microservice 102. That is, microservice 102 is the call destination of microservice 101. Also, for example, microservice 102 calls microservice 103. That is, microservice 102 is also the call source of microservice 103. Also, microservice 103 is the call destination of microservice 102.
[0013] Here, microservices are, for example, web services such as SaaS (Software as a Service), other types of existing service components, etc. Hereinafter, microservices are also referred to as "services."
[0014] [Example of functional configuration of information display system] Next, a functional configuration example 1 of the information display system according to this embodiment will be described. Fig. 2 is a block diagram showing the functional configuration example 1 of the information display system according to this embodiment. As shown in Fig. 2, the information display system 1 includes a storage unit 10, a processing unit 20, and an output unit 30. The storage unit 10, the processing unit 20, and the output unit 30 are connected in this order.
[0015] The storage unit 10 stores design information of multiple services that make up an application, such as service A design information and service B design information. The service design information is, for example, an Excel file or the like in which design documents are written, and is acquired from a repository server (not shown) that manages the service design documents. When the repository server updates the design documents of a service, the information display system 1 downloads the updated design documents and updates the design information of the corresponding service in the storage unit 10. The design information of a service includes information of other services that the service calls (for example, a call ID, an access address, etc.).
[0016] 2, the processing unit 20 includes a call information extraction unit 21, a call relationship information creation unit 22, and a directed graph creation unit 23. The call information extraction unit 21, the call relationship information creation unit 22, and the directed graph creation unit 23 are connected in this order.
[0017] The call information extraction unit 21 acquires design information for each service from the storage unit 10. From the design information for each service, the call information extraction unit 21 extracts call information, which is information on the service (call destination) called by that service. The call information is information in a data format (e.g., XML) used by a program that realizes the functions of the information display system 1. The call information for each service includes identification information for the call destination service, a call ID, an access address, etc., and is displayed in the figure as "Service A Call Information" to "Service N Call Information." Furthermore, the call information extraction unit 21 creates service list information for displaying a list of all services that make up the application based on the call information for multiple services. The call information extraction unit 21 outputs the extracted call information for each service and the created service list information to the call relationship information creation unit 22.
[0018] The call relationship information creation unit 22 integrates the information on the call origin and call destination of each service based on the call information of the multiple services input from the call information extraction unit 21, and creates overall call relationship information for the multiple services and individual call relationship information for each service. Here, the overall call relationship information includes information indicating the overall call relationship from the call origin to the call destination of the multiple services that make up the application. The individual call relationship information is included in the overall call relationship information and is call relationship information related to an individual service. The individual call relationship information for each service is displayed as "Service A call relationship information" to "Service N call relationship information" in Figure 2. The call relationship information creation unit 22 outputs the created overall call relationship information, the individual call relationship information of each microservice, and the service list information to the directed graph creation unit 23.
[0019] The directed graph creating unit 23 creates an overall directed graph (see FIG. 7 described later) showing the overall call relationships of a plurality of services and an individual directed graph (see FIG. 8 described later) showing the individual call relationships of the services, based on the overall call relationship information and the individual call relationship information input from the call relationship information creating unit 22. The directed graph creating unit 23 outputs the created overall directed graph and individual directed graphs, as well as the service list information, to the output unit 30.
[0020] The output unit 30 can output and display the overall directed graph, the individual directed graph, and the service list information input from the directed graph creation unit 23. In addition, the output unit 30 can display the individual directed graph of a service selected by a user (developer).
[0021] Next, functional configuration example 2 of the information display system will be described. Functional configuration example 2 of the information display system is a configuration example in which service list design information of an application can be acquired together with service design information. Fig. 3 is a block diagram showing functional configuration example 2 of the information display system according to this embodiment.
[0022] As shown in Fig. 3, the information display system 1a includes a storage unit 10a, a processing unit 20a, and an output unit 30. The output unit 30 is the same as the output unit 30 shown in Fig. 2, so a duplicated description will be omitted.
[0023] As can be seen by comparing the storage unit 10a with the storage unit 10 shown in Fig. 2, the storage unit 10a stores service list design information in addition to service design information. The service list design information includes various information related to all services that constitute an application. Here, the various information related to the services includes, for example, the service name, a description of the service function, etc.
[0024] The processing unit 20a has a call information extraction unit 21a, a call relationship information creation unit 22, and a directed graph creation unit 23. The call relationship information creation unit 22 and the directed graph creation unit 23 are the same as the call relationship information creation unit 22 and the directed graph creation unit 23 shown in Fig. 2, so a duplicated description will be omitted.
[0025] 2, and acquires service list design information from the storage unit 10a. Furthermore, the call information extraction unit 21a does not create service list information, but extracts service list information from the service list design information. Furthermore, the call information extraction unit 21a outputs the extracted service list information to the call relationship information creation unit 22.
[0026] Next, an example of the hardware configuration of an information display device 200 that realizes the functions of the information display system 1 and the information display system 1a will be described. Fig. 4 is a block diagram showing an example of the hardware configuration of the information display device 200 according to this embodiment. The following description is common to the information display system 1 and the information display system 1a, so the information display system 1 will be used as an example.
[0027] 4, the information display device 200 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a display device 204, an input device 205, a storage device 206, and a communication interface 207. The CPU 201, the ROM 202, the RAM 203, the display device 204, the input device 205, the storage device 206, and the communication interface 207 are connected by a bus B so as to be able to send and receive information data to and from each other.
[0028] The CPU 201 reads out from the ROM 202 the program code of the software that realizes the functions of each component of the information display system 1, loads it into the RAM 203, and executes it. The CPU 201 realizes the functions of the call information extraction unit 21, the call relationship information creation unit 22, and the directed graph creation unit 23 of the information display system 1 shown in Fig. 2. Note that a GPU (Graphics Processing Unit) may be used instead of the CPU 201, or the CPU 201 and a GPU may be used together.
[0029] The ROM 202 is configured as a storage medium such as a nonvolatile memory, and stores programs and data that the CPU 201 executes and references.
[0030] The RAM 203 is configured by a storage medium such as a volatile memory, and temporarily stores information (data) necessary for each process performed by the CPU 201.
[0031] The display device 204 is, for example, a liquid crystal display monitor, and displays a list of services, an overall directed graph, and an individual directed graph, i.e., realizes the function of the output unit 30 of the information display system 1 shown in Fig. 2. The input device 205 is, for example, a keyboard, a mouse, etc., and allows the user to input predetermined operations and give instructions. The display device 204 and the input device 205 may be formed integrally as, for example, a touch panel.
[0032] The storage device 206 is configured as a computer-readable, non-transitory recording medium storing the program executed by the CPU 201, and is configured as a storage device such as an HDD (Hard Disk Drive). The storage device 206 realizes the function of the storage unit 10 of the information display system 1 shown in FIG. 2. The storage device 206 stores programs for the CPU 201 to execute various functions, an OS (Operating System), programs for a controller, and data. Note that some of the programs and data stored in the storage device 206 may be stored in the ROM 202. The computer-readable, non-transitory recording medium storing the program executed by the CPU 201 is not limited to an HDD, and may be, for example, a recording medium such as an SSD (Solid State Drive), a CD (Compact Disc)-ROM, or a DVD (Digital Versatile Disc)-ROM.
[0033] The communication interface 207 may be, for example, a network interface card (NIC), and various data may be transmitted and received between devices via a local area network (LAN) or dedicated line connected to the terminal of the NIC.
[0034] The functions of the information display system 1 are not limited to being realized by the information display device 200 shown in Fig. 3. The functions of the information display system 1 may be realized, for example, by a unit of computer that is a logical division of a physical computer called a virtual server. Furthermore, the storage unit 10, processing unit 20, and output unit 30 of the information display system 1 shown in Fig. 2 may be realized by a single computer, or may be executed on a cluster of multiple computers.
[0035] [Information display process procedure] Next, the procedure of the information display process in the information display system 1 will be described. Fig. 5 is a flowchart showing the procedure of the information display process in the information display system 1 according to this embodiment. The process described below is executed when a directed graph is initially generated, and when at least one of the design information of a plurality of services stored in the storage unit 10 of the information display system 1 shown in Fig. 2 is updated. Here, updating the design information of a service includes new addition, deletion, and modification of existing design information.
[0036] First, the call information extraction unit 21 of the information display system 1 acquires design information of services from the storage unit 10 (step S10). In this process, when a directed graph is initially generated, the call information extraction unit 21 acquires design information of multiple services from the storage unit 10. On the other hand, when the design information of a service is updated, the call information extraction unit 21 acquires only the design information of the updated service. Furthermore, when the information display system 1a (see FIG. 3) is applied, the call information extraction unit 21a also acquires service list design information.
[0037] Next, the call information extraction unit 21 extracts call information for each service from the acquired design information for each service (step S11). In this process, if the design information for a service is updated, the call information extraction unit 21 extracts the call information for the updated service only from the design information for the updated service. The call information extraction unit 21 also creates service list information based on the design information for each service. The call information extraction unit 21 outputs the extracted call information for each service and the created service list information to the call relationship information creation unit 22. In addition, when the information display system 1a is applied, the call information extraction unit 21a does not create service list information, but instead extracts service list information from the service list design information and outputs it to the call relationship information creation unit 22.
[0038] Next, the call relationship information creation unit 22 integrates the information on the caller and callee of each service based on the call information of each service to create overall call relationship information and individual call relationship information for each service (step S12). In this process, if the design information of a service is updated, the call relationship information creation unit 22 updates the overall call relationship information and individual call relationship information based on the call information of the updated service. In addition, the call relationship information creation unit 22 outputs the created overall call relationship information, individual call relationship information of each service, and service list information to the directed graph creation unit 23.
[0039] Next, the digraph creation unit 23 creates an overall digraph and an individual digraph based on the overall call relationship information and the individual call relationship information (step S13). In this process, if an update to the design information of a service occurs, the digraph creation unit 23 updates the overall digraph and the individual digraph based on the updated overall call relationship information and individual call relationship information. Display information for the created digraphs and display information for the service list are stored in the storage device 206.
[0040] In addition, when a developer or other user of the information display system 1 performs an operation to display service list information, a directed graph, etc. using the display device 204 and input device 205 shown in Figure 4, the output unit 30 of the information display system 1 causes the display device 204 to display the directed graph, service list, etc. based on the operation content input by the user.
[0041] Next, a description will be given of a service list displayed by the information display system 1. Fig. 6 is a diagram showing an example of a service list displayed by the information display system 1 according to this embodiment.
[0042] The service list U1 shown in Fig. 6 displays items such as the service name of each service that constitutes the application, a description of the target business, a detailed screen, and individual call relationships. Also, a link to the overall call relationship is displayed at the bottom of the service list U1. Note that the items included in the service list U1 are not limited to the items shown in Fig. 6, and may be changed or added as necessary.
[0043] The service name field displays the name of the microservice, for example, "Service A," "Service B," etc. The target business description field displays a description of the target business of the service. Specific examples are omitted from the figure. The items on the details screen display links to the details screen of the service, such as the "API" link and the "Object" link shown in the figure.
[0044] In the individual call relationship item, a link to a display screen of an individual directed graph showing the individual call relationship, for example, the "call relationship" link shown in the figure, is displayed. When the "call relationship" link is clicked, a display screen of the individual directed graph of the corresponding service, for example, the individual directed graph display screen U3 shown in Figure 8 described later, is displayed.
[0045] The link of the overall call relationship is a link to a display screen of the overall directed graph of the services that make up the application. When the link of the overall call relationship is clicked, a display screen of the overall directed graph, for example, the overall directed graph display screen U2 shown in Figure 7 described later, is displayed.
[0046] Next, a display example of the overall directed graph will be described. Fig. 7 is a diagram showing an example of an overall directed graph display screen showing the overall call relationships, which is displayed by the information display system 1 according to this embodiment.
[0047] The overall directed graph display screen U2 is displayed when the overall call relationship link shown in Figure 6 is clicked. Each service is displayed as a node in the directed graph, and the service name is displayed at each node. The arrows in the directed graph indicate the direction from the caller service to the callee service. For example, service C is the callee of service B, service D, and service E.
[0048] Furthermore, the multiplicity of a node (service) can be determined from the number of other nodes connected to that node in the directed graph. For example, since the number of other nodes connected to service C is three, it can be seen that the multiplicity of service C is three. The multiplicity of each node may be displayed on the overall directed graph display screen U2. When a service with a high multiplicity fails, many services are affected. For this reason, displaying the multiplicity of a service allows developers to grasp the multiplicity, which is effective in determining the impact of modifications on other services.
[0049] Next, a display example of an individual directed graph showing individual call relationships will be described. Fig. 8 is a diagram showing an example of an individual directed graph display screen showing individual call relationships, which is displayed by the information display system 1 according to this embodiment.
[0050] The individual digraph display screen U3 showing the individual call relationships is displayed when the "Call Relationship" link displayed in the individual call relationship item shown in Fig. 6 is clicked. For example, when the "Call Relationship" link for service J shown in Fig. 6 is clicked, the individual digraph display screen U3 shown in Fig. 8 is displayed. As shown in the figure, the individual digraph display screen U3 displays only the part of the overall digraph that is included in the overall digraph shown in Fig. 7 and that is related to service J, i.e., only the individual digraph of service J.
[0051] [effect] As described above, the information display system 1 according to this embodiment extracts call information for each service from the design information of multiple services that make up an application. Furthermore, the information display system 1 integrates the caller and callee information for each service based on the call information for each service to create overall call relationship information and individual call relationship information. Furthermore, the information display system 1 creates and displays an overall directed graph showing the overall call relationship and an individual directed graph showing the individual call relationship based on the overall call relationship information and the individual call relationship information. Furthermore, when design information for a service is updated, the information display system 1 executes the information display process shown in FIG. 5 and updates the overall directed graph and the individual directed graph for the service whose design information has been updated based on the updated design information for the service. Therefore, the information display system 1 according to this embodiment can comprehensively grasp the call relationships of the services that make up an application, even if there is a service with no execution history. Furthermore, the information display system 1 can also create and display individual directed graphs showing the individual call relationships. Therefore, the information display system 1 allows developers to check only the call relationships related to the services they are developing or maintaining, improving convenience.
[0052] The present invention is not limited to the above-described embodiment, and it goes without saying that various other applications and modifications are possible without departing from the gist of the present invention as set forth in the claims. For example, the above-described embodiment describes in detail and specifically the configuration of the information display system in order to clearly explain the present invention, and is not necessarily limited to having all of the described configurations. Furthermore, it is possible to replace part of the configuration of the embodiment described here with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is also possible to add, delete, or replace part of the configuration of an embodiment with other configurations. In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]
[0053] 1, 1a... information display system, 10, 10a... storage unit, 20, 20a... processing unit, 21, 21a... call information extraction unit, 22... call relationship information creation unit, 23... directed graph creation unit, 30... output unit, 100... application, 101, 102, 103... microservice, 200... information display device
Claims
1. a storage unit that stores design information of a plurality of services; a call information extraction unit that extracts call information, which is information on a service called by the service, from the design information of the service; a call relationship information creating unit that creates individual call relationship information for each of the services based on call information for the plurality of services; a directed graph creating unit that creates an individual directed graph indicating the individual call relationships of the service based on the individual call relationship information; an output unit that outputs and displays the individual directed graph. Information display system.
2. the call relationship information creation unit creates overall call relationship information of the plurality of services based on the call information of the plurality of services; The directed graph creating unit creates an overall directed graph showing the overall call relationships of the plurality of services based on the overall call relationship information. The information display system according to claim 1 .
3. the overall call relationship information includes information indicating an overall call relationship from a caller to a call destination of the plurality of services, The individual call relationship information is included in the overall call relationship information and is information indicating a call relationship related to each of the services. The information display system according to claim 2 .
4. The output unit displays the individual directed graph of the selected service. The information display system according to claim 3 .
5. When at least one of the design information of the plurality of services stored in the storage unit is updated, the call information extraction unit extracts call information of the updated service from design information of the updated service; the call relationship information creation unit updates the overall call relationship information and the individual call relationship information based on the updated call information of the service; The directed graph creation unit updates the overall directed graph and the individual directed graph based on the updated overall call relationship information and the individual call relationship information. The information display system according to claim 2 .
6. the storage unit stores service list design information for the plurality of services; the call information extraction unit extracts service list information from the service list design information; The output unit displays the service list information. The information display system according to claim 1 .
7. a storage unit that stores design information of a plurality of services; a call information extraction unit that extracts call information, which is information on a service called by the service, from the design information of the service; a call relationship information creating unit that creates individual call relationship information for each of the services based on call information for the plurality of services; a directed graph creating unit that creates an individual directed graph indicating the individual call relationships of the service based on the individual call relationship information; an output unit that outputs and displays the individual directed graph. Information display device.
8. storing design information for a plurality of services; extracting call information, which is information on a service called by the service, from the design information of the service; creating individual call relationship information for each of the services based on call information for the plurality of services; creating an individual directed graph showing individual call relationships of the service based on the individual call relationship information; and outputting and displaying the individual directed graph. Information display method.
Citation Information
Patent Citations
Inference device, inference method and inference program
WO2023073859A1