Title: Searchlight: Won't You Be My Neighbor?
1Searchlight Won't You Be My Neighbor?
- Mehedi Bakht, Matt Trower, Robin Kravets
- Department of Computer Science
- University of Illinois
2Is anybody out there?
3Is anybody out there?
- Registration services
- Foursquare, Facebook, Google Latitude
- - centralized, slow, difficult to manage across
apps
Provides applications with absolute locations
4Is anybody out there?
- Direct mobile-to-mobile communication
- QualComm AllJoyn, Nokia Sensor, Nintendo
StreetPass, Sony Vita, Wi-Fi Direct - Local, reduced latency, up-to-date,
user-controlled
Enables applications to focus on proximity
instead of absolute location!
5Wont you be my neighbor?
- Detection Challenges
- Encounters are unplanned and unpredictable
- Requires constant scanning
- Nodes are energy-constrained
- Requires effective duty cycling
- Global Synchronization is difficult
- Requires asynchronous solutions
?
?
?
?
?
Goal Continuous Energy-efficient Asynchronous
Neighbor Discovery
6Energy Efficiency Duty-cycling
- Basic Discovery Idea
- Time is slotted
- Nodes selectively remain awake for a full slot
duration - Nodes beacon at the beginning and end of an awake
slot - Discovery occurs when two active slots overlap
Awake slots
7Duty-cycled Neighbor Discovery
- Challenges
- Dealing with unsynchronized slots
- Choosing active slots
- Dealing with asymmetric duty cycles
Active Slot Selection
Awake slots
8Slot Selection Random
- Advantage
- Good average case performance
- Disadvantage
- No bounds on worst-case discovery latency
- Birthday protocol
- Randomly select a slot to wake up in with a given
probability
Cumulative Discovery Latency
Long tail
Is a small delay bound really necessary? Average
discovery ? Useful contact time Worst-case ?
Missed contacts
Fraction of Discoveries
Good Avg. Case Performance
Discovery Latency
9Slot Selection Deterministic
- Disco (Sensys 2008)
- Each node selects two primes p1i and p2i
- Both nodes wake up every p1th and p2th slot (5th
and 7th) - Guarantees discovery in p1i x p1j slots
- U-Connect (IPSN 2010)
- Each node selects one prime pi
- Every node wakes up every pth slot and (p-1)/2
slots every pp slots - Overlap is guaranteed within pi x pj slots
Both Disco and U-Connect handle symmetric and
asymmetric duty cycles
10Slot Selection Deterministic
- Prime-based
- Advantage
- Strict worst-case bound
- Disadvantage
- Poor average-case performance
- Can we get the best of both worlds
- Good average discovery latency from random
protocols - Good delay bound from deterministic protocols
Cumulative Discovery Latency
Disco
U-Connect
Fraction of Discoveries
Birthday
Discovery Latency
11Searchlight
- Approach
- Have a deterministic discovery schedule that has
a pseudo-random component - Consider two nodes with the same (symmetric) duty
cycles - Insight
- Offset between slots with fixed period remains
fixed
3 slots
Node A
Node B
B
B
B
12Searchlight
- Approach
- Have a deterministic discovery schedule that has
a pseudo-random component - Consider two nodes with the same (symmetric) duty
cycles - Insight
- Offset between slots with fixed period remains
fixed - B will fall in the first ?t/2? slots of As cycle
or A will fall in the first ?t/2? slots of Bs
cycle
4 slots
Node A
Node B
B
B
B
4 slots
13Searchlight
- Approach
- Have a deterministic discovery schedule that has
a pseudo-random component - Consider two nodes with the same (symmetric) duty
cycles - Insight
- Offset between slots with fixed period remains
fixed - B will fall in the first ?t/2? slots of As cycle
or A will fall in the first ?t/2? slots of Bs
cycle
4 slots
Node A
Node B
B
B
B
4 slots
14Systematic Probing
- Technique
- Select a fixed period t (does not need to be
prime) - Keep one slot fixed (anchor slot)
- Add a second probe slot
- Objective is to meet the fixed/anchor slot of the
other node - Only need to search in the range 1 to ?t/2?
- No need to probe all ?t/2? slots all of the time
- Move around the probe slot
t
Node A
Node B
B
B
B
15Sequential Probing
- Two slots per period t
- Anchor slot Keep one slot fixed at slot 0
- Probe slot Move around the other slot
sequentially - Guaranteed overlap in tt/2 slots
- Improved bound over existing protocols
- Based on the time needed to ensure a probe-anchor
overlap - But Probe-probe overlap should also lead to
discovery - Sequential scanning can result in probes
chasing each other
1
2
3
1
2
2
3
1
2
3
Discovery through anchor-probe overlap
16Randomized Probing
- Break the pattern of chasing
- Move the probe slot randomly (A 1-3-2 B 3-1-2)
- Pseudo-random instead of random
- Each node randomly chooses a schedule for its
probe slot that repeats every (tt/2) slots - Schedules of two nodes appear random to each
other - Advantage
- Retains the same worst-case bound
- Improves average case performance
1
3
2
1
3
1
3
2
1
3
Discovery through probe-probe overlap
17Evaluation
- Metrics
- Fixed Energy
- All protocols operate at the same duty cycle
- Latency
- Worst-case latency bound
- Cumulative discovery latency
- Methods
- Empirical and Simulation
- Implementation
- Testbed of G1 android and Nokia N900 phones
- Comparison Protocols
- Birthday
- Disco
- U-Connect
- Searchlight Protocols
- Sequential ( Searchlight-s)
- Random (Searchlight-r)
- Scenarios
- Symmetric and asymmetric duty cycles
18Worst-case Latency Bound
- Metric Energy Latency Product
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle for same bound
Disco p1, p2
U-Connect p
Searchlight t
19Worst-case Latency Bound
- Metric Energy Latency Product
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle for same bound
Disco p1, p2 p1 p2
U-Connect p p2
Searchlight t t(t/2)
20Worst-case Latency Bound
- Metric Energy Latency Product
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle for same bound
Disco p1, p2 p1 p2 4x2
U-Connect p p2 2.25x2
Searchlight t t(t/2) 2x2
21Worst-case Latency Bound
- Metric Energy Latency Product
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle for same bound
Disco p1, p2 p1 p2 4x2 2/x
U-Connect p p2 2.25x2 1.5/x
Searchlight t t(t/2) 2x2 1.41/x
22Symmetric Duty Cycles
Cumulative Discovery Latency
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
23Symmetric Duty Cycles
Cumulative Discovery Latency
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
24Symmetric Duty Cycles
Cumulative Discovery Latency
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
25Symmetric Duty Cycles
Cumulative Discovery Latency
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
26Symmetric Duty Cycles
- Searchlight does not have the long tail of other
deterministic protocols - Searchlight-R performs almost as good as Birthday
in the average case
820
960
Fraction of Discoveries
Discovery Latency in Number of Slots
27Expected Latency VS. Duty Cycle
- Searchlight-R performs best for all duty cycles
- Difference with other protocols increases with
decrease in duty cycle
16
28Expected Latency VS. Duty Cycle
- Searchlight-R performs best for all duty cycles
- Difference with other protocols increase with
decrease in duty cycle
18
29Handling Duty Cycle Asymmetry
- Why?
- Different energy requirements
- Different duty cycles (different values for t)
- Problem
- Anchor slots no longer have constant distance
Node A (period5)
Node B (period3)
30Handling Duty Cycle Asymmetry
- Solution
- Restrict choice of period to primes
- Overlap of anchor slots guaranteed through
Chinese remainder theorem - t needs to be prime
- Worst case latency is t1 t2
Node A (period5)
Node B (period3)
31Asymmetric (1 and 5)
Cumulative Discovery Latency
- Searchlight-R
- Worst-case latency is worse than both Disco and
U-Connect - Compensates for that by having best average case
performance
82
Fraction of Discoveries
Discovery Latency in Number of Slots
32Can we do better?
- Observation
- When slots are not fully aligned, slots of
neighboring nodes overlap more than once within
bound - One overlap is sufficient for discovery!
Probe Slot 1
Probe Slot 2
Anchor Slot
Anchor Slot
33Striping across the rounds
- Insight
- Only need to probe alternate slots
- Reduces the number of active slots by almost ½!
- Problem
- Slot alignment
Probe Slot 1
Probe Slot 2
Probe Slot 3
Anchor Slot
Probe Slot 4
Anchor Slot
34Handling Slot Alignment
- Let the slots overflow a bit
- Extent of overlap (?) depends on
- Beacon transmission time
- Possible clock drift
1
2
3
4
5
6
Probe Slot
Probe Slot
Anchor Slot
Anchor Slot
d
35Does it help?
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle required for same worst-case bound
Disco p1, p2 p1 p2
U-Connect p p2
Searchlight t t(t/2)
Striped Searchlight t, d t(t/4)
d amount of overflow beyond regular slot
boundary
36Does it help?
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle required for same worst-case bound
Disco p1, p2 p1 p2 4x2
U-Connect p p2 2.25x2
Searchlight t t(t/2) 2x2
Striped Searchlight t, d t(t/4) (1d) 2x2
37Does it help?
Protocol Duty Cycle Parameters Worst-case Latency Duty Cycle Worst-case bound for duty cycle 1/x Duty-cycle required for same worst-case bound
Disco p1, p2 p1 p2 4x2 2/x
U-Connect p p2 2.25x2 1.5/x
Searchlight t t(t/2) 2x2 1.41/x
Striped Searchlight t, d t(t/4) (1d) 2x2 (1d)/x
38Striping and Asymmetry
- Problem
- Anchor slots no longer have constant distance
- Striping cannot be used
- Original approach
- Restrict choice of t to primes
- Worst-case bound worse than other deterministic
protocols
39Maintaining Constant Offset
- New approach
- Restrict value of the bigger period to an integer
multiple of the smaller period - Other protocols also restrict the choice of
values for their parameters - Only primes are allowed by Disco and U-Connect
Node A (period6)
Node B (period3)
40Symmetric Duty Cycles
Cumulative Discovery Latency
Worst-case bound 2000 slots
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
41Symmetric Duty Cycles
Cumulative Discovery Latency
Worst-case bound 961 slots
Fraction of Discoveries
Discovery Latency in Number of Slots
5 duty cycle
42Symmetric Duty Cycles
Cumulative Discovery Latency
Worst-case bound 800 slots
Fraction of Discoveries
Searchlight-S
Discovery Latency in Number of Slots
5 duty cycle
43Symmetric Duty Cycles
Cumulative Discovery Latency
- Striped probing improves bound by almost 50
Worst-case bound 440 slots
Fraction of Discoveries
Searchlight-S
Discovery Latency in Number of Slots
5 duty cycle
44Asymmetric Duty Cycles
Worst-case bound 2266 slots
Fraction of Discoveries
Searchlight-S
Discovery Latency in Number of Slots
1-10 duty cycle
45Asymmetric Duty Cycles
Worst-case bound 1819 slots
Fraction of Discoveries
Searchlight-S
Discovery Latency in Number of Slots
1-10 duty cycle
46Asymmetric Duty Cycles
- Randomized probing does not have the same
worst-case bound
Fraction of Discoveries
Searchlight-S
Discovery Latency in Number of Slots
1-10 duty cycle
47Restricted Randomized Probing
- Randomization across tA/2 could delay discovery
- Restrict randomization based on smallest t
- Impact
- Same bound as sequential for asymmetric case
- No effect on symmetric case
Node A (period16)
1
2
3
Node B (period8)
48Implementation Issues
- Larger slot size
- Off to on transition of the Wi-Fi card takes
seconds - Faced same problem with three different phones
- Android G1/G2, Nokia N900, Nexus-S
- Duration of a slot was 3-4 seconds
- U-Connect Disco was implemented on sensors with
slot size in the order of hundreds of
milliseconds
49What should I use?
- Mostly symmetric duty cycles
- Searchlight with restricted randomized striped
probing - For any two nodes with the same duty cycle
- Best average and best worst-case bound
- For any two nodes with different duty cycles
- Almost best average and best worst-case bound
- Very diverse duty cycles
- Searchlight with symmetric striped probing
- Has slightly better average discovery latency
50Searchlight Won't You Be My Neighbor?