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:
- store, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein;
the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob;
receive, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein;
a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions;
the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and
the subset of node devices comprises the node device;
use the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein;
the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and
the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion;
perform, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion;
transmit, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices;
receive, at the node device, a command to store the data block from the coordinating device;
receive, at the node device, the data block from the at least one source device;
receive, at the node device, the command to generate at least one row of the representation portion from the coordinating device; and
transmit, from the node device, the at least one row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one row of the representation data from at least one row of each representation portion of the plurality of representation portions.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus includes a processor and storage storing instructions causing the processor to store, at a node device of a grid of node devices, a data block of a data blob, receive data blob metadata indicative of an organization of data items within the data blob, receive a command to generate, from the data block, at least one row of a representation portion of a plurality of representation portions from which a 2D representation of the data blob is to be generated, use the data blob metadata and a node block map indicative of which data items of the data block are required to generate the representation portion to derive one or more transforms to be performed with the data block to generate the at least one row of the representation portion, and perform the one or more transforms with the data block to generate the at least one row.
9 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:
-
store, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receive, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; use the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; perform, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmit, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receive, at the node device, a command to store the data block from the coordinating device; receive, at the node device, the data block from the at least one source device; receive, at the node device, the command to generate at least one row of the representation portion from the coordinating device; and transmit, from the node device, the at least one row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one row of the representation data from at least one row of each representation portion of the plurality of representation portions. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
-
store, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receive, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; use the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; perform, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmit, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receive, at the node device, a command to store the data block from the coordinating device; receive, at the node device, the data block from the at least one source device; receive, at the node device, another command to generate at least one more row of the representation portion from the data block; retrieve first state data indicative of a state of the node device after the performance of the one or more transforms to generate the at least one row of the representation portion; use the first state data to prepare the node device for another performance of the one or more transforms with the data block to generate the at least one more row of the representation portion; store, at the node device, second state data indicative of a state of the node device after the another performance of the one or more transforms to generate the at least one more row of the representation portion; and transmit, from the node device, the at least one more row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one more row of the representation data from at least one more row of each representation portion of the plurality of representation portions. - View Dependent Claims (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:
-
store, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receive, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; use the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; perform, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmit, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receive, at the node device, a command to store the data block from the coordinating device; receive, at the node device, the data block from the at least one source device; receive, at the node device, the command to generate at least one row of the representation portion from the coordinating device; and transmit, from the node device, the at least one row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one row of the representation data from at least one row of each representation portion of the plurality of representation portions. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. 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:
-
store, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receive, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; use the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; perform, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmit, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receive, at the node device, a command to store the data block from the coordinating device; receive, at the node device, the data block from the at least one source device; receive, at the node device, another command to generate at least one more row of the representation portion from the data block; retrieve first state data indicative of a state of the node device after the performance of the one or more transforms to generate the at least one row of the representation portion; use the first state data to prepare the node device for another performance of the one or more transforms with the data block to generate the at least one more row of the representation portion; store, at the node device, second state data indicative of a state of the node device after the another performance of the one or more transforms to generate the at least one more row of the representation portion; and transmit, from the node device, the at least one more row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one more row of the representation data from at least one more row of each representation portion of the plurality of representation portions. - View Dependent Claims (18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
storing, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receiving, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; using the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; performing, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmitting, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receiving, at the node device, a command to store the data block from the coordinating device; receiving, at the node device, the data block from the at least one source device; receiving, at the node device, the command to generate at least one row of the representation portion from the coordinating device; and transmitting, from the node device, the at least one row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one row of the representation data from at least one row of each representation portion of the plurality of representation portions. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A computer-implemented method comprising:
-
storing, at a node device of a grid of node devices, a data block of a plurality of data blocks of a data blob, wherein; the plurality of data blocks of the data blob are distributed among the grid of node devices to be stored by the grid 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 node device, data blob metadata that comprises an indication of organization of the multiple data items within the data blob; receiving, at the node device, a command that originates from a requesting device to generate at least one row of a representation portion of a plurality of representation portions from the data block, wherein; a representation data that provides a two-dimensional (2D) representation of data items of the data blob is to be assembled from the plurality of representation portions; the plurality of representation portions is to be generated from a subset of data blocks of the plurality of data blocks by a subset of node devices of the grid of node devices that store the subset of data blocks; and the subset of node devices comprises the node device; using the data blob metadata and a node block map of a plurality of node block maps to derive one or more transforms to be performed at the node device with the data block to generate the at least one row of the representation portion, wherein; the plurality of node block maps is provided to the subset of node devices to generate the plurality of representation portions from the subset of data blocks; and the node block map comprises an indication of which data items of the data block are required to generate the representation portion, what data values are to be generated from the required data items, and an organization of the generated data values within the representation portion; performing, at the node device, the one or more transforms with the data block to generate the at least one row of the representation portion; transmitting, from the node device to a coordinating device of the grid of node devices, node data comprising an indication of availability of at least storage resources of the node device to enable the coordinating device to coordinate provision of the plurality of data blocks by at least one source device to the grid of node devices, and to coordinate storage of the plurality of data blocks by the grid of node devices; receiving, at the node device, a command to store the data block from the coordinating device; receiving, at the node device, the data block from the at least one source device; receiving, at the node device, another command to generate at least one more row of the representation portion from the data block; retrieving first state data indicative of a state of the node device after the performance of the one or more transforms to generate the at least one row of the representation portion; using the first state data to prepare the node device for another performance of the one or more transforms with the data block to generate the at least one more row of the representation portion; storing, at the node device, second state data indicative of a state of the node device after the another performance of the one or more transforms to generate the at least one more row of the representation portion; and transmitting, from the node device, the at least one more row of the representation portion to the coordinating device to enable generation, at the coordinating device, of at least one more row of the representation data from at least one more row of each representation portion of the plurality of representation portions. - View Dependent Claims (28, 29, 30)
-
Specification