Participants : Marc Shapiro [ correspondent ] , Olivier Pérès, Mihai Letia.
A Commutative Replicated Data Type (CRDT) is one where all concurrent operations commute. The replicas of a CRDT converge automatically, without complex concurrency control. We designed and developed a novel CRDT design for cooperative text editing, called Treedoc. It is designed over a dense identifier space based on a binary trees. Treedoc also includes an innovative garbage collection algorithm based on tree rebalancing. In the best case, Treedoc incurs no overhead with respect to a linear text buffer. The implementation has been validated with performance measurements, based on real traces of social text editing in Wikipedia and SVN.
This work is published at ICDCS 2009  and LADIS 2009  . The code is freely available on http://gforge.inria.fr under a BSD license.