Architecture for incremental deployment

US9560120B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9560120-B1
Application numberUS-201514708019-A
CountryUS
Kind codeB1
Filing dateMay 8, 2015
Priority dateNov 2, 2011
Publication dateJan 31, 2017
Grant dateJan 31, 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 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.

First claim

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

Assignees

Inventors

Classifications

  • H04L67/10Primary

    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

  • G06F8/658Primary

    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

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 US9560120B1 cover?
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…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 31 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).