A Commutative Replicated Data Type for Cooperative Editing

@article{Preguia2009ACR,
  title={A Commutative Replicated Data Type for Cooperative Editing},
  author={Nuno M. Preguiça and Joan Manuel Marqu{\`e}s and Marc Shapiro and Mihai Letia},
  journal={2009 29th IEEE International Conference on Distributed Computing Systems},
  year={2009},
  pages={395-403}
}
A Commutative Replicated Data Type (CRDT) is one where all concurrent operations commute. The replicas of a CRDT converge automatically, without complex concurrency control. This paper describes Treedoc, a novel CRDT design for cooperative text editing. An essential property is that the identifiers of Treedoc atoms are selected from a dense space. We discuss practical alternatives for implementing the identifier space based on an extended binary tree. We also discuss storage alternatives for… 
A comprehensive study of Convergent and Commutative Replicated Data Types
TLDR
This paper formalises asynchronous object replication, either state based or operation based, and provides a sufficient condition appropriate for each case, and describes several useful CRDTs, including container data types supporting bothadd and remove operations with clean semantics, and more complex types such as graphs, montonic DAGs, and sequences.
Scalable XML Collaborative Editing with Undo - (Short Paper)
TLDR
Compared to existing approaches for XML collaborative editing, this approach is more scalable and handles all the XML editing aspects: elements, contents, attributes and undo.
Convergent and Commutative Replicated Data Types
TLDR
This paper formalises asynchronous object replication, either state based or oper- ation based, and provides a sufficient condition appropriate for each case, and describes several useful CRDTs, including container data types supporting both add and remove operations with clean semantics, and more complex types such as graphs and monotonic DAGs.
Strong eventual consistency of the collaborative editing framework WOOT
TLDR
A novel approach is used identifying a previously unknown sort-key based protocol that simulates the WOOT framework to show its consistency and formalizes the proof using the Isabelle/HOL proof assistant to machine-check its correctness.
A Scalable Conflict-Free Replicated Set Data Type
  • Andrei Deftu, J. Griebsch
  • Computer Science
    2013 IEEE 33rd International Conference on Distributed Computing Systems
  • 2013
TLDR
This work improves the original CRDT specification by introducing an efficient algorithm for sending deltas of updates between replicas and by partitioning a set replica into disjunctive subsets, and adds support for limited-lifetime elements to enable simple garbage collection strategies to address the problem of unbounded database growth.
A Highly-Available Move Operation for Replicated Trees
TLDR
A CRDT algorithm that handles arbitrary concurrent modifications on trees, while ensuring that the tree structure remains valid (in particular, no cycles are introduced), and guaranteeing that all replicas converge towards the same consistent state is presented.
Abstract unordered and ordered trees CRDT
TLDR
This report designs a collection of tree CRDT using existing set CRDTs, and proposes to order these trees by adding a positioning layer which is also independent to obtain aCollection of ordered treeCRDTs.
Replicated abstract data types: Building blocks for collaborative applications
TLDR
This paper extends a few representative abstract data types, such as arrays, hash tables, and growable arrays, into replicated Abstract data types (RADTs), into which RGAs show significant improvement in performance, scalability, and reliability.
A Conflict-Free Replicated JSON Datatype
TLDR
This paper presents an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT).
A partial persistent data structure to support consistency in real-time collaborative editing
  • Qinyi Wu, C. Pu, J. Ferreira
  • Computer Science
    2010 IEEE 26th International Conference on Data Engineering (ICDE 2010)
  • 2010
TLDR
A new persistent data structure-partial persistent sequence is proposed that enables to create unique character identifiers that can be used for associating meta-information and tracking their changes, and also design simple view synchronization algorithms to guarantee data consistency under the presence of concurrent updates.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 27 REFERENCES
Designing a commutative replicated data type
TLDR
It is shown that the replicas of any data type for which concurrent operations commute converges to a correct value, under some simple and standard assumptions.
A New Operational Transformation Framework for Real-Time Group Editors
  • Rui Li, Du Li
  • Computer Science
    IEEE Transactions on Parallel and Distributed Systems
  • 2007
TLDR
This paper analyzes the root of correctness problems in OT and establishes a novel operational transformation framework for developing OT algorithms and proving their correctness.
How to Design Optimistic Operations for Peer-to-Peer Replication
TLDR
This paper introduces operation commutativity as a key principle in designing operations in order to manage distributed replicas consistent, and suggests effective schemes that make operations commutative using the relations of objects and operations.
An integrating, transformation-oriented approach to concurrency control and undo in group editors
TLDR
An improved version of an existing distributed algorithm for concurrency control that is based on operation transformations is presented and a set of necessary and sufficient conditions to be satisfied in order to ensure consistency in a replicated architecture is presented.
Semantics-Based Reconciliation for Collaborative and Mobile Environments
TLDR
Application experience indicates that IceCube simplifies application design, supports a wide variety of application semantics, and seamlessly integrates diverse applications.
Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks
TLDR
The Logoot approach is evaluated and compared to others using a corpus of all the edits applied on a set of the most edited and the biggest pages of Wikipedia to provide a peer-to-peer collaborative editing system.
Commutativity-based concurrency control for abstract data types
  • W. Weihl
  • Computer Science
    [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track
  • 1988
TLDR
Two novel concurrency control algorithms for abstract data types are presented and it is proved that both algorithms ensure a local atomicity property called dynamic atomicity, which means that they can be used in combination with any other algorithms that also ensureynamic atomicity.
Preserving operation effects relation in group editors
  • Du Li, Rui Li
  • Computer Science
    CSCW
  • 2004
TLDR
A novel approach to solving divergence and operation effects relation violation in the same framework is proposed, which preserves the effects relation of concurrent operations so that convergence is achieved automatically.
Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems
TLDR
This paper addresses the correctness issue by proposing a new way to model shared state by retaining tombstones when elements are removed and an instantiation of the proposed model for a linear data structure and the related transformation functions are provided.
Concurrency control in groupware systems
TLDR
An algorithm for concurrency control in real-time groupware systems is presented and its advantages are its simplicity of use and its responsiveness: users can operate directly on the data without obtaining locks.
...
1
2
3
...