Title: Reliable QoS Routing in Ad Hoc Networks
1Reliable QoS Routing in Ad Hoc Networks
- K.S. Chan
- EEE Department
- The University of Hong Kong
2Outlines
- Introduction
- Bandwidth reservation
- Bandwidth measurement on link
- Reservation algorithm
- Multipath construction
- Performance evaluation
- Conclusions
3Introduction
- 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
4Introduction (contd)
- IETF drafts
- DSR Dynamic Source Routing
H
I
G
F
E
D
ABCD
A
C
B
A
AB
ABC
5Introduction (contd)
- IETF drafts
- DSR Dynamic Source Routing
- AODV Ad hoc On-demand Distance Vector
H
I
G
F
E
D
A C
A
C
B
A A
A B
6Introduction (contd)
- IETF drafts
- DSR Dynamic Source Routing
- AODV Ad hoc On-demand Distance Vector
H
I
G
F
E
D
A C
A
C
B
D B
A A D C
A B D D
7Introduction (contd)
- 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
C
B
8Introduction (contd)
- 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
C
B
D 3
D 2
D 1
9Introduction
- 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
10Introduction
- 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
11Multipath routing
- Multipath routing
- Multiple best-effort maximally disjoint paths
H
I
G
F
E
D
ABCD ABFGD AEFGD AEFID
A
C
B
A
AB
ABC
12Introduction
- 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
13Introduction (contd)
- 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
14Introduction (contd)
- QoS routing
- CEDAR Core-Extraction Distributed Ad hoc Routing
D
C
B
A
15Introduction (contd)
- 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
16Introduction (contd)
- 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
17Introduction (contd)
- 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
18Introduction (contd)
- Our scheme
- Single channel, frame-based ad hoc network
- Efficient bandwidth reservation
- Sequential multi-path set up
19Link 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?
20Link bandwidth measurement (contd)
- 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 Ks 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.
21Link bandwidth measurement (contd)
- We have
- Then the link bandwidth from node i to node j is
TSij TSti ? TSrj
22An example for the measurement
0,1 2,3
2,3 4,5
F
S0.. 7
D
E
A
B
C
4,5 6,7
6,7 0,1
TSrBS-TB-RB-TA-TE-TC0,1 TStBS-TB-RB-RA-RE-RC
2,3 TSrCS-TC-RC-TB-TD2,3 TSBC TStB ? TSrC
2,3
23Bandwidth 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
24Bandwidth 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 END case 1 Â case 2 node i is the
node m-1
If S1gtk 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 kk-S1 reserve k
timeslots for link m-1?m-2 from set
TSm-1,m-2 - S1 END case 2
25Bandwidth reservation algorithm (contd)
case 3 other case let Pi be the set
containing node is neighboring nodes on path nm
to ni1 if
S1gtk reserve k timeslots
in S1 else
reserve all timeslots in S1, and let kk-S1
if S2gtk
reserve k timeslots in S2
else
reserve timeslots in S2 kk-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 i1 algorithm end.
26An example for the algorithm
Demand reserve one timeslot on path A-B-C-D-E-F
0,1 2,3
TStA0,1,2,3,4,5 TSrA0,1,2,3,6,7 TStB2,3 T
SrB0,1 TStC4,5 TSrC2,3 TStD6,7 TSrD4
,5 TStE0,1 TSrE6,7 TStF0,1,2,3,6,7 TSrF
0,1,4,5,6,7
F
2,3 4,5
S0..7
(0,1)
D
(6,7)
E
(4,5)
A
B
(0,1)
C
(2,3)
4,5 6,7
6,7 0,1
27An example (contd)
0,1 2,3
F
2,3 4,5
TSEF0,1 TSDE6,7 TSrB0,1 TSrD4,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.
28An example (contd)
0,1 2,3
F
0,2,3 4,5
TStB2,3 TSrB 0,1?1 TStE 0,1
?1 TSrE6,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.
29An example (contd)
0,1 2,3
F
0,2,3 4,5
TSDE6,7 TSrC2,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 choose 6
30An example (contd)
0,1,6 2,3
F
0,2,3 4,5,6
0
TStD 6,7 ?7 TSrE6,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
31An example (contd)
0,1,6 2,3,4
TStA0,2,3,4,5 TSrA0,2,3,6,7 TStB3 TSrB0
TStC5 TSrC3 TStD7 TSrD5 TStE0 TSr
E7 TStF1,2,3,6,7 TSrF1,4,5,6,7
F
0,2,3 4,5,6
0
D
E
A
B
C
2,4,5 1,6,7
4,6,7 0,1,2
1
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
32Reliability improvement
- Multiple maximally disjoint paths
- Erasure coding (Nn, m) for error recovery
- m slots per frame required, Km/n
- NgtK paths set up, each with n slots reserved
- Tolerate at most N-K paths breakdown
33Sequential 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
34An example for multipath setup
H
I
0,1
6,7
2,3
G
F
7,8
E
2,6
0,1
D
4,5
1
4,5
A
0,1
1,2,3
C
B
Demand set up two paths from A? D, 2 timeslots
each path
35An example for multipath setup
H
I
0,1
6,7
2,3
G
F
7,8
E
2,6
0,1
D
4,5
1
4,5
A
0,1
1,2,3
C
B
Demand Two paths from A-D, 2 timeslots each
path Step 1 Node A initiates flooding to node D
36An example for multipath setup
H
I
0,1
6,7
2,3
G
F
7,8
E
6
0,1
D
4,5
4,5 4,5
A
0,1 0,1
1,2,3 2,3
C
B
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)
37An example for multipath setup
H
I
0,1
6,7
2,3
G
F
7,8
E
6
0,1
D
4,5
4,5
A
0,1
2,3
C
B
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
38An example for multipath setup
H
I
0,1
6,7
2,3
G
F
7,8
E
0,1
D
4,5
4,5
A
0,1
2,3
C
B
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
39Performance 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
40Performance evaluation (contd)
- 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
41Numerical results
Total number of connections supported versus max
speed Network size 20
42Numerical results (contd)
average of interruptions per connection versus
max speed Network size 20
43Numerical results (contd)
Probability of termination versus max
speed Network size 20
44Numerical results (contd)
Total number of connections supported versus
network size Max speed 20 m/s
45Numerical results (contd)
Average of interruptions per connection versus
network size Max speed 20 m/s
46Numerical results (contd)
Probability of termination versus network
size Max speed 20 m/s
47Conclusions
- 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
48Thank You