A Generic Undo Support for State-Based CRDTs - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2019

A Generic Undo Support for State-Based CRDTs


CRDTs (Conflict-free Replicated Data Types) have properties desirable for large-scale distributed systems with variable network latency or transient partitions. With CRDT, data are always available for local updates and data states converge when the replicas have incorporated the same updates. Undo is useful for correcting human mistakes and for restoring system-wide invariant violated due to long delays or network partitions. There is currently no generally applicable undo support for CRDTs. There are at least two reasons for this. First, there is currently no abstraction that we can practically use to capture the relations between undo and normal operations with respect to concurrency and causality. Second, using inverse operations as the existing partial solutions, the CRDT designer has to hard-code certain rules and design a new CRDT for almost every operation that needs undo support. In this paper, we present an approach to generic support of undo for CRDTs. The approach consists of two major parts. We first work out an abstraction that captures the semantics of concurrent undo and redo operations through equivalence classes. The abstraction is a natural extension of undo and redo in sequential applications and is straightforward to implement in practice. By using this abstraction, we then device a mechanism to augment existing CRDTs. The mechanism provides an "out of the box" support for undo without the involvement of the CRDT designers. We also present a practical application of the approach in collaborative editing.
Fichier principal
Vignette du fichier
opodis2019.pdf (480.59 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-02370231 , version 1 (19-11-2019)



Weihai Yu, Victorien Elvinger, Claudia-Lavinia Ignat. A Generic Undo Support for State-Based CRDTs. OPODIS 2019 - Proceedings of 23rd International Conference on Principles of Distributed Systems, Dec 2019, Neuchâtel, Switzerland. ⟨10.4230/LIPIcs.OPODIS.2019.14⟩. ⟨hal-02370231⟩
107 View
701 Download



Gmail Facebook X LinkedIn More