Application deployment to virtual machines

US2016350099A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016350099-A1
Application numberUS-201615162865-A
CountryUS
Kind codeA1
Filing dateMay 24, 2016
Priority dateMay 29, 2015
Publication dateDec 1, 2016
Grant date

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.

Examples disclosed herein relate to application deployment instructions to receive a new version of an application, select, from a pool of available virtual machines, a target virtual machine comprising a prior version of the application, and deploy the new version of the application to the target virtual machine.

First claim

Opening claim text (preview).

We claim: 1 . A non-transitory machine-readable storage medium comprising instructions for application deployment which, when executed by a processor, cause the processor to: receive a new version of an application; select, from a pool of available virtual machines, a target virtual machine comprising a prior version of the application; and deploy the new version of the application to the target virtual machine. 2 . The non-transitory machine-readable medium of claim 1 , wherein the instructions to deploy the new version of the application to the target virtual machine cause the processor to remove the prior version of the application from the target virtual machine. 3 . The non-transitory machine-readable medium of claim 1 , wherein the instructions to deploy the new version of the application to the target virtual machine cause the processor to replace a first component of the prior version of the application with a second component of the new version of the application. 4 . The non-transitory machine-readable medium of claim 1 , wherein the instructions to receive the new version of the application cause the processor to: determine whether the new version of the application passes a plurality of build tests; and in response to determining that the new version of the application does not pass a plurality of build tests, reject the new version of the application for deployment. 5 . The non-transitory machine-readable medium of claim 1 , wherein the instructions to deploy the new version of the application to the target virtual machine cause the processor to: determine whether the deployed new version of the application passes a plurality of performance tests; and in response to determining that the deployed new version of the application passes a plurality of performance tests: save a current state of the target virtual machine, and remove the target virtual machine from the pool of available virtual machines. 6 . The non-transitory machine-readable medium of claim 1 , wherein the instructions to select the target virtual machine cause the processor to select the target virtual machine according to at least one of a plurality of deployment rules. 7 . The non-transitory machine-readable medium of claim 6 , wherein each of the plurality of deployment rules comprises at least one of the following: a virtual machine state condition, a virtual machine configuration condition, an application version condition, a deployment age condition, and a deployment status condition. 8 . A computer-implemented method for application deployment comprising: receiving a first version of an application for deployment; determining whether the application is associated with a plurality of virtual machines; and in response to determining that the application is associated with a plurality of virtual machines: selecting, according to a deployment rule, a target virtual machine of the plurality of virtual machines, wherein the target virtual machine comprises a second version of the application, deploying the first version of the application to the target virtual machine, and validating the deployment of the first version of the application to the target virtual machine. 9 . The computer-implemented method of claim 8 , wherein the deployment rule comprises at least one of the following: a virtual machine state condition, a virtual machine configuration condition, an application version condition, a deployment age condition, and a deployment status condition 10 . The computer-implemented method of claim 8 , further comprising: in response to determining that the first version of the application is not associated with the plurality of virtual machines: creating a new virtual machine; and deploying the first version of the application to the new virtual machine. 11 . The computer-implemented method of claim 8 , wherein validating the deployment of the first version of the application to the target virtual machine comprises: determining whether a plurality of performance tests on the application on the target virtual machine succeed; and in response to determining that the plurality of performance tests on the application on the target virtual machine did not succeed, saving a state of the target virtual machine. 12 . The computer-implemented method of claim 8 , wherein deploying the first version of the application to the target virtual machine comprises: identifying at least one differing component between the first version and the second version of the application; and replacing the at least one differing component of the second version of the application with the at least differing component of the first version of the application. 13 . The computer implemented method of claim 8 , wherein determining whether the first version of the application is associated with a plurality of virtual machines comprise determining whether the first version of the application comprises a major version change from the second version of the application; and in response to determining that the first version of the application comprises a major version change from the second version of the application, deploying the first version of the application to a new virtual machine. 14 . A system for application deployment, comprising: a build engine to: receive a new version of an application; a rules engine to: index a plurality of virtual machines associated with the application, wherein the index comprises a plurality of configuration information for each of the plurality of virtual machines, and select, according to a deployment rule, one of the plurality of virtual machines for deployment of the new version of the application; and a deployment engine to: suspend execution of a deployed instance of the application on the selected one of the plurality of virtual machines, wherein the deployed instance of the application comprises a prior version of the application, identify at least one differing component between the new version of the application and the prior version of the application, deploy the at least one differing component from the new version of the application to the selected one of the virtual machines, determine whether the deployment of the at least one differing component to the selected one of the virtual machines succeeded, and in response to determining that the deployment of the at least one differing component to the selected one of the plurality of virtual machines succeeded, resume execution of the deployed instance of the application. 15 . The system of claim 14 , further comprising: in response to determining that the deployment of the at least one differing component to the selected one of the virtual machines did not succeed: cause the deployment engine to save a current configuration state of the selected one of the plurality of virtual machine; and cause the rules engine to update the index of the plurality of virtual machines to indicate that the selected one of the plurality of virtual machines is in an error status.

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • for test version control, e.g. updating test cases to a new software version · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · 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 US2016350099A1 cover?
Examples disclosed herein relate to application deployment instructions to receive a new version of an application, select, from a pool of available virtual machines, a target virtual machine comprising a prior version of the application, and deploy the new version of the application to the target virtual machine.
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Dec 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).