A Self-Stabilizing Directed Diffusion Protocol for Sensor Networks Doina Bein School of Computer Science University of Nevada, Las Vegas siona@cs.unlv.edu Ajoy K. Datta School of Computer Science University of Nevada, Las Vegas datta@cs.unlv.edu Abstract We design a self-stabilizing communication protocol in a sensor network, based on the directed diffusion method [1]. A request for data from an initiator node is broadcast in the network, and the positive answers from the sensors are forwarded back to the initiator (following a Shortest-Path- Tree (SPT) construction rooted at the initiator.) The sensor nodes, starting from an arbitrary state and following our protocol, establish reliable communication in the network in a finite number of steps. Any number of initiators and any number of different requests at a time per initiator are allowed, but we limit the number of entries in the interest cache as the memory of a sensor node is limited. 1. Introduction There are types of networks where the nodes are not identified by ID, but by the data they carried or by the their task they have to perform in the network. A sensor net- work is an example of such network. Sensing, data process- ing, and information communication are the basis of sensor networks ([2], [3]). For a large number of sensor nodes, they may not have any global identification (unique ID) be- cause of the amount of overhead; in some cases, they may carry a global positioning system (GPS). Their positions are not predetermined, i.e. the network can start in an arbitrary topology. A sensor node is equipped with a processor, but has limited memory. As a result, it can carry out simple tasks and perform simple computations. The sensor nodes can communicate with each other unhindered within small distances, wireless, using radio, infrared, or optical media. Usually deployed for specific tasks (surveillance, reconnais- sance, disaster relief operations, medical assistance, etc), they can reach a hostile environment, inaccessible terrain. Both the sensors and the sensor network infrastructure are prone to failures, insufficient power supply, high error rate, disconnection, and little or no network support. De- spite these, a sensor network should ensure a certain level of reliability, and a sensor node should ensure certain level of correctness and accuracy for the data collected and pro- cessed locally by the node. A sensor network should be able of self-organizing, and starting from an arbitrary state, to be able in real-time to achieve a correct information routing. In this paper, we deal with the communication reliability of the network, and we present a self-stabilizing commu- nication protocol. We do not address the reliability of the sensor node or the correctness of the data collected through the sensing unit. The goal of this paper is to design a self-organizing sen- sor network, using a particular case of fault tolerance, called self-stabilization. Being self-stabilizing guarantees that the system will converge to the intended behavior in finite time, regardless of the system starting state (initial state of the sensor nodes and the initial messages on the links). Upon any request for data from a so-called initiator, in case the data is detected by some nodes, the possible answers are sent back to the initiator, on shortest paths (following a SPT construction rooted at the initiator). Then the initiator can send it to a higher level network (e.g. Internet, satellite, etc.) or application level. The system can also cope with topology changes as well. 1.1 Related Work We use the directed diffusion protocol for disseminating and retrieving data through dynamically changing sensor networks. In directed diffusion, the nodes are not addressed by their IP addresses but by the data they generate. In or- der to be able to distinguish between neighbors, nodes have local unique IDs. Examples of such identifiers are 802.11 MAC addresses ([7]) and Bluetooth cluster addresses ([8]). Many protocols and algorithms have been proposed for traditional wireless ad-hoc networks ([4, 5]), but they do not take into consideration frequent topology changes, sensors failures, and possible non-existent global IDs. A distributed self-configuring and self-healing algorithm for multi-hop wireless networks modeled as a honeycomb grid is pro- posed in [6].