Scalable Tracking & Querying for Wireless Sensor Networks Murat Demirbas SUNY Buffalo

advertisement
Scalable Tracking & Querying
for Wireless Sensor Networks
Murat Demirbas
SUNY Buffalo
CSE Dept.
Sensor networks
A sensor node (mote)

4Mhz processor, 128K flash memory

magnetism, light, heat, sound, and vibration sensors

wireless communication up to 100m

costs “in bulk” ~$5 (now $80~$150)
Applications include

ecology monitoring, precision agriculture, civil engineering

traffic monitoring, industrial automation, military and surveillance
In OSU, we developed a surveillance service for DARPA-NEST

classify trespassers as car, soldier, civilian

LiteS: 100 nodes in 2003,
ExScal: 1000 nodes in Dec 2004
A. Arora, et al. A Line in the Sand: A Wireless Sensor Network for Target
Detection, Classification, and Tracking. Computer Networks (Elsevier), 2004.
2
Desiderata for sensor networks
• Scalability :
Large-scale deployment: 10K nodes
Communication-efficient (local) distributed programs are needed
• Fault-tolerance :
Message corruptions, nodes fail in complex ways
Self-healing programs are needed
3
Overview of my research
• Distributed & local WSN algorithms

Tracking: local and fault-locally healing

Querying: local and lightweight routing

Spatial clustering, etc.
• Reliable communication in WSN

Consensus in WSN: Dependable applications

Reliable broadcast at MAC layer: Solving hidden terminal problem

Reliable transactions for WSN: A programming framework for
concurrency-safe real-time control applications
• Specification-based design of self-healing

Scalability wrt code size: dependability preserving refinement of code
4
Tracking in WSN
Tracking problem
• Evader strategy is unknown
• Pursuer can only talk to nearby sensor nodes,
pursuer moves faster than evader
• Design a program for sensor nodes to enable the pursuer to
catch the evader (despite the occurrence of faults)
Applications: battlefield scenarios, border patrol, personnel tracking,
routing messages to mobile processes
M. Demirbas, A. Arora, and M. Gouda. Pursuer-Evader Tracking
6
in Sensor Networks. Sensor Network Operations, 2005.
Evader-centric program
Evader
Pursuer
Tracking involves two operations
– Move: update the tracking structure after evader relocates
– Find: direct pursuer to reach evader using the tracking structure
7
STALK: Scalable tracking
• Maintain tracking structure

over fewer number of nodes

with accuracy inversely proportional to the distance from evader
 communication cost of msgj,k= distance(j,k),
delay= δ*distance(j,k)
 nearby nodes (cheap to update) have recent & accurate info
 distant nodes (expensive to update) have stale & rough info
• Local operations :
—
Cost of move proportional to the distance the evader moves
—
Cost of find proportional to the distance from the evader
—
Cost of healing proportional to the size of the initial perturbation
• To this end we employ a hierarchical partitioning of the network
M. Demirbas, A. Arora, T. Nolte, and N. Lynch. A Hierarchy-based Fault-local Stabilizing
8
Algorithm for Tracking in Sensor Networks. OPODIS, 2004.
Hierarchical clustering
R: dilation factor of clustering to determine size at higher levels
Radius at level L is ≈ RL
M. Demirbas, A. Arora, V. Mittal, and V. Kulathumani. Design and Analysis of a Fast Local
9
Clustering Service for Wireless Sensor Networks. IEEE Trans. Par.&Dist.Sys. 2006.
Hierarchical tracking path
evader
evader
Grow action for building a tracking path
Shrink action for cleaning unrooted paths
10
Local find
• Searching phase:

A find operation at j queries j’s neighbors & j’s clusterhead at increasingly
higher levels to find the tracking path
• Tracing phase:

Once path is found, operation follows the path to its root
11
Examples of find
evader
find
find
find
A find for an evader d away incurs O(d) work/time cost

guaranteed to hit the tracking path at level logRd of hierarchy
12
A problem for move
evader evader
evader dithering between cluster boundaries may lead to nonlocal updates
13
Local move
• Lateral links to avoid nonlocal updates
• When evader moves to new location j:

a new path is started from j

the new path checks neighbors at each level to see whether insertion of a
lateral link is possible
• Restricts lateral links to 1 per level in order not to deteriorate
the tracking path

otherwise find would not be local since it could not hit the path at level
logRd for an evader d away
14
Examples of move
evader evader evader evader
A move to distance d away incurs O(d*logRd) work/time cost

a level L pointer is updated at every i

update at L incurs O(RL) cost
L-1
Ri distance; level L is updated d/i
L-1
Ri times
15
Local healing
Local healing means work/time for
recovery proportional to perturbation
size & not the network size
In the presence of faults
• a grow can be mistakenly initiated;
shrink should contain grow
• a shrink can be mistakenly initiated;
grow should contain shrink
16
Fault-containment
• Give more priority to the action that has more recent info
regarding the validity of the path
• A shrink or grow action is delayed for longer periods as the level
of the node executing the action gets higher
 j.grow-timer = g * R
 j.shrink-timer = s * R
lvl(j)
lvl(j)
• Catching occurs within a constant number of levels

For g=5δ, s=11δ, b=11δR
 grow catches shrink in 2 levels:
logR ((bR–b+sR2–gR-δR)/(sR-gR-3δ))
 shrink catches grow in 4 levels:
logR ((bR–b+sR+gR-2s+3δR)/(gR-s-δ))
17
Seamless tracking
• Fault-containment does not affect responsiveness

Total delaying up to l is a constant factor of communication delay up to l, δR
l
• Concurrent move operations

move occurs before tracking path is updated

a complete path is no longer possible; discontinuity in the path

give a bound on evader speed to maintain a reachable path
• Concurrent find operations

when find reaches a dead-end, search phase is re-executed

reachability condition guarantees that new path is nearby
• Cost of find & move unaffected
find
18
Querying in WSN
Querying
• A.k.a “information brokerage”, or “data-centric routing”
• Static event (rather than dynamic event in tracking)
• Two operations:

Publish: invoked by the nodes that detect an event
 Aims to inform any potential nodes interested in the event

Query: invoked by any node in the network
 aims to inform the querying node about a matching event and construct a path
from the querying node to the event
• Centralized solutions are not acceptable due to high
communication cost

Locality (distance-sensitivity) should be maintained
20
Glance
• Distance-sensitive (local) and tunable

ensures that a query operation invoked within d hops of an event
intercepts the event’s publish information within d*s hops
 s is a “stretch-factor” tunable by the user
• Easily implemented without localization or hier.-clustering

Lightweight, applicable to a wider range of WSN
• Unifies both modes of operation in WSN monitoring app.

Centralized logging & monitoring

In-network querying (location-dependent querying)
M. Demirbas, A. Arora, and V. Kulathumani. Glance: A Lightweight
Querying Service for Wireless Sensor Networks. In submis. 2006. 21
Model
• Multihop dense WSN

Cost of communication over d hops is O(d)
• Geometric network

triangle inequality is satisfied
• Distinguished basestation C

de : dist(e,C), e denotes an event

dq : dist(q,C), q denotes a querying node

d : dist(e,q)

z : angle eCq
22
Two cases
q’
• Case1: z’> threshold angle
– dq’ is relatively small compared to d’
– dq’ < d’*s
– OK for q’ to learn about e from C
C
z’
d’
de
• Case2: z’’< threshold angle
– dq’’ is relatively large compared to d’’
z’’
– dq’’ > d’’*s
– NOT-OK for q’’ to learn about e from C
dq’’
e
d’’
q’’
23
Outline of the solution
q’
C
z’
z’’
• The publish operation
advertises the event on a
cone boundary for some
distance. Then goes straight
to C.
• The query operation goes
straight to C.
e
q’’
24
Areas where s is satisfied
• For s=1, take successively
larger circles centered at e
and C and intersect them.
e
C
• A2 is the region where
stretch-factor is readily
satisfied.
• For a querying node in A1
stretch-factor may be
violated, publish should do
local advertisement to
ensure stretch-factor.
25
Areas where s is satisfied
• For s=2, similarly, we let a
circle with radius r centered
at e intersect with a circle
with radius s*r centered at
C
H
d
2d
30
e
C
• From HCe right-triangle, z is
calculated as
arcsin(1/s)=arcsin(0.5)=30
• Stretch-factor is readily
satisfied for A2, A3, and A4.
• For A1, s may be violated.
A1 is a bounded area, since
all the circles centered at e
are subsumed by circles
with radius 2*r centered at
C, for r>de
26
Local advertisement
• The angle for the cone is taken
as z. The event is advertised
on the cone boundary for
some distance. These account
for any querying node in A1.
H
d
e
2d
d
d
30
C
• The lateral advertisements
inside the cone are to account
for the querying nodes in area
A1 that also fall within the
cone boundaries.
27
Proof
Q
w
L
K
x+x’
x
x’
x
C
E
≡
≡
≡
≡
≡
≡
|QK| < s|QE|
|QL|+|LE|cot(x+x’)<s|QE|
|QE|cos(w)+|QE|sin(w)cot(x+x’)<s|QE|
sin(x)cos(w)+sin(x)sin(w)cot(x+x’)<1
sin(x+w+x’)<sin(x+x’)/sin(x)
True (for x+x’<90 and x+x’<180)
x=arcsin(1/s)
sin(x)=1/s
28
Avoiding the need for localization
• Glance requires only an approximation for the direction to C
• After deployment, C starts a one-time flood that annotates
each node with its hopcount from C and creates a spanning
tree rooted at C
• To send the query or publish as a straight line, nodes route
the message to the parent node along a branch in this tree.
• Cone boundary is approximated by occasional lateral
advertisement
29
Spanning tree construction
• Flooding protocols result in a
large number of anomalous
situations
– Stragglers
– Backward links
– Highly clustered nodes
• These are due to collisions,
nondeterministic non-isotropic
nature of radio broadcasts,
and earliest-first parent
selection in the tree
30
Optimized spanning tree
• Snooping to deal with
stragglers/backward links
– Reactive repairing
– When a node with hopcount x
hears a message with hopcount
x+2, it detects a straggler, to
correct it decides randomly to
rebroadcast
• Randomized adoption to
deal with highly-clustered
nodes
– A node with hopcount x may
randomly select a node with
hopcount x-1 as new parent
31
Query costs
• Scalability of average # of hops
for query operation is very
good for Glance
– ideally query hops depends only on
the distance between query and
events
– however, since event and query
locations are selected uniformly, for
larger network the average distance
between the two increases
• Glance does not involve any
lateral advertisement but it
performs very well!
32
Publish costs
• The publish hops for Glance
is equal to de, the cost of
going to C, and is
proportional to the depth of
the MST constructed by C.
– the depth of MST scales nicely
wrt the network size.
33
Stretch-factors
• Stretch-factors are
independent of the network
size
– Both Glance and GlanceP satisfy
very low stretch-factors (less
than 1.2)
• The reason Glance performs
well is that MST performs
significant aggregation
– Using MST, the information from
two points e, q close to each
other are bound to intermingle
– The probability that ancestors of
e and q are always >1-hop away
rapidly drops to zero due to
aggregation in MST
34
Stretch-factors
• Stretch-factor wrt
increasing distance for
30x30 network
• For “300 > eCq > 60” dq is
always less than d and
stretch-factor is less than or
equal to 1
• For small distances between
e and q, aggregation in MST
ensures that query-hops
remain low
35
Open research directions in WSN
• Distributed data structures for nearest-neighbor queries,
range queries, especially for geometric networks
• Mobile WSN

MAC layer issues

Adaptive networking algorithms (geometric networks)
• WSN-Internet integration

Genie project from NSF
• Programming frameworks for WSN
36
Questions ?
• Distributed & local WSN algorithms

Tracking: local and fault-locally healing

Querying: local and lightweight routing

Spatial clustering, etc.
• Reliable communication in WSN

Consensus in WSN: Dependable applications

Reliable broadcast at MAC layer: Solving hidden terminal problem

Reliable transactions for mobile WSN: A programming framework for
concurrency-safe real-time control applications
• Specification-based design of self-healing

Scalability wrt code size: dependability preserving refinement of code
37
www.cse.buffalo.edu/~demirbas
iComp
Overview of my research
• Distributed & local WSN algorithms

Tracking: local and fault-locally healing

Querying: local and lightweight routing

Spatial clustering, etc.
• Reliable communication in WSN

Consensus in WSN: Dependable applications

Reliable broadcast at MAC layer: Solving hidden terminal problem

Reliable transactions for mobile WSN: A programming framework for
concurrency-safe real-time control applications
• Specification-based design of self-healing

Scalability wrt code size: dependability preserving refinement of code
39
Coordinated attack problem
• Two armies waiting to attack the city; they need to attack
together to win

Each army coordinates with a messenger

Messenger may be captured by the city
• Can generals reach agreement?

Agreement is impossible in the presence of unreliable channel
• Wireless communication is unreliable due to collisions !
40
Collision awareness
Necessary for coping with undetectable message loss


Receiver side monitoring and notification of collisions
No info wrt # of lost messages or identities of senders
• Completeness: Ability to detect collisions


Majority-complete: a collision is detected if a majority of messages in a
round is lost
0-complete: collision is detected if all messages in a round is lost
• Accuracy: No false positives

Always and eventually accurate CD
• Receiver side collision detection is easily implementable in
mote and 802.11 platforms
41
Vote-Veto algorithm
• Two phases: vote and veto
• The algorithm is adaptive, employs active-passive service
• Vote phase:

Every active node sends out its vote

If a node hears no collision, the node updates its vote to min of received votes

If a node hears collision or different votes, it decides to veto
• Veto phase:

If no veto messages are received or collisions detected, then a node can
decide, else nodes continue to next round
• Intuition: By having a dedicated veto phase, effects of collision is
detectable
Chockler, Demirbas, Gilbert, Newport PODC 2005 42
Proof (for majority-complete CD)
Let r be the first round any node decides
Since no node vetoed in r, every node heard only a single vote
and no collision during vote phase in r
Since maj-◊AC detects when ≥ half the messages are lost,
each node received a majority of messages broadcasted in
vote phase in r
Since every majority set intersects, every node received the
same unique vote
43
Rumor routing
• Deliver packets to events

query/configure/command

No global coordinate system
• Algorithm:

Event sends out agents which leave
trails for routing info

Agents do random walk

If an agent crosses a path to
another event, a path is established

Agent also optimizes paths if they
find shorter ones
Braginsky, Estrin WSNA 2002 44
Download