Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure

US10031783B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10031783-B2
Application numberUS-201213411376-A
CountryUS
Kind codeB2
Filing dateMar 2, 2012
Priority dateMar 2, 2012
Publication dateJul 24, 2018
Grant dateJul 24, 2018

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.

A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deployment agents executing on each node communicates with the centralized deployment system to check whether any deployment time dependencies need to be resolved. Additionally, the deployment system utilizes a node task timer that triggers a heartbeat mechanism for monitoring failure of deployment agents.

First claim

Opening claim text (preview).

We claim: 1. A method of deploying an application in a cloud environment having virtual computing resources, the method comprising: generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI); providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application; receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource; determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource; responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog; responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution. 2. The method of claim 1 , further comprising: generating a plurality of local deployment plans by separating a global deployment plan into individual deployment plans for each virtual computing resource. 3. The method of claim 1 , wherein transmitting the timing response further comprises: transmitting, to the first virtual computing resource, a value of a configuration property specified for a first application component to be deployed on the first virtual computing resource, wherein the configuration property references a second configuration property specified for a second virtual computing resource. 4. The method of claim 1 , further comprising: receiving, from the first virtual computing resource, a status message indicating completion of the first task, wherein the status message includes an updated value for a configuration property specified for an application component deployed on the first virtual computing resource; updating a centralized state for deploying the application according to the completion of the first task; and updating a centralized store of configuration properties with the updated value. 5. The method of claim 1 , wherein the local deployment plan comprises one or more scripts to be executed by each virtual computing resource for deploying an application component therein. 6. The method of claim 1 , further comprising: responsive to expiry of a task timer corresponding to the first task being executed by the first virtual computing resource, determining whether the first virtual computing resource has reported a status of the first task; and responsive to determining the first virtual computing resource has not reported the status, transmitting a heartbeat message to a deployment agent executing on the first virtual computing resource. 7. The method of claim 6 , further comprising: receiving, from the deployment agent executing on the first virtual computing resource, a heartbeat response associated with execution of the first task from the first virtual computing resource; updating a state of deployment to indicate an alive status of the deployment agent. 8. The method of claim 6 , further comprising: responsive to not receiving a heartbeat response from the deployment agent executing on the first virtual computing resource within a specified timeout period, updating a state of deployment to indicate failure of the deployment agent. 9. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, deploy an application in a cloud environment having virtual computing resources, by performing the steps of: generating a topology of an application comprised of virtual computing resources and application components selected from a catalog of pre-defined software components available in a cloud environment in response to items assembled from the catalog using a canvas-based graphical user interface (GUI); providing, by a deployment director, to each virtual computing resource in the cloud environment, a local deployment plan having a plurality of tasks to be executed in connection with deploying the application; receiving, by the deployment director from a deployment agent of a first virtual computing resource, a timing request to execute a first task from a first local deployment plan of a plurality of local deployment plans provided to the respective virtual computing resources in the first virtual computing resource; determining, by the deployment director, that the first task is dependent upon a second task from a second local deployment plan of the plurality of local deployment plans executing in a second virtual computing resource according to the generated topology, wherein the first task is configured to deploy an application component on the first virtual computing resource; responsive to determining that the second task is completed, sending to the deployment director at least one configuration property value generated during execution of the second task and used in execution of the first task on the first virtual computing resource according to the catalog; responsive to expiry of a task timer corresponding to the second task being executed by the second virtual computing resource and to determining that the second virtual computing resource has not reported status, updating a state of deployment associated with the second virtual computing resource based on the failure of the deployment agent of the second virtual computing resource; and transmitting, by the deployment director, the at least one configuration property value and a timing response to the first virtual computing resource indicating that the first task may proceed with execution. 10. The non-transitory computer-readable storage medium of claim 9 , further comprising instructions that, when executed in the computing device, perform the steps of: generating a plurality of local deployment plans by separating a global deployment plan into individual deployment plans for each virtual computing resource. 11. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions for transmitting the timing response further comprise instructions for: transmitting, to the first virtual computing resource, a value of a configuration property specified for a first application component to be deployed on the first virtual computing resource, wherein the configuration property references a second configuration property specified for a secon

Assignees

Inventors

Classifications

  • G06F9/5072Primary

    Grid computing · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Installation · CPC title

  • involving task migration · 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 US10031783B2 cover?
A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deplo…
Who is the assignee on this patent?
Jalagam Sesh, Mangtani Komal, Nagaraja Vishwas, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5072. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 24 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).