Low latency computational capacity provisioning
First Claim
Patent Images
1. A computer-implemented method comprising:
- as implemented by one or more computing devices configured with specific executable instructions,maintaining an active pool of virtual machine instances assigned to one or more users, wherein each virtual machine instance in the active pool has one or more software components loaded thereon;
receiving a request to acquire compute capacity for executing a program code of a user on the virtual compute system, the request including metadata indicating the program code, the user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system;
determining whether the active pool contains a container that has the program code loaded thereon;
in response to determining that the active pool does not contain a container that has the program code loaded thereon, determining whether the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code;
in response to determining that the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code, creating a container having at least the first amount of computing resources on the virtual machine instance and assigning the container to handle the request to execute the program code on the virtual compute system; and
causing the program code of the user to be executed in the container created on the virtual machine instance.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for providing low latency computational capacity is provided. The system may be configured to maintain a pool of virtual machine instances, which may be assigned to users to service the requests associated with the users. The system may further be configured to receive a request to acquire compute capacity for executing a program code associated with a particular user, determine whether the pool of virtual machine instances includes a container that may be used to execute the program code therein, and cause the program code of the particular user to be executed in the container.
195 Citations
20 Claims
-
1. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, maintaining an active pool of virtual machine instances assigned to one or more users, wherein each virtual machine instance in the active pool has one or more software components loaded thereon; receiving a request to acquire compute capacity for executing a program code of a user on the virtual compute system, the request including metadata indicating the program code, the user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system; determining whether the active pool contains a container that has the program code loaded thereon; in response to determining that the active pool does not contain a container that has the program code loaded thereon, determining whether the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code; in response to determining that the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code, creating a container having at least the first amount of computing resources on the virtual machine instance and assigning the container to handle the request to execute the program code on the virtual compute system; and causing the program code of the user to be executed in the container created on the virtual machine instance. - View Dependent Claims (2, 3, 4)
-
5. A system for providing low-latency computational capacity, the system comprising:
-
an electronic data store configured to store one or more program codes associated with one or more users; 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, the plurality of virtual machine instances comprising (i) a warming pool comprising unassigned virtual machine instances having one or more software components loaded thereon waiting to be assigned to a user, and (ii) an active pool comprising virtual machine instances assigned to one or more users; receive a request to execute a program code associated with a particular user of the virtual compute system, the request including metadata indicating information regarding the program code, the particular user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system; determine whether the active pool contains a container that has the program code loaded thereon; in response to determining that the active pool does not contain a container that has the program code loaded thereon, determine whether the active pool contains a virtual machine instance that has the program code stored thereon; in response to determining that the active pool does not contain a virtual machine instance that has the program code stored thereon, determine whether the active pool contains a virtual machine instance that is assigned to the particular user and has at least the first amount of computing resources available to handle the request; in response to determining that the active pool does not contain a virtual machine instance that is assigned to the particular user and has at least the first amount of computing resources available to handle the request, select a virtual machine instance from the warming pool; create a container having at least the first amount of computing resources on the selected virtual machine instance and assign the container to handle the request to execute the program code on the virtual compute system; and cause the program code associated with the particular user to be loaded and executed in the container. - View Dependent Claims (6)
-
-
7. A system, comprising:
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; maintain an active pool of virtual machine instances assigned to one or more users, wherein each virtual machine instance in the active pool has one or more software components loaded thereon; receive a request to acquire compute capacity for executing a program code of a user on the virtual compute system, the request including metadata indicating the program code, the user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system; determine whether the active pool contains a container that has the program code loaded thereon; in response to determining that the active pool does not contain a container that has the program code loaded thereon, determine whether the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code; in response to determining that the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code, create a container having at least the first amount of computing resources on the virtual machine instance and assign the container to handle the request to execute the program code on the virtual compute system; and cause the program code of the user to be executed in the container created on the virtual machine instance. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A computer-readable, non-transitory storage medium storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:
-
maintaining an active pool of virtual machine instances assigned to one or more users, wherein each virtual machine instance in the active pool has one or more software components loaded thereon; receiving a request to acquire compute capacity for executing a program code of a user on the virtual compute system, the request including metadata indicating the program code, the user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system; determining whether the active pool contains a container that has the program code loaded thereon; in response to determining that the active pool does not contain a container that has the program code loaded thereon, determining whether the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code; in response to determining that the active pool contains a virtual machine instance that is assigned to the user and has at least the first amount of computing resources available for executing the program code, creating a container having at least the first amount of computing resources on the virtual machine instance and assigning the container to handle the request to execute the program code on the virtual compute system; and causing the program code of the user to be executed in the container on the virtual machine instance. - View Dependent Claims (14, 15, 16)
-
-
17. A system, comprising:
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; maintain an active pool of virtual machine instances currently assigned to one or more users, wherein each virtual machine instance in the active pool has one or more software components loaded thereon; receive a request to acquire compute capacity for executing a program code of a user on the virtual compute system, the request including metadata indicating the program code, the user associated with the program code, and a first amount of computing resources to be allocated for executing the program code on the virtual compute system; acquire a container having at least the first amount of computing resources, based on an execution priority, for executing the program code of the user, the container created on one of the virtual machine instances in the active pool; and cause the program code of the user to be executed in the container created on the virtual machine instance. - View Dependent Claims (18, 19, 20)
Specification