Processing event messages for user requests to execute program code
First Claim
1. A system for processing event messages for requests to execute program code on one or more virtual machine instances, the system comprising:
- a front end computing system comprising one or more hardware computing devices executing specific computer-executable instructions, said front end computing system in communication with (1) a message queue system and (2) a virtual compute system adapted to execute program codes on a per-request basis, the front end computing system configured to at least;
retrieve, from the message queue system, an event message generated in response to an event occurring at an event-originating service, said event message identifying a program code to be executed on the virtual compute system and comprising programmatic information organized in a schema usable for executing the program code on the virtual compute system;
convert, based on the programmatic information and the schema, the event message into a request to execute the program code, said request comprising one or more input parameters to the program code; and
cause the virtual compute system to begin executing the program code within 100 ms after the event message is retrieved from the message queue system, wherein the request comprises at least some of the programmatic information for executing the program code.
0 Assignments
0 Petitions
Accused Products
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 auxiliary 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.
-
Citations
19 Claims
-
1. A system for processing event messages for requests to execute program code on one or more virtual machine instances, the system comprising:
a front end computing system comprising one or more hardware computing devices executing specific computer-executable instructions, said front end computing system in communication with (1) a message queue system and (2) a virtual compute system adapted to execute program codes on a per-request basis, the front end computing system configured to at least; retrieve, from the message queue system, an event message generated in response to an event occurring at an event-originating service, said event message identifying a program code to be executed on the virtual compute system and comprising programmatic information organized in a schema usable for executing the program code on the virtual compute system; convert, based on the programmatic information and the schema, the event message into a request to execute the program code, said request comprising one or more input parameters to the program code; and cause the virtual compute system to begin executing the program code within 100 ms after the event message is retrieved from the message queue system, wherein the request comprises at least some of the programmatic information for executing the program code. - View Dependent Claims (2, 3)
-
4. A system, comprising:
a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; receive an event message generated in response to an event occurring at an event source, said event message comprising event metadata identifying a program code to be executed on the virtual compute system and one or more input parameters to the program code; convert, based on the event metadata, the event message into a request to execute the program code on the virtual compute system, said request comprising configuration information for executing the program code, said configuration information identifying the program code to be executed and the one or more input parameters to the program code; and cause the program code to begin executing within 100 ms after the event message is received by the virtual compute system using the one or more input parameters. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
11. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, querying an event source for an event message generated in response to an event; detecting the event message, said event message comprising event metadata identifying a program code to be executed on a virtual compute system configured to execute user code on a per-request basis and one or more input parameters to the program code; converting, based on the event metadata, the event message into a request to execute the program code on the virtual compute system, said request comprising configuration information identifying the program code to be executed and the one or more input parameters to the program code; and causing the program code to begin executing within 100 ms after detecting the event message using the one or more input parameters. - View Dependent Claims (12, 13, 14, 15)
-
16. Non-transitory physical computer storage comprising computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to:
-
access an event message generated by an auxiliary service, said event message comprising event metadata identifying a program code to be executed on a virtual compute system configured to execute user code on a per-request basis and one or more input parameters to the program code; convert, based on the event metadata, the event message into a request to execute the program code on the virtual compute system, said request comprising configuration information for executing the program code, said configuration information identifying the program code to be executed and the one or more input parameters to the program code; and cause the program code to begin executing within 100 ms after the event message is accessed using the one or more input parameters. - View Dependent Claims (17, 18, 19)
-
Specification