Architecture for incremental deployment
First Claim
1. A system, comprising:
- a plurality of virtual instances;
a deployment repository; and
a deployment service including a memory and a processor configured to;
receive a request to upload, to a storage location at the deployment repository, an application update associated with an application executable by the plurality of virtual instances, the application comprising a first set of software artifacts;
receive information identifying a set of virtual instances of the plurality of virtual instances to which the application update is applicable;
access, at a shared communication queue that is distinct from the storage location, a polling communication from a virtual instance of the set of virtual instances, the polling communication corresponding to the application update and being periodically sent by the virtual instance;
provide location information to the virtual instance based at least in part on the polling communication, the location information identifying the storage location; and
enable the virtual instance to compare a second set of software artifacts with the first set of software artifacts to identify a subset of the first set of software artifacts applicable to the application update for accessing from the storage location, wherein the second set of software artifacts comprises pre-existing software artifacts previously installed on the virtual instance.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
52 Citations
18 Claims
-
1. A system, comprising:
-
a plurality of virtual instances; a deployment repository; and a deployment service including a memory and a processor configured to; receive a request to upload, to a storage location at the deployment repository, an application update associated with an application executable by the plurality of virtual instances, the application comprising a first set of software artifacts; receive information identifying a set of virtual instances of the plurality of virtual instances to which the application update is applicable; access, at a shared communication queue that is distinct from the storage location, a polling communication from a virtual instance of the set of virtual instances, the polling communication corresponding to the application update and being periodically sent by the virtual instance; provide location information to the virtual instance based at least in part on the polling communication, the location information identifying the storage location; and enable the virtual instance to compare a second set of software artifacts with the first set of software artifacts to identify a subset of the first set of software artifacts applicable to the application update for accessing from the storage location, wherein the second set of software artifacts comprises pre-existing software artifacts previously installed on the virtual instance. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method, comprising:
-
receiving a request to upload, to a storage location, a first set of software artifacts associated with an application executable by a plurality of target machines; receiving information identifying a set of target machines of the plurality of target machines to which the first set of software artifacts is applicable; accessing, at a shared communication queue that is distinct from the storage location, a polling communication from a target machine of the set of target machines, the polling communication corresponding to the first set of software artifacts and being periodically sent by the target machine; providing location information to the target machine based at least in part on the polling communication, the location information identifying the storage location; and enabling the target machine to compare a second set of software artifacts with the first set of software artifacts to identify a subset of the first set of software artifacts for accessing from the storage location, wherein the second set of software artifacts comprises pre-existing software artifacts previously installed on the target machine. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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 comprising:
-
receiving a request to upload, to a storage location, a first set of software artifacts associated with an application executable by a plurality of target machines; receiving information identifying a set of target machines of the plurality of target machines to which the first set of software artifacts is applicable; accessing, at a shared communication queue that is distinct from the storage location, a polling communication from a target machine of the set of target machines, the polling communication corresponding to the first set of software artifacts and being periodically sent by the target machine; providing location information to the target machine based at least in part on the polling communication, the location information identifying the storage location; and enabling the target machine to compare a second set of software artifacts with the first set of software artifacts to identify a subset of the first set of software artifacts for accessing from the storage location, wherein the second set of software artifacts comprises pre-existing software artifacts previously installed on the target machine. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification