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 both 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.
|Title of host publication||Reliable Distributed Systems Workshops (SRDSW), 2014 IEEE 33rd International Symposium on|
|Publication status||Published - 30 Dec 2014|
|Event||Workshop on Planetary-Scale Distributed Systems - |
Duration: 1 Jan 2014 → …
|Conference||Workshop on Planetary-Scale Distributed Systems|
|Period||1/01/14 → …|
Preguiça, N. M. R., Zawirski, M., Bieniusa, A., Duarte, S. M., Balegas, V., Baquero, C., & Shapiro, M. (2014). SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine. In Reliable Distributed Systems Workshops (SRDSW), 2014 IEEE 33rd International Symposium on (pp. 30-33).  https://doi.org/10.1109/SRDSW.2014.33