×

System and method for providing high availability data

  • US 11,288,002 B2
  • Filed: 12/28/2015
  • Issued: 03/29/2022
  • Est. Priority Date: 03/31/2006
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • a distributed data store comprising a plurality of computing devices comprising respective hardware processors and memory and configured to implement a plurality storage hosts that store a plurality of data sets for the distributed data store, wherein individual ones of the storage hosts are assigned to a plurality of different hash value ranges of a set of hash values mapped to different ones of the data sets;

    the distributed data store, configured to;

    receive an access request over a network for one of the data sets stored in the distributed data store from a client of the distributed data store, wherein the access request identifies a key associated with the data set, wherein the access request is a request to perform a write operation to modify data in the data set;

    generate a hash value for the data set based, at least in part, on the identified key according to a hash function for identifying storage hosts that store versions of the data sets;

    identify a first storage host of the storage hosts that stores a first version of the data set to service the access request that is assigned to a first hash value range of the hash value ranges that includes the hash value for the data set;

    from a second hash value range of the hash value ranges that is determined to be successive to the first hash value range in an order for selecting hosts from the hash value ranges, select a second storage host of the storage hosts that stores a second version of the data set, wherein the second storage host is assigned to the second hash value range;

    direct the access request to the data set to be performed at both the first storage host and the second storage host before returning a response for the access request over the network to the client; and

    wherein the selection of the second storage host of the storage hosts that stores the second version of the data set is performed as part of an identification of a number of storage hosts including the second storage host such that the write operation is successfully completed in satisfaction of a write quorum requirement before returning the response.

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