CPC H04L 41/12 (2013.01) [G06F 16/9024 (2019.01); H04L 41/0859 (2013.01); H04L 41/22 (2013.01)] | 20 Claims |
1. A computer-implemented method comprising:
obtaining from one or more networking devices operating in a network, configuration data related to configurations of each of the one or more networking devices and operational data related to logical states of networking features of each of the one or more networking devices;
generating graph data for a network graph based on the configuration data and operational data of the one or more networking devices, to maintain a logical view of the network, wherein the network graph comprises a plurality of nodes and relationships that represent dependencies between nodes, and both nodes and relationships having property attributes, and wherein each node and relationship comprises data that describes a networking logic object using two independent levels of identification including an object-level identifier that identifies a networking logic object and a graph-level identifier that distinguishes between observed states of the networking logic object, wherein generating graph data for the network graph includes generating:
a host node for each host networking device in the network, the host node identifying the host networking device;
an interface node representing an interface of a host node and that has a hosted-on relationship to a host node;
a subnet node representing a subnet and that has a connected-to relationship to one or more host nodes; and
a process node that represents routing between host networking devices and that has a process-of relationship with a host node and a neighbor-of relationship with an interface node; and
recording a temporal history of each node and its state over time during operation of the network to track property changes of nodes, relationship changes between nodes and topological changes of the network, wherein the property changes of the nodes, the relationship changes between nodes, and the topological changes of the network are determined by analyzing the object-level identifier of each node in combination with graph-level identifier of each node, wherein recording the property changes of the nodes includes marking at least one node as removed but not deleted at a time point during the temporal history, and wherein the at least one node is marked as added at a subsequent time point to the time point during the temporal history.
|