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