• No results found

ROUTING: A BASIC FRAMEWORK

ROUTING: A BASIC FRAMEWORK

Out of different attributes classified into two categories, we will use one metric each from additive and nonadditive (concave) metric properties for our discussion here. Specifically, we will use delay for the additive property and bandwidth requirement for the nonadditive property. We assume the reader is familiar with shortest path routing and widest path routing. You may note that the discussion in this section is applicable only to classification Q.2.

The applicability of a particular routing algorithm for a packet-switched network depends on whether the network is running a distance vector protocol or a link state protocol. While the basic idea of shortest path or widest path routing would work under both these protocol concepts, we will assume that a link state proto-col framework is used since most well-known intra-domain routing protocol

frameworks are link state based.

5.3.1

5.3.1 Single Attribute Single Attribute

We first consider that requests have a single additive metric requirement in terms of delay attribute. A simple way to adapt the shortest-path routing algorithm paradigm here is by using delay as the link cost metric. Suppose a request arrives with the delay requirement no greater than t

¯

.

For an arriving request requiring a guaranteed delay requirement of t

¯

, do the following: Compute the shortest delay using the shortest path first algorithm; if the result is less than t

¯

, then admit the request; otherwise, deny the request. Note that the request arrives for a particular destination. Thus, unlike the stan- dard shortest path first (SPF) algorithm, here the shortest path computation must be computed only for the specific destination of a request. Consider the shortest path first algorithm discussed in Chapter 2 of Network Routing by Deep Medhi and Karthik Ramasamy. Once a new node k is identified with the minimum cost path, it

5.3

128

128 CHAPTER 5CHAPTER 5 Quality of Service Routing

can be checked whether this k is the destination of the request; if so, the algorithm can stop. At this point, this delay cost is then compared against the arriving request’s delay requirement; if met, the request is accepted, otherwise it is denied.

What if the single metric is in terms of the bandwidth requirement of a request? This scenario is similar to the delay-based one. Suppose that an arriving request has a bandwidth requirement of b

¯

. Then, we can use the following rule:

For an arriving request with a guaranteed bandwidth requirement of

¯

b, do the following: Compute the widest path using for the specific destination; if this value is higher than

¯

b, then admit the request; otherwise, deny the request.

In many instances, it is desirable to obtain the widest path with the least number of hops for the path. Although this is sometimes referred to as the shortest-widest path, it is not a good name since shortest does not indicate the context in which this is meant. Thus, we will refer to it as the least-hop-widest path. How do we find the widest path with the least number of hops? Consider again the widest path first algorithm. In this algorithm, k in S l with the maximum residual bandwidth is deter- mined. Instead of storing just one k, the list of nodes where the maximum residual bandwidth is attained is determined. If this list happens to have more than one element, then k is chosen so that it is the least number of hops from source node i . In essence, this means that if there are multiple paths with maximum residual bandwidth, choose the one with the least number of hops; if there are still such multiple paths, one is randomly selected. In the same manner, a least-hop-minimum delaypath can be determined when a delay metric is used.

5.3.2

5.3.2 Multiple Attributes Multiple Attributes

In this case, consider an arriving request specifying that both the delay and the bandwidth requirement must be satisfied. This can be addressed from the point of view of which factor is to be considered the dominant one: delay or bandwidth. This, however, depends on which is found: a bandwidth feasible path while the delay is minimized, or a delay feasible path while maximizing available bandwidth. Again, we can adapt the widest path and shortest path routing framework. To determine the minimum delay path that satisfies the bandwidth requirement of a request, we can initialize any link that does not meet the bandwidth requirement temporarily as a link with infinite delay; this method of considering a nonadditive metric requirement with an additive shortest path computation is generally known as constrained shortest path routing . Instead, if we were to determine a maximum residual bandwidth—the widest path while meeting the delay requirement—we can initialize any link that does not meet the delay requirement by temporarily setting the residual link bandwidth to zero; this form can be classified as con- strained widest path routing . Note that for a constrained shortest path, the

constraint is on bandwidth, while for a constrained widest path, the constraint is on delay. For source node i and destination node v, we present both routing algorithms in Algorithm 5.1 and Algorithm 5.2 for completeness. The notations are summarized in Table 5.3.

Algorithm 5.1

Algorithm 5.1 QoS minimum delay path with bandwidth feasibility S = = {{i}} // permanent list; start with source node// permanent list; start with source node i S ¢ = = N \ \ {{i}} // tentative list (of the rest of // tentative list (of the rest of the nodes)the nodes) for (

for ( j inin S ¢ ) ) dodo

// // check check ifif i--j directly connected and link has required bandwidthdirectly connected and link has required bandwidthb¯ if if (( t ij <∞ and∞ and bij ≥≥ b¯ ) then) then

T ij == t ij // note the delay cost// note the delay cost

else else

t ij= ∞;= ∞; T ij = = ∞∞ // mark temporarily as // mark temporarily as unavailableunavailable

endif endif endfor endfor while (

while (S ¢ is not empty) do is not empty) do // while tentative list is not empty// while tentative list is not empty T temp = = ∞∞ // // fi fi nd nd minimum-dminimum-delay elay neighborneighbor k

for for (( m inin S ¢ ) ) dodo if

if (( T im < T temp ) then) then

T temp == T im ;; k == m

endif endif endfor endfor

if if (( T ik >¯t ) then) then // if minimum delay is higher than delay// if minimum delay is higher than delay

tolerance tolerance ’No

’No feasible feasible path path exists; exists; request request denied’denied’ exit

exit endif endif

if if (( k ==== v ) then exit) then exit // destination v found, done// destination v found, done S == S∪ { {k}} // add to permanent list// add to permanent list

S ¢ = = S ¢ \{\{k}} // delete from tentative list// delete from tentative list for for (( j inin N k ∩∩ S ¢ ) ) dodo

if

if (( T ij > T ik ++ τ kj andand b¯kj > b) then) then // if delay is less via// if delay is less via k

T ij == T ik ++t kj

Table 5.3

Table 5.3 Notation for QoS Routing

N

Noottaattiioonn RReemmaarrkk

i Source node

v Destination node

N List of all nodes

N k List of neighboring nodes ofk

S List of nodes considered so far

S ¢ List of nodes yet to be considered

t ij Link delay on linki-j (set to∞ if the link does exist, or not to be considered)

T ij Delay from nodei to node j

b ij Residual bandwidth on linki-j (set to 0 if link does exist, or not to be considered)

B ij Bandwidth available from nodei to node j

5.3

130

130 CHAPTER 5CHAPTER 5 Quality of Service Routing

endif endif endfor endfor endwhile endwhile if (

if ( T iv ≤≤ t ¯ ) then) then // fi // fi nal check, nal check, if thif the pate path meeth meets dels delayay

requirement requirement ‘Request ‘Request accepted’accepted’ else

else

‘No ‘No feasible feasible path path exists; exists; Request Request denied’denied’ endif

endif

Algorithm 5.2

Algorithm 5.2 QoS widest path with delay feasibility

S = = {{i}} // permanent list; start with source node// permanent list; start with source node i S ¢ = = N \ \ {{i}} // tentative list (of the rest of the // tentative list (of the rest of the nodes)nodes) for (

for ( j inin S ¢ ) ) dodo

// // ifif i--j directly connected and link has required bandwidthdirectly connected and link has required bandwidthb if if (( bij > b¯ andandt ij < ∞) then∞) then

B ij == bij; T ; ij == t ij

else else

bij = 0;= 0; B ij = 0;= 0; t ij = ∞;= ∞; T ij = = ∞∞ // mark temporarily as// mark temporarily as

unavailable unavailable endif endif endfor endfor while (

while (S ¢ is not empty) do is not empty) do // while tentative list is not empty// while tentative list is not empty B temp = 0= 0 // fi // fi nd nend neighbor ighbor k witk with maxih maximum bmum bandwidthandwidth

for for (( minin S ¢ ) ) dodo if

if (( B im > B temp ) then) then

B temp == B im ;; k == m

endif endif endfor endfor

if if (( B ik < b¯ ) then) then // bandwidth is higher than the request// bandwidth is higher than the request tolerance

tolerance No

No feasible feasible bandwidth bandwidth path path exists; exists; request request denieddenied exit

exit endif endif

if if (( k ==== v ) then exit) then exit // destination v is found; done// destination v is found; done S == S∪ { {k}} // add to permanent list// add to permanent list

S ¢ = = S ¢ \{\{k}} // drop from tentative list// drop from tentative list

for for (( j inin N k∩ S ¢ ) do ) do // path has higher bandwidth// path has higher bandwidth

if

if (( B ij < min{min{B ik, bkj} ) then} ) then

B ij = min{= min{B ik, bkj}} T ij == T ik ++t kj endif endif endfor endfor endwhile endwhile if (

if ( B iv ≥≥ b ) then) then // fi // fi nal cnal check; heck; if paif path meeth meets bats bandwidthndwidth

requirement requirement ‘Request ‘Request accepted’accepted’

else else

‘No ‘No feasible feasible path path exists; exists; Request Request denied’denied’ endif

endif end

5.3.3

5.3.3 Additional Consideration Additional Consideration

We next consider a general question: can we provide QoS routing in a packet environment where buffer guarantee at routers is also required? For this, assume that the packet network is an integrated services environment. For a request requiring bandwidth guarantee on demand, we also need to consider whether the router’s scheduling algorithm can guarantee requests in terms of buffering, in addition to bandwidth guarantee on links. This brings up the issue of scheduling with routing. It has been shown that this combined problem can be addressed with a polynomial time algorithm that factors in capacity and constrained shortest

path.

5.4

5.4 UPDATE FREQUENCY, INFORMATION INACCURACY, UPDATE FREQUENCY, INFORMATION INACCURACY,

Related documents