
Advanced Wireless Networks - 4G Technologies
.pdf

CASHING SCHEMES FOR ROUTING |
519 |
(c)It prepares RN = [(AV[j + i], |i|)] for − j ≤ i ≤ M + 1.
(d)If B j =S, then it forwards the reply message to the node AV [j − 1].
Figure 13.43(b) shows the state at node B2 after the reception of the reply message with AV [S,B1,B2,B3,B4,D] that caused the execution of the following actions:
(1)B2 becomes a member of an interzone path [it stores the triple (ID,B1,B3) in IZP].
(2)B2 adds the entries (S,B1,2), (B4,B3, 2), (D,B3, 3) in EZT.
(3)B2 prepares the list of reachable nodes, RN = [(S,2),(B1,1),(B3,1),(B4, 2),(D,3)].
(4)B2 forwards the reply to B1.
Interzone path deletion
An interzone path is broken at node B j when B j−1 (or B j+1) is no longer in B j ’s routing zone. In this case, the path is divided in two subpaths and the source node is notified with an error message. An active node B j executes the following actions (in the following notation ‘–’ means any):
(1)Deletes the entry (–,B j−1,–) or (–,B j+1,–) from EZT.
(2)Checks for the companion node B j+1 or B j−1 in the IZP table.
(3)If the companion node is found, then it prepares the following list of unreachable nodes: N = [B0,B1, . . . ,B j−1] (UN = [B j+1,B j+2,. . . ,BM+1]); and sends a Delete Path message, containing UN and the path identifier ID, to the companion node.
(4)Deletes the entry (ID,B j−1,B j+1) from IZP after the successful transmission of the message.
When an active path is broken, the source node either receives the Delete Path message from B1 [if the link is broken between (B j ,B j+1), with j > 0], or is able to detect the break autonomously via IARP. The source node thus triggers a new route discovery if required to send other packets, while the two subpaths (B0,B1,. . . ,B j−1 and B j+1,B j+2, . . . ,BM+1) remain active. Figure 13.44(c) shows the case when the ‘link’ between B2 and B3 is broken (i.e. their distance becomes higher than k). Two interzone subpaths, (S,B1,B2) and (B3,B4,D), are generated. In the figure, B2’s EZT data structure is also shown.
When an active node receives a Delete Path message from one of its companion nodes X, it deletes the entries stored in the UN list from EZT and forwards the message to the other companion node. If the receiving node has some another route to a node stored in UN, then it does not include such a node when forwarding UN.
Cache management
In order to allow all the nodes of B j ’s routing zone to use the acquired information, B j broadcasts RN inside its zone. Such a message is referred to as the inject message. On receiving an inject message carrying the reachable node list RN from a node X = B j , a node Y creates a set of entries (RN[i].d,X,RN[i].#z) into its own EZT, 0 ≤ i ≤ |RN|, where RN[i].d is the first component (destination node) of the ith pair of RN, RN[i],#z, the second component (i.e. the length), and |RN| is the number of elements of RN. Figure 13.44(a)

520 |
AD HOC NETWORKS |
|
|
|
|
|
|
|
|
|
Y’s EZT |
|
|
D |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
B2 |
2 |
|
Y’s EZT |
|
|
|
D |
|
|
|
|
|
|
|
|
B1 |
B2 |
1 |
|
S |
B2 |
2 |
|
|
|
|
||||||
|
|
B3 |
B2 |
1 |
B4 |
B1 |
B2 |
1 |
|
|
B4 |
B2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
B2 |
3 |
|
|
|
|
B4
RN=[(S,2),(B1,1), |
|
|
B3 |
|
(B3,1),(B4,2),(D,3)] |
|
|
||
|
B3 |
|
|
|
Inject |
|
|
|
|
|
B2 |
Y |
B2 |
Y |
B2’s routing |
|
|
Delete |
|
|
Y’s routing |
|
|
|
zone |
B1 |
B1 |
|
|
|
|
|||
|
zone |
|
||
|
|
UN=[(B3,B4,D)] |
|
|
|
|
|
|
|
|
S |
|
S |
|
|
(a) |
|
(b) |
|
Figure 13.45 An example of (a) injection and (b) deletion of external nodes.
shows node B2 injecting the external routes to nodes S,B1,B3,B4,D into its zone. Note that Y now has two routes to node B1 since such a node is in Y’ routing zone.
Deleting external routes
When a node B j either detects a path breakage or receives a Delete Path message, it broadcasts a Delete message into its zone containing the list of unreachable nodes UN. When an internal node receives a Delete message it deletes all the matching entries from EZT. Figure 13.45(b) shows the delete mechanism on node Y .
13.7 DISTRIBUTED QoS ROUTING
In this section a distributed QoS routing scheme for ad hoc networks is discussed. Two routing problems are presented, delay constrained least cost routing (DCLC) and bandwidth constrained least cost routing (BCLC). As before, the path that satisfies the delay (or bandwidth) constraint is called a feasible path. The algorithms can tolerate the imprecision of the available state information. Good routing performance in terms of success ratio, message overhead and average path cost is achieved even when the degree of information imprecision is high. Note that the problem of information imprecision exists only for QoS routing; all best-effort routing algorithms, such as DSR and ABR, do not consider this problem because they do not need the QoS state in the first place. Multipath parallel routing is used to increase the probability of finding a feasible path. In contrast to the flooding-based path discovery algorithms, these algorithms search only a small number of paths, which
DISTRIBUTED QoS ROUTING |
521 |
limits the routing overhead. In order to maximize the chance of finding a feasible path, the state information at the intermediate nodes is collectively utilized to make intelligent hop- by-hop path selection. The logic behind this is very much equivalent to using the Viterbi instead of ML (maximum likelihood) algorithm in trellis-based demodulation processes.
The algorithms consider not only the QoS requirements, but also the optimality of the routing path. Low-cost paths are given preference in order to improve the overall network performance. In order to reduce the level of QoS disruption, fault-tolerance techniques are brought in for the maintenance of the established paths. Different levels of redundancy provide tradeoff between the reliability and the overhead. The dynamic path repairing algorithm repairs the path at the breaking point shifts the traffic to a neighbor node, and reconfigures the path around the breaking point without rerouting the connection along a completely new path. Rerouting is needed in two cases. One case is when the primary path and all secondary paths are broken. The other case is when the cost of the path grows large and hence it becomes beneficial to route the traffic to another path with a lower cost.
13.7.1 Wireless links reliability
One element of the cost function will be reliability of the wireless links. The links between the stationary or slowly moving nodes are likely to exist continuously. Such links are called stationary links. The links between the fast moving nodes are likely to exist only for a short period of time. Such links are called transient links. A routing path should use stationary links whenever possible in order to reduce the probability of a path breaking when the network topology changes. A stationary neighbor is connected to a node with a stationary link. As in Chapter 7, delay of path P between two nodes equals the sum of the link delays on the path between the two nodes and will be denoted as delay(P). Similarly bandwidth(P) equals the minimum link bandwidth on the path P, and cost(P) equals the sum of the link costs.
13.7.2 Routing
Given a source node s, a destination node t, and a delay requirement D, the problem of delay-constrained routing is to find a feasible path P from s to t such that delay(P) ≤ D. When there are multiple feasible paths, we want to select the one with the least cost. Another problem is bandwidth-constrained routing, i.e. finding a path P such that bandwidth(P) ≥ B, where B is the bandwidth requirement. When there are multiple such paths, the one with the least cost is selected. Finding a feasible path is actually the first part of the problem. The second part is to maintain the path when the network topology changes.
13.7.3 Routing information
The following end-to-end state information is required to be maintained at every node i for every possible destination t. The information is updated periodically by a distance-vector protocol discussed in Section 13.1:
(1)Delay variation – Di (t) keeps the estimated maximum change of Di (t) before the next update. That is, based on the recent state history, the actual minimum end-to-end delay from i to t is expected to be between Di (t) − Di (t) and Di (t) + Di (t) in the next update period.
522AD HOC NETWORKS
(2)Bandwidth variation – Bi (t) keeps the estimated maximum change of Bi (t) before the next update. The actual maximum bandwidth from i to t is expected to be between Bi (t) − Bi (t) and Bi (t) + Bi (t) in the next period.
(3)The cost metric Ci (t) is used for optimization, in contrast to the delay and bandwidth metrics used in QoS constraints.
Consider an arbitrary update of Di (t) and Di (t). Let Di (t) and Di (t) be the values ofDi (t) before and after the update, respectively. Similarly, let Di (t) and Di (t) be the values of Di (t) before and after the update, respectively. Di (t) is provided by a distance-vector protocol. Di (t) is calculated as follows:
Di (t) = αDi (t) + (1 − α) Di (t) − Di (t) |
(13.15) |
The factor α(<1) determines how fast the history information Di (t) is forgotten, and 1 − α determines how fast Di (t) converges to |Di (t) − Di (t)|. By the previous formula, it is still possible for the actual delay to be out of the range [Di (t) − Di (t), Di (t) + Di (t)].
One way to make such probability sufficiently small is to enlarge Di (t). Hence, we shall modify the formula and introduce another factor β(>1):
Di (t) = αDi (t) + (1 − α)β Di (t) − Di (t) |
(13.16) |
Di (t)converges to β Di (t) − Di (t) at a speed determined by 1 − α.
13.7.4 Token-based routing
There are numerous paths from s to t. We shall not randomly pick several paths to search. Instead, we want to make an intelligent hop-by-hop path selection to guide the search along the best candidate paths. This is what, for example, the Viterbi algorithm would be doing in trying to avoid search through all possible trajectories of a trellis (ML approach) in a signal demodulation/decoding process.
The basic idea of token-based probing is outlined below. A token is the permission to search one path. The source node issues a number of tokens based on the available state information. One guideline is that more tokens are issued for the connections with tighter requirements. Probes (routing messages) are sent from the source toward the destination to search for a low-cost path that satisfies the QoS requirement. Each probe is required to carry at least one token. At an intermediate node, a probe with more than one token is allowed to be split into multiple ones, each searching a different downstream subpath. The maximum number of probes at any time is bounded by the total number of tokens. Since each probe searches a path, the maximum number of paths searched is also bounded by the number of tokens. See Figure 13.46 for an example. Upon receipt of a probe, an intermediate node decides, based on its state: (1) whether the received probe should be split; and (2) to which neighbor nodes the probe(s) should be forwarded. The goal is to collectively utilize the state information at the intermediate nodes to guide the limited tickets (the probes carrying them) along the best paths to the destination, so that the probability of finding a low-cost feasible path is maximized.

DISTRIBUTED QoS ROUTING |
523 |
t |
P3 (1) |
k
P1 (1)
i |
P4 (1) |
P3 (1) |
|
|
j |
P1 |
(1) |
(2) |
|
P2 |
s |
Figure 13.46 Generation of probes p (number of tokens).
13.7.5 Delay-constrained routing
When a connection request arrives at the source node, a certain number N0 of tokens are generated, and probes are sent toward the destination t. Each probe carries one or more tokens. Since no new tokens are allowed to be created by the intermediate nodes, the total number of tokens is always N0, and the number of probes is at most N0 at any time. When a node receives a probe p with N ( p) tokens, it makes at most N ( p) copies of p, distributes the received tickets among the new probes, and then forwards them along to selected outgoing links toward t. Each probe accumulates the delay of the path it has traversed so far. A probe can proceed only when the accumulated delay does not violate the delay requirement. Hence, any probe arriving at the destination detects a feasible path, which is the one it has traversed.
There are two basic guidelines for how to determine N0 and how to distribute the tokens in a received probe among the new probes:
(1)Different numbers of tokens are assigned to different connections based on their ‘needs’. For a connection whose delay requirement is large and can be easily satisfied, one token is issued to search a single path; for a connection whose delay requirement is smaller, more tokens are issued to increase the chance of finding a feasible path; for a connection whose delay requirement is too small to be satisfied, no tokens are issued, and the connection is immediately rejected.
(2)When a node i forwards the received tokens to its neighbors, the tokens are distributed unevenly among the neighbors, depending on their chances of leading to reliable low-cost feasible paths. A neighbor having a smaller end-to-end delay to the destination should receive more tickets than a neighbor having a larger delay; a neighbor



DISTRIBUTED QoS ROUTING |
527 |
If Rip (t) = {0}, we take the transient neighbours into consideration and redefine Rip (t) to be
Rip (t) = j bandwidth(i, j) ≥ B B j (t) + B j (t) ≥ B, j Vi − {k}
If we still have Rip(t) = {0} all received tokens are invalidated and discarded. IfRip (t) ={0}, then for every j Rip (t), i makes a copy of p, denoted as p j . Let p j have L( p j ) constraint tokens and O( p j ) optimization tokens. L( p j ) is determined based on the observation that a probe sent toward the direction with a larger residual bandwidth should have more L tokens. These parameters are now calculated as
L( p j ) = |
min bandwidth(i, j), B j (t) |
× L( p) |
min bandwidth(i, j ), B j (t) |
j Rip (t)
O( p j ) = |
cos t(i, j) + C j (t) −1 |
|
cos t(i, j ) + C j (t) −1 × O( p) |
(13.18) |
jRip (t)
13.7.10Performance example
Three performance metrics: (1) success ratio = number of connections accepted/total number of connection requests; (2) avg msg overhead = total number of messages sent/total number of connection requests; and (3) avg path cost = total cost of all established paths/number of established paths, are analysed by simulation in Cher and Nahrstedt [85].
Sending a probe over a link is counted as one message. Hence, for a probe that has traversed a path of l hops, l messages are counted. The network topology used in simulation is randomly generated. Forty nodes are placed randomly within a 15 × 15 m area. The transmission range of a node is bounded by a circle with a radius of 3 m. A link is added between two nodes that are in the transmission range of each other. The average degree of a node is 3.4.
The source node, the destination node, and parameter D of each connection request are randomly generated. D is uniformly distributed in the range of [30, 160 ms]. The cost of each link is uniformly distributed in [0, 200]. Each link ( j, k) is associated with two delay values: delay-old denoted as delay(j,k) and delay-new denoted as delay’(j,k); delay(j,k) is the last delay value advertised by the link to the network. Parameter delay’(j,k) is the actual delay of the link at the time of routing. Parameter delay (j,k) is uniformly distributed in [0, 50 ms], while delay (j,k) is uniformly distributed in [(1 − ξ )delay( j, k), (1 + ξ )delay( j, k)], where ξ is a simulation parameter, called the imprecision rate, defined as
ξ = sup delay ( j, k) − delay( j, k) /delay( j, k)
Three algorithms are simulated: the flooding algorithm, the token-based probing algorithm (TBP) and the shortest-path algorithm (SP). The flooding algorithm is equivalent to TBP with infinite number of constraint tokens and zero optimization tokens. It floods routing messages from the source to the destination. Each routing message accumulates the delay of the path it has traversed, and the message proceeds only if the accumulated delay does not exceed the delay bound. The system parameters of the TBP algorithm are= 4, θ = 1.5 , = 3. The values are obtained by extensive simulation runs. The SP algorithm maintains a state vector at each node I by a distance-vector protocol.