Failure impact analysis of network events
Failure impact analysis (or “impact analysis”) is a process that involves identifying effects of a network event that are may or will results from the network event. In one example, this disclosure describes a method that includes generating, by a control system managing a resource group, a resource graph that models resource and event dependencies between a plurality of resources within the resource group; detecting, by the control system, a first event affecting a first resource of the plurality of resources, wherein the first event is a network event; and identifying, by the control system and based on the dependencies modeled by the resource graph, a second resource that is expected to be affected by the first event.
1. A method comprising:
generating, by a control system managing a resource group, a resource graph that models resource and event dependencies between a plurality of resources within the resource group;
detecting, by the control system, a first event affecting a first resource of the plurality of resources, wherein the first event is a network event;
identifying, by the control system and based on the dependencies modeled by the resource graph, a second resource that is expected to be affected by the first event, wherein identifying the second resource includes:
generating, based on the dependencies modeled by the resource graph, a second event caused by the first event, wherein the second event is a logical event, and
identifying the second resource as a resource associated with the second event;
detecting, by the control system and after generating the second event, a third event affecting the second resource, wherein the third event is a network event; and
merging, by the control system, the third event into the second event to avoid duplicative processing associated with the third event.
2. The method of claim 1 , further comprising:
identifying, by the control system and based on the dependencies modeled by the resource graph, a third resource that is expected to be affected by the first event.
3. The method of claim 2 , wherein identifying the third resource includes:
generating, based on the dependencies modeled by the resource graph, a fourth event caused by the second event, wherein the fourth event is a logical event; and
identifying the third resource as a resource associated with the fourth event.
4. The method of claim 1 , wherein generating the second event includes:
determining that the second resource has both resource and event dependencies on the first resource.
5. The method of claim 1 , further comprising:
detecting, by the control system and before generating the second event, a fourth event affecting the second resource, wherein the fourth event is a network event; and
merging, by the control system and after generating the second event, the second event into the fourth event.
6. The method of claim 1 , further comprising:
applying, by the control system, the resource graph to generate a plurality of inference rules with respect to the plurality of resources modeled by the resource graph.
7. The method of claim 1 , further comprising:
performing, by the control system, a forward chaining analysis to identify the second resource.
8. The method of claim 1 , wherein generating the resource graph includes:
receiving programming input; and
generating the resource graph based on the programming input.
9. The method of claim 1 , wherein generating the resource graph includes:
applying temporal constraints to each of the dependencies modeled by the resource graph.
10. A system comprising:
a network including a plurality of resources; and
a controller capable of communicating with each of the plurality of resources and configured to:
generate a resource graph that models resource and event dependencies between a plurality of resources within a resource group,
detect a first event affecting a first resource of the plurality of resources, wherein the first event is a network event,
identify, based on the dependencies modeled by the resource graph, a second resource that is expected to be affected by the first event, wherein to identify the second resource, the controller is further configured to:
generate, based on the dependencies modeled by the resource graph, a second event caused by the first event, wherein the second event is a logical event, and
identify the second resource as a resource associated with the second event,
detect, after generating the second event, a third event affecting the second resource, wherein the third event is a network event, and
merge the third event into the second event to avoid duplicative processing associated with the third event.
11. The system of claim 10 , wherein the controller is further configured to:
identify, based on the dependencies modeled by the resource graph, a third resource that is expected to be affected by the first event.
12. The system of claim 11 , wherein to identify the third resource, the controller is further configured to:
generate, by applying the dependencies modeled by the resource graph, a fourth event caused by the second event, wherein the fourth event is a logical event; and
identify the third resource as a resource associated with the fourth event.
13. The system of claim 10 , wherein to generate the second event, the controller is further configured to:
determine that the second resource has both resource and event dependencies on the first resource.
14. The system of claim 10 , wherein the controller is further configured to:
detect, before generating the second event, a third event affecting the second resource, wherein the third event is a network event; and
merge, after generating the second event, the second event into the third event.
15. The system of claim 10 , wherein the controller is further configured to comprising:
apply the resource graph to generate a plurality of inference rules with respect to the plurality of resources modeled by the resource graph.
16. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure processing circuitry of a computing system to:
generate a resource graph that models resource and event dependencies between a plurality of resources within a resource group;
detect a first event affecting a first resource of the plurality of resources, wherein the first event is a network event;
identify, based on the dependencies modeled by the resource graph, a second resource that is expected to be affected by the first event, wherein to identify the second resource, the processing circuitry is further configured to:
generate, based on the dependencies modeled by the resource graph, a second event caused by the first event, wherein the second event is a logical event, and
identify the second resource as a resource associated with the second event,
detect, after generating the second event, a third event affecting the second resource, wherein the third event is a network event and
merge the third event into the second event to avoid duplicative processing associated with the third event.