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.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.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.conference.locationSanibel Island, Florida, USA