Cloud microservice topology analysis
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-02-15
- Publication Date
- 2026-03-11
Smart Images

Figure CN2023076235_22082024_PF_FP
Abstract
Description
CLOUD MICROSERVICE TOPOLOGY ANALYSISTECHNICAL FIELD
[0001] Various example embodiments generally relate to the field of computer networks. In particular, some example embodiments relate to topology analysis of a multi-layer cloud microservice architecture.BACKGROUND
[0002] Site Reliability Engineering (SRE) is based on a set of principles and practices that incorporates aspects of software engineering and applies them to infrastructures and operation problems to create scalable and reliable systems. SRE requires an understand of the interactions of a complex microservice architecture to assess the overall system health. Showing every possible integration may not be feasible since many layers and interactions of the overall topology becomes too complex to visualize.
[0003] SUMMARY
[0004] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0005] Example embodiments of the present disclosure improve topology analysis of a multi-layer cloud microservice architecture. The foregoing and other benefits may be achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description, and the drawings.
[0006] According to a first aspect, a device for enabling analysis of a computer network is configured to perform operations comprising: acquiring network data associated with at least one network entity of a plurality of network entities of the computer network; filtering graph elements of a multi-layer graph based on the acquired network data, the graph elements representing the network entities; generating a filtered multi-layer graph based on the filtered graph elements; and performing an analysis of the computer network using the filtered multi-layer graph.
[0007] In an example embodiment, the network data comprises one or more of: a measurement associated with at least one network entity; or an event associated with at least one network entity.
[0008] In an example embodiment, filtering the graph elements based on the acquired network data comprises: determining that the network data associated with the at least one network entity does not verify at least one filter criterion; and removing the graph element representing the at least one network entity from the filtered multi-layer graph.
[0009] In an example embodiment, filtering the graph elements based on the acquired network data comprises: determining that the network data associated with the at least one network entity verifies at least one filter criterion; and highlighting the graph element associated with the at least one network entity in the filtered multi-layer graph.
[0010] In an example embodiment, generating the filtered multi-layer graph further comprises: identifying disconnected sub-graphs formed by the filtered graph elements; and connecting the disconnected sub-graphs.
[0011] In an example embodiment, connecting the disconnected sub-graphs comprises: identifying at least one graph element forming a shortest path between two of the disconnected sub-graphs; and adding the at least one graph element forming the shortest path to the filtered multi-layer graph.
[0012] In an example embodiment, generating the filtered multi-layer graph further comprises: adding at least one ancestor or descendent node of at least one of the filtered graph elements to the filtered multi-layer graph based on at least one layer selection criterion.
[0013] In an example embodiment, the operations further comprise: receiving a request for a retrospective incident analysis of the computer network; wherein generating the filtered multi-layer graph further comprises: determine a time range for a plurality of animation frames; filtering the graph elements of the multi-layer graph for each time range; aggregating the graph elements filtered for each time range; and generating the filtered multi-layer graph based on the aggregated filtered graph elements.
[0014] In an example embodiment, filtering the graph elements of the multi-layer graph further comprises: training a machine learning model based on training data comprising historical topology data and historical network data of the computer network; predicting future events based on the trained machine learning model; and filtering the graph elements of the multi-layer graph based on the predicted future events.
[0015] In an example embodiment, the graph elements comprise one or more of: a graph node representing a network node of the computer network; an edge representing a connection between two network nodes; or a layer representing a microservice of the computer network.
[0016] In an example embodiment, the computer network comprises a multi-layer cloud microservice architecture.
[0017] According to a second aspect, a method for enabling analysis of a computer network comprises: acquiring network data associated with at least one network entity of a plurality of network entities of the computer network; filtering graph elements of a multi-layer graph based on the acquired network data, the graph elements representing the network entities; generating a filtered multi-layer graph based on the filtered graph elements; and performing an analysis of the computer network using the filtered multi-layer graph.
[0018] According to a third aspect, a computer program comprises program code configured to cause performance of the method according to the second aspect, when the computer program is executed on a computer.
[0019] Implementation forms of the present disclosure can thus provide devices, methods, and computer programs for improving topology analysis of a multi-layer cloud microservice. Any implementation form may be combined with one or more other implementation forms. These and other aspects of the present disclosure will be apparent from the example embodiment (s) described below.
[0020] DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings, which are included to aid further understanding of the example embodiments and constitute a part of this specification, illustrate example embodiments and, together with the description, help to explain the example embodiments. In the drawings:
[0022] FIG. 1 illustrates an example system, where various embodiments of the present disclosure may be implemented;
[0023] FIG. 2 illustrates an example of a device configured to practice one or more embodiments of the present disclosure;
[0024] FIG. 3 is a functional representation of an example of a device configured to practice one or more embodiments of the present disclosure;
[0025] FIG. 4 illustrates an example of a multi-layer graph, according to one or more embodiments of the present disclosure;
[0026] FIG. 5 illustrates an example of a flow chart of a method, according to one or more embodiments of the present disclosure;
[0027] FIG. 6 illustrates an example of a flow chart of a method, according to one or more embodiments of the present disclosure;
[0028] FIG. 7 illustrates an example of a flow chart of a method, according to one or more embodiments of the present disclosure;
[0029] FIG. 8 illustrates an example of a flow chart of a method, according to one or more embodiments of the present disclosure;
[0030] FIG. 9 illustrates an example of a flow chart of a method, according to an embodiment of the present disclosure;
[0031] Like references are used to designate like parts in the accompanying drawings.DETAILED DESCRIPTION
[0032] Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings. The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
[0033] FIG. 1 illustrates an example of a system 1000, where various embodiments of the present disclosure may be implemented. The system 1000 may comprise a computer network 100 comprising a plurality of network nodes 101. The network nodes 101 of the computer network may include personal computers, servers, networking hardware, or other specialized or general-purpose computers. The network nodes 101 of the computer network may connect over links or communication channels 102. The computer network 100 may provide cloud computing services. Cloud computing services may comprise providing on-demand availability of computer system resources, such as data storage and computing power. The cloud computing services may have functions distributed over the network nodes 101. The cloud computing services may be arranged as a multi-layer microservice architecture. The microservices 103 in the microservice architecture may be processes that communicate over the computer network 100.
[0034] Embodiments of the present disclosure consider enhancements for topology analysis of a multi-layer cloud microservice.
[0035] Some embodiments provide filtering mechanisms for filtering performance indicators such as KPIs or alarms. Some embodiments provide mechanisms for filtering or highlighting the important events on a multi-level cloud service topology graph. Some embodiments offer viewing the topology change over time by filtering problems. SREs may need to replay the state changes to identify when a particular incident happened and how the incident evolved. Some embodiments forecast high impact events or a particular category of events.
[0036] Some embodiments provide capability for observing cloud topology actively in real-time or during incidents retrospectively to help SREs in finding key evidence (s) . In some embodiments, this is achieved by filtering over time by selectively applying custom filters to KPIs and events and visualize the topology over time globally with all the relevant connections across the graph elements. In addition to rule-based filters, some embodiments provide alarm impact forecast using a graphical neural network on the topology to filter risky portions of the topology based on the forecast.
[0037] Some embodiments enable topology visualization capability supporting arbitrary number of layers for cloud services.
[0038] Some embodiments enable dynamic filtering, such as filters based on metric thresholds, trends, externally defined limits, alarms, alarm types etc. The rules can be extended and customized by the user.
[0039] Some embodiments forecast major events and filter topology based on such forecast. For example, some embodiments forecast the important events on the topology that might cause service degradation or other cascading failures.
[0040] Some embodiments provide retrospective analytics of incidents. For example, some embodiments show how the filtered graph changes before, during, and / or after a major incident. An animation viewer may help the SRE in identifying how a system may change during, before, and after a major incident or an alert storm.
[0041] FIG. 2 illustrates an example of a device 200 configured to practice one or more embodiments. The device 200 may comprise a network device implementing one or more network functions, or in general any device configured to implement any functionality described herein. The device 200 may comprise at least one processor 202. The at least one processor 202 may comprise, for example, one or more of various processing devices, such as for example a co-processor, a microprocessor, a controller, a digital signal processor (DSP) , a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC) , a field programmable gate array (FPGA) , a microcontroller unit (MCU) , a hardware accelerator, a special-purpose computer chip, or the like.
[0042] The device 200 may further comprise at least one memory 204. The memory 204 may be configured to store, for example, computer program code or the like, for example operating system software and application software. The memory 204 may comprise one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination thereof. For example, the memory may be embodied as magnetic storage devices (such as hard disk drives, magnetic tapes, etc. ) , optical magnetic storage devices, or semiconductor memories (such as mask ROM, PROM (programmable ROM) , EPROM (erasable PROM) , flash ROM, RAM (random access memory) , etc. ) .
[0043] The device 200 may further comprise a communication interface 208 configured to enable the device 200 to transmit and / or receive information. The communication interface 208 may comprise an internal communication interface such as for example an interface (for example, SBI) between different network functions of the device 200. The device 200 may further comprise other components and / or functions such as for example a user interface (not shown) comprising at least one input device and / or at least one output device. The input device may take various forms such a keyboard, a touch screen, or one or more embedded control buttons. The output device may for example comprise a display, a speaker, or the like.
[0044] When the device 200 is configured to implement some functionality, some component and / or components of the device, such as for example the at least one processor 202 and / or the at least one memory 204, may be configured to implement this functionality. Furthermore, when the at least one processor 202 is configured to implement some functionality, this functionality may be implemented using program code 206 comprised, for example, in the at least one memory 204.
[0045] The functionality described herein may be performed, at least in part, by one or more computer program product components such as software components. According to an embodiment, the device 200 comprises a processor or processor circuitry, such as for example a microcontroller, configured by the program code 206, when executed, to execute the embodiments of the operations and functionality described herein. Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs) , application-specific integrated circuits (ASICs) , application-specific standard products (ASSPs) , system-on-a-chip systems (SOCs) , complex programmable logic devices (CPLDs) , graphics processing units (GPUs) , or the like.
[0046] The device 200 may be configured to perform method (s) described herein or comprise means for performing method (s) described herein. In one example, the means comprises the at least one processor 202, the at least one memory 204 including program code 206 configured to, when executed by the at least one processor 202, cause the device 200 to perform the method (s) .
[0047] The device 200 may comprise, for example, a network device, for example, a server, a base station, or the like. Although the device 200 is illustrated as a single device, it is appreciated that, wherever applicable, functions of the device 200 may be distributed to a plurality of devices.
[0048] FIG. 3 illustrates an example of a functional block diagram of a device 300 configured to practice one or more embodiments.
[0049] A service performance module 301 is configured to access performance indicators of the cloud service. The performance indicators may include Key Performance Indicators (KPIs) such as delay, success rate, and call count. Performance indicators may be aggregated for all the entities of the cloud service.
[0050] An event module 302 is configured to access events such as alarms, or work orders. Events are occurrences that are affecting an entity or a subset of entities of the cloud service.
[0051] A filter module 303 is configured with domain specific language (DSL) for graph-based filter rules. SRE can define filters to highlight or filter graph elements interactively at a point of time or time range.
[0052] A graph rendering engine 304 is configured to generate the filtered multi-layer graph based on the filtered graph elements.
[0053] An event forecasting module 305 is configured to forecast events in the cloud service. The event forecasting module 305 may use a graph neural network and train the graph neural network on historical topology and network data. Filters may be defined using the output of the event forecasting module 305.
[0054] A retrospective incident analysis module 306 is configured to generate a retrospective incident analysis that visualizes the graph over time during an incident. The retrospective incident analysis module 306 may show all the filtered elements over time to show the evolution of the system.
[0055] FIG. 4 illustrates a topology graph 400 representing a multi-layer cloud microservice according to an example embodiment. The topology graph 400 may represent the physical architecture of the computer network 100 that provides the cloud service.
[0056] As depicted in FIG. 4, the topology graph 400 may comprise a plurality of graph nodes 401. Each graph node 401 may represent one of the network nodes 101 of the computer network 100. The graph nodes 401 are connected with one another by a plurality of graph links 402 representing the links between the network nodes 101 of the computer network 100. The topology graph 400 may be a multi-layer graph that comprises multiple graph layers 403. The multiple graph layers 403 may represent different aspects of relationships between the graph nodes 401. In particular, each graph layer 403 may represent a microservice of the microservice architecture.
[0057] In example embodiments, V is the set of nodes (or vertices) , E the links (or edges) between the nodes, and L a set of layers. The topology graph G is defined by tuples that define node relations across layers. G : <V, L, E> where l ∈ L : <lparent, name, t, events, metrics>, v ∈ V : <vparent, name, t, events, metrics>, e ∈ E : <vsource, vtarget, name, t, events, metrics>.
[0058] Network data (e.g., KPIs and events) may be associated with one or more of the graph nodes 401, graph links 402 or graph layers 403 of the topology graph 400 at a given time t. The layer count in the topology may be dynamic. In example embodiments, layer count is fewer than 10. Any state (at a time t) of the topology can be defined and visualized globally with the topology graph 400 including associated network data (e.g., KPIs and events) as long as each vertex has a single parent, and all the edges are between graph nodes sharing the same layer.
[0059] FIG. 5 illustrates a flow chart of an example method 500 for enabling analysis of a computer network according to an example embodiment.
[0060] At operation 501, the device (e.g., service performance module 301 and / or event module 302) acquires network data (e.g., measurements and / or events) associated with one or more entities (e.g., network nodes 101, links 102, and / or microservices 103) of the computer network. The network data may comprise one or more measurement associated with an entity of the computer network, such as performance indicators (e.g., KPIs) . The network data may comprise one or more event associated with an entity of the computer network, such as an alarm.
[0061] At operation 502, the device (e.g., filter module 303) filters the graph elements of the multi-layer graph based on the acquired network data.
[0062] The graph elements of the multi-layer graph represent the entities of the computer network. The network data (e.g., measurements and / or events) associated with the entities (e.g., network nodes 101, links 102, and / or microservices 103) of the computer network are associated with the corresponding graph elements (e.g., graph nodes 401, graph links 402, and / or graph layer 403) of the multi-layer graph.
[0063] The graph elements may be filtered based on one or more criteria associated with the network data. The filter criteria may be defined using filter DSL. An SRE can compose various filters dynamically using the filer DSL.
[0064] Filtering may include highlight mode and filter mode. In highlight mode, the graph elements that verify the one or more filter criteria are highlighted (e.g., with highlight markers) . In filter mode, the graph elements that do not verify the one or more filter criteria are removed. The filtered graph elements may be concatenated.
[0065] The filters may be based on metric thresholds, trends, externally defined limits, alarms, alarm types etc. The rules can be extended and customized by the user.
[0066] At operation 503, the device (e.g., graph rendering engine 304) generates a filtered multi-layer graph based on the filtered graph elements. In particular, the device (e.g., graph rendering engine 304) may perform graph rendering.
[0067] At operation 504, the device (e.g., retrospective incident analysis module 306) performs an analysis of the computer network using the filtered multi-layer graph.
[0068] The topology visualization capability supports an arbitrary number of layers for the cloud services. The state of the topology can be visualized for any point of time with multiple layers information including the associated measurements and events.
[0069] FIG. 6 illustrates a flow chart of an example method 600 for graph rendering according to an example embodiment.
[0070] At operation 601, the device (e.g., graph rendering engine 304) may detect a graph change, for example an addition or a removal of at least one node or edge of the graph.
[0071] If no graph change is detected at operation 601, the device (e.g., graph rendering engine 304) may output the graph without graph re-rendering.
[0072] If a graph change is detected at operation 601, the device (e.g., graph rendering engine 304) may select, at operation 602, a graph layout. The graph layout selection may be based on a set of predefined rules to select one default graph layout from a set of default graph layouts. The selection may be based on one or more of a compound node count, or a node size, or other parameters.
[0073] If a new graph layout is selected at operation 602, the device (e.g., graph rendering engine 304) may perform, at operation 603, graph re-rendering. The graph may only be re-rendered with a layout update when a graph change is detected. During graph re-rendering, location constraints may be checked to satisfy relative or absolute position constraints of the vertices of the graph.
[0074] At operation 604, the device (e.g., graph rendering engine 304) may output the graph.
[0075] FIG. 7 illustrates a flow chart of an example method 700 for generating a filtered multi-layer graph according to an example embodiment.
[0076] The filtering operation (e.g., operation 502) may result in disconnected sub-graphs and / or isolated elements. To create a single graph and avoid isolated elements, the isolated sub-graphs may be identified and connected.
[0077] At operations 701, the device (e.g., graph rendering engine 304) may identify disconnected sub-graphs formed by the filtered elements.
[0078] At operations 702, the device (e.g., graph rendering engine 304) may connect the disconnected sub-graphs. The disconnected sub-graphs may be connected by identifying a shortest path between two of the disconnected sub-graphs and adding the graph elements forming the shortest path to the filtered multi-layer graph. This approach helps in finding the indirect links between the filtered graph elements. This may be done to provide the visualization of the connections in the graph.
[0079] At operations 703, the device (e.g., graph rendering engine 304) may add ancestor and / or descendent node (s) of the filtered graph elements to the filtered multi-layer graph. The ancestor and / or descendent node (s) of the filtered graph elements may be added based on at least one layer selection criterion. More specifically, the ancestor and / or descendent node (s) of the filtered graph elements that belong to a layer verifying the layer selection criteria are added to the filtered multi-layer graph.
[0080] FIG. 8 illustrates a flow chart of an example method 800 for forecasting events.
[0081] The method 800 may be used to forecast events (e.g., events on the topology that might cause service degradation or other cascading failures) and filter the topology graph based on such forecast. In particular, the method 800 may be used to forecast alarms of topology to warn SREs against potentially important events before they happen on the topology.
[0082] At operations 801, the device (e.g., the event forecast module 305) trains a machine learning model based on training data 803 comprising historical topology data and network data (e.g., measurements and / or events) . The machine learning model may comprise a Long short-term memory (LSTM) artificial neural network and a Graph Neural Networks (GNN) .
[0083] At operations 804, the device (e.g., the event forecast module 305) predicts one or more future events based on the trained machine learning model 802. The trained machine learning model 802 may be deployed to infer network data (e.g., measurements and / or events) for the network node (s) in an upcoming time window using online (e.g., real time) network data 805 (e.g., measurements and / or events) . Topology data as adjacency matrix and past measurements and events on network nodes may be used as data input for this task.
[0084] At operations 806, the device (e.g., the filter module 303) may use the one or more predicted future events as filters. More specifically, the device (e.g., the filter module 303) may filter the graph elements of the multi-layer graph based on the one or more predicted future events.
[0085] As an example, the event forecast method may be used to predict central processing unit (CPU) usage or disk space related alerts on microservices, e.g., that may cause cascading failures on a microservice. Addressing the problems earlier than alerts by checking the host machines or allocating extra resources may prevent such cascading failures. If an SRE must wait until the first CPU category alert to take corrective action, the reaction time window is reduced. The time difference between first alert and the cascading alerts might be very short. Similarly, disk space related alerts may have a domino effect of alerts since the load of other disks will also increase or the processes on the host might be stalled due to lack of disk space. Cascading alerts often start with a CPU usage alert. The event forecast method may be used to forecast the CPU category alerts at any time for the next time window (e.g., 30-60 minutes) and warn SRE to take corrective action before the first alert is detected. This gives SRE extra correction time window (e.g., 30-60 minutes) .
[0086] FIG. 9 illustrates a flow chart of an example method 900 for performing retrospective incident analysis of the computer network.
[0087] Retrospective incident analysis is related to recreating how topology, measurements (e.g., KPIs) , and events change during an incident that might be affecting the computer network, e.g., the cloud service availability. An animation viewer may help SRE in identifying how a system may change during, before, and after a major incident or an alert storm. The retrospective analysis method aggregates and smooths the topology transition of filtered topologies between different time frames. This makes it possible to view dynamic topological changes over a time window with user defined topology filters.
[0088] At operations 901, the device (e.g., the retrospective incident analysis module 306) receives a request for a retrospective incident analysis of the network.
[0089] At operations 902, the device (e.g., the retrospective incident analysis module 306) determines a time range for a plurality of animation frames. The plurality of animation frames may be determined based on a start time of animation, a start time of user selection within time range, an end time of user selection within time range, and an end time of animation.
[0090] At operations 903, the device (e.g., the filter module 303) filters the graph elements of the multi-layer graph for each time range.
[0091] At operations 904, the device (e.g., graph rendering engine 304) aggregates the graph elements filtered for each time range.
[0092] At operations 905, the device (e.g., graph rendering engine 304) generates the filtered multi-layer graph based on the aggregated filtered elements.
[0093] An animation manager may show the topology changes by iterating the end time of user selection periodically. As long as the start time of animation, the end time of animation and the applied filters are the same, the graph layout is rendered only once. During animation time, only highlight labels may be changed to avoid flickering of the view. This is achieved by filtering all the graph elements for all the time frames once when loading the graph initially.
[0094] Further features of the methods directly result from the functionality of the network functions described throughout the description, claims, and drawings, for example, the service performance module 301, the event module 302, the filter module 303, the graph rendering engine 304, the event forecasting module 305 and / or and are the retrospective incident analysis module 306 and are therefore not repeated here. An apparatus, such as for example a network device configured to implement one or more network functions, may be configured to perform or cause performance of any aspect of the method (s) described herein. Further, a computer program or a computer program product may comprise instructions for causing, when executed, a device to perform any aspect of the method (s) described herein. Further, a device may comprise means for performing any aspect of the method (s) described herein. According to an example embodiment, the means comprises at least one processor, and memory including program code, the at least one processor, and program code configured to, when executed by the at least one processor, cause the device to perform any aspect of the method (s) .
[0095] Any range or device value given herein may be extended or altered without losing the effect sought. Also, any embodiment may be combined with another embodiment unless explicitly disallowed.
[0096] Although the subject matter has been described in language specific to structural features and / or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims.
[0097] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be understood that reference to 'an' item may refer to one or more of those items.
[0098] The steps or operations of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the scope of the subject matter described herein. Aspects of any of the example embodiments described above may be combined with aspects of any of the other example embodiments described to form further example embodiments without losing the effect sought.
[0099] The term 'comprising' is used herein to mean including the method, blocks, or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements.
[0100] Although subjects may be referred to as ‘first’ or ‘second’s ubjects, this does not necessarily indicate any order or importance of the subjects. Instead, such attributes may be used solely for the purpose of making a difference between subjects.
[0101] It will be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from scope of this specification.
Claims
1.A device for enabling analysis of a computer network, the device being configured to perform operations comprising:acquiring network data associated with at least one network entity of a plurality of network entities of the computer network;filtering graph elements of a multi-layer graph based on the acquired network data, the graph elements representing the network entities;generating a filtered multi-layer graph based on the filtered graph elements; andperforming an analysis of the computer network using the filtered multi-layer graph.2.The device according to the preceding claim, wherein the network data comprises one or more of:a measurement associated with at least one network entity; oran event associated with at least one network entity.3.The device according to any preceding claim, wherein filtering the graph elements based on the acquired network data comprises:determining that the network data associated with the at least one network entity does not verify at least one filter criterion; andremoving the at least one graph element representing the at least one network entity from the filtered multi-layer graph.4.The device according to any preceding claim, wherein filtering the graph elements based on the acquired network data comprises:determining that the network data associated with the at least one network entity verifies at least one filter criterion; andhighlighting the at least one graph element associated with the at least one network entity in the filtered multi-layer graph.5.The device according to any preceding claim, wherein generating the filtered multi-layer graph further comprises:identifying disconnected sub-graphs formed by the filtered graph elements; andconnecting the disconnected sub-graphs.6.The device according to the preceding claim, wherein connecting the disconnected sub-graphs comprises:identifying at least one graph element forming a shortest path between two of the disconnected sub-graphs; andadding the at least one graph element forming the shortest path to the filtered multi-layer graph.7.The device according to any preceding claim, wherein generating the filtered multi-layer graph further comprises:adding at least one ancestor or descendent node of at least one of the filtered graph elements to the filtered multi-layer graph based on at least one layer selection criterion.8.The device according to any preceding claim, wherein generating the filtered multi-layer graph further comprises:determine a time range for a plurality of animation frames;filtering the graph elements of the multi-layer graph for each time range;aggregating the graph elements filtered for each time range; andgenerating the filtered multi-layer graph based on the aggregated filtered graph elements; andwherein performing the analysis of the computer network comprises performing a retrospective incident analysis of the computer network using the filtered multi-layer graph.9.The device according to any preceding claim, wherein filtering the graph elements of the multi-layer graph further comprises:training a machine learning model based on training data comprising historical topology data and historical network data of the computer network;predicting future events based on the trained machine learning model; andfiltering the graph elements of the multi-layer graph based on the predicted future events.10.The device according to any preceding claim, wherein the graph elements comprise one or more of:a graph node representing a network node of the computer network;an edge representing a connection between two network nodes; ora layer representing a microservice of the computer network.11.The device according to any preceding claim, wherein the computer network comprises a multi-layer cloud microservice architecture.12.A method for enabling analysis of a computer network, the method comprising:acquiring network data associated with at least one network entity of a plurality of network entities of the computer network;filtering graph elements of a multi-layer graph based on the acquired network data, the graph elements representing the network entities;generating a filtered multi-layer graph based on the filtered graph elements; andperforming an analysis of the computer network using the filtered multi-layer graph.13.A computer program comprising program code configured to cause performance of the method according to the preceding claim when the computer program is executed on a computer.
Citation Information
Patent Citations
Dashboard for display of state information in a graphic representation of network topology
EP3934170A1
Presenting a temporal topology graph of a computing environment at a graphical user interface
US10776246B2
Service graph highlights missing nodes and links
US11055191B2