Autonomously reproducing and destructing virtual machines
AssigneeVMware, Inc.
InventorsJanitha Karunaratne, Shruthi Rajashekar, Brandon Nelson
Life of this patent
Estimating the term…
Abstract
Various examples are disclosed for autonomously reproducing and destructing virtual machines. Various virtual machines can be provisioned in a computing environment having at least one computing device. Each of the virtual machines provisioned can process a workload assigned to the at least one computing device. Further, each of the virtual machines can independently determine whether to self-replicate or self-destroy based at least on a state of processing of the workload. To self-replicate, each of the virtual machines can cause a new virtual machine to be created, where a processing of the workload is divided between a virtual machine and the new virtual machine created.
Claims20
A system for replicating a virtual machine in a cluster to autonomously scale up or down a processing of a workload, comprising:
- at least one computing device;
- program instructions stored in memory and executable in the at least one computing device that, when executed by the at least one computing device, direct the at least one computing device to:
- provision a plurality of virtual machines in the at least one computing device;
- process, by one of the virtual machines, a first portion of the workload assigned to the at least one computing device, wherein the one of the virtual machines comprises logic to determine whether to self-replicate, the one of the virtual machines is associated with a self-replicate permission and a self-destruct permission, a value of the self-replicate permission specifies that the one of the virtual machines is permitted or not to self-replicate, and a value of the self-destruct permission specifies that the one of the virtual machines is permitted or not to self-destruct;
- determine, by the one of the virtual machines, to self-replicate based at least on a state of processing of the workload and the value of the self-replicate permission;
- and
- in response to a determination to self-replicate made by the one of the virtual machines, call, by the one of the virtual machines, an instant cloning routine using an identifier that uniquely identifies the one of the virtual machines to cause a new one of the virtual machines to be created by the one of the virtual machines, wherein at least a second portion of the processing of the workload is divided between the one of the virtual machines and the new one of the virtual machines.
A non-transitory computer-readable medium for replicating a virtual machine in a cluster to autonomously scale up or down a processing of a workload, comprising program code executable in at least one computing device that, when executed by the at least one computing device, directs the at least one computing device to:
- provision a plurality of virtual machines in the at least one computing device;
- process, by one of the virtual machines, a first portion of the workload assigned to the at least one computing device, wherein the one of the virtual machines comprises logic to determine whether to self-replicate, the one of the virtual machines is associated with a self-replicate permission and a self-destruct permission, a value of the self-replicate permission specifies that the one of the virtual machines is permitted or not to self-replicate, and a value of the self-destruct permission specifies that the one of the virtual machines is permitted or not to self-destruct;
- determine, by the one of the virtual machines, to self-replicate based at least on a state of processing of the workload and the value of the self-replicate permission;
- and
- in response to a determination to self-replicate made by the one of the virtual machines, call, by the one of the virtual machines, an instant cloning routine using an identifier that uniquely identifies the one of the virtual machines to cause a new one of the virtual machines to be created by the one of the virtual machines, wherein at least a second portion of the processing of the workload is divided between the one of the virtual machines and the new one of the virtual machines.
A computer-implemented method for replicating a virtual machine in a cluster to autonomously scale up or down a processing of a workload, comprising:
- provisioning a plurality of virtual machines in at least one computing device;
- processing, by one of the virtual machines, a first portion of the workload assigned to the at least one computing device, wherein the one of the virtual machines comprises logic to determine whether to self-replicate, the one of the virtual machines is associated with a self-replicate permission and a self-destruct permission, a value of the self-replicate permission specifies that the one of the virtual machines is permitted or not to self-replicate, and a value of the self-destruct permission specifies that the one of the virtual machines is permitted or not to self-destruct;
- determining, by the one of the virtual machines, to self-replicate based at least on a state of processing of the workload and the value of the self-replicate permission;
- and
- in response to a determination to self-replicate made by the one of the virtual machines, calling, by the one of the virtual machines, an instant cloning routine using an identifier of the one of the virtual machines to cause a new one of the virtual machines to be created by the one of the virtual machines, wherein at least a second portion of the processing of the workload is divided between the one of the virtual machines and the new one of the virtual machines.
Dependencies are inferred from the claim text.