A dynamic reconfigurable routing framework for wireless sensor networks
Sensornet deployments of the future are expected to deliver a multitude of services, ranging from reliable sensing, real time streams, mission critical support, network reprogramming and so on. Naturally, no one routing protocol can sufficiently cater to the network layer functionalities expected. Severe resource constraints further limit the possibility of multiple routing protocols to be implemented. Further, vertically integrated designs of present protocols hinder synergy and code-reuse among implementations. In this paper, we present an architecture that allows applications to send different types of flows, often with conflicting communication requirements. A flow's requirements are made visible to our framework by using just 3bits in the packet header. The core architecture is a collection of highly composable modules that allows rapid protocol development and deployment. We show that our framework can provide: (i) flow based network functionality that ensures each flow gets an application specific network layer which is dynamically knit as per the flow's needs, (ii) modular organization that promotes code-reuse, run time sharing, synergy and rapid protocol development and (iii) pull processing that allows flows to dictate their traffic rate in the network, and implement flexible scheduling policies. This creates a framework for developing, testing, integrating, and validating protocols that are highly portable from one deployment to another. Using our framework, we show that virtually any communication pattern can be described to the framework. We validate this by gathering requirements for one real world application scenario: predictive maintenance (PdM). The requirements are used to generate a fairly complete and realistic traffic workload to drive our evaluation. Using simulations and 40 node MicaZ testbed experiments, we show that our framework can meet the deployments demands at granularities not seen before in sensornets. We measure the costs of using this framework in terms of code size, memory footprints and forwarding costs on MicaZ motes.