26
Survey of QoS Routing Pragyansmita Paul and S V Raghavan 1 ([email protected], [email protected]) Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 INDIA Abstract Various real-time services, like webcasting, audio/videoconferencing and telemedicine, are being deployed over the Internet. This requires the network to provide the guarantee of the service being provided to the receiver. The needs of the application is specified in terms of the Quality of Service (QoS) metrics like desired bandwidth, response time, etc. End-to-end QoS can be provided most efficiently when each layer of the protocol stack translates the application provided requirement into layer specific requirement and satisfies the same. Network layer has a critical role to play in the QoS provision process. It provides the desired QoS by considering the QoS metrics in the path selection process. The focus of this paper is on the QoS routing algorithms and protocols for unicast and multicast in the IPv4 based Internet that constrains or optimizes an individual or combination of metrics. The desired features of a router supporting QoS have been discussed in detail. QoS routing leads to an increase in computation (more complex path selection process) and communication (protocol overhead due to increase in state information). However, the increase in cost is counterbalanced by the increase in performance. A study of work related to the cost/performance tradeoff of QoS routing is presented. Being an area of active research, QoS routing has a number of open issues that has been discussed as part of this paper. 1.0 Introduction Various real-time services, like webcasting, audio/videoconferencing and telemedicine, are being deployed over the Internet. This requires the network to provide the guarantee of the quality of the service to the receiver. The quality of the service can be estimated and specified in terms of some parameters (called metrics) that are of prime importance to the application under consideration. These parameters are used to express the applications requirements that must be guaranteed by the underlying network. The metric(s) can be delay, bandwidth, variation in the delay experienced by the receiver (also known as jitter), packet loss that can be tolerated and/or number of hops, etc. The first four parameters are better known as constituting the Quality of Service (QoS) metrics. However, the QoS requirement can be specified in terms of user response time, audio/video quality, etc., which can in turn, be mapped to the QoS metrics. Internet is currently based on the best-effort paradigm, which is highly scalable in nature. However, it cannot provide the hard guarantee that is desired by most of the present-day time-critical bandwidth-intensive applications. Another drawback of the current Internet 1 Author for further correspondence

Survey of QoS Routing

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Survey of QoS Routing

Survey of QoS Routing

Pragyansmita Paul and S V Raghavan1 ([email protected], [email protected]) Department of Computer Science and Engineering

Indian Institute of Technology Madras Chennai 600036 INDIA

Abstract

Various real-time services, like webcasting, audio/videoconferencing and telemedicine, are being deployed over the Internet. This requires the network to provide the guarantee of the service being provided to the receiver. The needs of the application is specified in terms of the Quality of Service (QoS) metrics like desired bandwidth, response time, etc. End-to-end QoS can be provided most efficiently when each layer of the protocol stack translates the application provided requirement into layer specific requirement and satisfies the same. Network layer has a critical role to play in the QoS provision process. It provides the desired QoS by considering the QoS metrics in the path selection process. The focus of this paper is on the QoS routing algorithms and protocols for unicast and multicast in the IPv4 based Internet that constrains or optimizes an individual or combination of metrics. The desired features of a router supporting QoS have been discussed in detail. QoS routing leads to an increase in computation (more complex path selection process) and communication (protocol overhead due to increase in state information). However, the increase in cost is counterbalanced by the increase in performance. A study of work related to the cost/performance tradeoff of QoS routing is presented. Being an area of active research, QoS routing has a number of open issues that has been discussed as part of this paper.

1.0 Introduction

Various real-time services, like webcasting, audio/videoconferencing and telemedicine, are being deployed over the Internet. This requires the network to provide the guarantee of the quality of the service to the receiver. The quality of the service can be estimated and specified in terms of some parameters (called metrics) that are of prime importance to the application under consideration. These parameters are used to express the applications requirements that must be guaranteed by the underlying network. The metric(s) can be delay, bandwidth, variation in the delay experienced by the receiver (also known as jitter), packet loss that can be tolerated and/or number of hops, etc. The first four parameters are better known as constituting the Quality of Service (QoS) metrics. However, the QoS requirement can be specified in terms of user response time, audio/video quality, etc., which can in turn, be mapped to the QoS metrics.

Internet is currently based on the best-effort paradigm, which is highly scalable in nature. However, it cannot provide the hard guarantee that is desired by most of the present-day time-critical bandwidth-intensive applications. Another drawback of the current Internet

1 Author for further correspondence

Page 2: Survey of QoS Routing

system is that there is no penalty for misbehaving applications, in other words, applications that are not flow controlled. This, in turn, means that flow controlled or well-behaved applications do not get their fair share of the bandwidth. Both these drawbacks can be overcome by having the applications to specify the desired QoS and the specified QoS being provided by the underlying layers of the protocol stack. Provision of QoS support at the network layer is by enabling QoS routing of data. QoS routing is when the router considers the various metrics while selecting the best route for the various packets.

QoS provision will lead to an increase in computational and communicational cost. In other words, it requires more time to setup a connection and maintains more state information per connection. The improvement in network utilization counterbalances the increase in state information and the associated complexity and has been a subject of extensive study, as shown in Section 5.0.

Support for QoS needs to be provided at each of the layers of the protocol stack for overall efficiency in network utilization. It can be provided at the application layer as well. Like [62] proposes two scheduling algorithms and an extension to the web server such that requests are differentiated into classes and each class is provided a different quality of service. However each layer needs to transform the QoS metric from the upper layer to a form that it can handle and perform its actions based on the constraint that needs to be satisfied by it. QoS Mapping performs the function of automatic translation between representations of QoS at different system levels. The transformation should ensure that the upper layer metric constraint is satisfied. For example, if the QoS specification by the application is in terms of response time from the server, the network layer can map it to either delay or bandwidth. It will attempt to route the packets by using efficient buffering, scheduling and routing algorithms, so that the response time is as desired by the application.

Support for QoS at the network layer ensures improvement in network utilization and graceful performance degradation. The added advantage is that a legacy application that cannot specify its QoS requirement derives an optimal performance from the network. The application layer can further fine-tune its QoS demands from its knowledge of the QoS being provided by the network layer. Thus, support for QoS at the network layer is an absolute necessity for efficient usage of the network resources by the applications. However, QoS routing cannot support QoS requirements that cannot be meaningfully mapped onto a reasonable number of path metrics.

This paper focuses on the various QoS routing algorithms and protocols, which have been proposed in literature, for unicast and multicast in the IPv4 based Internet. It aims to serve as a comprehensive survey of the routing algorithms and protocols proposed for an individual or a combination of metrics being constrained or optimized.

The paper is organized as follows. Section 2 defines QoS and the essential features of a router supporting QoS routing. It also discuses the other components of a router supporting QoS: appropriate buffering, scheduling and admission control procedures along with QoS translation, negotiation and resource management. Section 3 and 4 discuss QoS routing algorithms and protocols for unicast and multicast respectively. Section 5 provides an overview on the performance of QoS routing algorithms. It is compared to best-effort routing algorithms, along with a discussion on how QoS support can be provided end-to-end. Section 6 concludes the paper with an overview of the open problems and unresolved issues in QoS routing.

Page 3: Survey of QoS Routing

2.0 Design of a QoS Router

A router is a network device that transfers the data from the end-host to a desired location in an optimal manner. It has essentially four components, namely input ports, output ports, switching fabric and a routing processor [20]. The switching fabric connects the input ports to the output ports. Input ports are the entry-points for incoming packets while output ports are the exit-points for the outgoing packets. The routing processor participates in the routing protocol and builds the forwarding table (also known as routing database). The routing processor uses the forwarding table for path selection. The routing processor can additionally handle resource reservation and other administrative activities. An alternative design of routers is such that there are processing elements in the incoming interface that can determine the outgoing interface for the incoming packets [9].

Fig. 1 Best Effor t vs. QoS Routing

When a router supports QoS, it will consider a set of QoS metrics in its routing decisions as shown in Fig. 1. It will attempt to satisfy the constraint or optimization criteria based on these metrics, while selecting the paths. It will need to store extra information related to the QoS metrics. Thus, every edge in the network will have more than one weight associated with it.

QoS Routing Schemes

Existing approaches for providing guaranteed services require routers to manage per flow states and perform per flow operations. This stateful approach (Integrated Services (IntServ)) is less scalable and robust than stateless network architectures (Differentiated Services (DiffServ)). IntServ provides end-to-end guaranteed or controlled load service on a per-flow basis, while DiffServ provides a coarser level of service differentiation among a small number of traffic classes.

IntServ assumes two types of per flow state: forwarding state used by the forwarding engine and QoS state used by the admission control module and the scheduler. IntServ uses a signaling protocol like ReSerVation Protocol (RSVP) to establish resource reservation state in all the routers in the path. DiffServ distinguishes between edge and core routers. While edge routers process packets on the basis of finer traffic granularity, core routers process packets based on a small number of Per Hop Behaviors (PHBs) encoded by bit patterns in the packet header using a priority-like scheduling and buffering mechanism.

[32] proposes the Dynamic Packet Service (DPS); wherein each packet carries state in its header that is initialized by the ingress router and used and updated by the core routers. It

Page 4: Survey of QoS Routing

considers network architecture similar to DiffServ architecture, in which only edge routers perform per flow management, while core routers do not

QoS Constraints

The constraints can be classified into two types: path constraints and tree constraints. Path constraints need to be satisfied from the sender to the receiver. Tree constraints need to be satisfied over the entire multicast distribution tree created by the multicast routing protocol from the sender(s) to the receivers. The computation complexity is primarily determined by the composition rules of the metrics. The three basic composition rules are: additive (such as delay, delay jitter, logarithm of successful transmission, hopcount and cost), multiplicative (like 1-loss probability = probability of successful transmission) and concave/minmax (e.g., bandwidth).

The additive and multiplicative metric of a path is the sum and multiplication of the metric respectively for all the links constituting the path. The concave metric of a path is the maximum or the minimum of the metric over all the links in the path. This metric is usually dealt with a preprocessing step called topology filtering, whereon all the links that do not satisfy the constraint are pruned and not considered further in the path selection process. The metrics considered should be orthogonal to each other so that there is no redundant information among the metrics.

Wang and Crowcroft proved that the problem of finding a path subject to two or more independent additive and/or multiplicative constraints in any possible combination is NP-Complete. The only tractable combinations are the concave constraint and the other additive/multiplicative constraints [8]. The proof of NP-Completeness relies heavily on the correlation of the link weight metrics. It is been proved for the chain topology and assumed that the NP-Complete nature will hold for all topologies. However QoS routing in realistic networks may not be NP-Complete in nature as both chain topology and the correlated link metric vectors are unlikely to occur in realistic networks [65].

[65] suggests that there may exist classes of graphs in which QoS routing is not NP-Complete. A few polynomially solvable cases have been cited in [65]. When all the nodes have degree two it can always be solved in polynomial time irrespective of the link weight structure. So is the case where all the link metric vectors are identical. [65] further suggests that the shortest path properties (the hopcount) in multiple dimensions for the class of random graphs with uniformly distributed link metric components can be transformed into a single dimension routing problem with modified link metric distribution. This is especially applicable when the dimensions are independent of each other. When the number of metrics being considered is infinite (this has only theoretical value), it is sufficient to calculate the minimum hop path, regardless of the link weight distribution of the independent metrics, as is being done presently in the best effort routing.

QoS Routing is NP-Complete when the QoS metrics are independent and are real numbers or unbounded integers. If all metrics except one take bounded integer values, then the problems are solvable in polynomial time by an extended Djikstra’s (or Bellman Ford) algorithm. When both the metrics are additive, [17] suggests that given a weight w(u, v) between nodes u and v, it can be converted to a new weight function w’(u, v) = �(w(u, v)*x)/c�. This reduces the constraint w≤c to w’≤x, where c is a real number or an unbounded integer and x is a bounded integer. It is proved that the solution for the simpler problem is also a solution for the original problem. If L is the length of a path p, and w(p) ≤ 1 – [(L-1) * c ]/x, then p is also a solution for the simpler problem (the heuristic condition).

Page 5: Survey of QoS Routing

When a router has to perform QoS routing, in addition to routing, it has to handle tasks like admission control, resource reservation, resource management, buffering and scheduling of the incoming packets. It also has to ensure that the best effort traffic gets its fair share of the network resources and is not stalled due to QoS-based packets. These tasks can be delegated to another element in the network to reduce the load on the router. For completeness, we will describe these tasks and their related work in brief in this section. The sequence of actions and the correlation between the different tasks has been enunciated in Fig. 2.

QoS Negotiation and Admission Control

As the end-hosts send their request for QoS in data transmission, QoS negotiation takes place. The admission control module decides whether a request should be accepted or rejected. The decision can be based on a number of parameters like residual bandwidth, number of ongoing transmissions, etc. If the admission of the new request leads to performance degradation, the request is rejected. Alternatively, the existing connections can be rerouted while the new connection is routed through the path under consideration. This will involve renegotiation of QoS parameters for existing connections. The rerouting can be handled at source-level or switch level [33]. The end-host can perform admission control by probing for the level of congestion and admitting a flow if the level of congestion is low. The probe packets can be sent at a lower priority than the data packets. But it has been found that there is minor performance degradation when admission control is performed by the end-host instead of the router [49].

Resource Reservation

Once a request has been accepted, the path for data transmission should be selected. The path selection algorithm will consider the various metrics in the selection process. The various algorithms that have been proposed are discussed in detail in Section 3 (Unicast) and Section 4 (Multicast). Resource reservation can be a part of the path set-up process or it can be a separate process by itself. There is a need of resource reservation to reserve the network resources required by the application, so that the constraints required by the application are satisfied.

Packet Buffering and Scheduling

Depending on the network load, as the packets of data arrive at the incoming interface, the router will transfer it to the outgoing interface, buffer it or drop it. Appropriate buffering (or queue management algorithms) and packet scheduling algorithms are needed so that there is minimal packet drop and bandwidth savings due to reduced retransmissions. We take a look at a few of them in the following two paragraphs in brief [18, 31].

A few packet-scheduling algorithms that have been proposed are Fair Queueing (FQ), Stochastic Fair Queueing (SFQ) and Core Stateless Fair Queueing (CSFQ). FQ requires the buffer at each output of a router to be partitioned into separate queues each of which will buffer the packets of one of the flows. This is per-flow scheduling that requires per-flow state information thereby rendering it expensive to deploy. SFQ classifies packets into a smaller number of queues than FQ using a hash function. CSFQ divides the routers into two categories: edge routers and core routers. Edge routers maintain state information and estimate each flows arrival rate and passes the information to the core routers. On congestion, core routers randomly drops packets based on the estimates.

A few of the queue management algorithms are discussed here. Random Early Detection (RED) maintains a FIFO to be shared by all the flows and drops an arriving packet at random

Page 6: Survey of QoS Routing

during periods of congestion. It cannot penalize unresponsive flows, as the percentage of packets dropped from each flow over a period of time is almost the same. Variants of RED such as RED with penalty box and Flow Random Early Detection (FRED) collect state information like unfriendly flows and number of active flows respectively, to penalize unresponsive flows. Stabilized RED (SRED) stabilizes the occupancy of the First In First Out (FIFO) buffer, independently of the number of active flows.

CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) assumes that the contents of the FIFO buffer form a “sufficient statistic” about the incoming traffic. Hence, when a packet arrives at a congested router, CHOKe draws a packet at random from the FIFO buffer and compares it with the arriving packet. If they both belong to same flow, both are dropped else the randomly chosen packet is left intact and the arriving packet is admitted to the buffer with a probability that depends on the level of congestion.

Routing table lookup

To determine the outgoing interface of the incoming packet, the routing processor needs to lookup the forwarding table. The routing table lookup is considered to be one of the major bottlenecks in the packet forwarding process and that has become more critical with the advent of high-speed fiber-optic links and gigabit speed switching technology. An entry in the forwarding table is an arbitrary length prefix with associated next-hop information. The routing table lookups has to find the routing entry with the longest matching prefix. An appropriate data structure that minimizes forwarding table size and table build-up time and also enables faster lookup (i.e., fewer instructions and memory accesses per lookup) is needed for this purpose.

Current IP routers use caching technique to store the most recently used destination address and its associated next hop information. Caching is not a scalable solution in the current scenario where the Internet is growing without bounds. Traditional implementations of routing tables use

Page 7: Survey of QoS Routing

PATRICIA2 tree. A PATRICIA tree is related to a Trie. A Trie uses every element of the key to determine which sub-tree to select. A PATRICIA tree instead decides by storing its position in the node which element of the key will next be used to determine the branching by storing its position in the node. This is useful in determining the longest matching prefix. In spite of improvement provided by a PATRICIA tree, the data structure is large and a number of memory references are required. This is not desirable.

[9] provides one such software solution for faster lookup; it splits the address space into three levels3 – till depth 16, from depth 17 to depth 24 and from depths 25 to 32. One level of the tree leads either to an index of the forwarding table or an index of the next level table. Search at each level takes about one to four memory references. Since most lookups requires one or two levels of search, it leads to a maximum of eight memory references. Thus there is a reduction in the table size as well as access time.

Hardware based solutions such as Content Addressable Memory (CAM) have been proposed, in which the address is looked up in parallel in every memory location. Typically CAMs are small and expensive. If they are large, then they are slower and more expensive than ordinary memory. Solutions using hashing have also been suggested for faster lookup in fewer steps [16].

There have been proposals to totally do away with route lookup due to the complexity and delay incurred in data transfer. The proposals to this effect are IP Switching, tag switching and Multi-Protocol Label Switching (MPLS). IP Switching associates a flow of packets with an ATM Virtual Circuit. Tag switching from Cisco Inc. adds a tag to every packet, where the tag can be used to directly lookup the router’s forwarding table. MPLS, based on tag switching, uses a fixed-length label for packet forwarding. It consists of a layer between network layer and data link layer. A MPLS capable router, called a Label-Switched Router (LSR), uses the fixed length label for routing lookup. Since the network protocol can be IP or any other networking protocol, it is called Multiprotocol.

Resource M anagement

Resource management is required to handle the dynamics of the connections established. For static resource reservation per connection, resource management is required to check the efficient usage of the resource by the established connection. When there is no resource reservation, then it should ensure the fair sharing of the resource among the connections and that the demand of each flow is bounded. When each service recipient gets a minimum QoS, it is assumed to be fair.

Best Effort Flows through QoS Router

In addition to providing the required QoS to flows, best effort applications should be handled fairly in the network. [24] is an effort in this direction. It suggests using Bandwidth-constrained routing with imprecise state information for QoS flows and maxmin fair routing for best effort flows along with a two-level hierarchical scheduling that uses weighted fair queuing for bandwidth allocation. The formula used for estimating the imprecision in state information is similar to round-trip delay estimation formula used in TCP. The bandwidth-constrained QoS routing algorithm gives every link a weight of –log Pr(bandwidth(l)≥ B) where B is the bandwidth requirement. Djikstra’s shortest path algorithm is used to find the least weighted path from source to destination. When many paths exist satisfying the QoS

2 Acronym for “Practical Algorithm To Retrieve Information Coded in Alphanumeric” 3 The address space can be imagined as a binary tree that spans the entire IP address space.

Page 8: Survey of QoS Routing

requirement, the shortest path in terms of hopcount is selected due to better statistical performance. The maxmin fair best effort routing uses maxmin bandwidth allocation (as proposed by Jaffe) that always maximizes the bandwidth allocated to those flows that receive the minimum bandwidth among all flows.

3.0 QoS Unicast Routing Protocols

When data is transmitted from a single sender to a single receiver, it is termed as unicast transmission. QoS unicast routing is when the QoS metrics are considered in the path selection process. This paper categorizes the routing proposals based on the number of metrics – single metric, dual metrics and multiple metrics. Single metric unicast QoS routing have been proposed for bandwidth and delay. Current best effort unicast routing depends on hopcount as a measure of path cost, wherein each link has unit cost. However, it can be considered as cost-constrained unicast routing when each link is assigned weight greater than unity. Dual metric based routing has been proposed for the following combinations: cost-delay, bandwidth-delay, bandwidth-cost and any two additive metrics. Though multiple metrics routing is NP-Complete in nature, a number of heuristics and approximation algorithms have been proposed, as detailed in the subsection on multiple metrics.

3.1 Single M etric

Bandwidth

Like all concave metrics, bandwidth can be handled by topology filtering. All the links with bandwidth less than the desired bandwidth are removed before the path is selected from the source to the destination.

Guerin-Orda Algorithm [29, 37] considers the imprecision in the network while selecting the path. The imprecision model is based on the probability distribution functions. The heuristic tries to find the path with the best multiplicative probability over all the links making the path, that is, a path that has the highest probability to accommodate a new connection with a given bandwidth requirement. The multiplicative problem is transformed into an additive problem by assigning weight wl to the link l as –log pl, where pl=pl(w) is the probability of success in the link having the w units of bandwidth.

Delay

Guerin-Orda algorithm [29, 37] considers the imprecision model, based on probability distribution functions, to determine the delay-constrained path. The goal of the algorithm is to find a path that has highest probability to accommodate a new connection with a required delay requirement; a NP-Hard problem. The heuristic proposes transforming global constraints into local constraints by splitting the end-to-end delay constraint among the intermediate links such that every link in the path has an equal probability of satisfying the delay constraint. Given a probability function f l(dl), [14] defines a cost function cl(dl) = - log f l(dl) so that the cost associated with each link is positive and it decreases as the associated delay increases.

Shin-Chou protocol floods routing messages from source towards destination. Each message accumulates the total delay of the path it has traversed. The message is forwarded to the source when at least one of the two conditions is satisfied: (1) First such message received by the node. (2) Holds a better accumulated delay than the previously received message. Techniques like selective probing were analyzed to overcome the high communication overhead of Shin-Chou algorithm [29].

Page 9: Survey of QoS Routing

3.2 Dual M etrics

Cost and Delay

When both the metrics are additive, [17] suggests that given a weight w(u, v) between nodes u and v, it can be converted to a new weight function w’(u, v) = �(w(u, v)*x)/c�. thereby changing the constraint w≤c to w’≤x, where c is a real number or an unbounded integer and x is a bounded integer. If L is the length of a path p, and w(p) ≤ 1 – [(L-1) * c ]/x, then p is also a solution for the simpler problem (the heuristic condition). The cost-delay constrained QoS routing is reduced to two problems where the link weights are

��Original cost and new-delay(u, v) = �(d(u, v) * x) / ∆d � ��Original delay and new-cost(u, v) = �(c(u, v) * x) / ∆c �

where x = coefficient * distance(source, destination). coefficient is a given positive number, d(u, v) is the delay of the path from u to v, c(u, v) is the cost of the path from u to v, ∆d is the delay constraint and ∆c is the cost constraint. An extended Djikstra’s and extended Bellman Ford algorithm is proposed that is guaranteed to find a solution if any of the paths from the source to the destination satisfies the heuristic condition stated above. A source routing strategy is proposed; source node computes the path.

The Delay Constrained Unicast Routing (DCUR) algorithm proposed by Salama chooses between the least cost and least delay paths independent from the choice of the previous nodes [52, 29]. It maintains a cost and delay vector at every node by a distance-vector protocol. Control message is sent from the source towards the destination to construct a delay-constrained path. Any node at the end of the partially constructed path can select one of the only two alternative outgoing links – least cost or least delay. Loops may occur as control message chooses the least-cost path and the least-delay path alternatively, however it detects a loop if the control message visits the same node twice.

Sun-Landgendorfer improves on Salama algorithm by avoiding loops instead of detecting and removing loops. The message travels along the least-delay path until it reaches a node from which the delay of the least-cost path satisfies the delay constraint. From that node on, the message travels along the least-cost path all the way to the destination [29].

Delay Scaling Algorithm (DSA) [51] preprocesses the network to prune out nodes that are not feasible. It computes paths from the source to all destinations such that the cost of the path from source to each receiver is at most the cost of the cheapest path between the two with delay T and its delay is at most (1+ε)T. A τ-scaling Gτ of graph G is obtained by multiplying the delay on each link in G by τ/T and then truncating the new delay to an integer. DSA is executed on it and if every destination has delay greater than (1+ε)T, then τ is doubled and the procedure is repeated. Delay can be replaced by any other additive metric.

A Lagrange Relaxation based method has been proposed for QoS Routing called Lagrange Relaxation based Aggregated Cost (LARAC) [52]. LARAC is based on the heuristic of minimizing modified cost function cλ = cost + λ.delay, where λ is the weight assigned to delay w.r.t. cost. If λ = 0 and the delay constraint is satisfied, an optimal solution for the original problem has been found. If this is not the case, λ is increased to increase the dominance of delay in the modified cost function. L(λ) = min{ cλ(p): p ∈ P(s, t)} - λ ∆d} is a lower bound to DCLC for any λ ≥ 0. To obtain the best lower bound we need to maximize the function L(λ), that is L* = max L(λ) for λ ≥ 0. The constraining conditions is neglected and built into the object function (the relaxation). Since solutions feasible to the original problem suit the relaxation conditions as well, a lower bound of the original problem is found. Increasing the dominance enforces the solution to approach the optimal solution and

Page 10: Survey of QoS Routing

decrease the difference between the obtained lower bound and the optimum of the original problem as well.

A distributed routing algorithm with imprecise state information called Ticket Based Probing (TBP) has been proposed in [26]. Certain number of tickets is issued at the source according to the contention level of network resources. Each probe is required to carry at least one ticket. The total number of tickets bound maximum number of probes at any time. Each probe searches a path; hence the number of tickets also bound the maximum number of paths searched. The Level of imprecision has a direct impact on the number of tickets issued. Probes can only travel along the paths that satisfy the delay requirement. Hence any probe arriving at the destination detects a feasible path. This can also be applied to bandwidth constrained least cost routing.

Delay-Cost-Constrained Routing (DCCR) [27] rapidly generate a near-optimal delay-constrained path, then, it employs the k-shortest path algorithm proposed by Chong et. al. with a new non-linear weight function of path delay and cost to efficiently search for a path subject to both the requested delay constraint and the (introduced) cost constraint. Starting with the least delay path as a feasible solution, the cost of the least-delay path is selected as the cost bound. If there is no feasible paths with cost less than this, then the least delay path itself must be the optimal path and this is what the algorithm returns. Path weight (w) has an exponential growth with the path cost (c) and is only linearly proportional to the path delay (d). Thus, weight function w is designed to give more priority to lower cost paths Pi

u as shown below.

w(Piu) = d(Pi

u) / (1 – c(Piu) / ∆c) , if d(Pi

u) ≤ ∆d and c(Piu) ≤ ∆c

∞ , otherwise

To search for a tighter cost bound, another heuristic – the Blokh and Gutin (BG) heuristic is used in a new algorithm called Search Space Reduction + DCCR (SSR+DCCR). BG uses a linear function of the link delay and cost to compute link weight. It adjusts the weights given to cost and delay in the weight function according to the quality of the current path, thus it iteratively approaches the optimal (least-cost) solution. It starts with two paths: least-delay-path (LDP) and least-cost-path (LCP). If LCP is a feasible path (delay-bounded) path, then it is the optimal solution. If not, then algorithm maintains 2 paths: The current feasible (delay-bounded) path LDP and the current best infeasible path LCP. W(p) = α D(p) + βC(p). If W(LWP) < γ where γ is the current least path weight and LWP is feasible, LWP replaces LDP to become the best feasible path, thus the weight given to link cost increases in the next round. If LWP is infeasible, then weight given to link delay increases. Path found by the BG algorithm may still not be optimal. BG has unbounded time complexity, however SSR+DCCR time complexity is bounded since BG is only used as a prelude to DCCR with a very small number of iterations.

Bandwidth and Delay

Wang-Crowcroft algorithm [29, 55] based on source routing for bandwidth-delay based routing algorithm first prunes all the links with bandwidth less than the required bandwidth. Next, it finds the shortest path with respect to delay in the modified graph using Djikstra’s algorithm. A distributed algorithm based on hop-by-hop routing is proposed that decides precedence among the metrics (to be specific, bandwidth and delay) to determine the best path. Insufficient bandwidth leads to higher queuing delay and loss rate. Improper propagation delay leads to higher overall delay but the increase is predictable and stable. Thus bottleneck bandwidth is given higher precedence over propagation delay. Orda

Page 11: Survey of QoS Routing

proposed the quantization of QoS metrics with a rate-controlled earliest deadline first scheduler at each router [50].

Bandwidth and Cost

The Ticket Based Probing (TBP) algorithm proposed for delay constrained least cost routing in the Section on Cost and Delay metric can be applied to bandwidth constrained least cost routing [26]. Probes are sent from the source, limited in number, towards the destination. Receipt of a probe by the destination ensures availability of a path satisfying the desired resource requirements.

Two additive metrics

Jaffe proposed an intuitive approximation algorithm based on minimizing a linear combination of the link weights w1(p) + dw2(p) where d=1 in the first algorithm and d=√(c1/c2) in the second. The latter provides better performance in comparison to the former [59].

[59] proposes an algorithm based on the minimization of the linear cost function αw1(p) + βw2(p) for two additive metrics w1 and w2. This paper suggests a binary search strategy (using either { α=1, β=k} or { α=k, β=1} ) to find the appropriate value of k, namely α and β. With link weight l(e)=w1(e) + w2(e) (i.e., α=1, β=1), the algorithm searches for paths p. If both w1(p) > c1 and w2(p) > c2, then it is guaranteed that there is no feasible path and the algorithm terminates. It maintains min_w1[u] and min_w2[u] that represent the minimum w1

and w2 weights among all shortest paths. If min_w1(t) ≤ c1 or min_w2(t) ≤ c2, then there is a possibility of existence of a feasible path. The algorithm executes the binary search using link weights l(e) = kw1(e) + w2(e) in Phase I and l(e) = w1(e) + kw2(e) in Phase II. k is in the range [1,B], where B = n * max{ wj(e)} that is an upper bound on the total cost of the longest path w.r.t. link weight wj. If the algorithm cannot find a path p for which l(p) is minimum and wj(p) ≤ cj, then such a path p cannot be found with larger values of k. If the binary search fails to return a feasible path w.r.t. both constraints, then it returns a path p that satisfies the cj constraint and whose wi() cost is upper bounded as follows:

wi(p) ≤ wi(f) + [ wj(f) – wj(p) ] / k

where f is a feasible path, k is the maximum value that the binary search determines at its termination, and the pair (i,j) is either (1,2) or (2,1) depending on the phase. This algorithm provides superior performance to Jaffe’s approximation algorithm.

3.3 M ultiple metrics The Multi-Constrained Optimal Path (MCOP) problem attempts to find a minimal-cost path satisfying the constraints. It is also known as Restricted Shortest Path (RSP) problem and is NP-Complete even for a single constraint. Multi-Constrained Path (MCP) is MCOP problem without the path optimization requirement; it is NP-Complete for more than one constraint [55]. Several techniques have been devised to deal with the multiple metrics routing scenario. We categorize the solutions as shown below:

��Single Metric representative of the individual metrics: There have been proposals of a single metric that is a linear combination of weighted link metrics and representative of the individual metrics. The individual weights can be statically configured or determined dynamically. The weights can be iteratively changed to get better paths. However, if the path is optimal in the single metric, it is not necessary that it is optimal in terms of the individual metrics. Subsections of

Page 12: Survey of QoS Routing

shortest paths in multiple dimensions are not necessarily shortest paths [28]. There is information loss in the aggregation process, which needs to be quantified.

��Fallback Routing approach: QoS metrics are considered one by one in a predetermined fallback sequence hoping that the optimal path w.r.t. a single parameter will also satisfy the other constraints.

��Dependent QoS Metrics: Multiple metrics dependent on each other can be reduced to one metric and the resulting problem with single metric can be solved in polynomial time.

When all QoS metrics, except one, take bounded integer values the multi-constrained QoS routing problem is solvable in polynomial time; also known as limited granularity heuristic. Limited path heuristic is when each node maintains a limited number of optimal QoS paths that ensures worst-case polynomial time complexity [50]. Yuan studied the two heuristics for two-constraints problem. [50] extends it for multiple-constraints problems. It was found that limited path heuristic is superior to limited granularity heuristic for multiple constraints problem when the number of constraints is greater than three. We take a look at some of the proposed algorithms for multiple metrics QoS routing in rest of the section.

A path vector routing protocol called QoSFinder [6] has been proposed that considers throughput (t, function of bandwidth and load), delay (d) and loss rate (e) metrics for path selection of long-lived multimedia flows. Path vector routing has been derived from distance vector routing. On receiving an update message, the receiving node’s address is inserted in the route, cost to reach the neighbor that sent the update is added to the cost of the route and the message is forwarded. If its address is already present, a loop is detected and the message is dropped. Given two paths with QoS (t1, d1, e1) and (t2, d2, e2) respectively, if either one of it satisfies the required constraints, then the one satisfying the demand will be accepted. However if both do/do not satisfy, then the better should be selected. The routing process is required to return the “best” QoS path, irrespective of whether the path satisfies all the QoS or not. The “best” path is selected based on availability (A), defined as At = (t / td), Ad = (dd / d), Ae = (ed / e). Availability of a parameter with a value of 1 means that the tested parameter is equal to the demanded parameter, while greater than 1 indicates reserve and lesser than 1 indicates that the parameter value does not meet the demand. If two sets are equal, the router with lower hop count is selected. If hopcount is also equal, the least recently used route is selected.

Ma-Steenkiste algorithm [13, 29] states that when WFQ-like scheduling algorithms are used, queueing delay, delay-variation, and loss are not independent metrics; they are a function of bandwidth. This simplifies the problem and makes it solvable in polynomial time.

A heuristic algorithm for multi-constrained optimal path (H_MCOP) problem is proposed in [55]. A non-linear cost function is developed as shown below:

w1(p) w2(p) wk(p) gλ(p) = -------- * λ + -------- * λ + … + -------- * λ , λ ≥ 1

c1 c2 ck

where wi(p) is the total weight of the ith metric in the path p and the constraint is wi(p) ≤ ck. The goal of the algorithm is to determine the path p with minimum cost. It has been proved that wk(p) ≤ ck for at least one k and wk(p) ≤ λ√K ck for the rest. The likelihood of finding a feasible path increases as λ increases. Starting from source, H_MCOP finds the next node based on minimization of gλ(p). If more than one path is feasible since H_MCOP uses the k-shortest path routing approach, the path with minimum cost is selected.

Tunable Accuracy Multiple Constraints Routing Algorithm (TAMCRA) [28, 63] is based on three concepts: non-linear measure for the path length, k-shortest path approach and Principle of non-dominated paths. The non-linear concave path length function used in this algorithm is

Page 13: Survey of QoS Routing

max(w1(P)/∆1, w2(P)/ ∆2, … , wm/∆m) where w1, w2, …, wm are weights of the paths and ∆1, ∆2, …, ∆m are the constraints in terms of metric 1,2, …, m respectively. TAMCRA possesses tunable accuracy (coupled to the running time) via one integer parameter k that reflects the number of shortest paths taken into account during computation. There always exists a finite value of k for which TAMCRA returns the exact path.

k = min (∆1, ∆2) if m =2 = Π ∆i for i = 1, 2, …, m, m > 2

A path is said to be dominated by another path p’ iff wi(p) ≤ wi(p’ ) for i = 1, 2, …, m, with an inequality for at least one weight component i. This causes an efficient reduction in the search space. The main advantages of TAMCRA are the following:

��The calculation time of TAMCRA increases only linearly with the value of k and saturates beyond a certain value of k. The level at which the calculation time saturates depends on the size of the graph.

��The value of k needed to solve the multiple constraints problem exactly is a polynomial function of the granularity (i.e., the number of possible values) of the constraints.

��The probability of missing the shortest path is, above a certain threshold, independent of the number of constraints. There is an exponential decrease of the probability of missing the shortest path as the value of k increases. For a constant probability of missing the shortest path, k increases logarithmically in the number of nodes in the graph.

A slight modification of TAMCRA, called Self-Adaptive Multiple Constraints Routing Algorithm (SAMCRA), has been proposed [58, 65]. Unlike TAMCRA, SAMCRA is guaranteed to find a path within the constraints, provided such a path exists. The number of alternate paths computed differs from node to node. Memory is required for the storage of the computed alternate paths. SAMCRA allocates memory at the nodes when the need arises, unlike TAMCRA which has a fixed amount of memory allocated at all the nodes (due to the fixed number of alternate paths to be computed per node).

TAMCRA has higher complexity than H_MCOP due to its extra computation to determine dominated paths. TAMCRA requires a higher value of k than H_MCOP. Due to path optimization feature of H_MCOP, its paths are more resource efficient than TAMCRA. Solution of DCCR is exactly the optimal path while the cost of the TAMCRA path is much higher than that of the optimal solution.

Chen-Nahrstedt Selective Probing [29] is when after a connection request arrives, probes are flooded selectively along those paths that satisfy the QoS and optimization requirements. This method overcomes the high communication overhead associated with Shin-Chou algorithm: Probes are only forwarded to a subset of outgoing links selected based on the topological distances to the destination and it is done iteratively. Ticket-based Probing is used to improve performance of selective probing. A certain number of tickets are issued at the source according to the contention level of network resources. It can be used for multicast QoS routing as well.

A randomized algorithm [53] has been proposed for multiple constraints QoS routing. It prunes all links that cannot be on any feasible path and uses a randomized BFS search to find a feasible path with minimum hopcount. It may not find all feasible paths, but if it finds a path, that path will satisfy the required constraints.

A scalable internetwork routing architecture for QoS routing has been proposed named Nimrod [7]. The key to its scalability is its ability to represent and manipulate routing related information in the form of maps at multiple levels of abstraction. Different maps can

Page 14: Survey of QoS Routing

represent the same region of a physical network at different levels of detail. Maps can be used to represent graphs of different metrics and aggregated to determine the optimal path.

4.0 QoS M ulticast Routing Protocols

When data is transmitted from a sender(s) to a group of receivers, it is termed as multicast. The set of sender(s) and receivers form a group. The group should ideally be dynamic, that is, the participants of the group can join and leave the group anytime and this should not affect the operations of the existing group. The routing protocol to minimize the number of copies of data transmitted and to allow simultaneous transmission to more than one receiver creates a spanning tree joining the senders and the receivers.

It is considered easier to implement QoS in multicast in comparison to unicast. For a multicast connection, the forwarding tables in routers maintain connection specific state like the multicast group address and the list of interfaces on which data is to be forwarded for the receivers of the group. Adding QoS specific information will increases the routing state by only a fraction. However, each participant will specify it’s own requirements that might not be acceptable to other participants. Thus, the QoS that multicast needs is to be defined in either of the following ways [11]:

��QoS defined by sender ��QoS negotiated over the group members to be the minimum of each member’s QoS ��Senders send with the highest QoS and each receiver controls its own QoS

To this effect, a number of QoS routing algorithms based on single, dual and multiple metrics have been proposed, as shown in the following subsections. Single metric QoS multicast routing algorithms have been proposed for cost, delay and any one non-additive metric. Dual metric based routing algorithms have been proposed for the following combinations: cost-delay and delay-delay jitter. The multiple metrics QoS multicast routing being a complex problem, only one algorithm has been proposed. QoS provision in multicast involves the following issues:

��Multiple constraints make the multicast routing problem intractable. ��A multicast routing protocol has to handle a number of issues like state collection and

updation, handling of dynamic topology and membership changes, tree maintenance and scalability. QoS further complicates the protocol design process.

��One has to consider how to collect/maintain QoS-related state at minimal cost, how to construct a QoS-satisfying route/tree and how to maintain QoS across routing domains.

��As the number of receivers, the number of different QoS requirements to be satisfied by the source increases. This leads to the problem of many heterogeneous QoS requirements.

4.1 Single M etric

Cost

A tree with minimal overall cost (usually at the expense of delay) is called a Steiner tree, which is a NP-Complete problem. Kou, Markowsky and Berman (KMB) algorithm is an approximation of Steiner trees. A distributed version of KMB was proposed by Wall [2]. KMB algorithm computes the shortest paths between each pair of multicasting member nodes and creates a closure graph containing these members only. The edge in the closure graph is the shortest distance between the member nodes. The minimum spanning tree of this closure graph is computed using Prim’s algorithm. The edges in the closure graph are replaced with the corresponding shortest paths in the original network to get the Steiner tree

Page 15: Survey of QoS Routing

The cost of a tree generated with the KMB algorithm averages 5% more than the cost of a Steiner tree. KMB trees have higher delay for larger groups than center-based trees. Overall, it has higher variation in delay than center trees. The delay of KMB is 50% higher than that of the Shortest Path Tree (SPT)4; it increases faster as the average node degree increases [2]. When the Steiner tree consists of only group members, the KMB tree is a Steiner Minimal tree. Since KMB needs the complete network topology, it is not practical to implement for wide area networks. Both KMB and Wall’s algorithm assumes that the group is statically configured.

Takahashi et al. proposed a heuristic that constructs a tree whose cost is within twice the cost of a Steiner tree [29, 44]. It uses an incremental approach called Nearest Destination First (NDF). The nearest (in terms of cost) receiver from the source is found and its least-cost path is selected. Next, the nearest non-tree receiver is found and added to the tree till all receivers are attached to the tree.

Bauer’s Algorithm [44] imposes constraints on the number of outgoing links. The node degree constrained Steiner tree construction begins with an arbitrary starting point and an edge that is closest to the partial tree is added, one at a time. The heuristic is repeatedly applied to the network graph for different starting points.

Delay

A delay bounded routing tree is a tree in which the delay from the source to any destination along the tree does not exceed a pre-specified bound. Such a tree is useful for multimedia communications; a given data packet must reach the destination within a given time bound else it has to be discarded. The delay bound indirectly affects the network cost. When the delay bound is less stringent, more destinations can share a path, leading to lower network cost. SPT connects the destinations to the source by their shortest paths. [43] states that SPT is on average 20% costlier than Steiner tree.

Multicast Open Shortest Path First (MOSPF) is a link state routing protocol that builds the map of the network topology and executes the Djikstra’s algorithm to select least delay paths. Since it is highly computation-intensive, it can be used only within an Autonomous System.

In Kou et al. algorithm [29], the network is abstracted to a complete graph, where nodes represent source and destination and edges represent the shortest path between these nodes. Prim’s algorithm is used to construct the SPT. Then by extending the edges of the MST into the shortest paths they represent, the Steiner tree of the original network is obtained.

Kumar et al. algorithm [30] generates two routing trees: a SPT T and a Steiner tree T’ . Then, it identifies ‘k’ destinations with the largest difference between the delay in T and the delay in T’ . Next, it replaces the paths to the ‘k’ destinations in T’ with their SPT in T. This algorithm produces a SPT when the delay constraint is stringent and a Steiner tree when delay is not a constraint.

[30] proposed a distributed routing protocol for delay-bounded routing tree, also known as Jia’s Algorithm. It assumes that the network delay of a link is proportional to the distance of the link. The basic idea is that the routing starts with the source. The next destination to be added to the tree is selected such that it is closest to the existing tree and the delay from the source to the destination under consideration is within the delay constraint; combination of Prim’s algorithm and distributed shortest path algorithm. Each node has to maintain the delay from the root to itself in the tree. Thus, the end-to-end delay from the source to the

4 SPT connects the destinations to the source by their shortest paths.

Page 16: Survey of QoS Routing

destination with the node as an intermediate node is the delay from the root to the node plus the delay from the node to the destination.

Quality of Service sensitive Multicast Internet Protocol (QoSMIC) [25] builds a shared tree and individual receivers switch to source tree when necessary. It constructs trees based on the greedy heuristic that connects each user to the “closest” branch of the existing tree. The search for the “closest” branch can be done by a local search or a multicast tree search. It uses dynamic routing information to evaluate and select from the alternate paths possible. It requires a Manager router of a group, similar to a core of a group but the distribution tree need not be centered at the Manager router. There can be multiple managers for efficient and scalable solutions with reduced set-up time. The managers can be changed during the lifetime of the group without any data loss.

Non-Additive M etric

QoS-Aware Multicast Routing Protocol (QMRP) [46] can be used to construct both sender-based trees and shared trees. It starts with a single path but, when necessary, it expands the search by splitting at one or multiple points (multiple path routing) in a controlled manner according to perceived network conditions. Multiple path routing can lead to resource contention. To avoid this, two protocol parameters are used: Maximum Branching Level (MBL) and Maximum Branching Degree (MBD). MBL is number of nodes performing multipath routing. MBD is the maximum number of REQUEST messages allowed to be sent by a node in multipath stage. The probes proceed only along paths that do not violate QoS and optimization requirements.

4.2 Dual M etrics

Cost and Delay

Finding a tree which has minimal network cost under a delay constraint is called a delay constrained Steiner tree problem. Kompella Pasquale and Polyzos (KPP) [1] algorithm is a heuristic that builds the delay constrained Steiner tree (an NP-Complete problem) with the assumption that link delays are integers and that delay and cost are independent metrics. This assumption ensures that the complete graph can be constructed in polynomial time. It generates a tree starting from the source that is incrementally expanded till all the destinations are reached. The selected edge is such that it (1) connects a node in the tree and a node outside the tree (2) does not violate the delay constraint (3) minimizes a selection function (the tradeoff between cost and delay minimization). The two heuristics proposed to select the next non-tree node to be included in the tree are the cost-delay heuristic and the cost heuristic. Cost-delay heuristic calculates the weight w(u, v) of a link as follows,

c (u, v) w (u, v) = ---------------------------- , if D (u) + d (u, v) < ∆d

∆ - (D (u) + d (u, v))

= Infinity , otherwise

where c and d are cost and delay metrics respectively. D is the accumulated delay from source s to node u. ∆d is the amount to which delay is constrained along the path. Cost heuristic selects the next node assuming that the weight of the node is the same as the cost of the node. There is a distributed version of the same algorithm.

Sun-Langendoerfer algorithm computes the shortest path tree in terms of cost and then the tree is modified to satisfy the delay constraint. Zhu et al. algorithm allows variable delay bounds on destinations. A shortest path tree in terms of delay is constructed by Djikstra’s

Page 17: Survey of QoS Routing

algorithm. If the delay constraint cannot be satisfied, it is renegotiated else the tree is iteratively refined for lower cost. It provides the best average performance in terms of minimizing the cost of the tree [29].

Bounded Shortest Multicast Algorithm (BSMA), also known as Zhu’s Algorithm [10], generates a least-delay tree and then iteratively replaces the paths between branching nodes and group members by lower cost paths till the total cost of the tree cannot be reduced further. As the network size increases, BSMA’s average execution time grows faster than that of KPP.

Constrained Bellman Ford Algorithm [10] connects one group member at a time to the source. It performs a Breadth First Search (BFS) and discovers paths of monotonically increasing delay. The next destination to be added to the tree is selected such that it has the minimum-cost constrained path to the source. However, a routing table that contains entries for all possible delays can be very large.

Hop-by-Hop Multicast (HBH) Routing Protocol [57] constructs SPT instead of Reverse SPT, thereby providing best routes in asymmetric networks. It stores two tables, Multicast Control Table (MCT) and Multicast Forward Table (MFT). MFT stores the address of a next branching node instead of the address of a receiver (except for the branching router nearest to the receiver). This tree management scheme minimizes the impact of member departures on the tree structure and reduces tree bandwidth consumption in asymmetric networks.

Delay and Delay-Jitter

Buffering at the source, at the switching nodes and at the receiver may be used as a tool to combat delay variation. However, providing bounds on delay variation at the network level will result in a more efficient usage of buffering resources. The two constraints delay and delay jitter have conflicting objectives. Delay constraint requires that short paths be used. But choosing the short paths may lead to a violation of the delay variation constraint among nodes that are close to the source and nodes that are far away from it. Thus, it may be necessary to select longer paths for some nodes. Finding such a constrained tree is NP-Complete [12].

Haberman’s Algorithm [44] constructs a reference tree of least cost paths from the source to all receivers. From each receiver node, it attempts to build a tree encompassing all the receivers. It starts with the path in the reference tree from the source to the destination under consideration, and incrementally adds the off-tree nodes to the existing tree.

Delay Variation Multicast Algorithm (DVMA) [12] constructs a shortest path tree in terms of delay from the source to the receivers by Djikstra’s algorithm. If it does not satisfy the delay variation constraint, then the algorithm proceeds to build the tree starting with the source. It selects the largest delay path from the source to a destination as the starting path, since it is not possible to make this delay any smaller. Starting from this path, it adds receiver nodes to the tree such that the delay variation is satisfied [29]. Before adding, more than one path is considered from the existing tree to the node being added. The path whose addition in the existing tree causes the least value of maximum delay variation is added to the tree.

4.3 M ultiple M etrics

Multicast Adaptive Multiple Constraints Routing Algorithm (MAMCRA) [64] guarantees multiple QoS constraints to the multicast members in an efficient, though not always optimal manner. MAMCRA is a modification of SAMCRA, mentioned earlier as one of the multiple metrics unicast QoS routing algorithm. Like TAMCRA and SAMCRA, MAMCRA is also based on the three concepts of non-linear measure for path length, k-shortest path algorithm

Page 18: Survey of QoS Routing

and principle of non-dominated paths. It first finds the set of shortest paths from the source to all destinations using Djikstra’s algorithm. Next, the path length of the entire tree is optimized without violating the constraints.

5.0 QoS vs. Best Effort Routing

In any given network, there are two types of flows: best effort flows which requires the data to be reliably delivered at the destination and QoS flows which apart from reliability requires some additional constraints like available bandwidth, overall delay, etc. to be satisfied. Both these flows have their own set of requirements in terms of operation like state maintenance and performance-cost tradeoff. This section takes a look at these differences and how QoS can be supported end-to-end.

Reusing best effort routing methods for QoS routing is not feasible. The factors that are responsible for the above are:

��Current “opportunistic” routing protocols shift traffic from one path to another as soon as a “better” path is found. Frequently changing paths increase the variation in the delay and jitter as experienced by the end-user, thereby affecting the QoS.

��Optimal path routing algorithms do not support alternate routing. If the best existing path cannot admit a new flow, the associated traffic cannot be forwarded even if an adequate alternate path exists, thereby reducing the effective number of connections that can be routed.

��Multiple paths between node pairs will have to be calculated and so is not the case for best effort routing.

The routing overheads are related to computation, storage and communication. The coarse quantization of state information reduces updating overheads but affects the performance. Techniques for minimization of routing-related overheads during flow establishment need to be investigated. Pre-computation of routes, caching recently used routes and Type of Service (ToS) routing based on hints in packets are some of the proposed techniques. The maintenance of the QoS reservation state can be delegated to bandwidth brokers [45]. This will allow deployment of efficient admission control algorithms without any overhead at core routers. The bandwidth broker can make admission control decisions at any given time using only the traffic profile and the reserved rate of the individual classes.

QoS Routing can provide increased network utilization. QoS Routing is more effective than best effort routing when traffic and network capacity are mismatched and alternate paths with lower load exist. A number of alternate path routing5 schemes that is required for QoS routing have been proposed as shown below [4]:

��Dynamic Non-Hierarchical Routing Scheme has a static assignment of alternate paths, subject to time-of-day changes.

��Dynamic Traffic Management routes a group of calls instead of each individual call. ��Randomized Alternate routing selects alternate paths with a given probability. ��Dynamic Alternate Routing resets its choices whenever a connection fails. ��Fuzzy alternate routing assigns each alternate path a value between 0 and 1 based on a fuzzy

membership function to indicate the order of preference of the path.

There is an increase in cost due to more complex and frequent computations and increased routing protocol overhead that leads to additional network traffic and processing. Faster processors and bigger memories can overcome the computational complexity. Thus, protocol

5 A set of pre-determined paths are stored in the routing table. The paths are tried sequentially on a request to establish connection. In contrast to crankback/fallback routing which will and attempt to determine another feasible path on failure.

Page 19: Survey of QoS Routing

overhead is the main inhibitor to the deployment of QoS Routing. The parameters that determine the protocol traffic overhead are update-triggering policy, sensitivity of this policy and clamp down timers that limit the rate of updates [23]. To overcome this pre-computation based solutions are suggested; paths to all destinations are pre-computed each time a network state update is received. Longer paths with a bottleneck capacity equal to that of shorter paths are maintained during path pre-computation. The selection of path on request is randomized. The effectiveness of the same depends on the underlying network topology and the traffic characteristics. Under uniform traffic, alternate paths will be highly loaded and randomizing the routing of requests over them will not be effective. This mechanism is more effective in case of hot-spot traffic.

Hierarchical routing and topology aggregation can reduce the protocol overhead. The neighboring nodes that do not receive detailed information receive aggregated information. The two aggregation methods that can be considered suitable for QoS routing are hybrid aggregation and weighted aggregation [40]. Hybrid aggregation can be used for widest shortest path routing6 that advertises hop count information less frequently and in more detail while advertising available bandwidth more frequently and in more detail. This is based on the fact that hopcount changes much less frequently than available bandwidth. Weighted aggregation attempts to make more frequently used routing information more accurate. The message rate increases linearly with the update frequency but it is not affected by the aggregation methods. However, message size is significantly affected by aggregation but not by update frequency. The cost of QoS routing as compared to best-effort routing is not excessive and it can achieve performance benefits with only a minimal increase in processing cost [39].

QoS guarantees are needed at multiple layers in end-to-end protocol architecture. Delivery of end-to-end QoS requires architecture for resource management at the system end-points as well as in the underlying network. For applications relying on the transfer of multimedia and continuous media flows, it is essential that QoS is configurable, predictable and maintainable system-wide, including the end-system devices, communication subsystem and networks. The application QoS specification is an application-oriented specification of the transmission characteristics requirements for end-to-end delivery and communication topology and any media relations among the different media components. The specification is for all input and output devices involved.

OS resources are needed at the application subsystem level (embedded in OS user space) and at the transport subsystem level (embedded in OS system space) tasks to handle input/output of media and sending/receiving connections. One proposed solution is QoS Broker [5]; an end-point resource manager that orchestrates resources needed for tasks in the application and transport subsystems. It negotiates with network resource management and with the remote QoS Broker at the other end-points. [19] proposes the five principles to be followed for end-to-end QoS provision:

��Transparency Principle: Applications should be shielded from the complexity of underlying QoS specification and QoS management.

��Integration Principle: QoS must be configurable, predictable and maintainable over all the architectural layers to meet end-to-end QoS.

��Separation Principle: Media transfer, control and management are functionally distinct architectural activities. These tasks should be separated in architectural QoS frameworks. One aspect of this separation is the distinction between signaling and media transfer.

6 Selecting feasible paths as the paths with minimum hopcount (shortest), among them selecting the one with maximum residual bandwidth (widest). The selection in reverse order is known as shortest widest.

Page 20: Survey of QoS Routing

��Multiple Time Scales Principle: This guides the division of functionality between architectural models and pertains to the modeling of control and management mechanisms.

��Performance Principle: This subsumes a number of widely agreed rules for the implementation of QoS-driven communication systems that guide the division of functionality in structuring communication protocols for high performance.

The QoS-driven end-system architecture needs to be integrated with network-configurable QoS services and protocols to meet application-to-application QoS requirements. [19] provides a survey of proposed end-to-end QoS architectures. The extent to which network-level QoS mechanism can be applied in the end-systems (or vice-versa) remains an open issue. The end-systems have different scheduling goals than routers and switches that are optimized for moving packets/cells from queues to ports or vice-versa.

6.0 Open Issues

A substantial amount of work has been done on developing solutions for end-to-end QoS. QoS routing algorithms and protocols have been developed for both unicast and multicast for a wide variety of essential metrics and their combinations. The associated time complexity of each of the algorithms is available in the Appendix. However, QoS routing is yet to become a common reality. Its application has largely been restricted to Virtual Private Networks (VPN). There are a number of issues that hinder the deployment of QoS routing in the Internet and they are discussed in brief in the rest of this section.

In contrast to the standardized hierarchical link state routing protocol Private Network-to-Network Interface (PNNI) for the connection oriented networks like Asynchronous Transfer Mode (ATM), there is no standardized routing protocol for the connectionless IP network (IntServ and DiffServ are two of the most prominent efforts). Furthermore, QoS agreements are signed between the peers in an unstandardized way. There is a need of a standardized QoS routing protocol with standardized QoS negotiation techniques.

QoS Routing Protocols can be designed to take advantage of the power laws of Internet topology [38]. Multicast routing also has power law property as shown below:

Lm / Lu = Nk Chuang Sirbu’s Law

where k is a factor ranging between 0 and 1 (0.8 for Internet). Lm is the total cost of the multicast distribution tree. Lu is the average length of the unicast routing path while N is the number of routing nodes that have hosts subscribed to the multicast group (It is not the number of subscribed hosts). The above asymptotic form of Chuang Sirbu’s Law holds true for any network that exhibits the exponential increase in S(r). S(r) denotes the number of distinct sites that are exactly r hops from the source. S(r) has an exponential increase if the number of hops reachable as we go from r to r+1 hops is proportional to the number of sites reachable in r hops. The number of routers in the Internet that can be reached from a root grows exponentially in the number of hops with an effective degree of approximately 3.2 [42, 54, 60]. Current protocols have been designed independent of the topology. Incorporation of the above power laws into the routing process may lead to increase in efficiency, considering the fact that Internet backbone routers take tens of minutes to reach a consistent view of the network topology after a fault [56].

There is a substantial degree of inefficiency in end-to-end Internet paths. Both congestion and propagation delay play significant roles in the inefficiencies of paths and neither one is the single dominant factor [52]. Special attention should be taken to avoid both the congestion and propagation delay in the path selection process. Internet routing instability “ route flaps” or the rapid fluctuation of network reachability and topology information is an important

Page 21: Survey of QoS Routing

problem. High levels of network instability can lead to increased packet loss and increased network latency due to additional resource overhead. This instability has been found to be well distributed across autonomous systems and exhibiting a strong periodicity of either 30 or 60 seconds [15]. These paths need to be circumvented by the path selection process in QoS routing. This is not a serious issue as 80% of Internet routes exhibit a relatively high level of stability.

The precision in state information is extremely important for efficient QoS routing. The precision of global state at a node is in inverse proportion to the diameter of the network and the frequency of broadcasting local states. In hierarchical routing, network state is aggregated. Each node maintains a partial global state and presents aggregated network information to the parent nodes. Such aggregation leads to imprecision, which becomes more complicated with multiple QoS constraints. Various methods have been devised to capture the imprecision like probability distributions [29, 37], imprecision estimation by the technique used in TCP round-trip delay estimation [24] and ticket based probing to minimize the effect of the imprecision on the efficiency of routing [26]. The impact of imprecision is minimal for flows with only bandwidth requirements, but it makes path selection intractable when end-to-end delay requirements are considered [37]. Thus, it is extremely important for the routing algorithms to consider the information imprecision during path selection.

There is a strong correlation between the level of routing activity and network usage. Magnitude of routing information exhibits the same weekly, daily and holiday cycles as network usage and congestion. The information can be used in the congestion control and related operations.

It has been proved that short routing paths result in high overall throughput [24]. As improving the throughput of the network is one of the goals of QoS routing, the algorithm can make an attempt to find short routes.

New algorithms are required to get a good balance between the computation time and connection-success ratio. Other than maximizing the number of QoS flows (minimizing the call blocking ratio) it has to optimize the throughput and responsiveness of best-effort traffic. Since bandwidth is usually a resource constraint, there is a need for efficient and fair bandwidth allocation schemes. Like [35] allocates bandwidth based on the number of receivers of a multicast group, similar policies can be developed which will allocate bandwidth based on how stringent the QoS requirements of an application is.

It has been found that software communication overhead dominates the hardware routing cost in most parallel systems. 50-70% of the software cost of messaging can be attributed to providing end-to-end flow control, in-order delivery and reliable transmission services. This is due to the features of the network like arbitrary delivery order, finite buffering and limited fault handling. This drawback can be overcome better by designing networks with ordering, end-to-end flow control and hardware supported fault tolerance than with improved software [3]. The tradeoff between routing performance and software overhead needs to be analyzed.

It will be highly beneficial to develop a generic routing algorithm instead of implementing different routing algorithms for different types of QoS requirements independently. The generic algorithm should capture the common messaging and computational structure. QoS provision and resource reservation for broadcast multiple access links (e.g., Ethernet) needs to be explored.

References

[1] Vachaspathi P. Kompella, Joseph C. Pasquale, George C. Polyzos, “Multicast Routing for Multimedia Communication” , in IEEE/ACM Transactions on Networking, Vol. 1, No. 3, June 1993, pp. 286-292.

Page 22: Survey of QoS Routing

[2] Liming Wei, Deborah Estrin, “The Trade-offs of Multicast Trees and Algorithms” , in Proceedings of the 1994 International Conference on Computer Communications and Networks, 1994, pp. 17-24.

[3] Vijay Karamcheti, Andrew A. Chien, “Do Faster Routers Imply Faster Communication?” , in Proceedings of Parallel Computer Routing and Communications Workshop, Seattle, Washington, May 16-18, 1994, pp. 1-15.

[4] Whay C. Lee, Michael G. Hluchyi, Pierre A. Humbiet, “Routing subject to Quality of Service Constraints in Integrated Communication Networks” , in IEEE Network Magazine, July/August 1995, pp. 46-55.

[5] Klara Nahrstedt, Jonathan M. Smith, “The QoS Broker” , in IEEE Multimedia, Vol. 2, No. 1, (Translated and reprinted in Nikkei Electronics, (10) 9, No. 646, September 1995, Japanese), Spring, 1995, pp. 53-67.

[6] Ronny Vogel, Ralf G. Herrtwich, Winfried Kalfa, Hartmut Wittig, Lars C. Wolf, “QoS Based Routing of Multimedia Streams in Computer Networks” , in IEEE JSAC, Vol. 14, No. 7, 1996, pp. 1235-1244.

[7] I. Castineyra, N. Chiappa, M. Streenstrup, “The Nimrod Routing Architecture” , Request For Comment 1992, Category Informational, August 1996.

[8] Zheng Wang, Jon Crowcroft, “Quality of Service Routing for Supporting Multimedia Applications” , in IEEE JSAC, Vol. 14, No. 7, September 1996, pp.1288-1234.

[9] Mikael Degermark, Andrej Brodnik, Svante Carlsson, Stephen Pink, “Small Forwarding Tables for Fast Routing Lookups” , in ACM SIGCOMM Computer Communication Review 1997, 1997, pp.3-14.

[10] Hussein F. Salama, Douglas S. Reeves, Yannis Viniotis, “Evaluation of Multicast Routing Algorithms for Real-Time Communication on High-Speed Networks” , in IEEE JSAC, Vol 15, No. 3, April 1997, pp.332-345.

[11] Christophe Diot, Walid Dabbous, Jon Crowcroft, “Multipoint Communication: A Survey of Protocols, Functions and Mechanisms” , in IEEE JSAC, Vol. 15, No. 3, April 1997, pp. 277-290.

[12] George N. Rouskas, Ilia Baldine, “Multicast Routing with End-to-End Delay and Delay Variation Constraints” , in IEEE JSAC, Vol. 15, No. 3, April 1997, pp. 346-356.

[13] Qingming Ma, Peter Steenkiste, “Quality of Service Routing for Traffic with Performance Guarantees” , in IFIP Fifth International Workshop on Quality of Service, NY, May 1997, pp. 115-126.

[14] D. H. Lorenz, A. Orda, “QoS Routing in Networks with Uncertain Parameters” , Department of Electrical Engineering, Technion, Haifa, Israel, June 97, Research Report EE Pub. No. 1094.

[15] Craig Labovitz, G. Robert Malan, Farnam Jahanian, “ Internet Routing Instability” , in Proceedings of ACM SIGCOMM 1997, September 1997, pp. 115-126.

[16] Marcel Waldvogel, George Varghese, Jon Turner, Bernhard Plattner, “Scalable High Speed IP Routing Lookups” , in ACM SIGCOMM Computer Communication Review, Vol. 27, No. 4, October 1997, pp. 25-38.

[17] Shigang Chen, Klara Nahrstedt, “On Finding Multi-constrained Paths (MCP)” , in International Journal of Computational Geometry and Applications, 1998, pp. 874-879.

[18] B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson, K. Ramakrishnan, S. Shenker, J. Wroclawski, L. Zhang, “Recommendations on Queue Management and Congestion Avoidance in the Internet” , Request for Comment 2309 (Category: Informational), April 1998.

[19] Cristina Aurrecoechea, Andrew T Campbell, Linda Hauw, “A survey of QoS architectures” , in ACM/Springer Verlag Multimedia Systems Journal, Special Issue on QoS Architecture, Vol. 6, No. 3, May 1998, pp. 138-151.

[20] S. Keshav, R. Sharma, “ Issues and trends in router design” , In IEEE Communications Magazine, May 1998, Vol. 36, No. 5, pp. 144-151.

[21] Dean H. Lorenz, Ariel Orda, “Optimal Partition of QoS Requirements on Unicast Paths and Multicast Trees” , Department of Electrical Engineering, Technion, Haifa, Israel, July 1998, Research Report EE Pub. No. 1167.

[22] E. Crawley, R. Nair, B. Rajagopalan, H. Sandick, “A framework for QoS-Based Routing in the Internet” , Request For Comment 2386, Category: Informational, August 1998.

[23] George Apostopoulos, Roch Guerin, Sanjay Kamat, Satish K. Tripathi, “Quality of Service Based Routing: A Performance Perspective” , in Proceedings of ACM SIGCOMM, September 1998, pp. 17-28.

Page 23: Survey of QoS Routing

[24] Klara Nahrstedt, Shigang Chen, “Coexistence of QoS and Best-Effort Flows – Routing and Scheduling” , in Proceedings of 10th IEEE Tyrrhenian International Workshop on Digital Communications: Multimedia Communications, Ischia, Italy, September, 1998.

[25] Michalis Faloutsos, Anindo Banerjea, Rajesh Pankaj, “QoSMIC: Quality of Service sensitive Multicast Internet protoCol” , in ACM SIGCOMM, September 1998, pp. 144-153.

[26] Shigang Chen, Klara Nahrstedt, “Distributed QoS Routing with Imprecise State Information” , in Proceedings of 7th IEEE International Conference on Computer, Communications and Networks, Lafayette, LA, October 1998, pp. 614-621.

[27] Liang Guo, Ibrahim Matta, “Search Space Reduction in QoS Routing” , College of Computer Science, Northeastern University, USA, October 1998, Technical Report NU-CCS-98-09.

[28] Piet Van Mieghem, Hans De Neve, “Aspects of Quality of Service Routing” , in SPIE'98, Nov. 1-6, Boston (USA), 3529A-05

[29] Shigang Chen, Klara Nahrstedt, “An Overview of Quality-of-Service Routing for the Next Generation High-Speed Networks: Problems and Solutions” , in IEEE Network, Special Issue on Transmission and Distribution of Digital Video, November/December 1998, pp. 64-79.

[30] Xiaohua Jia, Yanchun Zhang, Niki Pissinou, Kia Makki, “A distributed multicast routing protocol for real-time multicast applications” , in Computer Networks 31, 1999, pp.101-110.

[31] Balaji Prabhakar, Rong Pan, “CHOKe: A stateless mechanism for providing Quality of Service in the Internet” , in Proceedings of the Allerton Conference on Communication, Control, and Computing, Urbana, Illinois, 1999.

[32] Ion Stoica, Hui Zhang, “Providing Guaranteed Services Without Per Flow Management” , in Proceedings of SIGCOMM 1999, 1999, pp. 81-94.

[33] S. V. Raghavan, Karthikeyan Mahesh, S. Lakshminarayanan, “An Efficient Rerouting Mechanism for Dynamic Network Resource Management” , in IEEE Conference on Multimedia Computing and Systems, 1999, Florence, Vol. 2, pp. 112-116.

[34] R. Guerin, V. Peris, “Quality-of-service in packet networks: Basic mechanisms and directions” , in Computer Networks, Vol. 31, No. 3, February 1999, pp. 169-189.

[35] Arnaud Legout, Jorg Nonnenmacher, Ernst W. Biersack, “Bandwidth Allocation Policies for Unicast and Multicast Flows” , in Proceedings of IEEE INFOCOM 99, New York, March, 1999, pp. 254-261.

[36] Xipeng Xiao, Lionet M. No, “ Internet QoS: A Big Picture” , in IEEE Network, March/April 1999, Vol. 13, No. 2, pp. 8-18.

[37] R. Guerin, A. Orda, “QoS-based Routing in Networks with Inaccurate Information: Theory and Algorithms” , in IEEE/ACM Transactions on Networking, Vol. 7, No. 3, June 1999, pp. 350-364.

[38] Michalis Faloutsos, Petros Faloutsos, Christos Faloutsos, “On Power-Law Relationships of the Internet Topology” , in Proceedings of ACM SIGCOMM 1999, Cambridge, Massachusetts, USA, August 1999, pp. 251-262.

[39] G. Apostopoulos, R. Guerin, S. Kamat, A. Orda, Satish K. Tripathi, “ Intra-Domain QoS Routing in IP Networks: A Feasibility and Cost/Benefit Analysis” , in Special Issue of IEEE Networks on Integrated and Differentiated Services for the Internet, September 1999, Vol. 13, No. 5, pp. 42-54.

[40] Fang Hao, Ellen W. Zegura, “On Scalable QoS Routing: Performance Evaluation of Topology Aggregation” , in IEEE INFOCOM 2000, pp. 147-156.

[41] Dean H. Lorenz, Ariel Orda, Danny Raz, Yuval Shavitt, “Efficient QoS Partition and Routing of Unicast and Multicast” , in IWQoS 2000, Pittsburg, PA.

[42] Piet Van Mieghem, Gerard Hooghiemstra, Remco van der Hofstad, “A Scaling Law for the Hopcount in Internet” , Delft University of Technology, 2000, Technical Report report2000125.

[43] Laxman H. Sahasrabuddhe, Biswanath Mukherjee, “Multicast Routing Algorithms and Protocols: A Tutorial” , in IEEE Network, January/February 2000, pp.90-102.

[44] Bin Wang, Jennifer C. Hou, “Multicast Routing and its QoS Extension: Problems, Algorithms and Protocols” , in IEEE Network, January/February 2000, pp. 22-36.

Page 24: Survey of QoS Routing

[45] Zhi-Li Zhang, Zhenhai Duan, Lixin Gao, Yiwei Thomas Hou, “Decoupling QoS Control from Core Routers: A Novel Bandwidth Broker Architecture for Scalable Support of Guaranteed Services” , Computer Science Department, University of Minnesota, USA, March 2000, Technical Report 00-028.

[46] Shigang Chen, Klara Nahrstedt, “A QoS-Aware Multicast Routing Protocol” , in Proceedings of IEEE INFOCOM 2000, Tel-Aviv, Israel, March 26-30, 2000, pp. 1594-1603.

[47] Roch A. Guerin, Ariel Orda, “Networks with Advance Reservations: The Routing perspective” , in Proceedings of INFOCOM'2000, Tel-Aviv, Israel, March 26-30, 2000.

[48] A. Orda, A. Sprintson, “QoS Routing: the Precomputation Perspective” , in Proceedings of IEEE INFOCOM 2000, Tel-Aviv, Israel, March-April 2000.

[49] Lee Breslau, Edward W. Knightly, Scott Shenker, Ion Stoica, Hui Zhang, “Endpoint Admission Control: Architectural Issues and Performance” , in Proceedings of ACM SIGCOMM 2000, (Stockholm, Sweden), August 2000, pp. 57-69.

[50] Xin Yuan, Xingming Liu, “Heuristic Algorithms for Multi-Constrained Quality of Service Routing” , in IEEE INFOCOM 2001, pp. 355-364.

[51] Ashish Goel, K.G.Ramakrishnan, Deepak Kataria, Dimitris Logothetis, “Efficient Computation of Delay-Sensitive Routes from One Source to All Destinations” , in IEEE INFOCOM 2001, pp. 148-152.

[52] Alpar Juttner, Balazs Szviatovszki, Ildiko Mecs, Zsolt Rajko, “Lagrange Relaxation Based Method for the QoS Routing Problem” , in IEEE INFOCOM 2001, pp. 782-791.

[53] Turgay Korkmaz, Marwan Krunz, “A Randomized Algorithm for Finding a Path Subject to Multiple QoS Constraints” , in Computer Networks Journal, Vol. 36, No. 2/3, 2001, pp. 251 – 268.

[54] Hongsuda Tangmunarunkit, Ramesh Govindan, Sugih Jamin, Scott Shenker, Walter Willinger, “Network Topologies, Power Laws and Hierarchy” , Computer Science Department, University of Southern California, USA, Technical Report 01-746.

[55] Turgay Korkmaz, Marwan Krunz, “Multi-Constrained Optimal Path Selection” , in Proceedings of the IEEE INFOCOM 2001 Conference, Vol 2, Anchorage, Alaska, April 2001, pp. 834-843.

[56] Craig Labovitz, Ahba Ahuja, Roger Wattenhofer, Srinivasan Venkatachary, “The Impact of Internet Policy and Topology on Delayed Routing Convergence” , in Proceedings of IEEE INFOCOM, April 2001, pp. 507-516.

[57] Luis Henrique M. K. Costa, Serge Fdida (LIP6/UPMC), Otto Carlos M. B. Duarte, “Hop-by-Hop Multicast Routing Protocol” , In ACM SIGCOMM, August 2001, pp. 249-259.

[58] F. A. Kuipers, P. Van Mieghem, “QoS Routing: Average Complexity and Hopcount in m dimensions” , In Proceedings of 2nd International Workshop on Quality of Future Internet Services, QofIS2001, Coimbra, Portugal, September 24-26, 2001, pp. 110-126.

[59] Turgay Korkmaz, Marwan Krunz, Spyros Tragoudas, “Efficient Algorithm for Finding a Path Subject to Two Additive Constraints” , In Computer Communications Journal, Vol. 25, No. 3, February 2002, pp. 225-238.

[60] F. Begtasevic, P. Van Mieghem, “Measurements of the Hopcount in Internet” , Accepted for PAM2002. Available at http://wwwtvs.et.tudelft.nl/people/piet/telconference.html

[61] R. Guerin, A. Orda. "Computing Shortest Paths for Any Number of Hops." To appear in IEEE/ACM Transactions on Networking. Available at http://www.seas.upenn.edu/~guerin/

[62] Nikolaos Vasiliou, Hanan Latfiyya, “Providing a Differentiated Quality of Service in a World Wide Web Server” , In Performance Evaluation Review (ACM SIGMETRICS), Volume 28, Number 2, pp. 22-27

[63] Hans De Neve, Piet Van Mieghem, “TAMCRA: A Tunable Accuracy Multiple Constraints Routing Algorithm” , In Computer Communications, Vol. 23, pp. 667-679

[64] Fernando Kuipers, Piet Van Mieghem, “MAMCRA: A Constrained-Based Multicast Routing Algorithm” , In Computer Communications, Vol. 25, No. 8, pp. 801-810.

[65] P. Van Mieghem, F. A. Kuipers, “On the Complexity of QoS Routing” , To appear in Computer Communications. Available at http://wwwtvs.et.tudelft.nl/people/piet/papers/compcommqofis2001.pdf

Page 25: Survey of QoS Routing

Appendix

Time Complexity of the QoS Routing Algor ithms for Unicast and Multicast

Routing Algor ithm Metr ic(s) Time Complexity

Notation: n is the number of nodes in the network, m is the number of receivers, k is the number of shortest paths that are considered between a source and destination, e is the number of edges.

Unicast QoS Routing Algor ithms

Guerin Orda Algorithm7 Bandwidth and Delay O(d2n2e) Guerin-Orda Algorithm8 Delay K=1 � O(xe)

K>1 � O(Kx3e) Shin Chou Algorithm Delay O(e) Extended Djikstra’s Algorithm9 Delay and Cost O(x2n2) Extended Bellman Ford Algorithm3 Delay and Cost O(xne) Delay Constrained Unicast Routing (DCUR) Salama

Delay and Cost O(n3)

Sun-Landgendorfer Algorithm Delay and Cost O(n) Delay Scaling Algorithm (DSA)10 Delay and Cost O((e + n log n) D / ε) Lagrange Relaxation based Aggregate Cost (LARAC)

Delay and Cost O(e2 log 4e)

Ticket Based Probing (TBP)11 Delay and Cost, Bandwidth and Cost

O(me)

Delay-Cost-Constrained Routing (DCCR)12 Delay and Cost O(ke log(kn) + k2e + t(A)) Search Space Reduction + DCCR (SSR+DCCR)13

Delay and Cost O((m(G)+2)e log n) + O(ke log (kn) + k2e)

Wang Crowcroft Bandwidth and Delay O(n log n + e) Jaffe’s Distributed algorithm14 Any two additive

metrics O(n5b log nb)

Binary search strategy for weights of a linear function of two additive metrics15

Any two additive metrics

O(log B (m + n log n)).

Ma-Steenkiste Algorithm16 Queueing delay, delay-variation, loss and bandwidth

O(xne)

Heuristic Algorithm for Multi-Constrained Optimal Path (H_MCOP)17

Multiple additive metrics

O(n log n +kx log kn + (k2+1)x)

Tunable Accuracy Multiple Constraints Routing Algorithm (TAMCRA)12

Multiple additive metrics

O(kx log kn + k3x)

Self-Adaptive Multiple Constraints Routing Algorithm (SAMCRA)12

Multiple additive metrics

O(kn log (kn) + k2xe)

Randomized Routing for Multiple Metrics Multiple metrics with O(n3)

7 d is the number of distinct integer values of delay. Uses rate based schedulers at each node. 8 Each group in the hierarchy is composed of at most x nodes of the lower layer. M is the maximal size of a path. K shortest paths are considered for each hop number. End-to-end transformed to local constraints. 9 x is set by the user, the number of distinct values of residual bandwidth in a link. 10 D is the hopcount of the longest path that the algorithm finds. The delay of a path should be at most (1+ε) times the delay that can be tolerated. 11 Overhead increases as imprecision rate increases. 12 A is any single metric shortest path algorithm and t(A) is its associated time-complexity. 13 m(G) depends on the configuration of the graph. 14 b is the largest weight of all the edges in the network. 15 The search for the weight of a metric is in the range [1,B] 16 x is the number of possible distinct residual bandwidth of a link 17 x is the number of metrics being constrained.

Page 26: Survey of QoS Routing

Routing Algor ithm Metr ic(s) Time Complexity

Notation: n is the number of nodes in the network, m is the number of receivers, k is the number of shortest paths that are considered between a source and destination, e is the number of edges.

minimum hopcount

Multicast QoS Routing Algor ithms Kou, Markowsky and Berman (KMB) Cost O(mn2) Takahashi- Matsuyama Delay O(mn2) Bauer’s Algorithm Cost and number of

outgoing links of node O(mn2)

Multicast open Shortest Path First (MOSPF) Delay O(n log n) Kou et al. Algorithm Delay O(mn2) Jia’s Algorithm Delay O(2m) QoS-aware Multicast Routing Protocol (QMRP)

Any non-additive metric

O(me)

Kompella et. al. (KPP) Algorithm18 Cost and Delay O(n3∆) (KPP) O(n3) (Distributed KPP)

Sun Langendoerfer Cost and Delay O(n log n + e) Bounded Shortest Multicast Algorithm (BSMA) (also known as Zhu’s Algorithm)

Cost and Delay O(kn3 log n)

Constrained Bellman Ford (CBF) Cost and Delay exponential Haberman’s Algorithm19 Delay and Delay

Variation O(x l (mn4))

Delay Variation Multicast Algorithm (DVMA)20

Delay and Delay Variation

O(klmn4)

Multicast Adaptive Multiple Constraints Routing Algorithm (MAMCRA)

Multiple metrics O(kn log (kn) + k2me)

18 ∆ is the delay requirement 19 x is the number of paths in the initial least-cost tree. l is the number of paths tried when adding a multicast group member 20 Using each of the k shortest paths as the starting path, it finds l shortest paths to the remaining receivers