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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
lady is an acronym for Loading Assemblies Dynamically.
- 2.
Both .exe and .dll files have the same Portable Executable file format.
- 3.
NuGet is a package management system, closely integrated with Microsoft Visual Studio.
- 4.
In this example, the call happens in the static constructor of the ConfigParser class.
References
Semantic Versioning. http://semver.org/
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
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
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)
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
Gilmore, S., Kirli, D., Walton, C.: Dynamic ML without dynamic types. Technical report, University of Edinburgh (1997)
Gkantsidis, C., Karagiannis, T., Rodriguez, P., Vojnović, M.: Planet scale software updates. ACM SIGCOMM Comput. Commun. Rev. 36(4), 423–434 (2006)
Hertzog, R., Mas, R.: The Debian Administrator’s Handbook, 1st edn. Freexian SARL (2006). https://debian-handbook.info/
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
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)
Johansen, D., Marzullo, K., Lauvset, K.J.: An approach towards an agent computing environment. In: ICDCS 2099 Workshop on Middleware (1999)
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
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
Microsoft: Application Domains (2015). http://msdn.microsoft.com/en-us/library/cxk374d9%28v=vs.90%29.aspx
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
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
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)
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)
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
Segal, M., Frieder, O.: On-the-fly program modification: systems for dynamic updating. Software 10(2), 53–65 (1993). IEEE
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)