English

Collabs: A Flexible and Performant CRDT Collaboration Framework

Distributed, Parallel, and Cluster Computing 2023-10-17 v2 Data Structures and Algorithms

Abstract

A collaboration framework is a distributed system that serves as the data layer for a collaborative app. Conflict-free Replicated Data Types (CRDTs) are a promising theoretical technique for implementing collaboration frameworks. However, existing frameworks are inflexible: they are often one-off implementations of research papers or only permit a restricted set of CRDT semantics, and they do not allow app-specific optimizations. Until now, there was no general framework that lets programmers mix, match, and modify CRDTs. We solve this with Collabs, a CRDT-based collaboration framework that lets programmers implement their own CRDTs, either from-scratch or by composing existing building blocks. Collabs prioritizes both semantic flexibility and performance flexibility: it allows arbitrary app-specific CRDT behaviors and optimizations, while still providing strong eventual consistency. We demonstrate Collabs's capabilities and programming model with example apps and CRDT implementations. We then show that a collaborative rich-text editor using Collabs's built-in CRDTs can scale to over 100 simultaneous users, unlike existing CRDT frameworks and Google Docs. Collabs also has lower end-to-end latency and server CPU usage than a popular Operational Transformation framework, with acceptable CRDT metadata overhead.

Keywords

Cite

@article{arxiv.2212.02618,
  title  = {Collabs: A Flexible and Performant CRDT Collaboration Framework},
  author = {Matthew Weidner and Huairui Qi and Maxime Kjaer and Ria Pradeep and Benito Geordie and Yicheng Zhang and Gregory Schare and Xuan Tang and Sicheng Xing and Heather Miller},
  journal= {arXiv preprint arXiv:2212.02618},
  year   = {2023}
}

Comments

18 pages, 19 figures

R2 v1 2026-06-28T07:22:59.341Z