subset of the deployed sensors are kept active while
the other sensors can enter a low power sleep state.
Several distributed algorithms for coverage have been
proposed in the literature (Lu and Suda, 2003; Prasad
and Dhawan, 2007; Dhawan and Prasad, 2009; Cardei
and Du, 2005; Kumar et al., 2004; Cardei et al.,
2005).
Faults are of particular concern in coverage algo-
rithms since sensors go into a sleep state in order to
conserve battery until woken up by active sensors. If
these active sensors were to fail, this could lead to
lapses in coverage that are unacceptable in critical ap-
plications. Also, most algorithms in the literature rely
on an active sensor that is about to run out of battery
waking up its neighbors to trigger a reshuffle in the
network. However, this would not work in the case
of unexpected failures since a sensor cannot predict
the occurrence of such an event. In a denser network,
more sensors should be available to compensate for
the failing sensor. In this paper, we exploit the den-
sity to recover from failure. This robustness comes at
a small cost to the network lifetime.
The remainder of this paper is as follows. In Sec-
tion 2, we present related work in the literature on
both coverage and fault-tolerance in Wireless Sensor
Networks. In Section 3 we discuss our failure recov-
ery scheme. Section 4 presents our simulation set-up
and results. Finally, we conclude in Section 5.
2 RELATED WORK
Coverage Algorithms. In this section, we briefly sur-
vey existing approaches to maximizing the lifetime
of sensor networks, while meeting certain coverage
objectives. (Cardei and Wu, 2006) gives a more de-
tailed survey on the various coverage problems and
the scheduling mechanisms they use. (Sahni and Xu,
2004) also surveys the coverage problem along with
other algorithmic problems relevant to sensor net-
works.
The coverage problem has been shown to be
NP-complete in (Abrams et al., 2004; Cardei and
Du, 2005). The approach taken in the literature
has evolved around algorithmic techniques commonly
used to work with NP-complete problems. This is
indicated by the use of solutions to related problems
such as that of finding domatic partitions, coloring, set
covers, etc, as applied to coverage. Initial approaches
to the problem in (Slijepcevic, 2001; Cardei and Du,
2005; Abrams et al., 2004) considered the problem of
finding the maximum number of disjoint covers. A
number of distributed heuristics are presented in (Lu
and Suda, 2003; Prasad and Dhawan, 2007; Dhawan
and Prasad, 2009; Cardei and Du, 2005; Kumar et al.,
2004; Cardei et al., 2005). We only discuss one spe-
cific algorithm below in the interest of space. Our al-
gorithm improves upon this algorithm by adding fail-
ure recovery to it.
Face-based Coverage. (Berman et al., 2004) present
a coverage algorithm that models the network as a
planar graph and then uses the faces of this graph to
determine which sensors should be active in order to
cover the area of interest. Each face represents a ge-
ographical area that can be sensed by one or more
sensors. These faces are found by tracing the outer
edge of the range of each sensor. The intersection
points of all of these ranges are found and placed as
nodes on a graph, with the lines along the edge of
each sensor becoming edges in the graph. A sensor
then simply needs to keep track of each of its faces
and which neighboring sensors are capable of cover-
ing those faces.
Each sensor can be in one of various states at any
given time. For every sensor, the basic states include
Active, Idle, Permanent, Vulnerable and Terminated.
Active sensors sense data for the faces they cover and
transmit that data to the base station. Idle sensors nei-
ther sense data nor transmit data but instead eneter a
low power sleep state. Permanent sensors, are a vari-
ation on active sensors and they also sense data and
transmit data, but are distinguished from active sen-
sors because they have at least one face for which they
are the only covering sensor. Vulnerable sensors are
sensors that are still in the process of deciding a state.
Finally, a Terminated state refers to sensors that are
no longer capable of contributing to the network.
Sensors periodically go through state transitions,
where they will change from one state to another. The
algorithm is broken into rounds and at the beginning
of each round, if an idle or active sensor has a vulner-
able neighbor, it will become vulnerable. This allows
a sensor to trigger a change in the cover set by becom-
ing vulnerable. This is called a reshuffle. Vulnerable
sensors become idle if all of its faces are covered by
either an active sensor, a permanent sensor, or a vul-
nerable sensor with a larger power supply. Vulnerable
sensors become active if they have a face not covered
by an active or vulnerable sensor. If a sensor’s battery
level goes low enough to only last a few more rounds,
it will transition to vulnerable to trigger a reshuffle so
that it may be replaced. Finally, any sensor becomes
terminated if its battery level goes to zero, and any
non-terminated sensor becomes permanent if it has a
face that is covered by no other non-terminated sen-
sor. See (Berman et al., 2004) for more details.
Fault-tolerance. Fault Tolerance has been exten-
sively studied in the broader context of distributing
SENSORNETS2013-2ndInternationalConferenceonSensorNetworks
134