Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented data storage system comprising: mapping logic executed by a processor configured to execute instructions stored in memory, the mapping logic configured to map responsibility for storing a plurality of data sets to a plurality of data centers and to a plurality of hosts within the plurality of data centers, the plurality of data centers corresponding to a ring topology; data set replication logic executed by a processor configured to execute instructions stored in memory the data set replication logic configured to write a first plurality of copies of a data set at a first subset of the plurality of hosts within a first subset of the plurality of data centers, the first subset of the plurality of data centers corresponding to a first ordered sequence of data centers around the ring topology from a starting data center on the ring topology, the first ordered sequence identified as a function of a multi-part key corresponding to the data set; data set retrieval logic executed by a processor configured to execute instructions stored in memory the data set retrieval logic configured to read a second plurality of copies of the data set at a second subset of the plurality of hosts within a second subset of the plurality of data centers; and data set comparison logic executed by a processor configured to execute instructions stored in memory, the data set comparison logic configured to evaluate causal relationships between elements of the second plurality of copies of the data set to provide a single copy of the data set, the evaluation of causal relationships including at least an evaluation of causal relationships between elements in the second plurality of copies of the data set that are not causal ancestors of other elements in the second plurality of copies of the data set.
2. The computer-implemented data storage system of claim 1 , wherein the first ordered sequence of data centers around the ring topology corresponds to a fixed number of data centers on the ring topology between each data center in the first subset of the plurality of data centers.
3. The computer-implemented data storage system of claim 1 , wherein the first ordered sequence of data centers around the ring topology corresponds to an increasing or decreasing number of data centers on the ring topology between each data center in the first subset of the plurality of data centers.
4. The computer-implemented data storage system of claim 1 , wherein at least a third subset of the plurality of data centers are excluded from the ring topology for the purpose of applying the ordered sequence.
5. The computer-implemented data storage system of claim 1 , wherein the second subset of the plurality of data centers corresponds to the first ordered sequence of data centers around the ring topology from a starting data center on the ring topology.
6. The computer-implemented data storage system of claim 5 , wherein at least one element in the first subset of data centers and the second subset of data centers are different.
7. The computer-implemented data storage system of claim 1 , wherein the first subset of the first subset of the plurality of hosts within the plurality of data centers comprises a set of one or more hosts in the first subset of the plurality of hosts within each data center of the first subset of the plurality of data centers.
8. The computer-implemented data storage system of claim 7 , wherein each set of the one or more hosts in the first subset of the plurality of hosts within each data center of the first subset of the plurality of data centers corresponds to a ring topology.
9. The computer-implemented data storage system of claim 8 , wherein writing the first plurality of copies of the data set at the first subset of the plurality of hosts within the first subset of the plurality of data centers includes writing data to a first ordered sequence of hosts around a ring topology from a starting host on the ring topology.
10. The computer-implemented data storage system of claim 9 , wherein reading a second plurality of copies of a data set at the second subset of the plurality of hosts within the first subset of the plurality of data centers includes reading data from a second ordered sequence of hosts around the ring topology from a starting host on the ring topology.
11. A computer-implemented method comprising: obtaining a data set; writing a first plurality of copies of the data set at a first plurality of hosts within a first subset of a plurality of data centers, wherein the plurality of data centers corresponds to a ring topology, and wherein the first subset of the plurality of data centers corresponds to a first ordered sequence of data centers around the ring topology from a starting data center on the ring topology, the first ordered sequence identified as a function of a multi-part key corresponding to the data set; reading a second plurality of copies of the data set at a second plurality of hosts within a second subset of the plurality of data centers; evaluating causal relationships between elements of the second plurality of copies of the data set, wherein evaluating causal relationships comprises at least evaluating causal relationships between elements in the second plurality of copies of the data set that are not causal ancestors of other elements in the second plurality of copies of the data set; and determining a single copy of the data set from the second plurality of copies of the data set based on the evaluated causal relationships between the elements of the second plurality of copies of the data set.
12. The computer-implemented method of claim 11 , wherein the first ordered sequence of data centers around the ring topology corresponds to a fixed number of data centers on the ring topology between each data center in the first subset of the plurality of data centers.
13. The computer-implemented method of claim 11 , wherein the first ordered sequence of data centers around the ring topology corresponds to a variable number of data centers on the ring topology between each data center in the first subset of the plurality of data centers.
14. The computer-implemented method of claim 11 , further comprising excluding one or more data centers from the ring topology for the purpose of applying the first ordered sequence.
15. The computer-implemented method of claim 11 , wherein the second subset of the plurality of data centers corresponds to the first ordered sequence of data centers around the ring topology from a starting data center on the ring topology.
16. The computer-implemented method of claim 15 , wherein at least one element in the first subset of data centers and the second subset of data centers are different.
17. The computer-implemented method of claim 11 , wherein the first plurality of hosts within the first subset of the plurality of data centers comprises a set of one or more hosts in the first plurality of hosts within each data center of the first subset of the plurality of data centers.
18. The computer-implemented method of claim 17 , wherein each set of the one or more hosts in the first plurality of hosts within each data center of the first subset of the plurality of data centers corresponds to a ring topology.
19. The computer-implemented method of claim 18 , wherein writing the first plurality of copies of the data set at the first plurality of hosts within the first subset of the plurality of data centers includes writing data to a first ordered sequence of hosts around a ring topology from a starting host on the ring topology.
20. The computer-implemented method of claim 19 , wherein reading the second plurality of copies of a data set at the second plurality of hosts within the second subset of the plurality of data centers includes reading data from a second ordered sequence of hosts around a ring topology from a starting host on the ring topology.
Unknown
April 22, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.