Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools

US9424065B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9424065-B2
Application numberUS-201414453701-A
CountryUS
Kind codeB2
Filing dateAug 7, 2014
Priority dateJun 26, 2014
Publication dateAug 23, 2016
Grant dateAug 23, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus are disclosed to scale application deployments in cloud computing environments using virtual machine pools. An example method disclosed herein includes displaying a user-selectable control to specify whether the application is to be scaled in accordance with a scaling policy, based on selection of the user-selectable control, storing, in a blueprint of the application, an indication of whether the application is to be scaled in accordance with the scaling policy, based on the indication in the blueprint, preparing a virtual machine pool in the computing environment, the virtual machine pool including a virtual machine provisioned for use in a scaling operation, in response to a request to scale the application deployed in a deployment environment, determining whether configuration information satisfies a scaling requirement, and based on the determination, performing the scaling operation in accordance with the request to scale by transferring the virtual machine to the deployment environment.

First claim

Opening claim text (preview).

What is claimed is: 1. A method to scale an application, the method comprising: displaying a user-selectable control in a user interface, the user-selectable control to specify whether the application is to be scaled in accordance with a scaling policy; based on selection of the user-selectable control, storing, in a blueprint of the application, an indication of whether the application is to be scaled in accordance with the scaling policy; based on the indication in the blueprint, preparing, by executing an instruction with at least one processor, a virtual machine pool in the computing environment, the virtual machine pool including a first virtual machine provisioned for use in a scaling operation; in response to a request to scale the application deployed in a deployment environment, determining, by executing an instruction with the at least one processor, whether configuration information of the virtual machine pool satisfies a scaling requirement included in the request; determining, by executing an instruction with the at least one processor, whether the scaling policy permits expanding the virtual machine pool when the configuration information fails to satisfy the scaling requirement; instantiating, by executing an instruction with the at least one processor, a second virtual machine in the virtual machine pool when the scaling policy permits expanding the virtual machine pool; updating, by executing an instruction with the at least one processor, the configuration information of the virtual machine pool; determining, by executing an instruction with the at least one processor, whether the updated configuration information satisfies the scaling requirement; and based on the determination of the updated configuration information, performing, by executing an instruction with the at least one processor, the scaling operation in accordance with the request by transferring the first virtual machine to the deployment environment. 2. A method as defined in claim 1 , wherein the virtual machine pool is a collection of virtual machines to be used for scaling operations and configured in accordance with the scaling policy. 3. A method as defined in claim 1 , wherein the scaling policy specifies a number of virtual machines to include in the virtual machine pool. 4. A method as defined in claim 1 , wherein the preparing of the virtual machine pool includes: generating the virtual machine pool; instantiating the virtual machine in the virtual machine pool; configuring the virtual machine in accordance with the scaling policy; and transitioning the virtual machine to a suspended state. 5. A method as defined in claim 1 , wherein the generating of the virtual machine pool is in response to preparing the blueprint. 6. A method as defined in claim 1 , wherein the generating of the virtual machine pool is in response to deploying the application in the deployment environment. 7. A method as defined in claim 1 , wherein the configuration information includes a number of virtual machines included in the virtual machine pool. 8. A method as defined in claim 1 , wherein the performing of the scaling operation includes, in response to the determining that the configuration information satisfies the scaling requirement: fetching the first virtual machine from the virtual machine pool to the deployment environment; and powering-ON the first virtual machine. 9. A method as defined in claim 1 , wherein the performing of the scaling operation includes, in response to determining that the configuration information fails to satisfy the scaling requirement: provisioning a second virtual machine in the deployment environment; customizing the second virtual machine; loading a bootstrap script on the second virtual machine; and powering-ON the second virtual machine. 10. An apparatus to scale an application, the apparatus comprising: a memory including machine readable instructions; and a processor to execute the instructions to at least: display a user-selectable control in a user interface, the user-selectable control to specify whether the application is to be scaled in accordance with a scaling policy; based on selection of the user-selectable control, store, in a blueprint of the application, an indication of whether the application is to be scaled in accordance with the scaling policy; based on the indication in the blueprint, prepare a virtual machine pool, the virtual machine pool to include a first virtual machine for use in a scaling operation; in response to a request to scale the application deployed in a deployment environment, determine whether configuration information of the virtual machine pool satisfies a scaling requirement included in the request; determine whether the scaling policy is to permit expanding the virtual machine pool based on a determination that the configuration information fails to satisfy the scaling requirement; instantiate a second virtual machine in the virtual machine pool when the scaling policy is to permit expanding the virtual machine pool; update the configuration information of the virtual machine pool; determine whether the updated configuration information satisfies the scaling requirement; and based on the determination of the updated configuration information, perform the scaling operation in accordance with the request to scale by transferring the first virtual machine to the deployment environment. 11. An apparatus as defined in claim 10 , wherein the virtual machine pool is a collection of virtual machines to be used for scaling operations and to be configured in accordance with the scaling policy. 12. An apparatus as defined in claim 10 , wherein the scaling policy is to specify a number of virtual machines to include in the virtual machine pool. 13. An apparatus as defined in claim 10 , wherein the instructions cause the processor to prepare the virtual machine pool by: generating the virtual machine pool; instantiating the first virtual machine in the virtual machine pool; configuring the first virtual machine in accordance with the scaling policy; and transitioning the first virtual machine to a suspended state. 14. An apparatus as defined in claim 10 , wherein the instructions cause the processor to generate the virtual machine pool in response to preparing the blueprint. 15. An apparatus as defined in claim 10 , wherein the instructions cause the processor to generate the virtual machine pool in response to deploying the application in the deployment environment. 16. An apparatus as defined in claim 10 , wherein the configuration information is to include a number of virtual machines included in the virtual machine pool. 17. An apparatus as defined in claim 10 , wherein the instructions cause the processor to transfer the virtual machine by: fetching the first virtual machine from the virtual machine pool to the deployment environment; and powering-ON the first virtual machine. 18. An apparatus as defined in claim 10 , wherein, in response to a determination that the configuration information fails to satisfy the scaling requirement, the instructions cause the processor to: provision a second virtual machine in the deployment environment; customize the second virtual machine; load a bootstrap script on the second virtual machine; and power-ON the second virtual machine. 19. A tangible computer readable storage medium comprising instructions that, when executed, cause a processor to at least: display a user-selectable control in a user interf

Assignees

Inventors

Classifications

  • Admission control; Resource allocation · CPC title

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9424065B2 cover?
Methods and apparatus are disclosed to scale application deployments in cloud computing environments using virtual machine pools. An example method disclosed herein includes displaying a user-selectable control to specify whether the application is to be scaled in accordance with a scaling policy, based on selection of the user-selectable control, storing, in a blueprint of the application, an …
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).