IP Library › Granted Patent US 10,678,645
Granted Patent B2
US 10,678,645 · App. 15/807,737 · Granted Jun 9, 2020

Dynamic rerouting of the execution for automated server builds

Inventor: Sasidhar Purushothaman (Hyderabad, IN)
Assignee: Bank of America Corporation
G06F11/1405G06F2201/805
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,678,645
App. No.
15/807,737
Granted
Jun 9, 2020
Kind
B2
Abstract

An architecture for a server build is provided. The architecture may include a plurality of execution stages which may be divided into a plurality of steps. Each of the execution stages may be implemented on a server to complete a server build request. The architecture may further include an execution stage selector configured to identify, within a plurality of servers, a server that may have an availability to execute the request. The selector may be further configured to execute the request on the available server and record the order of each of the plurality of steps within each of the plurality of execution stages being executed on the server. In response to a failure, the selector may be configured to pause execution, determine a failed step within the execution stage, analyze the prior executed steps, and determine any prior executed steps that the failed step may depend from.

Claims (45)

1. A method for executing a server build, said method comprising:

receiving a server build request;

identifying, within a group of servers, a server having an availability to execute the server build request;

assigning the server build request to the available server;

retrieving a plurality of execution stages associated with the server build request, each of the plurality of execution stages divided into a plurality of steps; each of the execution stages comprising an executable code module, each of the executable code modules being divided into a plurality of executable code module components, each of the plurality of steps corresponding to at least one of the plurality of executable module components;

in response to the request, building the one or more servers, the building comprising executing each of the plurality of steps within each of the execution stages;

tracking the order of each step within each stage of the server build;

in response to a failure occurring at one of the execution stages, performing a remedial sequence of actions, the remedial sequence of actions including:

pausing the server build at the execution stage where the failure occurred;

determining a failed step within the execution stage; and

repeating execution at the failed step, or at a prior step, said prior step being selected based on an analysis of prior steps affected by the failed step.

2. The method of claim 1 wherein at least one of the executable code modules comprises instantiating a connectivity instance.

3. The method of claim 1 wherein at least one of the executable code modules comprises creating a dynamic software library.

4. The method of claim 1 wherein the repeating of execution at the prior step further comprises, repeating the step executed immediately prior to the failed step.

5. The method of claim 1 wherein the repeating of execution at the prior step further comprises, repeating all steps that are within the execution stage of the failed step.

6. The method of claim 1 wherein the repeating of execution at the prior step further comprises, repeating the execution stage prior to the execution stage of the failed step.

7. The method of claim 1 wherein, upon completion of repeating the execution, resuming execution of the server build at a step following the failed step.

8. The method of claim 1 wherein the repeating of execution at or before the failed step further comprises repairing the failure prior to repeating, the repairing comprising:

retrieving a set of action codes, said set of action codes stored on a database, said set of action codes that successfully repaired a failure similar to the failure occurring at one of the execution stages; and

executing the set of action codes at or before the failed step, on the server, to repair the failure.

9. The method of claim 8 wherein, when the set of action codes is not successful in repairing the failure, the method further comprises generating a generated set of action codes, said generating being based on a combination of:

a plurality of recorded behavior patterns of stored historical failures;

a plurality of recorded metadata associated with the stored historical failures; and

a plurality of sets of action codes that successfully repaired historical failures.

10. The method of claim 9 further comprising executing the generated set of action codes on the server, to repair the failure.

11. A method for building a plurality of servers, said method comprising:

receiving a submission, the submission comprising a plurality of requirements;

generating a server build request in order to fulfill the plurality of requirements of the submission;

identifying, a number of servers, from the plurality of servers, the number of servers having an availability to execute the request;

in response to the request:

dividing the request into a plurality of segments;

assigning each of the plurality of segments to an available server;

retrieving a plurality of execution stages for each of the plurality of segments associated with the request, each of the plurality of execution stages divided into a plurality of steps; each of the execution stages comprising an executable code module, each of the executable code modules corresponding to each of the plurality of requirements, each of the executable code modules being divided into a plurality of executable code module components, each of the plurality of steps corresponding to at least one of the plurality of executable module components;

building each of the available servers, the building comprising executing each of the plurality of steps within each of the execution stages for each segment;

tracking the order of each step within each execution stage;

in response to a failure occurring at one of the execution stages of one of the segments, performing a remedial sequence of actions, the remedial sequence of actions including:

pausing the building at the execution stage of the server where the failure occurred;

determining a failed step within the execution stage; and

repeating execution at the failed step, or at a prior step, said prior step being selected based on an analysis of prior steps affected by the failed step.

12. The method of claim 11 wherein the pausing further comprises, pausing the server where the failure occurred and continuous building of the servers that did not incur the failure.

13. The method of claim 11 wherein at least one of the executable code modules comprise instantiating a connectivity instance.

14. The method of claim 11 wherein at least one of the executable code modules comprise creating a dynamic software library.

15. The method of claim 11 wherein the repeating of execution at the first step further comprises repairing the failure prior to repeating execution, the repairing comprising:

retrieving a set of action codes, said set of action codes stored on a database, said set of action codes that successfully repaired a failure similar to the failure occurring at the failed step; and

executing the set of action codes at or before the failed step, on the server, to repair the failure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: PURUSHOTHAMAN, SASIDHAR
To: BANK OF AMERICA CORPORATION
Reel/Frame 044079/0367 →
Continuity (1)
Related Publication 20190138395A1 · May 9, 2019