Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2933057.2933090acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Specification and Complexity of Collaborative Text Editing

Published: 25 July 2016 Publication History
  • Get Citation Alerts
  • Abstract

    Collaborative text editing systems allow users to concurrently edit a shared document, inserting and deleting elements (e.g., characters or lines). There are a number of protocols for collaborative text editing, but so far there has been no precise specification of their desired behavior, and several of these protocols have been shown not to satisfy even basic expectations. This paper provides a precise specification of a replicated list object, which models the core functionality of replicated systems for collaborative text editing. We define a strong list specification, which we prove is implemented by an existing protocol, as well as a weak list specification, which admits additional protocol behaviors.
    A major factor determining the efficiency and practical feasibility of a collaborative text editing protocol is the space overhead of the metadata that the protocol must maintain to ensure correctness. We show that for a large class of list protocols, implementing either the strong or the weak list specification requires a metadata overhead that is at least linear in the number of elements deleted from the list. The class of protocols to which this lower bound applies includes all list protocols that we are aware of, and we show that one of these protocols almost matches the bound.

    References

    [1]
    Apache Wave. https://incubator.apache.org/wave/.
    [2]
    H. Attiya, S. Burckhardt, A. Gotsman, A. Morrison, H. Yang, and M. Zawirski. Specification and Complexity of Collaborative Text Editing (Extended Version). Available fromsf http://www.software.imdea.org/ gotsman.
    [3]
    H. Attiya, F. Ellen, and A. Morrison. Limitations of Highly-Available Eventually-Consistent Data Stores. In PODC, 2015.
    [4]
    P. Bailis, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Bolt-on Causal Consistency. In SIGMOD, 2013.
    [5]
    S. Burckhardt, A. Gotsman, H. Yang, and M. Zawirski. Replicated Data Types: Specification, Verification, Optimality. In POPL, 2014.
    [6]
    C. Cachin, R. Guerraoui, and L. Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer Publishing Company, Incorporated, 2nd edition, 2011.
    [7]
    J. Day-Richter. What's different about the new Google Docs: Conflict resolution. http://googledrive.blogspot.com/2010/09/whats-different-about-new-google-docs_22.html, 2010.
    [8]
    J. Day-Richter. What's different about the new Google Docs: Making collaboration fast. http://googledrive.blogspot.com/2010/09/whats-different-about-new-google-docs.html, 2010.
    [9]
    G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's Highly Available Key-value Store. In SOSP, 2007.
    [10]
    X. Défago, A. Schiper, and P. Urbán. Total Order Broadcast and Multicast Algorithms: Taxonomy And Survey. ACM CSUR, 36(4), 2004.
    [11]
    J. Du, S. Elnikety, A. Roy, and W. Zwaenepoel. Orbe: Scalable Causal Consistency Using Dependency Matrices and Physical Clocks. In SoCC, 2013.
    [12]
    J. Du, C. Iorgulescu, A. Roy, and W. Zwaenepoel. Closing The Performance Gap between Causal Consistency and Eventual Consistency. In PaPEC, 2014.
    [13]
    C. A. Ellis and S. J. Gibbs. Concurrency Control in Groupware Systems. In SIGMOD, 1989.
    [14]
    A. Imine, M. Rusinowitch, G. Oster, and P. Molli. Formal Design and Verification of Operational Transformation Algorithms for Copies Convergence. TCS, 351(2), 2006.
    [15]
    L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. CACM, 21(7), 1978.
    [16]
    B. Leuf and W. Cunningham. The Wiki Way: Quick Collaboration on the Web. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2001.
    [17]
    D. Li and R. Li. Preserving Operation Effects Relation in Group Editors. In CSCW, 2004.
    [18]
    W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Don't Settle for Eventual Consistency. CACM, 57(5), 2014.
    [19]
    S. Martin, P. Urso, and S. Weiss. Scalable XML collaborative editing with undo. In O™, 2010.
    [20]
    D. A. Nichols, P. Curtis, M. Dixon, and J. Lamping. High-latency, low-bandwidth windowing in the Jupiter collaboration system. In UIST, 1995.
    [21]
    G. Oster, P. Urso, P. Molli, and A. Imine. Data consistency for P2P collaborative editing. In CSCW, 2006.
    [22]
    N. Preguiça, J. M. Marqués, M. Shapiro, and M. Leţia. A commutative replicated data type for cooperative editing. In ICDCS, 2009.
    [23]
    M. Ressel, D. Nitsche-Ruhland, and R. Gunzenhäuser. An integrating, transformation-oriented approach to concurrency control and undo in group editors. In CSCW, 1996.
    [24]
    H.-G. Roh, M. Jeon, J.-S. Kim, and J. Lee. Replicated abstract data types: Building blocks for collaborative applications. JPDC, 71(3), 2011.
    [25]
    M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. A Comprehensive study of Convergent and Commutative Replicated Data Types. Technical Report RR-7506, INRIA, Jan. 2011.
    [26]
    M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. Conflict-free Replicated Data Types. In SSS, 2011.
    [27]
    C. Sun and C. Ellis. Operational transformation in real-time group editors: issues, algorithms, and achievements. In CSCW, 1998.
    [28]
    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 TOCHI, 5(1), 1998.
    [29]
    D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers, M. J. Spreitzer, and C. H. Hauser. Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. In SOSP, 1995.
    [30]
    W. Vogels. Eventually Consistent. CACM, 52(1), 2009.
    [31]
    D. Wang, A. Mah, and S. Lassen. Google Wave Operational Transformation. https://wave-protocol.googlecode.com/hg/whitepapers/operational-transform/operational-transform.html, 2010.
    [32]
    S. Weiss, P. Urso, and P. Molli. Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks. In ICDCS, 2009.
    [33]
    M. Zawirski, N. Preguiça, S. Duarte, A. Bieniusa, V. Balegas, and M. Shapiro. Write fast, read in the past: Causal consistency for client-side applications. In Middleware, 2015.

    Cited By

    View all
    • (2023)For-Each Operations in Collaborative AppsProceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3578358.3591323(56-62)Online publication date: 8-May-2023
    • (2023)Enhancing Ropes for Collaborative Text Editing2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE)10.1109/CSCE60160.2023.00415(2593-2599)Online publication date: 24-Jul-2023
    • (2023)A framework and prototype system in support of workflow collaboration and knowledge mining for manufacturing value chainsIET Collaborative Intelligent Manufacturing10.1049/cim2.120735:1Online publication date: 9-Jan-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PODC '16: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing
    July 2016
    508 pages
    ISBN:9781450339643
    DOI:10.1145/2933057
    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 the author(s) 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: 25 July 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. collaborative text editing
    2. eventual consistency

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    PODC '16
    Sponsor:

    Acceptance Rates

    PODC '16 Paper Acceptance Rate 40 of 149 submissions, 27%;
    Overall Acceptance Rate 740 of 2,477 submissions, 30%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)34
    • Downloads (Last 6 weeks)6

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)For-Each Operations in Collaborative AppsProceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3578358.3591323(56-62)Online publication date: 8-May-2023
    • (2023)Enhancing Ropes for Collaborative Text Editing2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE)10.1109/CSCE60160.2023.00415(2593-2599)Online publication date: 24-Jul-2023
    • (2023)A framework and prototype system in support of workflow collaboration and knowledge mining for manufacturing value chainsIET Collaborative Intelligent Manufacturing10.1049/cim2.120735:1Online publication date: 9-Jan-2023
    • (2023)On the correctness of highly available systems in the presence of failuresJournal of Parallel and Distributed Computing10.1016/j.jpdc.2023.04.008180(104707)Online publication date: Oct-2023
    • (2022)Certified mergeable replicated data typesProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523735(332-347)Online publication date: 9-Jun-2022
    • (2022)Ordering operations for generic replicated data types using version treesProceedings of the 9th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3517209.3524038(39-46)Online publication date: 5-Apr-2022
    • (2022)Augmenting Digital Sheet Music through Visual AnalyticsComputer Graphics Forum10.1111/cgf.1443641:1(301-316)Online publication date: 5-Jan-2022
    • (2022)Log-Based CRDT for Edge Applications2022 IEEE International Conference on Cloud Engineering (IC2E)10.1109/IC2E55432.2022.00021(126-137)Online publication date: Sep-2022
    • (2022)Knowledge Mining Based Collaborative Framework for Manufacturing Value Chains2022 IEEE 25th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD54268.2022.9776159(847-854)Online publication date: 4-May-2022
    • (2022)Averaging Solution of Differential Equations as Value for Argumentation Graph with SimilarityProcedia Computer Science10.1016/j.procs.2022.09.116207:C(614-623)Online publication date: 1-Jan-2022
    • Show More Cited By

    View Options

    Get Access

    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