Data and replica placement using r-out-of-k hash functions
First Claim
1. A data and replica placement method for a data store comprising a plurality of computing devices, comprising:
- dividing the computing devices into a number of groups corresponding to a first number, and maintaining a first number of hash functions and a second number corresponding to a replication factor, where the second number is less than the first number;
hashing a data item to a number of locations in the data store among the plurality of computing devices, the number of locations based on the first number; and
storing the data item on a number of the computing devices, the number of computing devices based on the second number.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed data store employs replica placement techniques in which a number k hash functions are used to compute k potential locations for a data item. A number r of the k locations are chosen for storing replicas. These replica placement techniques provide a system designer with the freedom to choose r from k, are structured in that they are determined by a straightforward functional form, and are diffuse such that the replicas of the items on one server are scattered over many other servers. The resulting storage system exhibits excellent storage balance and request load balance in the presence of incremental system expansions, server failures, and load changes. Data items may be created, read, and updated or otherwise modified.
-
Citations
19 Claims
-
1. A data and replica placement method for a data store comprising a plurality of computing devices, comprising:
-
dividing the computing devices into a number of groups corresponding to a first number, and maintaining a first number of hash functions and a second number corresponding to a replication factor, where the second number is less than the first number; hashing a data item to a number of locations in the data store among the plurality of computing devices, the number of locations based on the first number; and storing the data item on a number of the computing devices, the number of computing devices based on the second number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data and replica placement method for a data store, comprising:
-
hashing a data item to a number of locations in the data store among a plurality of computing devices, the number of locations based on a first number; storing the data item on a number of the computing devices, the number of computing devices based on a second number, where the second number is less than the first number; and updating or modifying the data item on the number of computing devices. - View Dependent Claims (12, 13)
-
-
14. A data and replica placement method for a data store comprising a plurality of computing devices, comprising:
-
storing a data item on a number of the computing devices; detecting a failure of one of the computing devices on which the data item is stored; determining an unused storage location on another of the computing devices outside of the number of computing devices on which the data item is stored; and copying the data item from one of the computing devices on which the data item is stored to the unused location. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification