« Stuff The Internet Says On Scalability For May 16th, 2014 | Main | Google Says Cloud Prices Will Follow Moore’s Law: Are We All Renters Now? »

Paper: SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine

So how do you knit multiple datacenters and many thousands of phones and other clients into a single cooperating system?

Usually you don't. It's too hard. We see nascent attempts in services like Firebase and Parse. 

SwiftCloud, as described in SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine, goes two steps further, by leveraging Conflict free Replicated Data Types (CRDTs), which means "data can be replicated at multiple sites and be updated independently with the guarantee that all replicas converge to the same value. In a cloud environment, this allows a user to access the data center closer to the user, thus optimizing the latency for all users."

While we don't see these kind of systems just yet, they are a strong candidate for how things will work in the future, efficiently using resources at every level while supporting huge numbers of cooperating users.


Client-side logic and storage are increasingly used in web and mobile applications to improve response time and availability. Current approaches tend to be ad-hoc and poorly integrated with the server-side logic. We present a principled approach to integrate client and server-side storage. We support mergeable and strongly consistent transactions that target either client or server replicas and provide access to causally-consistent snapshots efficiently. In the presence of infrastructure faults, a client-assisted failover solution allows client execution to resume immediately and seamlessly access consistent snapshots without waiting. We implement this approach in SwiftCloud, the first transactional system to bring geo-replication all the way to the client machine. Example applications show that our programming model is useful across a range of application areas. Our experimental evaluation shows that SwiftCloud provides better fault tolerance and at the same time can improve both latency and throughput by up to an order of magnitude, compared to classical geo-replication techniques.

Related Articles

  • SwiftComp is the twin project focusing on developing efficient techniques to process large ammount of data.

Reader Comments (4)

404 on all the links

May 15, 2014 | Unregistered CommenterMiker

The link seems to be working again, give it another try.

May 16, 2014 | Registered CommenterTodd Hoff

Here is a canonical link to the tech report: http://hal.inria.fr/hal-00870225
Thanks Todd for mentioning our work. An another revision of SwiftCloud is coming soon.

May 16, 2014 | Unregistered CommenterMarek Zawirski

Thanks Mark, I changed the link. I look forward to seeing your new release. Will any code be available? It would be fun to see it in production.

May 16, 2014 | Registered CommenterTodd Hoff

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>