A Generic Undo Support for State-Based CRDTs - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2019

A Generic Undo Support for State-Based CRDTs

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

Citer

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⟩
126 Consultations
1012 Téléchargements

Altmetric

Partager

More