×

Distributed data storage grouping

  • US 10,402,372 B2
  • Filed: 12/27/2018
  • Issued: 09/03/2019
  • Est. Priority Date: 07/27/2015
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising a processor component and a storage to store instructions that, when executed by the processor component, cause the processor component to perform operations comprising:

  • receive, at a node device of multiple node devices, and from a control device via a network, a node device identifier of a set of node device identifiers assigned by the control device to multiple node devices, wherein;

    the set of node device identifiers defines an ascending or descending series of numerical values that define an ordering among the multiple node devices; and

    the ordering among the node devices defines a corresponding ordering among subsets of multiple blocks of data of a data set that are distributed among the multiple node devices;

    transmit, to the control device via the network, an indication of a total size of a first subset of the multiple blocks of data that is stored within the storage of the node device;

    receive, from the control device via the network, a block exchange instruction for the node device to participate in a performance of a set of block exchanges in which at least one node device of the multiple node devices serves as a source device to transmit one of the subsets of the multiple blocks of data to another node device of the multiple node devices that serves as a target node device; and

    in response to the block exchange instruction comprising an indication that the node device is to serve as a target node to receive a second subset of the multiple blocks of data from another node device that serves as a source node device in the set of block exchanges, the processor component is caused to perform operations comprising;

    receive, from the source node device via the network, the second subset;

    store the second subset in the storage;

    as part of a registration of the multiple blocks of data by the multiple node devices, transmit, to the control device via the network, an indication of a size of each block of data, or of each sub-block of each block of data, of the first subset and of the second subset, and in an order among the blocks of data of the first subset and the second subset that corresponds to an ordering among the multiple blocks of data that corresponds to the ordering among the multiple node devices;

    group, by the processor component, the blocks of data of the first subset and the second subset into multiple segments of the data set in an order within each segment of the multiple segments and in an order among the multiple segments that corresponds to the ordering among the multiple blocks of data, wherein each segment of the multiple segments is formed to have a size that meets a minimum threshold size imposed on units of data that are transmitted to one or more storage devices;

    transmit, to the one or more storage devices via the network, the multiple segments;

    receive, from the one or more storage devices via the network, multiple segment identifiers, wherein each segment identifier of the multiple segment identifiers corresponds to a segment of the multiple segments; and

    transmit, to the control device via the network, the multiple segment identifiers in an order that corresponds to the ordering among the multiple segments.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×