Elastic Compute Fabric Using Virtual Machine Templates
First Claim
1. A system comprising:
- a shared compute fabric cloud service communicating with a plurality of cloud services, the shared compute fabric cloud service having a plurality of virtual machines (VMs);
a memory associated with the shared compute fabric cloud service, the memory storing a plurality of powered-on parent VM templates;
storage including a plurality of powered-off child VMs instantiated from the plurality of parent VM templates; and
a processor associated with the shared compute fabric cloud service, the processor programmed to;
receive a request from one of the plurality of cloud services for at least one of the plurality of child VMs, the request including child VM properties;
in response to the received request, customize the at least one of the plurality of child VMs based on the child VM properties in the received request; and
power-on the customized at least one of the plurality of child VMs.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments include an infrastructure shared among cloud services that supports fast provisioning of virtual machines (VMs). A set of powered-on parent VM templates and a set of powered-off child VMs are maintained by the infrastructure in a hierarchy. The child VMs are instantiated from the parent VM templates, and pre-registered to a cloud operating system in some embodiments. In response to requests from the cloud services for the child VMs, where the requests specify child VM configurations, child VMs from the set of powered-off child VMs are selected and customized based on the child VM configurations, and then deployed for use by the cloud services. In some embodiments, the fast provisioning of VMs is supported by forking operations in the infrastructure.
35 Citations
20 Claims
-
1. A system comprising:
-
a shared compute fabric cloud service communicating with a plurality of cloud services, the shared compute fabric cloud service having a plurality of virtual machines (VMs); a memory associated with the shared compute fabric cloud service, the memory storing a plurality of powered-on parent VM templates; storage including a plurality of powered-off child VMs instantiated from the plurality of parent VM templates; and a processor associated with the shared compute fabric cloud service, the processor programmed to; receive a request from one of the plurality of cloud services for at least one of the plurality of child VMs, the request including child VM properties; in response to the received request, customize the at least one of the plurality of child VMs based on the child VM properties in the received request; and power-on the customized at least one of the plurality of child VMs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
maintaining, by a computing device, a set of powered-on parent VM templates and a set of powered-off child VMs instantiated from the powered-on parent VM templates, each of the child VMs sharing memory and storage of one of the parent VM templates, wherein sharing memory comprises copy-on-write (COW) sharing of memory pages; receiving a request from a cloud service for at least one of the child VMs, the request identifying a child VM configuration; applying, by the computing device in response to the received request, the child VM configuration to the at least one of the child VMs in the set of child VMs; and deploying the at least one of the child VMs with the applied child VM configuration. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. One or more computer-readable storage media including computer-executable instructions that, when executed, cause at least one processor to dynamically scale a cloud service by increasing a quantity of virtual machines (VMs) available thereto by:
-
creating a hierarchy of powered-on parent VM templates and powered-off child VMs instantiated from the powered-on parent VM templates; receiving a request from the cloud service for at least one of the child VMs from the created hierarchy, the request including child VM identity data; in response to the received request, applying the child VM identity data to the at least one of the child VMs in the created hierarchy; and providing, to the cloud service, the at least one of the child VMs with the applied child VM identity data. - View Dependent Claims (17, 18, 19, 20)
-
Specification