Title: Distributed QOS Routing in Ad Hoc Networks
1Distributed QOS Routing inAd Hoc Networks
- Shigang Chen
- Klara Nahrstedt
2Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
3Introduction - 1
- QOS Routing
- Wireless environment
- Imprecise state information.
- Data Traffic Best effort Vs QOS
- gt It is difficult to provide QOS in Dynamic
Environment.
4Introduction - 2
- The proposed Algorithm
- Distributed QOS Routing scheme for Ad Hoc Nets
- Delay Constrained
- BW Constrained
- Properties
- Imprecise state information.
- Multipath parallel routing.
- Consideration of general cost
- Fault tolerance techniques for paths maintenance.
5Introduction - 3
- Network DynamicsThe algorithm works well if the
average life time is much longer than average
rerouting time. (Order of magnitude longer.)
6Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
7System Models
- Ad Hoc Network Model
- Stationary and transient Links
- QOS State Matrix
- The Routing Problem
- Imprecise State Model
8System Models Ad Hoc Network Model - 1
- V nodes interconnected by E full duplex
communication links. - V and E are changing over time.
- Each node has at least one transmitter and one
receiver. - Effective transmission distance for all
transmitters is equal. - Two nodes have link between them and are
neighbors if they are in transmission range of
each other.
9System Models Ad Hoc Network Model - 2
- Every node i knows the set of its neighbors Vi
- We assume there is a MAC protocol
- resolves media connection
- Supports resource reservation
- Keeps only messages intended for hime.g. J.
tsai, M. Gerla Multicluster, mobile, multimedia
radio network ACM-Baltzer J. Wireless Networks
vol1, no3.
10System ModelsStationary and transient Links
- Transient links
- links between nodes that move fast.
- Exists only for a short time.
- Stationary links
- links between nodes that move slowly.
- Assuming continuous connection
- preferable
- Vis j (i,j) is a stationary link, j ? Vi
- All nodes in Vis are stationary.
- All nodes in Vi - Vis are transient.
- Imprecise classification.
11System ModelsQOS State Matrix - 1
- A node i has a precise information about its
neighbors - delay (i,j).
- bandwidth (i,j).
- cost (i,j).(transient link cost much more)
12System ModelsQOS State Matrix - 2
- Path P i -gt j -gt -gt k -gt l.
- Delay (P) delay(i,j)delay(k,l).
- Bandwidth(P) minbandwidth(i,j),,bandwidth(
k,l). - Cost (P) cost(i,j) cost(k,l).
13System ModelsThe routing Problem - 1
- Delay Constrained Routing Problem
- S Source node.
- t - Destination node.
- D Delay requirement.
- Find a feasible path P from S to t such that
delay(P) D.When there are multiple such paths,
select the one with least cost.
14System ModelsThe routing Problem - 2
- Bandwidth Constrained Routing Problem
- S Source node.
- t - Destination node.
- B Bandwidth requirement.
- Find a feasible path P from S to t such that
bandwidth(P) B.When there are multiple such
paths, select the one with least cost.
15System Models Imprecise State Model - 1
- Every node i keeps state information for every
destination t - Di(t) The delay of the least delay path from i
to t. - Bi(t) The bandwidth of the largest bandwidth
path from i to t. - Ci(t) The cost of the least cost path from i to
t. - ?Di(t) Delay variation. (see explanation in
next slide) - ?Bi(t) - Bandwidth variation. (see explanation
in next slide) - Di(t), Bi(t) , Ci(t) are inherently imprecise.
16System ModelsImprecise State Model - 2
- ?Di(t) Delay variation is the estimated maximum
change of Di(t) before the next update.(The
actual end to end delay is expected to be between
Di(t) - ?Di(t) and Di(t) ?Di(t) ) - ?Bi(t) - Bandwidth variation is the estimated
maximum change of Bi(t) before the next
update.(The actual end to end bandwidth is
expected to be between Bi(t) - ?Bi(t) and Bi(t)
?Bi(t) )
17System ModelsImprecise State Model - 2
- The algorithm doesnt apply the imprecision model
for Ci(t) in sake of simplicity. - Example of computing ?Di(t)
- At each state update (MAC) keep
- Diold(t) , Dinew(t), ?Diold(t) , ?Dinew(t)
- Let d be a factor to determine how fast to forget
the history. (0lt dlt1) - ?Dinew(t) d ?Diold(t) (1- d) Dinew(t)-
Diold(t).
18System ModelsImprecise State Model - 3
- The imprecision model does not intended to cover
every possible situation, but only to improve
the average performance.
19Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
20Algorithm Overview
- Ticket-based probing A multipath distributed
routing scheme - Limited number of search paths No flooding.
- Intelligent hop by hop path selection.
- Probes (routing messages) are sent to search for
a low cost path that satisfies the QOS
requirements.
21Algorithm Overview
- The goalTo collectively utilize the state
information at the intermediate nodes to guide
the routing messages (probes) along the best
paths to the destination, so that the probability
of finding feasible (satisfies QOS req.)
low-cost path is maximized.
22Algorithm Overview
- A source node issues a number of tickets based on
the available state information. - Each routing message (probe) contains at least
one ticket. - A probe can be split by intermediate node if it
contains more then one ticket. - The total number of probes (and search paths) is
bounded by the number of tickets issued by the
source node. - An Intermediate node decides whether an incoming
probe should be split and to which of its
neighbors to forward the probe.
23Algorithm Overview
24Algorithm Overview
- Properties
- Routing overhead dynamically controlled.
- Imprecise information- When the state information
is highly imprecise we will use more tickets. - Distributed routing.
- Local and E2E information at intermediate nodes
is used Can correct some of the wrong decision
made by the source.
25Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
26Delay Constrained Routing
- Introduction
- Determining the Number Of Tickets
- Forwarding The Received Tickets
- Termination and path selection
- Data Structure
- Rerouting
- Soft States
- Local Multicast
27Delay Constrained RoutingIntroduction - 1
- Heuristic algorithm
- Parameters
- S source node.
- t destination node.
- N0 Number of tickets initially issued by the
source. - N(p) Number of tickets in a probe p.
- Each probe accumulates the delay of the path it
traversed so far. - If the accumulated delay gt D (QOS constrain) ,
the probe will be terminated.
28Delay Constrained RoutingIntroduction - 2
- Two problems
- How the source determine N0 ?
- How an intermediate node distributes the arrived
tickets among the outgoing probes. - Guidelines (Problem 1)
- For connections with large delay requirements one
ticket will be issued. - For connections with very small delay required
No ticket will be issued. - For the rest of connections smaller delay
required -gt more tickets issued.
29Delay Constrained RoutingIntroduction - 3
- Guidelines (Problem 2)
- Node i received N(p) tickets.
- Tickets will be distributed unevenly depends on
their chances of leading to reliable low-cost
feasible path - A neighbor having lower E2E cost to t should
receive more tickets than neighbor with larger
E2E cost to t. - A neighbor having lower E2E delay to t should
receive more tickets than neighbor with large E2E
delay to t. - A neighbor having stationary link to i should be
given more tickets then a neighbor with transient
link to i.
30Delay Constrained RoutingDetermining the Number
Of Tickets - 1
- The N0 tickets are colored with yellow and green
- Y0 yellow tickets probes prefer paths with
smaller delay. - G0 green tickets probes prefers paths with
smaller cost. - Overall strategyUse Green tickets more
aggressively to maximize the chance of finding
feasible low-cost path.Use the yellow tickets as
a backup to guarantee a high success probability
to find a feasible path. - N0 Y0 G0.
31Delay Constrained RoutingDetermining the Number
Of Tickets - 2
- Number of yellow Tickets
- Based on D The delay requirement.
- Large Delay Only one yellow ticket is issued.
- Too small Delay No yellow ticket is issued and
the connection is rejected. - Otherwise several tickets are issued based on the
previous guideline. - Number of green Tickets
- Based on D The delay requirement.
- Large Delay Only one green ticket is issued.
- Too small Delay No green ticket is issued and
the connection is rejected. - Otherwise several tickets are issued based on the
previous guideline. - Parameters
- F The maximum number of yellow tickets.
- T Threshold coefficient.
- O The maximum number of green tickets.
32Delay Constrained Routing Determining the Number
Of Tickets - 2
- Determining the number of yellow tickets
33Delay Constrained Routing Determining the Number
Of Tickets - 3
- Determining the number of green tickets
34Delay Constrained Routing Forwarding the
received Tickets - 1
- Reminder
- Path of probe P i -gt j -gt -gt k -gt l.
- delay (P) delay(i,j)delay(k,l).
- Probes proceed only if delay(P) D.
- Every node i keeps data about all its neighbors
j - Dj(t) The estimated delay between node j and
node t. - ?Dj(t) The delay variation.These parameters
can be enquired via distance vector alg.
35Delay Constrained Routing Forwarding the
received Tickets - 2
- Suppose Node i received probe P from node k with
Y(P) yellow tickets, G(P) green tickets. - Rip Neighbors of nodes i which are candidate
for forwarding the probe.Rip j delay(P)
delay(i,j) Dj(t) - ?Dj(t) D ,j?Vis - k
.Vis j (i,j) is a stationary link, j ? Vi - If Rip 0 then Rip will be recalculated for all
neighbors of i, not just the stationaryRip
j delay(P) delay(i,j) Dj(t) - ?Dj(t) D
,j?Vi - k .
36Delay Constrained Routing Forwarding the
received Tickets - 3
- Distributing Y(P) , G(P) over Rip
- For every candidate j, node i make a copy of P
denotes as Pj . - ?j?Rip G(Pj) G(P).
- ?j?Rip Y(Pj) Y(P).
- A probe sent into a path with less expected delay
should get more yellow ticketsY(Pj) Y(P) /
delay(i,j) Dj(t) ?j?Rip
delay(i,j)Dj(t)-1 - A probe sent into a path with less expected cost
should get more green ticketsG(Pj) G(P) /
cost(i,j) Cj(t) ?j?Rip
cost(i,j)Cj(t)-1 - If G(Pj) Y(Pj) lt 0 then Pj is sent to node j.
37Delay Constrained RoutingForwarding the received
Tickets - 4
- In order to prevent loops
- Only one probe may be sent on each outgoing link
for each connection request. - The number of hops a probe may traverse can be
bounded. - Probes record their path. If loop occurs the
probe is discarded.
38Delay Constrained RoutingTermination and path
selection
- Every node Upon which Rip 0 Invalidates the
tickets and sends them to the destination t. - The routing process terminates when all tickets
have arrived to t or time out elapsed. - If several valid paths were found, the
destination t selects the least cost path as the
primary and the rest will be secondary paths that
can be used if the primary is broken. - A confirmation message is sent to the source and
initiates resource reservation on the reverse
path. - If the resource reservation fails or the reverse
message fails the destination will be notified
and it will select a new path from the secondary
paths.
39Delay Constrained RoutingData structure of a
probe
- id system wide unique identifier for the
connection request. - s source node.
- t destination node.
- D - delay requirement.
- Y0 G0 Total number of tickets.
- k sender of P.
- Path the path P which the probe has traversed
so far. - Y(P) Number of yellow tickets carried by P.
- G(P) Number of green tickets carried by P.
- delay(P) accumulated delay of the path so far.
- cost(P) accumulated cost of the path so far.
40Delay Constrained RoutingRerouting
- Rerouting
- Nodes join, move and exit the network.
- The load on links change along time
- Rerouting can be done periodically and/or
triggered when a broken path is detected.
41Delay Constrained RoutingSoft States
- Routing and rerouting can be done in conjunction
with RSVP based on soft states. - Soft state
- Resource reservation must be refreshed
periodically - If a soft state is not refreshed with in a
timeout it is deleted. - A refreshing message is sent from the destination
to the source back along the reversed routing
path periodically. - When an intermediate node receives the refreshing
messages it resets its time out counter.
42Delay Constrained RoutingLocal Multicast
- The broadcast transmission mechanism of Ad Hoc
nets can be used to transmit a single local
multicast message containing the tickets of all
neighbors.
43Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
44Bandwidth Constrained Routing
- Bandwidth Constrained routing share the same
principles as Delay Constrained routing. - Modifications are made to the Data structures,
ticket creation curves and ticket distribution
formulas. - Bandwidth delay routing will not be discussed
here.
45Agenda
- Introduction
- System Models
- Algorithm Overview
- Delay Constrained Routing
- Bandwidth Constrained Routing
- Dynamic Path Maintenance
- Simulations and results
46Dynamic Path Maintenance
- Reminder The algorithm works well if the average
lifetime is much longer than average rerouting
time. (Order of magnitude longer.) - In the following section we will discuss
- Detection of a broken path.
- Rerouting.
- Path redundancy.
47Dynamic Path MaintenanceDetection of a broken
path.
- s source
- t destination.
- i intermediate node.
- Suci any successive node to node I on path P
- Every node I uses a neighbor discovery protocol
- If node i discovers that neighbor Suci no longer
exists, all connections using link (Suci ,i) are
declared broken.
48Dynamic Path MaintenanceRerouting
- When node i discovered that link (Suci ,i) is
broken, it searches the source s for all
connections using this link and sends a
path-breaking message. - The source of each connection initiates a new
ticket based probing protocol and sends a release
message to the resources. - During rerouting data packets are sent on a best
effort traffic.
49Dynamic Path MaintenancePath redundancy - 1
- The ticket-based routing can find multiple
feasible paths. - Successive runs of the algorithm with some
modifications can generate disjoined paths (if it
is feasible). - First Level Redundancy
- Establish several paths, prefer disjoined paths.
- Every data message will be transmitted to all
available paths. - When the number of paths will be less then some
minimum, a new ticket based algorithm will be
activated to find more paths.
50Dynamic Path MaintenancePath redundancy - 2
- Second Level redundancy.
- Find several paths.
- Reserve resources for all the paths.
- Data packets will be transmitted only by the
primary path. - When the primary path is detected broken, a
secondary path will be activated. - When the number of paths will be less then some
minimum, a new ticket based algorithm will be
activated to find more paths.
51Dynamic Path MaintenancePath redundancy - 3
- Third Level redundancy.
- Find several paths.
- Dont Reserve resources for the secondary paths.
- Data packets will be transmitted only by the
primary path. - When the primary path is detected broken, a
message will be sent on the secondary path to
check if resources still available.
52Dynamic Path MaintenancePath repairing
- Every node i keeps its successors successor
(Suci2 ). - When a path (Suci ,i) detected broken, node i
will broadcast a repair_message(Suci2, i). - All nodes in the broadcast range will transmit
back to i their available resources. - Node i will select the best new path according to
the guidelines denoted at slide 29 and transmit a
reroute message to the source s. - The source s will check if the E2E delay is
violated.
53Simulations and results
- Success Ration Number of connections accepted /
total number of connection requests. - Av. Msg. overhead total number of messages
sent/ total number of connection requests. - Av. Path cost total cost of all established
paths / number of established paths. - Mobility ratio total moving time / (total
moving time total station time) - Qos tatio total Qos time / (total Qos time
total best effort time).
54Simulations and results -1
55Simulations and results -2
56Simulations and results -3
57Simulations and results - 4
58Simulations and results - 5
59Simulations and results - 6
60Simulations and results - 7
61Simulations and results - 8
62Simulations and results 9
63Simulations and results - 10
64Simulations and results - 11
65Simulations and results - 12
66Simulations and results - 13
67Simulations and results - 14
68Simulations and results - 15
69Simulations and results - 16
70Simulations and results - 17
71Simulations and results - 18