Droplet execution engine for dynamic server application deployment

US9772831B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9772831-B2
Application numberUS-201113094538-A
CountryUS
Kind codeB2
Filing dateApr 26, 2011
Priority dateApr 26, 2010
Publication dateSep 26, 2017
Grant dateSep 26, 2017

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 cloud computing environment provides the ability to deploy a web application that has been developed using one of a plurality of application frameworks and is configured to execute within one of a plurality of runtime environments. The cloud computing environment receives the web application in a package compatible with the runtime environment (e.g., a WAR file to be launched in an application server, for example) and dynamically binds available services by appropriately inserting service provisioning data (e.g., service network address, login credentials, etc.) into the package. The cloud computing environment then packages an instance of the runtime environment, a start script and the package into a web application deployment package, which is then transmitted to an application (e.g., container virtual machine, etc.). The application container unpacks the web application deployment package, installs the runtime environment, loads the web application package into the runtime environment and starts the start script, thereby deploying the web application in the application container.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: receiving, by a service provisioner of a cloud computing environment from a cloud controller of the cloud computing environment, a request for information on a plurality of services provided by the cloud computing environment to a web application, the service provisioner and the services executing in one or more first virtual machines of the cloud computing environment; upon receiving the request for information, generating, by a plurality of shim components maintained by the service provisioner, provisioning data for binding the services to the web application, wherein: the shim components are different from one another; each shim component corresponds to a respective service of the services; each shim component is a component of the service provisioner and includes a stub corresponding to the respective service, the stub storing one or more attributes of the respective service, and generating the provisioning data comprises: logging, by each shim component, into the respective service to generate credentials for the web application, the credentials allowing the web application to access the respective service; and designating the one or more attributes stored in each respective shim component and the credentials generated by each respective shim component as the provisioning data; providing, by the service provisioner to the cloud controller, the provisioning data as a response to the request for information; binding, by the cloud controller, the services to the web application program, including inserting the provisioning data into contents of a web application package of the web application; and deploying the web application program on one or more second virtual machines in the cloud computing environment using the web application package. 2. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers causes the one or more computers to perform operations comprising: receiving, by a service provisioner of a cloud computing environment from a cloud controller of the cloud computing environment, a request for information on a plurality of services provided by the cloud computing environment to a web application, the service provisioner and the services executing in one or more first virtual machines of the cloud computing environment; upon receiving the request for information, generating, by a plurality of shim components maintained by the service provisioner, provisioning data for binding the services to the web application, wherein: the shim components are different from one another; each shim component corresponds to a respective service of the services; each shim component is a component of the service provisioner and includes a stub corresponding to the respective service, the stub storing one or more attributes of the respective service, and generating the provisioning data comprises: logging, by each shim component, into the respective service to generate credentials for the web application, the credentials allowing the web application to access the respective service; and designating the one or more attributes stored in each respective shim component and the credentials generated by each respective shim component as the provisioning data; providing, by the service provisioner to the cloud controller, the provisioning data as a response to the request for information; binding, by the cloud controller, the services to the web application program, including inserting the provisioning data into contents of a web application package of the web application; and deploying the web application program on one or more second virtual machines in the cloud computing environment using the web application package. 3. A system configured to run an application container to dynamically host web applications, the system comprising one or more computers and one or more non-transitory storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving, by a service provisioner of a cloud computing environment from a cloud controller of the cloud computing environment, a request for information on a plurality of services provided by the cloud computing environment to a web application, the service provisioner and the services executing in one or more first virtual machines of the cloud computing environment; upon receiving the request for information, generating, by a plurality of shim components maintained by the service provisioner, provisioning data for binding the services to the web application, wherein: the shim components are different from one another; each shim component corresponds to a respective service of the services; each shim component is a component of the service provisioner and includes a stub corresponding to the respective service, the stub storing one or more attributes of the respective service, and generating the provisioning data comprises: logging, by each shim component, into the respective service to generate credentials for the web application, the credentials allowing the web application to access the respective service; and designating the one or more attributes stored in each respective shim component and the credentials generated by each respective shim component as the provisioning data; providing, by the service provisioner to the cloud controller, the provisioning data as a response to the request for information; binding, by the cloud controller, the services to the web application program, including inserting the provisioning data into contents of a web application package of the web application; and deploying the web application program on one or more second virtual machines in the cloud computing environment using the web application package. 4. The method of claim 1 , wherein each shim component comprises an addressing and discovery layer client, and each shim component communicates with the respective service executing in a first virtual machines using a process operated by the each shim component. 5. The method of claim 1 , wherein deploying the web application comprises modifying the web application so that the web application obtains, after the web application is launched, values of the one or more attributes of the provisioning data. 6. The method of claim 1 , wherein the one or more attributes include a service type, service characteristics, and a network address of the respective service. 7. The method of claim 1 , wherein deploying the web application comprises modifying the web application package to include drivers and libraries required to be installed in a runtime environment. 8. The method of claim 1 , wherein the web application package comprises a Java web application archive (WAR) file. 9. The method of claim 1 , further comprising generating, by the cloud controller, a start script to be executed by the one or more second virtual machines of the cloud computing environment. 10. The method of claim 1 , further comprising enabling listening routers to route web browser requests for the web application to the one or more second virtual machines. 11. The computer program product of claim 2 , wherein each shim component comprises an addressing and discovery layer client, and each shim component communicates with the respective service executing in a first virtual machines using a process operated by the each shim component. 12. The computer program product of claim 2 , wherein deploying the web application comprises modifying the web application so that the

Assignees

Inventors

Classifications

  • Grid computing · CPC title

  • Installation · CPC title

  • G06F8/60Primary

    Software deployment · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · 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 US9772831B2 cover?
A cloud computing environment provides the ability to deploy a web application that has been developed using one of a plurality of application frameworks and is configured to execute within one of a plurality of runtime environments. The cloud computing environment receives the web application in a package compatible with the runtime environment (e.g., a WAR file to be launched in an applicatio…
Who is the assignee on this patent?
Lucovsky Mark, Collison Derek, Spivak Vadim, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F8/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 26 2017 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).