Download presentation
Presentation is loading. Please wait.
1
Grid: Scalable Ad-Hoc Geographic Routing
Li, De Couto, Morris, Kaashoek, Karger, and Jannotti
2
Motivation How will my smart camera communicate?
How to organize a campus full of smart devices? How to design/choose: Communication hardware. Automatic configuration plan. Scalable routing protocols. Deployment strategy. Why is scalability hard to achieve? When node moves all around, hard to have hierarchy that aggregate routing information which makes active distribution of topology not acceptable for big networks. On-demand routing protocols that flood when size of network gets big, more queries are generated and more expensive the query gets.
3
Possible Technologies
Campus wired ethernet w/ DHCP. Hard to deploy everywhere. Cellular modems / CDPD. Pervasive; but slow, complex per-node setup. base stations w/ DHCP. Metricom / Ricochet. Like cellular but faster and less pervasive. Ad-hoc routing. Why is scalability hard to achieve? When node moves all around, hard to have hierarchy that aggregate routing information which makes active distribution of topology not acceptable for big networks. On-demand routing protocols that flood when size of network gets big, more queries are generated and more expensive the query gets.
4
Ad-Hoc Nets: The Dream Frans Doug Nodes forward each others’ packets.
No infrastructure; easy to deploy; fault tolerant. Short hops are good for power and spectrum. Can it be made to work?
5
Ad-Hoc Nets: The Reality
Avg. packets transmitted per node per second The most popular type of routing for ad hoc networks in literature is flooding based on-demand routing. This type of routing handles mobility really well and has been shown to work well in small networks. We simulated the DSR, which is the best known on-demand ad hoc routing protocols for networks with reasonable size and see how it scales. This is the number of packets each node has to forward which grows rapidly. when network gets bigger. When the network size exceeds 300, so many packets are being transmitted in the networks that a lot of them get dropped Number of nodes Flooding-based on-demand routing works best in small nets. Can we route without global topology knowledge?
6
Geographic Forwarding Scales Well
Assume each node knows its geographic location. C’s radio range A D F C G B E In the network of DSR, nodes do not know their geographic location, if nodes could get to know their geographic location via GPS, could we do it better? Yes! In radio networks, it’s very likely that nodes that are closer geographically also tend to be close in the actual routing path. Geographic forwarding makes use of this characteristics of mobile networks to route packets. In the following example, … … We can easily see geographic forwarding is very scalable. But how does A know G’s current location in the first place? There needs to be some sort of location service in order for geographic forwarding to be useful. A addresses a packet to G’s latitude, longitude C only needs to know its immediate neighbors to forward packets towards G. Geographic forwarding needs a location service!
7
Possible Designs for a Location Service
Flood to get a node’s location (e.g. LAR, DREAM) excessive flooding messages Central static location server. not fault tolerant too much load on central server and nearby nodes the server might be far away for nearby nodes or inaccessible due to network partition. Every node acts as server for a few others. good for spreading load and tolerating failures.
8
Desirable Properties of a Distributed Location Service
Spread load evenly over all nodes. Degrade gracefully as nodes fail. Queries for nearby nodes stay local. Per-node storage and communication costs grow slowly as the network size grows. Mention the transition to next slide: W e are working on a location service protocol called GLS that satisfies all the listed properties here.
9
GLS’s Spatial Hierarchy
level-0 level-1 level-2 level-3 All nodes agree on the global origin of the grid hierarchy
10
3 Servers Per Node Per Level
sibling level-0 squares sibling level-1 squares sibling level-2 squares This graph shows the distribution of location servers for a particular node n. N will be sending location updates to its servers. N has a location server in each of the 3 sibling squares of different levels. S is n’s successor in that square. Each node has a unique identifier and a successor is the node with “least ID greater than” n. Mention there are lots of servers in areas close to node n which helps location queries from node closer by to hit nearby location servers. Mention fault tolerant: the fact that there are more than one location servers in grid ensures that even if a single location server for n fails, n won’t be unreachable. Mention the number of location server for each node scales as the log of the area of the network. s is n’s successor in that square. (Successor is the node with “least ID greater than” n )
11
Queries Search for Destination’s Successors
x s2 s1 Each query step: visit n’s successor at increasing level. in order to for x to know node n’s current location. X sends out a location query for n and this query packets will visit …. Since n has been sending updates to nodes with closest ID in increasing levels of squares. Query will finally reach a node that n has previously sent updates to. Robert’s comments: Consistent hashing: x and n agree on who n’s server is. Use of squares allows n to move (within limits) without changing servers. Use of IDs allows servers to move (within limits) and still be useful. location query path
12
GLS Update (level 0) Invariant (for all levels):
9 11 23 6 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 11 1 2 3 9 23 29 16 6 7 Base case: Each node in a level-0 square “knows” about all other nodes in the same square. 17 5 26 25 4 21 8 location table content 19
13
GLS Update (level 1) Invariant (for all levels):
9 Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. 11 1 2 11 2 3 9 6 23 2 29 16 23 2 6 7 17 5 26 25 4 21 8 location table content location update 19
14
GLS Update (level 1) Invariant (for all levels):
9 ... Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. ... 11 1 2 ... 11, 2 3 9 6 ... 23 2 29 16 23, 2 ... 6 7 ... ... ... 17 ... 5 26 25 ... ... ... 21 4 8 ... location table content 19
15
GLS Update (level 2) Invariant (for all levels):
9 ... Invariant (for all levels): For node n in a square, n’s successor in each sibling square “knows” about n. ... 1 11 1 1 2 ... 11, 2 3 9 6 ... 23 2 29 16 23, 2 ... 6 7 ... ... ... 17 ... 5 26 25 ... ... ... location table content location update 21 4 8 ... 19
16
GLS Query 11 1 1 2 3 9 23 29 16 6 7 17 5 26 25 location table content
... 1 9 ... 11 1 1 2 ... 11, 2 3 9 6 ... 23 2 29 16 23, 2 ... 6 7 ... ... ... 17 ... 5 26 25 location table content ... ... ... 21 4 8 query from 23 for 1 ... 19
17
Performance Analysis How scalable is GLS to big mobile ad-hoc networks? Simulations using ns Mobility Model: random way-point with speed 0-10 m/s (22 mph) Area of square universe grows with the number of nodes in the network. Achieve spatial reuse of the spectrum GLS level-0 square is 250m x 250m
18
GLS Finds Nodes in Big Mobile Networks
Number of nodes query success rate Biggest network simulated: 600 nodes, 2900x2900m (4-level grid hierarchy) Re-iterate what the query is. Mention there is no retransmission for failed GLS queries. Failed queries are not retransmitted in this simulation Queries fail because of out-of-date information for destination nodes or intermediate servers.
19
GLS Protocol Overhead Grows Slowly
Avg. packets transmitted per node per second What is protocol packet overhead? GLS update query reply, HELLO measured in the number of packets forwarded as well as initiated. The y-axis shows the average number of packets EACH node has to forward/send per second. Number of nodes Protocol packets include: GLS update, GLS query/reply
20
Fraction of Data Packets Delivered
Successfully delivered data Number of nodes DSR Grid Geographic forwarding is less fragile than source routing. DSR queries use too much b/w with > 300 nodes.
21
Grid Status Deployed 16 nodes with preliminary software.
Mostly stationary nodes Linux, Click, radios. Aiming for campus-wide deployment. Currently adding wireless handhelds (iPaq) Will add location sensors
22
Practical Problems Location sensors add cost, size, and power requirements Connectivity holes The world is not randomly uniform! Radio ranges vary Power: not all devices can expend energy forwarding for others Capacity: does network capacity grow with the number of nodes? This is probably a complete list of the ad hoc problems
23
Only Some Nodes Know Position
E.g. GPS doesn’t work well inside Previous work assumed every node knew position: To choose next forwarding hop To address packet to destination To run GLS
24
Solution: Location Proxies
Nodes that know their location can act as location proxies. Location proxies can communicate with each other using geographic forwarding and local routing protocol (DV: distance vector). Nodes without location select proxies, and communicate through them using only local DV. Proxies are not special besides knowing locations. Mention: local = 2-hop DV
25
Location Proxies (2) P: location proxies N: nodes without location N3
local DV protocol Geographic forwarding + local DV protocol
26
Choosing Location Proxies
Location ignorant nodes always remember and advertise any routes to location equipped nodes Routes to nodes with location will propagate to all location ignorant nodes Location ignorant nodes choose closest (in hops) location equipped node as proxy Advertise proxy’s location to location service as own Forward all data via proxy
27
Proxy Example (finding proxies)
P: position equipped N: position ignorant Radio range Advertisements: P, hops=4 … P, hops=3 … P, hops=2 … P, hops=1 … P, hops=0 … N1 N2 N3 N4 P Routes: P, 4 P, 3 P, 2 P, 1 … … … … …
28
Receiving Packets Using Proxies
Proxy P will receive packets for N via geographic forwarding. P uses local routing to send packets to N. P will learn the route to N.
29
How Proxies Learn Routes
Radio range Routes: P, 4 N1, 1 … N1, 2 N1, 3 N1, 4 Advertisements: N1, p_h=4 N1, p_h=3 N1, p_h=2 N1, p_h=1 N1’s route should be propagated for 4 hops to reach proxy P.
30
Proxy Results: scenario
10% know location Nodes with location placed along top edge 10 Knows loc Ignorant 100
31
Location Proxies are Effective
32
What is a “hole”? There could be no geographically closer next hop:
C’s radio range B A F G C ? D E Next hop D is backwards!
33
Intermediate Node Forwarding
Idea: If geographic route fails, try another route! Select an intermediate location L. Forward packets to destination via L Use geographic forwarding from source to L, and from L to destination L can be backwards, or to the side, avoiding holes.
34
Implementing INF Select L randomly from circle c about midpoint m:
If routes continue to fail, increase radius of circle c, e.g. double the radius, and choose new L. S D m c L In progress!
35
Intermediate Node Forwarding Example
INF through L1 will fail (A-B-C-?) B A G C L1 F L2 INF through L2 will succeed (A-B-C-D-E-F-G) D E
36
Summary GLS + geographic forwarding is scalable Practical challenges:
No location info Geographic connectivity “holes” Power Capacity Basic system is functioning, we are addressing the challenges.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.