Distributed Smart Sensing on the Fly: Dynamic Task Allocation in Wireless Sensor Networks

Structural health monitoring (SHM) applications generally utilise high sampling rates, which the low-power wireless protocols used for mesh networking are not well equipped to handle. This makes the deployment of low-power wireless sensor networks for SHM a challenging problem, as the transmission of raw data is slow, depleting battery life quickly. Smart sensing approaches try to overcome this by processing data at the sensor nodes. Most such approaches are preprogrammed and static. This causes two major issues: First, the application logic cannot be easily modified after deployment. Secondly, there is limited ability to adapt to changes in the environment or degradation of hardware. To address these problems we have developed a smart wireless sensor network system which allow users to specify and submit their sampling and computational logic on the fly in python through their web browser in a MapReduce style syntax. The computational tasks specified by users are modelled by the system as a directed acyclic graph (DAG). For every operator node in this graph we predict the computational work required, and for every edge we predict the volume of data to be transmitted. We also track the computational capabilities and wireless connectivity of every sensor node. Combining these, we formulate and solve an integer linear programming problem to optimally allocate tasks to nodes in the network. Through simulation, we demonstrate how this approach reduces power usage for typical SHM applications, and offers robustness and resilience under varying wireless connectivity and node processor speeds.