skip to main content
10.1145/2741948.2741974acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Simba: tunable end-to-end data consistency for mobile apps

Published: 17 April 2015 Publication History

Abstract

Developers of cloud-connected mobile apps need to ensure the consistency of application and user data across multiple devices. Mobile apps demand different choices of distributed data consistency under a variety of usage scenarios. The apps also need to gracefully handle intermittent connectivity and disconnections, limited bandwidth, and client and server failures. The data model of the apps can also be complex, spanning inter-dependent structured and unstructured data, and needs to be atomically stored and updated locally, on the cloud, and on other mobile devices.
In this paper we study several popular apps and find that many exhibit undesirable behavior under concurrent use due to inadequate treatment of data consistency. Motivated by the shortcomings, we propose a novel data abstraction, called a sTable, that unifies a tabular and object data model, and allows apps to choose from a set of distributed consistency schemes; mobile apps written to this abstraction can effortlessly sync data with the cloud and other mobile devices while benefiting from end-to-end data consistency. We build Simba, a data-sync service, to demonstrate the utility and practicality of our proposed abstraction, and evaluate it both by writing new apps and porting existing inconsistent apps to make them consistent. Experimental results show that Simba performs well with respect to sync latency, bandwidth consumption, server throughput, and scales for both the number of users and the amount of data.

Supplementary Material

MP4 File (a7-sidebyside.mp4)

References

[1]
Android Developers Website. http://developer.android.com.
[2]
Apache CouchDB. http://couchdb.apache.org.
[3]
Box Sync App. http://box.com.
[4]
CLOC: Count Lines of Code. http://cloc.sourceforge.net.
[5]
Google Drive. https://developers.google.com/drive/.
[6]
On Distributed Consistency - Part 5 - Many Writer Eventual Consistency. http://blog.mongodb.org/post/520888030/on-distributed-consistency-part-5-many-writer.
[7]
Protocol Buffers. http://code.google.com/p/protobuf.
[8]
Todo.txt. http://todotxt.com.
[9]
TouchDB. http://tinyurl.com/touchdb.
[10]
N. Agrawal, A. Aranya, and C. Ungureanu. Mobile data sync in a blink. In HotStorage, 2013.
[11]
P. Alvaro, P. Bailis, N. Conway, and J. M. Hellerstein. Consistency without borders. In SoCC, 2013.
[12]
N. M. Belaramani, M. Dahlin, L. Gao, A. Nayate, A. Venkataramani, P. Yalagandula, and J. Zheng. PRACTI replication. In NSDI, 2006.
[13]
S. Burckhardt, M. Fähndrich, D. Leijen, and B. P. Wood. Cloud types for eventual consistency. In ECOOP, 2012.
[14]
Apache Cassandra Database. http://cassandra.apache.org.
[15]
B.-G. Chun, C. Curino, R. Sears, A. Shraer, S. Madden, and R. Ramakrishnan. Mobius: unified messaging and data serving for mobile apps. In MobiSys, 2012.
[16]
D. Engberg. Evernote Techblog: WhySQL? http://blog.evernote.com/tech/2012/02/23/whysql/, 2012.
[17]
I. Drago, M. Mellia, M. M Munafo, A. Sperotto, R. Sadre, and A. Pras. Inside Dropbox: Understanding Personal Cloud Storage Services. In IMC, 2012.
[18]
Dummynet. http://info.iet.unipi.it/~luigi/dummynet/.
[19]
G. Gibson, G. Grider, A. Jacobson, and W. Lloyd. PRObE: A thousand-node experimental cluster for computer systems research. USENIX; login, 2013.
[20]
Y. Go, N. Agrawal, A. Aranya, and C. Ungureanu. Reliable, Consistent, and Efficient Data Sync for Mobile Apps. In FAST, 2015.
[21]
J. Gray. Granularity of locks and degrees of consistency in a shared data base. In IFIP Working Conference on Modelling of Database management Systems, 1976.
[22]
R. G. Guy, J. S. Heidemann, W.-K. Mak, T. W. Page Jr, G. J. Popek, D. Rothmeier, et al. Implementation of the Ficus Replicated File System. In USENIX Summer, 1990.
[23]
S. Hao, N. Agrawal, A. Aranya, and C. Ungureanu. Building a Delay-Tolerant Cloud for Mobile Data. In MDM, 2013.
[24]
D. Harnik, R. Kat, O. Margalit, D. Sotnikov, and A. Traeger. To Zip or not to Zip: Effective Resource Usage for Real-Time Compression. In FAST, 2013.
[25]
iCloud for Developers. developer.apple.com/icloud.
[26]
J. Kistler and M. Satyanarayanan. Disconnected Operation in the Coda File System. ACM ToCS, 1992.
[27]
L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE TC, 1979.
[28]
B. W. Lampson. Hints for Computer System Design. In SOSP, 1983.
[29]
C. Li, D. Porto, A. Clement, J. Gehrke, N. Pregui, R. Rodrigues, A. Wieder, P. Bhatotia, A. Post, R. Rodrigues, et al. Making Geo-Replicated Systems Fast as Possible, Consistent when Necessary. In OSDI, 2012.
[30]
W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Don't settle for eventual: scalable causal consistency for wide-area storage with COPS. In SOSP, 2011.
[31]
W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. A short primer on causal consistency. USENIX; login, 2013.
[32]
W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Stronger semantics for low-latency geo-replicated storage. In NSDI, 2013.
[33]
J. C. Mogul. The case for persistent-connection HTTP. In SIGCOMM, 1995.
[34]
A. Muthitacharoen, B. Chen, and D. Mazières. A Low-Bandwidth Network File System. In SOSP, 2001.
[35]
A. Muthitacharoen, R. Morris, T. Gil, and B. Chen. Ivy: A read/write peer-to-peer file system. In OSDI, 2002.
[36]
MySQL. MySQL BLOB and TEXT types. http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html.
[37]
Netty project. http://netty.io.
[38]
B. D. Noble, M. Satyanarayanan, D. Narayanan, J. E. Tilton, J. Flinn, and K. R. Walker. Agile application-aware adaptation for mobility. In SOSP, 1997.
[39]
OpenStack Swift. http://swift.openstack.org.
[40]
A. Oprea and M. K. Reiter. On consistency of encrypted files. In DISC, 2006.
[41]
D. S. Parker Jr, G. J. Popek, G. Rudisin, A. Stoughton, B. J. Walker, E. Walton, J. M. Chow, D. Edwards, S. Kiser, and C. Kline. Detection of mutual inconsistency in distributed systems. IEEE ToSE, 1983.
[42]
Parse. http://parse.com.
[43]
PostgreSQL. The Oversized-Attribute Storage Technique. http://www.postgresql.org/docs/9.3/static/storage-toast.html.
[44]
S. Qadeer. Verifying sequential consistency on shared-memory multiprocessors by model checking. IEEE TPDS, 2003.
[45]
V. Ramasubramanian, T. L. Rodeheffer, D. B. Terry, M. Walraed-Sullivan, T. Wobber, C. C. Marshall, and A. Vahdat. Cimbiosys: a platform for content-based partial replication. In NSDI, 2009.
[46]
K. Ren and G. Gibson. TABLEFS: Embedding a NoSQL database inside the local file system. In APMRC, 2012.
[47]
Y. Saito and M. Shapiro. Optimistic replication. ACM CSUR, 2005.
[48]
J. H. Saltzer, D. P. Reed, and D. D. Clark. End-to-end arguments in system design. ACM ToCS, 1984.
[49]
P. J. Shetty, R. P. Spillane, R. R. Malpani, B. Andrews, J. Seyster, and E. Zadok. Building Workload-Independent Storage with VT-Trees. In FAST, 2013.
[50]
Y. Sovran, R. Power, M. K. Aguilera, and J. Li. Transactional storage for geo-replicated systems. In SOSP, 2011.
[51]
R. Spahn, J. Bell, M. Lee, S. Bhamidipati, R. Geambasu, and G. Kaiser. Pebbles: Fine-grained data management abstractions for modern operating systems. In OSDI, 2014.
[52]
SPDY Performance on Mobile Networks. https://developers.google.com/speed/articles/spdy-for-mobile.
[53]
R. Swaby. With Sync Solved, Dropbox Squares Off With Apples iCloud. http://tinyurl.com/dropbox-cr, 2011.
[54]
D. B. Terry. Replicated Data Management for Mobile Computing. Morgan & Claypool Publishers, 2008.
[55]
D. B. Terry, V. Prabhakaran, R. Kotla, M. Balakrishnan, M. K. Aguilera, and H. Abu-Libdeh. Consistency-based service level agreements for cloud storage. In SOSP, 2013.
[56]
D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers, M. J. Spreitzer, and C. H. Hauser. Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. In SOSP, 1995.
[57]
N. Tolia, J. Harkes, M. Kozuch, and M. Satyanarayanan. Integrating Portable and Distributed Storage. In FAST, 2004.
[58]
N. Tolia, M. Satyanarayanan, and A. Wolbach. Improving mobile database access over wide-area networks without degrading consistency. In MobiSys, 2007.
[59]
R. van Renesse, D. Dumitriu, V. Gough, and C. Thomas. Efficient Reconciliation and Flow Control for Anti-entropy Protocols. In LADIS, 2008.
[60]
Z. Wu, M. Butkiewicz, D. Perkins, E. Katz-Bassett, and H. V. Madhyastha. SPANStore: Cost-Effective Geo-Replicated Storage Spanning Multiple Cloud Services. In SOSP, 2013.
[61]
M. Zawirski, A. Bieniusa, V. Balegas, S. Duarte, C. Baquero, M. Shapiro, and N. M. Preguia. SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine. CoRR, 2013.
[62]
I. Zhang, A. Szekeres, D. V. Aken, I. Ackerman, S. D. Gribble, A. Krishnamurthy, and H. M. Levy. Customizable and extensible deployment for mobile/cloud applications. In OSDI, 2014.
[63]
Y. Zhang, R. Power, S. Zhou, Y. Sovran, M. K. Aguilera, and J. Li. Transaction chains: achieving serializability with low latency in geo-distributed storage systems. In SOSP, 2013.

Cited By

View all
  • (2023)Data Management for mobile applications dependent on geo-located dataProceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3578358.3591334(70-76)Online publication date: 8-May-2023
  • (2023)PS-CRDTsFuture Generation Computer Systems10.1016/j.future.2022.12.013141:C(755-767)Online publication date: 15-Feb-2023
  • (2022)OfflineManager: A Lightweight Approach for Managing Offline Status in Mobile ApplicationsProceedings of the 16th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3559712.3559717(30-39)Online publication date: 3-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '15: Proceedings of the Tenth European Conference on Computer Systems
April 2015
503 pages
ISBN:9781450332385
DOI:10.1145/2741948
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 April 2015

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

EuroSys '15
Sponsor:
EuroSys '15: Tenth EuroSys Conference 2015
April 21 - 24, 2015
Bordeaux, France

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Data Management for mobile applications dependent on geo-located dataProceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3578358.3591334(70-76)Online publication date: 8-May-2023
  • (2023)PS-CRDTsFuture Generation Computer Systems10.1016/j.future.2022.12.013141:C(755-767)Online publication date: 15-Feb-2023
  • (2022)OfflineManager: A Lightweight Approach for Managing Offline Status in Mobile ApplicationsProceedings of the 16th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3559712.3559717(30-39)Online publication date: 3-Oct-2022
  • (2021)Highly-available and consistent group collaboration at the edge with colonyProceedings of the 22nd International Middleware Conference10.1145/3464298.3493405(336-351)Online publication date: 6-Dec-2021
  • (2020)Practical client-side replicationProceedings of the VLDB Endowment10.14778/3407790.340784713:12(2590-2605)Online publication date: 1-Jul-2020
  • (2020)Design and Implementation of an Overlay File System for Cloud-Assisted Mobile AppsIEEE Transactions on Cloud Computing10.1109/TCC.2017.27631588:1(97-111)Online publication date: 1-Jan-2020
  • (2020)AROM: An Adaptive Resource Optimization Model for Mobile IoT Edge2020 International Conference on COMmunication Systems & NETworkS (COMSNETS)10.1109/COMSNETS48256.2020.9027321(396-403)Online publication date: Jan-2020
  • (2019)MEFS: Mobile Edge File System for Edge-Assisted Mobile Apps2019 IEEE 20th International Symposium on "A World of Wireless, Mobile and Multimedia Networks" (WoWMoM)10.1109/WoWMoM.2019.8792987(1-9)Online publication date: Jun-2019
  • (2018)DynaMixProceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference10.5555/3277355.3277363(71-83)Online publication date: 11-Jul-2018
  • (2018)Cloud-Based Collision-Aware Energy-Minimization Vehicle Velocity Optimization2018 IEEE 15th International Conference on Mobile Ad Hoc and Sensor Systems (MASS)10.1109/MASS.2018.00026(116-124)Online publication date: Oct-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media