A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
Ucb2
1. Luigi Palopoli
University of Trento
Roberto Passerone, G. P. Picco,
A.L. Murphy, D. Fontanelli …
2. • A very important application for WSN is surveillance
• Prominent issues:
– detect targets with a good probability
– preserve the lifetime of the network
2
3. • We can extend the lifetime of the network by
alternating short awake intervals with long
sleeping intervals
wake-up time
time
sensor
epoch
awake interval
• ….how can do this without compromising the
probability of detecting targets?
By finding an appropriate schedule for the wakeup
times of the nodes
4.
5. Input:
– a set of nodes deployed on an area
– the sensing range of the nodes
– a desired lifetime (which maps on the duty-cycle)
Output:
– A schedule that maximises the total area covered
throughout the epoch
5
9. • We can cast the problem into the
framework of MILP optimisation
Palopoli, Passerone, Murphy, Picco, Giusti. EWSN09 for an
efficient solution
• …we assume to:
– Know position and range of each node
– Operate in a “centralized” way
– Re-compute the schedule every time a node
exhausts its battery
9
10. 1. Discretize the target area into a finite
number of regions
– Points in the same region are covered by
the same nodes
2. Setup a boolean linear program
enforcing the constraints of the wake-
up scattering problem
11. • Assume a rectangular sensing area
– Can be generalized to arbitrary shapes, using
unions of rectangles
{2}
1
2
{1,2}
{1,2,3}
3
{2,3}
{3}
12. Let the epoch duration E be an integer multiple of the awake interval
I.Then there exists a schedule such that every node wakes up at
some integer multiple of I
(within E) which maximizes the average coverage
• Enables a discretization of the problem
– the time line in each epoch is divided into L=E/I slots
• Given an optimal schedule, always possible to find an
equivalent one w/ wake-up times aligned on slots
• Enables pruning of a large portion of the solution space
remarkable computation speed-up
• Proof in the paper
13. Coverage of region is
• Goal: maximize coverage area S 1 if there is a node
#slots per epoch
active during slot k
Area of region
Coverage depends on the schedule, modeled by
boolean variables
14. Coverage is 0 when there are no nodes in the region
Coverage is 1 when there is at least one node in the region
A node wakes up at most once per epoch
15. • Formal modeling
of the problem
enables offline
analysis of tradeoffs
• Extensive pre-deployment evaluation can be
performed at little cost
– Particularly useful in cases where it is possible to use a
pre-computed schedule
16. • For a few dozens of nodes, we come up to an
acceptable solution in a few minutes
• Despite this remarkable simplification, this
technique remains Np-hard
• Several days (weeks) required for an open
source solver (GLPK) when we overcome the
threshold of 100 nodes
• We can reduce this time switching to a
commercial solver, but
• …we do have an issue of scalability
16
17. • Inspired by VLSI design, we have
developed a suboptimal algorithm
Palopoli, Passerone. Toldo, Disi Tech report 2009, conference
paper in preparation
• The idea is a classical divide-and-
conquer approach
• We break down the problem into simpler
one, we solve them and then we
combine the results
17
18. We break down
the topology
We solve the
into smaller
We increase the
Scheduling
We are able to
topologies of
coverage shifting
problem
Compute how
manageable size
appropriately
producing partial
far off we are
the partial of the
schedules
from the optimal
schedules
nodes
18
19. • The partitioning problem is itself a ILP …
• Much smaller in size but still NP-HARD :=(
• However, we can save the day using very
effective linear heuristics for VLSI design
Fiduccia, Mathesis, DAC 1982
19
20. • The post-processing phase can be
carried out using a gradient descent
approach
• We shift the partial schedules looking at
the coverage of areas neglected in the
partitioning phase
20
21. We can compute a
nearly optimal schedule
even for very large
topologies
In a few minutes
21
22.
23. • To tackle this problem we can use an interesting
heuristic, the wakeup scattering algorithm
See Giusti. Murphy, Picco EWSN07
• The idea is that nearby nodes should have “scattered”
wakeup intervals)
• We can do this by an iterative algorithm
Wakeup
Midpoint
Time of Of the wakeup
the i-th
time of the nodes
node
seen
23
24. • All nodes discover
– Their wake up time, WC
A
– Wake up time of the node
B
before them, Wprev
C
– Wake up time of the node
after them, Wnext
WC
• Calculate their new target
Wprev
Wnext
wake up time
– Wc’=(Wprev+Wnext)/2 * α
WC’
– Move toward this new wakeup
time in the next epoch
• Key Properties
– Process is entirely localized
– All nodes execute in parallel
– No central coordination
29. • It is convenient to choose an appropriate
subset of the distances between the
wakeup times as state variables
Forward
Distance
Backward
Distance
29
30. • The update rule of the algorithm yields
• where
Nodes
Induces
Seen by i
a linear switching
dynamics
30
31. • Collecting the forward distances (of
nodes that see each other) in a vector
we get an evolution for the system given
by:
Switching
function
31
32. If two nodes see each
other, they do not
overtake each other
32
33.
34. • As a first step we study convergence when
the dynamics does not switch
The system is
marginally stable
Positive distances
remain positive
34
36. • If each node sees its nearest neighbour the system never
switches. Therefore, the algorithm converges globally
• This result was already found for deployment of agents on the
boundary of an area (which cannot overtake each other
“structurally”)
See Martinez, Bullo et al. TAC07
36
37. • Suppose we remove one link to nearest neighbour
j and p do not see
each other
The distance
remains positive:
No switching
• Dynamics of j and p
37
38. • The two nodes converge to coincident
wakeup times
a = 0.2
a = 0.9
38
39. • What if we remove two links?
• Dynamics of nodes that do not
see each other
Eigenvalues
39
40. • If the two eigenvalues are positive, we can have
switching but from some point in time the system does
not switch any more
Positive eigenvalues
41. • If one of the eigenvalues is negative, we can have an
infinite switching number, but the two nodes eventually
collapse onto each other behaving as a single node
Negative eigenvalue
42.
43. • Optimal solution computed using GLPK
• Distributed solution simulated as in [EWSN07]
• Experiments:
– 500x500 area, 15 to 50 nodes, density ~3 to ~9
• Averaged over 100 topologies, and 10 random initializations
for each topology
– 1000x1000 area, 200 nodes, similar density
• Metrics:
– Fixed #slots per epoch (duty-cycle), varied sensing
range
– Fixed sensing range, varied #slots per epoch
44. The schedule “saturates”
The distributed solution does not know the
Very few nodes overlap
node location, and cannot change the order of
in space and time
nodes in a schedule
47. • Offline
– Consider Multihop topologies and latency
constraints
• The cases reported above can be used
a guideline for a general convergence
proof
• Submitted to CDC09
• Other directions
– Different applications of the approach
(e.g., target tracking)
47