Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
First Claim
1. A computer-implemented method of selecting an execution location in an on-demand code execution environment, the on-demand code execution environment comprising a plurality of points of presence (POPs) on which user-defined code may be executed, the method comprising:
- as implemented by one or more computing devices configured with specific computer-executable instructions,generating an execution profile for a task associated with the on-demand code execution environment and generated by a user of the on-demand code execution environment, the task represented by at least a first set of user-defined executable code, wherein the execution profile indicates amounts of individual computing resources, from a set of computing resources, that an execution of the first set of user-defined executable code representing the task on the on-demand code execution environment is expected to utilize;
obtaining, from a client computing device distinct from a first POP of the plurality of POPs, a request for the first POP to execute the first set of user-defined executable code representing the task on behalf of the client computing device;
prior to satisfying the request by executing the first set of user-defined executable code representing the task at the first POP on behalf of the client computing device, comparing the execution profile of the task to a set of resource restrictions associated with the first POP, indicating at least a maximum time in which execution of the first set of user-defined executable code representing the task is expected to complete, to determine that the amounts of individual computing resources, from the set of computing resources, expected to be utilized during execution of the first set of user-defined executable code representing the task at the first POP comply with the resource restrictions of the first POP; and
causing the first POP to execute the first set of user-defined executable code representing the task on behalf of the client computing device in response to determining that the amounts of individual computing resources expected to be utilized complies with the resource restrictions of the first POP.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described for determining a location in an on-demand code execution environment to execute user-specified code. The on-demand code execution environment may include many points of presence (POPs), some of which have limited computing resources. An execution profile for a set of user-specified code can be determined that indicates the resources likely to be used during execution of the code. Each POP of the environment may compare that execution profile to resource restrictions of the POP, to determine whether execution of the code should be permitted. In some instances, where execution of the code should not be permitted at a given POP, an alternative POP may be selected to execute the code.
446 Citations
20 Claims
-
1. A computer-implemented method of selecting an execution location in an on-demand code execution environment, the on-demand code execution environment comprising a plurality of points of presence (POPs) on which user-defined code may be executed, the method comprising:
-
as implemented by one or more computing devices configured with specific computer-executable instructions, generating an execution profile for a task associated with the on-demand code execution environment and generated by a user of the on-demand code execution environment, the task represented by at least a first set of user-defined executable code, wherein the execution profile indicates amounts of individual computing resources, from a set of computing resources, that an execution of the first set of user-defined executable code representing the task on the on-demand code execution environment is expected to utilize; obtaining, from a client computing device distinct from a first POP of the plurality of POPs, a request for the first POP to execute the first set of user-defined executable code representing the task on behalf of the client computing device; prior to satisfying the request by executing the first set of user-defined executable code representing the task at the first POP on behalf of the client computing device, comparing the execution profile of the task to a set of resource restrictions associated with the first POP, indicating at least a maximum time in which execution of the first set of user-defined executable code representing the task is expected to complete, to determine that the amounts of individual computing resources, from the set of computing resources, expected to be utilized during execution of the first set of user-defined executable code representing the task at the first POP comply with the resource restrictions of the first POP; and causing the first POP to execute the first set of user-defined executable code representing the task on behalf of the client computing device in response to determining that the amounts of individual computing resources expected to be utilized complies with the resource restrictions of the first POP. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for selecting an execution location in an on-demand code execution environment, the on-demand code execution environment comprising a plurality of points of presence (POPs) on which user-defined code may be executed, the system comprising:
-
a non-transitory data store including an execution profile for a task associated with the on-demand code execution environment and generated by a user of the on-demand code execution environment, the task represented by at least a set of user-defined executable code, wherein the execution profile indicates individual computing resources, from a set of computing resources, that an execution of the set of user-defined executable code representing the task on the on-demand code execution environment is expected to utilize; and a computing device implementing functionalities of a first POP from the plurality of POPs, the computing device comprising a processor in communication with the non-transitory data store and configured with specific computer-executable instructions to; obtain, from a client computing device distinct from the first POP, a request for the first POP to execute the set of user-defined executable code representing the taski prior to satisfying the request by executing the set of user-defined executable code representing the task at the first POP, compare the execution profile of the task to a set of resource restrictions associated with the first POP, indicating at least a maximum time in which execution of the set of user-defined executable code representing the task is expected to complete, to determine that the individual computing resources, from the set of computing resources, expected to be utilized during execution of the set of user-defined executable code representing the task at the first POP comply with the set of resource restrictions of the first POP; and cause the first POP to execute the set of user-defined executable code representing the task in response to determining that the amounts of individual computing resources expected to be utilized complies with the resource restrictions of the first POP. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. Non-transitory, computer-readable storage media comprising computer executable instructions for selecting an execution location in an on-demand code execution environment, the on-demand code execution environment comprising a plurality of points of presence (POPs) on which user-defined code may be executed, wherein the computer-executable instructions, when executed by a computer system, cause the computer system to:
-
obtain, from a client computing device distinct from a first POP of the plurality of POPs, a request for the first POP to execute a set of user-defined executable code representing a task at the first POP; prior to satisfying the request by executing the set of user-defined executable code representing the task at the first POP, determine that an execution profile for the task complies with a set of resource restrictions on the first POP indicating at least a maximum time in which execution of the set of user-defined executable code representing the task is expected to complete, wherein the execution profile indicates individual computing resources, from a set of computing resources, that an execution of the set of user-defined executable code representing the task on the on-demand code execution environment is expected to utilize, and wherein compliance with the set of resource restrictions indicates that the amounts of individual computing resources, from the set of computing resources, expected to be utilized during execution of the set of user-defined executable code representing the task at the first POP fall within threshold limits established within the resource restrictions on the first POP; and cause the first POP to execute the set of user-defined executable code representing the task in response to determining that the amounts of individual computing resources expected to be utilized complies with the resource restrictions of the first POP. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification