A Commutative Replicated Data Type for Cooperative Editing

  • Authors:
  • Nuno Preguica;Joan Manuel Marques;Marc Shapiro;Mihai Letia

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ICDCS '09 Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.