Software code change reversal tool
AssigneeBank of America Corporation
InventorsSurina Puri, Asif Ahmad Bala, Arjun Thimmareddy
Life of this patent
Estimating the term…
Abstract
A tool may identify and revert changes that caused network hardware components or hardware servers to malfunction. The tool builds and maintains a graph that represents the hardware components and servers in the system and their dependencies. When a change is made to the system, links and weights in the graph are adjusted to account for the changes. When a component or server is reported as malfunctioning, the tool traverses the graph to locate the changes that are the most likely root causes of the malfunction. The tool may then revert the change to resolve the malfunction.
Claims20
An apparatus comprising:
- a memory;
- and
- a hardware processor communicatively coupled to the memory, the hardware processor configured to:
- determine that a first hardware server is communicatively coupled to a first network hardware component and a second hardware server;
- generate a graph comprising a first node representing the first hardware server, a second node representing the first network hardware component, a third node representing the second hardware server, a first link between the first node and the second node, and a second link between the first node and the third node;
- determine that the second hardware server is communicatively coupled to a second network hardware component and a third network hardware component;
- add, to the graph, a fourth node representing the second network hardware component, a fifth node representing the third network hardware component, a third link between the third node and the fourth node, and a fourth link between the third node and the fifth node;
- assign an initial weight to the first, second, third, and fourth links;
- receive a first change request indicating that a change to the second network hardware component impacted the second hardware server;
- in response to the first change request, reduce the initial weight of the third link;
- receive a second change request indicating that a change to the third network hardware component impacted the second hardware server;
- in response to the second change request, reduce the initial weight of the fourth link;
- determine that the first network hardware component is malfunctioning;
- and
- determine that the change to the second network hardware component caused the first network component to malfunction based at least in part upon a comparison of a first sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the third link, and a second sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the fourth link.
A method comprising:
- determining, by a hardware processor communicatively coupled to a memory, that a first hardware server is communicatively coupled to a first network hardware component and a second hardware server;
- generating, by the hardware processor, a graph comprising a first node representing the first hardware server, a second node representing the first network hardware component, a third node representing the second hardware server, a first link between the first node and the second node, and a second link between the first node and the third node;
- determining, by the hardware processor, that the second hardware server is communicatively coupled to a second network hardware component and a third network hardware component;
- adding, by the hardware processor and to the graph, a fourth node representing the second network hardware component, a fifth node representing the third network hardware component, a third link between the third node and the fourth node, and a fourth link between the third node and the fifth node;
- assigning, by the hardware processor, an initial weight to the first, second, third, and fourth links;
- receiving, by the hardware processor, a first change request indicating that a change to the second network hardware component impacted the second hardware server;
- in response to the first change request, reducing, by the hardware processor, the initial weight of the third link;
- receiving, by the hardware processor, a second change request indicating that a change to the third network hardware component impacted the second hardware server;
- in response to the second change request, reducing, by the hardware processor, the initial weight of the fourth link;
- determining, by the hardware processor, that the first network hardware component is malfunctioning;
- and
- determining that the change to the second network hardware component caused the first network component to malfunction based at least in part upon a comparison of a first sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the third link, and a second sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the fourth link.
A system comprising:
- a first hardware server;
- a second hardware server;
- a first network hardware component;
- a second network hardware component;
- a third network hardware component;
- and
- a code reversal tool comprising a hardware processor communicatively coupled to a memory, the hardware processor configured to:
- determine that the first hardware server is communicatively coupled to the first network hardware component and the second hardware server;
- generate a graph comprising a first node representing the first hardware server, a second node representing the first network hardware component, a third node representing the second hardware server, a first link between the first node and the second node, and a second link between the first node and the third node;
- determine that the second hardware server is communicatively coupled to the second network hardware component and the third network hardware component;
- add, to the graph, a fourth node representing the second network hardware component, a fifth node representing the third network hardware component, a third link between the third node and the fourth node, and a fourth link between the third node and the fifth node;
- assign an initial weight to the first, second, third, and fourth links;
- receive a first change request indicating that a change to the second network hardware component impacted the second hardware server;
- in response to the first change request, reduce the initial weight of the third link;
- receive a second change request indicating that a change to the third network hardware component impacted the second hardware server;
- in response to the second change request, reduce the initial weight of the fourth link;
- determine that the first network hardware component is malfunctioning;
- and
- determine that the change to the second network hardware component caused the first network component to malfunction based at least in part upon a comparison of a first sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the third link, and a second sum of the initial weight of the first link, the initial weight of the second link, and the reduced initial weight of the fourth link.
Dependencies are inferred from the claim text.