1 / 48

Reliable QoS Routing in Ad Hoc Networks

Reliable QoS Routing in Ad Hoc Networks. K.S. Chan EEE Department The University of Hong Kong. Outlines. Introduction Bandwidth reservation Bandwidth measurement on link Reservation algorithm Multipath construction Performance evaluation Conclusions. Introduction. IETF drafts:

shlomo
Download Presentation

Reliable QoS Routing in Ad Hoc Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reliable QoS Routing in Ad Hoc Networks K.S. Chan EEE Department The University of Hong Kong

  2. Outlines • Introduction • Bandwidth reservation • Bandwidth measurement on link • Reservation algorithm • Multipath construction • Performance evaluation • Conclusions

  3. Introduction • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm • single path routing: frequent interruption • Best effort • Multipath routing: • Multiple best-effort maximally disjoint paths • Traffic distribution • Video delivery with MDC

  4. Introduction (cont’d) • IETF drafts: • DSR: Dynamic Source Routing H I G F E D {ABCD} A B C {A} {AB} {ABC}

  5. Introduction (cont’d) • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector H I G F E D {A: C} A B C {A: A} {A: B}

  6. Introduction (cont’d) • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector H I G F E D {A: C} A B C {D: B} {A: A} {D: C} {A: B} {D: D}

  7. Introduction (cont’d) • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm H I G F E D A B C

  8. Introduction (cont’d) • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm H I {D: 1} {D: 2} G F {D: 2} E {D: 3} {D: 1} D {D: 0} A B C {D: 3} {D: 2} {D: 1}

  9. Introduction • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm • single path routing: frequent interruption • Best effort

  10. Introduction • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm • single path routing: frequent interruption • Best effort • Multipath routing: • Multiple best-effort maximally disjoint paths • Traffic distribution • Video delivery with MDC

  11. Multipath routing • Multipath routing: • Multiple best-effort maximally disjoint paths H I G F E D {ABCD} {ABFGD} {AEFGD} {AEFID} A B C {A} {AB} {ABC}

  12. Introduction • IETF drafts: • DSR: Dynamic Source Routing • AODV: Ad hoc On-demand Distance Vector • TORA: Temporally-Ordered Routing Algorithm • single path routing: frequent interruption • Best effort • Multipath routing: • Multiple best-effort maximally disjoint paths • Traffic distribution • Video delivery with MDC • No reservation

  13. Introduction (cont’d) • QoS routing: • CEDAR: Core-Extraction Distributed Ad hoc Routing • C. R. Lin: JSAC 1999 • Multi-channel • Single path • C. Zhu: infocom2002 • Single channel • Single path

  14. Introduction (cont’d) • QoS routing: • CEDAR: Core-Extraction Distributed Ad hoc Routing D C B A

  15. Introduction (cont’d) • QoS routing: • CEDAR: Core-Extraction Distributed Ad hoc Routing • C. R. Lin: JSAC 1999 • Multi-channel • Single path • C. Zhu: infocom2002 • Single channel • Single path

  16. Introduction (cont’d) • QoS routing: • CEDAR: • C. R. Lin: JSAC 1999 • Multi-channel • The TSs available for both sending and receiving are the same • Single path {0,1} [2,3] F {2,3} [4,5] {} [ ] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Red: used for sending information Blue: used for receiving information

  17. Introduction (cont’d) • QoS routing: • CEDAR: • C. R. Lin: JSAC 1999 • Multi-channel • Single path • C. Zhu: infocom2002 • Single channel • Single path {0,1} [2,3] F {2,3} [4,5] {} [ ] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Red: used for sending information Blue: used for receiving information Node B: availaible for sending: 0,1 available for receiving: 2,3

  18. Introduction (cont’d) • Our scheme: • Single channel, frame-based ad hoc network • Efficient bandwidth reservation • Sequential multi-path set up

  19. Link bandwidth measurement {0,1} [2,3] F {2,3} [4,5] {} [ ] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Red: used for sending information Blue: used for receiving information What is the link bandwidth from node B to node C?

  20. Link bandwidth measurement (cont’d) Some notations: • TK: the set of time slots used by node K for transmission. • RK: the set of time slots used by node K for receiving. • S: the sample space of time slots. • NK : the set including all node K’s neighboring nodes. • TStK: the set of time slots available for transmission at node K. The transmission of node K in these time slots will not cause interference to other nodes’ current receiving. • TSrK: the set of time slots available for receiving at node K. The receiving of node K in these time slots will not be interfered by other nodes’ current transmission.

  21. Link bandwidth measurement (cont’d) We have Then the link bandwidth from node i to node jis TSij= TStiTSrj

  22. An example for the measurement {2,3} [4,5] {0,1} [2,3] F {} [ ] S={0.. 7} D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] TSrB=S-TB-RB-TA-TE-TC={0,1} TStB=S-TB-RB-RA-RE-RC={2,3} TSrC=S-TC-RC-TB-TD={2,3} TSBC= TStBTSrC={2,3}

  23. Bandwidth reservation over a path • Information held on a node, node K: • TK,RK , TStK , TSrK , TSti , TSri , i NK • Initiated from destination • Three cases: • Case 1: last link from source node, reserve on the link • Case 2: the link next to the last: reserve the timeslots not available on the last link • Case 3: others, trying to reserve TSs not available on the links waiting for reservation

  24. Bandwidth reservation algorithm Algorithm: When node i receives reservation request from downstream node, node i-1: do case 1: node i is source node m reserve k timeslots from TSm,m-1 for link m m-1; ENDcase 1 case 2: node i is the node m-1 ; If|S1|>=k reserve k timeslots in set S1 for link m-1m-2; end case 2; else reserve timeslots in S1 for link m-1m-2; k=k-|S1|; reserve k timeslots for link m-1m-2 from set TSm-1,m-2 - S1; ENDcase 2

  25. Bandwidth reservation algorithm (cont’d) case 3: other case let Pibe the set containing node i’s neighboring nodes on path nm to ni+1; if|S1|>k reserve k timeslots in S1; else reserve all timeslots in S1, and let k=k-|S1|; ; if|S2|>k reserve k timeslots in S2; else reserve timeslots in S2; k=k-|S2|; reserve k timeslots in S3; END case 3 END do disseminate the reservation information to neighboring nodes; node i passes the reservation request to node i+1; algorithm end.

  26. An example for the algorithm Demand: reserve one timeslot on path A-B-C-D-E-F {0,1} [2,3] TStA={0,1,2,3,4,5} TSrA={0,1,2,3,6,7} TStB={2,3} TSrB={0,1} TStC={4,5} TSrC={2,3} TStD={6,7} TSrD={4,5} TStE={0,1} TSrE={6,7} TStF={0,1,2,3,6,7} TSrF={0,1,4,5,6,7} F {2,3} [4,5] S={0..7} {} [ ] (0,1) D (6,7) E (4,5) A (0,1) B C (2,3) {} [ ] {4,5} [ 6,7] { 6,7} [0,1]

  27. An example (cont’d) {0,1} [2,3] F {2,3} [4,5] TSEF={0,1} TSDE={6,7} TSrB={0,1} TSrD={4,5} {} [ ] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Step 1: node E reserve 1 TS for link EF Step1_1: choose TS not available on nodes B and D for receiving,No Step 1_2: choose TS not available on link D  E:{0,1}; choose 0.

  28. An example (cont’d) {0,1} [2,3] F {0,2,3} [4,5] TStB={2,3} TSrB: {0,1}{1} TStE: {0,1} {1} TSrE={6,7} TStF: {0,1,2,3,6,7} {1,2,3,6,7} TSrF: {0,1,4,5,6,7} {1,4,5,6,7} {} [0] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Step 1: node E reserve 1 TS for link E  F Step1_1: choose TS not available for nodes B and D for receiving, No Step 1_2: choose TS not available on link DE: {0,1}; choose 0. Step 1_3: disseminate this reservation.

  29. An example (cont’d) {0,1} [2,3] F {0,2,3} [4,5] TSDE={6,7} TSrC={2,3} {} [0] D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Step 1: node E reserve 1 TS for link EF: TS 0 Step 2: node D reserves 1 TS for link DE Step 2_1: choose TS not available on TSrC :{6,7};choose6

  30. An example (cont’d) {0,1,6} [2,3] F {0,2,3} [4,5,6] {} [0] TStD: {6,7} {7} TSrE={6,7} {7} TStF: {1,2,3,6,7} {1,2,3,7} D E A B C {} [ ] {4,5} [ 6,7] { 6,7} [0,1] Step 1: node E reserve 1 TS for link EF: TS 0 Step 2: node D reserves 1 TS for link DE Step2_1: choose TSs not available on TSrC : {6,7}; choose 6 Step 2_2: notify this reservation

  31. An example (cont’d) {0,1,6} [2,3,4] TStA={0,2,3,4,5} TSrA={0,2,3,6,7} TStB={3} TSrB={0} TStC={5} TSrC={3} TStD={7} TSrD={5} TStE={0} TSrE={7} TStF={1,2,3,6,7} TSrF={1,4,5,6,7} F {0,2,3} [4,5,6] {} [0] D E A B C {1} [ ] {2,4,5} [ 1,6,7] { 4,6,7} [0,1,2] Step 1: node E reserves 1 TS for link EF: TS 0 Step 2: node D reserves 1 TS for link DE: TS 6 Step 3: node C reserves 1 TS for link CD: TS 4 Step 4: node B reserves 1 TS for link BC: TS 2 Step 5: node A reserves 1 TS for link AB: TS 1

  32. Reliability improvement • Multiple maximally disjoint paths • Erasure coding (Nn, m) for error recovery • m slots per frame required, K=m/n • N>K paths set up, each with n slots reserved • Tolerate at most N-K paths breakdown

  33. Sequential multipath setup • Step 1: source S sends a flooding request to destination D: only those links with sufficient bandwidth will forward the request • Step 2: Node D chooses one path for reservation • Step 3: Node S then initiates the second flooding to node D • Step 4: Node D reserves bandwidth for the second path • Step 5: go to step 3, until all N paths have been established

  34. An example for multipath setup H I {0,1} {6,7} {2,3} G F E {7,8} {2,6} {0,1} D {4,5} {1} {4,5} A {0,1} {1,2,3} B C Demand: set up two paths from A D, 2 timeslots each path

  35. An example for multipath setup H I {0,1} {6,7} {2,3} G F E {7,8} {2,6} {0,1} D {4,5} {1} {4,5} A {0,1} {1,2,3} B C Demand: Two paths from A-D, 2 timeslots each path Step 1: Node A initiates flooding to node D

  36. An example for multipath setup H I {0,1} {6,7} {2,3} G F E {7,8} {6} {0,1} D {4,5} {} {4,5} {4,5} {} A {0,1} {0,1} {} {1,2,3} {2,3} {} B C Demand: Two paths from A-D, 2 timeslots each path Step 1: Node A initiates flooding to node D Step 2: node D chooses path ABCD for reservation (red: reserved; blue: after reservation)

  37. An example for multipath setup H I {0,1} {6,7} {2,3} G F E {7,8} {6} {0,1} D {4,5} {} {4,5} {} A {0,1} {} {2,3} {} B C Demand: Two paths from A-D, 2 timeslots each path Step 1: Node A initiates flooding to node D Step 2: node D chooses path ABCD for reservation Step 3: node A sends the second flooding

  38. An example for multipath setup H I {0,1} {6,7} {2,3} G F E {7,8} {} {0,1} D {4,5} {} {4,5} {} A {0,1} {} {2,3} {} B C Demand: Two paths from A-D, 2 timeslots each path Step 1: Node A initiates flooding to node D Step 2: node D chooses path ABCD for reservation Step 3: node A sends the second flooding Step 4: node D chooses path AEHID for reservation

  39. Performance Evaluation • Network simulator ns2 • Simulation area: 720 m2 per node • Frame: 82ms, 50 timeslots • Call arrival: Poisson, 1 call per second • Call holding time: exponential, 20 seconds • Each call: 4 timeslots per frame required • Erasure coding: (6,4) • Multipath: 3 paths • Simulation time: 2500 seconds

  40. Performance evaluation (cont’d) • Moving pattern: • Random movement • Initial position: randomly chosen • Random pause time • For each node: random destination, constant speed randomly chosen from [0, Max_speed] • Random pause at destination

  41. Numerical results Total number of connections supported versus max speed Network size: 20

  42. Numerical results (cont’d) average # of interruptions per connection versus max speed Network size: 20

  43. Numerical results (cont’d) Probability of termination versus max speed Network size: 20

  44. Numerical results (cont’d) Total number of connections supported versus network size Max speed: 20 m/s

  45. Numerical results (cont’d) Average # of interruptions per connection versus network size Max speed: 20 m/s

  46. Numerical results (cont’d) Probability of termination versus network size Max speed: 20 m/s

  47. Conclusions • Reliable QoS routing in ad hoc networks proposed • Receiver initiated bandwidth reservation • Sequential maltipath setup • Bandwidth reservation: minimize the impact to further reservation • Not maximum bandwidth calculation • Sequential multipath setup • Avoid collision • Longer path setup

  48. Thank You

More Related