Programmatic event detection and message generation for requests to execute program code
First Claim
1. A system for providing event messages for requests to execute program code on a virtual compute system, the system comprising:
- an electronic data store configured to store at least programmatic event handling information; and
an event triggering computing system comprising one or more hardware computing devices executing specific computer-executable instructions, the event triggering computing system in communication with a message queue system, the event triggering computing system configured to at least;
detect an event on the event triggering computing system, the event associated with a first client;
determine, based on the programmatic event handling information stored on the electronic data store, that the event is designated to trigger execution of a program code of a second client on a virtual compute system;
in response to the determination that the event is designated to trigger execution of the program code of the second client, generate an event message comprising at least a client account identifier associated with the second client and programmatic information organized in a schema usable to execute the program code on behalf of the second client in a container created on a virtual machine instance on the virtual compute system; and
provide the event message to the message queue system, wherein the message queue system is further in communication with the virtual compute system.
1 Assignment
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.
230 Citations
20 Claims
-
1. A system for providing event messages for requests to execute program code on a virtual compute system, the system comprising:
-
an electronic data store configured to store at least programmatic event handling information; and an event triggering computing system comprising one or more hardware computing devices executing specific computer-executable instructions, the event triggering computing system in communication with a message queue system, the event triggering computing system configured to at least; detect an event on the event triggering computing system, the event associated with a first client; determine, based on the programmatic event handling information stored on the electronic data store, that the event is designated to trigger execution of a program code of a second client on a virtual compute system; in response to the determination that the event is designated to trigger execution of the program code of the second client, generate an event message comprising at least a client account identifier associated with the second client and programmatic information organized in a schema usable to execute the program code on behalf of the second client in a container created on a virtual machine instance on the virtual compute system; and provide the event message to the message queue system, wherein the message queue system is further in communication with the virtual compute system. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
a computing system comprising one or more hardware computing devices executing specific computer-executable instructions and configured to at least; detect an event associated with a first client; determine that the detected event is designated to trigger execution of a program code of a second client on a virtual compute system, the virtual compute system comprising computer hardware and configured to execute program codes of clients on behalf of the respective clients on a per-request basis, the second client being different from the first client; in response to the determination that the detected event is designated to trigger execution of the program code of the second client, generate an event message comprising at least a client account identifier associated with the second client and event metadata usable to execute the program code on the virtual compute system, the event metadata identifying (i) the program code to be executed on the virtual compute system in response to the detected event and (ii) one or more input parameters to the program code to be used by the program code during the execution of the program code; and provide the event message to an intermediary message queue system in communication with the virtual compute system. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
12. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, detecting an event on an event triggering service, the event associated with a first client; determining that the detected event is designated to trigger execution of a program code of a second client on a virtual compute system, the virtual compute system comprising computer hardware and configured to execute program codes of clients on behalf of the respective clients on a per-request basis, the second client being different from the first client; in response determining that the detected event is designated to trigger execution of the program code of the second client, generating an event message comprising at least a client account identifier associated with the second client and event metadata usable to execute the program code on the virtual compute system, the event metadata identifying (i) the program code to be executed on the virtual compute system in response to the detected event and (ii) one or more input parameters to the program code to be used by the program code during the execution of the program code; and providing the event message to the virtual compute system. - View Dependent Claims (13, 14, 15, 16)
-
17. Non-transitory physical computer storage storing instructions that, when executed by one or more processors, configure the one or more processors to:
-
detect an event associated with a first client on an auxiliary service; determine that the detected event is designated to trigger execution of a program code of a second client on a virtual compute system, the virtual compute system comprising computer hardware and configured to execute program codes of clients on behalf of the respective clients on a per-request basis, the second client being different from the first client; in response the determination that the detected event is designated to trigger execution of the program code of the second client, generate an event message comprising at least a client account identifier associated with the second client and event metadata usable to execute the program code on the virtual compute system, the event metadata identifying (i) the program code to be executed on the virtual compute system in response to the detected event and (ii) one or more input parameters of the program code to be used by the program code during the execution of the program code; and provide the event message to the virtual compute system. - View Dependent Claims (18, 19, 20)
-
Specification