# US 10,120,744 B1 · Graph execution system and method for a computing environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,744 B1
- Document ID: US10120744B1
- Status: Granted
- Kind: B1
- Application number: 14/947,413
- Filed: 2015-11-20
- Granted: 2018-11-06
- Earliest claimed: 2015-11-20
- Assignees: VCE IP Holding Company LLC
- Applicants: VCE Company, LLC
- Inventors: Akshaya Mahapatra; Vandana Rao
- Web page: https://patentgrep.com/patent/US10120744B1

## CPC

- G06F 11/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computing environment provisioning system includes a processing system and a memory for storing instructions that are executed by the processing system to obtain a graph having one or more edges with multiple vertices representing task instructions to perform multiple tasks on one or more resources of a computing environment, and sequentially execute the task instructions according to the edges between the vertices. When an at least one task encounters an error, the instructions pause execution of an ensuing task instruction in the graph.

## Claims

### Claim 1

A computing environment provisioning system comprising:
a computing system comprising at least one processor and at least one memory to store instructions that are executed by the at least one processor to:
obtain a graph comprising a plurality of vertices and a plurality of edges, the plurality of vertices representing task instructions to perform a plurality of provisioning tasks on one or more hardware computing resources to thereby configure the hardware computing resources to execute a virtual computing environment comprising a plurality of virtual objects;
execute the task instructions according to an execution order defined by the plurality of edges interconnecting the plurality of vertices; and
when at least one provisioning task of the plurality of provisioning tasks encounters an error:
pause execution of all ensuing task instructions in the graph;
select one or more remediation graphs according to a type of the error, wherein the one or more remediation graphs comprise remedial task instructions to cure the error;
execute each of the one or more remediation graphs; and
in response to a determination that the detected error has been remediated, resume execution of the ensuing task instructions in the graph.

### Claim 2 (depends on 1)

The computing environment provisioning system of claim 1, wherein the instructions are further executed to display at least a portion of the graph on a display, the portion of the graph including a visual identification of one or more current vertices representing one or more task instructions currently being executed.

### Claim 3 (depends on 1)

The computing environment provisioning system of claim 1, wherein the instructions are further executed to execute the task instructions by communicating with a computing environment management application that manages operation of the resources, the computing environment management application executing the task instructions.

### Claim 4 (depends on 1)

The computing environment provisioning system of claim 1, wherein the instructions are further executed to detect the error by receiving error information from a computing environment management application that manages operation of the resources.

### Claim 5 (depends on 1)

The computing environment provisioning system of claim 1, wherein the instructions are further executed to, when at least one task of the plurality of tasks encounters the error, generate an interactive user interface for receiving user input for performing one or more remedial actions to correct the error.

### Claim 6 (depends on 1)

The computing environment provisioning system of claim 1, wherein the instructions are further executed to, when at least one task of the plurality of tasks encounters the error, roll back the task instruction associated with the at least one task.

### Claim 7 (depends on 1)

The computing environment provisioning system of claim 1, wherein two or more of the vertices have edges in association with a vertex of at least one task of the plurality of tasks, the instructions execute the task instructions associated with the two or more vertices simultaneously.

### Claim 8

A computing environment provisioning method comprising:
obtaining, using an operations management application stored on a non-transitory medium and executed on at least one processor, a graph comprising a plurality of vertices and a plurality of edges, the plurality of vertices representing task instructions to perform a plurality of provisioning tasks on one or more hardware computing resources to thereby configure the hardware computing resources to execute a virtual computing environment comprising a plurality of virtual objects;
executing the task instructions according to an execution order defined by the edges interconnecting the plurality of vertices;
pausing execution of all ensuing task instructions in the graph when at least one provisioning task of the plurality of provisioning tasks encounters an error;
selecting one or more remediation graphs according to a detected type of the error, wherein the one or more remediation graphs comprise remedial task instructions to cure the error;
executing each of the one or more remediation graphs; and
in response to determining that the detected error has been remediated, resuming execution of the ensuing task instructions in the graph.

### Claim 9 (depends on 8)

The computing environment provisioning method of claim 8, further comprising displaying each vertex on a display as its respective task instruction is being executed.

### Claim 10 (depends on 8)

The computing environment provisioning method of claim 8, further comprising executing the task instructions by communicating with a computing environment management application that manages operation of the resources, the computing environment management application executing the task instructions.

### Claim 11 (depends on 8)

The computing environment provisioning method of claim 8, further comprising detecting the error by receiving error information from a computing environment management application that manages operation of the resources.

### Claim 12 (depends on 8)

The computing environment provisioning method of claim 8, further comprising, when at least one task of the plurality of tasks encounters the error, generating an interactive user interface for receiving user input for performing one or more remedial actions to correct the error.

### Claim 13 (depends on 8)

The computing environment provisioning method of claim 8, further comprising, when at least one task of the plurality of tasks encounters the error, rolling back the task instruction associated with the at least one task.

### Claim 14

A non-transitory, computer readable medium including instructions that when executed by at least one processor, are operable to perform at least the following:
obtaining a graph comprising a plurality of vertices and a plurality of edges, the plurality of vertices representing task instructions to perform a plurality of provisioning tasks on one or more hardware computing resources to thereby configure the hardware computing resources to execute a virtual computing environment comprising a plurality of virtual objects;
executing the task instructions according to an execution order defined by the edges interconnecting the plurality of vertices;
pausing execution of all ensuing tasks instructions in the graph when at least one provisioning task of the plurality of provisioning tasks encounters an error;
selecting one or more remediation graphs according to a detected type of the error, wherein the one or more remediation graphs comprise remedial task instructions to cure the error;
executing each of the one or more remediation graphs; and
in response to determining that the detected error has been remediated, resuming execution of the ensuing task instructions in the graph.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, the code further operable to perform comprising displaying each vertex on a display as its respective task instruction is being executed.

### Claim 16 (depends on 14)

The non-transitory computer readable medium of claim 14, the code further operable to perform executing the task instructions by communicating with a computing environment management application that manages the operation of the resources, the computing environment management application executing the task instructions.

### Claim 17 (depends on 14)

The non-transitory computer readable medium of claim 14, the code further operable to perform detecting the error by receiving error information from a computing environment management application that manages the operation of the resources.

### Claim 18 (depends on 14)

The non-transitory computer readable medium of claim 14, the code further operable to perform, when the at least one task encounters the error, rolling back the task associated with the at least one task.
