-
公开(公告)号:US10528390B2
公开(公告)日:2020-01-07
申请号:US16113887
申请日:2018-08-27
Applicant: Amazon Technologies, Inc.
Inventor: Marc John Brooker , Timothy Allen Wagner , Ajay Nair
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.
-
公开(公告)号:US20190391841A1
公开(公告)日:2019-12-26
申请号:US16017970
申请日:2018-06-25
Applicant: Amazon Technologies, Inc.
Inventor: Niall Mullen , Philip Daniel Piwonka , Timothy Allen Wagner , Marc John Brooker
IPC: G06F9/48
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.
-
公开(公告)号:US10481929B1
公开(公告)日:2019-11-19
申请号:US15707811
申请日:2017-09-18
Applicant: Amazon Technologies, Inc.
Inventor: Paul William Berg , Eden Grail Adogla , Marc John Brooker , John Clark Coonley Duksta , Robert James Hanson , Jamie Hunter
IPC: G06F9/455
Abstract: A distributed execution environment can provide access to field-programmable device resources. The field-programmable device resources can be provided in association with one or more instances that are instantiated within the distributed execution environment upon request from a computing system. The computing system can be associated with a customer of the distributed execution environment. The customer can program the field-programmable device resources using designs created by or for the customer.
-
公开(公告)号:US10452439B2
公开(公告)日:2019-10-22
申请号:US15362696
申请日:2016-11-28
Applicant: Amazon Technologies, Inc.
Inventor: Calvin Yue-Ren Kuo , Rudresh Amin , Yen-Lin Chen , Jonathan I. Turow , Cheng Pan , Marc John Brooker , James Christopher Sorenson, III , Weili Zhong McClenahan
Abstract: Systems and methods are described for implementing a coordinator within a coordinated environment, which environment includes set of coordinated devices managed by the coordinator. The coordinator can be provisioned with a set of tasks, each task corresponding to a segment of code that can be executed by the coordinator, such as to manage the coordinated devices. To assist in execution of the tasks, the coordinator can include a resource manager that generates execution environments corresponding to an individual task execution, which environments may be isolated from other execution environments. The coordinator can further include a scheduler to obtain calls to execute tasks, and implement a queue from which to select tasks for execution. On selecting a task, the scheduler may interact with the resource manager to generate an execution environment for the task, and cause execution of the task within the execution environment.
-
公开(公告)号:US10437629B2
公开(公告)日:2019-10-08
申请号:US16025694
申请日:2018-07-02
Applicant: Amazon Technologies, Inc.
Inventor: Timothy Allen Wagner , Marc John Brooker
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.
-
公开(公告)号:US10412002B1
公开(公告)日:2019-09-10
申请号:US14668557
申请日:2015-03-25
Applicant: Amazon Technologies, Inc.
Inventor: David R. Richardson , Marc John Brooker , Norbert Paul Kusters , Anthony Nicholas Liguori , Marc Stephen Olson
IPC: H04L12/741 , H04L29/06
Abstract: A method for processing packet data in a service provider environment includes, by a network-enabled data processing device within a server computer of the service provider environment, receiving packet data comprising header information and payload information. The header information is separated from the payload information. The separated header information is forwarded to a processor of the server computer for processing, without forwarding at least a portion of the payload information. At least one address of a storage location is received from the processor. The at least one address is associated with a logical-to-physical address mapping based on the header information. The payload information is stored in the storage location based on the at least one address.
-
公开(公告)号:US10402231B2
公开(公告)日:2019-09-03
申请号:US16160674
申请日:2018-10-15
Applicant: Amazon Technologies, Inc.
Inventor: Dylan Owen Marriner , Mauricio Roman , Marc John Brooker , Julian Embry Herwitz , Sean Reque
Abstract: Systems and methods are described for adjusting a number of concurrent code executions allowed to be performed for a given user on an on-demand code execution environment or other distributed code execution environments. 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 improve utilization of computing resources, such environments may temporarily restrict the number of concurrent code executions performed on behalf of the given user to a number less than the maximum number of concurrent code executions allowed for the given user. Such environments may adjust the temporary restriction on the number of concurrent code executions based on the number of incoming code execution requests associated with the given user.
-
公开(公告)号:US20190166228A1
公开(公告)日:2019-05-30
申请号:US16264492
申请日:2019-01-31
Applicant: Amazon Technologies, Inc.
Inventor: Marc John Brooker , Marc Stephen Olson
Abstract: Methods, systems, and computer-readable media for program code allocation based on processor features are disclosed. Analysis of program code is performed using static analysis and/or runtime analysis. The analysis determines one or more processor features invoked by the program code. One or more program execution servers are selected from a plurality of program execution servers based at least in part on the one or more processor features invoked by the program code. One or more selected program execution servers comprise the one or more processor features invoked by the program code, and an additional one or more of the program execution servers lack the one or more processor features invoked by the program code. The program code is executed using the one or more selected program execution servers.
-
公开(公告)号:US10282457B1
公开(公告)日:2019-05-07
申请号:US15016192
申请日:2016-02-04
Applicant: Amazon Technologies, Inc.
Inventor: Tao Chen , Divya Ashok Kumar Jain , Fan Ping , Marc John Brooker
Abstract: Methods, systems, and computer-readable media for distributed transactions across multiple consensus groups are disclosed. A distributed transaction system comprises a proposer and a plurality of consensus groups, including a first consensus group comprising a first plurality of members and a second consensus group comprising a second plurality of members. The proposer proposes a transaction to at least a portion of the first consensus group and at least a portion of the second consensus group. A majority of the members in the first consensus group agree to perform the transaction, where the transaction is selected from a plurality of proposed transactions involving the first consensus group. A majority of the members in the second consensus group also agree to perform the transaction. The members of the first and second consensus groups perform the transaction to update a plurality of stored replicas.
-
公开(公告)号:US10248467B2
公开(公告)日:2019-04-02
申请号:US15912273
申请日:2018-03-05
Applicant: Amazon Technologies, Inc.
Inventor: Scott Daniel Wisniewski , Marc John Brooker , Timothy Allen Wagner
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.
-
-
-
-
-
-
-
-
-