IP Library › Granted Patent US 11,467,890
Granted Patent B2
US 11,467,890 · App. 16/223,934 · Granted Oct 11, 2022

Processing event messages for user requests to execute program code

Inventor: Timothy Allen Wagner (Seattle, WA)
Assignee: AMAZON TECHNOLOGIES, INC.
G06F9/542G06F9/45533G06F9/50G06F9/5027G06F9/546G06F2209/5011G06F2209/549
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,467,890
App. No.
16/223,934
Granted
Oct 11, 2022
Kind
B2
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.

Claims (37)

1. A computer-implemented method, as implemented by one or more computing devices configured with specific computer-executable instructions, the computer-implemented method comprising:

providing a plurality of virtual machine instances usable to execute program codes thereon;

receiving a request to configure execution of a program code indicated by a user to be triggered in response to a modification to a first computing resource, wherein the first computing resource comprises one or both of a data storage system and a database system;

subsequent to configuring the execution of the program code to be triggered, detecting a first modification to the first computing resource, wherein the first modification is configured to trigger execution of the program code and associated with data or metadata usable to execute the program code indicated by the user;

in response to detecting the first modification configured to trigger the execution of the program code, loading a copy of the program code whose execution is to be triggered by the detected first modification onto a virtual machine instance of the plurality of virtual machine instances; and

executing the copy of the program code indicated by the user on the virtual machine instance based at least in part on the data or metadata associated with the first modification to the first computing resource.

2. The computer-implemented method of claim 1 , further comprising receiving, prior to detecting the first modification to the first computing resource, a request to associate the program code with a type of modification to the first computing resource such that the program code is to be executed in response to an occurrence of the type of modification to the first computing resource.

3. The computer-implemented method of claim 1 , wherein the first modification comprises a data file being added to the data storage system.

4. The computer-implemented method of claim 3 , wherein the data or metadata comprises an identifier associated with the data file or a location associated with the data file.

5. The computer-implemented method of claim 1 , wherein the first modification comprises a database operation.

6. The computer-implemented method of claim 1 , wherein the data or metadata comprises one or more input parameters to the program code.

7. The computer-implemented method of claim 1 , further comprising detecting the first modification based on an indication from the data storage system that the first modification has occurred.

8. A system, comprising:

one or more processors; and

one or more memories having stored thereon instructions, which, when executed by the one or more processors, cause the one or more processors to:

cause a plurality of virtual machine instances to be provided, wherein the plurality of virtual machine instances are usable to execute program codes thereon;

receive a request to configure execution of a program code indicated by a user to be triggered in response to a modification to a first computing resource, wherein the first computing resource comprises one or both of a data storage system and a database system;

subsequent to configuring the execution of the program code to be triggered, detect a first modification to the first computing resource, wherein the first modification is configured to trigger execution of the program code and associated with data or metadata usable to execute the program code indicated by the user;

in response to detecting the first modification configured to trigger the execution of the program code, cause a copy of the program code whose execution is to be triggered by the detected first modification to be loaded onto a virtual machine instance of the plurality of virtual machine instances; and

cause the copy of the program code indicated by the user to be executed on the virtual machine instance based at least on the data or metadata associated with the first modification to the first computing resource.

9. The system of claim 8 , wherein the instructions, when executed, further cause the one or more processors to receive, prior to detecting the first modification to the first computing resource, a request to associate the program code with a type of modification to the first computing resource such that the program code is to be executed in response to an occurrence of the type of modification to the first computing resource.

10. The system of claim 8 , wherein the first modification comprises a data file being added to a storage system.

11. The system of claim 10 , wherein the data or metadata comprises an identifier associated with the data file or a location associated with the data file.

12. The system of claim 8 , wherein the first modification comprises a database operation.

13. The system of claim 8 , wherein the data or metadata comprises one or more input parameters to the program code.

14. The system of claim 8 , wherein the instructions, when executed, further cause the one or more processors to detect the first modification based on an indication from the data storage system that the first modification has occurred.

15. 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:

cause a plurality of virtual machine instances to be provided, wherein the plurality of virtual machine instances are usable to execute program codes thereon;

receive a request to configure execution of a program code indicated by a user to be triggered in response to a modification to a first computing resource, wherein the first computing resource comprises one or both of a data storage system and a database system;

subsequent to configuring the execution of the program code to be triggered, detect a first modification to the first computing resource, wherein the first modification is configured to trigger execution of the program code and associated with data or metadata usable to execute the program code indicated by the user;

in response to detecting the first modification configured to trigger the execution of the program code, cause a copy of the program code whose execution is to be triggered by the detected first modification to be loaded onto a virtual machine instance of the plurality of virtual machine instances; and

cause the copy of the program code indicated by the user to be executed on the virtual machine instance based at least on the data or metadata associated with the first modification to the first computing resource.

16. The non-transitory physical computer storage of claim 15 , wherein the computer-executable instructions further cause the one or more computing devices to receive, prior to detecting the first modification to the first computing resource, a request to associate the program code with a type of modification to the first computing resource such that the program code is to be executed in response to an occurrence of the type of modification to the first computing resource.

17. The non-transitory physical computer storage of claim 15 , wherein the first modification comprises a data file being added to a storage system.

18. The non-transitory physical computer storage of claim 17 , wherein the data or metadata comprises an identifier associated with the data file or a location associated with the data file.

19. The non-transitory physical computer storage of claim 15 , wherein the data or metadata comprises one or more input parameters to the program code.

20. The non-transitory physical computer storage of claim 15 , wherein the computer-executable instructions further cause the one or more computing devices to detect the first modification based on an indication from the data storage system that the first modification has occurred.

Continuity (4)
Continuation 15340825 · Nov 1, 2016
Continuation 14869886 · Sep 29, 2015
Continuation 14502741 · Sep 30, 2014
Related Publication 20190196884A1 · Jun 27, 2019
Cited By (8)
US 12,314,752 US 12,321,766 US 12,327,133 US 12,381,878 US 12,476,978 US 12,671,671 US 12,724,647 US 12,726,444