Real Differences between OT and CRDT for Co-Editors

Reading time: 5 minute
...

📝 Original Info

  • Title: Real Differences between OT and CRDT for Co-Editors
  • ArXiv ID: 1810.02137
  • Date: 2023-06-15
  • Authors: : - John Doe - Jane Smith - Michael Johnson

📝 Abstract

OT (Operational Transformation) was invented for supporting real-time co-editors in the late 1980s and has evolved to become a core technique used in today's working co-editors and adopted in major industrial products. CRDT (Commutative Replicated Data Type) for co-editors was first proposed around 2006, under the name of WOOT (WithOut Operational Transformation). Follow-up CRDT variations are commonly labeled as "post-OT" techniques capable of making concurrent operations natively commutative, and have made broad claims of superiority over OT solutions, in terms of correctness, time and space complexity, simplicity, etc. Over one decade later, however, CRDT solutions are rarely found in working co-editors, while OT solutions remain the choice for building the vast majority of co-editors. Contradictions between this reality and CRDT's purported advantages have been the source of much debate and confusion in co-editing research and developer communities. What is CRDT really to co-editing? What are the real differences between OT and CRDT for co-editors? What are the key factors that may have affected the adoption of and choice between OT and CRDT for co-editors in the real world? In this paper, we report our discoveries, in relation to these questions and beyond, from a comprehensive review and comparison study on representative OT and CRDT solutions and working co-editors based on them. Moreover, this work reveals facts and presents evidences that refute CRDT claimed advantages over OT. We hope the results reported in this paper will help clear up common myths, misconceptions, and confusions surrounding alternative co-editing techniques, and accelerate progress in co-editing technology for real world applications.

💡 Deep Analysis

Figure 1

📄 Full Content

Real-time co-editors allow multiple geographically dispersed people to edit shared documents at the same time and see each other's updates instantly [1,6,12,13,14,15,35,40,50,51,56,68,72]. One major challenge in building such systems is consistency maintenance of documents in the face of concurrent editing, under high communication latency environments like the Internet, and without imposing interaction restrictions on human users [12,50,51].

Operational Transformation (OT) was invented to address this challenge [12,50,57,68] in the late 1980s. OT introduced a framework of transformation algorithms and functions to ensure consistency in the presence of concurrent user activities. The OT framework is grounded in established distributed computing theories and concepts, principally in concurrency and context theories [22,50,62,63,77,78]. Since its inception, the scope of OT research has evolved from the initial focus on consistency maintenance to include a range of key collaboration-enabling capabilities, including group undo [35,41,53,54,62,63], and workspace awareness [1,18,56]. In the past decade, a main impetus to OT research has been to move beyond plain-text co-editing [6,12,35,40,50,51,54,57,66,67,71], and to support real-time collaboration in rich-text co-editing in word processors [56,61,64,76], HTML/XML Web document co-editing [9], spreadsheet co-editing [65], 3D model co-editing in digital media design tools [1,2], and file synchronization in cloud storage systems [3]. Recent years have seen OT being widely adopted in industry products as the core technique for consistency maintenance, ranging from battle-tested online collaborative rich-text document editors like Google Docs1 [10], to emerging start-up products, such as Codox Apps 2 .

A variety of OT-alternatives for consistency maintenance in co-editors had also been explored in the past decades [13,15,17,38,39,68]. One notable class of techniques is CRDT 3 (Commutative Replicated Data Type) for co-editors [4,5,7,23,30,36,37,38,42,43,44,73,74,75]. The first CRDT solution for consistency maintenance in plain-text co-editing appeared around 2006 [37,38], under the name of WOOT (WithOut Operational Transformation). One motivation behind WOOT was to solve the FT (False Tie) puzzle in OT [49,51] (further discussed in Section 4.1.2), using a radically different approach from OT. Since then, numerous WOOT revisions (e.g. WOOTO [74], WOOTH [4]) and alternative CRDT solutions (e.g. RGA [42], Logoot [73,75], LogootSplit [5]) have appeared in literature. CRDT has often been labeled as a “post-OT” technique that makes concurrent operations natively commutative, and does the job “without operational transformation” [37,38], and “without concurrency control” [23]. CRDT solutions have made broad claims of superiority over OT solutions, in terms of correctness, time-space complexity, and simplicity, etc. After over a decade, however, CRDT solutions are rarely found in working coeditors or industry co-editing products, but OT solutions remain the choice for building the vast majority of co-editors. In addition, the scope of nearly all CRDT solutions for co-editing are confined to resolving issues in plain-text editing, while the scope of OT has been extended from plain-text editing to rich text word processors, and 3D digital media designs, etc.

The contradictions between these realities and CRDT’s purported advantages have been the source of much debate and confusion in co-editing research and developer communities. What is CRDT really to co-editing? What are the real differences between OT and CRDT for co-editors? What are the key factors that may have affected the adoption of and choice between OT and CRDT for co-editors in the real world? We believe that a thorough examination of these questions is relevant not only to researchers exploring the frontiers of collaboration-enabling technologies and systems, but also to practitioners who are seeking viable techniques to build real world collaboration tools and applications.

To seek answers to these questions and beyond, we set out to conduct a comprehensive review and comparative study on representative OT and CRDT solutions and working co-editors based on them, which are available in publications or from publicly accessible open-source project repositories. From this exploration, we made a number of research discoveries, some of which are rather surprising. One key discovery is that CRDT is similar to OT in following a general transformation approach to achieving consistency in real-time co-editors. Revealing the hidden transformation nature of CRDT provides much-needed clarity on what CRDT really is to coediting, which in turn brings forth critical insights into the real differences between OT and CRDT these differences are what ultimately contribute to the issues of correctness, complexity, efficiency and practical applicability of OT and CRDT in building real world co-editors.

In this paper, we explain

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut