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

Melda: a general purpose delta state JSON CRDT

Authors Info & Claims
Published:05 April 2022Publication History

ABSTRACT

In this paper we present a delta state conflict-free replicated data type for arbitrary JSON documents called Melda, which aims at enabling the implementation of offline-first asynchronous collaboration into applications. The proposed framework does not rely on a coordination service, and supports different types of decentralized storage solutions to tackle the problem of ensuring security, privacy and data portability in the context of collaborative document editing applications. We present our solution both through a formal description of the replicated data type and through some implementation details; moreover we provide an evaluation of the algorithmic complexity, and by means of a synthetic benchmark we analyze the metadata overhead, the actual performance, and the scalability of our approach.

References

  1. Almeida, P. S., Shoker, A., and Baquero, C. Delta state replicated data types. Journal of Parallel and Distributed Computing 111 (2018), 162--173.Google ScholarGoogle ScholarCross RefCross Ref
  2. Baquero, C., Almeida, P. S., and Shoker, A. Making Operation-Based CRDTs Operation-Based. In Proceedings of the First Workshop on Principles and Practice of Eventual Consistency (New York, NY, USA, 2014), PaPEC '14, Association for Computing Machinery.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Brocco, A. Delta-State JSON CRDT: Putting Collaboration on Solid Ground. In Stabilization, Safety, and Security of Distributed Systems - 23rd International Symposium (2021), C. Johnen, E. M. Schiller, and S. Schmid, Eds., vol. 13046 of Lecture Notes in Computer Science, Springer, pp. 474--478.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Brocco, A. The Document Chain: a Delta CRDT framework for arbitrary JSON data. In Proceedings of the 29th Italian Symposium on Advanced Database Systems, SEBD 2021, Pizzo Calabro (VV), Italy, September 5--9, 2021 (2021), S. Greco, M. Lenzerini, E. Masciari, and A. Tagarelli, Eds., vol. 2994 of CEUR Workshop Proceedings, CEUR-WS.org, pp. 59--70.Google ScholarGoogle Scholar
  5. Brocco, A., Ceppi, P., and Sinigaglia, L. libJoTS: JSON That Syncs! In Proceedings of the 28th Italian Symposium on Advanced Database Systems (2020), M. Agosti, M. Atzori, P. Ciaccia, and L. Tanca, Eds., vol. 2646 of CEUR Workshop Proceedings, CEUR-WS.org, pp. 116--127.Google ScholarGoogle Scholar
  6. CouchDB Team. CouchDB 2.0 reference manual, 2015.Google ScholarGoogle Scholar
  7. Kleppmann, M., and Beresford, A. R. A Conflict-Free Replicated JSON Datatype. IEEE Transactions on Parallel and Distributed Systems 28, 10 (2017), 2733--2746.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kleppmann, M., Wiggins, A., van Hardenberg, P., and McGranaghan, M. Local-First Software: You Own Your Data, in Spite of the Cloud. In Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (New York, NY, USA, 2019), Onward! 2019, Association for Computing Machinery, p. 154--178.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Letia, M., Preguiça, N., and Shapiro, M. Consistency without Concurrency Control in Large, Dynamic Systems. SIGOPS Oper. Syst. Rev. 44, 2 (Apr. 2010), 29--34.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Myers, E. W. An O(ND) Difference Algorithm and Its Variations. Algorithmica 1 (1986), 251--266.Google ScholarGoogle ScholarCross RefCross Ref
  11. Nicolaescu, P., Jahns, K., Derntl, M., and Klamma, R. Yjs: A Framework for Near Real-Time P2P Shared Editing on Arbitrary Data Types, 06 2015.Google ScholarGoogle Scholar
  12. Preguiça, N., Baquero, C., and Shapiro, M. Conflict-Free Replicated Data Types CRDTs. Springer International Publishing, Cham, 2018, pp. 1--10.Google ScholarGoogle Scholar
  13. Rinberg, A., Solomon, T., Khazma, G., Lushi, G., Shlomo, R., and Ta-Shma, P. Array CRDTs Using Delta-Mutations. In 8th Workshop on Principles and Practice of Consistency for Distributed Data (Apr. 2021), PaPoC 2021, ACM.Google ScholarGoogle Scholar
  14. Shapiro, M., Preguiça, N., Baquero, C., and Zawirski, M. A comprehensive study of Convergent and Commutative Replicated Data Types. Research Report RR-7506, Inria - Centre Paris-Rocquencourt; INRIA, Jan. 2011.Google ScholarGoogle Scholar
  15. Solid Project. Technical Reports. Accessed Mar. 1, 2022, 2022.Google ScholarGoogle Scholar

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
    PaPoC '22: Proceedings of the 9th Workshop on Principles and Practice of Consistency for Distributed Data
    April 2022
    64 pages
    ISBN:9781450392563
    DOI:10.1145/3517209

    Copyright © 2022 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 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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 5 April 2022

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate34of47submissions,72%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader