Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types

dc.contributor.authorNicolaescu, Petru
dc.contributor.authorJahns, Kevin
dc.contributor.authorDerntl, Michael
dc.contributor.authorKlamma, Ralf
dc.date.accessioned2023-03-17T22:48:51Z
dc.date.available2023-03-17T22:48:51Z
dc.date.issued2016
dc.description.abstractNear 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.en
dc.identifier.doi10.1145/2957276.2957310
dc.identifier.urihttps://dl.eusset.eu/handle/20.500.12015/4549
dc.language.isoen
dc.publisherAssociation for Computing Machinery
dc.relation.ispartofProceedings of the 2016 ACM International Conference on Supporting Group Work
dc.subjectoperational transformation
dc.subjectpeer-to-peer information systems
dc.subjectnear real-time collaborative editing
dc.subjectcommutative replicated data types
dc.titleNear Real-Time Peer-to-Peer Shared Editing on Extensible Data Typesen
dc.typeText/Conference Paper
gi.citation.startPage39–49
gi.citations.count25
gi.citations.elementMartin 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
gi.citations.elementMatthieu 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
gi.citations.elementPeter 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
gi.citations.elementChaoyue 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
gi.citations.elementElena 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
gi.citations.elementPeter 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
gi.citations.elementLeo 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
gi.citations.elementChengzheng 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
gi.citations.elementPeter 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
gi.citations.elementMartijn 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
gi.citations.elementPeter 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
gi.citations.elementLars 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
gi.citations.elementAndrew 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
gi.citations.elementXinyu Ma, Lixia Zhang (2021): GitSync, In: Proceedings of the 8th ACM Conference on Information-Centric Networking, doi:10.1145/3460417.3483372
gi.citations.elementArik 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
gi.citations.elementPascal 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
gi.citations.elementElod P. Csirmaz, Laszlo Csirmaz (2022): Data Synchronization: A Complete Theoretical Solution for Filesystems, In: Future Internet 11(14), doi:10.3390/fi14110344
gi.citations.elementPaulo Sérgio Almeida (2024): Approaches to Conflict-free Replicated Data Types, In: ACM Computing Surveys 2(57), doi:10.1145/3695249
gi.citations.elementMichel 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
gi.citations.elementKorbinian 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
gi.citations.elementJulian 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
gi.citations.elementKristof 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
gi.citations.elementWeiwei 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
gi.citations.elementKristof 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
gi.citations.elementFré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
gi.conference.locationSanibel Island, Florida, USA

Files

Collections