Architecture for incremental deployment
US-9032393-B1 · May 12, 2015 · US
US9560120B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9560120-B1 |
| Application number | US-201514708019-A |
| Country | US |
| Kind code | B1 |
| Filing date | May 8, 2015 |
| Priority date | Nov 2, 2011 |
| Publication date | Jan 31, 2017 |
| Grant date | Jan 31, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A deploy service is provided to determine a set of software artifacts that needs to be transmitted to a target machine upon receiving an application deployment request from a user of a client device. For instance, the deploy service may compare versions of software artifacts on the target machine with the software artifacts of the application that the user desires to deploy to determine the set of software artifacts that needs to be transmitted. Instead of having to transmit the entire application, some embodiments transmit only a small portion that is reflective of what has been changed between the old version of the application and the new version of the application. This enables the transfer of large files across the Internet to be more efficient.
Opening claim text (preview).
What is claimed is: 1. A system for automatic deployment of code, the system comprising: a plurality of virtual instances; a deployment proxy server; and a deployment service including a memory and a processor configured to: receive a set of software artifacts associated with an application executable by at least one virtual instance of the plurality of virtual instances; determine a virtual instance deployment group that includes one or more virtual instances of the plurality of virtual instances, the set of software artifacts being applicable to the one or more virtual instances, the determination of the virtual instance deployment group based at least in part on an upload request; send a notification to the one or more virtual instances belonging to the virtual instance deployment group, the notification informing the one or more virtual instances that the set of software artifacts is available for deployment; store the set of software artifacts in a deployment repository; and provide at least a subset of the set of software artifacts to the one or more virtual instances belonging to the virtual instance deployment group by at least: providing the one or more virtual instances with a location of the set of software artifacts within the deployment repository; and allowing the one or more virtual instances to retrieve the subset of the set of software artifacts from the deployment repository. 2. The system of claim 1 , wherein the deployment service is further configured to receive a deployment configuration indicating a distribution of the set of software artifacts among the one or more virtual instances of the virtual instance deployment group. 3. The system of claim 2 , wherein the deployment configuration indicates that the set of software artifacts be deployed iteratively among the one or more virtual instances of the virtual instance deployment group. 4. The system of claim 1 , wherein the deployment service is further configured to: receive a second set of software artifacts associated with the application executable by the at least one virtual instance of the plurality of virtual instances, the second set of software artifacts received in response to the upload request received by the deployment proxy server; and determine a second virtual instance deployment group that includes other one or more virtual instances of the plurality of virtual instances that can receive the second set of software artifacts. 5. The system of claim 1 , wherein the deployment service comprises an agnostic deployment service configured to manage deployment of software artifacts irrespective of programming languages associated with applications to which the software artifacts are applicable and irrespective of particular architectures in which the plurality of virtual instances operate. 6. The system of claim 1 , wherein providing at least the subset of the set of software artifacts to the one or more virtual instances belonging to the virtual instance deployment group comprises allowing the one or more virtual instances to compare pre-existing software artifacts with the set of software artifacts to identify the subset of the set of software artifacts. 7. A computer-implemented method for automatic deployment of code, the method comprising: receiving an application bundle associated with an application executable by at least one virtual machine of a plurality of virtual machines; determining a virtual machine deployment group that includes one or more virtual machines of the plurality of virtual machines, the application bundle being applicable to the one or more virtual machines, the virtual machine deployment group determined based at least in part on an upload request; sending a notification to the one or more virtual machines belonging to the virtual machine deployment group, the notification informing the one or more virtual machines that the application bundle is ready for deployment; storing the application bundle in a deployment repository; and providing at least a portion of the application bundle to the one or more virtual machines belonging to the virtual machine deployment group by at least: providing the one or more virtual machines with a location of the application bundle within the deployment repository; and allowing the one or more virtual machines to retrieve at least the portion of the application bundle from the deployment repository. 8. The computer-implemented method of claim 7 , further comprising receiving a deployment configuration indicating a distribution of the application bundle among the one or more virtual machines of the virtual machine deployment group. 9. The computer-implemented method of claim 8 , wherein the deployment configuration indicates that a certain amount of the one or more virtual machines of the virtual machine deployment group remains online while the application bundle is deployed among the one or more virtual machines of the virtual machine deployment group. 10. The computer-implemented method of claim 7 , further comprising: receiving a second application bundle associated with the application executable by the at least one virtual machine of the plurality of virtual machines, the second application bundle received in response to the upload request received by the deployment proxy server; and determining a second virtual machine deployment group that includes other one or more virtual machines of the plurality of virtual machines that can receive the second application bundle. 11. The computer-implemented method of claim 7 , wherein the method is performed under the management of an agnostic deployment service configured to manage deployment of application bundles irrespective of programming languages associated with applications to which the application bundles are applicable and irrespective of particular architectures in which the plurality of virtual machines operate. 12. The computer-implemented method of claim 7 , wherein providing at least the portion of the application bundle to the one or more virtual machines belonging to the virtual machine deployment group comprises allowing the one or more virtual machines to compare pre-existing software artifacts with other software artifacts included in the application bundle to identify the portion of the application bundle. 13. One or more non-transitory computer-readable storage devices for storing computer-executable instructions that, when executed by one or more computer systems, configure the one or more computer systems to perform operations for automatic deployment of code, the operations comprising: sending a request to a proxy repository for a set of software artifacts associated with an application executable by at least one target machine of a plurality of target machines; in response to the request, receiving the set of software artifacts; determining, based at least in part on an upload request, a target machine deployment group that includes one or more target machines of the plurality of target machines, the set of software artifacts applicable to the one or more target machines; storing the set of software artifacts in a deployment repository; notifying the one or more target machines belonging to the target machine deployment group that the set of software artifacts is available for deployment in response to the set of software artifacts being stored in the deployment repository; and providing at least a subset of the set of software artifacts to the one or more target machines within the target machine deployment group, by at least: providing the one or more target machines with a location of the set of software artifacts wi
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Software deployment · CPC title
Incremental updates; Differential updates · CPC title
Adding application-functional data or data for application control, e.g. adding metadata · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.