Dotted Version Vectors: Logical Clocks for Optimistic Replication

In cloud computing environments, a large number of users access data stored in highly available storage systems. To provide good performance to geographically disperse users and allow operation even in the presence of failures or network partitions, these systems often rely on optimistic replication solutions that guarantee only eventual consistency. In this scenario, it is important to be able to accurately and efficiently identify updates executed concurrently. In this paper, first we review, and expose problems with current approaches to causality tracking in optimistic replication: these either lose information about causality or do not scale, as they require replicas to maintain information that grows linearly with the number of clients or updates. Then, we propose a novel solution that fully captures causality while being very concise in that it maintains information that grows linearly only with the number of servers that register updates for a given data element, bounded by the degree of replication.

[1]  Dahlia Malkhi,et al.  Concise Version Vectors in WinFS , 2005, DISC.

[2]  Bernadette Charron-Bost,et al.  Concerning the Size of Logical Clocks in Distributed Systems , 1991, Inf. Process. Lett..

[3]  Mukesh Singhal,et al.  Dependency sequences and hierarchical clocks: Efficient alternatives to vector clocks for mobile computing systems , 1997, Wirel. Networks.

[4]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[5]  Marvin Theimer,et al.  Flexible update propagation for weakly consistent replication , 1997, SOSP.

[6]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[7]  Alley Stoughton,et al.  Detection of Mutual Inconsistency in Distributed Systems , 1983, IEEE Transactions on Software Engineering.

[8]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[9]  Friedemann Mattern,et al.  Detecting causal relationships in distributed computations: In search of the holy grail , 1994, Distributed Computing.

[10]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[11]  Srinath T. V. Setty,et al.  Depot: Cloud Storage with Minimal Trust , 2010, TOCS.

[12]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[13]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[14]  F. Alajaji,et al.  c ○ Copyright by , 1998 .

[15]  Marvin Theimer,et al.  Session guarantees for weakly consistent replicated data , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[16]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[17]  Robert Wilensky,et al.  The hash history approach for reconciling mutual inconsistency , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[18]  Mustaque Ahamad,et al.  Plausible clocks: constant size logical clocks for distributed systems , 1996, Distributed Computing.

[19]  Richard A. Golding A Weak-Consistency Architecture for Distributed Information Services , 1992, Comput. Syst..

[20]  P. S. Almeida,et al.  Interval Tree Clocks , 2008, OPODIS.

[21]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

[22]  Catherine C. Marshall,et al.  A Platform for Content-based Partial Replication , 2009, NSDI.

[23]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.