A Generic Undo Support for State-Based CRDTs

Weihai Yu 1 Victorien Elvinger 2 Claudia-Lavinia Ignat 2
2 COAST - Web Scale Trustworthy Collaborative Service Systems
Inria Nancy - Grand Est, LORIA - NSS - Department of Networks, Systems and Services
Abstract : 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.
Complete list of metadatas

Cited literature [29 references]  Display  Hide  Download

https://hal.inria.fr/hal-02370231
Contributor : Claudia-Lavinia Ignat <>
Submitted on : Tuesday, November 19, 2019 - 1:01:01 PM
Last modification on : Wednesday, November 20, 2019 - 2:24:52 AM

File

opodis2019.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

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

Share

Metrics

Record views

20

Files downloads

75