IP Library › Granted Patent US 11,650,859
Granted Patent B2
US 11,650,859 · App. 17/332,919 · Granted May 16, 2023

Cloud environment configuration based on task parallelization

Inventor: Suman Chandra Shil (Fremont, CA)
Assignee: VMWARE, INC.
G06F9/52G06F9/45558G06F9/4881H04L41/08H04L67/10G06F2009/45595
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 11,650,859
App. No.
17/332,919
Granted
May 16, 2023
Kind
B2
Abstract

Example methods and computer systems for cloud environment configuration based on task parallelization. One example method may comprise: obtaining a task data structure specifying execution dependency information associated with a set of multiple configuration tasks that are executable to perform cloud environment configuration. The method may also comprise: In response to identifying a first configuration task and a second configuration task that are ready for execution based on the task data structure, triggering execution of the first configuration task and the second configuration task. The method may further comprise: in response to determination that the first configuration task has been completed, identifying third configuration task(s) that are ready for execution based on the task data structure; and triggering execution of the third configuration task(s) by respective third compute node(s).

Claims (56)

1. A method for a computer system to perform cloud environment configuration based on task parallelization, the method comprising:

obtaining a task data structure specifying execution dependency information associated with a set of multiple configuration tasks that are executable by a processor of the computer system to perform cloud environment configuration;

in response to identifying, from the set, a first configuration task and a second configuration task that are ready for execution based on the task data structure,

triggering execution of the first configuration task and execution of the second configuration task; and

in response to determination that the first configuration task has been completed,

identifying, from the set, one or more third configuration tasks that are ready for execution based on the task data structure, wherein the one or more third configuration tasks are dependent from the first configuration task; and

triggering execution of the one or more third configuration tasks before execution of the second configuration task is completed.

2. The method of claim 1 , wherein triggering execution of the first configuration task and the second configuration task comprises:

enqueueing, in a message broker, a first message for retrieval by a first compute node, wherein the first message is configured to cause the first compute node to generate first context information associated with the first configuration task, wherein the one or more third configuration tasks inherit the first context information; and

enqueueing, in the message broker, a second message for retrieval by a second compute node, wherein the second message is configured to cause the second compute node to generate second context information associated with the second configuration task.

3. The method of claim 2 , wherein triggering execution of the one or more third configuration tasks comprises:

enqueueing, in the message broker, one or more third messages for retrieval by respective one or more third compute nodes, wherein a particular third message is configured to cause a particular third compute node to execute the particular third configuration task based on the first context information.

4. The method of claim 2 , further comprising:

retrieving, from the message broker, a main configuration task that identifies the set of multiple configuration tasks; and

executing the main configuration task to trigger execution of the set of multiple configuration tasks.

5. The method of claim 1 , further comprising:

in response to detecting that a particular third configuration task has failed, reporting that the first configuration task has also failed, wherein the particular third configuration task being dependent from the first configuration task.

6. The method of claim 1 , further comprising:

in response to determination that the set of multiple configuration tasks have been successfully completed, generating and sending a report to a task manager.

7. The method of claim 1 , wherein obtaining a task data structure comprises:

obtaining a task dependency graph that specifies dependency information associated with one or more of the following configuration tasks: creating a logical element in a cloud environment, updating the logical element, removing the logical element, and setting a characteristic or behaviour associated with the logical element.

8. A method for a computer system to perform cloud environment configuration based on task parallelization, the method comprising:

identifying, from a set of multiple configuration tasks that are FIGS. 5 A, 5 B, 5 C, 5 D, and 5 E are a series of schematic diagrams illustrating an example of cloud environment configuration based on task parallelization; perform cloud environment configuration, a first configuration task and a second configuration task that are ready for execution based on a task data structure, wherein the task data structure specifies execution dependency information associated with the set of multiple configuration tasks;

triggering execution of the first configuration task and execution of the second configuration task; and

in response to determination that the first configuration task has been completed,

identifying, from the set, one or more third configuration tasks that are ready for execution based on the task data structure, wherein the one or more third configuration tasks are dependent from the first configuration task; and

triggering execution of the one or more third configuration tasks before execution of the second configuration task is completed.

9. The method of claim 8 , wherein triggering execution of the first configuration task and the second configuration task comprises:

enqueueing, in a message broker, a first message for retrieval by a first compute node, wherein the first message is configured to cause the first compute node to generate first context information associated with the first configuration task, wherein the one or more third configuration tasks inherit the first context information; and

enqueueing, in the message broker, a second message for retrieval by a second compute node, wherein the second message is configured to cause the second compute node to generate second context information associated with the second configuration task.

10. The method of claim 9 , wherein triggering execution of the one or more third configuration tasks comprises:

enqueueing, in the message broker, one or more third messages for retrieval by respective one or more third compute nodes, wherein a particular third message is configured to cause a particular third compute node to execute the particular third configuration task based on the first context information.

11. The method of claim 9 , further comprising:

executing a main configuration task that identifies the set of multiple configuration tasks to trigger execution of the set of multiple configuration tasks.

12. The method of claim 8 , further comprising:

in response to detecting that a particular third configuration task has failed, marking that the first configuration task has also failed, wherein the particular third configuration task being dependent from the first configuration task.

13. The method of claim 8 , wherein the method further comprises:

in response to determination that the set of multiple configuration tasks have been successfully completed, generating a report with status of executing the set of multiple configuration tasks.

14. The method of claim 8 , wherein the task data structure corresponds to a task dependency graph that specifies dependency information associated with one or more of the following configuration tasks: creating a logical element in a cloud environment, updating the logical element, removing the logical element, and setting a characteristic or behaviour associated with the logical element.

15. A system configured to perform cloud environment configuration based on task parallelization, the system comprising:

a processor;

a non-transitory computer-readable medium having stored thereon instructions that, in response to execution by the processor, cause the processor to:

identify, from a set of multiple configuration tasks that are executable by the processor to perform cloud environment configuration, a first configuration task and a second configuration task that are ready for execution based on a task data structure, wherein the task data structure specifies execution dependency information associated with the set of multiple configuration tasks;

trigger execution of the first configuration task and execution of the second configuration task; and

in response to determination that the first configuration task has been completed,

identify, from the set, one or more third configuration tasks that are ready for execution based on the task data structure, wherein the one or more third configuration tasks are dependent from the first configuration task; and

trigger execution of the one or more third configuration tasks before execution of the second configuration task is completed.

16. The system of claim 15 , wherein the instructions for triggering execution of the first configuration task and the second configuration task comprises:

enqueueing, in a message broker of the system, a first message for retrieval by a first compute node, wherein the first message is configured to cause the first compute node to generate first context information associated with the first configuration task, wherein the one or more third configuration tasks inherit the first context information; and

enqueueing, in the message broker, a second message for retrieval by a second compute node, wherein the second message is configured to cause the second compute node to generate second context information associated with the second configuration task.

17. The system of claim 16 , wherein the instructions for triggering execution of the one or more third configuration tasks comprises:

enqueueing, in the message broker, one or more third messages for retrieval by respective one or more third compute nodes, wherein a particular third message is configured to cause a particular third compute node to execute the particular third configuration task based on the first context information.

18. The system of claim 16 , wherein the non-transitory computer-readable medium having stored thereon additional instructions for executing a main configuration task that identifies the set of multiple configuration tasks to trigger execution of the set of multiple configuration tasks.

19. The system of claim 15 , wherein the non-transitory computer-readable medium having stored thereon additional instructions for marking that the first configuration task has also failed in response to detecting that a particular third configuration task has failed, wherein the particular third configuration task being dependent from the first configuration task.

20. The system of claim 15 , wherein the non-transitory computer-readable medium having stored thereon additional instructions for generating a report with status of executing the set of multiple configuration tasks in response to determination that the set of multiple configuration tasks have been successfully completed.

21. The system of claim 15 , wherein the task data structure corresponds to a task dependency graph that specifies dependency information associated with one or more of the following configuration tasks: creating a logical element in a cloud environment, updating the logical element, removing the logical element, and setting a characteristic or behavior associated with the logical element.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 16509822 · Jul 12, 2019
Related Publication 20210365303A1 · Nov 25, 2021