MLS An Efficient Location Service for Mobile Ad Hoc Networks

1,335 views
1,258 views

Published on

MLS An Efficient Location Service for Mobile Ad Hoc Networks

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,335
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MLS An Efficient Location Service for Mobile Ad Hoc Networks

  1. 1. Roland Flury, Roger Wattenhofer Computer Engineering and Networks Lab, ETH Zurich Ch-8092 Zurich, Switzerland [email_address] , [email_address] , 指導老師:張耀仁 老師 學號: 9476613 姓名:廖泰成 MLS An Efficient Location Service for Mobile Ad Hoc Networks
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Related work </li></ul><ul><li>MLS contribution </li></ul><ul><li>Model </li></ul><ul><li>Algorithm & Analysis </li></ul><ul><li>Simulation </li></ul><ul><li>Conclusions </li></ul>
  3. 3. Introduction <ul><li>Geographic Routing </li></ul><ul><li>Greedy forwarding </li></ul><ul><li>Face routing </li></ul>- A node forwards a message to its neighbor closest to the destination - To surround routing voids a message may be routed along the border of the hole
  4. 4. Introduction <ul><li>How can a node </li></ul><ul><li>determine the </li></ul><ul><li>position of </li></ul><ul><li>another node? </li></ul><ul><li>Proactive distribution </li></ul><ul><li>Home based location service </li></ul>
  5. 5. Introduction <ul><li>Each node has a single location server </li></ul><ul><li>Good load balancing </li></ul><ul><li>Arbitrary high stretch </li></ul><ul><li>Home base location service </li></ul>
  6. 6. Introduction <ul><li>Mobility </li></ul><ul><li>Position of a node it may change continuously </li></ul>?
  7. 7. Related work <ul><li>LLS </li></ul><ul><li>GLS </li></ul><ul><li>DLM </li></ul><ul><li>High-Grade </li></ul><ul><li>Scalable </li></ul><ul><li>Geographic Routing without Location Information </li></ul><ul><li>Topology Independent Location Service for Self-Organizing Networks </li></ul>
  8. 8. Related work - GLS <ul><li>GLS </li></ul><ul><li>Size of the </li></ul><ul><li>biggest </li></ul><ul><li>Surrounding </li></ul><ul><li>Square </li></ul><ul><li>Not bounded </li></ul>26, 31, 32, 74, 75, 79, 98 <ul><li>Lookup Cost </li></ul><ul><li>Publish Cost </li></ul>2 55 43 75 98 31 63 17 79 12 27 87 32 23 81 33 8 56 4 28 99 62 74 12 26 91 23 23 23 23 23 23
  9. 9. Related work - LLS <ul><li>LLS </li></ul><ul><li>O( d 2 ) </li></ul><ul><li>O( d log d ) </li></ul><ul><li>Lookup Cost </li></ul><ul><li>Publish Cost </li></ul>“ O()”= > lookup algorithm “ d”= > distance of node to node
  10. 10. MLS contribution <ul><li>The lookup service despite of concurrent mobility </li></ul><ul><li>Routing is performed through the lookup mechanism </li></ul><ul><li>Lookup / routing overhead : close to optimal </li></ul><ul><li>Moderate publish overhead due to mobility </li></ul><ul><li>Quite fast moving nodes </li></ul>
  11. 11. Model <ul><li>Deployment Area </li></ul><ul><ul><li>Nodes populate land areas </li></ul></ul><ul><ul><li>Lake denote holes </li></ul></ul><ul><ul><li>Connected graph, no islands </li></ul></ul><ul><li>Connectivity </li></ul><ul><ul><li>n 1 , n 2 are connected if d( n 1 , n 2 ) · r min </li></ul></ul><ul><li>Density </li></ul><ul><ul><li>For any point on land, there exists a node at most r min / 3 away </li></ul></ul><ul><ul><li>Thus, relatively dense node deployment </li></ul></ul>
  12. 12. Model <ul><li>Node Equipment </li></ul><ul><ul><li>Position module </li></ul></ul><ul><ul><li>(GPS, Galileo, local system, …) </li></ul></ul><ul><ul><li>Communication module </li></ul></ul><ul><li>Underlying Routing </li></ul><ul><ul><li>Given a destination position p t , we can route a message in  d( p s , p t ) from the sender position p s to p t </li></ul></ul>
  13. 13. Algorithm & Analysis <ul><li>- Selection of Location Servers </li></ul><ul><li>Each node builds a hierarchy of location servers that are located in exponentially increasing areas around the node. </li></ul><ul><ul><li>Top level surrounds entire world </li></ul></ul><ul><ul><li>Each level is divided in 4 sub-squares </li></ul></ul><ul><ul><li>A level pointer points to the next smaller level that surrounds t </li></ul></ul><ul><ul><li>The position of the level pointer is </li></ul></ul><ul><ul><li>determined by hashing the ID of t </li></ul></ul>t t
  14. 14. Algorithm & Analysis <ul><li>- Routing in MLS </li></ul><ul><li>Routing in MLS consists of two phases </li></ul><ul><li>The second step pretty easy: </li></ul><ul><li>Find a Location Pointer of the destination </li></ul><ul><li>Recursively follow the Location Pointers </li></ul>Performance If the destination is d away from sender, the lookup path is O( d ).
  15. 15. Algorithm & Analysis <ul><li>- How to find a location pointer </li></ul><ul><li>First, the sender assumes that the destination is in its vicinity </li></ul><ul><li>While the lookup request fails to find a location </li></ul><ul><li>pointer, it increases </li></ul><ul><li>the search area </li></ul>Performance If the destination is d away from sender, the lookup path to find a first location pointer is O( d ).
  16. 16. Algorithm & Analysis <ul><li>- Support Mobility </li></ul><ul><li>A location pointer only needs to be updated when the node leaves the corresponding sub-square. </li></ul><ul><li>Most of the time , only the closest few location pointers need to be updated due to mobility </li></ul><ul><li>Not enough to guarantee low publish overhead! </li></ul><ul><ul><li>If node oscillates over grid-boundary of several layers, many location pointers need to be updated. </li></ul></ul>Unbounded publish cost!
  17. 17. Algorithm & Analysis <ul><li>- Lazy Publishing </li></ul><ul><li>To overcome exorbitant publish cost due to oscillating  -moves: </li></ul>Only update a location pointer if the node has moved away quite a bit Breaks the location pointer chain! ?
  18. 18. Algorithm & Analysis <ul><li>- Lazy Publishing with Forwarding Pointers </li></ul><ul><li>To repair the lookup path, add a forwarding pointer that points to the neighboring level that contains the location pointer. </li></ul>
  19. 19. Algorithm & Analysis <ul><li>- Supporting Concurrency </li></ul><ul><li>Allowing for concurrent lookup requests and node mobility is somewhat tricky </li></ul>
  20. 20. Algorithm & Analysis <ul><li>- Supporting Concurrency </li></ul><ul><li>Allowing for concurrent lookup requests and node mobility is somewhat tricky </li></ul>
  21. 21. Algorithm & Analysis <ul><li>- Supporting Concurrency </li></ul>? <ul><li>Allowing for concurrent lookup requests and node mobility is somewhat tricky </li></ul><ul><ul><li>Especially the deletion of location pointers and forwarding pointers </li></ul></ul><ul><li>Routing of messages needs time </li></ul><ul><ul><li>Sending a message to the next location pointer </li></ul></ul><ul><ul><li>Sending command messages to update / delete / create a location pointer </li></ul></ul>Note: These problems arise independently of the node speed.
  22. 22. Algorithm & Analysis <ul><li>- Supporting Concurrency-TFP </li></ul><ul><li>Solution to overcome the concurrency issue: </li></ul><ul><li>A temporary pointer redirects a lookup to the neighbor level where the node is located. </li></ul>Do not delete a location or forwarding pointer, but replace it with a Temporary Forwarding Pointer (TFP) TFP are temporary and must be removed after a well known time.
  23. 23. Algorithm & Analysis <ul><li>- Speeding </li></ul><ul><li>A mobile node may generate many forwarding pointers while a lookup searches for it </li></ul><ul><ul><li>If the lookup is not fast enough, it permanently follows forwarding pointers </li></ul></ul>
  24. 24. Algorithm & Analysis <ul><li>- Speeding </li></ul><ul><li>A mobile node may generate many forwarding pointers while a lookup searches for it </li></ul><ul><ul><li>If the lookup is not fast enough, it permanently follows forwarding pointers </li></ul></ul>
  25. 25. Algorithm & Analysis <ul><li>Performance of MLS </li></ul><ul><li>The maximum node speed depends on several parameters </li></ul><ul><ul><li>Min. speed of underlying routing </li></ul></ul><ul><ul><li>Laziness in lazy publishing </li></ul></ul><ul><ul><li>How long we are willingly to follow temporary and forwarding pointers of a moving node </li></ul></ul><ul><li>Without lakes, the maximum node speed may not exceed 1/15 of the minimum message speed of the underlying routing. </li></ul><ul><li>Despite of this relatively high node speed </li></ul><ul><ul><li>Lookup cost is O( d ) </li></ul></ul><ul><ul><li>Amortized publish cost is O( d log d ) </li></ul></ul>
  26. 26. Simulation Lake Land Node t
  27. 27. Simulation <ul><li>5000 nodes </li></ul><ul><li>100,000 lookup request </li></ul><ul><li>Different node speed </li></ul><ul><li>Two different world maps </li></ul><ul><li>Maximal routing stretch due to lakes is 10 </li></ul><ul><li>Side-length is 5300 units </li></ul><ul><li>ρ chosen to be 1 unit </li></ul><ul><li>Without the lakes </li></ul>
  28. 28. Simulation Smallest three levels around node “t”
  29. 29. Simulation (Result) Max speed of node
  30. 30. Simulation (Result)
  31. 31. Simulation (Result)
  32. 32. Conclusion <ul><li>Truly mobile nodes </li></ul><ul><li>Concurrent routing and mobility </li></ul><ul><li>Constant stretch </li></ul><ul><li>Dense node distribution reliable communication </li></ul><ul><li>Knowledge of the position of lakes </li></ul>

×