Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Advanced Wireless Networks - 4G Technologies

.pdf
Скачиваний:
60
Добавлен:
17.08.2013
Размер:
21.94 Mб
Скачать

518 AD HOC NETWORKS

accumulation vector AV[ ], initialized with AV[0] = S. Let M be the number of active nodes (not including S and D).

(1)When a border node X =D receives a query message, if the message is received for the first time and the redundant query filter rules are satisfied:

(a)It adds its own identification into the accumulation vector. As an example, if the node X corresponds to node B j in the interzone path, then AV [ j] = X.

(b)If D belongs to X’s routing zone, then the latter unicasts the query message to D. Otherwise, it executes a bordercast.

(2)When the destination node D receives a query message with identifier ID for the first time:

(a)It stores the tuples (AV[i], AV[M], M + 1 i, for 0 i M 1 in EZT.

(b)It prepares the list RN = (AV[i], M + 1 i)], for 0 i M.

(c)It sets AV[M + 1] = D.

(d)It sends a reply message to AV[M]. The message contains the AV vector accu-

mulated in the query message.

An example of path creation is given in Figure 13.44(a).

(3)When a border node B j receives a reply message:

(a)If B j =S, then it stores the triple (ID,AV[ j 1], AV [ j + 1]) in the IZP table, thus becoming an active node.

(b)It stores the following tuples in EZT: (AV [i], AV[j 1], j i), for 0 i j 2; (AV [i], AV[j +1], j i), for j +2 i M + 1.

AV=[S]

AV=[S,B1]

AV=[S,B1,B2]

 

 

Query

 

 

 

 

 

 

S

B1

 

B2

B3

B4

D

 

 

 

 

(a)

 

 

 

AV=[S,...,D]

AV=[S,...,D] AV=[S,...,D] AV=[S,B1,B2,B3,B4,D]

 

 

 

 

 

Reply

 

S

B1

 

B2

B3

B4

D

 

 

IZP=(ID,B1,B3)

 

 

 

 

 

RN=[(S,2),(B1,1),(B3,1),(B4,2),(D,3)]

 

 

 

EZT

S

B1

2

active node

 

 

 

B4

B3

2

 

 

 

 

D

B3

3

 

 

 

 

 

 

(b)

 

 

UN=[B3,B4,D] UN=[B3,B4,D]

UN=[B3,B4,D]

UN=[B3,B4,D]

 

 

 

 

DeletePath

 

 

S

B1

 

B2

B3

B4

D

 

EZT

S

B1

2

 

 

(c)

Figure 13.44 An example of interzone path creation and deletion.

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 j1 (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 j1,–) or (–,B j+1,–) from EZT.

(2)Checks for the companion node B j+1 or B j1 in the IZP table.

(3)If the companion node is found, then it prepares the following list of unreachable nodes: N = [B0,B1, . . . ,B j1] (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 j1,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 j1 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

524 AD HOC NETWORKS

having a smaller end-to-end cost to the destination should receive more tokens than a neighbor having a larger cost; a neighbor having a stationary link to should be given preference over a neighbor having a transient link to i. Note that some neighbors may not receive any tokens because i may have only a few or just one token to forward.

13.7.6 Tokens

The two types of tokens, constraint (limitation) tokens (CT) and optimization tokens (OT) have different purposes. CT tokens prefer paths with smaller delays, so that the chance of satisfying a given delay (constraints) requirement is higher. OT tokens prefer the paths with smaller costs. The overall strategy is to use the more aggressive OT tokens to find a low-cost feasible path with relatively low success probability and to use the CT tokens as a backup to guarantee a high success probability of finding a feasible path. The number of CT tokens L, and OT tokens O is determined based on the delay requirement D. If D is very large and can definitely be satisfied, a single CT token will be sufficient to find a feasible path. If D is too small to be possibly satisfied, no CT token is necessary, and the connection is rejected. Otherwise, more than one CT token is issued to search multiple paths for a feasible one. Based on the previous guideline, a linear token curve shown in Figure 13.47(a) was chosen in Chen and Nahrstedt [85] for simplicity and efficient computation.

Parameter is a system parameter specifying the maximum allowable number of CT. It shows that more CT are assigned for smaller D. Number of optimization tokens O is also determined based on the delay requirement D as shown in Figure 13.47(b).

(a)

L(D)

 

{[Ds (t)+ Ds (t)

 

f

 

 

 

 

 

 

 

L(D)=

 

 

 

 

 

-D]/[2×Δ Ds (t)]}×Φ

1

 

 

 

 

 

D

 

 

 

 

 

0

Ds(t)- Ds(t) Ds(t) Ds(t)+ Ds(t)

 

(b)

O(D)

Ω

 

[D-Ds (t)+ Ds (t)]

 

 

 

×Ω =O(D)

 

 

Ds (t)

 

1

0 Ds(t)- Ds(t) Ds(t) Ds(t)+

O(D)=

 

 

({θ ×[Ds(t)+ Ds (t)]

 

 

Ds

 

-D}/{θ ×[Ds(t)+

(t)]-Ds (t)})×Ω

D

Ds(t) θ [Ds(t)+ Ds(t)]

Figure 13.47 Token curves.

DISTRIBUTED QoS ROUTING

525

13.7.7 Forwarding the received tokens

13.7.7.1 Candidate neighbors

If L + O = 0 , the connection request is rejected. Otherwise, probes carrying the tokens are sent from s to t. A probe proceeds only when the path has a delay of no more than D. Hence, once a probe reaches t, it detects a delay-constrained path. Each probe accumulates the delay of the path it has traversed so far. A data field, denoted as delay(p), is defined in a probe p. Initially, delay(p) 0; whenever p proceeds for another link (i,j), delay(p)delay(p) + delay(i,j). Suppose a node i receives a probe p with L( p) constraint tokens and O( p) optimization tokens. Suppose k is the sender of the probe p. The set Rip (t) of candidate neighbors, to which i will forward the received tokens, is determined as follows. We first consider only the stationary neighbors (Vis) of i. Let

Rip(t) = j delay( p) + delay(i, j) + D j (t) D j (t) D, j Vis − {k}

Rip (t)is the set of neighbors to which the tickets should be forwarded. If Rip(t) = {0}, we take the transient neighbors into consideration and redefine Rip (t) to be

Rip(t) = j delay( p) + delay(i, j) + D j (t) D j (t) D, j Vi − {k}

If we still have Rip(t) = {0}, all received tokens are invalidated and discarded. If Rip (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. These parameters are calculated as

L( p j ) =

delay(i, j) + D j (t) 1

delay(i, j ) + D j (t) 1

j Rip (t)

O( p j ) =

cos t(i, j) + C j (t) 1

cos t(i, j ) + C j (t) 1

j Rip (t)

× L( p)

× O( p)

(13.17)

These numbers will be rounded to the closest integer.

The data structure carried by a probe p is shown in Table 13.3. The last six fields, k, path, L(p), O(p), delay(p) and cost(p), are modified as the probe traverses. Tokens are logical entities, and only the number of tokens is important: there can be at most L( p) + O( p) new probes descending from p, among which probes with constraint tokens choose paths based on delay, probes with optimization tokens choose paths based on cost, and probes with both types of tokens choose paths based on both delay and cost.

13.7.8 Bandwidth-constrained routing

The algorithm shares the same computational structure with the delay-constrained routing algorithm. The differences are the metric-dependent token curves and token distribution formulas. The token curves are given in Figure 13.48.

526 AD HOC NETWORKS

Table 13.3

id

System-wide unique identification for the connection request

sSource node

tDestination node

D

Delay requirement

L + O

Total number of tokens

k

Sender of p

path

Path p has traversed so far

L( p)

Number of constrained tokens carried by p

O( p)

Number of optimization tokens carried by p

delay(p)

Accumulated delay of the path traversed so far

cost(p)

Accumulated cost of the path traversed so far

 

 

f

 

 

 

 

{[B-Bs(t) + Bs (t)]

 

 

 

 

L(D)=

 

× Bs (t)]}× Φ

 

 

 

 

 

 

 

/[2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bs(t)- Bs(t) Bs(t) Bs(t)+ Bs(t)

Ω

 

O(D)=

 

 

 

 

 

O(D)=

 

 

 

 

 

 

 

 

 

 

 

 

Bs (t)+

 

 

 

{B-θ×[Bs(t)+ Bs(t)]}

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

Bs

 

 

 

 

 

 

 

/{Bs(t)-θ×[Bs(t)-

(t)]}×Ω

 

 

 

B

Bs(t)-B

 

s(t)

× Ω

 

1

B

 

θ Bs (t)- Bs(t) Bs(t)- Bs(t) Bs(t) Bs(t)+ Bs(t)

Figure 13.48 Token curves as functions of B.

13.7.9 Forwarding the received tickets

Suppose a node i receives a probe p with L( p) constraint tokens and O( p) optimization tokens. Suppose k is the sender of the probe p. The set Rip(t) of candidate neighbours, to which i will forward the received tokens, is determined as follows. Define

Rip(t) = j bandwidth(i, j) B B j (t) + B j (t) B, j Vis − {k}

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.