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 a plurality of virtual machine instances, individual virtual machine instances of the plurality of virtual machine instances 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 task associated with the on-demand code execution environment, the task corresponding to a set of user-defined code executable by at least one of the plurality of virtual machine instances, wherein the task profile indicates a likelihood that an execution of the task on the on-demand code execution environment will cause transmission of information to an auxiliary service external to the on-demand code execution environment;
obtaining the request to execute the task on the on-demand code execution environment;
determining that the likelihood indicated by the task profile satisfies a threshold value;
selecting a virtual machine instance from the plurality of virtual machine instances on which to execute the set of user-defined code based at least in part on a quality of communication channel between the virtual machine instance and the auxiliary service; and
instructing the virtual machine instance to execute the first set of user-defined code, wherein execution of the first set of user-defined code on the virtual machine instance results in the transmission of information to the auxiliary service via the communication channel.
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 task will be followed by transmission of information to an auxiliary service. Thereafter, the on-demand code execution environment can select a virtual machine to execute the task based, for example, on the speed or reliability of a communication channel between the selected virtual machine and the auxiliary service. If execution of the task does cause transmission of information to the auxiliary service, the information can be transmitted via the communication channel, thereby increasing the speed or reliability of the transmission.
-
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 a plurality of virtual machine instances, individual virtual machine instances of the plurality of virtual machine instances 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 task associated with the on-demand code execution environment, the task corresponding to a set of user-defined code executable by at least one of the plurality of virtual machine instances, wherein the task profile indicates a likelihood that an execution of the task on the on-demand code execution environment will cause transmission of information to an auxiliary service external to the on-demand code execution environment; obtaining the request to execute the task on the on-demand code execution environment; determining that the likelihood indicated by the task profile satisfies a threshold value; selecting a virtual machine instance from the plurality of virtual machine instances on which to execute the set of user-defined code based at least in part on a quality of communication channel between the virtual machine instance and the auxiliary service; and instructing the virtual machine instance to execute the first set of user-defined code, wherein execution of the first set of user-defined code on the virtual machine instance results in the transmission of information to the auxiliary service via the communication channel. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A system for predictively managing code execution in an on-demand code execution environment, the on-demand code execution environment comprising a plurality of virtual machine instances, individual virtual machine instances of the plurality of virtual machine instances 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 task associated with the on-demand code execution environment, the task corresponding to a set of user-defined code executable by at least one of the plurality of virtual machine instances, wherein the task profile indicates a likelihood that an execution of the task on the on-demand code execution environment will cause transmission of information to an auxiliary service external to the on-demand code execution environment; 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 task on the on-demand code execution environment; determine that the likelihood indicated by the task profile satisfies a threshold value; select a virtual machine instance from the plurality of virtual machine instances on which to execute the set of user-defined code based at least in part on a communication channel between the virtual machine instance and the auxiliary service; execute the set of user-defined code on the virtual machine instance; and during execution of the first set of user-defined code, transmit information to the auxiliary service via the communication channel. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. 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 task on the on-demand code execution environment; determine that execution of the task on the on-demand code execution environment is likely to result in transmission of information to an auxiliary service external to the on-demand code execution environment, wherein the task corresponds to a 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 task that indicates a likelihood that the request to execute the task will result in transmission of information to the auxiliary service; select a virtual machine instance, from a plurality of virtual machine instances associated with the on-demand code execution environment, on which to execute the set of user-defined code based at least in part on a communication channel between the virtual machine instance and the auxiliary service; and during execution of the set of user-defined code, transmit the information to the auxiliary service via the communication channel. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification