A Multi-Objective Optimization Scheme for Multicast Routing - CiteSeerX

0 downloads 0 Views 279KB Size Report
Keywords: mathematical programming, optimization, traffic engineering, load ..... which is practical and is suitable to implement in a Differential Services framework. ...... [15] J. Boyle, V. Gill, A. Hannan, D. Cooper, D. Awduche, B. Christian and ...
Telecommunication Systems 27:2–4, 229–251, 2004  2004 Kluwer Academic Publishers. Manufactured in The Netherlands.

A Multi-Objective Optimization Scheme for Multicast Routing: A Multitree Approach [email protected]

YEZID DONOSO

Computer Science Department, Universidad del Norte, Barranquilla, Colombia RAMON FABREGAT and JOSE L. MARZO

{ramon;marzo}@eia.udg.es

Institut d’Informàtica i Aplicacions, Universitat de Girona, Girona, Spain

Abstract. In this paper, we propose a multi-objective traffic engineering scheme using different distribution trees to multicast several flows. The aim is to combine into a single aggregated metric, the following weighting objectives: the maximum link utilization, the hop count, the total bandwidth consumption, and the total end-to-end delay. Moreover, our proposal solves the traffic split ratio for multiple trees. We formulate this multi-objective function as one with Non Linear programming with discontinuous derivatives (DNLP). Results obtained using SNOPT solver show that several weighting objectives are decreased and the maximum link utilization is minimized. The problem is NP-hard, therefore, a novel SPT algorithm is proposed for optimizing the different objectives. The behavior we get using this algorithm is similar to what we get with SNOPT solver. The proposed approach can be applied in MPLS networks by allowing the establishment of explicit routes in multicast events. The main contributions of this paper are the optimization model and the formulation of the multi-objective function; and that the algorithm proposed shows polynomial complexity. Keywords: mathematical programming, optimization, traffic engineering, load balancing, multicast

1.

Introduction

Traffic engineering is concerned with optimizing the performance of operational networks. The main objective is to reduce congestion hot spots and improve resource utilization. This can be achieved by setting up explicit routes over the physical network in such a way that the traffic distribution is balanced across several traffic trunks [Kim et al., 29]. This load balancing technique can be achieved by a multicommodity network flow formulation [Ahuja et al., 7; Bazaraa et al., 11, 12] which leads to the traffic being shared over multiple routes between the ingress node and the egress nodes in order to avoid link saturation and hence the possibility of congestion. When we translate this balancing technique into a mathematical formulation, the main objective is to minimize the maximum link utilization. When the network is congested, minimizing the maximum link utilization involves (1) minimizing the congestion of links,

230

DONOSO ET AL.

(2) reducing the total packet delay, and (3) minimizing the total packet loss. One solution is the multipath approach, in which the data is transmitted over different paths to achieve the aggregated, end-to-end bandwidth requirement. Several advantages of using multipath routing are discussed in [Chen and Chan., 18]: the links do not get overused and therefore do not get congested, and so has the potential to aggregate bandwidth, allowing a network to support higher data transfer than that which is possible with any one path. However, multiple paths may require more total network bandwidth resources, i.e. sum of assigned bandwidth at each link of the paths, than the single shortest path. We can also have per-flow multipath routing where an originating node uses multiple paths for the same flow, i.e. each flow is split along multiple subflows. The split ratio is fed to the routers which divide the traffic of the same ingress-egress nodes pair into multiple paths. Several papers [Rost and Balakrishnan, 35; Cetinkaya and Knightly, 17; Sridharan et al., 39; Vutukury and Garcia, 41; Cho et al., 19] address the splitting multipath problem of unicast traffic, motivated by its importance in any complete traffic engineering solution. Traffic splitting is executed for every packet in the packet-forwarding path. A simple method to partition the input traffic is on a per-packet basis, for example, in a round-robin fashion. However, this method suffers from the possibility of excessive packet reordering and is not recommended in practice. Villamizar [40] tries to balance the load among multiple LSPs according to the loading for each path. In MPLS networks [Rosen et al., 34] multiple paths can be used to forward packets belonging to the same “forwarding equivalent class” (FEC) by explicit routing. The distribution of load among a set of alternate path is determined by the amount of number space from a hash computation allocated to each path. Effective use of load balancing requires good traffic distribution schemes. In [Cao et al., 16] the performance of several hashing schemes for distributing traffic over multiple links while preserving the order of packets within a flow is studied. Although hashing-based load balancing schemes have been proposed in the past, [Cao et al., 16] is the first comprehensive study of their performance using real traffic traces. In [Rost and Balakrishnan, 35] propose a multi-path transmission between sources and destinations. The current configurations in computer networks provide an opportunity for dispersing traffic over multiple paths to decrease congestion. In this work dispersion involves the (1) splitting; and (2) forwarding of the resulting portions of aggregate traffic along alternate paths. The authors concentrate on (1): methods that allow a network node to subdivide aggregate traffic, and they offer a number of traffic splitting policies which divide traffic aggregates according to the desired fractions of the aggregate rate. Their methods are based on semi-consistent hashing of packets to hash regions as well as prefix-based classification. Multicast connections are connections between one or more senders and a number of members of a group. The aim of multicasting is to be able to send data from a sender to the members of a group in an efficient manner [Ammar et al., 8]. Many multicast applications, such as audio and videoconferencing or collaborative environments

MULTI-OBJECTIVE OPTIMIZATION SCHEME

231

and distributed interactive simulation, have multiple quality-of-service requirements on bandwidth, packet delay, packet loss, cost, etc. In multicast transmission, the load balancing consists of traffic being split (using the multipath approach) across multiple trees, between the ingress node and the set of egress nodes. The MPLS community has focused its effort mainly on the label switching of unicast IP traffic, leaving the sections on multicast in the main MPLS documents [Rosen et al., 34] and [Andersson et al., 9] virtually empty, and is to be addressed in future studies. Based on this, there are some proposals about supporting multicast in MPLS networks. A framework for MPLS multicast traffic engineering proposed by [Ooms et al., 32] gives an overview about the application of MPLS techniques to IP multicast. Another proposal is aggregated multicast [Fei et al., 25] where instead of constructing a tree for each individual multicast session, one can have multiple individual multicast sessions sharing a single aggregated tree to reduce multicast state and, correspondingly, tree maintenance overhead. Using MPLS with multicast has many benefits not only for reducing multicast forwarding states but also for traffic engineering and QoS issues. In [Boudani and Cousin, 13] approach, multicast packets will be sent from a branching node router to another, but authors are not obliged to follow the same path constructed by conventional multicast protocols. By using different LSPs, load balancing is ensured. Another proposals explain how to distribute labels for unidirectional multicast trees [Ooms et al., 32] and for bidirectional trees’ label distribution [Cui et al., 21]. Boudani et al. [14] proposes a simulator for multicast routing over an MPLS network by extending MPLS Network Simulator (MNS) [Ahn and Chun, 5]. To provide MPLS traffic engineering [Awduche et al., 10] for a point-to-multipoint (P2MP) application in a efficient manner in a large scale environment, P2MP TE mechanisms are required [Aggarwal et al., 4]. Existing MPLS point-to-point (P2P) mechanisms have to be enhanced to support P2MP TE LSP setup. Yasukawa et al. [43] presents a set of requirements for P2MP TE extensions to MPLS. The computation of P2MP TE paths is implementation dependent and is beyond the scope of the solutions that are built with [Yasukawa et al., 43] as a guideline. The path information which could have been computed by some off-line or on-line algorithms. This paper is based on two theories: the multi-objective optimization and the maximum flow theories. The multi-objective optimization proposed is based on weighting methods [Cohon, 20], the aim of which is to obtain an efficient solution for several weighting objectives, where any improvement in one objective can only be achieved at the expense of another. In our proposal, the main objective is to minimize the maximum link utilization (MLU, denoted generally as α), the hop count (HC), the total bandwidth consumption (BC), and the total end-to-end delay (DL). Furthermore, we propose a load-balancing scheme to create multiple trees. The solution obtained in this paper will build multiple trees for transporting several multicast flows. With this load balancing technique, each flow is split across multiple LSPs [Wang et al., 42] depending on the solution obtained.

232

DONOSO ET AL.

Figure 1. Flow from N0 to {N5,N8,N11} is split into two sub flows, and each one is sent along one “multiple LSP”: {(0, 1), (1, 6), (6, 5), (6, 9), (9, 8), (9, 11)} and {(0, 2), (2, 7), (7, 8), (2, 4), (4, 5), (4, 10), (10, 11)}. The flow fraction along each “multiple LSP” is 0.72 and 0.28, respectively. Note that the total flow coming from each egress node is 1.

The maximum flow problem is given by: in a capacitated network, we wish to send as much flow as possible between an ingress node and egress node without exceeding the capacity of any link. These algorithms are of two types: (1) Augmenting path algorithms that maintain mass balance constraints at every node of the network other than the ingress and egress nodes. These algorithms incrementally augment flow along paths from the ingress node to the egress node. (2) Preflow-push algorithms that flood the network so that some nodes have excesses (or buildup of flow). These algorithms incrementally relieve flow from nodes with excesses by sending flow from the node forward toward the egress node or backward toward the ingress node [Ahuja et al., 6, 7]. In our algorithm, we use the flow maximum theory when we send the demand of the flow through the different trees with its bandwidth bound. Table 1 summarizes several maximum flow algorithms. The rest of this paper is organized as follows: in section 2, we describe some related studies. In section 3, we propose the multi-objective load-balancing scheme. In section 4, we propose a heuristic algorithm to solve the multi-objective problem presented previously. In section 5, we present a performance analysis. Finally, in section 6, we give our conclusions and suggestions for further study. 2.

Related work

Various traffic engineering solutions using techniques to balance loads by multiple routes have been designed and analyzed in different studies which attempt to optimize a cost function subject to constraints induced from QoS requirements of the application.

MULTI-OBJECTIVE OPTIMIZATION SCHEME

233

Augmenting path algorithm

Table 1 Summary of maximum flow algorithms Algorithm

Author(s)

Running time

Features

Labeling

[Ford and Fulkerson (1956)]

O(nmU )

1. Maintains a feasible flow and augments flows along directed paths in the residual network from node s to node t 2. Easy to implement and very flexible 3. Running time is pseudopolynomial: the algorithm is not very efficient in practice

Dinic

[Dinic (1970)]

O(n2 m)

1. This algorithm augments flow along those paths P in the layered network 2. This algorithm does not allow traversing the links of the layered network in the opposite direction

Capacity scaling

[Gabow (1985); Ahuja and Orlin (1991)]

O(nm log U ) 1. A special implementation of the labeling algorithm 2. Augments flows along paths from node s to node t with sufficiently large residual capacity 3. Unlikely to be efficient in practice

Successive shortest path algorithm

[Ahuja and O(n2 m) Orlin (1991)]

1. Another special implementation of the labeling algorithm 2. Augments flow along the shortest directed path from node s to node t in the residual network 3. Uses distance labels to identify shortest paths from node s to node t. 4. Relatively easy to implement and very efficient in practice

Karzanov

[Karzanov O(n3 ) (1974)]

1. A special implementation of the preflowpush algorithm, but pushes flow from the ingress node to the egress node using layered networks instead of distance labels

Generic preflow-push

[Goldberg O(n2 m) and Tarjan (1986)]

1. Maintains a pseudoflow; performs push/ relabel operations at active nodes 2. Very flexible; can examine active nodes in any order 3. Relatively difficult to implement because an efficient implementation requires the use of several heuristics

FIFO preflow-push

[Goldberg O(n3 ) and Tarjan (1986)]

1. A special implementation of the generic preflow-push algorithm 2. Examines active nodes in the FIFO order 3. Very efficient in practice

234

DONOSO ET AL.

Preflow-push algorithms

Table 1 (Continued). Algorithm

Author(s)

Highest-label preflow-push

[Goldberg and Tarjan (1986)]

Lowest-label preflow-push

[Goldberg and Tarjan (1986)]

O(n2 m)

1. Another special implementation of the generic preflow-push algorithm 2. Examines active nodes with the highest distance label 3. Possibly the most efficient maximum flow algorithm in practice

Excess scaling

[Ahuja and Orlin (1989)]

O(nm + n2 log U )

1. A special implementation of the generic preflow-push algorithm 2. Performs push/relabel operations at nodes with sufficiently large excesses and among these nodes, selects a node with the smallest distance label 3. Achieves an excellent running time without using sophisticated data structures

Stack scaling

[Ahuja (1989)] O(nm+((n2 log U )/ 1. The Stack-scaling algorithm scales ex(log log U ))) cesses by a factor of k  2 (i.e., reduces the scale factor by a factor of k from one scaling phase to another), and always pushes flow from a large excess node with the highest distance label √ 2 [Ahuja (1989)] O(nm + n log U ) 1. The wave-scaling algorithm scales excesses by a factor of 2 and uses a parameter L whose value is chosen appropriately

Wave scaling

Running time √ O(n2 m)

Features 1. Another special implementation of the generic preflow-push algorithm 2. Examines active nodes with the highest distance label 3. Possibly the most efficient maximum flow algorithm in practice

N – number of nodes, m – number of augmentation; how many times a path is found and the residual capacity of this path increased. U = max{Uij , (i, j ) ∈ A}; maximum link capacity.

In [Rao and Batsell, 33] consider two generic routing algorithms that plan multipaths, consisting of possibly overlapping paths, wherein bandwidth can be reserved, and guaranteed, once reserved, on the links. The first problem deals with transmitting a message of finite length from ingress node to egress node within r units of time. A polynomial-time algorithm is proposed and the results of a simulation are used to illustrate its applicability. The second problem deals with transmitting a sequence of some units at such a rate that maximum time difference between the two units received out of order is limited. The authors show that this second problem is computationally intractable, and propose a polynomial-time approximation algorithm. Therefore, a Quality

MULTI-OBJECTIVE OPTIMIZATION SCHEME

235

of Service (QoS) routing via multiple paths under a time constraint is proposed when the bandwidth can be reserved. In [18], Chen and Chan propose an algorithm to carry out the unicast transmission of applications requiring minimum bandwidth through multiple routes. The algorithm consists of five steps: (a) the multipath P set is initialized as empty; (b) the maximum flow graph is obtained; (c) the shortest route from the ingress node to the egress node is obtained; (d) the bandwidth consumption obtained in the maximum flow of step (b) is decreased and (e) step (d) is repeated until the required bandwidth for transmission is reached. The results presented show very similar end-to-end delay values to those obtained independently whether or not the load balancing is being applied. However, link utilization is improved when the load balancing is applied. In [42] Wang et al. present a multi-objective optimization scheme to transport unicast flows. In this scheme, the maximum link utilization (α) and the selection of best routes based on the flow assignation through each link is considered. In this paper is considered a new approach that accomplishes traffic engineering objectives without full mesh overlaying. Instead of overlaying IP routing over the logical virtual network. Traffic engineering objectives such as balanced traffic distribution are achieved through manipulating link metrics for IP routing protocols such as OSPF. In this paper, they present a formal analysis of the integrated approach, and propose a systematic method for deriving the link metrics that convert a set of optimal routes for traffic demands to shortest path with respect to the link weights through. And the link weights can be calculated by solving the dual of a linear programming formulation. Lee et al. in [31] propose a method for transporting unicast flows. The constraint of a maximum number of hops is added to the minimization of the maximum link utilization (α). Moreover, a division of the traffic over multiple routes in a discrete way is established. This division simplifies the implementation of the solution. The behaviors of five approaches are analyzed: shortest path based on non-bifurcation, ECMP (Equal Cost Multiple Paths), traffic bifurcation, H hop-constrained traffic bifurcation and H hop-constrained traffic bifurcation with node affinity. Through the approaches of hopconstrained traffic bifurcation, a minimum value of the maximum link utilization (α) is obtained. Seok et al. in [37] propose non-bifurcation and bifurcation methods to transport multicast flows with hop-count constrained. In the analysis of results and simulations, they consider the non-bifurcation methods only. The constraint of consumption bandwidth is added to the constraints considered in [Rao and Batsell, 33]. In [Lee et al., 31] a heuristic is proposed. The proposed algorithm consists of two parts:

236

DONOSO ET AL.

(1) modifying the original graph to the hop-count constrained version, (2) finding a multicast tree to minimize the maximum link utilization (α). Aboelela and Douligeris in [1] propose a fuzzy optimization model for routing in B-ISDN networks. The proposed model challenge is to find routes for flows through paths that are not hideously expensive, according to the required QoS and do not penalize the other flows already existing or expected to arrive in the network. The model is analyzed in terms of performance under different routing scenarios. They obtained good improvements in performance compared with the traditional single metric routing techniques (number of hops or delay based routing). This improvement was achieved while maintaining a sufficient low processing overhead. Throughput has been increased and probability of congestion has been decreased by balancing the load all over the network links. Roy et al. in [36] propose a new multicast tree selection algorithm based on nondominated sorting technique of genetic algorithm to simultaneously optimize multiple QoS parameters. Simulation results demonstrate that the proposed algorithm is capable of discovering a set of QoS-based near optimal, non-dominated multicast routes within a few iterations. In this paper, they use a non-dominated sorting based genetic algorithm (NS-GA) technique to develop an efficient algorithm which determines multicast routes on-demand by simultaneously optimizing end-to-end delay guarantee, bandwidth requirements and bandwidth utilization without combining them into a single scalar objective function. Cui et al. in [22] propose an algorithm MEFPA (Multi-constrained Energy Function based Precomputation Algorithm) for a multi-constrained QoSR problem based on the analysis of linear energy functions (LEF). They assume that each node s in the network maintains a consistent copy of the global network state information. This algorithm k−1 ) coeffitakes care of each QoS metric to b degrees. It then computes B (B = Cb+k−2 cient vector that are uniformly distributed in the k-dimensional QoS metric space, and constructs one LEF for each coefficient vector. Then based on each LEF, node s uses Dijkstra’s algorithm to calculate a least energy tree rooted by s and a part of the QoS routing table. Finally, s combines the B parts of the routing table to form the complete QoS routing table it maintains. For distributed routing, for a path from s to t, in addition to the destination t and the k weights, the QoS routing table only needs to save the next hop of each path. For source routing, the end-to-end path from s to t along the least energy tree should be saved in the routing table. Therefore, when an QoS connection request arrives, it can be routed by looking up a feasible path satisfying the QoS constraints in the routing table. Cho et al. in [19] propose two multi-path constraint based routing algorithms for Internet traffic engineering using MPLS. In a normal constraint-based shortest path first (CSPF) routing algorithm, there is a high probability that it can not find a feasible path through networks for a large bandwidth constraint which is one of the most significant constraints for traffic engineering. The proposed algorithms can divide the bandwidth constraint into two or more subconstraints and find a constrained path for each subcon-

MULTI-OBJECTIVE OPTIMIZATION SCHEME

237

straint, providing there is no single path satisfying the whole constraint. Extensive simulations show that they enhance the success probability of path setup and the utilization of network resources. Abrahamsson et al. in [3] propose an intra-domain routing algorithm based on multi-commodity flow optimization which enable load sensitive forwarding over multiple paths. It is neither constrained by weight-tuning of legacy routing protocols, such as OSPF, nor requires a totally new forwarding mechanism, such as MPLS. These characteristics are accomplished by aggregating the traffic flows destined for the same egress into one commodity in the optimization and using a hash based forwarding mechanism. The aggregation also results in a reduction of computational complexity which makes the algorithm feasible for on-line load balancing. Another contribution is the optimization objective function which allows precise tuning of the tradeoff between load balancing and total network efficiency. Sridharan et al. in [39] propose an approach that remedies two main difficulties in optimal routing. The first is that these protocols use shortest path routing with destination based forwarding. The second is that when the protocols generate multiple equal cost paths for a given destination routing prefix, the underlying forwarding mechanism performs load balancing across those paths by equally splitting traffic on the corresponding set of next hops. These added constraints make it difficult or impossible to achieve optimal traffic engineering link loads. It builds by taking advantage of the fact that shortest paths can be used to achieve optimal link loads, but it is compatible with both destination based forwarding and even splitting of traffic over equal cost paths. Compatibility with destination based forwarding can be achieved through a very minor extension to the result of [Wang et al., 42], simply by taking advantage of a property of shortest paths and readjusting traffic splitting ratios accordingly. Accommodating the constraint of even splitting of traffic across multiple shortest paths is a more challenging task. The solution we propose leverages the fact that current day routers have thousands of route entries (destination routing prefixes) in their routing table. Instead of changing the forwarding mechanism responsible for distributing traffic across equal cost paths, we plan to control the actual (sub)set of shortest paths (next hops) assigned to routing prefix entries in the forwarding table(s) of a router. Fortz and Thorup in [26] propose to optimize the weight setting based on the projected demands. They showed that optimizing the weight settings for a given set of demands is NP-hard, so they resorted to a local search heuristic. They found weight settings that performed to within a few percent from that of the optimal general routing where the flow for each demand is optimally distributed over all paths between source and destination. This contrasts the common belief that OSPF routing leads to congestion and it shows that for the network and demand matrix studied we cannot get a substantially better load balancing by switching to the proposed more flexible Multi-protocol Label Switching (MPLS) technologies. Cetinkaya and Knightly in [17], introduce Opportunistic Multipath Scheduling (OMS), a technique for exploiting short term variations in path quality to minimize delay, while simultaneously ensuring that the splitting rules dictated by the routing protocol

238

DONOSO ET AL.

are satisfied. In particular, OMS uses measured path conditions on time scales of up to several seconds to opportunistically favor low-latency high-throughput paths. However, a naive policy that always selects the highest quality path would violate the routing protocol’s path weights and potentially lead to oscillation. Consequently, OMS ensures that over longer time scales relevant for traffic management policies, traffic is split according to the ratios determined by the routing protocol. A model of OMS is developed and an asymptotic lower bound on the performance of OMS as a function of path conditions (mean, variance, and Hurst parameter) for self-similar traffic is derived. Vutukury and Garcia in [41] propose a traffic engineering solution that, for a given long-term traffic matrix, adapts the minimum-delay routing to the backbone networks which is practical and is suitable to implement in a Differential Services framework. A simple scalable packet forwarding technique that distinguishes between datagram and traffic that requires in-order delivery and forwards them accordingly and efficiently is introduced. Hachimi et al. in [28] propose a hybrid label aggregation algorithm in order to solve multicast scalability problem and provide a solution for multicast in MPLS support DiffServ. In the proposed scheme, one label is assigned per multicast group (logical aggregation) and different multicast groups sharing the same interface in a router are aggregated locally (physical aggregation). In order to support the proposed algorithm, we proposed a separate treatment and labels space (prime numbers only) for multicast traffic. The proposed solution allows consuming fewer labels, reducing the forwarding table and consequently the total packet processing delay. Kim et al. in [30] suggests a method to improve network performance by appropriately distributing traffic in accordance with the state of paths, against dynamic traffic pattern occurring in a short time, in a multipath environment. TEAM (TE using an Adaptive Multipath-forwarding) is one of traffic engineering (TE) algorithms that aims to improve network performance by properly distributing traffic against dynamic traffic pattern occurring in a short time scale. This method monitors states of paths by using probe packet in the ingress node of the network and computes costs of path with monitored values. Path costs consist of weights given in paths, like packet’s delay and loss rate, the number of hops and the number of LSPs. This enables to adapt to state of network without a sudden change by tracing neighboring solutions from an existing solution. Therefore, it is observed that network performance is improved when the total costs of paths of the whole network are minimized. Also, by distributing traffic into each interface using table-based hashing method, the ordering of packets problem is solved. Song et al. in [38] proposes an adaptive multipath traffic engineering mechanism named LDM (Load Distribution over Multipath). The main goal of LDM is to enhance the network utilization as well as the network performance by adaptively splitting traffic load among multiple paths. LDM takes a pure dynamic approach not requiring any a priori traffic load statistics. Routing decisions are made at the flow level and traffic proportioning reflects both the length and the load of a path. LDM also dynamically selects a few good Label Switched Paths (LSPs) according to the state of the entire network.

MULTI-OBJECTIVE OPTIMIZATION SCHEME

239

Donoso et al. in [23] we presented several static models which are analyzed by comparing some particular one-objective optimization functions with the multi-objective optimization function. Table 2 summarizes the main characteristics of these proposals and our own optimization model which is presented in the following sections. As you can see in the table 2, none of the above proposals consider how to find the appropriate multiple trees to minimize all four features (maximum link utilization, number of hops, end-to-end delay and total bandwidth consumption) which we address in the optimization model proposed in this paper. In this paper, we have decided to work with hop count (HC) instead of flow assignation (FA) because HC is more practical in real network topologies and in this case it is possible to see exactly the amount of total hops in the tree. While in [Rao and Batsell, 33; Aboelela and Douligeris, 1; Sridharan et al., 39; Fortz and Thorup, 26; Song et al., 38] consider unicast flow; in [Chen and Chan., 18; Wang et al., 42; Lee et al., 31; Cho et al., 19; Abrahamsson et al., 3; Cetinkaya and Knightly, 17; Vutukury and Garcia, 41] this unicast flow is splitting; and in [Seok et al., 37; Roy et al., 36; Cui et al., 22] the flow is multicast but not splitting, thus our proposal solves the traffic split ratio for multicast flows. The major differences between our work and the other multicast works are: first, from the viewpoint of objectives and function, we are proposing a multi-objective scheme to solve the optimal multicast routing problem with some constraints, while [Roy et al., 36; Cui et al., 22] propose a scheme without constraints; second, from the viewpoint of how many trees are used, we are proposing a multi-tree scheme to optimize the resource utilization of the network, while [Seok et al., 37; Roy et al., 36] propose only one tree to transmit the flow information; and third, from the viewpoint of traffic splitting, we are proposing the traffic split to transmit the multicast flow information through the load balancing using several trees to the same flow, while [Seok et al., 37; Roy et al., 36; Cui et al., 22] do not propose this characteristic. It should be pointed out that [Song et al., 38; Wang et al., 42; Lee et al., 31; Cho et al., 19; Vutukury and Garcia, 41; Kim et al., 30; Seok et al., 37] proposals can be applied to MPLS networks, in table 2 are in boldface. 3.

Optimal multicast routing

The network is modeled as a directed graph G = (N, E), where N is the set of nodes and E is the set of links. We denote by n the number of network nodes, i.e., n = |N|. Among the nodes, we have a source s ∈ N (ingress node) and some destinations T (the set of egress nodes). Let t ∈ T be any egress node. Let (i, j ) ∈ E be the link from node i to node j . Let f ∈ F be any multicast flow, where F is the flow set and Tf is the egress nodes subset to the multicast flow f . We denote by |F | the number of flows. Note that T = f ∈F Tf . tf Let Xij be the fraction of flow f to egress node t assigned to link (i, j ). Note that these variables include the egress node t, which is not considered in previous works.

240

DONOSO ET AL.

Table 2 Type of transported flow and constraints. Objectives [Rao and Batsell, 33]

DL BC

[Aboelela and Douligeris, 1] [Sridharan et al., 39]

MLU HC DL

[Fortz and Thorup, 26]

MLU

MLU

[Song et al., 38]

BC BC

BC

BC

HC

[Chen and Chan., 18] [Wang et al., 42]

Constraints

BC

HC

DL

MLU

BC FA

[Lee et al., 31] MLU

BC

Path/ Trees



Unicast Multipath Unicast Multipath



Unicast Multipath

BC

Unicast Multipath

BC

Unicast One and multiple paths Unicast Multipath

BC MSF Unicast Multipath

[Abrahamsson MLU et al., 3]

Unicast Multipath

[Cetinkaya and Knightly, 17] [Vutukury and Garcia, 41]

DL

[Kim et al., 30]

HC DL

AQS

DL

BC BC

PL NL

Split

Unicast Multipath

Unicast Multipath

HC BC

[Cho et al., 19]

Flow

Unicast Multipath Unicast Multipath Unicast Multipath

Heuristic Ford– Fulkerson method Fuzzy logic



Linear programming and shortest path – Linear programming and shortest path – (Linear) multicommodity network flow problem Split Max-flow and shortest path Split Linear programming

Split Mixedinteger programming Split Max-flow and shortest path Split (Linear) multicommodity network flow problem Split Scheduling algorithm Split Nonlinear programming Split Shortest path

MULTI-OBJECTIVE OPTIMIZATION SCHEME

241

Table 2 (Continued). Objectives [Seok et al., 37]

MLU

[Roy et al., 36]

Constraints

BC

[Cui et al., 22]

Linear energy functions (LEF)

[Donoso et al., 23; Donoso et al., 24] and this paper

MLU HC DL BC

PL:

Path/ Trees

HC BC MSF Multicast Only one tree

DL BC FA

MLU: maximum link utilization HC: hop count DL: total delay BC: total bandwidth consumption

Flow

NL: AQS: FA: MSF:

packet loss

Multicast Only one tree Multicast Multitree BC MSF Multicast Multitree

Split –



Heuristic Mixedinteger programming Genetic algorithms



Shortest path tree Split Nonlinear programming, max-flow and shortest path tree

number of LSPs average queue size flows assignation maximum number of subflows. Handle of flow fraction by each egress node across a link in the optimization model.

To include the egress nodes permits to control the bandwidth consumption in each link with destination to the set of egress nodes. Therefore, it is possible to maintain exactly tf the constraint of flow equilibrium to the intermediate nodes. The problem solution, Xij variables, provides optimum flow values. Let cij be the capacity of each link (i, j ). Let bwf be the traffic demand of a flow tf f from the ingress node s to Tf . The binary variables Yij represent whether link (i, j ) is used (1) or not (0) for the multicast tree rooted at the ingress node s and reaching egress node subset Tf . Let vij be the propagation delay of link (i, j ). Let m be the number of variables in the multi-objective function. Let connectionij be the indicator if there is a link between nodes i and j . The problem of minimizing |F | multicast flows from ingress node s to the egress nodes of each subset Tf is formulated as follows:     tf    tf  Yij + r3 bwf max Xij Minimize r1 α + r2 f ∈F t ∈Tf (i,j )∈E

+ r4

  f ∈F t ∈Tf (i,j )∈E

 tf

vij Yij

f ∈F (i,j )∈E

(MHDB model)

t ∈Tf

(1)

242

subject to

DONOSO ET AL.





tf

Xij −

(i,j )∈E







(2)

tf

i, t ∈ Tf , f ∈ F,

(3)

tf

t ∈ Tf , f ∈ F, i = s, i ∈ / Tf ,

(4)

α  0, (i, j ) ∈ E,

(5)

Xji = −1,

(j,i)∈E



tf

Xij −

(i,j )∈E



t ∈ Tf , f ∈ F, i = s,

(j,i)∈E tf Xij

(i,j )∈E



tf

Xji = 1,

Xji = 0,

(j,i)∈E

 tf  bwf max Xij  cij α,

f ∈F



t ∈Tf

 tf Yij

  j ∈N

j ∈N t ∈Tf

cij /

bwf j ∈N

connection ij



,

i ∈ N, f ∈ F

(6)

where tf

Xij ∈ ,

tf

0  Xij  1,  tf tf 0, Xij = 0, tf Yij = Xij = tf 1, 0 < Xij  1, m 

ri = 1,

ri ∈ , ri  0, m > 0.

(7) (8) (9)

i=1

The multi-objective function (MHDB model) (1) defines a function and generates a single aggregated metric for a combination of weighting objectives. The main objective consists of minimizing the maximum link utilization (MLU), which is represented as α in (1). In this case, the solution obtained may report long routes. In order to eliminate these routes and to minimize hop count (HC), the term tf f ∈F t ∈Tf (i,j )∈E Yij is added. This is needed because the objective function may report only the most congested link and the optimal solution may include unnecessarily long paths in order to avoid the bottleneck link [Kim et al., 29]. In order to minimize the total bandwidth consumption (BC) over all links, the term tf f ∈F t (i,j )∈E bwf maxt ∈Tf (Xij ) is also added. Furthermore, in order to minimize the total end-to-end propagation delay (DL) tf over all links, the term f ∈F t ∈Tf (i,j )∈E vij Yij is also added. In [Aboelela and Douligeris, 1] is showed that delay has three basic components: switching delay, queuing delay and propagation delay. The switching delay is a constant value and it can be added into the propagation value and the queuing delay is already reflected in the bandwidth consumption. They said that the queuing delay is used as an indirect measure of buffer overflow probability (to be minimized). Other computational studies [Aboelela and Douligeris, 1] has been shown that typically makes little difference whether the cost function used in routing includes the queuing delay or the much simpler form of the link utilization.

MULTI-OBJECTIVE OPTIMIZATION SCHEME

243

Constraints (2)–(4) are flow conservation constraints. Constraint (2) ensures that the total flow emerging from ingress node to any egress node t at flow f should be 1. Constraint (3) ensures that the total flow coming from an egress node t at flow f should be 1. Constraint (4) ensures that for any intermediate node different from the ingress node (i = s) and egress nodes (i ∈ / T ), the sum of their output flows to the egress node t minus the input flows with destination egress node t at flow f should be 0. Constraint (5) is the maximum link utilization constraint. In an unicast connection, the total amount of bandwidth consumed by all the flows with destination to the egress node t must not exceed the maximum utilization (α) per link capacity cij , that tf is, f ∈F bwf t ∈T Xij  cij α, (i, j ) ∈ E. Nevertheless, in constraint (5) only the tf maximum value of Xij for t ∈ Tf must be considered. Though several subflows of the flow f in the link (i, j ) with destination to different egress nodes are sent, in multicast IP specification just one subflow will be sent. The function max in constraint (5) generates discontinuous derivatives. For this reason, the problem should be solved through a GAMS tool for solving DNLP (Nonlinear programming with discontinuous derivatives) such as MINOS, MINOS5, COMOPT, COMOPT2, and SNOPT (GAMS (2004)). The DNLP problem is the same as the NLP (Nonlinear Programming) problem, except that non-smooth functions (abs, min, max) can appear. Constraint (6) limits the maximum number of subflows in each node by means of the capacity of each link and the traffic demand. This formulation represents the amount of necessary links for a demand of traffic Without this constraint, the model could suffer from scalability problems, i.e. the label space usage by LSPs would be too high. In [Donoso et al., 23] the right expression of the constraint (6) is a constant value. tf Expression (7) shows that the Xij variables must be real numbers between 0 and 1. These variables form multiple trees to transport a multicast flow. The demand between the ingress node and the egress node t may be split over multiple routes. When the problem is solved without load balancing, this variable will only be able to take values 0 and 1, which will show, respectively, whether or not the link (i, j ) is used to carry information to the egress node t. tf tf Expression (8) calculates Yij as a function of Xij . Finally, expression (9) shows that the weighting coefficients ri assigned to the objectives are normalized. These values are calculated through the solution of the optimization problem. The problem presented is NP-hard because the problem of computing the minimum cost tree for a given multicast group is known as a Steiner tree problem (NP-complete) and this model includes constrained integer and real variables. 4.

Proposed heuristic

4.1. Algorithm In this section we propose a heuristic algorithm to solve the multiobjective model proposed in (1). This algorithm, shown in figure 3, receives as parameters, G(N, E), s, Tf ,

244

DONOSO ET AL.

Table 3 The weighting objective vector r. r1

r2

r3

r4

0.997925

0.001

0.001

0.000075

Table 4 Distance labels by paths. Dist.

nodes

hops

mseg

Mbps

d1 d2

– P1: {1, 2} P3: {1, 2}

0 1 1

0 10 10

0 1.5 1.5

d4

P1: {1, 2, 4} P2: {1, 3, 4} P3: {1, 2, 3, 4}

2 2 3

15 = 10 + 5 15 = 8 + 7 25 = 10 + 8 + 7

1.5 1.5 1.5

d3

P2: {1, 3} P3: {1, 2, 3}

1 2

8 18 = 10 + 8

1.5 1.5

bwf and r, where G is the network topology, N is the nodes set, E is the links set, s is the ingress node for the flow f , Tf is the egress nodes subset, bwf is the transmission tf rate for the flow f , and r are the weighting objectives vector. Let di denote the length of a SPT from the ingress node to the egress nodes Tf . Let λf be a tree from s to t, t ∈ Tf , tf associated to the flow f , which consists of several paths Pk with 1  k  h, where h is the number of paths. This algorithm consists of two steps: (1) obtaining graph G with distance based on hops count, bandwidth consumption and delay, and (2) finding the multicast tree. Step 1. Obtaining modified graph G . In this step, all possible paths between the ingress node s and every egress node t, t ∈ Tf are looked for. This step consists of tf three nested loops which calculate (for each egress node, t ∈ Tf , for each path Pk with tf tf destination to the node t and for each node i, i ∈ Pk ) the distance value di based on hops count, bandwidth consumption and delay. Step 2. Finding the multicast tree. The second step consists of finding out, for each egress node t ∈ Tf , the paths required to transmit the flow of information, according tf to graph G with its distance variables, di , and the available capacity of each path. To  find out the cost of the path, the ri s obtained with SNOPT (see table 3) in the solution of the multi-objective function of the MHDB model are taken into account. From among the paths that have a capacity greater than zero, the path with the minimum cost is selected and the maximum possible flow is applied, in accordance with the maximum link utilization constraint (5). For a simple case with just one egress node (as in the topology shown in figure 2), tf table 4 shows the values of the distances di obtained on the first run of the algorithm.

MULTI-OBJECTIVE OPTIMIZATION SCHEME

245

Figure 2. Graph G.

Algorithm MMR (G(N, E), s, Tf , bwf , r): begin tf Xij ← 0 // Step1: (Obtain modified graph G ) // for each (t ∈ Tf ) do tf while (exists a path Pk from node sf to node t) do tf for each (i ∈ Pk ) do tf di ← {αp , H Cp , DLp , BCP }; endfor endwhile endfor α ← min αp // Step2: (Finding multicast tree) // for each (t ∈ Tf ) do while (bwf > 0 && tf tf tf Xij ← identify a path Pk in di from node sf to node t min(r1 ∗ α + r2 ∗ HCP + r3 ∗ DLP + r4 ∗ BCP ) = 0)) do tf δ ← min{max_flowij , (i, j ) ∈ Pk }; tf increase δ units of flow along Pk and update G ; bwf ← bwf − δ; endwhile endfor end algorithm; Figure 3. Algorithm MMR (Multicast Multi-objective Routing). tf

The Xij values returned by the algorithm allow us to calculate the values of MLU, HC, DL and BC according to the multi-objective (1) of the MHDB model. Table 5 summarizes the main features of the algorithms proposed.

246

DONOSO ET AL.

Table 5 Summary of the algorithms proposed. Algorithm Augmenting path algorithm

MMR

Author(s)

Running time

Features

[Donoso et al., 23] O(n3 log n) 1. Find several trees to transmit multicast flow through load balancing 2. The several trees are found through the multi-objective scheme

n – number of nodes.

4.2. Complexity analysis Step 1. The complexity of outer loop of the algorithm is bound by O(|Tf |). The maximum value is O(n), where n is the number of nodes, because all nodes can be an egress node. To look for the paths, a second loop through a breadth-first search path and the best known bound is O(n log n) in a directed graph, where n is the number of nodes in tf the graph. In order to assign the distance labels di to each node belonging to a path tf Pk , a third loop needs to be carried out, which in the worst case could have n nodes. In summary, the complexity of this step is O(n3 log n). Step 2. At most, there may be O(n) nodes as egress nodes and, at most, there may be O(n) paths to each egress node in summary, the complexity of this step is O(n2 ). Finally, the complexity of the algorithm proposed would be given by O(n3 log n + n ). In which case, what we find is a polynomial solution to the problem of multiobjective optimization that we are describing in this paper. Algorithm proposed in [Seok et al., 37] has this same complexity, but in this paper optimizing several objectives. 2

5.

Performance evaluation

5.1. Network topology The optimization variables (MLU, HC, DL and BC values) are calculated using a GAMS solver called SNOPT and the results are compared with the heuristic algorithm presented. The topology used is the 14-node NSF (National Science Foundation) network (figure 4). The costs on the links represent the delay and all links have 1.5 Mbps of bandwidth capacity. Two flows with the same source, s = N0, are transmitted by each analysis. The egress nodes subsets are T1 = {N5, N8, N11} and T2 = {N8, N11, N13}. The transmission rates are 256 Kbps, 512 Kbps, 1 Mbps, 1.5 Mbps, 2 Mbps and 2.5 Mbps for each flow.

MULTI-OBJECTIVE OPTIMIZATION SCHEME

247

Figure 4. NSF network.

5.2. Comparison between MHDB model and heuristic algorithm MMR To compare the incidence of increments or decrements of MMR with respect to the MHDB-model, different normalized variables, i.e. for MLU, MLUMMR vs MHDB = (MLUMMR − MLUMHDB )/MLUMHDB are calculated. As the SNOPT solver calculates results to a set of flows and MMR is applied to only one flow, the MMR algorithm will be run first for a flow (f1 ) and then for the other flow (f2 ), i.e. MMR(f1 , f2 ). Figures 5(a) and (b) show normalized values of MMR(f1 , f2 ) versus MHDB and MMR(f2 , f1 ) versus MHDB respectively. In both cases, normalized MLU is very near to 0, i.e. the MMR shows the same behavior as the MHDB model. With respect to the normalized HC variable, the MMR behaves better than the MHDB model showing a decrement (normalized HC < 0). With respect to the normalized DL variable, the MMR also behaved better. Finally, for the normalized BC variable, the MMR behaved worse than the MHDB model, with increases of between 20% and 60%; though it can be observed that as the flow transmission rate is increased, the aforementioned variables show a tendency to behave in the same way in both the proposed algorithm and the mathematical model. This behavior results from the fact that both the mathematical model and the proposed algorithm optimize the use of network resources for traffics exceeding the capacity of a single path. These results show that when multiple objectives are optimized, while some objectives are improved, others are worsened. Furthermore, we can see that the proposed algorithm (MMR) behaves in a satisfactory way, minimizing some variables and sacrificing others but, in all cases, with a performance close to that indicated by the MHDB model. 5.3. Computational time We measured the running time of the SNOPT solver and the MMR algorithm on a Pentium 1.2 GHz PC running MS Windows XP with 256 MB of RAM memory. For the

248

DONOSO ET AL.

(a)

(b) Figure 5. Normalized values MMR vs. MHDB to the flow f2 and f1 (variables MLU, HC, DL, BC).

SNOPT solver, the mean value was 400 msec, the maximum value was 450 msec and the minimum value was 320 msec. In the tests carried out, we did not observe significant increases in execution times when the MHDB model was considered. For MMR algorithm the mean value was 65 msec, the maximum value was 90 msec and the minimum value was 40 msec. 6.

Conclusions

In this paper, we have presented multi-tree routing to develop a multicast transmission with load balancing, using multiple trees. We have employed a multi-objective, loadbalancing scheme to minimize: the maximum link utilization (α), the hop count (HC), the total bandwidth consumption (BC), and the total end-to-end delay (DL). By introducing HC, lengthy paths are eliminated. By introducing BC, the bandwidth consumption by links is minimized. Using DNLP mathematical programming, we obtained the optitf mal set of Xij (the fraction of flow f to destination node t assigned to link (i, j )) for the problem (MHDB).

MULTI-OBJECTIVE OPTIMIZATION SCHEME

249

Furthermore, because finding the solution of this optimal DNLP problem is NPhard, in this paper, we propose an algorithm that calculates a multi-objective multicast tree in polynomial time O(n3 log n + n2 ), which is the same computational complexity shown in [Lee et al., 31], but with several objectives in our case. The optimization variables (MLU, HC, DL and BC values) are calculated using a GAMS solver called SNOPT and the results are compared with the heuristic algorithm presented. The simulation results show that the proposed MMR algorithm solves the multi-objective multicast routing with nearly the same variables as that of the optimal solution obtained with the SNOPT solver in the MHDB model. Finally, the proposed approach can be applied in MPLS networks by allowing the establishment of explicit routes in multicast events [Boyle et al., 15; Ooms et al., 32]. For further study, we will consider that the members of the multicast group cannot be assumed to be static and we will design an algorithm for dynamic traffic. In this case, an auxiliary optimization model will be formulated. We will also investigate the applicability of evolutionary algorithms in the multi-objective load-balancing scheme proposed in this paper. Acknowledgments This work was partially supported by the MCyT under the project TIC2003-05567. The work of Yezid Donoso was supported by the Universidad del Norte (Colombia) under contract G01 02-MP03-CCBFPD-0001-2001. References [1] E. Aboelela and C. Douligeris, Fuzzy generalized network approach for solving an optimization model for routing in B-ISDN, in: IEEE CCECE 98/CCGEI 98 (1998). [2] E. Aboelela and C. Douligeris, Fuzzy multiobjective routing model in B-ISDN, Computer Communications 21(17), Special Issue on the Stochastic Analysis and Optimization of Communication Systems (1998) 1572–1585. [3] H. Abrahamsson, B. Ahlgren, J. Alonso, A. Andersson and P. Kreuger, A multi-path routing algorithm for IP networks based on flow optimisation, in: QoFIS 02, Zürich (October 2002), Lecture Notes in Computer Science, Vol. 2511 (Springer, New York, 2002) pp. 135–145. [4] R. Aggarwal, L. Wei, G. Apostolopoulos, K. Kompella and J. Drake, Establishing point to multipoint MPLS TE LSPs, draft-raggarwa-mpls-p2mp-te-02.txt (January 2004). [5] G. Ahn and W. Chun, Design and implementation of MPLS network simulatior supporting LDP and CR-LDP, in: IEEE Internat. Conf. on Networks (ICON’00) (2000). [6] R. Ahuja, M. Kodialam, A. Mishra and J. Orlin, Theory and methodology, computational investigations of maximum flow algorithms, European Journal of Operational Research (1997). [7] R. Ahuja, T. Magnanti and J. Orlin, Network Flows: Theory, Algorithms and Applications (PrenticeHall, Engeewood Cliffs, NJ, 1993). [8] M.A. Ammar, G.C. Polyzos and S.K. Tripathi, Network support for multipoint communications (Guest Editorial), IEEE Journal on Selected Areas in Communications 15(3) (1997). [9] L. Andersson, P. Doolan, N. Feldman, A. Fredette and B. Thomas, LDP Specification, RFC 3036 (January 2001).

250

DONOSO ET AL.

[10] D. Awduche, J. Malcolm, J. Agogbua, M. O’Dell and J. McManus, Requirements for traffic engineering over MPLS, RFC 2702 (September 1999). [11] M. Bazaraa, J. Jarvis and H. Sherali, Linear Programming and Network Flows, 2nd ed. (Wiley, New York, 1990). [12] M. Bazaraa, H. Sherali and C.M. Shetty, Nonlinear Programming, Theory and Algorithms (Wiley, New York, 1993). [13] A. Boudani and B. Cousin, A new approach to construct multicast trees in MPLS networks, in: Seventh IEEE Symposium on Computers and Communications (2002) pp. 913–919. [14] A. Boudani, B. Coisin, C. Jawhar and M. Doughan, Multicast routing simulator over MPLS networks, in: Proc. of the 36th Annual Simulation Symposium ANSS’03 (2003). [15] J. Boyle, V. Gill, A. Hannan, D. Cooper, D. Awduche, B. Christian and W.S. Lai, Applicability statement for traffic engineering with MPLS, RFC 3346 (August 2002). [16] Z. Cao, Z. Wang and E. Zegura, Performance of hashing-based schemes for Internet load balancing, in: INFOCOM 2000 (2000). [17] C. Cetinkaya and E. Knightly, Opportunistic traffic scheduling over multiple network paths, in: Proc. of IEEE INFOCOM 2004 (2004). [18] J.C. Chen and S.H. Chan, Multipath routing for video unicast over bandwidth-limited networks, in: Proc. of IEEE GLOBECOM’01 (2001). [19] H. Cho, J. Lee and B. Kim, Multi-path constraint-based routing algoritms for MPLS traffic engineering, in: ICC’03, IEEE Internat. Conf. on Communications, Vol. 3 (11–15 May 2003) pp. 1963–1967. [20] J.L. Cohon, Multiobjective Programming and Planning (Academic Press, New York, 1978). [21] J. Cui, J. Kim, A. Fei, M. Faloutsos and M. Gerla, Scalable QoS multicast provisioning in Diff-Servsupported MPLS networks, in: GLOBECOM 2002 (2002). [22] Y. Cui, K. Xu and J. Wu, Precomputation for multi-constrained QoS routing in high-speed networks, in: INFOCOM 2003, 22nd Annual Joint Conf. of the IEEE Computer and Communications Societies, Vol. 2, IEEE (30 March–3 April 2003) pp. 1414–1424. [23] Y. Donoso, R. Fabregat and L. Fàbrega, Multi-objective scheme over multi-tree routing in multicast MPLS networks, in: ACM/IFIP LANC’03 (2003). [24] Y. Donoso, R. Fabregat and J. Marzo, Multi-objective optimization algorithm for multicast routing with traffic engineering, in: IEEE ICN’04 (2004). [25] A. Fei, J. Cui, M. Gerla and M. Faloutsos, Aggregated multicast: an approach to reduce multicast state, in: Proc. of the 3rd Internat. COST 264 Workshop (NGC 2001), UCL, London (November 2001), Lecture Notes in Computer Science, Vol. 2233 (Springer, New York, 2001) pp. 172–188. [26] B. Fortz and M. Thorup, Optimizing OSPF/IS-IS weights in a changing world, Journal on Selected Areas in Communications (February 2002). [27] GAMS, Solver for large mathematical programming problems http://www.gams.com (2004). [28] M. Hachimi, A. Abouaissa, P. Lorenz and M. Lee, Scalable multicast provisioning in DiffServ with MPLS labelling, in: IEEE ICN 2004 (2004). [29] C. Kim, Y. Choi, Y. Seok and Y. Lee, A constrained multipath traffic engineering scheme for MPLS networks, in: ICC 2002 (2002). [30] J. Kim, C. Kim, S. Seok and C. Kang, Traffic engineering using adaptive multipath-forwarding against dynamic traffic in MPLS networks, in: IEEE ICN 2004 (2004). [31] Y. Lee, Y. Seok, Y. Choi and C. Kim, A constrained multipath traffic engineering scheme for MPLS networks, in: ICC 2002 (2002). [32] D. Ooms, B. Sales, W. Livens, A. Acharya, F. Griffoul and F. Ansari, Overview of IP multicast in a multi-protocol label, RFC 3353 (August 2002). [33] N.S.V. Rao and S.G. Batsell, QoS routing via multiple paths using bandwidth reservation, in: INFOCOM 1998 (1998). [34] E. Rosen, A. Viswanathan and R. Callon, Multiprotocol label switching architecture, RFC 3031 (January 2001).

MULTI-OBJECTIVE OPTIMIZATION SCHEME

251

[35] S. Rost and H. Balakrishnan, Rate-aware splitting of aggregate traffic, http://web.mit.edu/ stanrost/www/research/publications.html (2004) submitted. [36] A. Roy, N. Banerjee and S. Das, An efficient multi-objective QoS-routing algorithm for wireless multicasting, in: INFOCOM 2002 (2002). [37] Y. Seok, Y. Lee, Y. Choi and C. Kim, Explicit multicast routing algorithms for constrained traffic engineering, in: IEEE Symposium on Computers and Communications (ISCC), Italy (July 2002). [38] J. Song, S. Kim, M. Lee, H. Lee and T. Suda, Adaptive load distribution over multipath in MPLS networks, in: IEEE ICC 2003 (2003). [39] A. Sridharan, R. Guerin and C. Diot, Achieving near-optimal traffic engineering solutions for current OSPF/IS-IS networks, in: INFOCOM 2003, 22nd Annual Joint Conf. of the IEEE Computer and Communications Societies, Vol. 2, IEEE (30 March–3 April 2003) pp. 1167–1177. [40] C. Villamizar, MPLS optimized multipath (MPLS-OMP), Internet draft (1999). [41] S. Vutukury and J.J. Garcia, A traffic engineering approach based on minimum-delay routing, in: Proc. of the 9th Internat. Conf. on Computer Communications and Networks, Las Vegas, NV (October 2000) pp. 42–47. [42] Y. Wang, Z. Wang and L. Zhang, Internet traffic engineering without full mesh overlaying, in: INFOCOM 2001 (2001). [43] S. Yasukawa, D. Papadimitriou, J. Ph. Vasseur, Y. Kamite, R. Aggarwal and A. Kullberg, Requirements for point-to-multipoint extension to RSVP-TE, draft-yasukawa-mpls-p2mprequirement-01.txt (October 2003).

Suggest Documents