We present a protocol for routing data messages from any sensor to the base station in a sensor network. The protocol maintains an incoming spanning tree whose root is the base station. The spanning tree is constructed as follows. First, each sensor in the network is assigned a unique identifier as if the sensors form a logical two-dimensional grid. Second, each sensor, other than the base station, uses its own identifier to compute the identifiers of its “potential parents” in the spanning tree. Third, the base station starts to periodically send “connected messages”. When a sensor receives a connected message from anyone of its potential parents, the sensor makes this potential parent its parent in the tree and starts to periodically send connected messages. This routing protocol is stabilizing such that starting from any state, the protocol converges to a state where all the sensors and only the sensors that can be connected to the routing tree are connected to the tree. The convergence time of the protocol is proportional to the diameter of the sensor network. The routing protocol also has several other advantages over earlier protocols: overhead of the protocol is small, the protocol avoids unreliable long links to build a reliable routing tree, the protocol balances the load over the whole network, and it has nice fault-tolerance property. We have evaluated this protocol over a sensor network that consisted of about 50 MICA2 motes using a realistic traffic trace, and observed that the protocol delivers 72–99% of the messages to the base station.
Read full abstract