Sunday, February 5, 2012

WSN's and Fault Tolerance, a glimpse

In the upcoming age of the next generation internet, Wireless Sensor Networks are something with the potential to seriously influence the way we perceive the universe. With connectivity to the Internet of Things, WSN's can help us predict and monitor events from a remote locations. at various degrees of autonomy these WSN's pose interesting challenges in terms of routing algorithm design, protocols, network topology and even the core design of the sensor nodes themselves.

A major concern in WSN design is fault tolerance. WSN nodes may deployed in obscure locations and are generally not touched for months maybe even years. In such a case fault tolerance within the network is an important design parameter. A case in point is the WSN deployment in the Swiss Alps, where a fault manifested in the network in the form of clock drift at dawn and dusk, leading to loss of synchronization.

Talking about Fault Tolerance, I read a paper titled "A Two-Tier Data Dissemination Model for Large-scale Wireless Sensor Networks ". This paper talks about a data dissemination technique for efficient routing in large scale Wireless Sensor Networks. It also handles mobile data sinks as long as the source of data is static. Basically a virtual grid is set up by the source within the WSN and queries and responses travel along this grid.

A small issue with this method was that it proposes only one "upstream node" for every node, hence a unique path from the source to every node in the grid. Hence when a node fails, or a cluster of nodes fails, we might have to set up a major portion of the grid leading to increased traffic in the network. I studied this paper as a part of the "Embedded Systems Design" course, (Anyone from BITS Pilani will know exactly what I am talking about :P). As a solution I thought of using priority queuing and storing alternate redundant paths from the source to every node in the grid. This will not require the added cost involved with centralization in the network but at the same time will introduce fault tolerance in the sense that a path with lesser priority can be used in case of a fault.

The ideas that went into this are presented here in the form of a paper. We haven't yet implemented these ideas in simulation or otherwise, but I would really appreciate anyone's views on these before I implement the same.