Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-31057-7_14acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
Article

Cloud types for eventual consistency

Published: 11 June 2012 Publication History
  • Get Citation Alerts
  • Abstract

    Mobile devices commonly access shared data stored on a server. To ensure responsiveness, many applications maintain local replicas of the shared data that remain instantly accessible even if the server is slow or temporarily unavailable. Despite its apparent simplicity and commonality, this scenario can be surprisingly challenging. In particular, a correct and reliable implementation of the communication protocol and the conflict resolution to achieve eventual consistency is daunting even for experts.
    To make eventual consistency more programmable, we propose the use of specialized cloud data types. These cloud types provide eventually consistent storage at the programming language level, and thus abstract the numerous implementation details (servers, networks, caches, protocols). We demonstrate (1) how cloud types enable simple programs to use eventually consistent storage without introducing undue complexity, and (2) how to provide cloud types using a system and protocol comprised of multiple servers and clients.

    References

    [1]
    Burckhardt, S., Leijen, D., Fähndrich, M., Sagiv, M.: Eventually Consistent Transactions. In: Seidl, H. (ed.) Programming Languages and Systems. LNCS, vol. 7211, pp. 67-86. Springer, Heidelberg (2012)
    [2]
    Burckhardt, S., Leijen, D.: Semantics of Concurrent Revisions. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 116-135. Springer, Heidelberg (2011)
    [3]
    Chen, P. P.-S.: The entity-relationship model toward a unified view of data. ACM Trans. Database Syst. 1, 9-36 (1976)
    [4]
    Fekete, A., Liarokapis, D., O'Neil, E., O'Neil, P., Shasha, D.: Making snapshot isolation serializable. ACM Trans. Database Syst. 30(2), 492-528 (2005)
    [5]
    Gilbert, S., Lynch, N.: Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33, 51-59 (2002)
    [6]
    Gray, J., Helland, P., O'Neil, P., Shasha, D.: The dangers of replication and a solution. SIGMOD Record 25, 173-182 (1996)
    [7]
    Imine, A., Rusinowitch, M., Oster, G., Molli, P.: Formal design and verification of operational transformation algorithms for copies convergence. Theoretical Computer Science 351, 167-183 (2006)
    [8]
    Kaplan, H.: Persistent data structures. In: Handbook on Data Structures and Applications, pp. 241-246. CRC Press (1995)
    [9]
    Martin, A., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: Principles of Programming Languages (POPL), pp. 63-74 (2008)
    [10]
    Petersen, K., Spreitzer, M., Terry, D., Theimer, M., Demers, A.: Flexible update propagation for weakly consistent replication. Operating Systems Review 31, 288- 301 (1997)
    [11]
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Computing Surveys 37, 42-81 (2005)
    [12]
    Shapiro, M., Kemme, B.: Eventual consistency. In: Encyclopedia of Database Systems, pp. 1071-1072. Springer (2009)
    [13]
    Shapiro, M., Preguica, N., Baquero, C., Zawirski, M.: A comprehensive study of convergent and commutative replicated data types. Technical Report Rapport de recherche 7506, INRIA (2011)
    [14]
    Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: Conflict-Free Replicated Data Types. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 386-400. Springer, Heidelberg (2011)
    [15]
    Sun, C., Ellis, C.: Operational transformation in real-time group editors: issues, algorithms, and achievements. In: Conference on Computer Supported Cooperative Work, pp. 59-68 (1998)
    [16]
    Terry, D., Theimer, M., Petersen, K., Demers, A., Spreitzer, M., Hauser, C.: Managing update conflicts in bayou, a weakly connected replicated storage system. SIGOPS Oper. Syst. Rev. 29, 172-182 (1995)
    [17]
    Tillmann, N., Moskal, M., de Halleux, J., Fähndrich, M.: Touchdevelop: Programming cloud-connected mobile devices via touchscreen. In: ONWARD 2011 at SPLASH (also available as Microsoft Tech Report MSR-TR-2011-49) (2011)

    Cited By

    View all
    • (2022)Hamband: RDMA replicated data typesProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523426(348-363)Online publication date: 9-Jun-2022
    • (2021)ECROs: building global scale systems from sequential codeProceedings of the ACM on Programming Languages10.1145/34854845:OOPSLA(1-30)Online publication date: 15-Oct-2021
    • (2020)Rethinking safe consistency in distributed object-oriented programmingProceedings of the ACM on Programming Languages10.1145/34282564:OOPSLA(1-30)Online publication date: 13-Nov-2020
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ECOOP'12: Proceedings of the 26th European conference on Object-Oriented Programming
    June 2012
    763 pages
    ISBN:9783642310560
    • Editor:
    • James Noble

    Sponsors

    • Adobe
    • Microsoft Reasearch: Microsoft Reasearch
    • ORACLE: ORACLE
    • AITO: Association Internationale pour les Technologies Objets
    • Purdue University: Purdue University

    In-Cooperation

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 11 June 2012

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Hamband: RDMA replicated data typesProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523426(348-363)Online publication date: 9-Jun-2022
    • (2021)ECROs: building global scale systems from sequential codeProceedings of the ACM on Programming Languages10.1145/34854845:OOPSLA(1-30)Online publication date: 15-Oct-2021
    • (2020)Rethinking safe consistency in distributed object-oriented programmingProceedings of the ACM on Programming Languages10.1145/34282564:OOPSLA(1-30)Online publication date: 13-Nov-2020
    • (2020)From causality to stability: understanding and reducing meta-data in CRDTsProceedings of the 17th International Conference on Managed Programming Languages and Runtimes10.1145/3426182.3426183(3-14)Online publication date: 4-Nov-2020
    • (2020)TLC: temporal logic of distributed componentsProceedings of the ACM on Programming Languages10.1145/34090054:ICFP(1-30)Online publication date: 3-Aug-2020
    • (2020)PushPinProceedings of the 7th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3380787.3393683(1-10)Online publication date: 27-Apr-2020
    • (2019)Mergeable replicated data typesProceedings of the ACM on Programming Languages10.1145/33605803:OOPSLA(1-29)Online publication date: 10-Oct-2019
    • (2019)A fault-tolerant programming model for distributed interactive applicationsProceedings of the ACM on Programming Languages10.1145/33605703:OOPSLA(1-29)Online publication date: 10-Oct-2019
    • (2019)Putting Order in Strong Eventual ConsistencyDistributed Applications and Interoperable Systems10.1007/978-3-030-22496-7_3(36-56)Online publication date: 17-Jun-2019
    • (2018)Static serializability analysis for causal consistencyACM SIGPLAN Notices10.1145/3296979.319241553:4(90-104)Online publication date: 11-Jun-2018
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media