LADY: Dynamic Resolution of Assemblies for Extensible and Distributed .NET Applications

Steffen Viken Valvåg, Robert Pettersen, Håvard D. Johansen, Dag Johansen

Abstract

Distributed applications that span mobile devices, computing clusters, and the cloud, 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.

References

  1. Cook, R. P. and Lee, I. (1983). DYMOS: A dynamic modification system. volume 8, pages 201-202, New York, NY, USA. ACM.
  2. Daubert, E., Fouquet, F., Barais, O., Nain, G., Sunye, G., Jezequel, J.-M., Pazat, J.-L., and Morin, B. (2012). A models@runtime framework for designing and managing service-based applications. In Software Services and Systems Research - Results and Challenges (SCube), 2012 Workshop on European, pages 10-11.
  3. Dean, J. and Ghemawat, S. (2004). MapReduce: Simplified data processing on large clusters. In Proceedings of the 6th symposium on Operating Systems Design and Implementation, OSDI 7804, pages 137-150. USENIX Association.
  4. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W. (2007). Dynamo: Amazon's highly available key-value store. In Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles, SOSP 7807, pages 205-220. ACM.
  5. Gilmore, S., Kirli, D., and Walton, C. (1997). Dynamic ML without dynamic types. Technical report, University of Edinburgh.
  6. Gkantsidis, C., Karagiannis, T., Rodriguez, P., and Vojnovic, M. (2006). Planet scale software updates. ACM SIGCOMM Computer Communication Review, 36(4):423-434.
  7. Hertzog, R. and Mas, R. (2006). The Debian Administrator's Handbook. Freexian SARL, https://debianhandbook.info/, first edition.
  8. Hicks, M., Moore, J. T., and Nettles, S. (2001). Dynamic software updating. In Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI 7801, pages 13-23, New York, NY, USA. ACM.
  9. Johansen, D., Lauvset, K. J., van Renesse, R., Schneider, F. B., Sudmann, N. P., and Jacobsen, K. (2001). A TACOMA retrospective. Software - Practice and Experience, 32:605-619.
  10. Johansen, H. and Johansen, D. (2008). Resilient software mirroring with untrusted third parties. In Proceedings of the 1st ACM workshop on hot topics in software upgrades (HotSWUp).
  11. Johansen, H., Johansen, D., and van Renesse, R. (2007). Firepatch: secure and time-critical dissemination of software patches. In Proceedings of the 22nd IFIP International Information Security Conference, pages 373-384. IFIP.
  12. Microsoft (2015). Application Domains. http://msdn.microsoft.com/enus/library/cxk374d9%28v=vs.90%29.aspx.
  13. Microsoft Developer Network (2016). Best Practices for Assembly Loading. Microsoft, .NET Framework 4.6 and 4.5 edition. https://msdn.microsoft.com/enus/library/dd153782(v=vs.110).aspx.
  14. Olston, C., Reed, B., Srivastava, U., Kumar, R., and Tomkins, A. (2008). Pig latin: a not-so-foreign language for data processing. In Proceedings of the 2008 ACM SIGMOD international conference on Management of data, SIGMOD 7808, pages 1099-1110. ACM.
  15. Pettersen, R., Valvåg, S. V., Kvalnes, A., and Johansen, D. (2014). Jovaku: Globally distributed caching for cloud database services using DNS. In IEEE International Conference on Mobile Cloud Computing, Services, and Engineering, pages 127-135.
  16. Pettersen, R., Valvåg, S. V., Kvalnes, A., and Johansen, D. (2015). Cloud-side execution of database queries for mobile applications. In CLOSER 2015 : Proceedings of the 5th International Conference on Cloud Computing and Services Science, pages 586-594.
  17. Raemaekers, S., van Deursen, A., and Visser, J. (2014). Semantic versioning versus breaking changes: A study of the maven repository. In Source Code Analysis and Manipulation (SCAM), 2014 IEEE 14th International Working Conference on, pages 215-224.
  18. Segal, M. and Frieder, O. (1993). On-the-fly program modification: systems for dynamic updating. Software, IEEE, 10(2):53-65.
  19. Valvåg, S. V., Johansen, D., and Kvalnes, A. (2013). Cogset: A high performance MapReduce engine. Concurrency and Computation: Practice and Experience, 25(1):2-23.
  20. Yu, Y., Isard, M., Fetterly, D., Budiu, M., Erlingsson, Ú., Gunda, P. K., and Currey, J. (2008). 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'08, pages 1- 14. USENIX Association.
  21. Zhang, I., Szekeres, A., Aken, D. V., Ackerman, I., Gribble, S. D., Krishnamurthy, A., and Levy, H. M. (2014). Customizable and extensible deployment for mobile/- cloud applications. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pages 97-112, Broomfield, CO. USENIX Association.
Download


Paper Citation


in Harvard Style

Valvåg S., Pettersen R., Johansen H. and Johansen D. (2016). LADY: Dynamic Resolution of Assemblies for Extensible and Distributed .NET Applications . In Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 2: CLOSER, ISBN 978-989-758-182-3, pages 118-128. DOI: 10.5220/0005912901180128


in Bibtex Style

@conference{closer16,
author={Steffen Viken Valvåg and Robert Pettersen and Håvard D. Johansen and Dag Johansen},
title={LADY: Dynamic Resolution of Assemblies for Extensible and Distributed .NET Applications},
booktitle={Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 2: CLOSER,},
year={2016},
pages={118-128},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005912901180128},
isbn={978-989-758-182-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 2: CLOSER,
TI - LADY: Dynamic Resolution of Assemblies for Extensible and Distributed .NET Applications
SN - 978-989-758-182-3
AU - Valvåg S.
AU - Pettersen R.
AU - Johansen H.
AU - Johansen D.
PY - 2016
SP - 118
EP - 128
DO - 10.5220/0005912901180128