imnotteixeira / dissertation

0 stars 0 forks source link

[Paper] Near real-time peer-to-peer shared editing on extensible data types #21

Open imnotteixeira opened 3 years ago

imnotteixeira commented 3 years ago

https://www.scopus.com/record/display.uri?eid=2-s2.0-85006013128&origin=resultslist&sort=plf-f&src=s&st1=real+time+communication+web+offline&st2=&sid=2a870bc34ff2970b9cae781a860c8735&sot=b&sdt=b&sl=50&s=TITLE-ABS-KEY%28real+time+communication+web+offline%29&relpos=15&citeCnt=10&searchTerm=

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-topeer 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 inWeb 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. © 2016 ACM.