Predictive management of on-demand code execution
First Claim
1. A computer-implemented method for predictively managing code execution in an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating system and awaiting requests to execute user-specified code within that operating system, the method comprising:
- as implemented by one or more computing devices configured with specific computer-executable instructions,obtaining a task profile for a first task associated with the on-demand code execution environment, the first task corresponding to a first set of user-defined code executable by the virtual machine instance, wherein the task profile indicates a likelihood that a request to execute the first task on the on-demand code execution environment will be followed by a request to execute a second task corresponding to a second set of user-defined code executable by the virtual machine instance;
obtaining the request to execute the first task on the on-demand code execution environment;
instructing the virtual machine instance to execute the first set of user-defined code;
determining that the likelihood indicated by the task profile satisfies a threshold value;
prior to receiving the request to execute the second task, loading the virtual machine instance with the second set of user-defined code;
receiving the request to execute the second task; and
instructing the virtual machine instance to execute the second set of user-defined code previously loaded on the virtual machine instance.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described for predictively managing calls to tasks on an on-demand code execution environment. Specifically, a task profile can be utilized to predict that a call to a first task will be followed by a call to a second task. Thereafter, a virtual machine can be loaded with executable code corresponding the second task, even before the call to the second task is received. If the call to the second task is received, the task can then be executed by utilizing the previously loaded executable code, thus increasing the speed at which the second task can be executed on the on-demand code execution environment.
282 Citations
20 Claims
-
1. A computer-implemented method for predictively managing code execution in an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating system and awaiting requests to execute user-specified code within that operating system, the method comprising:
as implemented by one or more computing devices configured with specific computer-executable instructions, obtaining a task profile for a first task associated with the on-demand code execution environment, the first task corresponding to a first set of user-defined code executable by the virtual machine instance, wherein the task profile indicates a likelihood that a request to execute the first task on the on-demand code execution environment will be followed by a request to execute a second task corresponding to a second set of user-defined code executable by the virtual machine instance; obtaining the request to execute the first task on the on-demand code execution environment; instructing the virtual machine instance to execute the first set of user-defined code; determining that the likelihood indicated by the task profile satisfies a threshold value; prior to receiving the request to execute the second task, loading the virtual machine instance with the second set of user-defined code; receiving the request to execute the second task; and instructing the virtual machine instance to execute the second set of user-defined code previously loaded on the virtual machine instance. - View Dependent Claims (2, 3, 4, 5)
-
6. A system for predictively managing code execution in an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating system and awaiting requests to execute user-specified code within that operating system, the system comprising:
-
a non-transitory data store including a task profile for a first task associated with the on-demand code execution environment, the first task corresponding to a first set of user-defined code executable by the virtual machine instance, wherein the task profile indicates a likelihood that a request to execute the first task on the on-demand code execution environment will be followed by a request to execute a second task corresponding to a second set of user-defined code executable by the virtual machine instance; and a computing device comprising a processor in communication with the non-transitory data store and configured with specific computer-executable instructions to; obtain the request to execute the first task on the on-demand code execution environment; determine that the likelihood indicated by the task profile satisfies a threshold value; prior to receiving the request to execute the second task, load a virtual machine instance with the second set of user-defined code; obtain the request to execute the second task; and execute, on the virtual machine instance, the second set of user-defined code previously loaded on the virtual machine instance. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. Non-transitory, computer-readable storage media comprising computer-executable instructions for predictively managing code execution in an on-demand code execution environment, wherein the computer-executable instructions, when executed by a computer system, cause the computer system to:
-
obtain a request to execute a first task on the on-demand code execution environment; determine that execution of the first task on the on-demand code execution environment is likely to result in a request to execute a second task on the on-demand code execution environment, wherein the first task corresponds to a first set of user-defined code executable by the on-demand code execution environment, wherein the second task corresponds to a second set of user-defined code executable by the on-demand code execution environment, and wherein said determination is based at least in part on a task profile for the first task that indicates a likelihood that the request to execute the first task will be followed by the request to execute the second task; and prior to receiving the request to execute the second task, load a virtual machine instance with the second set of user-defined code; obtain the request to execute the second task; and execute, on the virtual machine instance, the second set of user-defined code previously loaded on the virtual machine instance. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification