Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects
AssigneeVMware, Inc.
InventorsArunachalam RAMANATHAN, Li ZHENG, Gabriel TARASUK-LEVIN
Life of this patent
Estimating the term…
Abstract
A managed object of a virtualized computing environment, which contains the runtime state of a parent virtual machine (VM) and can be placed in any host of the virtualized computing environment, is used for instantly cloning child VMs off that managed object. The managed object is not an executable object (i.e., the state of the managed object is static) and thus it does not require most of the overhead memory associated with a VM. As a result, this managed object can support instant cloning of VMs with a reduction in memory, storage, and CPU overhead relative to when a parent template VM is used.
Claims20
In a virtualized computing environment having a host computer in which managed objects of the virtualized computing environment are provisioned, the managed objects including a first executable object loaded into memory of the host computer and executing on a processor of the host computer and a non-executable object, a method of provisioning a second executable object from the non-executable object, said method comprising the steps of:
- suspending execution of the first executable object, and while suspended, capturing a snapshot of a runtime state of the first executable object;
- creating the non-executable object from the captured snapshot, wherein the non-executable object contains the runtime state of the first executable object and is an object of the virtualized computing environment that is separately managed from the first executable object;
- and
- provisioning the second executable object from the non-executable object to restore the runtime state of the first executable object in the second executable object.
A non-transitory computer readable medium comprising instructions carried out by a host computer of a virtualized computing environment, in which managed objects of the virtualized computing environment are provisioned, the managed objects including a first executable object loaded into memory of the host computer and executing on a processor of the host computer and a non-executable object, wherein the instructions when executed in the processor of the host computer carries out a method of provisioning a second executable object from the non-executable object, said method comprising the steps of:
- suspending execution of the first executable object, and while suspended, capturing a snapshot of a runtime state of the first executable object;
- creating the non-executable object from the captured snapshot, wherein the non-executable object contains the runtime state of the first executable object and is an object of the virtualized computing environment that is separately managed from the first executable object;
- and
- provisioning the second executable object from the non-executable object to restore the runtime state of the first executable object in the second executable object.
A virtualized computing environment comprising a cluster of host computers, including a first host computer and a second host computer, in which managed objects of the virtualized computing environment are provisioned, the managed objects including a first executable object loaded into memory of the first host computer and executing on a processor of the first host computer and a non-executable object, wherein the processor of the first host computer is programmed to carry out a method of provisioning a second executable object from the non-executable object, said method comprising the steps of:
- suspending execution of the first executable object, and while suspended, capturing a snapshot of a runtime state of the first executable object;
- creating the non-executable object from the captured snapshot, wherein the non-executable object contains the runtime state of the first executable object and is an object of the virtualized computing environment that is separately managed from the first executable object;
- and
- provisioning the second executable object from the non-executable object to restore the runtime state of the first executable object in the second executable object.
Dependencies are inferred from the claim text.