×

Distributed data storage grouping

  • US 10,311,023 B1
  • Filed: 12/27/2018
  • Issued: 06/04/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:

  • transmit, from a control device, and to multiple node devices via a network, a set of node device identifiers to assign each node device of the multiple node devices a different node device identifier of the set of node device identifiers, 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;

    receive, from the multiple node devices via the network, an indication of a total size of the subset of the multiple blocks of data distributed to each node device of the multiple node devices;

    derive, by the processor component, a set of block exchanges based on the total sizes of the subsets received from the multiple node devices and a minimum threshold size imposed on units of data of the data set to be transmitted to one or more storage devices, wherein;

    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;

    following a performance of the set of block exchanges, the data set remains distributed to a reduced number of the multiple node devices;

    either each node device of the reduced number of node devices, or each node device but one of the reduced number of node devices, stores an amount of the data of the data set that is greater than the minimum threshold size; and

    the set of block exchanges follows a block exchange rule that each transfer of one of the subsets of the multiple blocks of data in the set of block exchanges is to be from a lower-order source node device and to a higher-order target node device in the ordering among the multiple node devices, or that each transfer of one of the subsets of the multiple blocks of data is to be from a higher-order source node device and to a lower-order target node device in the ordering among the multiple node devices;

    generate a block exchange vector that identifies each source node device and each target node device in the set of block exchanges based on the set of node device identifiers; and

    transmit the block exchange vector to the multiple node devices as a block exchange instruction to cause a performance of the set of block exchanges among the multiple node devices.

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