Management Solutions for Distributed Software Applications in Multi-Purpose Sensor Networks (Beheersoplossingen voor gedistribueerde softwaretoepassingen in sensornetwerken voor meerdere doeleinden)
Management Solutions for Distributed Software Applications in Multi-Purpose Sensor Networks
Horré, Wouter; M0220035
Multi-purpose sensor networks represent an emerging use case of wireless sensor networks. Multi-purpose sensor networks no longer serve a single purpose, but are a reusable asset that host multiple applications for a variety of actors. On the one hand, multi-purpose sensor networks have the potential to increase the return on investment of wireless sensor networks. On the other hand, multi-purpose sensor networks introduce additional management complexity that may increase the operational expenses. Automated management solutions are an important tool to reduce these operational expenses.Management solutions for multi-purpose sensor networks must meet four requirements: (1) resource efficiency, (2) autonomy, (3)reconfigurability and (4) multi-application support. The first requirement stems from the resource constraints of wireless sensor nodes. Management solutions must take these constraints into account. Second, to avoid the need for manual intervention due to the inherent dynamism of sensor networks, the management solutions must autonomously handle network changes. Third, to handle these changes and accommodate the evolving end-user requirements, support for flexible reconfiguration is indispensable. Finally, multi-application support is essential to facilitate multi-purpose usage of the sensor network.To address resource efficiency, the research in this dissertation leverages the resources in the gateway and back-end tiers that interact with the multi-purpose sensor network. The presented approach facilitates autonomy and eases multi-application support by raising the abstraction level of the policies that govern the management solutions. Modularization of the software on the sensor nodes is applied to improve reconfigurability and to enable multi-application support through distributed application assembly. This dissertation presents two contributions to the state-of-the-art in runtime support for reconfigurability. Both contributions provide flexible reconfiguration and a foundation for multi-application support through modularity. The first contribution, an adaptable virtual machine (DAViM), focuses on maximizing the modularity and reconfigurability of the runtime itself. The second contribution, a component-based approach (LooCI), provides modularity both in the runtime and at application development time. DAViM and LooCI focus on different points in the trade-off between fine-grained reconfiguration (DAViM) and clean modularization (LooCI).Next, this dissertation describes a management solution (QARI) for assembly and deployment of distributed software applications that provides autonomy and full multi-application support on top of a modular runtime system. QARI supports a high-level abstraction that allows administrators to easily express the goals for distributed application deployment. QARI autonomously pursues these goals and manages the trade-off between multiple applications. QARI integrates with LooCI because the cleaner modularization of LooCI's component-based approach eases application assembly and promotes component reuse.Prototype implementations of DAViM, LooCI and QARI confirm the feasibility of the approach for resource constrained wireless sensor networks. Two representative application scenarios in transport and logistics illustrate the features of the solutions. Finally, the text reports on the integration of the prototypes of QARI and LooCI in a testbed with state-of-the-art sensor node hardware.