US 11,656,892 B1
Sequential execution of user-submitted code and native functions
Timothy Lawrence Harris, Cambridge (GB); Ramyanshu Datta, Seattle, WA (US); and Kevin C. Miller, Bainbridge Island, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 27, 2019, as Appl. No. 16/586,694.
Int. Cl. G06F 9/455 (2018.01); G06F 9/48 (2006.01); G06F 16/22 (2019.01); G06F 16/245 (2019.01); G06F 9/38 (2018.01)
CPC G06F 9/45558 (2013.01) [G06F 9/3897 (2013.01); G06F 9/4806 (2013.01); G06F 16/221 (2019.01); G06F 16/245 (2019.01); G06F 2009/4557 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system that applies a data processing pipeline to input/output (TO) operations, the system comprising:
an on-demand code execution system comprising a first virtual machine instance and a second virtual machine instance, wherein the first virtual machine instance and the second virtual machine instance are configured to access a staging area of the on-demand code execution system associated with an input file handle; and
an object storage service comprising at least one processor and an object data store, the object storage service configured with computer-executable instructions that, when executed by the at least one processor, cause the object storage service to:
process an instruction to apply a native data manipulation to a data object originating from a location other than the staging area, wherein the instruction is received in response to a client device calling a request method that identifies the data object;
apply the native data manipulation to the data object to extract a portion of the data object;
transmit the portion of the data object to the first virtual machine, wherein the first virtual machine instance is configured to store the portion of the data object in the staging area using the input file handle and the second virtual machine instance is configured to read the staging area using the input file handle to retrieve the portion of the data object and to manipulate the portion of the data object using a task code to produce output data; and
cause the request method to be applied to the output data.