Technology > Systems: Network Autonomy > Scalable Structured Routing
Good routing protocols in sensor networks need to be robust, economic and scalable. Geographical routing protocols possess these desired properties. Yet, geographical routing protocols are highly dependent on the availability of the localization systems, which is still an area of active research. On the other hand, it may also be desirable for sensor network applications to know the locations of the source of the data. In absence of the localization systems, short- or mid-term sensor networks deployment may have to find a way to manually map the sensor nodes to their locations. One natural way to accomplish this is to assign hierarchical location identifier to each sensor node. For example, the Habitat Monitoring Test-bed deployed in James Reserve has a map showing the location of the clusters of the sensor nodes, like Meadow, Live Oak Forest etc. The sensor nodes within an area, say Meadow, are organized and treated as one unit. As the example shows, these hierarchical location identifiers, which are two-level in our example, usually contain rich information about the physical location of the sensor nodes. Furthermore, nodes within one cluster are usually physically located near each other, and thus can communicate with each other within the cluster. Our project is aimed to make use of the hierarchical location identifiers to construct scalable structured routing and rendezvous-based primitives.
The scalable structured routing using hierarchical location identifies can:
The challenges of the project include:
Our approach uses these hierarchical location identifiers to construct scalable routing tables. For example, in the sensor network shown in the Figure 1, by running hierarchical identifier routing, node 2.2.1's routing table will contain one entry to the whole area 1, one entry to area 3 and one entry to its sibling area 2.1 in addition to one entry for the other nodes in the same area like 2.2.2 and 2.2.3. So, assuming the hierarchy of the network is appropriately designed, the size of the routing table can grow logarithmically with network size.

This approach imposes several challenges:
Using the approaches described above, we have developed a general version of scalable routing algorithms using hierarchical location identifiers and the routing and rendezvous-based primitives in ns-2 and TinyOS. To evaluating the efficacy of the routing and rendezvous-based primitives for data-centric systems, we also implemented a simplified One-Phase-Pull version of Diffusion with geocasting, a simplified DHT with same function as GHT and a version of DIM in ns-2 platform. We compared the performance of these data-centric systems on our routing scheme and on geographical routing scheme GPSR plus flooding. Figure 2 shows that Diffusion over our routing support layer is comparable to that over GPSR. Figures 3 and 4 show that the performance of DHT and DIM using our routing and rendezvous primitives outperforms that of GPSR. The main reason for that is GPSR would incur perimeter traversal and in some pathological case even the outer-perimeter traversal of the network, which degrades its performance dramatically, Further, our data-locality preserving hashing actually preserves more data locality than its equivalent using geographical information. Finally, we evaluate the effect of dynamics by simulating the sequential node failure and node recovery for each node in the network. Figure 5 and Figure 6 shows that churn incurred by node failure is well contained locally.

We have tested the correctness of the scheme using simulation and evaluated the performance using both simulation and small-scale experiments.
We intend to build our algorithms as a routing layer for systems such as TinyDiffusion and TinyDB.
Before we do this, however, we will need to conduct experiments on a moderate sized testbed using Mica2 motes to:
FACULTY
Prof. Ramesh Govindan
Prof. Scott Shenker (UCB)
GRADUATE STUDENTS
Fang Bian