Coherency of replicas for a distributed file sharing system
First Claim
1. A system comprising:
- a plurality of computing nodes, including a first node configured to store a first timestamp associated with a first replica of an object, wherein the first replica is stored on the first node;
wherein in response to receiving a read request to read data from the object, the first node is configured to;
determine whether an amount of time elapsed since a time indicated by the first timestamp exceeds a threshold amount;
if the amount of time elapsed does not exceed the threshold amount, respond to the read request by returning data from the first replica stored on the first node;
if the amount of time elapsed does exceed the threshold amount, synchronize the first replica of the object stored on the first node with a second replica of the object stored on a second node of the plurality of nodes; and
after said synchronizing, respond to the read request by returning data from the first replica stored on the first node.
6 Assignments
0 Petitions
Accused Products
Abstract
A plurality of data objects may be replicated across a plurality of computing nodes coupled to a network. The network may include a first node operable to initiate an update operation to update a plurality of replicas of a first object. If one or more of the replicas are not reachable then the update operation may update a subset (e.g., a quorum) but not all of the replicas. For each node on which one of the replicas was updated in the update operation, the node may add the object to a list of incoherent objects. The list of incoherent objects may subsequently be used to bring the lagging replicas in sync with the replicas that were updated. In another embodiment, a plurality of replicas of an object may be stored on a plurality of nodes, similarly as described above. A first node that stores a replica of the object may store a first timestamp associated with the replica on the first node. The timestamp may be used to ensure that the replica on the first node is coherent with respect to one or more other replicas by periodically communicating with the one or more other replicas when a threshold amount of time has passed without the replica on the first node receiving an update.
-
Citations
14 Claims
-
1. A system comprising:
-
a plurality of computing nodes, including a first node configured to store a first timestamp associated with a first replica of an object, wherein the first replica is stored on the first node; wherein in response to receiving a read request to read data from the object, the first node is configured to; determine whether an amount of time elapsed since a time indicated by the first timestamp exceeds a threshold amount; if the amount of time elapsed does not exceed the threshold amount, respond to the read request by returning data from the first replica stored on the first node; if the amount of time elapsed does exceed the threshold amount, synchronize the first replica of the object stored on the first node with a second replica of the object stored on a second node of the plurality of nodes; and after said synchronizing, respond to the read request by returning data from the first replica stored on the first node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-accessible storage medium storing program instructions executable by a first node of a plurality of computing nodes to cause the first node to:
-
store a first replica of an object; store a first timestamp associated with the first replica; in response to receiving a read request to read data from the object; determine whether an amount of time elapsed since a time indicated by the first timestamp exceeds a threshold amount; if the amount of time elapsed does not exceed the threshold amount, respond to the read request by returning data from the first replica; if the amount of time elapsed does exceed the threshold amount, synchronize the first replica of the object with a second replica of the object stored on a second node of the plurality of nodes; and after said synchronizing, respond to the read request by returning data from the first replica of the object. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
a first node of a plurality of computing nodes storing a first replica of an object; the first node storing a first timestamp associated with the first replica; in response to the first node receiving a read request to read data from the object; the first node determining whether an amount of time elapsed since a time indicated by the first timestamp exceeds a threshold amount; and if the amount of time elapsed does not exceed the threshold amount, the first node responding to the read request by returning data from the first replica stored on the first node; if the amount of time elapsed does exceed the threshold amount, the first node synchronizing the first replica of the object stored on the first node with a second replica of the object stored on a second node of the plurality of nodes; and after said synchronizing, the first node responding to the read request by returning data from the first replica stored on the first node. - View Dependent Claims (14)
-
Specification