Scalable Tracking & Querying for Wireless Sensor Networks Murat Demirbas SUNY Buffalo CSE Dept.
2 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.
3 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
4 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
Tracking in WSN
6 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 in Sensor Networks. Sensor Network Operations, 2005.
7 Evader-centric program Tracking involves two operations –Move: update the tracking structure after evader relocates –Find: direct pursuer to reach evader using the tracking structure Evader Pursuer
8 STALK: Scalable tracking Maintain tracking structure over fewer number of nodes with accuracy inversely proportional to the distance from evader communication cost of msg j,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 Algorithm for Tracking in Sensor Networks. OPODIS, 2004.
9 Hierarchical clustering R: dilation factor of clustering to determine size at higher levels Radius at level L is ≈ R L 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
10 evader Hierarchical tracking path evader Grow action for building a tracking path Shrink action for cleaning unrooted paths
11 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
12 evaderfind Examples of find A find for an evader d away incurs O(d) work/time cost guaranteed to hit the tracking path at level log R d of hierarchy
13 A problem for move evader dithering between cluster boundaries may lead to nonlocal updates evader
14 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 log R d for an evader d away
15 evader Examples of move A move to distance d away incurs O(d*log R d) work/time cost a level L pointer is updated at every i L-1 R i distance; level L is updated d/ i L-1 R i times update at L incurs O(R L ) cost
16 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
17 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 lvl(j) j.shrink-timer = s * R lvl(j) Catching occurs within a constant number of levels For g=5δ, s=11δ, b=11δR grow catches shrink in 2 levels: log R ((bR–b+sR 2 –gR-δR)/(sR-gR-3δ)) shrink catches grow in 4 levels: log R ((bR–b+sR+gR-2s+3δR)/(gR-s-δ))
18 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
Querying in WSN
20 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
21 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
22 Model Multihop dense WSN Cost of communication over d hops is O(d) Geometric network triangle inequality is satisfied Distinguished basestation C d e : dist(e,C), e denotes an event d q : dist(q,C), q denotes a querying node d : dist(e,q) z : angle eCq
23 Two cases Case1: z’> threshold angle –d q’ is relatively small compared to d’ –d q’ < d’*s –OK for q’ to learn about e from C Case2: z’’< threshold angle –d q’’ is relatively large compared to d’’ –d q’’ > d’’*s –NOT-OK for q’’ to learn about e from C e q’’ q’ dede d q’’ d q’ d’ d’’ z’’ z’ C
24 Outline 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. e q’’ q’ z’’ z’ C
25 Areas where s is satisfied For s=1, 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. eC
26 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 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>d e e C d 2d H 30 From HCe right-triangle, z is calculated as arcsin(1/s)=arcsin(0.5)=30
27 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. The lateral advertisements inside the cone are to account for the querying nodes in area A1 that also fall within the cone boundaries. e C d 2d H 30 d d
28 Proof ≡ |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) E C Q L K x x x’ x+x’ w x=arcsin(1/s) sin(x)=1/s
29 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
30 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
31 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
32 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!
33 Publish costs The publish hops for Glance is equal to d e, 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.
34 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
35 Stretch-factors Stretch-factor wrt increasing distance for 30x30 network For “300 > eCq > 60” d q 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
36 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
37 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
iComp
39 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
40 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 !
41 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 platforms
42 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
43 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
44 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