Dynamic distributed generation of data representations from highly condensed data
First Claim
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
- transmit, from a coordinating device to a plurality of node devices of a grid of node devices, a command to store a plurality of data blocks of a data blob, wherein;
the plurality of data blocks of the data blob are distributed among the plurality of node devices to be stored by the plurality of node devices;
the data blob comprises multiple data items; and
each data block of the plurality of data blocks comprises a subset of the multiple data items;
receive, at the coordinating device, representation metadata comprising an indication of features of representation data, wherein;
the representation data provides a two-dimensional (2D) representation of data items of the data blob; and
the representation data is to be assembled from a plurality of representation portions to be derived by the plurality of node devices from the plurality of data blocks;
receive, at the coordinating device, a command from a requesting device to generate at least one row of the representation data;
use the representation metadata, a data blob metadata and a master block map to determine a subset of data blocks of the plurality of data blocks that are required to generate the at least one row of the 2D representation, and a subset of node devices of the plurality of node devices that store the subset of the plurality of data blocks, wherein;
the data blob metadata comprises an indication of organization of the multiple data items within the data blob and an indication of at least one rule that limits distribution of the multiple data items of the data blob among the plurality of data blocks; and
the master block map comprises an indication of the distribution of the multiple data items within the data blob among the plurality of data blocks, and an indication of the distribution of the plurality of data blocks among the plurality of node devices;
use the representation metadata and the master block map to derive a node block map of a plurality of node block maps for each node device of the subset of node devices, wherein;
each node block map identifies at least one data item of the subset of data items of a data block from which to generate at least one row of a representation portion of the plurality of representation portions; and
each node block map indicates a selection of a reader routine to use to derive a transform to use with the data block to generate the at least one row of the representation portion;
transmit, from the coordinating device, each node block map of the plurality of node block maps to one of the node devices of the subset of node devices;
transmit, from the coordinating device, a command to each node device of the subset of node devices to generate at least one row of one of the representation portions of the plurality of representation portions;
receive, at the coordinating device, indications from the plurality of node devices of successful generation of at least one row of at least one representation portion of the plurality of representation portions;
receive, at the coordinating device, another command from the requesting device to generate at least one more row of the representation data; and
in response to the receipt of the indications of successful generation of the at least one row of the at least one representation portion, and in response to the receipt of the other command, transmit, from the coordinating device, a command to generate at least one more row of the plurality of representation portions to the subset of node devices.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus includes a processor and a storage storing instructions causing the processor to receive representation metadata indicating features of representation data to be generated from a plurality of representation portions, receive a command to generate at least one row of the representation data, determine a subset of data blocks of a data blob required to generate the at least one row, and a subset of node devices that store the subset of data blocks, for each node device of the subset of node devices, derive a node block map identifying at least one data item of a data block for generating a representation portion, transmit the node block maps to the subset of node devices; and transmit a command to the subset of node devices to each generate at least one row of one of the plurality of representation portions.
-
Citations
30 Claims
-
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
-
transmit, from a coordinating device to a plurality of node devices of a grid of node devices, a command to store a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the plurality of node devices to be stored by the plurality of node devices; the data blob comprises multiple data items; and each data block of the plurality of data blocks comprises a subset of the multiple data items; receive, at the coordinating device, representation metadata comprising an indication of features of representation data, wherein; the representation data provides a two-dimensional (2D) representation of data items of the data blob; and the representation data is to be assembled from a plurality of representation portions to be derived by the plurality of node devices from the plurality of data blocks; receive, at the coordinating device, a command from a requesting device to generate at least one row of the representation data; use the representation metadata, a data blob metadata and a master block map to determine a subset of data blocks of the plurality of data blocks that are required to generate the at least one row of the 2D representation, and a subset of node devices of the plurality of node devices that store the subset of the plurality of data blocks, wherein; the data blob metadata comprises an indication of organization of the multiple data items within the data blob and an indication of at least one rule that limits distribution of the multiple data items of the data blob among the plurality of data blocks; and the master block map comprises an indication of the distribution of the multiple data items within the data blob among the plurality of data blocks, and an indication of the distribution of the plurality of data blocks among the plurality of node devices; use the representation metadata and the master block map to derive a node block map of a plurality of node block maps for each node device of the subset of node devices, wherein; each node block map identifies at least one data item of the subset of data items of a data block from which to generate at least one row of a representation portion of the plurality of representation portions; and each node block map indicates a selection of a reader routine to use to derive a transform to use with the data block to generate the at least one row of the representation portion; transmit, from the coordinating device, each node block map of the plurality of node block maps to one of the node devices of the subset of node devices; transmit, from the coordinating device, a command to each node device of the subset of node devices to generate at least one row of one of the representation portions of the plurality of representation portions; receive, at the coordinating device, indications from the plurality of node devices of successful generation of at least one row of at least one representation portion of the plurality of representation portions; receive, at the coordinating device, another command from the requesting device to generate at least one more row of the representation data; and in response to the receipt of the indications of successful generation of the at least one row of the at least one representation portion, and in response to the receipt of the other command, transmit, from the coordinating device, a command to generate at least one more row of the plurality of representation portions to the subset of node devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, the computer-program product including instructions operable to cause a processor to perform operations comprising:
-
transmit, from a coordinating device to a plurality of node devices of a grid of node devices, a command to store a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the plurality of node devices to be stored by the plurality of node devices; the data blob comprises multiple data items; and each data block of the plurality of data blocks comprises a subset of the multiple data items; receive, at the coordinating device, representation metadata comprising an indication of features of representation data, wherein; the representation data provides a two-dimensional (2D) representation of data items of the data blob; and the representation data is to be assembled from a plurality of representation portions to be derived by the plurality of node devices from the plurality of data blocks; receive, at the coordinating device, a command from a requesting device to generate at least one row of the representation data; use the representation metadata, a data blob metadata and a master block map to determine a subset of data blocks of the plurality of data blocks that are required to generate the at least one row of the 2D representation, and a subset of node devices of the plurality of node devices that store the subset of the plurality of data blocks, wherein; the data blob metadata comprises an indication of organization of the multiple data items within the data blob and an indication of at least one rule that limits distribution of the multiple data items of the data blob among the plurality of data blocks; and the master block map comprises an indication of the distribution of the multiple data items within the data blob among the plurality of data blocks, and an indication of the distribution of the plurality of data blocks among the plurality of node devices; use the representation metadata and the master block map to derive a node block map of a plurality of node block maps for each node device of the subset of node devices, wherein; each node block map identifies at least one data item of the subset of data items of a data block from which to generate at least one row of a representation portion of the plurality of representation portions; and each node block map indicates a selection of a reader routine to use to derive a transform to use with the data block to generate the at least one row of the representation portion; transmit, from the coordinating device, each node block map of the plurality of node block maps to one of the node devices of the subset of node devices; transmit, from the coordinating device, a command to each node device of the subset of node devices to generate at least one row of one of the representation portions of the plurality of representation portions; receive, at the coordinating device, indications from the plurality of node devices of successful generation of at least one row of at least one representation portion of the plurality of representation portions; receive, at the coordinating device, another command from the requesting device to generate at least one more row of the representation data; and in response to the receipt of the indications of successful generation of the at least one row of the at least one representation portion, and in response to the receipt of the other command, transmit, from the coordinating device, a command to generate at least one more row of the plurality of representation portions to the subset of node devices. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
transmitting, from a coordinating device to a plurality of node devices of a grid of node devices, a command to store a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the plurality of node devices to be stored by the plurality of node devices; the data blob comprises multiple data items; and each data block of the plurality of data blocks comprises a subset of the multiple data items; receiving, at the coordinating device, representation metadata comprising an indication of features of representation data, wherein; the representation data provides a two-dimensional (2D) representation of data items of the data blob; and the representation data is to be assembled from a plurality of representation portions to be derived by the plurality of node devices from the plurality of data blocks; receiving, at the coordinating device, a command from a requesting device to generate at least one row of the representation data; using the representation metadata, a data blob metadata and a master block map to determine a subset of data blocks of the plurality of data blocks that are required to generate the at least one row of the 2D representation, and a subset of node devices of the plurality of node devices that store the subset of the plurality of data blocks, wherein; the data blob metadata comprises an indication of organization of the multiple data items within the data blob and an indication of at least one rule that limits distribution of the multiple data items of the data blob among the plurality of data blocks; and the master block map comprises an indication of the distribution of the multiple data items within the data blob among the plurality of data blocks, and an indication of the distribution of the plurality of data blocks among the plurality of node devices; using the representation metadata and the master block map to derive a node block map of a plurality of node block maps for each node device of the subset of node devices, wherein; each node block map identifies at least one data item of the subset of data items of a data block from which to generate at least one row of a representation portion of the plurality of representation portions; and each node block map indicates a selection of a reader routine to use to derive a transform to use with the data block to generate the at least one row of the representation portion; transmitting, from the coordinating device, each node block map of the plurality of node block maps to one of the node devices of the subset of node devices; transmitting, from the coordinating device, a command to each node device of the subset of node devices to generate at least one row of one of the representation portions of the plurality of representation portions; receiving, at the coordinating device, indications from the plurality of node devices of successful generation of at least one row of at least one representation portion of the plurality of representation portions; receiving, at the coordinating device, another command from the requesting device to generate at least one more row of the representation data; and in response to the receipt of the indications of successful generation of the at least one row of the at least one representation portion, and in response to the receipt of the other command, transmitting, from the coordinating device, a command to generate at least one more row of the plurality of representation portions to the subset of node devices. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification