Concurrent scheduling of plan operations in a virtualized computing environment
First Claim
1. A method for planning execution of one or more plans in a virtualized computing environment, the method comprising:
- computing, using one or more processors, an order for execution for one or more plans, wherein a plan involves the execution of at least one operation associated with the plan, wherein the one or more plans are associated with migration or deployment of one or more virtual machines in a distributed computing network, such that the migration or deployment of the one or more virtual machines requires allocation of one or more resources in at least one destination host to which a virtual machine is migrated;
after computing an order of execution for a first plan of the one or more plans and prior to scheduling the first plan for execution, validating whether the first plan and the corresponding operations for the first plan will be successfully executed by;
determining a current resource allocation status of the virtualized computing environment and a projected resource allocation status of the virtualized computing environment,wherein the current resource allocation status provides information about resources already allocated to one or more plans that either completed execution or are executing at a time of validation,wherein the projected resource allocation status provides information about resources that are to be allocated to one or more plans that are validated and either have not started or have not completed execution at a time of validation;
wherein the determining of the current resource allocation status and the projected resource allocation status includes determining whether resources will be available in the respective resource allocation statuses for the virtualized computing environment to support execution of the first plan and corresponding operations of the first plan, andwherein the validating takes into consideration an impact of other plans that are previously validated and possible changes in the virtualized computing environment since a time when the order of execution of the first plan was computed;
dividing corresponding operations for a validated first plan and a validated second plan scheduled for execution into an execution set and an operation dependency graph,wherein operations that are not dependent on other operations are grouped into the execution set, andoperations that are dependent on other operations are grouped into the operation dependency graph; and
concurrently executing the operations in the execution set, while delaying execution of a first operation in the operation dependency graph until all operations on which the first operation depends are completed.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for planning the execution of one or more plans in a virtualized computing environment are provided. In one embodiment, the method comprises computing an order for execution for one or more plans, and the corresponding operations in said one or more plans; validating whether a plan and the corresponding operations for the plan may be successfully executed, prior to executing the plan and the corresponding operations; executing the plan and the corresponding operations, in response to a successful validation; and aborting execution of the plan and the corresponding operations, in response to an unsuccessful validation, wherein the validating process takes into consideration impact of other plans that are previously validated and possible changes in the computing environment since time the plan was computed.
-
Citations
15 Claims
-
1. A method for planning execution of one or more plans in a virtualized computing environment, the method comprising:
-
computing, using one or more processors, an order for execution for one or more plans, wherein a plan involves the execution of at least one operation associated with the plan, wherein the one or more plans are associated with migration or deployment of one or more virtual machines in a distributed computing network, such that the migration or deployment of the one or more virtual machines requires allocation of one or more resources in at least one destination host to which a virtual machine is migrated; after computing an order of execution for a first plan of the one or more plans and prior to scheduling the first plan for execution, validating whether the first plan and the corresponding operations for the first plan will be successfully executed by; determining a current resource allocation status of the virtualized computing environment and a projected resource allocation status of the virtualized computing environment, wherein the current resource allocation status provides information about resources already allocated to one or more plans that either completed execution or are executing at a time of validation, wherein the projected resource allocation status provides information about resources that are to be allocated to one or more plans that are validated and either have not started or have not completed execution at a time of validation; wherein the determining of the current resource allocation status and the projected resource allocation status includes determining whether resources will be available in the respective resource allocation statuses for the virtualized computing environment to support execution of the first plan and corresponding operations of the first plan, and wherein the validating takes into consideration an impact of other plans that are previously validated and possible changes in the virtualized computing environment since a time when the order of execution of the first plan was computed; dividing corresponding operations for a validated first plan and a validated second plan scheduled for execution into an execution set and an operation dependency graph, wherein operations that are not dependent on other operations are grouped into the execution set, and operations that are dependent on other operations are grouped into the operation dependency graph; and concurrently executing the operations in the execution set, while delaying execution of a first operation in the operation dependency graph until all operations on which the first operation depends are completed. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for planning execution of one or more plans in a virtualized computing environment, the system comprising:
-
a logic unit for computing an order for execution for one or more plans, wherein a plan involves the execution of at least one operation associated with the plan, wherein the one or more plans are associated with migration or deployment of one or more virtual machines in a distributed computing network, such that the migration or deployment of the one or more virtual machines requires allocation of one or more resources in at least one destination host to which a virtual machine is migrated; a logic unit for validating whether a first plan of the one or more plans and the corresponding operations for the first plan will be successfully executed by; determining a current resource allocation status of the virtualized computing environment and a projected resource allocation status of the virtualized computing environment, wherein the current resource allocation status provides information about resources already allocated to one or more plans that either completed execution or are executing at a time of validation, wherein the projected resource allocation status provides information about resources that are to be allocated to one or more plans that are validated and either have not started or have not completed execution at a time of validation; wherein the determining of the current resource allocation status and the projected resource allocation status includes determining whether resources will be available in the respective resource allocation statuses for the virtualized computing environment to support execution of the first plan and corresponding operations of the first plan, and wherein the validating takes into consideration an impact of other plans that are previously validated and possible changes in the virtualized computing environment since a time when an order of execution of the first plan was computed; a logic unit for dividing corresponding operations for a validated first plan and a validated second plan scheduled for execution into an execution set and an operation dependency graph, wherein operations that are not dependent on other operations are grouped into the execution set, and operations that are dependent on other operations are grouped into the operation dependency graph; and a logic unit for concurrently executing the operations in the execution set, while delaying execution of a first operation in the operation dependency graph until all operations on which the first operation depends are completed. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
compute an order for execution for one or more plans, wherein a plan involves the execution of at least one operation associated with the plan, wherein the one or more plans are associated with migration or deployment of one or more virtual machines in a distributed computing network, such that the migration or deployment of the one or more virtual machines requires allocation of one or more resources in at least one destination host to which a virtual machine is migrated; validate whether a first plan of the one or more plans and the corresponding operations for the first plan will be successfully executed by; determining a current resource allocation status of the virtualized computing environment and a projected resource allocation status of the virtualized computing environment, wherein the current resource allocation status provides information about resources already allocated to one or more plans that either completed execution or are executing at a time of validation, wherein the projected resource allocation status provides information about resources that are to be allocated to one or more plans that are validated and either have not started or have not completed execution at a time of validation; wherein the determining of the current resource allocation status and the projected resource allocation status includes determining whether resources will be available in the respective resource allocation statuses for the virtualized computing environment to support execution of the first plan and corresponding operations of the first plan, and wherein the validating takes into consideration an impact of other plans that are previously validated and possible changes in the virtualized computing environment since a time when the order of execution of the first plan was computed; divide corresponding operations for a validated first plan and a validated second plan scheduled for execution into an execution set and an operation dependency graph, wherein operations that are not dependent on other operations are grouped into the execution set, and operations that are dependent on other operations are grouped into the operation dependency graph; and concurrently execute the operations in the execution set, while delaying execution of a first operation in the operation dependency graph until all operations on which the first operation depends are completed. - View Dependent Claims (12, 13, 14, 15)
-
Specification