Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types
Fulltext URI
Document type
Additional Information
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Near real-time collaboration using Web browsers is becoming rapidly more and more popular for many applications such as text editing, coding, sketching and others. These applications require reliable algorithms to ensure consistency among the participating Web clients. Operational Transformation (OT) and more recently Commutative Replicated Data Types (CRDT) have become widely adopted solutions for this kind of problem. However, most existing approaches are non-trivial and require trade-offs between expressiveness, suitable infrastructure, performance and simplicity. The ever growing number of potential use cases, the new possibilities of cutting-edge messaging protocols that shaped the near real-time Web, and the use of N-way communication between clients (e.g. WebRTC), create a need for peer-to-peer algorithms that perform well and are not restricted to only a few supported data types. In this paper, we present YATA, an approach for peer-to-peer shared editing applications that ensures convergence, preserves user intentions, allows offline editing and can be utilized for arbitrary data types in the Web browser. Using Yjs, its open-source JavaScript library implementation, we have evaluated the performance and multiple usage of YATA in Web and mobile browsers, both on test and real-world data. The promising evaluation results as well as the uptake by many commercial vendors and open-source projects indicate a wide applicability of YATA.
Description
Keywords
Citation
URI
Collections
Endorsement
Review
Supplemented By
Referenced By
Number of citations to item: 25
- Martin Kleppmann (2022): Making CRDTs Byzantine fault tolerant, In: Proceedings of the 9th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3517209.3524042
- Matthieu Nicolas, Gerald Oster, Olivier Perrin (2022): Efficient Renaming in Sequence CRDTs, In: IEEE Transactions on Parallel and Distributed Systems 12(33), doi:10.1109/tpds.2022.3172570
- Peter de Lange, Petru Nicolaescu, Alexander Tobias Neumann, Ralf Klamma (2020): Integrating Web-Based Collaborative Live Editing and Wireframing into a Model-Driven Web Engineering Process, In: Data Science and Engineering 3(5), doi:10.1007/s41019-020-00131-3
- Chaoyue Chen, Wanqiu Kong, Jingtong Bin, Tao Shang, Zhibin He, Jianhong Feng (2024): Next-Generation Collaborative Electronic Medical Record: Resolving Concurrent Conflicts with a Tree CRDT, In: Companion Publication of the 2024 Conference on Computer-Supported Cooperative Work and Social Computing, doi:10.1145/3678884.3681898
- Elena Yanakieva, Philipp Bird, Annette Bieniusa (2023): A Study of Semantics for CRDT-based Collaborative Spreadsheets, In: Proceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3578358.3591324
- Peter de Lange, Petru Nicolaescu, Ralf Klamma, Matthias Jarke (2017): Engineering Web Applications Using Real-Time Collaborative Modeling, In: Lecture Notes in Computer Science, doi:10.1007/978-3-319-63874-4_16
- Leo Stewen, Martin Kleppmann (2024): Undo and Redo Support for Replicated Registers, In: Proceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3642976.3653029
- Chengzheng Sun, David Sun, Agustina Ng, Weiwei Cai, Bryden Cho (2020): Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors, In: Proceedings of the ACM on Human-Computer Interaction GROUP(4), doi:10.1145/3375186
- Peter van Hardenberg, Martin Kleppmann (2020): PushPin, In: Proceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3380787.3393683
- Martijn Sauwens, Kristof Jannes, Bert Lagaisse, Wouter Joosen (2021): SCEW, In: Proceedings of the 8th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3447865.3457965
- Peter de Lange, Petru Nicolaescu, Mario Rosenstengel, Ralf Klamma (2019): Collaborative Wireframing for Model-Driven Web Engineering, In: Lecture Notes in Computer Science, doi:10.1007/978-3-030-34223-4_24
- Lars Larsson, Harald Gustafsson, Cristian Klein, Erik Elmroth (2020): Decentralized Kubernetes Federation Control Plane, In: 2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC), doi:10.1109/ucc48980.2020.00056
- Andrew Jeffery, Richard Mortier (2023): AMC: Towards Trustworthy and Explorable CRDT Applications with the Automerge Model Checker, In: Proceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3578358.3591326
- Xinyu Ma, Lixia Zhang (2021): GitSync, In: Proceedings of the 8th ACM Conference on Information-Centric Networking, doi:10.1145/3460417.3483372
- Arik Rinberg, Tomer Solomon, Roee Shlomo, Guy Khazma, Gal Lushi, Idit Keidar, Paula Ta-Shma (2022): DSON, In: Proceedings of the VLDB Endowment 5(15), doi:10.14778/3510397.3510403
- Pascal Grosch, Roman Krafft, Marcel Wölki, Annette Bieniusa (2020): AutoCouch, In: Proceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data, doi:10.1145/3380787.3393679
- Elod P. Csirmaz, Laszlo Csirmaz (2022): Data Synchronization: A Complete Theoretical Solution for Filesystems, In: Future Internet 11(14), doi:10.3390/fi14110344
- Paulo Sérgio Almeida (2024): Approaches to Conflict-free Replicated Data Types, In: ACM Computing Surveys 2(57), doi:10.1145/3695249
- Michel Buffa, Dorian Girard, Ayoub Hofr (2024): Using Web Audio Modules for Immersive Audio Collaboration in the Musical Metaverse, In: 2024 IEEE 5th International Symposium on the Internet of Sounds (IS2), doi:10.1109/is262782.2024.10704108
- Korbinian Kuhn, Benedikt Reuter, Niklas Egger, Gottfried Zimmermann (2024): Record, Transcribe, Share: An Accessible Open-Source Video Platform for Deaf and Hard of Hearing Viewers, In: The 26th International ACM SIGACCESS Conference on Computers and Accessibility, doi:10.1145/3663548.3688495
- Julian Haas, Ragnar Mogk, Elena Yanakieva, Annette Bieniusa, Mira Mezini (2024): LoRe: A Programming Model for Verifiably Safe Local-first Software, In: ACM Transactions on Programming Languages and Systems 1(46), doi:10.1145/3633769
- Kristof Jannes, Bert Lagaisse, Wouter Joosen (2022): Seamless Synchronization for Collaborative Web Services, In: Lecture Notes in Computer Science, doi:10.1007/978-3-031-14135-5_27
- Weiwei Cai, Fazhi He, Shangxu Yang, Xiao Lv, Yuan Cheng (2022): Self‐compressing object sequence for consistency maintenance in co‐editors, In: Software: Practice and Experience 8(52), doi:10.1002/spe.3090
- Kristof Jannes, Bert Lagaisse, Wouter Joosen (2021): OWebSync: Seamless Synchronization of Distributed Web Clients, In: IEEE Transactions on Parallel and Distributed Systems 9(32), doi:10.1109/tpds.2021.3066276
- Frédéric Guidec, Yves Mahéo, Camille Noûs (2022): Supporting conflict-free replicated data types in opportunistic networks, In: Peer-to-Peer Networking and Applications 1(16), doi:10.1007/s12083-022-01404-6