A MPLS layer is considered on top of a transport network. (SDH or WDM depending .... is to minimize the total network installation cost. In order to account for the ...
Multi-layer Network Design with Multicast Traffic and Statistical Multiplexing Antonio Capone, Giuliana Carello, Riccardo Matera Politecnico di Milano, Italy {capone,carello,matera}@elet.polimi.it
Abstract—The new packet services and applications are radically changing not only traffic demands but also the architecture of transport networks. Adding packet layer support into backbone nodes is considered an important opportunity by telecom carriers that want to integrate packet technologies of the access and metropolitan networks within their networks to improve efficiency and flexibility. In this context, MultiProtocol Label Switching (MPLS) is at the moment the most promising and popular packet technology. The resulting new network architecture requires new models and methodologies for designing the network in a cost effective way. The classical network design approaches are no longer appropriate since they cannot capture the traffic aggregation effect due to the added packet layer, and new multi-layer network design models must be adopted. In a previous work we proposed a mathematical programming model for the design of two-layers networks in the presence of point-to-point traffic demands. In this paper we extend the model to the case of multicast services which are becoming more and more popular due to IPTV applications. A MPLS layer is considered on top of a transport network (SDH or WDM depending on required link speed) and the conflicting effects of the additional cost of MPLS support in the nodes, and the cost saving due to traffic aggregation are taken into account in the models. Traffic aggregation allows to save bandwidth due to the statistical multiplexing and the granularity of capacity values available for links and nodes. We present a MIP (Mixed Integer Programming) model for the problem that aims at optimizing the number and location of MPLS nodes in the network and the link capacity dimensioning. The problem includes the minimum cost Steiner-tree problem as a special case and is, therefore, NP-hard. We propose a local search based heuristic. This algorithm provides reasonable good solutions in short computational time as shown by the computational results obtained for realistic instances. Index Terms—Multi-layer network design, MPLS, statistical multiplexing, traffic grooming.
I. I NTRODUCTION The broadband access revolution is completely changing user requirements and expectations on communication services and is pushing the convergence of all applications on a IP (Internet Protocol) based network platform. Triple-Play services (voice, data and video) are being offered by many operators and taking-off. Consumers are becoming familiar with on-demand video streaming applications, interactive TV, video and voice communications, photo, music and home video sharing, and online gaming, all delivered seamlessly through their multimedia-connected home networks. These new services and applications are driving radical changes in the way telecom networks are designed, dimen-
sioned and operated. Innovative changes are required in the entire end-to-end service delivery architecture, to support premium requirements for access and transport bandwidth, quality of service and customer management, reliability and security. The possibility of adding packet layer support to transport networks is considered an important opportunity by telecom carriers that want to add packet services and applications to their networks. However, the question arises whether it is convenient to add packet nodes just at the edge of the network to collect packet traffic from users, or it is better to have also packet core nodes to exploit packet switching flexibility and multiplexing. In this context, Multi-Protocol Label Switching (MPLS) is at the moment the most promising and popular packet technology [1]. One of the key aspects of MPLS is a new connectivity abstraction: explicitly routed point-to-point paths, named Label Switched Paths (LSP), can be established using label based forwarding mechanisms. This allows per flow path selection and Quality of Service (QoS) parameters to be taken into account by the routing algorithm [2]. The notion of QoS has been introduced to capture the quantitatively defined performance contract between the service provider and the user. The QoS requirement of a connection can be given as a set of link constraints. Such constraints can be expressed, for instance, as bandwidth constraints specifying that the path selected for the connection of the requesting user has sufficient bandwidth to meet the connection requirement. The links used at MPLS layer are provided by the underlying transport network which may be based on SDH (Synchronous Digital Hierarchy) or WDM (Wavelength Division Multiplexing) depending on link speed. The transport network can be devoted to MPLS services only, or, more often, shared with circuit switched services such as phone service. In this network architecture, some or all nodes must support not only transport network technology but also MPLS. A telecom carrier that wants to offer MPLS based packet switched services must add label switching capabilities to some nodes of the transport network. A node supporting MPLS is named Label Switched Router (LSR). Edge nodes must necessarily support MPLS in order to collect packet switched traffic from users. Core nodes may or may not support MPLS. Links between LSRs are circuits (or light paths, depending on the transport technology) and may cross several nodes of the transport network not supporting MPLS. LSRs and links
connecting them define a logical network topology on top of the physical topology of the transport network (Figure 1).
MPLS
Transport
Fig. 1.
MPLS over Transport Network: physical and logical topologies.
In this context, if we want to design the network we have to take into account both the transport layer and the MPLS layer. This means that we have to decide: which core nodes must support MPLS, how to connect LSRs within the transport network and the bandwidth reserved on each link. A simple solution could be that of adding MPLS support to edge nodes only. In this case we have to set up a logical circuit between each pair of edge LSRs and to dimension it according to the required bandwidth. The advantage of this solution is that we save the costs of adding MPLS support to core nodes. However, we cannot exploit the multiplexing gain on physical links since LSPs of different edge pairs use different physical circuits. On the other side, we could add MPLS support to all core nodes. In this case, we can exploit at best the multiplexing gain saving bandwidth on the physical links. Which of these opposite solutions is more convenient depends on the relative costs of the nodes and the bandwidth and on how the multiplexing gain is exploited in the network. In general a well designed network will include a number of MPLS core nodes depending on additional node costs and cost savings due to traffic aggregation and statistical multiplexing. The effect of multiplexing on the bandwidth required to support a set of LSPs is twofold. Since the circuits provided by the transport layer are available with discrete values of the capacity, the aggregation allows to reduce the quantization effect. In some cases where the minimum available capacity is quite high, like with WDM, this effect is remarkable and aggregation allows to fill up link capacities even with small flows. Moreover, with packet switching techniques like MPLS, another relevant bandwidth reduction effect is due to statistical multiplexing. Packet flows are characterized by an average and a peak rate. Depending on the quality of service requirements, like delay, and on the statistical multiplexing effect, the bandwidth that must be reserved for the flow is a value between the average and the peak rate. If only a few flows are multiplexed together, the bandwidth needed for each of them is closer to the peak rate, while if many flows share the same resource it is closer to the average rate. This new network architecture requires new models and methodologies to design the network in a cost effective way. The classical network design approaches are no longer appropriate since they cannot capture the traffic aggregation effect due to the added packet layer, and new multi-layer network
design models must be adopted [3], [4], [5], [6]. In a previous work we proposed a mathematical programming model and a heuristic method for multi-layer network design that takes into account the statistical multiplexing effect and considers point-to-point traffic only [7]. In this paper we extend the approach to the case of multicast services which are becoming more and more popular due to IPTV applications. As in [7] we consider here a simple traffic model where each traffic demand is described by a pair of values (mean and additional) and a bottleneck constraint to model link capacity. If a set of traffic demands is multiplexed on a link, the capacity installed on the edge must be greater or equal to the sum of all the mean values and only the highest additional one. The proposed solution approach, however, can be extended very easily to other traffic models [8]. After a short review of related work (Section II), we describe the problem and present a Mixed Integer Programming (MIP) model (Section III). Then, we propose a heuristic approach based on local search (Section IV). The proposed approach is tested on a small size network and on a set of realistic instances (Section V). Finally, we give some conclusion remarks (Section VI). II. R ELATED WORK A huge literature exists on optimal network design problems (surveys on these problems can be found in [9], [10] and [11]). However, multiple-layer network design problems have been considered only quite recently [3], [4], [5], [6]. Most of the previous works on two-layer network design and routing focused on the quantization effect due to the discrete set of capacity values available for links and nodes, which is commonly referred to as traffic grooming [12], [13], [14], [15]. The effect of statistical multiplexing has not been first introduced in our previous work [7], where also packet node location and virtual topology optimization is considered. A few other works specifically consider MPLS technology [16] and some of them also address the problem of MPLS node location [17], [18]. All the above referenced papers consider the network design problem with unicast (point-to-point) traffic, which is a NP-hard problem. The network design problem considering multicast traffic is NP-hard as well, since even the problem of finding the minimum cost tree for a multicast group is NP-hard (Steiner tree) [19]. In [20] the problem of defining a set of multicast trees sharing the network resources in order to minimize the maximum link sharing (congestion) among connections is considered. The link capacities are given so only the routing optimization problem is considered. In [21] the classical Steiner tree problem is extended to define a network design model where link costs depend on traffic according to a linear cost function, and in [23] two cost components are considered per link. The multicast network design problem proposed in [22] includes quality of service requirements of different applications. Finally, in [24], [25] formulations of the multicast design problem are solved with exact methods.
The problem proposed in this paper differs from previously proposed ones since it is based on a two-layer network design approach which includes traffic aggregation effects (grooming and statistical multiplexing). To the best of our knowledge, this is the first attempt to approach a multicast network design with a two-layer model. III. P ROBLEM DESCRIPTION Given a network, with a set of potential links, and a set of multicast traffic demands to be routed, the problem is to define a tree for each multicast traffic demand, both the physical and the logical topology of the network and the capacity to be installed on each link. To exploit grooming and statistical multiplexing gain, multiplexing devices must be located at a subset of core nodes: we must decide on which nodes multiplexing devices are to be located. Both MPLS and transport nodes capacity is to be optimized, as well. The goal is to minimize the total network installation cost. In order to account for the statistical multiplexing effect, we consider a simple traffic model where each traffic demand is described by a pair of values (mean and additional) and a bottleneck constraint to model link capacity. As mentioned above, if a set of traffic demands is multiplexed on a link, the capacity installed on the edge must be greater than the sum of all the mean values and only the highest additional one. It is easy to show that such a traffic model describes accurately the case of Poisson traffic with a delay requirement on the bottleneck link [7]. However, the solution approach we propose in Section IV can be extended very easily to other traffic models such as those based on the Gaussian traffic assumption [8]. The network can be represented as an undirected graph G = (V, E), where V is the set of nodes and E is the set of links. Denote with K the set of multicast MPLS demands. Each multicast demand k ∈ K is defined by an origin ok ∈ V , a set of destinations Dk ⊂ V , a mean flow fk (in Mbit/s) and an additional one fk (in Mbit/s). Let F = maxk∈K fk and S be the set of all potential logical links (hops). Let H N be the set of available technologies that can be installed on each transport node. For each h ∈ H N let µh and θh be the capacity (in Mbit/s) and the cost of a device of technology h. Similarly, the set of available MPLS capacity values is denoted with H M . For each h ∈ H M , ψ h and γ h denote the capacity (in Mbit/s) and the cost. Finally, H L denote the set of available technologies for transport circuits. For each e ∈ E and h ∈ H L , che is the cost of installing one circuit of technology h on link e, and λh is its capacity. We present a tree based formulation where T denotes the set of all the trees spanning subsets of V . Given a multicast demand k, Tk denotes the set of trees spanning source and destination nodes of demand K. Each tree is a subset of logical links. For each node v ∈ V , I(v) and F (v) are the sets of hops that start and end in v, respectively. Analogously, we denote with I(v) and F (v) the sets of arcs incident in v. We define a binary variable xt for each tree t ∈ T , which is equal to one if demand k is routed on tree t. For each
v ∈ V and h ∈ H N we define the binary variable wvh which is equal to one if node v is equipped with a device of type h. In the same way, for each v ∈ V and h ∈ H M a binary variable mhv is defined. For each s ∈ S and h ∈ H L , integer variable ysh represents the number of high layer connections of technology h to be installed on hop s. Similarly, integer variable yeh is the number of channels of transport layer to be installed on link e. For each s ∈ S, continuous variables zs(i,j) and zs(j,i) represent the maximum peak rate among the demands routed on s in both directions. The problem can be modelled as follows: min
i∈V
γ h mhi +
i∈V
h∈H M
t∈Tk
λh
h∈H L
λh
h∈H L
xt
≤
h∈H L
s∈S:e∈s
≤
λh ysh
≤
fk xt + zs(j,i) ≤
fk
∀i ∈ V (4)
λh yeh
∀e ∈ E (5)
λh ysh
∀s ∈ S
(6)
λh ysh
∀s ∈ S
(7)
xt
t∈Tk :s(i,j) ∈t
µh wih
h∈H L
fk
h∈H L
k∈K t∈Tk :s(j,i) ∈t
∀i ∈ V (3)
h∈H L
fk xt + zs(i,j) ≤
ψ h mhi
h∈H N
k∈K t∈Tk :s(i,j) ∈t
(2)
h∈H M
e∈I(i)∪F (i)
che yeh (1)
h∈H L
≥ 1 ∀k ∈ K
yeh
e∈E
h∈H N
ysh
s∈I(i)∪F (i)
θh wih +
≤ zs(i,j)
∀k ∈ K, ∀s ∈ S (8)
≤ zs(j,i)
∀k ∈ K, ∀s ∈ S (9)
xt
t∈Tk :s(j,i) ∈t
mhi
≤ 1 ∀i ∈ V
(10)
wih
≤ 1 ∀i ∈ V
(11)
h∈H M
h∈H N
The objective function (1) is given by the sum of three components: link capacity costs and logical and transport node capacity costs. Constraint (2) imposes that each traffic demand is routed on at least one tree. Constraints (3) and (4) are the node capacity dimensioning constraint. Constraint (5) guarantees that each link has sufficient capacity to support the LSPs mapped on it. Constraints (6) and (7) impose the amount of capacity to be provided on each hop of every LSP. Constraints (8) and (9) give the maximum value of the peak rates. Constraints (10) and (11) impose to install at most one type of devices on both layers of each node.
IV. S OLUTION APPROACH In the proposed solution approach, first a feasible solution is built by means of a greedy based method and then a local search step is applied to improve the initial feasible solution. To build an initial solution of the two layer network design, we need to decide: the subset of core nodes in which MPLS devices are installed, the topology of the logical network, the tree on which each multicast demand is routed and the dimensioning of both node and link capacity. The initial solution, on which the local search is applied, is computed applying a dichotomic search on the cardinality of the MPLS core nodes subset. Starting with two solutions, one in which all the core nodes have multiplexing capabilities, and the other in which none has, the dichotomic procedure selects at every step the most promising interval of the MPLS node cardinality and proceeds with a deeper search on it. For each selected cardinality, five different subsets of MPLS core nodes are randomly generated. Given the higher layer node set, the logical topology is given by all possible paths connecting a pair of MPLS core nodes with at most k hops (in our computational tests, parameter k has been set to 3). The minimum cost path for every pair of MPLS nodes is added to such link set. To guarantee the connection, a tree must be built for each multicast group. To build such tree, five different greedy based procedures have been developed. Given the routing trees, the solution is computed by dimensioning the link and node capacity. The best feasible solution among those computed is selected as initial solution. A. Greedy procedures Given a high layer topology, the initial routing tree is computed by comparing the routing tree provided by five different greedy based approaches. G1: a minimum cost spanning tree is computed on the subset of MPLS core nodes and edge nodes belonging to at least one group, applying Kruskal algorithm. It adds the edges, sorted according to non decreasing costs, one by one, if they do not generate a cycle together with the previously added ones. From the general tree obtained, the trees related to every multicast group are then extracted; G2: a tree is built, spanning all the MPLS core nodes and nodes belonging to at least one multicast group, by adding one by one the edges, according to a random order, providing that no cycle is generated. Five different trees are generated according to different random orders and the best one is kept; G3: the third procedure builds a minimum cost spanning tree for every multicast group, applying Kruskal algorithm; G4: the forth procedure builds a Steiner tree applying the heuristic proposed by Takahashi − Matsuyami (TM) [19]. Given a graph G = (V, E) and a set of mandatory nodes M ⊂ V , a Steiner tree is a tree connecting all the mandatory nodes eventually passing through a subset of non-mandatory nodes, to be chosen. The problem is
known to be NP-hard. The heuristic procedure builds a Steiner tree for every multicast group, by adding a minimum cost path from one mandatory node to all the other mandatory nodes; G5: all the multicast demands with the same root are grouped in a super-group: for each super-group a Steiner tree is found as in procedure G4. Then a tree for each multicast demand is extracted from such Steiner tree. The greedy approaches may fail in finding a feasible solution, due to node capacity constraints. A procedure is applied to unfeasible solutions, with the aim of making them feasible. The procedure tries to remove traffic from saturated nodes, by removing demands from paths transiting through them. In this way, capacity is removed from LSP and links, as well, and therefore one or more trees may be disconnected. To guarantee multicast demand connectivity, the procedure searches paths connecting subtrees through the least loaded nodes. B. Local search To improve the solution provided by the greedy based dichotomic search, a local search step is applied, which is based on two neighborhoods. The first one is generated by changing the upper layer routing of the traffic demands, the second one is generated by changing the routing of the logical links on the lower layer. The local search starts with one of the neighborhoods and explores it until a local minimum is reached, then it swaps to the other neighborhood and explores it until the next local minimum is found. The local search stops when no improvement is found neither in the first nor in the second neighborhood. The first neighborhood is generated by considering one by one the pair given by an origin of a multicast demand and each of its destination nodes. For such pair, a connecting path is given on the chosen multicast tree. The local search generates a neighbor solution by changing the current path with any other path connecting the considered node pair. As the number of possible alternative paths is huge, they are not enumerated all: the best possible alternative paths is searched with an heuristic approach (see [26]). For each pair, an auxiliary graph is built, whose arc cost represents the advantage (or disadvantage) of removing (or routing) the considered pair on the arc – namely the increasing (or decreasing) of the capacity installation cost. On such a graph, a negative cost cycle represents a different routing such that the cost saving is greater than the cost increasing, and therefore it provides an improving neighbor solution. Finding the minimum negative cost cycle is itself a difficult problem, and thus the neighborhood is visited in a heuristic way. A similar approach is applied to search the second neighborhood, which is generated by changing the routing of a logical link on all the possible transport layer paths. V. C OMPUTATIONAL RESULTS The proposed approach has been implemented under Matlab and tested on a Dell Optipex 280, with 3Ghz Intel Pentium 4 HT processor and 1 GB of RAM. The approach has been
tested on a small size instance, to show the method behavior, and on a set of realistic instances. A. Small size instances results The small instance considered is presented in Figure 2 where nodes 1-4 are edge nodes and node 5-7 are core nodes. The set of traffic demands is the following: 1) o1 = 1, D1 = [2, 3, 4] f1 = 4000, f1 = 1550, 2) o2 = 1, D2 = [2, 3] f2 = 7500, f2 = 2500, 3) o3 = 1, D3 = [2, 4] f3 = 8000, f3 = 1800, 4) o4 = 3, D4 = [1, 2, 4] f4 = 7000, f4 = 2256, 5) o5 = 4, D1 = [1, 2, 3] f5 = 6000, f5 = 1850.
Fig. 2.
Fig. 3.
Solution with 6 MPLS nodes provided by G1.
Fig. 4.
Solution with 6 MPLS nodes provided by G4.
Small size instance.
As indicated in the previous section, the algorithm starts with a dichotomic search on the number of MPLS nodes. The first two cases considered are the network with all nodes with MPLS support, and the network without any core MPLS node (edge nodes always have MPLS support). The greedy algorithms are then applied together with the procedure to make solutions feasible based on capacity constraints. The dichotomic search then generates random instances with 6 nodes supporting MPLS (4 edge and 2 core nodes) and the best solution obtained by greedy algorithms is selected. The best solutions obtained with two random instances with 6 MPLS nodes are reported in Figure 3 and Figure 4 and have been obtained with the G1 and G4 algorithms, respectively. The solution with the lower cost is that in Figure 3 and the other solutions obtained by the dichotomic search in the subsequent steps do not improve its cost. In this small instance, the local search procedure which is applied starting from the best solution obtained in the previous greedy phase is only slightly modified by an improving move that re-routes traffic demand 2 on links (1, 3) and (1, 2). B. Realistic instances results The approach has been tested on a set of 72 instances, with 20, 35, 30 and 45 nodes. The position of nodes has been randomly generated, as well as the multicast groups and the demands, in order to generate instances different with respect to the multicast group size and additional versus mean value ratio. Greedy approaches have been compared on a set of different high layer topologies provided by the dichotomic search. The behavior of the greedy algorithms show that all the greedy
approaches require a reasonable computational time. They have been compared according to the average and maximum error produced with respect to the best solution provided by all the greedy algorithms. Results are reported in Table I for the instances with 20, 25, 30 and 45 nodes. Although some of the greedy approaches, such as G3 or G4, may behave well on some of the instance subsets – providing an average error within 10% and, for some subsets, even about 1% –, the maximum error may rise up to about 30% even for the most promising procedure. Since there is not a clear winner, it is convenient to apply all the procedures to all the high layer topologies built during the dichotomic search. Local search approach has been tested as well. It is possible to apply local search starting with the first neighborhood (RL1) or with the second one (RL2). The two approaches have been compared, and the results (average and maximum error with respect to the best solution known) are shown in Table II. Results show that starting from the second neighborhood provides the best results. Furthermore, the local search greatly helps in improving the total network cost, and therefore it is worthwhile to be applied even if the required computational time may rise up to more than 7 hours for the biggest instances. Figure 5 reports an example of the time evolution of the value of the objective function for the best solution during local search (RL1 dotted line, RL2 solid line) obtained with one of the instances with 45 nodes. The curve related to RL2 shows that the cost reduction is very fast during the first period
20
25
30
45
ave. err. % max. err. % ave. time (s) max. time (s) ave. err. % max. err. % ave. time (s) max. time (s) ave. err. % max. err. % ave. time (s) max. time (s) ave. err. % max. err. % ave. time (s) max. time (s)
G1 19 39 0.56 1.15 23 41 2.07 9.78 28 50 2.54 10.21 34 54 4.84 11.38
G2 76 118 2.27 11.38 80 117 7.83 34.05 165 257 8.46 37.69
G3 10 34 0.67 0.92 9 30 3.15 15.21 10 46 4.26 9.42 11 34 10.3 25.69
G4 1 19 2.47 5.23 1 11 7.68 23.5 4 31 14.85 33 4 24 39.61 105.22
G5 21 48 1.31 2.23 28 45 4.61 15.35 28 50 7.62 13.83 48 67 17.98 30.63
TABLE I C OMPARISON OF GREEDY ALGORITHMS # nodes 20 25 30 45
average error % RL1 RL2 1 1 4 0 3 0 7 0
maximum error % RL1 RL2 5 4 11 3 9 1 21 2
TABLE II C OMPARISON BETWEEN LOCAL SEARCH APPROACHES
and, therefore, it would be possible to add a computation time limit, still achieving a good cost improvement with respect to the solution provided by the greedy phase.
Fig. 5.
Time evolution of the cost during local search.
VI. C ONCLUSIONS In this paper we have considered the network design problem arising with new transport networks where MPLS (or other packet technologies) is added on top of existing transport technologies. The problem considers the location of MPLS nodes in a subset of transport nodes, as well as nodes and links dimensioning. Equipping networks with expensive packet nodes is justified by the cost savings in link capacity due to grooming and statistical multiplexing effect. The traffic considered is multicast. We have proposed a solution approach base on local search and a set of greedy procedures for obtaining the initial solution, and tested it on a set of realistic size instances. R EFERENCES [1] E.Rosen, A.Viswanathan, R.Callon, Multiprotocol Label Switching Architecture, RFC 3031, January 2001.
[2] S.Chen and K.Nahrstedt. An Overview of Quality-of-Service Routing for the Next Generation High-Speed Networks: Problems and Solutions. IEEE Network, vol. 12, no. 12, 1998, pp. 64-79. [3] G. Dahl, A. Martin, M. Stoer, Routing through Virtual Paths in Layered Telecommunication Networks, Operations Research 47, 1999, pp. 693 702. [4] A. Knippel, B. Lardeux, The Multi-Layered Network Design Problem, European Journal of Operational Research, in press. [5] S. Orlowski, R. Wessaly, An Integer Programming Model for MultiLayer Network Design, Konrad-Zuse-Zentrum fur Informationstechnik Berlin (ZIB), technical report 04-49, 2004 (www.zib.de). [6] E. Kubilinskas, P. Nilsson, M. Pioro, Design Models for Robust MultiLayer Next Generation Internet Core Networks Carrying Elastic Traffic, Journal of Network and Systems Management, vol. 13, no. 1, 2005, pp. 57–76. [7] P. Belotti, A. Capone, G. Carello, F. Malucelli, F. Senaldi, A. Totaro, MPLS over Transport Network: Two Layers Approach to Network Design with Statistical Multiplexing, Conference on Next Generation Internet Design and Engineering (NGI 2006), Valencia (Spain), April 2006. [8] R. Guerin, H. Ahmadi, Equivalent Capacity and Its Applications to Bandwidth Allocation in High-Speed Networks, IEEE Journal on Select. Areas in Communication, vol. 9, no. 7, pp 968-981, September 1991. [9] A. Assad, Multicommodity demand Network Flows - A Survey, Networks, vol. 8, 1978, 37-91. [10] M. Pioro, D. Medhi, Routing, Flow, and Capacity Design in Communication and Computer Networks, Elsevier, 2004. [11] D. Yuan, An Annotated Bibliography in Communication Network Design and Routing, In: Optimization Models and Methods for Communication Network Design and Routing. Ph.D. Thesis, Department of Mathematics, Link¨oping University, 2001. [12] R. Barr, R. Patterson, Grooming Telecommunications Networks, Optical Networks, vol. 2, no 3, 2001, pp. 20-23. [13] R. Dutta, G.N. Rouskas, Traffic grooming in WDM networks: past and future, IEEE Network, vol. 16, no. 6, 2002, pp. 46-56. [14] K. Zhu and B. Mukherjee, A review of traffic grooming in WDM optical networks: Architectures and challenges, SPIE Opt. Networks Mag., vol. 4, pp. 5564, Mar./Apr. 2002. [15] Murali Kodialam, T. V. Lakshman, Integrated Dynamic IP and Wavelength Routing in IP over WDM Networks, IEEE INFOCOM 2001. [16] N. Ghani, C. Assi, A. Shami, M. Ali, Integrated traffic grooming in converged data-optical networks, International Symposium on Computers and Communications (ISCC 2004), 2004. [17] S. De Maesschalck, M. Pickavet, D. Colle, P. Demeester, Multi-layer traffic grooming in networks with an IP/MPLS layer on top of a meshed optical layer, IEEE GLOBECOM ’03. [18] L. Gouveia, P. Patricio, A.F. de Sousa, R. Valadas, MPLS over WDM Network Design with Packet Level QoS Constraints based on ILP Models, IEEE INFOCOM 2003. [19] P. Winter, Steiner problems in networks: A survey, Networks, vol. 17, no. 2, 1987, pp. 129–167. [20] S Chen, O Gunluk, B Yener, The multicast packing problem. IEEE/ACM Trans. on Networking, vol. 8, no. 3, June 2000. [21] N. F. Maxemchuk, Video distribution on multicast networks, IEEE Journal on Selected Areas in Communications, vol. 15, no. 3, April 1997. [22] M. Charikar, J. Naor, B. Schieber, Resource optimization in QoS multicast routing of real-time multimedia , IEEE INFOCOM 2000, pp. 1518-1527. [23] C. Rosenberg, A. Meddeb, A. Girard, The impact of point-to- multipoint traffic concentration on multirate networks design, IEEE/ACM Trans. on Networking, vol. 10, no. 1, Feb. 2002, pp. 115–124. [24] A. Bley, D. Bienstock, Capacitated network design with multicast commodities, Konrad-Zuse-Zentrum fur Informationstechnik Berlin (ZIB), Technical report 00–14, 2000 (www.zib.de). [25] M. Prytz, A. Forsgren, Dimensioning multicast-enabled communications networks, Networks, vol. 39, no. 4, pp. 216–231, 2002. [26] I. Ghamlouche, M. Gendreau, T.G. Crainic. Cycle-based neighbourhood for fixed-charge capacitated multicommodity network design. Operations Research, vol. 51, 2003, pp. 655-667.