260 likes | 420 Views
Practical Asynchronous Neighbor Discovery and Rendezvous for Mobile Sensing Applications. Prabal Dutta and David culler 6 th ACM conference on Embedded network sensor systems (2008) Jihee Ryu , Keunchan Park, Jaehyun Han, and Kihoon Cha. Contents. Introduction
E N D
Practical Asynchronous Neighbor Discovery and Rendezvous for Mobile Sensing Applications PrabalDutta and David culler 6th ACM conference on Embedded network sensor systems (2008) JiheeRyu , Keunchan Park, Jaehyun Han, and Kihoon Cha
Contents • Introduction • Problems & Solution Approach • Related Work • Simplified Algorithm • Disco Example • Design • Why two primes are chosen? • Pair of Primes • Slot non-alignment • To Avoid Choosing The Same Pair • Discussion • Pros & Cons
Introduction • Mobile object interacts with other mobile and static objects • 3 common patterns – talking, docking, and flocking • Neighbor Discovery • A sensor node discovering another (one-hop) sensor node • Rendezvous • Delivering messages to previously discovered neighbors Docking Flocking Talking
Introduction(cont’) • Characteristics of Sensor Network • Nodes may have different capabilities • Energy • Functionality • Mobility • Nodes operate at different (asymmetric) duty cycle • Duty Cycle (DC): The fraction of time that a system is in an "active" state • Nodes starts asynchronously • No synchronization
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 28 25 26 27 29 30 31 32 33 34 35 36 Related work m t • Quorum [Tseng02] • Listen during a row • Transmit during a column • Global agreement on duty cycle T m L R • Birthday [McGlynn01] • Randomly choose to listen, transmit or be idle (sleep) • Unpredictable
Simplified algorithm • Two nodes, i and j • reference period number, x • start their counters ci and cj • at arbitrary times, say x = 1 and x = 2 • increment counters with equal period Tslot • and wake up at some relatively prime intervals, say mi = 3 and mj = 5 • Dark cells indicate times when node i and j turn on radios • Both nodes are awake at times x = 7 and x = 22 • x= 7+15k, k Z+ • Disco uses two primes/node to ensure pair-wise relative primes
Disco Example • Node i is awake at times: • 5, 10, 15, 20, 25, 30, 25, and • 7, 14, 21, 28, 35,… • Node j is awake at times: • 1, 6, 11, 16, 21, 26, 31, and • 1, 8, 15, 22, 29, 36, … • Nodes i and j are both awake at: • 15, 22 • Two primes per node ensures even if both nodes pick same primes, discovery will occur
Why two primes are chosen? • The prime cannot be chosen independently by the nodes • Restriction of the coprimes to expression their desired duty cycle • (1, ½, 1/3, … 1/k, where k Z+) • If prime of node i equals prime of node j, then nodes i and j may never discover each other if they wake up with the same period but different phase
Pair of Primes • To Overcome Previous Limits • Choosing two primes, p1 and p2 • Such that p1≠ p2 and the sum of their reciprocals (approximately) equals the desired duty cycle • Simple Validation • Ensuring a coprime pair from any two nodes • A coprime pair is exist in the set of probable pairs • E.g. node i picks (3, 5) and node j picks (5, 7) • {3,5} / {3,7} / {5,5} / {5,7} 3 rendezvous cases • E.g. node i picks (30, 77) and node j picks (35, 66) • {30,35} / {30,66} / {77,35} / {77,66} 0 rendezvous cases
Slot non-alignment • In practice, slots will rarely be aligned becausenodes are… • run independently • do not adjust clock skews • To discover other node, • transmits a beacon at both the beginning and end of a slot when beaconing Slot Node i Node i Beacon Node j Node j
To Avoid Choosing The Same Pair • Assumption • There are classes which do not need to discover each other • Deterministic algorithm • An ordered list of possible prime pairs are generated • A prime pair’s position indicate a particular class’s modulo • Example • Target duty cycle = 1%, Number of classes = 3
Glossary • Balanced primes • the intra-node primes are approximately equal (e.g.37 and 43). • Unbalanced primes • the intra-node primes are significantly different (e.g.23 and 157). • Symmetric pairs • both nodes choose the identical pair of primes • Asymmetric pairs • both nodes choose a different pair of primes • Discovery Latency • the delay between the moment two nodes are within communications range to the moment when they first discover each other
Implementation • t_slot = 10 ms • An Application can control • Parameters • Ex) DC • The beaconing policy • Listening • Beaconing Slot Beacon Power
Beacon Rate Adaptation • By the implementation, beacon mode can be changed • Sending beacons during their normally scheduled rendezvous slots with nodes in their neighbor table to ensure that routing links remain connected and synchronized, but they would not send other beacons • Sharing neighbors information, new node candiscover neighbor more faster than expected
Impact of Duty Cycle Asymmetry • Suggests that more powerful beacons combined with less powerful mobile tags is feasible and beneficial Mobile (Low DC) Mobile (Low DC) Mobile (Low DC) Static (High DC)
Predictable 2%
Robustness to Clock Skew • Over longer timescales, nodes that have significantly different skews are likely to have difficulty with rendezvous • but asynchronous discovery should still work Node i Node j Node k
Pros • Algorithm is simple • A solution to the low-power asynchronous neighbor discovery problem in mobile sensing applications • It is possible to make decision independently at node sides
Cons • Why they use a slot numbers at evaluation? • Different discovery time for different nodes • Restriction of possible number of frequency
Discovery Rate • Small time slot makes neighbor discovery faster
Different discovery time for different nodes 29, 67 23, 157 23, 157 29, 67
Restriction of possible number of frequency • 1% duty cycle : 21 pairs • 5% duty cycle :4 pairs