It is a common practice to leave a minimum set of sensor nodes active at any particular time while putting others in sleep mode to conserve energy. Although this strategy can substantially extend system lifetime, it makes sensor networks vulnerable to frequent node failures. The failure of an active node can cause service disruptions because it leads to periods of time during which either a portion of the system cannot collect data or the system cannot deliver the collected data to the applications.
On the other hand, sensor nodes are relatively short-lived. Firstly, a node's longevity is limited by the duration of the battery, which is often around months. Secondly, sensor nodes are usually densely built to reduce the sizes/costs, which will cause higher hardware failure rates. Thirdly, sensor applications often require deployment in harsh environments, which can quickly wear out these devices. Fourthly, a node may even appear unavailable to the rest of the network if its communication links are broken, such as the situation in the presence of physical obstacles. Frequent node failures can cause disruptions in both sensing and forwarding.
DADA is targeted at energy-efficient system recovery in the case of failures, by carefully scheduling the sleep/wakeups of the redundant nodes. Leveraging prior experience in CPU scheduling, we designed two algorithms: Rotatory Sentry (R-Sentry) and Persistent Sentry (P-Sentry), wherein sentry nodes can wake up on time to replace the failed active nodes with minimal energy cost:
In support of this effort, we have built our own simulator which can model large sensor networks with thousands of or more nodes. We are now proceeding with prototyping the protocols on a testbed of 30 motes.