Thursday, October 16, 2008

Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks (USC)

The paper presents a new approach to wireless routing called directed diffusion. The idea is borrowed somewhat from the reaction-diffusion model in biology. It's link-based protocal where nodes interact locally with neighbors. The protocol design assumes particular application semantics, so it's not build for all apps. In particular, it allows information sink nodes to send out "interest" messages. These are queries for specific info from the network. 

The whole process of communication is a iteration of three steps: interest notification, gradient establishment, and reinforcement. Gradient is a tuple of data rate and direction. It's implemented by keeping states in the intermediate nodes with event entries, which basically tells the nodes where to forward a particular packet to. It's a on-demand routing protocol. However, the nodes have a choice of dropping or aggregating the packets. Reinforcement is the control mechanism to adjust the gradient. Positive reinforcement increase the communication rate, while negative reinforcement stops or decrease the comm. rate. Also, the interest request has a expiration field which specifies the duration of the comm.

The paper didn't address the problem of congestion, which i think would be a big problem for their protocol. Can it scale up to thousands of nodes, especially for randomly distributed network? The root problem is because they uses real-time to do the control for their protocol. Temporarily congestion creates timing jitters that would lead to improper reinforcement. 

Mobility is also a concern. The author suggests that the localized comm. helps the protocol adjust to dynamic topology more efficiently. However, it seems everytime a node moves would require setting up the gradients all over; otherwise, you can't guarantee the packet will get to the sink. In this case, out-dated gradients would die off on their own because of timeouts. However, it seems you still need to set up new gradients to make sure there is a path from the source to sink.

The protocol isn't described as clearly as it should be. There is a lot of cross-layer design, which violates the end-to-end principle. The idea is novel but doesn't look like it's cleanly engineered. The performance results isn't too meaningful when you take congestion of the formula. It is not clear what is gained here. It's not a loss if we skip this paper next semester.

No comments: