Abstract
The ability to monitor and steer the behaviour of complex distributed systems is an increasingly hot research topic, fostered by the growing adoption of hybrid cloud-edge technologies that constitute a computational continuum. One key feature of these systems is the ability to scale in size, embracing a wide number of heterogeneous devices and applications. This complexity, in turn, impacts the monitoring and control systems that need, at the same time, to be able to deal with high complexity and computational load and be available on all kinds of devices. In this paper, we introduce an architecture that allows for shifting the computational load of monitor systems at runtime across different devices in the cloud-edge continuum. We show the feasibility of the proposed approach by providing a reference implementation integrated with an existing simulation platform, leveraging Kotlin multiplatform to allow interoperability among different runtimes.
Artifacts available in https://zenodo.org/record/7817433.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
One notable example is the porting of the ioquake3 engine (https://ioquake3.org/) in JavaScript (http://www.quakejs.com/) as a proof-of-concept of the feasibility of running complex applications in the browser.
- 4.
- 5.
- 6.
- 7.
References
Aguzzi, G., Casadei, R., Maltoni, N., Pianini, D., Viroli, M.: ScaFi-Web: a web-based application for field-based coordination programming. In: Damiani, F., Dardha, O. (eds.) COORDINATION 2021. LNCS, vol. 12717, pp. 285–299. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78142-2_18
Aslam, S., Shah, M.A.: Load balancing algorithms in cloud computing: a survey of modern techniques. In: 2015 National Software Engineering Conference (NSEC). IEEE, December 2015. https://doi.org/10.1109/nsec.2015.7396341
Audrito, G., Casadei, R., Damiani, F., Stolz, V., Viroli, M.: Adaptive distributed monitors of spatial properties for cyber-physical systems. J. Syst. Softw. 175, 110908 (2021). https://doi.org/10.1016/j.jss.2021.110908
Audrito, G., Viroli, M., Damiani, F., Pianini, D., Beal, J.: A higher-order calculus of computational fields. ACM Trans. Comput. Logic. 20(1), 1–55 (2019). https://doi.org/10.1145/3285956
Bak, S., Menon, H., White, S., Diener, M., Kalé, L.V.: Multi-level load balancing with an integrated runtime approach. In: 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, CCGRID 2018, Washington, DC, USA, May 1–4, 2018, pp. 31–40. IEEE Computer Society (2018). https://doi.org/10.1109/CCGRID.2018.00018
Bellavista, P., Corradi, A., Stefanelli, C.: Mobile agent middleware for mobile computing. Computer 34(3), 73–81 (2001). https://doi.org/10.1109/2.910896
Bennaceur, A., et al.: Modelling and analysing resilient cyber-physical systems. In: SEAMS@ICSE 2019, pp. 70–76. ACM (2019). https://doi.org/10.1109/SEAMS.2019.00018
Casadei, R., Viroli, M., Aguzzi, G., Pianini, D.: ScaFi: a Scala DSL and toolkit for aggregate programming. SoftwareX 20, 101248 (2022). https://doi.org/10.1016/j.softx.2022.101248
Chen, B., Cheng, H.H.: A runtime support environment for mobile agents. In: Volume 4a: ASME/IEEE Conference on Mechatronic and Embedded Systems and Applications. ASME (2005). https://doi.org/10.1115/detc2005-85389
Ciatto, G., Calegari, R., Omicini, A.: 2P-KT: a logic-based ecosystem for symbolic AI. SoftwareX 16, 100817 (2021). https://doi.org/10.1016/j.softx.2021.100817
Currier, C.: Protocol buffers. In: Mobile Forensics – The File Format Handbook, pp. 223–260. Springer International Publishing, ham (2022). https://doi.org/10.1007/978-3-030-98467-0_9
Denti, E., Omicini, A., Ricci, A.: TUProlog: a light-weight prolog for internet applications and infrastructures. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 184–198. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45241-9_13
Doeraene, S.: Cross-platform language design in scala.js (keynote). In: Proceedings of the 9th ACM SIGPLAN International Symposium on Scala. p. 1. Association for Computing Machinery (2018). https://doi.org/10.1145/3241653.3266230
Doeraene, S., Schlatter, T., Stucki, N.: Semantics-driven interoperability between scala.js and JavaScript. In: Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala, pp. 85–94. Association for Computing Machinery (2016). https://doi.org/10.1145/2998392.2998404
Domenico, A.D., Perna, G., Trevisan, M., Vassio, L., Giordano, D.: A network analysis on cloud gaming: Stadia. GeForce now PSNow. Netw. 1(3), 247–260 (2021). https://doi.org/10.3390/network1030015
Hagos, T.: Introduction to kotlin. In: Beginning Kotlin, pp. 1–20. Apress, November 2022. https://doi.org/10.1007/978-1-4842-8698-2_1
Ihrig, C.J.: JavaScript object notation. In: Pro Node.js for Developers, pp. 263–270. Apress (2013). https://doi.org/10.1007/978-1-4302-5861-2_17
Kanbar, A.B., Faraj, K.: Region aware dynamic task scheduling and resource virtualization for load balancing in IoT-fog multi-cloud environment. Future Gener. Comput. Syst. 137, 70–86 (2022). https://doi.org/10.1016/j.future.2022.06.005
Milojicic, D.S.: The edge-to-cloud continuum. Computer 53(11), 16–25 (2020). https://doi.org/10.1109/MC.2020.3007297
Mishra, S.K., Sahoo, B., Parida, P.P.: Load balancing in cloud computing: a big picture. J. King Saud Univ. Comput. Inf. Sci. 32(2), 149–158 (2020). https://doi.org/10.1016/j.jksuci.2018.01.003
Newmarch, J.: Testing java swing-based applications. In: TOOLS 1999: 31st International Conference on Technology of Object-Oriented Languages and Systems, 22–25 September 1999, Nanjing, China, pp. 156–165. IEEE Computer Society (1999). https://doi.org/10.1109/TOOLS.1999.796479
Odersky, M.: Essentials of scala. In: Langages et Modèles à Objets, LMO 2009, Nancy, France, 25–27 mars 2009. vol. L-3, p. 2. Cépaduès-Éditions (2009)
Pianini, D.: Simulation of large scale computational ecosystems with alchemist: a tutorial. In: Matos, M., Greve, F. (eds.) DAIS 2021. LNCS, vol. 12718, pp. 145–161. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78198-9_10
Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with ALCHEMIST. J. Simul. 7(3), 202–215 (2013). https://doi.org/10.1057/jos.2012.27
Popic, S., Pezer, D., Mrazovac, B., Teslic, N.: Performance evaluation of using protocol buffers in the internet of things communication. In: 2016 International Conference on Smart Systems and Technologies (SST). IEEE, October 2016. https://doi.org/10.1109/sst.2016.7765670
Robillard, M.P., Kutschera, K.: Lessons learned while migrating from swing to JavaFX. IEEE Softw. 37(3), 78–85 (2020). https://doi.org/10.1109/MS.2019.2919840
Subramanian, V.: React-bootstrap. In: Pro MERN Stack, pp. 315–376. Apress (2019). https://doi.org/10.1007/978-1-4842-4391-6_11
Taherizadeh, S., Jones, A., Taylor, I.J., Zhao, Z., Stankovski, V.: Monitoring self-adaptive applications within edge computing frameworks: a state-of-the-art review. J. Syst. Softw. 136, 19–38 (2018). https://doi.org/10.1016/j.jss.2017.10.033
Thakkar, M.: Introducing react.js. In: Building React Apps with Server-Side Rendering, pp. 41–91. Apress (2020). https://doi.org/10.1007/978-1-4842-5869-9_2
Vanhatupa, J.M.: Browser games for online communities. Int. J. Wirel. Mob. Netw. 2(3), 39–47 (2010). https://doi.org/10.5121/ijwmn.2010.2303
Acknowledgements
The authors thank Gianluca Aguzzi for the fruitful discussions on languages, frameworks, and tools for multi-platform programming.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
Cite this paper
Filaseta, A., Pianini, D. (2023). Runtime Load-Shifting of Distributed Controllers Across Networked Devices. In: Patiño-Martínez, M., Paulo, J. (eds) Distributed Applications and Interoperable Systems. DAIS 2023. Lecture Notes in Computer Science, vol 13909. Springer, Cham. https://doi.org/10.1007/978-3-031-35260-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-35260-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-35259-1
Online ISBN: 978-3-031-35260-7
eBook Packages: Computer ScienceComputer Science (R0)