2009 29th IEEE International Conference on Distributed Computing Systems (2009)
Montreal, Quebec, Canada
June 22, 2009 to June 26, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICDCS.2009.20
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 data and meta-data, and mechanisms for compacting the tree. In the best case, Treedoc incurs no overhead with respect to a linear text buffer. We validate the results with traces from existing edit histories.
commutative replicated data type, distributed algorithms, replicated data, co-operative editing, dense identifier space
Nuno Preguica, Joan Manuel Marquès, Marc Shapiro, Mihai Letia, "A Commutative Replicated Data Type for Cooperative Editing", 2009 29th IEEE International Conference on Distributed Computing Systems, vol. 00, no. , pp. 395-403, 2009, doi:10.1109/ICDCS.2009.20