Dynamic code deployment and versioning
First Claim
Patent Images
1. A system for providing low-latency computational capacity from a virtual compute fleet, the system comprising:
- an electronic data store configured to store at least a program code of a user; and
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions, said virtual compute system in communication with the data store, and configured to at least;
maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprise;
a warming pool comprising virtual machine instances having one or more software components loaded thereon and waiting to be assigned to a user; and
an active pool comprising virtual machine instances assigned to one or more users;
receive a first code execution request to execute a program code on the virtual compute system, the first code execution request including version information identifying a first version of the program code;
determine, based on the version information, that the program code was updated, prior to the receipt of the first code execution request by the virtual compute system, from a second version to the first version;
determine whether the second version of the program code is loaded onto an existing container created on a particular instance of the virtual machine instances in the active pool;
initiate a download of the first version of the program code onto at least one of the data store, a code cache of the particular instance, or the existing container; and
in response to determining that the second version of the program code is loaded onto an existing container created on the particular instance, determine that the download of the first version of the program code is expected to take longer than a threshold amount of time; and
based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, cause the first code execution request to be processed with the second version of the program code that is in the existing container.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for providing dynamic code deployment and versioning is provided. The system may be configured to receive a first request to execute a newer program code on a virtual compute system, determine, based on the first request, that the newer program code is a newer version of an older program code loaded onto an existing container on a virtual machine instance on the virtual compute system, initiate a download of the newer program code onto a second container on the same virtual machine instance, and causing the first request to be processed with the older program code in the existing container.
263 Citations
20 Claims
-
1. A system for providing low-latency computational capacity from a virtual compute fleet, the system comprising:
-
an electronic data store configured to store at least a program code of a user; and a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions, said virtual compute system in communication with the data store, and configured to at least; maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprise; a warming pool comprising virtual machine instances having one or more software components loaded thereon and waiting to be assigned to a user; and an active pool comprising virtual machine instances assigned to one or more users; receive a first code execution request to execute a program code on the virtual compute system, the first code execution request including version information identifying a first version of the program code; determine, based on the version information, that the program code was updated, prior to the receipt of the first code execution request by the virtual compute system, from a second version to the first version; determine whether the second version of the program code is loaded onto an existing container created on a particular instance of the virtual machine instances in the active pool; initiate a download of the first version of the program code onto at least one of the data store, a code cache of the particular instance, or the existing container; and in response to determining that the second version of the program code is loaded onto an existing container created on the particular instance, determine that the download of the first version of the program code is expected to take longer than a threshold amount of time; and based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, cause the first code execution request to be processed with the second version of the program code that is in the existing container. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; receive a first request to execute a program code on the virtual compute system, the first request including version information identifying a first version of the program code; determine, based on the version information, that the first version is different from a second version of the program code loaded onto a first container created on a first virtual machine instance on the virtual compute system; initiate a download of the first version of the program code onto at least one of a second container created on the first virtual machine instance, an internal data store of the virtual compute system, and a code cache of the first virtual machine instance; determine that the download of the first version of the program code is expected to take longer than a threshold amount of time; and based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, cause the first request to be processed with the second version of the program code loaded onto the first container. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
11. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, receiving a first request to execute a program code on a virtual compute system, the first request including version information identifying a first version of the program code; determining, based on the version information, that the first version is different from a second version of the program code loaded onto a first container created on a first virtual machine instance on the virtual compute system; initiating a download of the first version of the program code onto at least one of a second container created on the first virtual machine instance, an internal data store of the virtual compute system, or a code cache of the first virtual machine instance; determining that the download of the first version of the program code is expected to take longer than a threshold amount of time; and based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, causing the first request to be processed with the second version of the program code loaded onto the first container. - View Dependent Claims (12, 13, 14, 15)
-
16. Non-transitory physical computer storage storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to:
-
receive a first request to execute a program code on a virtual compute system, the first request including version information identifying a first version of the program code; determine, based on the version information, that the first version is different from a second version of the program code loaded onto a first container created on a first virtual machine instance on the virtual compute system; initiate a download of the first version of the program code onto at least one of a second container created on the first virtual machine instance, an internal data store of the virtual compute system, or a code cache of the first virtual machine instance; determine that the download of the first version of the program code is expected to take longer than a threshold amount of time; and based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, cause the first request to be processed with the second version of the program code loaded onto the first container. - View Dependent Claims (17, 18, 19, 20)
-
Specification