Nested Pure Operation-Based CRDTs

Research output: Chapter in Book/Report/Conference proceedingConference paper

Abstract

Modern distributed applications increasingly replicate data to guarantee high availability and optimal user experience. Conflict-free Replicated Data Types (CRDTs) are a family of data types specially designed for highly available systems that guarantee some form of eventual consistency. Designing CRDTs is very difficult because it requires devising designs that guarantee convergence in the presence of conflicting operations. Even though design patterns and structured frameworks have emerged to aid developers with this problem, they mostly focus on statically structured data; nesting and dynamically changing the structure of a CRDT remains to be an open issue.

This paper explores support for nested CRDTs in a structured and systematic way. To this end, we define an approach for building nested CRDTs based on the work of pure operation-based CRDTs, resulting in nested pure operation-based CRDTs. We add constructs to control the nesting of CRDTs into a pure operation-based CRDT framework and show how several well-known CRDT designs can be defined in our framework. We provide an implementation of nested pure operation-based CRDTs as an extension to the Flec, an existing TypeScript-based framework for pure operation-based CRDTs. We validate our approach, 1) by implementing a portfolio of nested data structures, 2) by implementing and verifying our approach in the VeriFx language, and 3) by implementing a real-world application scenario and comparing its network usage against an implementation in the closest related work, Automerge. We show that the framework is general enough to nest well-known CRDT designs like maps and lists, and its performance in terms of network traffic is comparable to the state of the art.
Original languageEnglish
Title of host publicationNested Pure Operation-Based CRDTs
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Chapter2
Pages1-26
Number of pages26
VolumeEuropean Conference on Object-Oriented Programming (ECOOP 2023)
Edition37th
ISBN (Electronic)978-3-95977-281-5
Publication statusPublished - 2023
EventEuropean Conference on Object-Oriented Programming - University of Washington, Seattle campus, Seattle, United States
Duration: 17 Jul 202321 Jul 2023
Conference number: 2023

Publication series

NameLeibniz International Proceedings in Informatics
PublisherSchloss Dagstuhl – Leibniz-Zentrum für Informatik
Volume263
ISSN (Electronic)1868-8969

Conference

ConferenceEuropean Conference on Object-Oriented Programming
Abbreviated titleECOOP
Country/TerritoryUnited States
CitySeattle
Period17/07/2321/07/23

Fingerprint

Dive into the research topics of 'Nested Pure Operation-Based CRDTs'. Together they form a unique fingerprint.

Cite this