skip to main content
10.1145/2957276.2957310acmconferencesArticle/Chapter ViewAbstractPublication PagesgroupConference Proceedingsconference-collections
research-article

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

Published: 13 November 2016 Publication History

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.

References

[1]
M. Ahmed-Nacer, C.-L. Ignat, G. Oster, H.-G. Roh, and P. Urso. Evaluating CRDTs for Real-time Document Editing. In Proceedings of the 11th ACM symposium on Document engineering, pages 103--112. ACM New York, 2011.
[2]
L. Andre, S. Martin, G. Oster, and C.-L. Ignat. Supporting Adaptable Granularity of Changes for Massive-scale Collaborative Editing. In Collaboratecom 2013, 2013.
[3]
S. Androutsellis-Theotokis and D. Spinellis. A Survey of Peer-to-peer Content Distribution Technologies. ACM Computing Surveys, 36(4):335--371, 2004.
[4]
A. H. Davis, C. Sun, and J. Lu. Generalizing Operational Transformation to the Standard General Markup Language. In CSCW '02, pages 58--67. ACM, 2002.
[5]
M. Derntl, P. Nicolaescu, S. Erdtmann, R. Klamma, and M. Jarke. Near Real-Time Collaborative Conceptual Modeling on the Web. In ER'15, volume 9381, pages 344--357. Springer International Publishing, 2015.
[6]
C. A. Ellis and S. J. Gibbs. Concurrency Control in Groupware Systems. In ACM SIGMOD '89, volume 18, pages 399--407. ACM, 1989.
[7]
N. Fraser. Differential synchronization. In Proceedings of the 2009 ACM Symposium on Document Engineering, pages 13--20. ACM, 2009.
[8]
A. Gallidabino and C. Pautasso. The Liquid.js Framework for Migrating and Cloning Stateful Web Components across Multiple Devices. In WWW'16 Companion, pages 183--186, 2016.
[9]
A. R. S. Gerlicher. A Framework for Real-time Collaborative Engineering in the Automotive Industries. In CDVE'06, pages 164--173. Springer-Verlag, 2006.
[10]
J. Grudin. Computer-Supported Cooperative Work: History and Focus. Computer, 27(5):19--26, 1994.
[11]
C. Ignat and M. C. Norrie. Tree-based Model Algorithm for Maintaining Consistency in Real-Time Collaborative Editing Systems. In CSCW '02. ACM, 2002.
[12]
C.-L. Ignat and M. C. Norrie. Multi-level Editing of Hierarchical Documents. Computer Supported Cooperative Work, 17(5--6):423--468, 2008.
[13]
I. Koren, A. Guth, and R. Klamma. Shared Editing on the Web: A Classification of Developer Support Libraries. Collaboratecom 2013, pages 468--477, 2013.
[14]
I. Koren, P. Nicolaescu, and R. Klamma. Collaborative Drawing Annotations on Web Videos. In ICWE'15, volume 9114. Springer, 2015.
[15]
D. Kovachev, D. Renzel, P. Nicolaescu, I. Koren, and R. Klamma. DireWolf: A Framework for Widget-based Distributed User Interfaces. Journal of Web Engineering, 13(3&4):203--222, 2014.
[16]
R. Li, Du Li, and C. Sun. A Time Interval Based Consistency Control Algorithm for Interactive Groupware Applications. In ICPADS '04, pages 429--436. IEEE Computer Society, 2004.
[17]
Y. Liu, Y. Xu, S. J. Zhang, and C. Sun. Formal Verification of Operational Transformation. In FM 2014: Formal Methods, volume 8442, pages 432--448. Springer International Publishing, 2014.
[18]
18. D. A. Nichols, P. Curtis, M. Dixon, and J. Lamping. High-latency, Low-bandwidth Windowing in the Jupiter Collaboration System. In UIST '95, pages 111--120. ACM, 1995.
[19]
P. Nicolaescu, K. Jahns, M. Derntl, and R. Klamma. Yjs: A Framework for Near Real-Time P2P Shared Editing on Arbitrary Data Types. In ICWE'15, volume 9114, pages 675--678. Springer, 2015.
[20]
G. Oster, P. Urso, P. Molli, and A. Imine. Data Consistency for P2P Collaborative Editing. In CSCW '06, pages 259--268. ACM Press.
[21]
N. Pregui¸ca, J. M. Marques, M. Shapiro, and M. Letia. A Commutative Replicated Data Type for Cooperative Editing. In 29th IEEE International Conference on Distributed Computing Systems, 2009, pages 395--403. IEEE, 2009.
[22]
M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhäuser. An Integrating, Transformation-oriented Approach to Concurrency Control and Undo in Group Editors. In CSCW '96, pages 288--297. ACM, 1996.
[23]
H.-G. Roh, M. Jeon, J.-S. Kim, and J. Lee. Replicated Abstract Data Types: Building Blocks for Collaborative Applications. Journal of Parallel and Distributed Computing, 71(3):354--368, 2011.
[24]
M. Shapiro, N. Pregui¸ca, C. Baquero, and M. Zawirski. A comprehensive study of Convergent and Commutative Replicated Data Types, 2011.
[25]
C. Sun. Undo As Concurrent Inverse in Group Editors. ACM Transactions on Computer-Human Interaction, 9(4):309--361, 2002.
[26]
C. Sun and C. Ellis. Operational Transformation in Real-time Group Editors: Issues, Algorithms, and Achievements. In CSCW '98, pages 59--68.
[27]
C. Sun, X. Jia, Y. Zhang, Y. Yang, and D. Chen. Achieving Convergence, Causality Preservation, and Intention Preservation in Real-time Cooperative Editing Systems. ACM Transactions on Computer-Human Interaction, 5(1):63--108, 1998.
[28]
C. Sun, Y. Xu, and A. Agustina. Exhaustive Search of Puzzles in Operational Transformation. In CSCW '14, pages 519--529. ACM, 2014.
[29]
D. Sun and Chengzheng Sun. Context-Based Operational Transformation in Distributed Collaborative Editing Systems. IEEE Transactions on Parallel and Distributed Systems, 20(10):1454--1470, 2009.
[30]
D. Sun and C. Sun. Operation Context and Context-based Operational Transformation. In CSCW '06, pages 279--288. ACM Press, 2006.
[31]
S. Weiss, P. Urso, and P. Molli. Logoot-Undo: Distributed Collaborative Editing System on P2P Networks. IEEE Transactions on Parallel and Distributed Systems, 21(8):1162--1174, 2010.
[32]
32. Y. Xu, C. Sun, and M. Li. Achieving Convergence in Operational Transformation: Conditions, Mechanisms and Systems. In CSCW '14, pages 505--518. ACM, 2014.

Cited By

View all
  • (2025)Grove: A Bidirectionally Typed Collaborative Structure Editor CalculusProceedings of the ACM on Programming Languages10.1145/37049099:POPL(2176-2204)Online publication date: 9-Jan-2025
  • (2024)Real-Time Co-Editing of Geographic FeaturesISPRS International Journal of Geo-Information10.3390/ijgi1312044113:12(441)Online publication date: 7-Dec-2024
  • (2024)Approaches to Conflict-free Replicated Data TypesACM Computing Surveys10.1145/369524957:2(1-36)Online publication date: 9-Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GROUP '16: Proceedings of the 2016 ACM International Conference on Supporting Group Work
November 2016
534 pages
ISBN:9781450342766
DOI:10.1145/2957276
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 November 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. commutative replicated data types
  2. near real-time collaborative editing
  3. operational transformation
  4. peer-to-peer information systems

Qualifiers

  • Research-article

Funding Sources

Conference

GROUP '16
Sponsor:
GROUP '16: 2016 ACM Conference on Supporting Groupwork
November 13 - 16, 2016
Florida, Sanibel Island, USA

Acceptance Rates

GROUP '16 Paper Acceptance Rate 36 of 111 submissions, 32%;
Overall Acceptance Rate 125 of 405 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)92
  • Downloads (Last 6 weeks)10
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Grove: A Bidirectionally Typed Collaborative Structure Editor CalculusProceedings of the ACM on Programming Languages10.1145/37049099:POPL(2176-2204)Online publication date: 9-Jan-2025
  • (2024)Real-Time Co-Editing of Geographic FeaturesISPRS International Journal of Geo-Information10.3390/ijgi1312044113:12(441)Online publication date: 7-Dec-2024
  • (2024)Approaches to Conflict-free Replicated Data TypesACM Computing Surveys10.1145/369524957:2(1-36)Online publication date: 9-Sep-2024
  • (2024)Next-Generation Collaborative Electronic Medical Record: Resolving Concurrent Conflicts with a Tree CRDTCompanion Publication of the 2024 Conference on Computer-Supported Cooperative Work and Social Computing10.1145/3678884.3681898(505-510)Online publication date: 11-Nov-2024
  • (2024)Record, Transcribe, Share: An Accessible Open-Source Video Platform for Deaf and Hard of Hearing ViewersProceedings of the 26th International ACM SIGACCESS Conference on Computers and Accessibility10.1145/3663548.3688495(1-6)Online publication date: 27-Oct-2024
  • (2024)Undo and Redo Support for Replicated RegistersProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653029(1-7)Online publication date: 22-Apr-2024
  • (2024)LoRe: A Programming Model for Verifiably Safe Local-first SoftwareACM Transactions on Programming Languages and Systems10.1145/363376946:1(1-26)Online publication date: 15-Jan-2024
  • (2024)Using Web Audio Modules for Immersive Audio Collaboration in the Musical Metaverse2024 IEEE 5th International Symposium on the Internet of Sounds (IS2)10.1109/IS262782.2024.10704108(1-10)Online publication date: 30-Sep-2024
  • (2023)OrderlessChainProceedings of the 24th International Middleware Conference10.1145/3590140.3629111(137-150)Online publication date: 27-Nov-2023
  • (2023)AMC: Towards Trustworthy and Explorable CRDT Applications with the Automerge Model CheckerProceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3578358.3591326(44-50)Online publication date: 8-May-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media