Algorithm-based automatic presentation of a hierarchical graphical representation of a computer network structure
Abstract
Methods and systems for automatically presenting a hierarchical graphical representation of the structure of the computer network are provided. A computer-implemented method includes obtaining network topology data, determining at least one core node at a highest level in a hierarchy from a plurality of nodes based on the network topology data, grouping at least a part of non-core nodes among the nodes into one or more supernodes based on the obtained network topology data, selecting, with respect each of the one or more supernodes, a single supernode or node at a hierarchical level immediately higher than thereof, as a parent node, determining a spatial coordinate of each of the plurality of nodes based on the at least one core node, the one or more supernodes, and the parent node of each of the one or more supernodes, and presenting the hierarchical graphical representation.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for automatically presenting a hierarchical graphical representation of a structure of a computer network, comprising:
obtaining network topology data including, with respect to each of a plurality of nodes constituting the computer network, an identifier of the node and an identifier of one or more nodes that are directly connected to the node; determining a centrality value of each of the plurality of nodes in accordance with betweenness centrality; determining a plurality of core nodes at a highest level in an hierarchy from the plurality of nodes based on the determined centrality value; grouping the plurality of core nodes into a core supernode representing a root in the hierarchy; grouping at least a part of non-core nodes among the plurality of nodes into one or more non-core supernodes based on the obtained network topology data, each of the plurality of non-core nodes being at only one hierarchical level in the hierarchy and included in at most one non-core supernode, and each non-core supernode consisting of two or more non-core nodes at a same hierarchical level; selecting, with respect each of the one or more non-core supernodes, a single supernode or node that is connected thereto and at a hierarchical level immediately higher than thereof, as a parent node thereof; determining a spatial coordinate of each of the plurality of nodes based on the core supernode, the plurality of core nodes therein, the one or more non-core supernodes, the non-core nodes therein, and the parent node of each of the one or more non-core supernodes, wherein
the spatial coordinates of the plurality of core nodes are determined to be proximate to each other, and
the spatial coordinates of at least a part of the plurality of non-core nodes are determined such that cross points of edges representing direct connections among the nodes are minimized in the hierarchical graphical representation; and
presenting the hierarchical graphical representation of the structure of the computer network, wherein each of the plurality of nodes is located at the determined spatial coordinate thereof.
2 . The method according to claim 1 , wherein in the hierarchical graphical representation, nodes in each of the one or more non-core supernodes are grouped together.
3 . The method according to claim 2 , wherein in the hierarchical graphical representation, the nodes in at least one of the one or more non-core supernodes are arranged regularly at a predetermined distance therebetween.
4 . The method according to claim 1 , wherein at least one of the plurality of core nodes is selected as the parent node of at least one of the one or more supernodes.
5 . The method according to claim 1 , wherein the spatial coordinate is a two-dimensional coordinate, and the hierarchical graphical representation is a two-dimensional graphical representation.
6 . The method according to claim 1 , wherein the plurality of core nodes are determined also based on existence of a predetermined key string in the identifier thereof.
7 . The method according to claim 1 , wherein said determining the plurality of core nodes comprises:
determining a predetermined number of nodes in a decremental order of the centrality value to be the core nodes.
8 . The method according to claim 1 , wherein said determining the plurality of core nodes comprises:
determining a predetermined percentage of nodes in a decremental order of the centrality value to be the core nodes.
9 . The method according to claim 1 , wherein the network topology data also includes a geographical location of at least a part of the plurality of nodes, and the plurality of core nodes are determined also based on the geographical location of at least the part of the plurality of nodes included in the network topology data.
10 . The method according to claim 1 , wherein the spatial coordinate of at least a part of the plurality of nodes is determined such that the non-core nodes are located around at least one of the plurality of core nodes in the hierarchical graphical representation.
11 . The method according to claim 1 , wherein the spatial coordinate of at least a part of the plurality of nodes is determined such that the hierarchical graphical representation is in a top-down layout topology structure.
12 . The method according to claim 1 , wherein the spatial coordinate of at least a part of the plurality of nodes is determined such that the hierarchical graphical representation is in a center-out topology structure.
13 . The method according to claim 1 , further comprising:
receiving a user input designating an identifier of each of one or more of the plurality of nodes that are manually selected as a plurality of core nodes; performing a comparison of the plurality of core nodes determined based on the obtained network topology data and the plurality of core nodes indicated by the user input; and modifying an algorithm to determine the plurality of core nodes based on the centrality value based on a result of the comparison through a machine learning process.
14 . The method according to claim 1 , wherein said determining the spatial coordinate of each of the plurality of nodes comprises:
determining an ordering of the one or more non-core supernodes and an ordering of nodes in each of the one or more non-core supernodes, with respect each hierarchical level of the hierarchy; determining a horizontal location of each of the plurality of nodes in accordance with the ordering of the one or more non-core supernodes and the ordering of the nodes in each of the one or more non-core supernodes; and determining the spatial coordinate of each of the plurality of nodes based on the determined horizontal location, wherein the hierarchical graphical representation is in a top-down layout topology structure.
15 . The method according to claim 1 , wherein said determining the spatial coordinate of each of the plurality of nodes comprises:
determining an ordering of the one or more non-core supernodes and an ordering of nodes in each of the one or more non-core supernodes, with respect each hierarchical level of the hierarchy; performing allocation of each of non-core supernodes or non-core nodes at a hierarchical level next to the core node to one of a plurality of panes defined around the core node; and determining the spatial coordinate of each of the plurality of nodes based on the ordering of the one or more non-core supernodes and the ordering of the nodes in each of the one or more non-core supernodes and the allocation, wherein the hierarchical graphical representation is in a center-out layout topology structure.
16 . A non-transitory compute readable medium storing a program, when executed by a computer, configured to cause the computer to perform an operation for presenting a hierarchical graphical representation of a structure of a computer network, the operation comprising:
obtaining network topology data including, with respect to each of a plurality of nodes constituting the computer network, an identifier of the node and an identifier of one or more nodes that are directly connected to the node; determining a centrality value of each of the plurality of nodes in accordance with betweenness centrality; determining a plurality of core nodes at a highest level in an hierarchy from the plurality of nodes based on the determined centrality value; grouping the plurality of core nodes into a core supernode representing a root in the hierarchy; grouping at least a part of non-core nodes among the plurality of nodes into one or more non-core supernodes based on the obtained network topology data, each of the plurality of non-core nodes being at only one hierarchical level in the hierarchy and included in at most one non-core supernode, and each non-core supernode consisting of two or more non-core nodes at a same hierarchical level; selecting, with respect each of the one or more non-core supernodes, a single supernode or node that is connected thereto and at a hierarchical level immediately higher than thereof, as a parent node thereof; determining a spatial coordinate of each of the plurality of nodes based on the core supernode, the plurality of core nodes therein, the one or more non-core supernodes, the non-core nodes therein, and the parent node of each of the one or more non-core supernodes, wherein
the spatial coordinates of the plurality of core nodes are determined to be proximate to each other, and
the spatial coordinates of at least a part of the plurality of non-core nodes are determined such that cross points of edges representing direct connections among the nodes are minimized in the hierarchical graphical representation; and
presenting the hierarchical graphical representation of the structure of the computer network, wherein each of the plurality of nodes is located at the determined spatial coordinate thereof.
17 . A computer system comprising:
a display; a memory configured to store a program; and a processor configured to execute the program stored in the memory to perform an operation for presenting a hierarchical graphical representation of a structure of a computer network, the operation comprising: obtaining network topology data including, with respect to each of a plurality of nodes constituting the computer network, an identifier of the node and an identifier of one or more nodes that are directly connected to the node; determining a centrality value of each of the plurality of nodes in accordance with betweenness centrality; determining a plurality of core nodes at a highest level in an hierarchy from the plurality of nodes based on the determined centrality value; grouping the plurality of core nodes into a core supernode representing a root in the hierarchy; grouping at least a part of non-core nodes among the plurality of nodes into one or more non-core supernodes based on the obtained network topology data, each of the plurality of non-core nodes being at only one hierarchical level in the hierarchy and included in at most one non-core supernode, and each non-core supernode consisting of two or more non-core nodes at a same hierarchical level; selecting, with respect each of the one or more non-core supernodes, a single supernode or node that is connected thereto and at a hierarchical level immediately higher than thereof, as a parent node thereof; determining a spatial coordinate of each of the plurality of nodes based on the core supernode, the plurality of core nodes therein, the one or more non-core supernodes, the non-core nodes therein, and the parent node of each of the one or more non-core supernodes, wherein
the spatial coordinates of the plurality of core nodes are determined to be proximate to each other, and
the spatial coordinates of at least a part of the plurality of non-core nodes are determined such that cross points of edges representing direct connections among the nodes are minimized in the hierarchical graphical representation; and
presenting the hierarchical graphical representation of the structure of the computer network, wherein each of the plurality of nodes is located at the determined spatial coordinate thereof.Join the waitlist — get patent alerts
Track US2023246925A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.