Beacon Location Service A Location Service for Point-to

advertisement
Beacon Location Service
A Location Service for Point-to-Point Routing in
Wireless Sensor Networks
Jorge Ortiz, Chris R. Baker, Daekyeong Moon, Rodrigo
Fonseca, and Ion Stoica
EECS Department
University of California, Berkeley
IPSN/SPOTS 2007
What's Missing in Point-to-point Routing
for Sensornets?

Address space derived from network
topology
 Routing

Application wants to route over name space
 Names

performed over address space
do not change
Location Service maps names to addresses
2
Point-to-point routing classes

Geographic coordinates
 GPSR,

GOAFR+
Virtual coordinates
 No-Geo,

These need a
location service!
GEM, BVR, S4
Hierarchical
 Landmark

Shortest path based (flood path-discovery)
 AODV,

DSDV
DHT-based
 VRR
3
Location Service Requirements

Provide a mechanism that closes the loop for
point-to-point routing schemes

Added location service traffic should not overload
the network
 Point-to-point
schemes usually have some amount of
maintenance traffic
 Maintain
a high overall routing success rate from the
point of view of the application
4
BLS Design Assumptions

Dynamic, topologically derived addresses

Each node has a unique name

There exists a set of anchor nodes (beacons)
that all nodes in the network know how to
route to
These
nodes are used as the location
servers
5
BLS Basic Design
B | addr(B)
L
S
Reply(addr(B))

Publish(B, addr(B))
Single rendezvous
point
Query(B)
A

B
Distributed set of
lookup servers
Send(addr(A),addr(B),data)
6
BLS Implementation

Uses Beacon Vector Routing [Fonseca et al,
NSDI '05] as underlying routing layer
 Beacons

Hash-based rendezvous with global hash function
 Same

used as location servers
hash function used to publish and query
TinyOS implementation
 ~2.3K
memory footprint (BLS)
 ~3500 lines of Code (BVR + BLS)
7
BLS Example
3
7
10
| addr(3)
| addr(7)
| addr(10)
beacon1
1 2
hash(3)=1
beacon2
2
5
hash(4)=2
3
hash(6)=2
4
6
9 | addr(9)
hash(1)=3
hash(9)=3
1
hash(7)=1
Reply(addr(8),addr(1),addr(9))
7
hash(12)=2
Send(addr(1),addr(9),data)
Query(addr(1), addr(8), 9)
12
hash(10)=1
9
beacon3
3
8
hash(11)=3
10
hash(9)=3
11
1
9
11
8
| addr(1)
| addr(9)
| addr(11)
2
6
12
| addr(2)
| addr(6)
| addr(12)
Overview

Problem statement and motivation

BLS Design: Assumptions and Choices

Implementation decisions and example

Evaluation

Metrics

Simulation



Parameter tuning and results
Testbed

Overall Performance

Comparison Study: TinyAODV and VRR
Conclusion
9
Evaluation Metrics

Routing success rate
 Location
 Total

service (query and reply)
(query and reply and data)
Minimize message overhead on the
network

Minimize query + reply hopcount
distribution
10
Evaluation

Simulation
 Scale,
 Up
Parameter Tuning, different topologies
to 400 nodes
 Random

beacon placement
Testbed
 Real
environment, verify simulation results
 Berkeley
sMote testbed: 35 mica2dots, 3-4 hop
diameter
 Beacons
chosen a priori
11
Testbed Topology and Location Server
Selection
12
Experimental Setup

BVR Warm-up phase (wait for >90%
routing success)

Local cache disabled

No misses at beacon cache
13
Naïve Implementation Results

Poor scalability: 200 nodes and 8 beacons yield low
success rate
 High
success rate with BVR alone for similar setups

Conjecture: Beacons overloaded

Added beacons: 200 nodes and up to 32 beacons
 Results
remained poor

Logs indicated overall congestion in both cases

Set out to reduce lookup traffic
 Aggressive
in-network caching
14
Eavesdropping Example
3
7
10
| addr(3)
| addr(7)
| addr(10)
beacon1
1 2
9 | addr(9)
hash(9)=3
Query + Reply
4
9 | addr(9)
6
9 | addr(9)
beacon2
2
5
3
9 | addr(9)
2
6
12
hash(9)=3
Send(addr(3),addr(9),data)
1
9
Reply(addr(8),addr(1),addr(9))
7
hash(12)=2
Send(addr(1),addr(9),data)
Query(addr(1), addr(8), 9)
12
10
9 | addr(9)
beacon3
3
8
11
1
9
11
15
| addr(1)
| addr(9)
| addr(11)
| addr(2)
| addr(6)
| addr(12)
Eavesdropping Improves
Performance and Scalability
Original
With Eavesdropping
16.4
16
Eavesdropping Reduces Message
Overhead (TOSSIM Results)
100 Nodes
35 Nodes
26.8% Average Msg
Reduction
16.4% Average Msg
Reduction
17
BLS Success Rate (Testbed)
18
BLS Hopcount Distribution
(Testbed)
Query
Reply
Data
19
BLS/BVR vs TinyAODV Comparison
Experimental Setup

AODV part of ZigBee standard

Bounded destination set size at 7 to prevent
cache-entry replacement

Vary the number of senders [1, 5, 15, 28]

First request to send to a destination node
invokes path-discovery process (flooding)
20
BLS/BVR Outperforms
TinyAODV
TinyAODV
BLS
21
BLS/BVR vs VRR Experimental
Setup

Virtual Ring Routing [Caesar et al,
SIGCOMM '06]
 Routes

directly to names
Route data packet from random source to
random destination

Varying send rates
22
BLS/BVR Performance Comparable
to VRR

Hopcount distribution for simulated cache hit rates

Amortized send cost decreases with increased cache hit rate
23
Conclusion

A subset of point-to-point routing schemes need a
location service

Simple design yields comparable performance to
state-of-the-art point-to-point routing schemes

BLS can be used over various beacon-based
routing schemes

Code available soon
24
Questions?
Thank you
jortiz@cs.berkeley.edu
25
BLS Hopcount Distribution (Testbed)
26
Summary of Message Overhead with
Eavesdropping

TOSSIM: 16.4% reduction in message overhead
for 35 nodes

TOSSIM: 26.8% reduction in message overhead
for 100 nodes

Testbed (35 motes): 11% reduction in message
overhead per node
27
DHT Application Successfully
Written over BLS/BVR

99% success rate for application send
requests
28
Eavesdrop Reduces Message
Overhead (Testbed Results)
29
Future work

Caching and Workloads

Mobility and churn

BLS over various beacon-based routing
schemes

More optimizations
30
Extra

BLS and BVR - ~3500 lines of code

BLS and BVR ~3700 bytes of RAM

LRU cache replacement
31
New Title

Management and control of specific nodes
(i.e. network health monitoring)

Data Centric Storage

Pursuer-Evader application

Derived from the topology
32
Experimental Setup (TOSSIM)

Local cache lookup turned off (each send request
invokes the BLS lookup process)

Beacon cache size set to large enough to fit all
registered nodes

Warm-up necessary for BVR establishment (link
estimator, neighbor selection, coordinate setup)

>=90% BVR routing success before BLS experiments
started
33
Experimental setup (Testbed)

BVR Warmup period

>= 90% BVR routing success rate

UC Berkeley sMote testbed – 35 mica2dots

Network diameter between 3 and 4 hops

Beacons chosen a priori
34
Eavesdropping message overhead
35 Nodes
100 Nodes
Testbed Results
TOSSIM
35
Naïve Implementation Results

Results obtained in
TOSSIM

Paths to beacons
congested

Added Beacons to
spread load

36
Eavesdropping
implemented
Tuned Parameters
37
Overview

Point-to-point routing motivation

Location service assumptions and design

BLS design and implementation

Experimental results

Conclusion and questions
38
Overview

Point-to-point routing motivation

Location service assumptions and design

BLS design and implementation

Experimental results

Conclusion and questions
39
Overview

Point-to-point routing motivation

Location service assumptions and design

BLS design and implementation

Experimental results

Conclusion and questions
40
Overview

Point-to-point routing motivation

Location service assumptions and design

BLS design and implementation

Experimental results

Conclusion and questions
41
Download