Dependency handling in an on-demand network code execution system

    公开(公告)号:US10564946B1

    公开(公告)日:2020-02-18

    申请号:US15841143

    申请日:2017-12-13

    Abstract: Systems and methods are described for managing dependencies among code in an on-demand code execution system in a manner that enables efficient execution of the code. A user may generate a task on the system by submitting code, which may reference additional code on the system. The system can determine a dependency graph for the submitted code, and generate packages for the task based at least partly on the dependency graph. On receiving a request to execute the task, the system can provision an execution environment with the packages, and execute the code of the task. The packages may be selected based on analysis of the dependency graph, such that execution of the task on the on-demand code execution system is expected to satisfy a desired execution metric, which may include a maximum time to begin executing code of a task subsequent to receiving a request to execute the task.

    Idempotent task execution in on-demand network code execution systems

    公开(公告)号:US10528390B2

    公开(公告)日:2020-01-07

    申请号:US16113887

    申请日:2018-08-27

    Abstract: Systems and methods are described for handling requests to execute idempotent code in an on-demand code execution system or other distributed code execution environment. Idempotent code can generally include code that produces the same outcome even when executed multiple times, so long as dependencies for the code are in the same state as during a prior execution. Due to this feature, multiple executions of idempotent code may inefficiently use computing resources, particularly in on-demand code execution system (which may require, for example, generation and provisioning of an appropriate execution environment for the code). Aspects of the present disclosure enable the on-demand code execution system to process requests to execute code by verifying whether dependency states associated with the code have changed since a prior execution. If dependency states have not changed, no execution need occur, and the overall computing resource us of the on-demand code execution system is decreased.

    EXECUTION OF AUXILIARY FUNCTIONS IN AN ON-DEMAND NETWORK CODE EXECUTION SYSTEM

    公开(公告)号:US20190391841A1

    公开(公告)日:2019-12-26

    申请号:US16017970

    申请日:2018-06-25

    Abstract: Systems and methods are described for providing auxiliary functions in an on-demand code execution system in a manner that enables efficient execution of code. A user may generate a task on the system by submitting code. The system may determine the auxiliary functions that the submitted code may require when executed on the system, and may provide these auxiliary functions by provisioning sidecar virtual machine instances that work in conjunction with the virtual machine instance executing the submitted code. The sidecars may provide auxiliary functions on a per-task, per-user, or per-request basis, and the lifecycles of the sidecars may be determined based on the lifecycles of the virtual machine instances that execute submitted code. Auxiliary functions may thus be provided only when needed, and may be provided securely by preventing a user from accessing the sidecars of other users.

    Pre-triggers for code execution environments

    公开(公告)号:US10437629B2

    公开(公告)日:2019-10-08

    申请号:US16025694

    申请日:2018-07-02

    Abstract: Systems and methods are described for managing initialization of virtual machine instances within an on-demand code execution environment or other distributed code execution environment. Such environments 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. However, because the number of pre-initialized virtual machine instances maintained at an on-demand code execution environment is typically limited, insufficient number of pre-initialized virtual machine instances may be available at the on-demand code execution environment during times of heavy use. Embodiments described herein utilize pre-trigger notifications to indicate to the on-demand code execution environment that subsequent requests to execute user-specified code are likely to occur. The on-demand code execution environment may therefore pre-initialize additional virtual machine instances in preparation for the subsequent requests, reducing delay that would be required to initialize the instances after obtaining to the requests.

    Virtualized tasks in an on-demand network code execution system

    公开(公告)号:US10318347B1

    公开(公告)日:2019-06-11

    申请号:US15472036

    申请日:2017-03-28

    Abstract: Systems and methods are described for implementing multiple virtual tasks, or task copies, in an on-demand code execution system or other distributed code execution environment, each virtual task or task copy corresponding to a common parent task and sharing executable code. Virtual tasks or task copies may be handled independently at the on-demand code execution system, enabling separated queuing, throttling, or logging, in a manner similar to two unrelated tasks. However, the on-demand code execution system may process calls to execute a first virtual task using knowledge of executions of other, related virtual tasks, in order to reduce or eliminate data duplication between executions of the first virtual task and the related virtual tasks. In this manner, the computational resources required to implement virtual tasks can be minimized or eliminated.

    Code execution request routing
    117.
    发明授权

    公开(公告)号:US10248467B2

    公开(公告)日:2019-04-02

    申请号:US15912273

    申请日:2018-03-05

    Abstract: A system for providing low-latency compute capacity is provided. The system may be configured to route incoming code execution requests based on user indications to use specific containers running on a plurality of virtual machine instances. The system may be configured to process a code execution request, identify, based on the user indication that a specific container previously used to handle a request of similar type is to be used for handling the code execution request, and cause the code execution request to be handled using the specific container.

    PRE-TRIGGERS FOR CODE EXECUTION ENVIRONMENTS
    118.
    发明申请

    公开(公告)号:US20190073234A1

    公开(公告)日:2019-03-07

    申请号:US16025694

    申请日:2018-07-02

    Abstract: Systems and methods are described for managing initialization of virtual machine instances within an on-demand code execution environment or other distributed code execution environment. Such environments 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. However, because the number of pre-initialized virtual machine instances maintained at an on-demand code execution environment is typically limited, insufficient number of pre-initialized virtual machine instances may be available at the on-demand code execution environment during times of heavy use. Embodiments described herein utilize pre-trigger notifications to indicate to the on-demand code execution environment that subsequent requests to execute user-specified code are likely to occur. The on-demand code execution environment may therefore pre-initialize additional virtual machine instances in preparation for the subsequent requests, reducing delay that would be required to initialize the instances after obtaining to the requests.

    Generating data streams from pre-existing data sets

    公开(公告)号:US10162672B2

    公开(公告)日:2018-12-25

    申请号:US15085885

    申请日:2016-03-30

    Abstract: Systems and methods are described for transforming a data set within a data source into a series of task calls to an on-demand code execution environment or other distributed code execution environment. Such environments 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, and are often used to process data in near-real time, as it is created. However, limitations in computing resources may inhibit a user from utilizing an on-demand code execution environment to simultaneously process a large, existing data set. The present application provides a task generation system that can iteratively retrieve data items from an existing data set and generate corresponding task calls to the on-demand computing environment, while ensuring that at least one task call for each data item within the existing data set is made.

Patent Agency Ranking