US 12,260,127 B2
Technologies for storage and processing for distributed file systems
John S. Keys, Beaverton, OR (US); Daniel R. McLeran, Loveland, CO (US); Ian F. Adams, Astoria, OR (US); Michael P. Mesnier, Scappoose, OR (US); and Nilesh N. Shah, Folsom, CA (US)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Dec. 23, 2020, as Appl. No. 17/132,974.
Prior Publication US 2021/0117134 A1, Apr. 22, 2021
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0667 (2013.01) [G06F 3/0613 (2013.01); G06F 3/064 (2013.01); G06F 3/0646 (2013.01); G06F 3/067 (2013.01); G06F 3/0679 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A data node for processing distributed files, the data node comprising:
a processor;
a memory;
a data storage device; and
one or more computer-readable media comprising a plurality of instructions stored thereon that, when executed by the data node, causes the data node to:
receive an instruction to query an object of a distributed file system (DFS) stored on the data storage device of the data node, wherein the object comprises a plurality of data elements;
determine block mapping of the object on the data storage device, wherein the block mapping indicates a location of each of the plurality of data elements on the data storage device;
query, by the data storage device and based on the block mapping of the object, each of the plurality of data elements of the object;
create a virtual object for each of the plurality of data elements, wherein each virtual object indicates the block mapping for the corresponding data element; and
send the virtual object corresponding to each of the plurality of data elements to the data storage device, wherein to send the virtual object corresponding to each of the plurality of data elements to the data storage device comprises to:
create a compute descriptor for each of the plurality of data elements, wherein each compute descriptor includes the corresponding virtual object and an indication of the query to be performed on the corresponding data element; and
send the compute descriptor for each of the plurality of data elements to the data storage device.