[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/2685048.2685057acmotherconferencesArticle/Chapter ViewAbstractPublication PagesosdiConference Proceedingsconference-collections
Article

Customizable and extensible deployment for mobile/cloud applications

Published: 06 October 2014 Publication History

Abstract

Modern applications face new challenges in managing today's highly distributed and heterogeneous environment. For example, they must stitch together code that crosses smartphones, tablets, personal devices, and cloud services, connected by variable wide-area networks, such as WiFi and 4G. This paper describes Sapphire, a distributed programming platform that simplifies the programming of today's mobile/cloud applications. Sapphire's key design feature is its distributed runtime system, which supports a flexible and extensible deployment layer for solving complex distributed systems tasks, such as fault-tolerance, code-offloading, and caching. Rather than writing distributed systems code, programmers choose deployment managers that extend Sapphire's kernel to meet their applications' deployment requirements. In this way, each application runs on an underlying platform that is customized for its own distribution needs.

References

[1]
A. Adya, G. Cooper, D. Myers, and M. Piatek. Thialfi: A client notification service for internet-scale applications. In Proc. of SOSP, 2011.
[2]
N. Agrawal, A. Aranya, and C. Ungureanu. Mobile data sync in a blink. In Proc. of HotStorage, 2013.
[3]
Apache. Apache Thrift, 2013. http://thrift.apache.org.
[4]
M. Balakrishnan, D. Malkhi, T. Wobber, M. Wu, V. Prabhakaran, M. Wei, J. D. Davis, S. Rao, T. Zou, and A. Zuck. Tango: Distributed data structures over a shared log. In Proc. of SOSP, 2013.
[5]
D. Batoory, J. Barnett, J. F. Garza, K. P. Smith, K. Tsukuda, B. Twichell, and T. Wise. Genesis: An extensible database management system. IEEE Transactions on Software Engineering, 1988.
[6]
N. Belaramani, M. Dahlin, L. Gao, A. Nayate, A. Venkataramani, P. Yalagandula, and J. Zheng. Practi replication. In Proc. of NSDI, 2006.
[7]
N. M. Belaramani, J. Zheng, A. Nayate, R. Soulé, M. Dahlin, and R. Grimm. PADS: A policy architecture for distributed storage systems. In Proc. of NSDI, 2009.
[8]
B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility safety and performance in the SPIN operating system. In Proc. of SOSP, 1995.
[9]
M. Burrows. The Chubby lock service for loosely-coupled distributed systems. In Proc. of OSDI, 2006.
[10]
S. Bykov, A. Geller, G. Kliot, J. R. Larus, R. Pandya, and J. Thelin. Orleans: cloud computing for everyone. In Proc. of SOCC, 2011.
[11]
M. J. Carey, D. J. DeWitt, J. E. Richardson, and E. J. Shekita. Object and file management in the EXODUS extensible database system. Computer Sciences Department, University of Wisconsin, 1986.
[12]
F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber. Bigtable: A distributed storage system for structured data. ACM Transactions on Computer Systems, 2008.
[13]
S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, and X. Zheng. Secure web applications via automatic partitioning. In Proc. of SOSP, 2007.
[14]
B.-G. Chun, S. Ihm, P. Maniatis, M. Naik, and A. Patti. CloneCloud: Elastic execution between mobile device and cloud. In Proc. of EuroSys, 2011.
[15]
E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web programming without tiers. In Proc. of FMCO, 2006.
[16]
J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's globally-distributed database. In Proc. of OSDI, 2012.
[17]
Corona SDK, 2013. http://www.coronalabs.com/.
[18]
J. Cowling, D. R. Ports, B. Liskov, R. A. Popa, and A. Gaikwad. Census: Location-aware membership management for large-scale distributed systems. Proc. of USENIX ATC, 2009.
[19]
E. Cuervo, A. Balasubramanian, D.-k. Cho, A. Wolman, S. Saroiu, R. Chandra, and P. Bahl. MAUI: making smartphones last longer with code offload. In Proc. of MobiSys, 2010.
[20]
M. Dahlin, L. Gao, A. Nayate, A. Venkataramana, P. Yalagandula, and J. Zheng. PRACTI replication. In Proc. of NSDI, 2006.
[21]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. In Proc. of SOSP, 2007.
[22]
D. Diephouse and P. Brown. Building a highly scalable, open source Twitter clone, 2009. http://fr.slideshare.net/multifariousprb/building-a-highly-scalable-open-source-twitter-clone.
[23]
Dropbox, 2013. http://dropbox.com.
[24]
D. R. Engler, M. F. Kaashoek, et al. Exokernel: An operating system architecture for application-level resource management. In Proc. of SOSP, 1995.
[25]
R. T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.
[26]
B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: A substrate for kernel and language research. In Proc. of SOSP, 1997.
[27]
R. Geambasu, A. A. Levy, T. Kohno, A. Krishnamurthy, and H. M. Levy. Comet: An active distributed key-value store. In Proc. of OSDI, 2010.
[28]
2013. https://developers.google.com/google-apps/marketplace/sso.
[29]
Google web toolkit. https://developers.google.com/web-toolkit/, October 2012.
[30]
M. S. Gordon, D. A. Jamshidi, S. Mahlke, Z. M. Mao, and X. Chen. COMET: Code offload by migrating execution transparently. In Proc. of OSDI, 2012.
[31]
HAProxy: A reliable, high-performance TCP/HTTP load balancer, 2013. http://haproxy.1wt.eu/.
[32]
G. C. Hunt and M. L. Scott. The coign automatic distributed partitioning system. In Proc. of OSDI, 1999.
[33]
P. Hunt, M. Konar, F. P. Junqueira, and B. Reed. ZooKeeper: Wait-free coordination for internet-scale systems. In Proc. of USENIX ATC, 2010.
[34]
A. D. Joseph, A. F. de Lespinasse, J. A. Tauber, D. K. Gifford, and M. F. Kaashoek. Rover: a toolkit for mobile information access. In Proc. of SOSP, 1995.
[35]
E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-grained mobility in the Emerald system. In Proc. of SOSP, 1987.
[36]
E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click modular router. In Proc. of SOSP, 1999.
[37]
L. Lamport. Paxos made simple. ACM Sigact News, 2001.
[38]
C. Leau. Spring Data Redis - Retwis-J, 2013. http://docs.spring.io/spring-data/data-keyvalue/examples/retwisj/current/.
[39]
J. B. Leners, H. Wu, W.-L. Hung, M. K. Aguilera, and M.Walfish. Detecting failures in distributed systems with the falcon spy network. In Proc. of SOSP, 2011.
[40]
R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf. Policy/mechanism separation in Hydra. In Proc. of SOSP, 1975.
[41]
B. Liskov, D. Curtis, P. Johnson, and R. Scheifler. Implementation of Argus. In Proc. of SOSP, 1987.
[42]
J. Liu, M. D. George, K. Vikram, X. Qi, L. Waye, and A. C. Myers. Fabric: A platform for secure distributed computation and storage. In Proc. of SOSP, 2009.
[43]
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 Proc. of SOSP, 2011.
[44]
J. Maassen, R. Van Nieuwpoort, R. Veldema, H. Bal, T. Kielmann, C. Jacobs, and R. Hofman. Efficient Java RMI for parallel programming. ACM Transactions on Programming Languages and Systems, 2001.
[45]
P. Maymounkov and D. Mazieres. Kademlia: A peer-to-peer information system based on the XOR metric. In Proc. of IPTPS, 2002.
[46]
N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. Open-Flow: Enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 2008.
[47]
Moblie HTML5, 2013. http://mobilehtml5.org.
[48]
MobiRuby, 2013. http://mobiruby.org/.
[49]
MySQL, 2013. http://www.mysql.com/.
[50]
C. Nester, M. Philippsen, and B. Haumacher. A more efficient RMI for Java. In Proc. of Java Grande, 1999.
[51]
Node.js, 2013. http://nodejs.org/.
[52]
B. M. Oki and B. H. Liskov. Viewstamped replication: A new primary copy method to support highly-available distributed systems. In Proc. of PODC, 1988.
[53]
Parse, 2013. http://parse.com.
[54]
M. Philippsen, B. Haumacher, and C. Nester. More efficient serialization and RMI for Java. Concurrency: Practice and Experience, 2000.
[55]
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 Proc. of NSDI, 2009.
[56]
Redis: Open source data structure server, 2013. http://redis.io/.
[57]
A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Proc. of Middleware, 2001.
[58]
Amazon S3, 2013. http://aws.amazon.com/s3/.
[59]
M. I. Seltzer, Y. Endo, C. Small, and K. A. Smith. Dealing with disaster: Surviving misbehaved kernel extensions. In Proc. of OSDI, 1996.
[60]
M. Serrano, E. Gallesio, and F. Loitsch. Hop: a language for programming the web 2.0. In OOPSLA Companion, 2006.
[61]
A. Siegel, K. Birman, and K. Marzullo. Deceit: A flexible distributed file system. In Proc. of the Workshop on the Management of Replicated Data, 1990.
[62]
Simple object access protocol. http://www.w3.org/TR/soap/.
[63]
Y. Sovran, R. Power, M. K. Aguilera, and J. Li. Transactional storage for geo-replicated systems. In Proc. of SOSP, 2011.
[64]
I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proc. of SIGCOMM, 2001.
[65]
J. Stribling, Y. Sovran, I. Zhang, X. Pretzer, J. Li, M. F. Kaashoek, and R. Morris. Flexible, wide-area storage for distributed systems with WheelFS. In Proc. of NSDI, 2009.
[66]
A. S. Tanenbaum, R. Van Renesse, H. Van Staveren, G. J. Sharp, and S. J. Mullender. Experiences with the Amoeba distributed operating system. Commun. ACM, 1990.
[67]
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 Proc. of SOSP, 1995.
[68]
Twimight open-source Twitter client for Android, 2013. http://code.google.com/p/twimight/.
[69]
Voldemort: A distributed database, 2013. http://www.project-voldemort.com/voldemort/.
[70]
C. Watkins and P. Dayan. Q-learning. Machine Learning, 1992.
[71]
D. A. Wheeler. SLOCCount, 2013. http://www.dwheeler.com/sloccount/.
[72]
Zen load balancer, 2013. http://www.zenloadbalancer.com/.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
OSDI'14: Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation
October 2014
676 pages
ISBN:9781931971164

Sponsors

  • USENIX Assoc: USENIX Assoc

In-Cooperation

Publisher

USENIX Association

United States

Publication History

Published: 06 October 2014

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Middleware Support for Edge Data Analytics over Heterogeneous ScenariosProceedings of the Eighth ACM/IEEE Symposium on Edge Computing10.1145/3583740.3626613(171-184)Online publication date: 6-Dec-2023
  • (2019)DandelionIEEE Transactions on Mobile Computing10.1109/TMC.2018.284183618:3(546-559)Online publication date: 1-Mar-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)Unnoticed Consent [Last Word]IEEE Security and Privacy10.1109/MSEC.2018.288212116:6(80-79)Online publication date: 1-Nov-2018
  • (2017)Enhancing Mobile Backend as a service framework to support synchronization of large objectProceedings of the 2017 International Conference on Information Technology10.1145/3176653.3176719(383-387)Online publication date: 27-Dec-2017
  • (2017)Integrated IoT programming with selective abstractionACM SIGPLAN Notices10.1145/3140582.308103152:5(51-60)Online publication date: 21-Jun-2017
  • (2017)Rapid prototyping of IoT applications with Esperanto compilerProceedings of the 28th International Symposium on Rapid System Prototyping: Shortening the Path from Specification to Prototype10.1145/3130265.3138857(85-91)Online publication date: 19-Oct-2017
  • (2017)Mobile PlusProceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3081333.3081348(332-344)Online publication date: 16-Jun-2017
  • (2017)Integrated IoT programming with selective abstractionProceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3078633.3081031(51-60)Online publication date: 21-Jun-2017
  • (2017)A Hitchhiker's Guide to Computation Offloading: Opinions from PractitionersIEEE Communications Magazine10.1109/MCOM.2017.160048155:7(193-199)Online publication date: 1-Jan-2017
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media