Replicating data across data centers
First Claim
1. A method comprising:
- identifying a data item stored at a first computing device of a network that includes a plurality of computing devices, the network including a plurality of copies of the data item distributed across the plurality of computing devices of the network;
sending, from the first computing device to the plurality of computing devices, a request for a prioritized message from each of the plurality of computing devices, each given prioritized message comprising at least an update indicator associated with a most recent time a copy of the data item was updated at each given computing device of the plurality of computing devices;
receiving, at the first computing device, a plurality of prioritized messages from at least one of the plurality of computing devices, wherein at least one of the plurality of prioritized messages was received via a privileged path;
determining that a reply threshold has been met based at least partially on a total number of received prioritized messages;
based on determining that the reply threshold has been met, analyzing the plurality of received prioritized messages to identify a particular prioritized message having a first update indicator that is associated with a copy of the data item that is most recent as compared to all of the plurality of received prioritized messages;
based on identifying the particular prioritized message, identifying a particular computing device of the plurality of computing devices of the network at which the most recent copy of the data item is stored;
sending, from the first computing device to the particular computing device, a request for the most recent copy of the data item to be distributed to the plurality of computing devices of the network; and
receiving, at the first computing device, the most recent copy of the data item via a non-privileged path.
2 Assignments
0 Petitions
Accused Products
Abstract
The present techniques prioritize transmission of feature information associated with data copies in data transmission, and selectively transmit the data copies when necessary. As the size of the feature information is small compared with the data copies, and as feature information is transmitted using prioritized messages, delays caused by congestion in the network are reduced. Based on the use of prioritized messages, the present techniques provide solutions for replicating data across data centers when conducting various data operations including reading, writing, and modifying data. The present techniques also replicate data across data centers while providing consistency, access locality, and disaster tolerance.
-
Citations
20 Claims
-
1. A method comprising:
-
identifying a data item stored at a first computing device of a network that includes a plurality of computing devices, the network including a plurality of copies of the data item distributed across the plurality of computing devices of the network; sending, from the first computing device to the plurality of computing devices, a request for a prioritized message from each of the plurality of computing devices, each given prioritized message comprising at least an update indicator associated with a most recent time a copy of the data item was updated at each given computing device of the plurality of computing devices; receiving, at the first computing device, a plurality of prioritized messages from at least one of the plurality of computing devices, wherein at least one of the plurality of prioritized messages was received via a privileged path; determining that a reply threshold has been met based at least partially on a total number of received prioritized messages; based on determining that the reply threshold has been met, analyzing the plurality of received prioritized messages to identify a particular prioritized message having a first update indicator that is associated with a copy of the data item that is most recent as compared to all of the plurality of received prioritized messages; based on identifying the particular prioritized message, identifying a particular computing device of the plurality of computing devices of the network at which the most recent copy of the data item is stored; sending, from the first computing device to the particular computing device, a request for the most recent copy of the data item to be distributed to the plurality of computing devices of the network; and receiving, at the first computing device, the most recent copy of the data item via a non-privileged path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
one or more processors; and one or more computer readable storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to update redundant data within a plurality of computing devices in a network using minimal network bandwidth, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following; identify a data item stored at a first computing device of a network that includes a plurality of computing devices, the network including a plurality of copies of the data item distributed across the plurality of computing devices of the network; send, from the first computing device to the plurality of computing devices, a request for a prioritized message from each of the plurality of computing devices, each given prioritized message comprising at least an update indicator associated with a most recent time a copy of the data item was updated at each given computing device of the plurality of computing devices; receive, at the first computing device, a plurality of prioritized messages from at least one of the plurality of computing devices, wherein at least one of the plurality of prioritized messages was received via a privileged path; determine that a reply threshold has been met based at least partially on a total number of received prioritized messages; based on determining that the reply threshold has been met, analyze the plurality of received prioritized messages to identify a particular prioritized message having a first update indicator that is associated with a copy of the data item that is most recent as compared to all of the plurality of received prioritized messages; based on identifying the particular prioritized message, identify a particular computing device of the plurality of computing devices of the network at which the most recent copy of the data item is stored; send, from the first computing device to the particular computing device, a request for the most recent copy of the data item to be distributed to the plurality ofcomputing devices of the network; and receive, at the first computing device, the most recent copy of the data item via a non-privileged path. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer program product comprising one or more hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to update redundant data within a plurality of computing devices in a network using minimal network bandwidth, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following:
-
identify a data item stored at a first computing device of a network that includes a plurality of computing devices, the network including a plurality of copies of the data item distributed across the plurality of computing devices of the network; send, from the first computing device to the plurality of computing devices, a request for a prioritized message from each of the plurality of computing devices, each given prioritized message comprising at least an update indicator associated with a most recent time a copy of the data item was updated at each given computing device of the plurality of computing devices; receive, at the first computing device, a plurality of prioritized messages from at least one of the plurality of computing devices, wherein at least one of the plurality of prioritized messages was received via a privileged path; determine that a reply threshold has been met based at least partially on a total number of received prioritized messages; based on determining that the reply threshold has been met, analyze the plurality of received prioritized messages to identify a particular prioritized message having a first update indicator that is associated with a copy of the data item that is most recent as compared to all of the plurality of received prioritized messages; based on identifying the particular prioritized message, identify a particular computing device of the plurality of computing devices of the network at which the most recent copy of the data item is stored; send, from the first computing device to the particular computing device, a request for the most recent copy of the data item to be distributed to the plurality of computing devices of the network; and receive, at the first computing device, the most recent copy of the data item via a non-privileged path.
-
Specification