network-non-traditional-routing.ppt

805 views
772 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
805
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Multirate Multradio
  • spend a little more time on the 240 x. 121. say this is just for the median, and it’s a factor of 2!
  • for the two hop, say we can have more intermediate hops like ex 2 or make it all the way
  • possible question – why are there only 7 forwarders.(just say we thin out...)
  • lower is better. right circle – using lots of longer links, sum them up and it’s 25%. so, like ex 1, using lots of long links. zeros: before many packets made no progress, with exor at least some.
  • network-non-traditional-routing.ppt

    1. 1. Network Routing: Metrics and Non-Traditional Routing Y. Richard Yang 2 / 26 /200 9
    2. 2. Admin. <ul><li>Project propose due: </li></ul><ul><ul><li>Friday </li></ul></ul>
    3. 3. Recap: Key Problems <ul><li>Forwarding and location management </li></ul><ul><li>Routing </li></ul><ul><ul><li>due to node mobility/wireless connectivity, link connectivity/quality can be highly dynamic </li></ul></ul><ul><ul><ul><li>need to design routing protocols that are effective in handling dynamic topologies </li></ul></ul></ul><ul><ul><li>there can be interference among links and paths </li></ul></ul><ul><ul><ul><li>need good link performance metrics or scheduling </li></ul></ul></ul>
    4. 4. Recap: Routing Protocols <ul><li>Proactive protocols </li></ul><ul><ul><li>distance vector </li></ul></ul><ul><ul><ul><li>e.g., DSDV </li></ul></ul></ul><ul><ul><li>link state </li></ul></ul><ul><ul><li>link reversal </li></ul></ul><ul><ul><ul><li>e.g., partial link reversal, TORA </li></ul></ul></ul><ul><li>Reactive protocols </li></ul><ul><ul><li>DSR </li></ul></ul><ul><ul><li>AODV </li></ul></ul>A E D C B F 2 2 1 3 1 1 2 5 3 5
    5. 5. Recap: ETX <ul><li>ETX: The predicted number of data transmissions required to successfully transmit a packet over a link </li></ul><ul><li>Link loss rate = p </li></ul><ul><li>Expected number of transmissions </li></ul><ul><li>Problems of using ETX in 802.11 networks? </li></ul>
    6. 6. Problems of ETX <ul><li>ETX does not handle multirate 802.11 networks </li></ul><ul><li>ETX does not work out well when nodes have multiple radios working on different channels </li></ul>
    7. 7. Extending ETX: Multirate <ul><li>In a multirate environment, need to consider link bandwidth: </li></ul><ul><ul><li>packet size = S, Link bandwidth = B </li></ul></ul><ul><ul><li>each transmission lasts for S/B </li></ul></ul>“ Routing in Multi-radio, Multi-hop Wireless Mesh Network,” Richard Draves, Jitendra Padhye, and Brian Zill. Mobicom 2004.
    8. 8. Extending ETX: Multirate <ul><li>Add ETTs of all links on the path </li></ul><ul><li>Use the sum as path metric </li></ul><ul><li>Interpretation: pick a path with the lowest total network occupation time </li></ul><ul><ul><li>Q: under what condition is SETT total network occupation time? </li></ul></ul>
    9. 9. Extending ETX: Channel Diversity with Multiradio
    10. 10. Impact of Interference <ul><li>Interference reduces throughput </li></ul><ul><ul><li>throughput of a path is lower if many links are on the same channel </li></ul></ul><ul><ul><li>path metric should be worse for non-diverse paths </li></ul></ul>
    11. 11. Combining Link Metric into Path Metric: Proposal 2 <ul><li>Group links on a path according to channel </li></ul><ul><ul><li>assumes links on the same channel interfere with one another </li></ul></ul><ul><ul><li>pessimistic for long paths </li></ul></ul><ul><li>Add ETTs of links in each group </li></ul><ul><li>Find the group with largest sum (BG-ETT) </li></ul><ul><ul><li>this is the “bottleneck” group </li></ul></ul><ul><ul><li>too many links, or links with high ETT (“poor quality” links) </li></ul></ul><ul><li>Use this largest sum as the path metric </li></ul><ul><ul><li>Lower value implies better path </li></ul></ul>
    12. 12. BG-ETT Example 0 5.33 ms 5.33 ms 1.5 Mbps 1.33 ms 4 ms 4 ms 2 Mbps 2.66 ms 2.66 ms 2.66 ms 3 Mbps Path Blue Sum Red Sum BG-ETT Throughput All-red 1 Blue Red-Blue
    13. 13. BG-ETT May Select Long Paths
    14. 14. Path Metric: Putting it all together <ul><li>SETT favors short paths </li></ul><ul><li>BG-ETT favors channel diverse paths </li></ul><ul><li>β is a tunable parameter </li></ul><ul><li>Higher value: more preference to channel diversity </li></ul><ul><li>Lower value: more preference to shorter paths </li></ul>
    15. 15. Implementation and such <ul><li>Measure loss rate and bandwidth </li></ul><ul><ul><li>loss rate measured using broadcast probes similar to ETX </li></ul></ul><ul><ul><ul><li>updated every second </li></ul></ul></ul><ul><ul><li>bandwidth estimated using periodic packet-pairs </li></ul></ul><ul><ul><li>updated every 5 minutes </li></ul></ul><ul><li>Implemented in a source-routed, link-state protocol, Multi-Radio Link Quality Source Routing (MR-LQSR) </li></ul><ul><ul><li>nodes discover links to its neighbors, measure quality of those links </li></ul></ul><ul><ul><li>link information floods through the network </li></ul></ul><ul><ul><ul><li>each node has “full knowledge” of the topology </li></ul></ul></ul><ul><ul><ul><li>sender selects “best path” </li></ul></ul></ul><ul><ul><ul><li>packets are source routed using this path </li></ul></ul></ul>
    16. 16. Evaluations
    17. 17. Media Throughput (Baseline, single radio)
    18. 18. Media Throughput (Baseline, two radios)
    19. 19. Impact of β value Channel diversity is important; especially for shorter paths
    20. 20. Summary <ul><li>Link metrics are still an active research area </li></ul>
    21. 21. Summary: Traditional Routing <ul><li>So far, all routing protocols in the framework of traditional wireline routing </li></ul><ul><ul><li>a graph representation of underlying network </li></ul></ul><ul><ul><ul><li>point-to-point graph edges with costs </li></ul></ul></ul><ul><ul><li>select a lowest-cost route for a src-dest pair </li></ul></ul><ul><ul><li>commit to a specific route before forwarding </li></ul></ul><ul><li>Problems: don’t fully exploit path (spatial) diversity and wireless broadcast opportunities </li></ul>
    22. 22. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul>
    23. 23. Motivating Scenario: I <ul><li>Assumes independent loss </li></ul><ul><li>Tradition routing has to follow one pre-committed route </li></ul><ul><li>Does not allow exploration of opportunities </li></ul>
    24. 24. Motivating Scenario: II <ul><li>Traditional routing picks a single route, e.g., src -> B -> D -> dst </li></ul><ul><ul><li>packets received off path are useless </li></ul></ul><ul><li>However, one should take advantage of transmissions that reach unexpectedly far or unexpectedly short </li></ul>
    25. 25. Motivating Scenario: III <ul><li>A sends 1 packet to B; B sends packet 3 to A </li></ul><ul><li>If R has both packets 1 and 3, it can combine them and explore coding and broadcast nature of wireless </li></ul>A B R
    26. 26. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul>
    27. 27. Coding <ul><li>We have covered source coding (FEC, compression) </li></ul><ul><li>The new approach uses opportunistic network coding </li></ul><ul><li>goal: increase the amount of information that is transported </li></ul>
    28. 28. Opportunistic Coding
    29. 29. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul><ul><ul><li>opportunistic routing: ExOR </li></ul></ul>
    30. 30. Opportunistic Routing (ExOR) <ul><li>Group packets into batches </li></ul><ul><li>Instead of choosing a fix sequential path (e.g., src->B->D->dst), the source chooses a list of forwarders (a forwarder list in the packets) using ETX-like metric </li></ul><ul><ul><li>a background process collects ETX information via periodic link-state flooding </li></ul></ul><ul><li>Forwarders are prioritized by ETX-like metric to the destination </li></ul>
    31. 31. ExOR: Forwarding <ul><li>The highest priority forwarder transmits when the batch ends </li></ul><ul><li>The remaining forwarders transmit in prioritized order </li></ul><ul><ul><li>each forwarder forwards packets it receives yet not received by higher priority forwarders </li></ul></ul><ul><ul><li>status collected by batch map </li></ul></ul><ul><li>A nodes stops sending the remaining packets in the batch if its batch map indicates over 90% of this batch has been received by higher priority nodes </li></ul><ul><ul><li>the remaining packets transferred with traditional routing </li></ul></ul>
    32. 32. Batch Map: Example <ul><li>Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet </li></ul>
    33. 33. Example: Timeline Forwarder list: N24(dst), N20, N18, N11, N8, N17, N13, N5(src)
    34. 34. Evaluations <ul><li>65 Node pairs </li></ul><ul><li>1.0MByte file transfer </li></ul><ul><li>1 Mbit/s 802.11 bit rate </li></ul><ul><li>1 KByte packets </li></ul><ul><li>EXOR bacth size 100 </li></ul>1 kilometer
    35. 35. Evaluation: 2x Overall Improvement <ul><li>Median throughputs: 240 Kbits/sec for ExOR, </li></ul><ul><li> 121 Kbits/sec for Traditional </li></ul>Throughput (Kbits/sec) 1.0 0.8 0.6 0.4 0.2 0 0 200 400 600 800 Cumulative Fraction of Node Pairs ExOR Traditional
    36. 36. 25 Highest throughput pairs Node Pair Throughput (Kbits/sec) 0 200 400 600 800 1000 ExOR Traditional Routing 1 Traditional Hop 1.14x 2 Traditional Hops 1.7x 3 Traditional Hops 2.3x
    37. 37. ExOR uses links in parallel <ul><li>Traditional Routing </li></ul><ul><li>3 forwarders </li></ul><ul><li>4 links </li></ul><ul><li>ExOR </li></ul><ul><li>7 forwarders </li></ul><ul><li>18 links </li></ul>
    38. 38. ExOR moves packets farther <ul><li>ExOR average: 422 meters/transmission </li></ul><ul><li>Traditional Routing average: 205 meters/tx </li></ul>Fraction of Transmissions 0 0.1 0.2 0.6 ExOR Traditional Routing 0 100 200 300 400 500 600 700 800 900 1000 Distance (meters) 25% of ExOR transmissions 58% of Traditional Routing transmissions
    39. 39. Comments <ul><li>Pros </li></ul><ul><ul><li>takes advantage of link diversity (the probabilistic reception) to increase the throughput </li></ul></ul><ul><ul><li>does not require changes in the MAC layer </li></ul></ul><ul><ul><li>can cope well with unreliable wireless medium and mobility </li></ul></ul><ul><li>Cons </li></ul><ul><ul><li>maybe hard to scale to a large network </li></ul></ul><ul><ul><li>overhead in packet header (batch info) </li></ul></ul><ul><ul><li>batches increase delay </li></ul></ul>
    40. 40. Outline <ul><li>Admin. </li></ul><ul><li>Link metrics </li></ul><ul><li>Non-traditional routing </li></ul><ul><ul><li>motivation </li></ul></ul><ul><ul><li>network coding: exploiting network broadcast </li></ul></ul><ul><ul><li>opportunistic routing: ExOR </li></ul></ul><ul><ul><li>opportunistic routing: MIXIT </li></ul></ul>
    41. 41. Mesh Networks Borrowed the Internet API Network Forward correct packets to destination PHY/LL Deliver correct packets
    42. 42. Wireless Naturally Provides Reliability Across Links S D 99% (10 -3 BER) 99% (10 -3 BER) 0% 0% Even 1 bit in 1000 incorrect  Packet loss of 99% R1 R2
    43. 43. Implication S D 99% (10 -3 BER) 99% (10 -3 BER) 0% 0% Link by link reliability  50 transmissions Loss Loss R1 R2
    44. 44. Wireless Naturally Provides Reliability Across Links S D 99% (10 -3 BER) 99% (10 -3 BER) 0% 0% Spatial diversity : Even if no correct packets, every bit is likely received correctly at some node Exploit wireless characteristics  3 transmissions Current contract  50 tx  Low throughput Exploit wireless characteristics  3 tx  High throughput R1 R2
    45. 45. Useful with High Quality Links? R1 R2 R3 R4 S a D b D a S b P a P b 1% 2% 1% 3% 0% 0% 0% 0% Loss Loss Loss Loss P b P b P a P a
    46. 46. Useful with High Quality Links? R1 R2 R3 R4 S a D b D a S b P a P b 1% 2% 1% 3% 0% 0% 0% 0% Current contract  Inhibits concurrency Exploit wireless characteristics  Enables high concurrency P b P b P a P a
    47. 47. Current Contract <ul><ul><li>Limits throughput, inhibits concurrency </li></ul></ul><ul><ul><li>High throughput, high concurrency </li></ul></ul>New Contract Exploiting Wireless Characteristics PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination PHY + LL Deliver correct packets Network Forward correct packets to destination
    48. 48. MIXIT <ul><ul><li>New contract between layers to harness wireless characteristics </li></ul></ul><ul><ul><li>Novel symbol-level network code that scalably routes correct symbols </li></ul></ul><ul><ul><li>High concurrency MAC </li></ul></ul><ul><ul><li>Implementation and evaluation </li></ul></ul><ul><ul><ul><li>3-4x gain over shortest path routing </li></ul></ul></ul><ul><ul><ul><li>2-3x gain over packet-level opp. routing </li></ul></ul></ul>
    49. 49. How does a Router Identify Correct Symbols? <ul><li>PHY already estimates a confidence for every decoded symbol [JB07] </li></ul><ul><li>PHY + LL delivers high confidence symbols to network layer </li></ul>PHY Confidence Packet PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination
    50. 50. What Should Each Router Forward? D S P1 P2 P1 P2 P1 P2 R1 R2
    51. 51. What Should Each Router Forward? D S P1 P2 <ul><li>But overlap in correctly received symbols </li></ul><ul><li>Potential solutions </li></ul><ul><li>Forward everything  Inefficient </li></ul><ul><li>Coordinate  Unscalable </li></ul>P1 P2 P1 P2 R1 R2 P1 P2 P1 P2
    52. 52. MIXIT Prevents Duplicates using Symbol Level Network Coding Forward random combinations of correct symbols D S P1 P2 P1 P2 P1 P2 R1 R2
    53. 53. MIXIT Prevents Duplicates using Symbol Level Network Coding Routers create random combinations of correct symbols … … R1 R2 D … … … …
    54. 54. MIXIT Prevents Duplicates using Symbol Level Network Coding Solve 2 equations Destination decodes by solving linear equations Randomness prevents duplicates without co-ordination R1 R2 D … …
    55. 55. MIXIT Prevents Duplicates using Symbol Level Network Coding Routers create random combinations of correct symbols … … R1 R2 D … … … …
    56. 56. MIXIT Prevents Duplicates using Symbol Level Network Coding Solve 2 equations Destination decodes by solving linear equations <ul><li>Symbol Level Network Coding </li></ul><ul><li>No duplicates  Efficient </li></ul><ul><li>No coordination  Scalable </li></ul>R1 R2 D … …
    57. 57. Destination needs to know which combinations it received (if both symbols were correct) (if only s 1 was correct) (if only s 2 was correct) Nothing (if neither symbol was correct)
    58. 58. Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
    59. 59. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    60. 60. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    61. 61. Destination needs to know which combinations it received Original Packets Coded Packet Use run length encoding
    62. 62. Destination needs to know which combinations it received Run length encoding efficiently expresses combinations Use run length encoding
    63. 63. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    64. 64. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    65. 65. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    66. 66. Symbol-level Network Coding Original Packets Coded Packet Forward random combinations of correct symbols R1
    67. 67. Symbol-level Network Coding Use run length encoding to efficiently expresses combinations in header Forward random combinations of correct symbols R1
    68. 68. MIXIT: Efficient and Scalable Symbol-level Opportunistic Routing Solve 2 equations Destination decodes by solving linear equations Original Symbols <ul><li>Symbol Level Network Coding </li></ul><ul><li>No duplicates  Efficient </li></ul><ul><li>No coordination  Scalable </li></ul>R1 R2 D
    69. 69. Routers May Forward Erroneous Bits Despite High Confidence MIXIT has E2E error correction capability! Symbol-Level Network Coding ECC Data <ul><li>MIXIT’s Error Correcting Code (ECC) </li></ul><ul><li>Routers are oblivious to ECC </li></ul><ul><li>Optimal error correction capability </li></ul><ul><li>Rateless </li></ul>Decode ECC Data Source Destination PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination
    70. 70. High Concurrency MAC <ul><li>Each node maintains a map of conflicting transmissions </li></ul><ul><li>Map is based on empirical measurements and built in distributed, online manner </li></ul>w & x  NO! w & u  YES! x u w
    71. 71. Evaluation <ul><ul><li>Implementation on GNURadio SDR and USRP </li></ul></ul><ul><ul><li>Zigbee (IEEE 802.15.4) link layer </li></ul></ul><ul><ul><li>25 node indoor testbed, random flows </li></ul></ul><ul><ul><li>Compared to: </li></ul></ul><ul><ul><ul><li>Shortest path routing based on ETX </li></ul></ul></ul><ul><ul><ul><li>MORE: Packet-level opportunistic routing </li></ul></ul></ul>
    72. 72. Throughput Comparison Throughput (Kbps) CDF Throughput increase: 3x over SPR, 2x over MORE 2.1x 3x Shortest Path MORE MIXIT
    73. 73. Where do the gains come from? Throughput (Kbps) CDF Shortest Path MORE MIXIT Take concurrency away from MIXIT
    74. 74. Where do the gains come from? 1.5x Without concurrency, 1.5x gain over MORE Throughput (Kbps) CDF Shortest Path MORE MIXIT without concurrency Take concurrency away from MIXIT
    75. 75. Where do the gains come from? Throughput (Kbps) CDF MIXIT Gains come from both moving to the symbol level and high concurrency Shortest Path MORE MIXIT without concurrency
    76. 76. Where do the gains come from? Higher Concurrency? 1.4x MORE, enhanced with higher concurrency is only 1.4x better Throughput (Kbps) CDF
    77. 77. Where do the gains come from? Throughput (Kbps) CDF 2.1x 1.5x Higher concurrency MAC fully exploits symbol-level diversity
    78. 78. Multiple Flows MORE/SPR: Higher congestion  Lower concurrency MIXIT: Higher congestion  High concurrency Shortest Path MORE MIXIT No. of concurrent flows Avg. Network Throughput (Kbps)
    79. 79.
    80. 80. Geographical Routing
    81. 81. Motivations <ul><li>A need for geographical based distribution </li></ul><ul><ul><li>e.g., sensornets and location-based services </li></ul></ul><ul><li>Reducing state overhead </li></ul><ul><ul><li>the routing protocols we discussed so far may not scale to large-scale networks </li></ul></ul><ul><ul><ul><li>maintain (end-to-end) routing states for each destination </li></ul></ul></ul><ul><ul><ul><li>thus overhead proportional to network size </li></ul></ul></ul>
    82. 82. GeoRouting: Greedy Distance S D <ul><li>Find neighbors who are the closest to destination D </li></ul><ul><li>To make progress, the chosen neighbor should be closer to destination </li></ul>Closest to D A
    83. 83. Geographical Routing <ul><li>Each node only needs to keep state for its neighbors </li></ul><ul><li>Beaconing mechanism </li></ul><ul><ul><li>each node broadcasts its MAC and position </li></ul></ul><ul><ul><li>to minimize costs: piggybacking </li></ul></ul>
    84. 84. Greedy Routing Not Always Works D
    85. 85. Greedy Routing Works Well in Dense Networks <ul><li>If node density is high, it is a low probability event for the region to have no nodes </li></ul>D Greedy fails if no node in this region
    86. 86. Dealing with Void: Right-Hand Rule Right-hand rule: When arriving at node x from node y, the next edge traversed is the next one sequentially counterclockwise about x from edge (x,y)
    87. 87. Right Hand Rule on Convex Subdivision Applying the right hand rule to convex subdivision (namely a planar graph where every internal face is a polytope): first remove the edges crossing the line from source to destination, and then apply the right hand rule If not convex subdivision, removing crossing edges may not work s t
    88. 88. Right-Hand Rule Does Not Work Well with Cross Edges u z w D x v <ul><li>x originates a packet to u </li></ul><ul><li>Right-hand rule results in the long detour x - u - z - w - u - x </li></ul>
    89. 89. Removing Cross Edges u z w D x v <ul><li>Remove ( w , z ) from the graph </li></ul><ul><li>Right-hand rule results in the route x - u - z -v- D </li></ul>
    90. 90. How to Make a Graph Planar? <ul><li>Convert a connectivity graph to planar non-crossing graph by removing “bad” edges </li></ul><ul><ul><li>m ake sure the original graph will not be disconnected </li></ul></ul><ul><ul><li>t wo types of planar graphs: </li></ul></ul><ul><ul><ul><li>Relative Neighborhood Graph (RNG) </li></ul></ul></ul><ul><ul><ul><li>Gabriel Graph (GG) </li></ul></ul></ul>
    91. 91. Relative Neighborhood Graph <ul><li>Edge uv can exist only if there does not exist another node w inside the intersection of the two circles centered at u and v with radius d(u, v) </li></ul><ul><ul><li>i.e., no w such that d(w, u) < d(u, v) and d(w, v) < d(u, v) </li></ul></ul><ul><li>Or equivalently  w  u , v : d ( u , v ) ≤ max[ d ( u , w ), d ( v , w )] </li></ul>n ot empty  remove uv
    92. 92. Gabriel Graph <ul><li>An edge ( u , v ) exists between vertices u and v if no other vertex w is present within or on the circle whose diameter is uv. </li></ul><ul><ul><ul><li> w  u , v : d 2 ( u , v ) < [ d 2 ( u , w ) + d 2 ( v , w )] </li></ul></ul></ul>Not empty  remove uv
    93. 93. Examples <ul><li>200 nodes </li></ul><ul><li>randomly placed on a 2000 x 2000 meter region </li></ul><ul><li>radio range of 250 m </li></ul><ul><li>Bonus: remove redundant, competing path  less collision </li></ul>Full graph GG subset RNG subset
    94. 94. Properties of GG and RNG <ul><li>RNG is a sub-graph of GG </li></ul><ul><ul><li>because RNG removes more edges </li></ul></ul><ul><li>GG is a planar graph </li></ul><ul><ul><li>and thus RNG is also planar </li></ul></ul><ul><li>Connectivity </li></ul><ul><ul><li>if the original graph is connected, RNG is also connected </li></ul></ul>RNG GG
    95. 95. Connectedness of RNG Graph <ul><li>Key observation </li></ul><ul><ul><li>any edge on the minimum spanning tree of the original graph is not removed </li></ul></ul><ul><ul><li>Assume (u,v) is such an edge but removed in RNG due to w </li></ul></ul>u v w
    96. 96. Delaunay Triangulation <ul><li>Let disk( u,v,w ) be a disk defined by the three points u , v,w </li></ul><ul><li>The Delaunay Triangulation (Graph) </li></ul><ul><ul><li>There is a triangle of edges between three nodes u , v,w iff the disk( u,v,w ) contains no other points </li></ul></ul><ul><li>Properties of the Delaunay Triangulation graph </li></ul><ul><ul><li>it is the dual of the Voronoi diagram </li></ul></ul><ul><ul><li>DT graph is planar </li></ul></ul>
    97. 97. Some Interesting Properties <ul><li>Since the MST(V) is connected and the DT(V) is planar, all the planar graphs above are connected and planar </li></ul>
    98. 98. Final Algorithm: G reedy Perimeter Stateless Routing (GPSR) <ul><li>Maintenance </li></ul><ul><ul><li>a ll nodes maintain a single-hop neighbor table </li></ul></ul><ul><ul><li>Use RNG or GG to make the graph planar </li></ul></ul><ul><li>Routing </li></ul><ul><ul><li>use greedy forwarding whenever possible </li></ul></ul><ul><ul><li>resort to perimeter routing when greedy forwarding fails and record current location Lc </li></ul></ul><ul><ul><li>resume greedy forwarding when we are closer to destination than Lc </li></ul></ul>
    99. 99. Example a d b c S e f D a S c e D For details about GPSR algorithm, please [GPSR]. d
    100. 100. Evaluations <ul><li>50, 112, and 200 nodes with 802.11 WaveLAN radios </li></ul><ul><li>Maximum velocity of 20 m/s </li></ul><ul><li>30 CBR traffic flows, originated by 22 sending nodes </li></ul><ul><li>Each CBR flows at 2 Kbps, and uses 64-byte packets </li></ul>
    101. 101. Packet Delivery Success Rate Very dense network: 20 neighbors
    102. 102. Routing Protocol Overhead
    103. 103. Routing State <ul><li>State per router for 200-node </li></ul><ul><ul><li>GPSR node stores state for 26 nodes on average in pause time-0 </li></ul></ul>
    104. 104. Path Length
    105. 105. Worst Case of GeoRouting in Terms of Hop Count <ul><li>A worst case scenario </li></ul><ul><ul><li>d estination is central node </li></ul></ul><ul><ul><li>s ource is any node on ring </li></ul></ul><ul><ul><li>a ny spine can go to middle </li></ul></ul><ul><ul><li>O(c) nodes along ring and O(c) nodes along each spine </li></ul></ul><ul><li>Best path length: O(c)+O(c) </li></ul><ul><li>Geographic routing: </li></ul><ul><ul><li>Test O (c) spines of length O (c) </li></ul></ul><ul><ul><li>Cost O (c 2 ) instead of O(c) </li></ul></ul>
    106. 106. Geographic Routing
    107. 107. Pros and Cons of GPSR <ul><li>Pros: </li></ul><ul><ul><li>low routing state and control traffic </li></ul></ul><ul><ul><li>scalable </li></ul></ul><ul><ul><li>handles mobility well </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>planarized graph is hard to guarantee under mobility </li></ul></ul><ul><ul><li>location might not be available everywhere (we will see the problem next week) </li></ul></ul><ul><ul><li>geographic distance does not correlate well with network proximity </li></ul></ul>
    108. 108. Why Geographic Routing Without Location? <ul><li>Location is hard to get </li></ul><ul><ul><li>GPS takes power, doesn’t work indoors, difficult to incorporate in small sensors </li></ul></ul><ul><ul><li>the network localization problem is difficult </li></ul></ul><ul><li>True location may not be useful if there are obstacles </li></ul>In the “connectivity” space, B is closer to destination!! S D A B
    109. 109. Overview <ul><li>Objective: assign “virtual” coordinates to nodes so that </li></ul><ul><ul><li>the coordinates are computed efficiently, </li></ul></ul><ul><ul><li>routing works well using the computed coordinates </li></ul></ul><ul><li>Progress in three steps </li></ul><ul><ul><li>the perimeter nodes and their locations are known </li></ul></ul><ul><ul><li>the perimeter nodes are known but not their coordinates are not known </li></ul></ul><ul><ul><li>nothing is known </li></ul></ul><ul><li>We cover the first two steps </li></ul>
    110. 110. The Perimeter Nodes and Their Locations Are Known <ul><li>Image a rubber band from each node to each (connected) neighbor </li></ul><ul><li>The force of a rubber band is proportional to its length, directed to the neighbor </li></ul>
    111. 111. The Perimeter Nodes and Their Locations Are Known <ul><li>The equilibrium is achieved when the position p of a node is equal to the average of its neighbors </li></ul><ul><li>where n is number of neighbors </li></ul><ul><li>Algorithm </li></ul><ul><ul><li>each node sends its position to its neighbors </li></ul></ul><ul><ul><li>a node updates its new position to be the average of those of its neighbors </li></ul></ul>
    112. 112. Perimeter N odes A re K nown ( True Positions ) 3200 nodes; 64 perimeter nodes on the boundary
    113. 113. Perimeter N odes A re K nown (10 iterations) Internal nodes initialized as the center of the square
    114. 114. Perimeter N odes A re K nown (10 0 iterations) Internal nodes initialized as the center of the square
    115. 115. Perimeter N odes A re K nown (10 00 iterations) Internal nodes initialized as the center of the square
    116. 116. Routing Performance <ul><li>32000 packets with random source-destination pairs </li></ul>Success rate: using (distance) greedy routing Success rate Average path length True position 0.989 16.8 Virtual position 0.993 17.1
    117. 117. Two More Scenarios Success rate: 0.981 Avg. path length: 17.3 Success rate: 0.99 Avg. path length: 17.1
    118. 118. Weird Shapes
    119. 119. The Perimeter Nodes Are Known But Their Locations Are Not Known <ul><li>Assume the distance between two nodes is the (minimum) number of hops to go from one to the other </li></ul><ul><li>Distances can be derived by flooding the network </li></ul><ul><ul><li>each perimeter node sends a HELLO message with a hop counter of 0 </li></ul></ul><ul><ul><li>when seeing a message from a perimeter node with a lower hop counter, a node increases the counter by 1 and forwards it </li></ul></ul>
    120. 120. Virtual Coordinates by Triangulation <ul><li>Each perimeter node solves the minimization problem: </li></ul><ul><li>Detail </li></ul>
    121. 121. Convergence and Performance One iteration: success rate = 0.992; avg. path length = 17.2 Ten iterations: success rate = 0.994; avg. path length = 17.2
    122. 122. Backup Slides
    123. 123. Improving R esiliency <ul><li>If perimeter vector is inaccurate, it results in inconsistent information </li></ul><ul><li>Augment with two beaconing nodes which provide two coordinate axes </li></ul><ul><ul><li>special perimeter nodes or run leader election to select the two nodes </li></ul></ul><ul><li>Origin is chosen as the center of gravity of all perimeter nodes </li></ul><ul><ul><li>m ore robust to lost information </li></ul></ul>
    124. 124. Selecting Perimeter Nodes <ul><li>Rule: A node is a perimeter node if: </li></ul><ul><li>It is farthest away from the first beacon node among all its one -hop neighbors </li></ul>
    125. 125. Perimeter N ode D etection
    126. 126. Convergence and Performance Ten iterations: success rate = 0.996; avg. path length = 17.3
    127. 127. Projecting on C ircle After First Computation <ul><li>Circle: center is center of gravity; radius is average of distance of the perimeter nodes to the CG </li></ul><ul><li>Motivation: maintain a consistent coordinate space </li></ul>
    128. 128. Virtual Polar Coordinate Space <ul><li>Each node is assigned a label </li></ul><ul><ul><li>label is num ber of hops to root and virtual angle range </li></ul></ul>Discussion: how to do routing?
    129. 129. Build the Tree <ul><ul><li>Root node </li></ul></ul><ul><ul><li>starts as root </li></ul></ul><ul><ul><li>broadcasts “level 0” </li></ul></ul><ul><ul><li>A non-root node </li></ul></ul><ul><ul><li>r ec ei v es message “level n” – mark s parent </li></ul></ul><ul><ul><li>b roadcast s message saying level “n+1” </li></ul></ul><ul><li>All subtrees report size back to parent. </li></ul><ul><li>R oot does assignment of virtual angles. </li></ul>Question: what about the issues of the described algorithm?
    130. 130. Motivation for a Better Metric
    131. 131. Implementation and such <ul><li>Modify DSDV or DSR </li></ul><ul><li>Example evaluation: </li></ul><ul><ul><li>in DSDV w/ ETX, route table is a snapshot taken at end of 90 second warm-up period </li></ul></ul><ul><ul><li>in DSR w/ ETX, source waits additional 15 sec before initiating the route request </li></ul></ul>
    132. 132. ETX Performance DSDV DSR

    ×