Elsevier

Ad Hoc Networks

Volume 9, Issue 7, September 2011, Pages 1270-1286
Ad Hoc Networks

A dynamic reconfigurable routing framework for wireless sensor networks

https://doi.org/10.1016/j.adhoc.2011.01.007Get rights and content

Abstract

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 3 bits 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.

Introduction

Protocol development in sensornets have to meet the challenges of correctness and efficiency, while functioning on a resource constrained hardware platform. Hence, typical sensornet deployments thus far have focused on performance more than functional flexibility by building deployments that perform limited tasks. In fact, most sensornet deployments today have a highly focused and rather singular objective. Technology trends indicate that sensornets of the future will be expected to do multiple, and often conflicting, tasks simultaneously. For example, a comprehensive deployment solution could simultaneously send periodic sense-and-disseminate flows, real time streams, mission critical alerts, network reprogramming data, patched updates, interactive queries, commands and so on. Naturally, no one routing optimization can sufficiently cater to such diverse communication requirements. Accommodating arbitrary communication patterns while conserving limited resources calls for dynamism in route selection.

Providing a dynamic network layer functionality is, however, non-trivial. Extreme scarcity of resources makes full implementations of multiple protocols infeasible. Further, existing protocols are highly optimized for a given deployment and its associated traffic type. This optimization has come at a high cost: limited portability, limited code-reuse, and non-extensible designs. To promote synergy and maintain adaptability, there is a need to bring flexibility closer to protocol design.

In this paper, we present an architecture that allows an application to generate multiple types of flows, often with conflicting communication requirements. Our architecture provides an application specific network layer for each flow based upon its needs. To make this possible, a flow’s requirements are made visible to the framework using three descriptive bits in the packet header. Likewise, protocol modules inside the framework carry a similar 3 bits description that advertises their suitability for a particular flow. The core of our framework is a modular software architecture for implementing network layer functionalities composed of “modules”. Modules are highly composable, lightweight components that implement small network tasks. Functionalities in the network layer are built by arranging a sequence modules in the form of a graph. New protocols can be written by extending, adding or re-arranging the modules already present. We regularize the various interface assumptions and data structure requirements by the use of a shared neighbor table, and decouple core protocol features from resource management functionalities. In effect, we integrate the vast body of work in network protocols available in sensornets by distilling core protocol features for various traffic types. This would foster tremendous synergy across various deployment efforts since the core component protocols can be easily migrated from one effort to another. While we present specific implementation choices for both the preamble bits and the component protocols, we note that this is only one instance of our proposed framework. We envision various preamble bits and accompanying protocols based on the need at hand. In other words, this paper’s contribution is a frameworks that can handle conflicting requirements and not the component protocols themselves.

Specific properties of this framework make it a powerful tool for building, testing and deploying complete sensornet applications. Pull processing allows elements closer to the transmitting interface regulate packet flow on a need basis. Flow based network functionality allows inspection of a flow’s needs, and helps construct an appropriate set of functionalities for that flow by knitting relevant modules. It provides a deeper insight to providing reliability for certain flows, speedy delivery for certain other, aggregation for delay tolerant flows and so on.

We evaluate the overhead of using this framework in terms of code size, memory footprint and processing overhead by implementing various combinations of modules on MicaZ motes [27]. Our experience shows that we achieve upto 30% reduction in code size and more than 40% reduction in memory footprints compared to full implementations. Our framework can forward upto 4437 bytes/sec before a livelock [13] occurs.

We also bring out the practical benefits of using this framework by conducting a case study of a fairly large scale industrial application of predictive maintenance (PdM). We show how our framework can adapt to the various communication requirements of an operational PdM, and offer custom network layer function for every instance. We gather and meet PdM’s operational demands on a 40 node wireless MicaZ testbed for 2 days, and a 9-week worth simulation time on a 1000 node simulation to analyze behavior at scale.

Section snippets

Related research

This paper builds upon two previous approaches by us with a dynamic network framework for sensornets [19], [20], [21], by providing a comprehensive network layer architecture and framework for flow based network functionality. We also provide implementation insights, performance evaluation and a case study to substantiate previous work.

There has been an excellent series of work that address the problem of promoting synergy and providing sufficient abstraction for rapid protocol development.

Routing framework overview

Application packets present a 3 bits preamble to the framework that describes its communication intent. The framework dynamically optimizes routing decisions based on these preamble bits. The routing layer is now a composable set of routing components that perform similar functions, but are optimized for different classes of traffic. The selection of a routing component is hence a mapping between what the application demands and what the component has to offer. To unify interface assumptions,

The dynamic routing framework

We show how the 3 bits drive customization and protocol selection within the dynamic routing framework. Apart from communication requirements of reliability or delay tolerance, the bits fundamentally divide the traffic as being of control or data type. Control or data traffic do not necessarily demand differential routing in terms of shorter or longer paths. In fact, most of control traffic (like beacons or ACKs) are for one hop use only. Beacons in particular are simply broadcast, and require

Application background

With our dynamic routing framework in place, we proceed to analyze the various intricacies of a fairly complete large scale deployment by choosing predictive maintenance (PdM) as an example target application. We begin by gathering the various communication demands of this deployment. We employ our 3 bit scheme in exposing these requirements to the communication framework. Using these requirements, we chart a comprehensive traffic workload to drive our evaluation of the dynamic routing framework.

Simulation results

We evaluate our dynamic routing framework by both simulations and experiment on testbeds of MicaZ motes. We resort to a simulation based study to analyze behavior at scale, where we simulate behavior for thousands of motes.

We designed a packet level simulator in Java, and we modeled link behavior between any pair of nodes is closely modeled around results by Woo [23] and Zhao [26]. Using that model, we also implement the typical broadcast behavior of all packet transmissions and receptions that

Testbed implementation

This section presents results from an implementation perspective of the dynamic routing framework. Our motivation behind implementation was to: (i) establish a proof of concept (sanity check) that dynamic routing is indeed feasible on real hardware and (ii) to measure the overhead incurred by replacing monolithic designs with dynamic protocol behavior. We compare the overhead incurred against the simplest routing protocol possible (serial-forwarder) and MintRoute, the default TinyOS routing

Conclusions

Typical deployments would consist of multiple concurrent applications, all of whose success leads to the fulfillment of a deployments objective. With every application placing its own subjective communication demand on the framework, there is an urgent need to both expose these requirements to the communication framework, and dynamically customize behavior for every type of application. We have presented a simple scheme of using just three intent bits to completely describe communication

Mukundan Venkataraman is a Ph.D. candidate at the Department of Electrical Engineering and Computer Science (EECS) at the University of Central Florida (UCF). Prior to UCF, he was a member of Research Staff at the Pervasive Computing team at SET-Labs, Infosys Technologies Ltd., Banglore, preceded by an internship at the SERC, Indian Institute of Science, Bangalore.

His findings have won him the Best Student Paper Award in Asia-Pacific (R10) by IEEE in 2003 at Penang, Malaysia; Best Student Paper

References (27)

  • T.E. Cheng, R. Fonseca, S. Kim, D. Moon, A. Tavakoli, D. Culler, S. Shenker, I. Stoica, A modular network layer for...
  • O. Chipara, Z. He, G. Xing, Q. Chen, X. Wang, C. Lu, J. Stankovic, T. Abdelzaher, Real-Time power-aware routing in...
  • D. Culler, P. Dutta, C.T. Ee, R. Fonseca, J. Hui, P. Levis, J. Polastre, S. Shenker, I. Stoica, G. Tolle, J. Zhao,...
  • D.S.J. De Coutu, D. Aguayo, B. Chambers, R. Morris, Performance of multihop wireless networks: shortest path is not...
  • D.S.J. De Couto, D. Aguayo, J. Bicket, R. Morris, A high-throughput path metric for multi-hop wireless routing, in: ACM...
  • R. Fonseca, S. Ratnasamy, J. Zhao, T.E. Cheng, D. Culler, S. Shenker, I. Stoica, Beacon-vector routing: scalable...
  • Y. He et al.

    An autonomic routing framework for sensor networks

    Cluster Computing

    (2006)
  • T. He, J.A. Stankovic, C. Lu, T. Abdelzaher, SPEED: a stateless protocol for real-time communication in sensor...
  • J. Heidemann, F. Silva, Y. Yu, D. Estrin, P. Haldar, Diffusion Filters as a Flexible Architecture for Event...
  • N.C. Hutchison et al.

    The X-Kernel: an architecture for implementing network protocols

    IEEE Transaction on Software Engineering

    (1991)
  • L. Krishnamurthy, R. Adler, P. Buonadonna, J. Chhabra, M. Flanigan, N. Kushalnagar, L. Nachman, M. Yarvis, Design and...
  • P. Levis, D. Culler, Mate: a tiny virtual machine for sensor networks, in: Proceedings of International Conference on...
  • J.C. Mogul et al.

    Eliminating receive livelock in an interrupt-driven kernel

    ACM Transaction on Computer Systems

    (1997)
  • Cited by (5)

    • Striving for sensing: Taming your mobile code to share a robot sensor network

      2014, Information Sciences
      Citation Excerpt :

      However, that kind of proposal is neither generic nor flexible enough to be considered for general-purpose. In the concrete case of [38], it relies solely on a three bit header which defines the different flow requirements. DTN data mules are mobile elements which collect information from the different DTN nodes acting as routers.

    • Context-aware routing framework for duty-cycled wireless sensor networks

      2022, Concurrency and Computation: Practice and Experience
    • Self-adaptive multi-purpose Grey Wolf optimization for efficient routing of wireless ad hoc networks

      2018, International Journal of Modeling, Simulation, and Scientific Computing
    • Designing predictive maintenance for agricultural machines

      2018, 26th European Conference on Information Systems: Beyond Digitization - Facets of Socio-Technical Change, ECIS 2018
    • Pareto Optimal Collection Tree Protocol for industrial monitoring WSNs

      2011, 2011 IEEE GLOBECOM Workshops, GC Wkshps 2011

    Mukundan Venkataraman is a Ph.D. candidate at the Department of Electrical Engineering and Computer Science (EECS) at the University of Central Florida (UCF). Prior to UCF, he was a member of Research Staff at the Pervasive Computing team at SET-Labs, Infosys Technologies Ltd., Banglore, preceded by an internship at the SERC, Indian Institute of Science, Bangalore.

    His findings have won him the Best Student Paper Award in Asia-Pacific (R10) by IEEE in 2003 at Penang, Malaysia; Best Student Paper awards consecutively in 2002 and 2003 by IEEE Bangalore (B.R.V. Varadan Paper Award) and an invited paper at ACM/IEEE CNDS 2004 in San Diego, CA. He is also the recipient of Presidential Doctoral Fellowship from UCF for pursuing graduate studies; as well as Outstanding Contributions Award and Best Outgoing Student Award from his undergraduate Institute. He received a B.E. in Computer Science from VTU in June 2003.

    Mainak Chatterjee is an Associate Professor in the School of Electrical Engineering and Computer Science at the University of Central Florida. He received his Ph.D. from the department of Computer Science and Engineering at the University of Texas at Arlington in May 2002. He received his M.E. degree in Electrical Communication Engineering from the Indian Institute of Science in 1998. Prior to that, he did his B.Sc. in Physics from Presidency College, University of Calcutta. His research interest is in the broad area of computer communications and wireless networking and is associated with the Networking and Mobile Computing Lab (NetMoC) at UCF. He is a recipient of the AFOSR Young Investigator Program (YIP) award.

    Kevin A. Kwiat has been a civilian employee with the U.S. Air Force Research Laboratory in Rome, New York for over 27 years. Currently he is working in the Cyber Science Branch. He received the B.S. in Computer Science and the B.A. in Mathematics from Utica College of Syracuse University, and the M.S. in Computer Engineering and the Ph.D. in Computer Engineering from Syracuse University. He received the following Air Force Research Laboratory Information Directorate Awards: Basic Research Award, Best Paper Award, and Technology Team Award. He holds 4 patents. In addition to his duties with the Air Force, he is an adjunct professor of Computer Science at the State University of New York at Utica/Rome, an adjunct instructor of Computer Engineering at Syracuse University, and a Research Associate Professor with the University at Buffalo. He completed assignments as an adjunct professor at Utica College of Syracuse University, a lecturer at Hamilton College, a visiting scientist at Cornell University, and as a visiting researcher while on an Air Force Office of Scientific Research “Window on Europe” at the University of Edinburgh. His main research interest is dependable computer design.

    This research was supported, in part, by the Air Force Office of Scientific Research (AFOSR) under the federal Grant No. FA9550-07-1-0023. Approved for Public Release; Distribution Unlimited: 88ABW-2011-0368 dated 28 Jan 2011.

    1

    An earlier version of this paper appeared in IEEE WCNC 2009 [19].

    View full text