Title: QoS routing for mobile ad hoc networks
1QoS routing for mobile ad hoc networks
- Chenxi Zhu and M. Scott Corson
- IEEE INFOCOM 2002
2Abstract
- A Quality-of-Service (QoS) routing protocol is
developed for mobile ad hoc networks. - It can establish QoS routes with reserved
bandwidth on a per flow basis in a network
employing TDMA. - An efficient algorithm for calculating the
end-to-end bandwidth on a path is developed and
used together with route discovery mechanism of
AODV to setup QoS routes. - In the simulations, the QoS routing protocol
produced higher throughput and lower delay than
its best-effort counterpart.
3I. INTRODUCTION
- Most routing protocols for mobile ad hoc
networks, such as AODV 1, DSR 2, and TORA
3, are designed without explicitly considering
quality-of-service of the routes they generate. - QoS routing in ad hoc networks has been studied
only recently 4, 5, 6, 7, 8, 9, 10,
11, 12, 13. - QoS routing requires not only to find a route
from a source to a destination, but a route that
satisfies the end-to-end QoS requirement, often
given in terms of bandwidth or delay.
4- Quality of service is more difficult to guarantee
in ad hoc networks than in most other type of
networks, because the wireless bandwidth is
shared among adjacent nodes and the network
topology changes as the nodes move. - The ability to provide QoS is heavily dependent
on how well the resources are managed at the MAC
layer. - Some use generic QoS measures and are not tuned
to a particular MAC layer - Some use CDMA to eliminate the interference
between different transmissions. - So far no work (to our knowledge) has been done
on QoS routing in a flat-architectured,
TDMA-based ad hoc network.
5II. THE NETWORK MODEL
- An ad hoc network is modeled as a graph G (N,
L), where N is a finite set of nodes and L is a
set of bi-directional links. - A node ni has a set of neighbors NBi nj ? N
(ni, nj ? L - All the nodes are synchronized.
- The bandwidth is partitioned into a set of time
slots S s1, s2, , sM which consists of a
frame.
6- The transmission schedule of node ni is defined
as the set of slots TSi in which it transmits,
and the set of nodes Rki which is the
transmission target set (receivers) in slot sk,
sk ? TSi, Rki ? NBi. - The set RSi sk ? S ni ? Rki, nj ? NBi is
the set of slots where node ni is required to
receive from its neighbors. - Let TNk ni ? N sk ? TSi be the set of nodes
transmitting in slot sk.
7- A transmission from node ni to node nj is labeled
as (ni ? nj) , or (ni ? nj)k in slot k. - The schedule of the entire network TS is the
collection TSi ni ? N. - The transmission slots can be assigned by some
TDMA slot assignment protocol running at the MAC
layer.
8- Assume the following conflict-free property
always holds - If a node ni transmits in slot sk, (ni ? TNk),
for every node nj ? Rki, NBj nTNk ni and nj ?
TNk. - When node ni transmits to nj in slot sk, nj
itself does not transmit (a node cannot transmit
and receive at the same time) and ni is the only
transmitting neighbor of nj in the slot (a node
cannot receive from more than one transmitters at
the same time).
9- The set of slots when node ni can transmit
without causing interference to its current
receiving neighbors. - SRTi sk ? S sk ? TSi, sk ? RSi, sk ? ?nj ?
NBi RSj ?not Tx ?not Rx ?all NBs not Rx - The set of slots when node ni can receive without
suffering interference from its current
transmitting neighbors. - SRRi sk ? S sk ? TSi, sk ? RSi, sk ? ?nj ?
NBi TSj ? not Tx ? not Rx ? all NBs not Tx - The sets SRTi and SRRi are not necessarily the
same.
10- 2 slots S s1, s2
- The current transmission schedule (n1 ? n2)1
- SRR ?SRT for n3 and n4
11s1 s2
Node n1 T
NBs n2 R
NBs n3
NT NR NBNR NBNT
s1 ? ? ? ?
s2 ? ? ? ?
? SRT1 s2 SRT1 s2 SRR1 s2 SRR1 s2
12s1 s2
Node n2 R
NBs n1 T
NBs n4
NT NR NBNR NBNT
s1 ? ? ? ?
s2 ? ? ? ?
? SRT2 s2 SRT2 s2 SRR2 s2 SRR2 s2
13s1 s2
Node n3
NBs n1 T
NBs n4
NT NR NBNR NBNT
s1 ? ? ? ?
s2 ? ? ? ?
? SRT1 s1,s2 SRT1 s1,s2 SRR1 s2 SRR1 s2
14s1 s2
Node n4
NBs n2 R
NBs n3
NT NR NBNR NBNT
s1 ? ? ? ?
s2 ? ? ? ?
? SRT1 s2 SRT1 s2 SRR1 s1,s2 SRR1 s1,s2
15- The traffic is session-oriented
- Each unidirectional session is called a flow.
- A bi-directional flow is treated as two
independent uni-directional flows. - A request to setup a QoS route for a session is
given in term of ltSource_Addr, Dest_Addr,
Flow_ID, Bandwidthgt. - Assume that a session requires constant bandwidth
and tells the routing protocol how many slots it
needs. - When a QoS route is established for a flow, new
slots must be reserved on the route. - The reservations must be must be conflict-free.
16- ?SRTi and SRRi dictate what slots are in use and
what slots are available? Represent the
transmission schedule as TS SRTi, SRRi, ni ?
N - ? Find an optimal path with the maximum available
end-to-end bandwidth is NP-complete ? To
develop an heuristic scheme for calculating
suboptimal bandwidth
17III. THE PATH BANDWIDTH CALULATION PROBLEM
- BWC
- In a network G (N, L), given the current,
conflict-free schedule TS, for a given path P. - Let P nm ? nm-1 ? ... ? n1 ? n0, (ni, ni-1) ?
L, i m, m - 1, ..., 1, nm is the source and
n0 is the destination - Find the (new) sets TSPi, ni ? P n n0-, where
TSi n TSPi ? - The sets TSi TSi ? TSPi still satisfy the
conflict-free property, and the end-to-end
bandwidth on P BW(P) mini TSPi , ni ? P n
n0- is maximized.
18- Proposition
- Given the current transmission schedule TS is
conflict-free, transmission schedule TSi TSi
? TSPi is conflict-free iff TSPi ? LBi SRTi
n SRRi-1, and TSPi n TSPj ?, j i 1, i 2,
ni, nj ? P n n0-.
? ni? ni-1 ?
? ni2 ? ni1 ? ni? ni-1 ? ni-2 ?
19- Ex1 n3 ? n4 ? n2
- LB3 SRT3 n SRR4 s1, s2
- LB4 SRT4 n SRR2 s2
20- Ex2 n4 ? n3 ? n1
- LB4 SRT4 n SRR3 s2
- LB3 SRT3 n SRR1 s2
21- Theorem
- The problem BWC is NP-complete.
- Proof 15
- Thus, this paper seeks local maximum which ends
up to sub-optimality.
22- Thus, this paper seeks local maximum which ends
up to sub-optimality. - To calculate a set of non-conflicting slots on
three adjacent links which locally maximizes the
bandwidth from the source, and to propagate this
calculation along the path to the destination. - The attraction of this algorithm is its simple,
iterative nature, which only requires message
exchange between adjacent neighbors. - It relies on three functions BW1, BW2 and BW3,
which are given in Appendix A. - Forward algorithm (FA)
- For a path P nm, nm-1, ..., n0, it iterates
over the hops from the source nm to the
destination n0.
23- Define PBki as the set of slots used on link (ni
? ni-1) to support path FPk nm ? nm-1 ?...? ni
? ni-1? ...? nk - Note that FPk is the partial path of P starting
from the source and extends to node nk, and FP0
P. - (1) If m 1,
- PB01 LB1
- (2) If m 2,
- (PB02, PB01) BW2(LB2, LB1)
- (3) If m ? 3,
- (PBm-2m, PBm-2m-1) BW2(LBm, LBm-1)
n1? n0
n2 ? n1 ? n0
nm ? nm-1 ? nm-2 ? ... ? n0
24- for k m - 3 to 0 do (PBkk3, PBkk2,
PBkk1) BW3(PBk1k3, PBk1k2, LBk1)end - The available bandwidth on path FPk is given
by BW(FPk) PBkk1. - The end-to-end bandwidth of path P FP0
is BW(P) BW(FP0) PB01.
nm ? nm-1 ? nm-2 ? ... ? n0
25?
?
?
26- Compare FA with Upper Bound (UB) for the
end-to-end bandwidth on path P with simulation. - APPENDIX B
- M 10 hops
- S 40 slots
- Bernoulli random variable with probability pa
- The average number of available slots on a link
is ELB pa S - 100 different trials
- FA and UB are not far from each other? FA is a
reasonably efficient algorithm.
27IV. THE QOS ROUTING PROTOCOL
- QoS Routing
- Routing protocol
- AODV (Ad hoc On-Demand Distance Vector) 1
- Pure on-demand (dynamically routing table)
- Flooding route discovery
- QoS calculation
- FA bandwidth calculation in the route discovery
phase - As a RREQ is forwarded hop by hop and leaves
behind a path FP, the available bandwidth for FP
is calculated. - If a node finds that FP cannot meet the required
bandwidth, it drops the RREQ. - If a RREQ reaches the destination via a path P, a
route satisfying the bandwidth requirement has
been found. - The destination generates a route reply (RREP).
28- As node nk1 transmits the RREQ packet, it
appends the following information to the RREQ
packet lt PBk1k3, PBk1k2, SRTk1gt. - nk calculates LBk1 SRTk1 n SRRk, (PBkk3,
PBkk2, PBkk1) BW3(PBk1k3, PBk1k2,
LBk1). - If this calculation is done by nk1, nk1 needs
to calculate the bandwidth for each of its
neighbors. - nk forwards the RREQ with lt PBkk2, PBkk1, SRTkgt
to its neighbors only if BW(FPk) PBkk1?R
(the required bandwidth).
? nk3 ? nk2 ? nk1 ? nk ? ... ? n0
29- After the destination node n0 calculates and
verifies BW(FP0) PB01?R, the destination node
n0 responds by sending a RREP packet (with TSP1
BW(PB01, R)) along the path P in the reverse
direction. - It records the neighbor from which it receives
the RREQ as its upstream neighbor on P (so does
every other node on P) and sends the RREP to this
node. - This ensures the RREP and the RREQ packets travel
on the same path in opposite directions. - The transmission slots TSPk1 BW1(PBkk1 n
TSPk- n TSPk-1-, R), nk ? P n n0 will be
determined and reserved by node nk as the RREP is
forwarded towards the source nm.
30- The states of a QoS route at a node can be on of
the followings - NONE
- No entry for any RREP
- REQ
- RREQ has been processed, but no slots are
reserved - RESV
- Some slots has been reserved
- BRK_U
- Break at upstream
- BRK_D
- Break at downstream
31- The transitions of state are defined as
- NONE ? REQ
- REQ ? NONE
- REQ ? RESV
- RESV ? RESV
- RESV ? BRK_U
- BRK_U ? RESV
- BRK_U ? NONE
- RESV ? BRK_D
- BRK_D ? REQ
- BRK_D ? NONE
- RESV ? NONE
32- An example of route setup and route repair
- n4 ? n0
- n4 sends RREQ? n3, n2, n1, n5, n6 REQ
- n0 sends RREP? n1, n2, n3 RESV? n5, n6 NONE
- n1 moves closer to n6 ? n2 sends RERR? n2, n3,
n4 BRK_D? n0, n1 BRK_U - n4 sends RREQ? n3, n2, n5, n6, n1 REQ
- n1 sends RT_HLD (Route Hold)and RREP? n1, n0,
n6, n5 RESV - n1 sends DATA
33V. SIMULATION RESULTS
- ns2
- AODV (MONARCH project) routing
- QoS routing is added
- A best-effort route is also built.It is used
when the QoS route is not available. - Evolutionary-TDMA (E-TDMA) 15 is used in the
MAC layer.
34- Simulation parameters
- Transmission rate 1 Mbps
- 40 slots/frame
- 32 bytes of information/slots
- Route_setup_time 1000 ms
- Route_life_time 200 ms
- 25 nodes in an area of 1000 m by 1000 m
- Transmission range 250 m
- Movement
- Randomly placed
- Remained for a pause time (exponential
distribution with a mean of 10 seconds) - Choose a random point as its destination and
starts to move - The speed follows an uniform distribution between
0 and the maximal speed v. (v 0, 5, 10 m/s) - Simulation duration 300 seconds
35- The source and the destination are chosen
randomly. - User traffic is generated with CBR source,
during 30 seconds, 20 packets per seconds. - Packet size 84 bytes (data size 64 bytes)
- The starting time of a session is randomly chosen
between 0 to 270 seconds.
36- Constraint
- It does not cause network partitions, so there is
always a route from a source to a destination. - If a partition occurs, the node causing the
partition randomly picks another destination and
starts to move toward it. - No packet is dropped because the destination is
unreachable. - All dropped packets are due to network congestion
or temporary route failure.
37- To measure
- The number of packets received by the destination
and the average packet delay. - The number of sessions that are serviced and
average packet delay for these serviced sessions. - A session is called serviced if at least 90
packets are received by the destination.
38(No Transcript)
39(No Transcript)
40?
?
?
?
?
?
41?
?
?
?
?
?
v 0, 5, 10 m/s
42(No Transcript)
43VI. DISCUSSIONS OF THE QOS AND BE RPTOCOLS
44VII. CONCLUSION
- In the simulations, the QoS routing protocol
produced higher throughput and lower delay than
its best-effort counterpart. - It works the best in small networks (or over
short routes) under low network mobility.
45APPENDIX
- A. Functions BW1, BW2 and BW3 used in FA
- function (OUT) BW1(IN,n) assert (n ?
IN) choose n elements from IN randomly as
OUT return.
46- function (OUT2,OUT1) BW2(IN2, IN1)C IN1 n
IN2E1 IN1 n IN2E2 IN2 n IN1 if E2 ?
IN1 OUT2 BW1(E2, IN1) OUT1
IN1 returnelse if E1 ? IN2 OUT1
BW1(E1, IN2) OUT2 IN2 returnelse T
floor(IN1 ? IN2/2) C2 BW1(C, T -
E2) C1 C n C2- OUT1 BW1(C1 ? E1,
T) OUT2 BW1(C2 ? E2, T) return.
47- function (OUT3,OUT2,OUT1) BW3(IN3, IN2,
IN1)assert(IN3 IN2 IN2 n IN3 ?)C21
IN2 n IN1C31 IN3 n IN1E1 IN1 n C21- n
C31-E2 IN2 n C21-E3 IN3 n C31- if E1
? IN2 OUT1 BW1(E1, IN2) OUT2
IN2 OUT3 IN3 returnelse if E3 ?
BW2(IN2, IN1) (OUT2,OUT1) BW2(IN2,
IN1) OUT3 BW1(E3, OUT1) return
- else if E2 ? BW2(IN3, IN1) (OUT3,OUT1)
BW2(IN3, IN1) OUT2 BW1(E2, OUT1) returnel
se - T floor(IN3 ? IN2 ? IN1/3)C331 BW1(C31, T
- E3)C131 C31 n C331-C221 BW1(C21, T -
E2)C121 C21 n C221-OUT1
BW1(E1?C121?C131, T)OUT2 E2 ? C221OUT3 E3
? C331return.
48- B. An upper bound of the end-to-end bandwidth
- UB(P) mink BW(PP3k), k 0, 1, ...,m - 3,where
the bandwidth BW(PP3k) from nk3 to nk is
calculated with integer linear programming - BW(PP3k) maxBs.t.C112 C212 ? C12,C113
C313 ? C13,C223 C323 ? C23,C1123 C2123
C3123 ? C123,B - C112 - C113 - C1123 ? E1,B -
C212 - C223 - C2123 ? E2,B - C313 . C323 . C3123
? E3,C123 LBk1 n LBk2 n LBk3,C12
LBk1 n LBk2 n LBk3,C13 LBk1 n LBk2 n
LBk3,C23 LBk1 n LBk2 n LBk3,E1
LBk1 n LBk2 n LBk3,E2 LBk1 n LBk2 n
LBk3,E3 LBk1 n LBk2 n LBk3. - The variables B, C, and E are non-negative
integers.