-
公开(公告)号:US10725752B1
公开(公告)日:2020-07-28
申请号:US15895449
申请日:2018-02-13
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner , Bryan Nicholas Moffatt , Marc John Brooker , Robison Rodrigues dos Santos , Niranjan Jayakar
IPC: G06F9/44 , G06F8/41 , G06F16/182
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 multiple representations of the dependency graph, storing dependency code objects in different numbers of files. On receiving a request to provision an execution environment for the task, the system can select an appropriate representation based on an expected reuse of the files within different representations. For example, a representation of fewer files can be selected where expected future use is low, minimizing retrieval time but also potentially limiting reuse of code objects within the representation.
-
公开(公告)号:US10691498B2
公开(公告)日:2020-06-23
申请号:US16118234
申请日:2018-08-30
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner
Abstract: A system for providing low-latency computational capacity from a virtual compute fleet is provided. The system may be configured to maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprises a first pool comprising a first sub-pool of virtual machine instances and a second sub-pool of virtual machine instances, and a second pool comprising virtual machine instances used for executing one or more program codes thereon. The first sub-pool and/or the second sub-pool may be associated with one or more users of the system. The system may be further configured to process code execution requests and execute program codes on the virtual machine instances of the first or second sub-pool.
-
公开(公告)号:US10552193B2
公开(公告)日:2020-02-04
申请号:US15676777
申请日:2017-08-14
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner , Dylan Chandler Thomas , Ajay Nair
IPC: G06F9/455
Abstract: A system for providing security mechanisms for secure execution of program code is described. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and allocate computing resources for executing the program code on one of the virtual machine instances. One mechanism involves executing program code according to a user-specified security policy. Another mechanism involves executing program code that may be configured to communicate or interface with an auxiliary service. Another mechanism involves splitting and executing program code in a plurality of portions, where some portions of the program code are executed in association with a first level of trust and some portions of the program code are executed with different levels of trust.
-
公开(公告)号:US20200004571A1
公开(公告)日:2020-01-02
申请号:US16023852
申请日:2018-06-29
Applicant: Amazon Technologies, Inc.
Inventor: Philip Daniel Piwonka , Timothy Allen Wagner , Niall Mullen , Marc John Brooker
Abstract: Systems and methods are described for managing operating system customization 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 operating system functions that the submitted code may invoke when executed on the system, and may determine whether the required functionality can be provided by a customized operating system. The customized operating system may provide some functionality but omit other functionality, and thereby avoid consuming any resources associated with making the omitted functionality available. For example, the system may determine that the user-submitted code does not require filesystem interactions, network interactions, interactions with particular devices, caching, paging, profiling, etc., and may thus provide an operating system that does not include one or more of these services.
-
公开(公告)号:US10353678B1
公开(公告)日:2019-07-16
申请号:US15888914
申请日:2018-02-05
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner
Abstract: Systems and methods are described for conducting static analysis of code invoking network-based services to identify, without requiring execution of the code, changes in code characteristics that may be caused due to the invocations of the network-based services. A system is provided that may analyze code to detect both direct invocations of services, as well as indirect invocations caused by the direct invocations. The system can utilize information regarding directly or indirectly invoked services to determine whether the invocation of such services will change desired code characteristics, such as idempotency or conformity to a standard. In some instances, the system can traverse a “call graph” of all services invoked by code either directly or indirectly to identify characteristic changes through multiple levels of indirection.
-
公开(公告)号:US20190171470A1
公开(公告)日:2019-06-06
申请号:US16200275
申请日:2018-11-26
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner
Abstract: A service manages a plurality of virtual machine instances for low latency execution of user codes. The plurality of virtual machine instances can be configured based on a predetermined set of configurations. One or more containers may be created within the virtual machine instances. In response to a request to execute user code, the service identifies a pre-configured virtual machine instance suitable for executing the user code. The service can allocate the identified virtual machine instance to the user, create a new container within an instance already allocated to the user, or re-use a container already created for execution of the user code. When the user code has not been activated for a time-out period, the service can invalidate allocation of the virtual machine instance destroy the container. The time from receiving the request to beginning code execution is less than a predetermined duration, for example, 100 ms.
-
公开(公告)号:US10282229B2
公开(公告)日:2019-05-07
申请号:US15195920
申请日:2016-06-28
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner , Marc John Brooker , Ajay Nair
Abstract: Systems and methods are described for managing asynchronous code executions in an on-demand code execution system or other distributed code execution environment, in which multiple execution environments, such as virtual machine instances, can be used to enable rapid execution of user-submitted code. When asynchronous executions occur, a first execution may call a second execution, but not immediately need the second execution to complete. To efficiently allocate computing resources, this disclosure enables the second execution to be scheduled accordingly to a state of the on-demand code execution system, while still ensuring the second execution completes prior to the time required by the first execution. Scheduling of executions can, for example, enable more efficient load balancing on the on-demand code execution system.
-
公开(公告)号:US10277708B2
公开(公告)日:2019-04-30
申请号:US15199490
申请日:2016-06-30
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner , Marc John Brooker , Ajay Nair , Derek Steven Manwaring
Abstract: Systems and methods are described for managing cross-account access to tasks on 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, to ensure security, the code of different users is generally maintained separately, and executed on separate virtual machines. Embodiments described herein enable users of a first account to execute code of a second account, without gaining access to the code itself and while maintaining the privacy and security of each account. Specifically, aliases for a task of a first account can be created on a task of a second account, and used to invoke that task on behalf of the first account. Aliases may also allow users to customize how the task is executed.
-
公开(公告)号:US10162688B2
公开(公告)日:2018-12-25
申请号:US15340825
申请日:2016-11-01
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner
Abstract: A service manages a plurality of virtual machine instances for low latency execution of user codes. The service can provide the capability to execute user code in response to events triggered on an auxillary service to provide implicit and automatic rate matching and scaling between events being triggered on the auxiliary service and the corresponding execution of user code on various virtual machine instances. An auxiliary service may be configured as an event triggering service to detect events and generate event messages for execution of the user codes. The service can request, receive, or poll for event messages directly from the auxiliary service or via an intermediary message service. Event messages can be rapidly converted to requests to execute user code on the service. The time from processing the event message to initiating a request to begin code execution is less than a predetermined duration, for example, 100 ms.
-
公开(公告)号:US10140137B2
公开(公告)日:2018-11-27
申请号:US15464215
申请日:2017-03-20
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner
Abstract: A service manages a plurality of virtual machine instances for low latency execution of user codes. The plurality of virtual machine instances can be configured based on a predetermined set of configurations. One or more containers may be created within the virtual machine instances. In response to a request to execute user code, the service identifies a pre-configured virtual machine instance suitable for executing the user code. The service can allocate the identified virtual machine instance to the user, create a new container within an instance already allocated to the user, or re-use a container already created for execution of the user code. When the user code has not been activated for a time-out period, the service can invalidate allocation of the virtual machine instance destroy the container. The time from receiving the request to beginning code execution is less than a predetermined duration, for example, 100 ms.
-
-
-
-
-
-
-
-
-