Write Fast, Read in the Past: Causal Consistency for Client-Side Applications

Marek Zawirski, Nuno Preguiça, Sérgio Duarte, Annette Bieniusa, Valter Balegas, Marc Shapiro

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

47 Citations (Scopus)


Client-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.
Original languageEnglish
Title of host publicationProceedings of the 16th Annual Middleware Conference
Place of PublicationNew York, NY, USA
PublisherACM - Association for Computing Machinery
Number of pages13
ISBN (Print)978-1-4503-3618-5
Publication statusPublished - 2015
Event16th International Middleware Conference - Vancouver, Canada
Duration: 7 Dec 201511 Dec 2015

Publication series

NameMiddleware '15


Conference16th International Middleware Conference


  • Causal Consistency, Client-side Storage, Eventual Consistency, Fault Tolerance, Geo-replication


Dive into the research topics of 'Write Fast, Read in the Past: Causal Consistency for Client-Side Applications'. Together they form a unique fingerprint.

Cite this