Dynamically Loading Mobile/Cloud Assemblies

  • Robert PettersenEmail author
  • Håvard D. Johansen
  • Steffen Viken Valvåg
  • Dag Johansen
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 740)


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.


Mobile Cloud Latency Extensible distributed systems 


  1. 1.
    Semantic Versioning.
  2. 2.
    Cook, R.P., Lee, I.: DYMOS: A Dynamic Modification System, vol. 8, pp. 201–202. ACM, New York (1983).
  3. 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 2012Google Scholar
  4. 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. 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).
  6. 6.
    Gilmore, S., Kirli, D., Walton, C.: Dynamic ML without dynamic types. Technical report, University of Edinburgh (1997)Google Scholar
  7. 7.
    Gkantsidis, C., Karagiannis, T., Rodriguez, P., Vojnović, M.: Planet scale software updates. ACM SIGCOMM Comput. Commun. Rev. 36(4), 423–434 (2006)CrossRefGoogle Scholar
  8. 8.
    Hertzog, R., Mas, R.: The Debian Administrator’s Handbook, 1st edn. Freexian SARL (2006).
  9. 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).
  10. 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)CrossRefzbMATHGoogle Scholar
  11. 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. 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 2008Google Scholar
  13. 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 2007Google Scholar
  14. 14.
  15. 15.
    Microsoft Developer Network: Best Practices for Assembly Loading. Microsoft, NET Framework 4.6 and 4.5 edn. (2016).
  16. 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).
  17. 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. 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. 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 2014Google Scholar
  20. 20.
    Segal, M., Frieder, O.: On-the-fly program modification: systems for dynamic updating. Software 10(2), 53–65 (1993). IEEECrossRefGoogle Scholar
  21. 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 CrossRefGoogle Scholar
  22. 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).
  23. 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.

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Robert Pettersen
    • 1
    Email author
  • Håvard D. Johansen
    • 1
  • Steffen Viken Valvåg
    • 1
  • Dag Johansen
    • 1
  1. 1.University of Tromsø—The Arctic University of NorwayTromsøNorway

Personalised recommendations