ON-DEMAND NETWORK CODE EXECUTION WITH CROSS-ACCOUNT ALIASES
First Claim
1. A system to enable use of tasks on an on-demand code execution environment as application programming interfaces, the system comprising:
- a non-transitory data store configured to store tasks, wherein individual tasks are owned by accounts of the on-demand code execution environment and are associated with code executable to implement functionality corresponding to the individual tasks,one or more processors configured with computer-executable instructions to;
receive a request from a user computing device associated with a first account to designate a set of tasks owned by the first account on the on-demand code execution environment as an application programming interface (“
API”
) for a network-accessible service;
receive a request from a second user computing device associated with a second account to access the API;
enable the second user computing device to call the set of tasks owned by the first account on the on-demand code execution environment;
receive an API call from the second user computing device corresponding to at least one task of the set of tasks;
select a virtual machine instance within the on-demand code execution environment on which to execute code corresponding to the at least one task, wherein the virtual machine instance is dedicated to at least one of execution of tasks of the first account or execution of tasks of the second account;
execute within the virtual machine instance the code corresponding to the at least one task on behalf of the second account;
monitor computing resources associated with the execution of the code; and
attribute computing resources associated with the execution of the code to the second account.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described for utilizing cross-account access to tasks on an on-demand code execution environment or other distributed code execution environment to implement an application programming interface (API) on a network-accessible service. An on-demand code execution environment can utilize pre-initialized virtual machine instances to enable execution of user-specified code in a rapid manner, without delays typically caused by initialization of the virtual machine instances. While users may generally execute their own code, the present application enables code of a first user to be executed by a second user, while maintaining the privacy and security of the code and associated accounts. Further, the present application enables a set of tasks to be grouped together as an API, enabling any user to create an API for a service, while the on-demand code execution environment manages execution of the tasks and allocation of underlying computing resources.
-
Citations
21 Claims
-
1. A system to enable use of tasks on an on-demand code execution environment as application programming interfaces, the system comprising:
-
a non-transitory data store configured to store tasks, wherein individual tasks are owned by accounts of the on-demand code execution environment and are associated with code executable to implement functionality corresponding to the individual tasks, one or more processors configured with computer-executable instructions to; receive a request from a user computing device associated with a first account to designate a set of tasks owned by the first account on the on-demand code execution environment as an application programming interface (“
API”
) for a network-accessible service;receive a request from a second user computing device associated with a second account to access the API; enable the second user computing device to call the set of tasks owned by the first account on the on-demand code execution environment; receive an API call from the second user computing device corresponding to at least one task of the set of tasks; select a virtual machine instance within the on-demand code execution environment on which to execute code corresponding to the at least one task, wherein the virtual machine instance is dedicated to at least one of execution of tasks of the first account or execution of tasks of the second account; execute within the virtual machine instance the code corresponding to the at least one task on behalf of the second account; monitor computing resources associated with the execution of the code; and attribute computing resources associated with the execution of the code to the second account. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method to enable to enable use of tasks on an on-demand code execution environment as application programming interfaces, the computer-implemented method comprising:
-
receiving, from a first computing device associated with a first account on the on-demand code execution environment, executable code corresponding to a set of tasks, wherein execution of the executable code corresponding to an individual task implements functionality associated with a network-accessible service; receiving, from the first computing device, a request to designate the set of tasks as an application programming interface (“
API”
) for the network-accessible service;receiving from a second computing device associated with a second account an API call corresponding to a task of the set of tasks; selecting a virtual machine instance within the on-demand code execution environment on which to execute code corresponding to the task, wherein the virtual machine instance is associated with at least one of execution of tasks of the first account or execution of tasks of the second account; executing within the virtual machine instance the executable code corresponding to the task on behalf of the second account; monitoring computing resources associated with the execution of the code; and attributing computing resources associated with the execution of the code to the second account. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. Non-transitory computer-readable storage media including computer-executable instructions that, when executed by a computing system, cause the computing system to:
-
receiving, from a computing device associated with a first account on the on-demand code execution environment, a call to an application programming interface (“
API”
) for a network-accessible service, wherein the API is implemented via a set of tasks on the on-demand code execution environment owned by a second account, and wherein individual tasks of the set of tasks correspond to executable code that, when executed on the on-demand code execution environment, implement functionality corresponding to the individual tasks;identify a task on the on-demand code execution environment corresponding to the call; select a virtual machine instance within the on-demand code execution environment on which to execute code corresponding to the task, wherein the virtual machine instance is associated with at least one of execution of tasks of the first account or execution of tasks of the second account; execute within the virtual machine instance the executable code corresponding to the task on behalf of the first account; monitor computing resources associated with the execution of the code; and attribute computing resources associated with the execution of the code to the first account. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification