The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Weidner, Matthew, Kleppmann, Martin
Formato: Preprint
Publicado: 2023
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866912661103443968
author Weidner, Matthew
Kleppmann, Martin
author_facet Weidner, Matthew
Kleppmann, Martin
contents Most existing algorithms for replicated lists, which are widely used in collaborative text editors, suffer from a problem: when two users concurrently insert text at the same position in the document, the merged outcome may interleave the inserted text passages, resulting in corrupted and potentially unreadable text. The problem has gone unnoticed for decades, and it affects both CRDTs and Operational Transformation. This paper defines maximal non-interleaving, our new correctness property for replicated lists. We introduce two related CRDT algorithms, Fugue and FugueMax, and prove that FugueMax satisfies maximal non-interleaving. We also implement our algorithms and demonstrate that Fugue offers performance comparable to state-of-the-art CRDT libraries for text editing.
format Preprint
id arxiv_https___arxiv_org_abs_2305_00583
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
Weidner, Matthew
Kleppmann, Martin
Distributed, Parallel, and Cluster Computing
Data Structures and Algorithms
Most existing algorithms for replicated lists, which are widely used in collaborative text editors, suffer from a problem: when two users concurrently insert text at the same position in the document, the merged outcome may interleave the inserted text passages, resulting in corrupted and potentially unreadable text. The problem has gone unnoticed for decades, and it affects both CRDTs and Operational Transformation. This paper defines maximal non-interleaving, our new correctness property for replicated lists. We introduce two related CRDT algorithms, Fugue and FugueMax, and prove that FugueMax satisfies maximal non-interleaving. We also implement our algorithms and demonstrate that Fugue offers performance comparable to state-of-the-art CRDT libraries for text editing.
title The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
topic Distributed, Parallel, and Cluster Computing
Data Structures and Algorithms
url https://arxiv.org/abs/2305.00583