Clustering-Based Distributed Precomputation for Quality-of-Service Routing*

Similar documents
Optimal QoS Routing Based on Extended Simulated Annealing

Simple Quality-of-Service Path First Protocol and Modeling Analysis*

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

An Initial Study of the Multi-Constraint Routing Problem Using Genetic Algorithm

Using Hybrid Algorithm in Wireless Ad-Hoc Networks: Reducing the Number of Transmissions

Quality of Service Routing

Inter Domain QoS Routing using VS scheme

QoS-Aware Hierarchical Multicast Routing on Next Generation Internetworks

Distributed Load-Sensitive Routing for Computationally-Constrained Flows

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Reversing Ticket Based Probing Routing Protocol for MANET

An Efficient Bandwidth Estimation Schemes used in Wireless Mesh Networks

A Finite State Mobile Agent Computation Model

A Heuristic Algorithm for the Multi-constrained Multicast Tree

Branch-and-Bound Algorithms for Constrained Paths and Path Pairs and Their Application to Transparent WDM Networks

Performance Analysis of Cell Switching Management Scheme in Wireless Packet Communications

High Capacity Reversible Watermarking Scheme for 2D Vector Maps

Application of Rough Set for Routing Selection Based on OSPF Protocol

Low Overhead Geometric On-demand Routing Protocol for Mobile Ad Hoc Networks

Bi-directional Search in QoS Routing

An Iterative Greedy Approach Using Geographical Destination Routing In WSN

An Approximation Algorithm for Connected Dominating Set in Ad Hoc Networks

A 2k-Kernelization Algorithm for Vertex Cover Based on Crown Decomposition

Wavelength Assignment in a Ring Topology for Wavelength Routed WDM Optical Networks

Analyzing Outlier Detection Techniques with Hybrid Method

Computing a Path subject to Multiple Constraints: Advances and Challenges

Algorithms for Minimum m-connected k-dominating Set Problem

AN ALGORITHM OF LOW-COST MULTICAST BASED ON DELAY AND DELAY VARIATION CONSTRAINT

Hierarchical Addressing and Routing Mechanisms for Distributed Applications over Heterogeneous Networks

Intra and Inter Cluster Synchronization Scheme for Cluster Based Sensor Network

Throughput-Optimal Broadcast in Wireless Networks with Point-to-Multipoint Transmissions

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

Investigation of QoS Multicast Routing Based on Intelligent Multiple Constrained

Nodes Energy Conserving Algorithms to prevent Partitioning in Wireless Sensor Networks

An improved energy Minimum Connected Dominating Sets Construction Algorithm in MANET Zifen YANG 1, a, Guoqiang LI 1, b Li LIU 1, c

Dynamic Minimal Spanning Tree Routing Protocol for Large Wireless Sensor Networks

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

Efficient Broadcast Algorithms To Reduce number of transmission Based on Probability Scheme

Research on Relative Coordinate Localization of Nodes Based on Topology Control

Virtual Multi-homing: On the Feasibility of Combining Overlay Routing with BGP Routing

Performance Evaluation of Mesh - Based Multicast Routing Protocols in MANET s

Self Organizing Sensor Networks Using Intelligent Clustering

On minimum m-connected k-dominating set problem in unit disc graphs

For example, in the widest-shortest path heuristic [8], a path of maximum bandwidth needs to be constructed from a structure S that contains all short

COPACC: A Cooperative Proxy-Client Caching System for On-demand Media Streaming

Multipath Routing for Video Unicast over Bandwidth-Limited Networks

On the Complexity of Broadcast Scheduling. Problem

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol

ON THE COMPLEXITY OF THE BROADCAST SCHEDULING PROBLEM

The Encoding Complexity of Network Coding

Network Topology Control and Routing under Interface Constraints by Link Evaluation

The Memetic Algorithm for The Minimum Spanning Tree Problem with Degree and Delay Constraints

Learning the Three Factors of a Non-overlapping Multi-camera Network Topology

Literature Review on Characteristic Analysis of Efficient and Reliable Broadcast in Vehicular Networks

On Performance Evaluation of Reliable Topology Control Algorithms in Mobile Ad Hoc Networks (Invited Paper)

A Graph-theoretic QoS-aware Vulnerability Assessment for Network Topologies

The Impact of Clustering on the Average Path Length in Wireless Sensor Networks

Mobile Sink to Track Multiple Targets in Wireless Visual Sensor Networks

THE goal of quality-of-service (QoS) routing is to find a

Multicast Protocol using Bounded Flooding (QMBF) technique.

FUTURE communication networks are expected to support

Routing Algorithms McGraw-Hill The McGraw-Hill Companies, Inc., 2001

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, July 18, ISSN

OPTIMAL MULTI-CHANNEL ASSIGNMENTS IN VEHICULAR AD-HOC NETWORKS

A LOAD-SENSITIVE QOS ROUTING ALGORITHM IN BEST-EFFORT ENVIRONMENT

Precomputation Schemes for QoS Routing

Novel Cluster Based Routing Protocol in Wireless Sensor Networks

MultiHop Routing for Delay Minimization in WSN

Minimal Test Cost Feature Selection with Positive Region Constraint

Computation of Multiple Node Disjoint Paths

Mobile Element Scheduling for Efficient Data Collection in Wireless Sensor Networks: A Survey

A Database Redo Log System Based on Virtual Memory Disk*

Routing and Traffic Engineering in Hybrid RF/FSO Networks*

Meshlization of Irregular Grid Resource Topologies by Heuristic Square-Packing Methods

Reliability Problem on All Pairs Quickest Paths

Enhancement of the CBT Multicast Routing Protocol

MPBCA: Mobility Prediction Based Clustering Algorithm for MANET

An Edge-Swap Heuristic for Finding Dense Spanning Trees

Virtual Circuit Blocking Probabilities in an ATM Banyan Network with b b Switching Elements

A Selection Function Based Distributed Algorithm for Delay-Constraint Least-Cost Unicast Routing

Quality-of-Service Routing Antti Pietiläinen Nokia Research Center P.O. Box 422, FIN NOKIA GROUP

Multi-Hop Virtual MIMO Communication using STBC and Relay Selection

Delayed reservation decision in optical burst switching networks with optical buffers

Adaptive Weight Functions for Shortest Path Routing Algorithms for Multi-Wavelength Optical WDM Networks

Edge-Based Beaconing Schedule in Duty- Cycled Multihop Wireless Networks

Implementation of an Algorithmic To Improve MCDS Based Routing In Mobile Ad-Hoc Network By Using Articulation Point

New Optimal Load Allocation for Scheduling Divisible Data Grid Applications

Splitter Placement in All-Optical WDM Networks

Some Approximation Algorithms for Constructing Combinatorial Structures Fixed in Networks

and coverage as the nodes can act both as clients and routers. In this paper, the clients are distributed using four different

Connectivity Aware Routing a Method for Finding Bandwidth Constrained Paths Over a Variety of Network Topologies

Energy and Power Aware Stable Routing Strategy for Ad hoc Wireless Networks based on DSR

Multi-Rate Interference Sensitive and Conflict Aware Multicast in Wireless Ad hoc Networks

Dynamic Cooperative Routing (DCR) in Wireless Sensor Networks

Distributed Clustering Method for Large-Scaled Wavelength Routed Networks

A Boosting-Based Framework for Self-Similar and Non-linear Internet Traffic Prediction

DELAY-CONSTRAINED MULTICAST ROUTING ALGORITHM BASED ON AVERAGE DISTANCE HEURISTIC

Copyright Warning & Restrictions

Simulating a Finite State Mobile Agent System

A Cluster-Based Energy Balancing Scheme in Heterogeneous Wireless Sensor Networks

Transcription:

Clustering-Based Distributed Precomputation for Quality-of-Service Routing* Yong Cui and Jianping Wu Department of Computer Science, Tsinghua University, Beijing, P.R.China, 100084 cy@csnet1.cs.tsinghua.edu.cn, jianping@cernet.edu.cn Abstract. As a potential solution to provide quality of service (QoS) for next-generation IP networks, QoS routing (QoSR) seeks to find a multi-constrained path, where the scalability and routing performance are still open problems. We propose a novel Clustering-based Distributed Precomputation algorithm (CDP) for multi-constrained QoSR. After dominating path selection is analyzed to omitting numerous dominated paths, a clustering technique is further presented for dominating path aggregation in routing computation. These two techniques in turn achieve efficient aggregation of the QoS routing table. CDP greatly decreases the computational complexity on a single node by utilizing the distributed computation on each node in the network. Simulation results confirm that CDP not only has low computational complexity, but also achieves high routing performance with good scalability on both QoS parameters and the network scale. 1 Introduction The next-generation Internet based on IP networks is expected to support applications with diverse quality-of-service (QoS) requirements [1][2]. As an important method to provide QoS, QoS routing (QoSR) seeks to find a feasible path satisfying multiple constraints for each QoS application, and thus performs QoS control on the level of path selection from numerous paths in the network [3][4][5][6][7][8]. Since the bandwidth is heavily limited and transmission delay is relatively large in wireless networks, QoSR becomes an important potential solution for QoS control in the next-generation wireless networks. This paper proposes a novel solution to the general QoSR problem with diverse QoS parameters: Clustering-based Distributed Precomputation (CDP). In CDP, each node, maintaining a QoS routing table, broadcasts its routing table to all of its neighbors, while receiving the routing information sent by its neighbors. In order to reduce the QoS routing table, we introduce dominating path selection and propose the * Supported by: (1) the National Natural Science Foundation of China (No. 60403035); (2) the National Major Basic Research Program of China (No. 2003CB314801). V.S. Sunderam et al. (Eds.): ICCS 2005, LNCS 3515, pp. 551 558, 2005. Springer-Verlag Berlin Heidelberg 2005

552 Y. Cui and J.P. Wu clustering-based aggregation of dominating paths, which achieve high routing performance for CDP with low computational complexity and good scalability. The rest of this paper is organized as follows. The problem formulation is given in Section II. We analyze the dominating paths and propose the algorithm in Section III. In Section IV, CDP is evaluated by extensive simulations. Finally, conclusions appear in Section V. 2 Problem Formulation A directed graph G ( V, E) presents a network. V is the node set and the element v V is called a node representing a router in the network. E is the set of edges representing links that connect the routers. The element e ij E represents the edge e = v i v j in G. In QoSR, each link has a group of independent weights ( w 0 ( e), w1 ( e), Λ, w k 1 ( e )), + which is also called QoS weight w (e), where wl () e R for l = 0,1, L, k 1. QoS weights can be divided into three classes: additive (e.g. cost, delay), multiplicative (e.g. loss rate) and concave (e.g. available bandwidth) [3]. In this paper wl ( e ) ( l = 0,1, L, k 1 ) can be any kind of QoS parameters. Since multiplicative parameters can be transformed into additive constraints, we only consider additive and concave constraints. Accordingly, for a path + p = v v Λ w l ( e) R and 0 l k 1, the path weight ( p) = 0 1 v j, j i = 1 wl ( vi 1 vi ) if w l (e) satisfies the additive characteristic, or w l ( p) = j j i= 1 wl ( vi 1 vi ) if w l (e) is multiplicative, or w l ( p) = maxi = 1 wl ( vi 1 vi ) if w l (e) is concave. Definition 1. Feasible path For a given graph G ( V, E), source node s, destination node t, k 2 and a constraint vector c = ( c0, c1, Λ, ck 1), the path p from s to t is called a feasible path, if wl ( p) c l for any l = 0,1, Λ, k 1 (if w l ( p) represents the available bandwidth of path p, it should be ( p) c ). We write w( p) c in brief. w l Note: w (e) and c are both k-dimensional vectors. For a given QoS request with its constraint c, QoSR seeks to find a feasible path p satisfying w( p) c based on the network state information. In addition to the traditional destination and the next hop, QoS routing tables need to maintain the QoS weight w ( p) of each path. When a QoS flow (packet) arrives at a node, the node only seeks to find a feasible path in the table and forwards the flow (packet) to the next hop accordingly. Definition 2. Extended distance vector For a given path p from source s to destination t, (s,t,w(p)) is called the extended distance vector of path p. w l

Clustering-Based Distributed Precomputation for Quality-of-Service Routing 553 Each node in the network converts the items in the routing table it maintains into extended distance vectors, and then sends them to its neighbors. Based on these vectors received by each node, a node computes its routing table with CDP. 3 Dominating Path Aggregation Since there are different paths between two nodes in an ordinary network, a lot of routes may exist for a certain destination in the QoS routing table. Multi-constrained QoSR is an NPC problem [9] [5], so the number of routes may increases exponentially with the network scale. In order to increase the scalability of the QoSR, it is necessary to restrict the number of routes to a certain destination. Tome recent research results show that a few distinctive routes can represent the numerous paths and satisfy most QoS requests [2] [10]. 3.1 Dominating Path Path set P <s,t> denotes a set of paths with the same pair of source and destination <s,t>, i.e. p P <s,t> is a path from s to t. Definition 3. Dominating path For a given none-empty path set P <s,t> and p P <s,t>, if there is no path p' P <s,t> satisfying w ( p ) < w( p), path p is call a dominating path on P <s,t>. The dominating relationship between the paths in path set P <s,t> is a partial order, resulting in that P <s,t> is a partially ordered set. Therefore, multiple minimum elements (dominating paths) may exist in P <s,t>. Theorem 1. Routing performance will not be decreased by omitting none-dominating paths from none-empty path set P <s,t>. Proof: For a none-dominating path p P <s,t>, there must be a dominating path p P <s,t> with w ( p ) < w( p). For any QoS request from s to t with constraint c, if p is a feasible path, i.e. w( p) c, then w ( p ) < c, i.e. p is also a feasible path for c. After the omission of p from P <s,t>, P <s,t> still has the element p P <s,t> that satisfies the request. Thus, the omission does not decrease the routing performance. Therefore, each node in the network may omit a lot of none-dominating paths from P<s,t> in the distributed routing process, and only maintains dominating paths for routing computation and communication. Definition 4. Dominating path set For a given none-empty path set P <s,t>, if p P <s,t> is a dominating path on P <s,t>, P <s,t> is called a dominating path set. Definition 5. Maximum dominating path set For a given none-empty path set P <s,t> and a dominating path set A P <s,t>, if p P <s,t> -A, p' A that wp ( ') < wp ( ). A is called the maximum dominating path set on P <s,t>, where A is denoted by D <s,t>.

554 Y. Cui and J.P. Wu Since the maximum dominating path set D <s,t> is independent to the method by which D <s,t> is computed or selected from P <s,t>, we omit the detailed method to calculate D <s,t> in the paper. w 2 w 2 w 2 w( p a 1) w( 2 ) p a w( p 1 ) a w( p 2 ) a Feasible area Class 1 Feasible area w( p 1 ) b w( 2 ) p b w 1 w( p b 1) w( 2 ) p b w 1 Class 2 w 1 a. Mapping path to point b. Random aggregation c. Clustering-based aggregation Fig. 1. Aggregation of dominating paths (R=2) 3.2 Clustering-Based Dominating Path Aggregation Ordinarily speaking, the selection of dominating path can eliminate a lot of paths to improve the scalability without reducing the routing performance. However, in some large-scale networks, dominating paths for a certain <s,t> may still be numerous, or even be exponential to the network scale [11]. In order to improve the scalability, it needs to restrict the maximum number of dominating paths for a certain <s,t>. Definition 6. Maximum reduplication R The maximum number of dominating paths for a given <s,t> is called the maximum reduplication, denoted as R. According to the maximum reduplication R, each node needs to guarantee that the routes to a certain destination should be no more than R. We then analyze how to select R representative paths to satisfy QoS requests as much as possible in the QoS weight space. In a network with k QoS weights, the weight w(p) of path p can be regarded as a point (or vector) in the k-dimensional Euclidean Space. Thus, the maximum dominating path set D <s,t> represents a point set in the k-dimensional Euclidean space. As an example shown in Fig. 1.a, the set D <s,t> includes 4 dominating paths in the QoS weight space with k=2. We choose R=2, i.e. we need to select 2 paths into the QoS routing table from the 4 paths to improve the scalability. One possible method is random selection, where path p a1 and p a2 may be selected as shown in Fig. 1.b. For any QoS request with constraint c, if a selected path p satisfies w( p) c, p can be taken as the feasible path for the request. Therefore, the shadowed area in the figure represents the feasible area for requests. In order to select a more representative path from D <s,t> to enlarge the feasible area, another possible method is to aggregate dominating paths to R classes by clustering, and then select one path from each class. Fig. 1.c shows a possible result of the clustering-based aggregation, where p a1 and p a2 aggregate to class 1 while p b1 and p b2 compose class 2. Thus, a path is then selected from each class to

Clustering-Based Distributed Precomputation for Quality-of-Service Routing 555 construct the feasible area. The clustering-based aggregation is generally easier to satisfy a QoS request than the random process. Aggregation_Program (D<s,t>, R, T) 1) times=0 /* iteration times */ 2) AR(t)=? /* aggregated paths */ 3) Select R paths to PR randomly 4) D<selected> = w(p) of R paths in PR 5) Label R points in D<selected> 6) DO 7) FOR EACH path p in D<s,t> 8) Find nearest point q in D<selected> 9) Label p as q's label 10) FOR EACH label 11) IF path exists for label in D<s,t> 12) q = average w(p) of p in D<s,t> with label 13) Replace original point by q in D<selected> 14) ELSE /* i.e. path does NOT exist for label */ 15) find the w(p) farthest to the point with label 16) Replace original point by w(p) in D<selected> 17) times=times+1 18) WHILE times<t AND D<selected> changed 19) FOR EACH point in D<selected> 20) Add nearest path p in D<s,t> to AR(t) 21) RETURN AR(t) The above Aggregation_Program shows the pseudo-code for clustering-based aggregation of dominating paths. The input of the algorithm includes the dominating path set D <s,t> computed by node s with the destination t, the maximum reduplication R and the maximum number of iterations T for clustering. P R is the initial path set with R paths randomly selected from D <s,t>. D <selected> is a set of R points in the Euclidean Space rather than a set of paths, where each point represents a clustered class. The output of the algorithm A R (t) is R paths to destination t after clustering, i.e. the routes from s to t. The algorithm initializes the maximum iteration number, the path set A R, the dependency of routing table to dominating paths, D <selected> as the random R paths from D <s,t> and the label of each point in D <selected> where D <selected> is a point set in the Euclidean Space rather than a path set. (Line 1-5). It then performs the iteration of labeling procedure, which includes the following 3 steps: (1) Labeling each path in D <s,t> (Line 7-9): for each path in D <s,t>, find in D <selected> the point nearest in Euclidean distance to the path and label the path as the label of the point. (2) Generating the new point set D <selected> (Line 10-16): for each label, compute the average QoS weight of all of the paths with the label, and replace the original point with the label in D <selected> by this average weight (Line 11-13). If no paths exist for a certain label, the point is then replace by the weight of the farthest path to the original point with the label (Line 14-16). (3) The labeling procedure iterates until the maximum iteration number reaches or D <selected> is not changed in the iteration (Line 17-18). After the above iteration procedure, for each point in D <selected>, the algorithm finds the path in D <s,t> nearest in Euclidean distance to the point. These paths compose the routes from s to t.

556 Y. Cui and J.P. Wu 4 Performance Evaluation Simulation results in this section show the performance evaluations of the following different algorithms. (1) CDP (i.e. the proposal in the paper). (2) CDP without clustering-based aggregation, i.e. to randomly select R paths from the dominating path set as the routes. This algorithm can be taken as the distributed extension to the path-limited heuristic proposed by Yuan, where Yuan s heuristic is a centralized algorithm [11], this algorithm is denoted as D-Yuan. The comparison between CDP and D-Yuan will show the efficiency of clustering-based aggregation. (3) CDP without both clustering aggregation and dominating path selection, i.e. to randomly select R route from the extended distance vectors maintained by a node, denoted as DPRnd. This comparison between D-Yuan and DPRnd will show the efficiency of dominating path selection. (4) MEFPA, a well performed centralized precomputation algorithm in literatures [2]. We set the number of weight divisions b=5 and k 1 R C b+ k 2 in MEFPA, and keep the number of routes consistent in the four algorithms in each simulation. We propose the spindle network topology, as shown in Fig. 2, for the comparison of different routing algorithms. Src is the source node, where the final routing tables are compared in different algorithms. In the network, a single link exists between Src and each NB node, while multiple duplicate links exists between each NB and Dst. The number of links between an NB and Dst is denoted DupNum, and DupNum links represent that there are numerous different paths from NB to Dst. In the simulations, we set (1) degree=10 for Src, i.e. 10 neighbors, (2) DupNum = 40, 200, 1000, 5000, respectively, (3) QoS weight number k = 2, 3, 4, 5, respectively, (4) w l (e) ~ uniform[1,1000] for l = 0,1, Λ, k 1, where w l (e) have no correlation for different e or l. (5) QoS request from Src to Dst with the constraint c. Since the average weight of path p from Src to Dst is w l ( p) =1000 for l = 0,1, Λ, k 1, we select c l obeying Gaussian probability distribution with mean µ = 1000 and deviation σ = 1000 / 3. The routing performance is evaluated by the routing success ratio [2][6][7]. Computational complexity is then evaluated by running time of algorithms. NB1 L2... L1 Src NB2 L1 Lnum Dst... Lnum... L1... NB10 Lnum Fig. 2. Spindle network topology

Clustering-Based Distributed Precomputation for Quality-of-Service Routing 557 Success ratio (%) 100 90 80 70 60 50 MEFPA CDP D-Yuan DPRnd Running time (msec) 160 140 120 100 80 60 40 MEFPA CDP D-Yuan DPRnd 40 20 30 2 3 4 5 QoS weight number 0 2 3 4 5 QoS weight number a. routing performance comparison b. running time comparison Fig. 3. Performance evaluation of four algorithms with different weight number Fig.3 show the performance of these four algorithms with DupNum=1000 for large-scale networks and weight number k=2,3,4,5. The success ratio in Fig. 3a shows DPRnd < D-Yuan < CDP MEFPA in routing performance, which confirms that both dominating path selection (D-Yuan) and clustering-based aggregation (CDP) improve the routing performance effectively. Considering the QoS weight number, DPRnd and D-Yuan degrade their performance heavily with increasing k, while MEFPA and CDP sustain their performance. Although centralized MEFPA achieves a high performance by making overall plans and taking all factors into consideration on Src, the routing performance of distributed CDP is still comparable with that of MEFPA. From the running time comparison shown in Fig. 3b, the distributed algorithms, DPRnd, D-Yuan and CDP, greatly excel the centralized MEFPA, especially in large-scale networks. In fact, the computation of centralized MEFPA is based on the whole network state information, while the input information is only O(dR) for a given destination in distributed algorithms, e.g. CDP. In a real large network with complex topology, MEFPA may need more computational resources to create a shortest path tree, while CDP is independent of the network topology. Although MEFPA compute the whole routing table every time, the frequent changes of network state overload each node in the large-scale QoS network. If a long hold timer is used to reduce the computation frequency, a large staleness may lower the routing performance [12]. Therefore, considering both routing performance and running time shown in Fig.3, the advantages are apparent to deploy CDP rather than MEFPA in real IP networks. 5 Conclusion QoSR algorithms in literature often have some limitations including connection orientation, centralized computation and limited types of QoS weights. In this paper, we introduced the extended distance vectors to support diverse QoS parameters and proposed a clustering-based distributed precomputation QoSR algorithm, namely CDP. We analyzed selection of dominating paths in the QoS weight space and gave the algorithm for clustering-based dominating path aggregation. Since we proved that

558 Y. Cui and J.P. Wu omitting none-dominating paths does not decrease the routing performance, the dominating path selection performs a lossless reduction of routes. Clustering-based dominating paths aggregation further reduces the number of routes with representative paths. Hence, both the dominating path selection and the clustering-based aggregation improve the routing performance and scalability effectively. Moreover, CDP adopts distributed computation, which radically reduces the computational complexity. Simulation results further confirm that CDP performs well in terms of both routing performance and scalability. References 1. X. Xiao and L. M. Ni, Internet QoS: A big picture, IEEE Network, vol. 13, no. 2, pp. 8-18, March-April 1999. 2. Y. Cui, K. Xu, J.P. Wu. Precomputation for Multi-constrained QoS Routing in High-speed Networks. In Proceedings of the IEEE INFOCOM 2003, San Francisco, CA, April 2003. 3. Y. Cui, J. P. Wu, K. Xu, et al. Research on internetwork QoS routing algorithms: a survey. Chinese Journal of Software, vol. 13, no. 11, 2065-2076, 2002. 4. S. Chen and K. Nahrstedt, An overview of quality-of-service routing for next-generation high-speed networks: Problems and solutions, IEEE Network, vol. 12, no. 6, pp. 64-79, Nov. 1998. 5. Z. Wang and J. Crowcroft. Quality-of-service routing for supporting multimedia applications. IEEE Journal on Selected Areas in Communications, vol. 14, no. 7, pp. 1228-1234, Sep. 1996. 6. Yong Cui, Ke Xu, Jianping Wu, and et al. Multi-constrained routing based on simulated annealing. IEEE ICC 2003. 7. T. Korkmaz, M. Krunz, Multi-Constrained Optimal Path Selection. IEEE INFOCOM'01, vol.2, pp. 834-843, 2001. 8. L. Xiao, K. S. Lui, J. Wang and K. Nahrstedt. QoS Extension to BGP. IEEE ICNP, 2003. 9. M. S. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, New York, 1979. 10. A. Orda and A. Sprintson, QoS routing: the precomputation perspective. IEEE INFOCOM'00, vol. 1, pp. 128-136, 2000. 11. X. Yuan, X. Liu, Heuristic Algorithms for Multi-Constrained Quality of Service Routing, IEEE INFOCOM'01, vol.2, pp. 844-853, 2001. 12. A. Shaikh, J. Rexford, K. G. Shin, Evaluating the impact of stale link state on quality-of-service routing. IEEE/ACM Transactions on Networking, vol. 9, no. 2, Apr. 2001