Skip to main content

Dynamically Loading Mobile/Cloud Assemblies

  • Conference paper
  • First Online:
Cloud Computing and Services Science (CLOSER 2016)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 740))

Included in the following conference series:

  • 689 Accesses

Abstract

Distributed applications that span mobile devices, computing clusters, and cloud services, require robust and flexible mechanisms for dynamically loading code. This paper describes lady: a system that augments the .net platform with a highly reliable mechanism for resolving and loading assemblies, and arranges for safe execution of partially trusted code. Key benefits of lady are the low latency and high availability achieved through its novel integration with dns.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    lady is an acronym for Loading Assemblies Dynamically.

  2. 2.

    Both .exe and .dll files have the same Portable Executable file format.

  3. 3.

    NuGet is a package management system, closely integrated with Microsoft Visual Studio.

  4. 4.

    In this example, the call happens in the static constructor of the ConfigParser class.

References

  1. Semantic Versioning. http://semver.org/

  2. Cook, R.P., Lee, I.: DYMOS: A Dynamic Modification System, vol. 8, pp. 201–202. ACM, New York (1983). http://doi.acm.org/10.1145/1006140.1006188

  3. Daubert, E., Fouquet, F., Barais, O., Nain, G., Sunye, G., Jezequel, J.M., Pazat, J.L., Morin, B.: A models@runtime framework for designing and managing service-based applications. In: 2012 Workshop on European Software Services and Systems Research - Results and Challenges (S-Cube), pp. 10–11, June 2012

    Google Scholar 

  4. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: Proceedings of the 6th Symposium on Operating Systems Design and Implementation, OSDI 2004, pp. 137–150. USENIX Association (2004)

    Google Scholar 

  5. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. In: Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles, SOSP 2007, pp. 205–220. ACM (2007). http://doi.acm.org/10.1145/1294261.1294281

  6. Gilmore, S., Kirli, D., Walton, C.: Dynamic ML without dynamic types. Technical report, University of Edinburgh (1997)

    Google Scholar 

  7. Gkantsidis, C., Karagiannis, T., Rodriguez, P., Vojnović, M.: Planet scale software updates. ACM SIGCOMM Comput. Commun. Rev. 36(4), 423–434 (2006)

    Article  Google Scholar 

  8. Hertzog, R., Mas, R.: The Debian Administrator’s Handbook, 1st edn. Freexian SARL (2006). https://debian-handbook.info/

  9. Hicks, M., Moore, J.T., Nettles, S.: Dynamic software updating. In: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI 2001, NY, USA, pp. 13–23 (2001). http://doi.acm.org/10.1145/378795.378798

  10. Johansen, D., Lauvset, K.J., van Renesse, R., Schneider, F.B., Sudmann, N.P., Jacobsen, K.: A TACOMA retrospective. Soft. Pract. Exp. 32, 605–619 (2001)

    Article  MATH  Google Scholar 

  11. Johansen, D., Marzullo, K., Lauvset, K.J.: An approach towards an agent computing environment. In: ICDCS 2099 Workshop on Middleware (1999)

    Google Scholar 

  12. Johansen, H., Johansen, D.: Resilient software mirroring with untrusted third parties. In: Proceedings of the 1st ACM Workshop on Hot Topics in Software Upgrades (HotSWUp), October 2008

    Google Scholar 

  13. Johansen, H., Johansen, D., van Renesse, R.: Firepatch: secure and time-critical dissemination of software patches. In: Proceedings of the 22nd IFIP International Information Security Conference, pp. 373–384. IFIP, May 2007

    Google Scholar 

  14. Microsoft: Application Domains (2015). http://msdn.microsoft.com/en-us/library/cxk374d9%28v=vs.90%29.aspx

  15. Microsoft Developer Network: Best Practices for Assembly Loading. Microsoft, NET Framework 4.6 and 4.5 edn. (2016). https://msdn.microsoft.com/en-us/library/dd153782(v=vs.110).aspx

  16. Olston, C., Reed, B., Srivastava, U., Kumar, R., Tomkins, A.: Pig Latin: a not-so-foreign language for data processing. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD 2008, pp. 1099–1110. ACM (2008). http://doi.acm.org/10.1145/1376616.1376726

  17. Pettersen, R., Valvåg, S.V., Kvalnes, A., Johansen, D.: Jovaku: globally distributed caching for cloud database services using DNS. In: IEEE International Conference on Mobile Cloud Computing, Services, and Engineering, pp. 127–135 (2014)

    Google Scholar 

  18. Pettersen, R., Valvåg, S.V., Kvalnes, A., Johansen, D.: Cloud-side execution of database queries for mobile applications. In: Proceedings of the 5th International Conference on Cloud Computing and Services Science, CLOSER 2015, pp. 586–594 (2015)

    Google Scholar 

  19. Raemaekers, S., van Deursen, A., Visser, J.: Semantic versioning versus breaking changes: a study of the maven repository. In: 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 215–224, September 2014

    Google Scholar 

  20. Segal, M., Frieder, O.: On-the-fly program modification: systems for dynamic updating. Software 10(2), 53–65 (1993). IEEE

    Article  Google Scholar 

  21. Valvåg, S.V., Johansen, D., Kvalnes, A.: Cogset: a high performance MapReduce engine. Concurrency Comput. Pract. Exp. 25(1), 2–23 (2013). doi:10.1002/cpe.2827

    Article  Google Scholar 

  22. Yu, Y., Isard, M., Fetterly, D., Budiu, M., Erlingsson, Ú., Gunda, P.K., Currey, J.: DryadLINQ: a system for general-purpose distributed data-parallel computing using a high-level language. In: Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation, OSDI 2008, pp. 1–14. USENIX Association (2008). http://dl.acm.org/citation.cfm?id=1855741.1855742

  23. Zhang, I., Szekeres, A., Aken, D.V., Ackerman, I., Gribble, S.D., Krishnamurthy, A., Levy, H.M.: Customizable and extensible deployment for mobile/cloud applications. In: 11th USENIX Symposium on Operating Systems Design and Implementation OSDI 2014, Broomfield, CO, pp. 97–112. USENIX Association, October 2014. https://www.usenix.org/conference/osdi14/technical-sessions/presentation/zhang

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Pettersen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Pettersen, R., Johansen, H.D., Valvåg, S.V., Johansen, D. (2017). Dynamically Loading Mobile/Cloud Assemblies. In: Helfert, M., Ferguson, D., Méndez Muñoz, V., Cardoso, J. (eds) Cloud Computing and Services Science. CLOSER 2016. Communications in Computer and Information Science, vol 740. Springer, Cham. https://doi.org/10.1007/978-3-319-62594-2_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-62594-2_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-62593-5

  • Online ISBN: 978-3-319-62594-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics