Abstract
Going all the way to IoT with web technologies opens up the door to isomorphic IoT system architectures, which deliver flexible deployment and live migration of code between any device in the overall system. In this vision paper, we propose using WebAssembly to implement lightweight containers and deliver the required portability. Our long-term vision is to use the technology to support developers of liquid IoT applications offering seamless, hassle-free use of multiple devices.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
https://www.w3.org/TR/wot-architecture/Overview.html, accessed Oct. 21, 2020.
- 2.
https://iot.mozilla.org/wot/, accessed Oct. 21, 2020.
- 3.
https://github.com/appcypher/awesome-wasm-runtimes, accessed Jan. 6, 2020.
- 4.
https://github.com/wasm3/wasm3/blob/master/docs/Performance.md, accessed Jan. 5, 2020.
- 5.
https://medium.com/wasmer/benchmarking-webassembly-runtimes-18497ce0d76e, accessed Oct. 21, 2020.
- 6.
https://github.com/bytecodealliance/wasm-micro-runtime, accessed Oct. 21, 2020.
- 7.
https://github.com/lastmjs/wasm-metal, accessed Oct. 21, 2020.
- 8.
https://youtu.be/gZj3M31ZfuI, accessed Dec. 28, 2020.
- 9.
https://wasi.dev/, accessed Oct. 21, 2020.
References
Babazadeh, M., Pautasso, C.: A restful api for controlling dynamic streaming topologies. In: Proceedings of the 23rd International Conference on World Wide Web, pp. 965–970 (2014)
Bellucci, F., Ghiani, G., Paternò, F., Santoro, C.: Engineering javascript state persistence of web applications migrating across multiple devices. In: Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 105–110 (2011)
Bryant, D.: Webassembly outside the browser: a new foundation for pervasive computing. In: Keynote at ICWE 2020, Helsinki, Finland, 9–12 June 2020 (2020)
Butkiewicz, M., Madhyastha, H.V., Sekar, V.: Characterizing web page complexity and its impact. IEEE/ACM Trans. Netw. 22(3), 943–956 (2013)
Celesti, A., Mulfari, D., Fazio, M., Villari, M., Puliafito, A.: Exploring container virtualization in iot clouds. In: 2016 IEEE International Conference on Smart Computing (SMARTCOMP), pp. 1–6. IEEE (2016)
Fuggetta, A., Picco, G.P., Vigna, G.: Understanding code mobility. IEEE Trans. Softw. Eng. 24(5), 342–361 (1998)
Gallidabino, A., Pautasso, C.: The liquid.js framework for migrating and cloning stateful web components across multiple devices. In: Proceedings of the 25th International Conference Companion on World Wide Web, pp. 183–186 (2016)
Gallidabino, A., Pautasso, C., Mikkonen, T., Systä, K., Voutilainen, J.P., Taivalsaari, A.: Architecting liquid software. J. Web Eng. 16(5&6), 433–470 (2017)
Gruman, G.: Apple’s handoff: What works, and what doesn’t. InfoWorld (2014)
Haas, A., et al.: Bringing the web up to speed with webassembly. In: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 185–200 (2017)
Hall, A., Ramachandran, U.: An execution model for serverless functions at the edge. In: Proceedings of the International Conference on Internet of Things Design and Implementation, pp. 225–236 (2019)
Jacobsson, M., Willén, J.: Virtual machine execution for wearables based on webassembly. In: Sugimoto, C., Farhadi, H., Hämäläinen, M. (eds.) BODYNETS 2018. EICC, pp. 381–389. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-29897-5_33
Jangda, A., Powers, B., Berger, E.D., Guha, A.: Not so fast: analyzing the performance of webassembly vs. native code. In: 2019 USENIX Annual Technical Conference, pp. 107–120 (2019)
Järvenpää, L., Lintinen, M., Mattila, A.L., Mikkonen, T., Systä, K., Voutilainen, J.P.: Mobile agents for the internet of things. In: 2013 17th International Conference on System Theory, Control and Computing, pp. 763–767. IEEE (2013)
Kumar, S.A., et al.: Classification and review of security schemes in mobile computing. Wirel. Sensor Netw. 2(06), 419–440 (2010)
Kurzyniec, D., Wrzosek, T., Drzewiecki, D., Sunderam, V.: Towards self-organizing distributed computing frameworks: the H2O approach. Parallel Process. Lett. 13(02), 273–290 (2003)
Mäkitalo, N., Bankowski, V., Daubaris, P., Mikkola, R., Beletski, O., Mikkonen, T.: Bringing webassembly up to speed with dynamic linking. Accepted to SAC 2021 (2021)
Mäkitalo, N., Nocera, F., Mongiello, M., Bistarelli, S.: Architecting the web of things for the fog computing era. IET Softw. 12(5), 381–389 (2018)
Maximilien, E.M., Ranabahu, A.: The programmable web: agile, social, and grassroot computing. In: International Conference on Semantic Computing (ICSC 2007), pp. 477–481. IEEE (2007)
Mikkonen, T., Systä, K., Pautasso, C.: Towards liquid web applications. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 134–143. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19890-3_10
Morabito, R.: A performance evaluation of container technologies on internet of things devices. In: 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp. 999–1000. IEEE (2016)
Morabito, R., Cozzolino, V., Ding, A.Y., Beijar, N., Ott, J.: Consolidate IoT edge computing with lightweight virtualization. IEEE Netw. 32(1), 102–111 (2018)
Napieralla, J.: Considering webassembly containers for edge computing on hardware-constrained IoT devices. Master’s thesis, Blekinge Institute of Technology, Karlskrona, Sweden (2020)
Shillaker, S., Pietzuch, P.: Faasm: Lightweight isolation for efficient stateful serverless computing. arXiv preprint arXiv:2002.09344 (2020)
Taivalsaari, A., Mikkonen, T.: A taxonomy of IoT client architectures. IEEE Softw. 35(3), 83–88 (2018)
Voutilainen, J.-P., Mikkonen, T., Systä, K.: Synchronizing application state using virtual DOM trees. In: Casteleyn, S., Dolog, P., Pautasso, C. (eds.) ICWE 2016. LNCS, vol. 9881, pp. 142–154. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46963-8_12
Wasik, B.: In the programmable world, all our objects will act as one. Wired (2013). http://www.wired.com/2013/05/internet-of-things-2/, Accessed 13 Oct 2020
Wen, E., Weber, G.: Wasmachine: bring IoT up to speed with a webassembly OS. In: 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), pp. 1–4. IEEE (2020)
World Wide Web Consortium: WebAssembly Core Specification (2019). https://www.w3.org/TR/wasm-core-1/, https://webassembly.github.io/spec/core/_download/WebAssembly.pdf
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Mäkitalo, N. et al. (2021). WebAssembly Modules as Lightweight Containers for Liquid IoT Applications. In: Brambilla, M., Chbeir, R., Frasincar, F., Manolescu, I. (eds) Web Engineering. ICWE 2021. Lecture Notes in Computer Science(), vol 12706. Springer, Cham. https://doi.org/10.1007/978-3-030-74296-6_25
Download citation
DOI: https://doi.org/10.1007/978-3-030-74296-6_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-74295-9
Online ISBN: 978-3-030-74296-6
eBook Packages: Computer ScienceComputer Science (R0)