skip to main content
10.1145/2596631.2596641acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Citrea and swarm: partially ordered op logs in the browser: implementing a collaborative editor and an object sync library in JavaScript

Published:13 April 2014Publication History

ABSTRACT

Principles of eventual consistency are normally applied in large-scale distributed systems. I report experiences applying EC in Web app development. Citrea is a collaborative rich text editor employing the Causal Trees[4] technology of concurrency/version control (note: CT is not an OT flavor). CT employs symbol ids and trees and, generally, belongs to the same family as WOOT, Logoot or Treedoc [1--3]. CT makes the ids-and-trees approach production-practical by limiting itself to simple and lightweight algorithms and data structures. Swarm is a JavaScript object sync library that works in the browser, in real time. Swarm fully employs client-side storage and works well under intermittent connectivity. Swarm employs "pure" op-based model, although I find that state- vs op-based separation is rather bogus in practice. Our top finding is a specifier, a serialized event description format that enables straightforward operation storage, caching and exchange.

References

  1. G. Oster et al. Data consistency for P2P collaborative editing. CSCW'2006, Banff, Canada, 2006 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Shapiro and N. Preguia, Designing a commutative replicated data type INRIA, INRIA Tech report RR-6320, 2007Google ScholarGoogle Scholar
  3. Stphane Weiss, Pascal Urso and Pascal Molli. Logoot: a P2P collaborative editing system. INRIA Tech Report N6713, 2008Google ScholarGoogle Scholar
  4. Victor Grishchenko. Deep hypertext with embedded revision control implemented in regular expressions. WikiSym'2010, Gdansk, Poland Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Carlos Baquero, Paulo Sergio Almeida, and Ali Shoker. Making Operation-based CRDTs Operation-based. PaPEC'2014, Amsterdam, Netherlands Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mihai Letia, Nuno Preguia and Marc Shapiro. CRDTs: Consistency without concurrency control. INRIA N6956, 2009Google ScholarGoogle Scholar
  7. Marc Shapiro et al. Conflict-free replicated data types. SSS'2011, Grenoble, France, 2011 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Citrea and swarm: partially ordered op logs in the browser: implementing a collaborative editor and an object sync library in JavaScript

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          PaPEC '14: Proceedings of the First Workshop on Principles and Practice of Eventual Consistency
          April 2014
          47 pages
          ISBN:9781450327169
          DOI:10.1145/2596631

          Copyright © 2014 ACM

          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].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 April 2014

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          PaPEC '14 Paper Acceptance Rate16of20submissions,80%Overall Acceptance Rate16of20submissions,80%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader