Systems and methods for mapping device failures in a network
There is disclosed a method and system for identifying the effects of an item failing in a network. Information about a first item in a network is received. The information indicates that the first item provides a service to other items in the network. A graph of the network is retrieved. A node in the graph that corresponds to the first item is identified. Edges are added to the graph to connect the node of the first item to nodes of the other items that receive the service from the first item. A request is received to model a failure of the first item. The nodes connected to the node that corresponds to the first item are retrieved. Operational rules are applied to each of the retrieved nodes to identify if any of their corresponding items would fail. A list of items that would fail is output.
1 . A method comprising:
receiving information about a first item in a network, wherein the information comprises an identifier of the first item and an indication that the first item provides a service to one or more second items in the network;
retrieving a graph corresponding to the network;
determining whether any node in the graph corresponds to the identifier of the first item;
after determining that the graph does not contain any node corresponding to the identifier of the first item, adding a first node to the graph corresponding to the first item in the network;
adding one or more edges to the graph connecting the first node to one or more second nodes corresponding to the one or more second items, wherein each edge indicates that the first item provides the service to the one or more second items;
receiving a request to model a failure of the first item;
retrieving the one or more second nodes that are connected to the first node by edges;
determining, by applying one or more operational rules to each of the one or more second nodes, whether any items corresponding to the one or more second nodes would fail because of the failure of the first item; and
outputting one or more items that would fail because of the failure of the first item;
adding an incident node to the graph;
adding an edge to the graph connecting the incident node to the first node;
determining that an incident that caused the failure of the first item has been resolved;
removing the incident node from the graph; and
removing any edges connected to the incident node from the graph.
2 . The method of claim 1 , further comprising:
determining a first set of nodes corresponding to the one or more items that will fail;
identifying all nodes in the graph that are connected by an edge to the first set of nodes;
generating a second set of nodes comprising the nodes in the graph that are connected to the first set of nodes;
determining, by applying the one or more operational rules to each node of the second set of nodes, whether any items corresponding to the second set of nodes would fail because of the failure of the first item; and
outputting one or more items corresponding to the second set of nodes that would fail because of the failure of the first item.
3 . The method of claim 1 , wherein the graph is a directed graph.
4 . The method of claim 1 , wherein the first item in the network is a hardware component or a software service.
5 . The method of claim 1 , wherein the information about the first item comprises:
a model number and a manufacturer of the first item, or
a list of attributes of the first item.
6 . The method of claim 1 , wherein the first node comprises a type of the first item, a unique identifier corresponding to the first item, and one or more attributes of the first item.
7 . The method of claim 1 , wherein each edge indicates a type of service provided by the first node to the one or more second nodes and one or more attributes of the service.
8 . The method of claim 1 , wherein determining whether any items corresponding to the one or more second nodes would fail because of the failure of the first item comprises, for each node of the one or more second nodes:
determining a type of an item associated with the respective node;
retrieving, based on the type, one or more operational rules to be applied to the respective node; and
applying the one or more operational rules to the respective node to determine whether the item associated with the respective node would continue operating after the first item has failed.
9 . The method of claim 1 , further comprising:
determining that the first item has failed; and
re-routing traffic in the network away from the one or more items that would fail because of the failure of the first item.
10 . A system comprising at least one processor and memory storing executable instructions which, when executed by the at least one processor, cause the system to:
receive information about a first item in a network, wherein the information comprises an identifier of the first item and an indication that the first item provides a service to one or more second items in the network;
retrieve a graph corresponding to the network;
determine whether any node in the graph corresponds to the identifier of the first item;
after determining that the graph does not contain any node corresponding to the identifier of the first item, add a first node to the graph corresponding to the first item in the network;
add one or more edges to the graph connecting the first node to one or more second nodes corresponding to the one or more second items, wherein each edge indicates that the first item provides the service to the one or more second items;
receive a request to model a failure of the first item;
retrieve the one or more second nodes that are connected to the first node by edges;
determine, by applying one or more operational rules to each of the one or more second nodes, whether any items corresponding to the one or more second nodes would fail because of the failure of the first item;
output one or more items that would fail because of the failure of the first item;
add an incident node to the graph;
add an edge to the graph connecting the incident node to the first node;
determine that an incident that caused the failure of the first item has been resolved;
remove the incident node from the graph; and
remove any edges connected to the incident node from the graph.
11 . The system of claim 10 , wherein the executable instructions cause the system to:
determine that the first item has failed; and
re-route traffic in the network away from the one or more items that would fail because of the failure of the first item.
12 . The system of claim 10 , wherein the executable instructions cause the system to:
determine a first set of nodes corresponding to the one or more items that will fail;
identify all nodes in the graph that are connected by an edge to the first set of nodes;
generate a second set of nodes comprising the nodes in the graph that are connected to the first set of nodes;
determine, by applying the one or more operational rules to each node of the second set of nodes, whether any items corresponding to the second set of nodes would fail because of the failure of the first item; and
output one or more items corresponding to the second set of nodes that would fail because of the failure of the first item.
13 . The system of claim 10 , wherein:
the graph is a directed graph,
the first item is a hardware component, and
the information about the first item comprises a model number and a manufacturer of the first item.
14 . A non-transitory computer-readable medium comprising executable instructions which, when executed by at least one processor, cause the at least one processor to:
receive information about a first item in a network, wherein the information comprises an identifier of the first item and an indication that the first item provides a service to one or more second items in the network;
retrieve a graph corresponding to the network;
determine whether any node in the graph corresponds to the identifier of the first item;
after determining that the graph does not contain any node corresponding to the identifier of the first item, add a first node to the graph corresponding to the first item in the network;
add one or more edges to the graph connecting the first node to one or more second nodes corresponding to the one or more second items, wherein each edge indicates that the first item provides the service to the one or more second items;
receive a request to model a failure of the first item;
retrieve the one or more second nodes that are connected to the first node by edges;
determine, by applying one or more operational rules to each of the one or more second nodes, whether any items corresponding to the one or more second nodes would fail because of the failure of the first item;
output one or more items that would fail because of the failure of the first item;
add an incident node to the graph;
add an edge to the graph connecting the incident node to the first node;
determine that an incident that caused the failure of the first item has been resolved;
remove the incident node from the graph; and
remove any edges connected to the incident node from the graph.
15 . The non-transitory computer-readable medium of claim 14 , wherein the executable instructions cause the at least one processor to:
determine that the first item has failed; and
re-route traffic in the network away from the one or more items that would fail because of the failure of the first item.
16 . The non-transitory computer-readable medium of claim 14 , wherein the executable instructions cause the at least one processor to:
determine a first set of nodes corresponding to the one or more items that will fail;
identify all nodes in the graph that are connected by an edge to the first set of nodes;
generate a second set of nodes comprising the nodes in the graph that are connected to the first set of nodes;
determine, by applying the one or more operational rules to each node of the second set of nodes, whether any items corresponding to the second set of nodes would fail because of the failure of the first item; and
output one or more items corresponding to the second set of nodes that would fail because of the failure of the first item.
17 . The non-transitory computer-readable medium of claim 14 , wherein the graph is a directed graph.
18 . The non-transitory computer-readable medium of claim 14 , wherein the first item in the network is a hardware component or a software service.
19 . The non-transitory computer-readable medium of claim 14 , wherein the information about the first item comprises:
a model number and a manufacturer of the first item, or
a list of attributes of the first item.
20 . The non-transitory computer-readable medium of claim 14 , wherein the first node comprises a type of the first item, a unique identifier corresponding to the first item, and one or more attributes of the first item.