Skip to main content

Conflict-Free Replicated Data Types

  • Conference paper
Stabilization, Safety, and Security of Distributed Systems (SSS 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6976))

Included in the following conference series:

Abstract

Replicating data under Eventual Consistency (EC) allows any replica to accept updates without remote synchronisation. This ensures performance and scalability in large-scale distributed systems (e.g., clouds). However, published EC approaches are ad-hoc and error-prone. Under a formal Strong Eventual Consistency (SEC) model, we study sufficient conditions for convergence. A data type that satisfies these conditions is called a Conflict-free Replicated Data Type (CRDT). Replicas of any CRDT are guaranteed to converge in a self-stabilising manner, despite any number of failures. This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions. We study a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and consider in depth the more complex Graph data type. CRDT types can be composed to develop large-scale distributed applications, and have interesting theoretical properties.

This research is supported in part by ANR project ConcoRDanT (ANR-10-BLAN 0208). Marek Zawirski is supported in part by his Google Europe Fellowship in Distributed Computing 2010. Nuno PreguiƧa is partially supported by CITI (PEst-OE/EEI/UI0527/2011). Carlos Baquero is partially supported by FCT project Castor (PTDC/EIA-EIA/104022/2008).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baquero, C., Moura, F.: Specification of convergent abstract data types for autonomous mobile computing. Tech. rep., Departamento de InformƔtica, Universidade do Minho (October 1997)

    Google ScholarĀ 

  2. Burckhardt, S., Leijen, D.: Semantics of concurrent revisions. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol.Ā 6602, pp. 116ā€“135. Springer, Heidelberg (2011)

    ChapterĀ  Google ScholarĀ 

  3. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazonā€™s highly available key-value store. In: Symp. on Op. Sys. Principles (SOSP). Operating Systems Review, vol.Ā 41, pp. 205ā€“220 (October 2007)

    Google ScholarĀ 

  4. DelaĆ«t, S., Ducourthial, B., Tixeuil, S.: Self-stabilization with R-operators revisited. In: Tixeuil, S., Herman, T. (eds.) SSS 2005. LNCS, vol.Ā 3764, pp. 68ā€“80. Springer, Heidelberg (2005)

    ChapterĀ  Google ScholarĀ 

  5. Demers, A.J., Greene, D.H., Hauser, C., Irish, W., Larson, J.: Epidemic algorithms for replicated database maintenance. In: Symp. on Principles of Dist. Comp. (PODC), pp. 1ā€“12 (August 1987); also appears Op. Sys. Review 22(1), 8ā€“32 (1988)

    Google ScholarĀ 

  6. Ducourthial, B.: R-semi-groups: a generic approach for designing stabilizing silent tasks. In: Masuzawa, T., Tixeuil, S. (eds.) SSS 2007. LNCS, vol.Ā 4838, pp. 281ā€“295. Springer, Heidelberg (2007)

    ChapterĀ  Google ScholarĀ 

  7. Ellis, C.A., Gibbs, S.J.: Concurrency control in groupware systems. In: Int. Conf. on the Mgt. of Data (SIGMOD), pp. 399ā€“407 (1989)

    Google ScholarĀ 

  8. Gilbert, S., Lynch, N.: Brewerā€™s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT NewsĀ 33(2), 51ā€“59 (2002)

    ArticleĀ  Google ScholarĀ 

  9. Johnson, P.R., Thomas, R.H.: The maintenance of duplicate databases. Internet Request for Comments RFC 677, Information Sciences Institute (January 1976)

    Google ScholarĀ 

  10. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACMĀ 21(7), 558ā€“565 (1978)

    ArticleĀ  MATHĀ  Google ScholarĀ 

  11. Mattern, F.: Virtual time and global states of distributed systems. In: Int. W. on Parallel and Distributed Algorithms, pp. 215ā€“226 (1989)

    Google ScholarĀ 

  12. Oster, G., Urso, P., Molli, P., Imine, A.: Proving correctness of transformation functions in collaborative editing systems. Rapport de recherche RR-5795, LORIA ā€“ INRIA Lorraine (December 2005)

    Google ScholarĀ 

  13. Petersen, K., Spreitzer, M.J., Terry, D.B., Theimer, M.M., Demers, A.J.: Flexible update propagation for weakly consistent replication. In: Symp. on Op. Sys. Principles (SOSP), pp. 288ā€“301 (October 1997)

    Google ScholarĀ 

  14. PreguiƧa, N., MarquĆØs, J.M., Shapiro, M., LeÅ£ia, M.: A commutative replicated data type for cooperative editing. In: Int. Conf. on Distributed Comp. Sys (ICDCS), pp. 395ā€“403 (June 2009)

    Google ScholarĀ 

  15. PreguiƧa, N., Shapiro, M., Matheson, C.: Semantics-based reconciliation for collaborative and mobile environments. In: Chung, S., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol.Ā 2888, pp. 38ā€“55. Springer, Heidelberg (2003)

    ChapterĀ  Google ScholarĀ 

  16. Roh, H.G., Jeon, M., Kim, J.S., Lee, J.: Replicated abstract data types: Building blocks for collaborative applications. Journal of Parallel and Dist. Comp., pp. 354ā€“368 (March 2011)

    Google ScholarĀ 

  17. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv.Ā 37(1), 42ā€“81 (2005)

    ArticleĀ  MATHĀ  Google ScholarĀ 

  18. Shapiro, M.: PreguiƧa, N., Baquero, C., Zawirski, M.: A comprehensive study of Convergent and Commutative Replicated Data Types. Rapport de recherche 7506, Institut Nat. de la Recherche en Informatique et Automatique (INRIA), Rocquencourt, France (January 2011)

    Google ScholarĀ 

  19. Shapiro, M., PreguiƧa, N., Baquero, C., Zawirski, M.: Conflict-free Replicated Data Types. Rapport de recherche 7686, Institut Nat. de la Recherche en Informatique et Automatique (INRIA), Rocquencourt, France (July 2011)

    Google ScholarĀ 

  20. Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in Bayou, a weakly connected replicated storage system. In: 15th Symp. on Op. Sys. Principles (SOSP), pp. 172ā€“182 (December 1995)

    Google ScholarĀ 

  21. Vogels, W.: Eventually consistent. ACM QueueĀ 6(6), 14ā€“19 (2008)

    ArticleĀ  Google ScholarĀ 

  22. Weiss, S., Urso, P., Molli, P.: Logoot-undo: Distributed collaborative editing system on P2P networks. IEEE Trans. on Parallel and Dist. Sys (TPDS)Ā 21, 1162ā€“1174 (2010)

    ArticleĀ  Google ScholarĀ 

  23. Wuu, G.T.J., Bernstein, A.J.: Efficient solutions to the replicated log and dictionary problems. In: Symp. on Principles of Dist. Comp. (PODC), pp. 233ā€“242 (August 1984)

    Google ScholarĀ 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

Ā© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shapiro, M., PreguiƧa, N., Baquero, C., Zawirski, M. (2011). Conflict-Free Replicated Data Types. In: DƩfago, X., Petit, F., Villain, V. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2011. Lecture Notes in Computer Science, vol 6976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24550-3_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24550-3_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24549-7

  • Online ISBN: 978-3-642-24550-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics