Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Cloud Types for Eventual Consistency

Sebastian Burckhardt, Manuel Fahndrich, Daan Leijen, and Benjamin P. Wood


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.


Publication typeInproceedings
Published inProceedings of the 26th European Conference on Object-Oriented Programming (ECOOP)

Newer versions

Sebastian Burckhardt, Daan Leijen, Jonathan Protzenko, and Manuel Fähndrich. Global Sequence Protocol: A Robust Abstraction for Replicated Shared State, Microsoft Research, 1 January 2015.

> Publications > Cloud Types for Eventual Consistency