Title: Scalable Tracking
1Scalable Tracking Querying for Wireless Sensor
Networks
- Murat Demirbas
- SUNY Buffalo
- CSE Dept.
2Sensor 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 80150)
- 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.
3Desiderata 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
4Overview 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
5Tracking in WSN
6Tracking 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 in Sensor Networks.
Sensor Network Operations, 2005.
7Evader-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
8STALK 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 ddistance(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 Algorithm
for Tracking in Sensor Networks. OPODIS, 2004.
9Hierarchical 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
Clustering Service for Wireless Sensor Networks.
IEEE Trans. Par.Dist.Sys. 2006.
10Hierarchical tracking path
evader
evader
evader
Grow action for building a tracking
path Shrink action for cleaning unrooted paths
11Local find
- Searching phase
- A find operation at j queries js neighbors js
clusterhead at increasingly higher levels to find
the tracking path - Tracing phase
- Once path is found, operation follows the path to
its root
12Examples 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
13A problem for move
evader
evader
evader
- evader dithering between cluster boundaries may
lead to nonlocal updates
14Local 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
15Examples of move
evader
evader
evader
evader
evader
evader
evader
- A move to distance d away incurs O(dlogRd)
work/time cost - a level L pointer is updated at every ?iL-1Ri
distance level L is updated d/?iL-1Ri times - update at L incurs O(RL) cost
16Local 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
17Fault-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 lvl(j)
- j.shrink-timer s R lvl(j)
- Catching occurs within a constant number of
levels - For g5d, s11d, b11dR
- grow catches shrink in 2 levels
- logR ((bRbsR2gR-dR)/(sR-gR-3d))
- shrink catches grow in 4 levels
- logR ((bRbsRgR-2s3dR)/(gR-s-d))
18Seamless tracking
- Fault-containment does not affect responsiveness
- Total delaying up to l is a constant factor of
communication delay up to l, dR 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
19Querying in WSN
20Querying
- 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
21Glance
- Distance-sensitive (local) and tunable
- ensures that a query operation invoked within d
hops of an event intercepts the events publish
information within ds 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.
22Model
- 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
23Two cases
q
- Case1 zgt threshold angle
- dq is relatively small compared to d
- dq lt ds
- OK for q to learn about e from C
- Case2 zlt threshold angle
- dq is relatively large compared to d
- dq gt ds
- NOT-OK for q to learn about e from C
dq
C
z
d
z
de
dq
e
d
q
24Outline of the solution
- 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.
25Areas where s is satisfied
- For s1, take successively larger circles
centered at e and C and intersect them. - 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.
26Areas where s is satisfied
- For s2, similarly, we let a circle with radius r
centered at e intersect with a circle with radius
sr centered at C - 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 2r centered at C, for rgtde
- From HCe right-triangle, z is calculated as
arcsin(1/s)arcsin(0.5)30
27Local 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. - The lateral advertisements inside the cone are to
account for the querying nodes in area A1 that
also fall within the cone boundaries.
A3
H
A4
2d
A1
d
d
d
A2
30
C
e
28Proof
- QK lt sQE
- QLLEcot(xx)ltsQE
- QEcos(w)QEsin(w)cot(xx)ltsQE
- sin(x)cos(w)sin(x)sin(w)cot(xx)lt1
- sin(xwx)ltsin(xx)/sin(x)
- True (for xxlt90 and xxlt180)
xarcsin(1/s) sin(x)1/s
29Avoiding 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
30Spanning 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
31Optimized spanning tree
- Snooping to deal with stragglers/backward links
- Reactive repairing
- When a node with hopcount x hears a message with
hopcount x2, 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
32Query 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!
33Publish 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.
34Stretch-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 gt1-hop away rapidly drops to zero due to
aggregation in MST
35Stretch-factors
- Stretch-factor wrt increasing distance for 30x30
network - For 300 gt eCq gt 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
36Open 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
37Questions ?
- 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
38www.cse.buffalo.edu/demirbas
39Overview 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
40Coordinated 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 !
41Collision 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
42Vote-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
43Proof (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
44Rumor 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