Stateful virtual compute system
First Claim
Patent Images
1. A system adapted to provide 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 adapted to execute specific computer-executable instructions, said virtual compute system in communication with the electronic 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 request to execute a program code of a user on the virtual compute system, the first request including information usable for identifying the program code and the user;
select a virtual machine instance to be used to execute the program code from the warming pool;
determine a shared computing resource associated with the user or the program code;
cause the selected virtual machine instance to be associated with the shared computing resource such that the selected virtual machine instance has access to the shared computing resource;
create a first container to be used for executing the program code in the selected virtual machine instance;
cause the program code to be executed in the first container, the execution of the program code in the first container configured to modify data in the shared computing resource associated with the selected virtual machine instance;
receive a second request to execute the program code of the user on the virtual compute system, the second request including information usable for identifying the program code and the user;
create a second container to be used for executing the program code in another virtual machine instance other than the selected virtual machine instance; and
subsequent to the execution of the first program code in the first container, cause the program code to be executed in the second container, the execution of the program code in the second container configured to access the data modified by the prior execution of the program code in the first container.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for providing a stateful virtual compute system is provided. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and select a virtual machine instance to execute the program code on the selected virtual machine instance. The system may further associate the selected virtual machine instance with shared resources and allow program codes executed in the selected virtual machine instance to access the shared resources.
220 Citations
20 Claims
-
1. A system adapted to provide 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 adapted to execute specific computer-executable instructions, said virtual compute system in communication with the electronic 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 request to execute a program code of a user on the virtual compute system, the first request including information usable for identifying the program code and the user; select a virtual machine instance to be used to execute the program code from the warming pool; determine a shared computing resource associated with the user or the program code; cause the selected virtual machine instance to be associated with the shared computing resource such that the selected virtual machine instance has access to the shared computing resource; create a first container to be used for executing the program code in the selected virtual machine instance; cause the program code to be executed in the first container, the execution of the program code in the first container configured to modify data in the shared computing resource associated with the selected virtual machine instance; receive a second request to execute the program code of the user on the virtual compute system, the second request including information usable for identifying the program code and the user; create a second container to be used for executing the program code in another virtual machine instance other than the selected virtual machine instance; and subsequent to the execution of the first program code in the first container, cause the program code to be executed in the second container, the execution of the program code in the second container configured to access the data modified by the prior execution of the program code in the first container. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
a virtual compute system comprising one or more hardware computing devices adapted to execute specific computer-executable instructions and configured to at least; maintain a plurality of virtual machine instances on one or more physical computing devices; receive a first request to execute a first program code of a user on the virtual compute system, the first request including information usable for identifying the user; cause the first program code to be executed in a first container created on a first virtual machine instance of the plurality of virtual machine instances, the execution of the first program code in the first container configured to modify data accessible by multiple executions of the first program code; receive a second request to execute the first program code on the virtual compute system, the second request including information usable for identifying the user; and subsequent to the execution of the first program code in the first container, cause the first program code to be executed in a second container created on a second virtual machine instance of the plurality of virtual machine instances that is different from the first virtual machine instance, the execution of the first program code in the second container configured to access the data modified by the prior execution of the first program code in 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, maintaining a plurality of virtual machine instances on one or more physical computing devices; receiving a first request to execute a first program code of a user on the virtual compute system, the first request including information usable for identifying the user; causing the first program code to be executed in a first container created on a first virtual machine instance of the plurality of virtual machine instances, the execution of the program code in the first container configured to modify data accessible by multiple executions of the first program code; receiving a second request to execute the first program code on the virtual compute system, the second request including information usable for identifying the user; and subsequent to the execution of the first program code in the first container, causing the first program code to be executed in a second container created on a second virtual machine instance of the plurality of virtual machine instances that is different from the first virtual machine instance, the execution of the first program code in the second container configured to access the data modified by the prior execution of the first program code in 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:
-
maintain a plurality of virtual machine instances on one or more physical computing devices; receive a first request to execute a first program code of a user on the virtual compute system, the first request including information usable for identifying the user; cause the first program code to be executed in a first container created on a first virtual machine instance of the plurality of virtual machine instances, the execution of the program code in the first container configured to modify data accessible by multiple executions of the first program code; receive a second request to execute the first program code on the virtual compute system, the second request including information usable for identifying the user; and subsequent to the execution of the first program code in the first container, cause the first program code to be executed in a second container created on a second virtual machine instance of the plurality of virtual machine instances that is different from the first virtual machine instance, the execution of the first program code in the second container configured to access the data modified by the prior execution of the first program code in the first container. - View Dependent Claims (17, 18, 19, 20)
-
Specification