×

Massively scalable object storage for storing object replicas

  • US 9,116,629 B2
  • Filed: 09/13/2013
  • Issued: 08/25/2015
  • Est. Priority Date: 03/08/2011
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for storing data, comprising:

  • providing a plurality of physical storage pools, each physical storage pool including a plurality of storage nodes coupled to a network, and each storage node further providing a non-transitory computer readable medium for data storage;

    mapping a first partition of a plurality of partitions to a first set of the physical storage pools, wherein the mapping includes creating a plurality of replicas of a data object for the first partition, wherein each physical storage pool of the first set thereof is located in a different availability zone, and wherein the storage nodes within a particular availability zone are subject to a correlated loss of access to data objects stored therein;

    receiving a particular data management request over the network, the received data management request being associated with the data object;

    modifying an attribute of the data object;

    applying a hash function to the modified attribute;

    identifying, based on a result of the hash function, the first partition of the plurality of partitions as corresponding to the received data management request;

    manipulating the particular data object in the physical storage pools mapped to the first partition in accordance with the data management request;

    modifying the result of the hash function to determine a plurality of different results;

    for each data object replica of the plurality of data object replicas, storing the respective data object replica in a storage pool corresponding to a result of the plurality of different results;

    determining that a first data object replica stored in a first storage pool is stored in the same availability zone as a second data object replica stored in a second storage pool; and

    rebalancing the first and second data object replicas, wherein the rebalancing includes applying a constrained mapping function to bits of the results of the plurality of results, wherein a number of bits to which the constrained mapping function is applied is a partition power, and wherein after the rebalancing the first and second data object replicas are stored in different availability zones.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×