WaWoT: Towards Flexible and Efficient Web of Things Services via WebAssembly on Resource-Constrained IoT Devices
Web of Things (WoT) is an emerging concept to connect IoT devices to the web using standard interfaces. This provides interoperability between different IoT platforms and enables seamless integration with web and cloud services. However, running sophisticated web services directly on resource-constrained IoT devices is challenging due to limitations in memory, computation, and energy. This paper proposes <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">WaWoT</small>, a <underline xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Wa</u>sm-based framework for flexible and efficient <underline xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">W</u>eb <underline xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">o</u>f <underline xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">T</u>hings services. <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">WaWoT</small> allows flexible WoT service development using annotations and automatic partitioning. It also enables dynamic service migration using WebAssembly modules to adapt placement between IoT devices and web clients. We also introduce an ahead-of-time compiler optimized for low memory usage through techniques like streamed compilation and trimming. For energy efficiency, we use optimizations like bulk instruction writing and direct I/O accessing. Safety is ensured through compile-time and run-time analyses to guarantee sandboxed execution. Evaluations demonstrate <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">WaWoT</small> exhibits better flexibility than existing WoT development approaches. Furthermore, <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">WaWoT</small> can also reduce RAM usage by 84.9x and energy consumption by 1.9x-4.9x over existing WebAssembly runtimes. Overall, it enables efficient, safe, and flexible WoT services on constrained IoT devices.
Authors
- Hongchang Fan (ORCID: https://orcid.org/0000-0003-1881-5067)
- Yi Gao (ORCID: https://orcid.org/0000-0001-7897-5965)
- Wei Dong (ORCID: https://orcid.org/0000-0002-7505-4308)
- Borui Li (ORCID: https://orcid.org/0009-0007-6637-8523)
Institutions
- Shijiazhuang University (CN)
- Zhejiang University (CN)
- Southeast University (CN)
Publication Details
- Journal
- IEEE Transactions on Computers
- Published
- 2024-11-18
- DOI
- https://doi.org/10.1109/tc.2024.3500385
- Citations
- 5
- Primary Topic
- IoT and Edge/Fog Computing
- Type
- article
- Field-Weighted Citation Impact
- 1.74