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

Auteurs : Matthew Weidner, Joseph Gentle, Martin Kleppmann

32 pages, 9 figures
Licence : CC BY 4.0

Résumé : 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 presents Fugue, the first algorithm that guarantees maximal non-interleaving, our new correctness property for replicated lists. We present two variants of the Fugue algorithm, one based on a tree and the other based on a list, and prove that they are semantically equivalent. We also implement Fugue and demonstrate that it offers performance comparable to state-of-the-art CRDT libraries for text editing.

Soumis à arXiv le 30 Avr. 2023

Explorez l'arbre d'article

Cliquez sur les nœuds de l'arborescence pour être redirigé vers un article donné et accéder à leurs résumés et assistant virtuel

Accédez également à nos Résumés, ou posez des questions sur cet article à notre Assistant IA.

Beta

Recherchez des articles similaires (en version bêta)

Nous comparons le titre et le résumé avec les articles indexés dans notre base. Pour les articles arXiv, la recherche porte sur la même catégorie ; pour les DOI et les autres sources, elle couvre toutes les sources et disciplines. Vous pouvez la relancer à mesure que notre base s’enrichit.