US 11,861,386 B1
Application gateways in an on-demand network code execution system
Lodaya Varun Mukesh, Mill Creek, WA (US); Sridhar Srinivasan, Bothell, WA (US); and Hamza Arain, Bellevue, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Mar. 22, 2019, as Appl. No. 16/362,472.
Int. Cl. G06F 9/455 (2018.01); G06F 9/48 (2006.01); G06F 9/54 (2006.01); G06F 9/445 (2018.01)
CPC G06F 9/45504 (2013.01) [G06F 9/445 (2013.01); G06F 9/4881 (2013.01); G06F 9/547 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system comprising:
a non-transitory data store storing executable code for individual user-submitted tasks that are executable on an on-demand code execution system, wherein the on-demand code execution system receives requests to execute user-submitted tasks and manages, on a per-request basis, generating and provisioning an execution environment and executing the executable code for a requested user-submitted task; and
a gateway computing device in communication with a first computing device and the on-demand code execution system, the gateway computing device configured to:
receive, from the first computing device, a first portion of a network resource request for a first network resource;
identify, based at least in part on the first portion of the network resource request, a user-submitted task that generates output from which the first network resource can be generated;
receive, from the first computing device, a second portion of the network resource request, wherein the second portion completes the network resource request;
generate, based at least in part on the network resource request, a serialized request to execute the user-submitted task on the on-demand code execution system, wherein to generate the serialized request, the gateway computing device is configured to:
generate cryptographic authentication information to be used by the on-demand code execution system to authenticate the first computing device as a source of the network resource request, wherein the cryptographic authentication information has not been transmitted or requested by the first computing device, and
convert the network resource request into readable input processable by the on-demand code execution system;
transmit the serialized request including the cryptographic authentication information and the readable input to the on-demand code execution system, wherein the on-demand code execution system (i) authenticates the first computing device as the source of the network resource request based at least in part on the cryptographic authentication information, and (ii) initiates an execution of the user-submitted task on at least a portion of the readable input included in the serialized request;
receive, from the on-demand code execution system, output from the execution of the user-submitted task;
generate the first network resource based at least in part on the output received from the on-demand code execution system; and
transmit the first network resource to the first computing device.