Presented by Jing Sun Computer Science and Engineering Department University of Conneticut 1 +Highly scalable O(1) route discovery O(1) routing table Path lengths are close to the shortest path -Each node should node its geographic coordinates -Greedy forwarding can be suboptimal because it does not use real connectivity info. 2 ◦ Simple – minimal complexity, with minimal assumptions about radio quality, presence of GPS, … ◦ Scalable – low control overhead, small routing tables ◦ Robust – node failure, wireless vagaries ◦ Efficient – low routing stretch 3 4 5 4 pieces ◦ ◦ ◦ ◦ Deriving positions Forwarding rules Beacon Maintenance Lookup: mapping node IDs positions Used from other work: ◦ Reverse path trees construction (Directed Diffusion) ◦ Consistent hashing to map node identities to its current coordinates 6 Randomly select nodes as beacons. The beacon vectors serve as coordinates r beacon nodes (B0,B1,…,Br) flood the network; P(q), a node q’s position, is its distance in hops to each beacon P(q) = B1(q), B2(q),…,Br(q) k, p, C(k,p), Node p advertises its coordinates using the k closest beacons (we call this set of beacons C(k,p)) Nodes know their own and neighbors’ positions Nodes also know how to get to each beacon 7 1. Define the distance between two nodes P and Q as dist k ( p, q) iC ( k , q ) i Bi ( p) Bi (q) 2. To reach destination Q, choose neighbor to reduce distk(*,Q) 3. If no neighbor improves, enter Fallback mode: route towards the beacon which is closer to the destination 4. If Fallback fails, and you reach the beacon, do a scoped flood The sum of the differences for the beacons that are closer to the destination d than to the current routing node p The sum of the distances to the farther beacons We want to minimize: 9 B1 B2 0,3,3 3,0,3 1,2,3 2,1,2 1,3,2 2,2,2 Fallback towards B1 2,3,1 3,2,1 3,3,0 B3 10 Route based on the beacons the source and destination have in common ◦ Does not require perfect beacon info. Each entry in the beacon vector has a sequence number ◦ Periodically updated by the corresponding beacon ◦ Timeout If the #beacons < r, non-beacon nodes nominate themselves as beacons ◦ Set a timer that is a function of its unique ID If there’re more than r beacons ◦ A beacon stop being a beacon if there’re more than r beacons with smaller IDs 11 First look up the destination coordinates by name Hashing H: nodeid → beaconid [14] ◦ Use beacons as storage Each node k that wants to be a destination periodically publishes its coordinates to its corresponding beacon bk = H(k) When a node wants to route to node k, it sends a lookup request to bk Cache the coordinates 12 Assumptions for high level simulation ◦ Fixed circular radio range ◦ Ignore the network capacity and congestion ◦ Ignore packet losses Place nodes uniformly at random in a square planner region ◦ 3200 nodes uniformly distributed in a 200 * 200 unit area ◦ Radio range is 8 units Vary #total beacons and #routing beacons 13 14 15 At lower densities, each node has fewer immediate neighbors ◦ The performance of greedy routing drops ◦ Add a neighbor’s neighbors to the routing table, if greedy forwarding is impossible 16 17 18 Place horizontal & vertical walls with lengths of 10 or 20 units when the radio range is 8 units. BVR (True Positions) 19 20 Office-Net: 42 mica2dot motes in a 20m * 50m office Univ-Net: 74 mica2dot motes deployed across multiple student offices on a single floor in a UC Berkeley building 21 22 23 24 25 Thank you! 26 Route from 3,2,1 to 1,2,3 27 Shortest Path ◦ Scalability O(n2) message and O(n) routing state Hierachical ◦ Less message. O(nlogn) message and O(logn) message. ◦ Maintainence issue. Geographic Routing ◦ ◦ ◦ ◦ O(1) and O(1) Assumes fixed radio range Require each node knows its geographic coordinates Doesn’t consider real radio connectivity 28