Optimal configuration of an optical network providing predefined multicast transmissions

10
Optimal configuration of an optical network providing predefined multicast transmissions Vincent Reinhard a,b , Johanne Cohen b , Joanna Tomasik a,, Dominique Barth b , Marc-Antoine Weisser a a SUPELEC Systems Sciences, Computer Science Dpt., 91192 Gif sur Yvette, France b PRiSM, University of Versailles, 45 avenue des Etats-Unis, 78035 Versailles, France article info Article history: Received 5 July 2011 Received in revised form 8 November 2011 Accepted 14 February 2012 Available online 22 February 2012 Keywords: Optical network Multicast Optimization algorithm Complexity abstract Operators of networks covering large areas are confronted with demands from some of their customers who are virtual service providers. These providers may call for the connec- tivity service which fulfills the specificity of their services, for instance a multicast trans- mission with allocated bandwidth. On the other hand, network operators want to make profit by trading the connectivity service of requested quality to their customers and to limit their infrastructure investments (or do not invest anything at all). We focus on circuit switching optical networks and work on repetitive multicast demands whose source and destinations are à priori known by an operator. He may there- fore have corresponding trees ‘‘ready to be allocated’’ and adapt his network infrastructure according to these recurrent transmissions. This adjustment consists in setting available branching routers in the selected nodes of a predefined tree. The branching nodes are opto-electronic nodes which are able to duplicate data and retransmit it in several direc- tions. These nodes are, however, more expensive and more energy consuming than trans- parent ones. In this paper we are interested in the choice of nodes of a multicast tree where the lim- ited number of branching routers should be located in order to minimize the amount of required bandwidth. After formally stating the problem we solve it by proposing a polyno- mial algorithm whose optimality we prove. We perform exhaustive computations to show an operator gain obtained by using our algorithm. These computations are made for differ- ent methods of the multicast tree construction. We conclude by giving dimensioning guidelines and outline our further work. Ó 2012 Elsevier B.V. All rights reserved. 1. Introduction Optical networks have become a dominant technology in modern networks covering large areas. Their advantage consists in providing an ultra-high bit rate obtained with slight energy consumption. All-optical networks are partic- ularly interesting from economic and ecological point of view because a cost of transparent routers is low and their energy consumption is negligible [1]. Modern networks face a growing demand on the part of service providers. New offered services are more complex than the simple connectivity service assured traditionally by network operators. Providers sell services like storage and computation together with connectivity service to their customers. The part of this market ensuring on-the- fly resource allocation, called for commercial reasons Cloud Computing [2], is under a rapid development. In 1389-1286/$ - see front matter Ó 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.comnet.2012.02.005 Corresponding author. Tel.: +33 (0)1 69 85 14 79; fax: +33 (0)1 69 85 14 99. E-mail addresses: [email protected] (V. Reinhard), Johanne. [email protected] (J. Cohen), [email protected] (J. Tomasik), [email protected] (D. Barth), Marc-Antoine.Weisser@ supelec.fr (M.-A. Weisser). Computer Networks 56 (2012) 2097–2106 Contents lists available at SciVerse ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet

Transcript of Optimal configuration of an optical network providing predefined multicast transmissions

Computer Networks 56 (2012) 2097–2106

Contents lists available at SciVerse ScienceDirect

Computer Networks

journal homepage: www.elsevier .com/ locate/comnet

Optimal configuration of an optical network providing predefinedmulticast transmissions

Vincent Reinhard a,b, Johanne Cohen b, Joanna Tomasik a,⇑, Dominique Barth b,Marc-Antoine Weisser a

a SUPELEC Systems Sciences, Computer Science Dpt., 91192 Gif sur Yvette, Franceb PRiSM, University of Versailles, 45 avenue des Etats-Unis, 78035 Versailles, France

a r t i c l e i n f o a b s t r a c t

Article history:Received 5 July 2011Received in revised form 8 November 2011Accepted 14 February 2012Available online 22 February 2012

Keywords:Optical networkMulticastOptimization algorithmComplexity

1389-1286/$ - see front matter � 2012 Elsevier B.Vhttp://dx.doi.org/10.1016/j.comnet.2012.02.005

⇑ Corresponding author. Tel.: +33 (0)1 69 85 14 7914 99.

E-mail addresses: [email protected] ([email protected] (J. Cohen), [email protected]@prism.uvsq.fr (D. Barth), Masupelec.fr (M.-A. Weisser).

Operators of networks covering large areas are confronted with demands from some oftheir customers who are virtual service providers. These providers may call for the connec-tivity service which fulfills the specificity of their services, for instance a multicast trans-mission with allocated bandwidth. On the other hand, network operators want to makeprofit by trading the connectivity service of requested quality to their customers and tolimit their infrastructure investments (or do not invest anything at all).

We focus on circuit switching optical networks and work on repetitive multicastdemands whose source and destinations are à priori known by an operator. He may there-fore have corresponding trees ‘‘ready to be allocated’’ and adapt his network infrastructureaccording to these recurrent transmissions. This adjustment consists in setting availablebranching routers in the selected nodes of a predefined tree. The branching nodes areopto-electronic nodes which are able to duplicate data and retransmit it in several direc-tions. These nodes are, however, more expensive and more energy consuming than trans-parent ones.

In this paper we are interested in the choice of nodes of a multicast tree where the lim-ited number of branching routers should be located in order to minimize the amount ofrequired bandwidth. After formally stating the problem we solve it by proposing a polyno-mial algorithm whose optimality we prove. We perform exhaustive computations to showan operator gain obtained by using our algorithm. These computations are made for differ-ent methods of the multicast tree construction. We conclude by giving dimensioningguidelines and outline our further work.

� 2012 Elsevier B.V. All rights reserved.

1. Introduction

Optical networks have become a dominant technologyin modern networks covering large areas. Their advantageconsists in providing an ultra-high bit rate obtained with

. All rights reserved.

; fax: +33 (0)1 69 85

. Reinhard), Johanne.pelec.fr (J. Tomasik),rc-Antoine.Weisser@

slight energy consumption. All-optical networks are partic-ularly interesting from economic and ecological point ofview because a cost of transparent routers is low and theirenergy consumption is negligible [1].

Modern networks face a growing demand on the part ofservice providers. New offered services are more complexthan the simple connectivity service assured traditionallyby network operators. Providers sell services like storageand computation together with connectivity service totheir customers. The part of this market ensuring on-the-fly resource allocation, called for commercial reasonsCloud Computing [2], is under a rapid development. In

destination 2

destination 3

destination 1flow 1

flow 2

flow 3

source

A B CD

E F G

H

I

JK

Fig. 1. A multicast with source A and destinations G, H, K built up as a setof unicasts (without branching nodes).

2098 V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106

order to meet the demands of their customers, virtual ser-vice providers have to purchase a guaranteed connectivityservice at network operators. At the same time, networkoperators can deal with numerous virtual service provid-ers. They are interested in using their network resourcesthe most efficiently and in this way minimize the cost ofa prospective extension of their existing infrastructure.

We studied the mechanisms to execute distributedapplications in an optical mesh network in the context ofthe CARRIOCAS project [3,4]. Unlike a customary approachapplied in grids where applications benefit from a dedi-cated network infrastructure [5], this project went intothe study of the coexistence of massive distributed appli-cations in a network whose operator should make financialprofit. With GMPLS [6] deployed, the CARRIOCAS networkhas to ensure both unicast and multicast transmissions.Routers which are able to duplicate data and send it in sev-eral directions allow a network operator to lower the band-width amount necessary to construct a multicast tree. Onthe other hand, these branching nodes are more expensiveand more energy consuming than the transparent ones.The realistic assumption is thus that only a subset of rou-ters is equipped with the duplicating functionality. In [7]we presented our solution to the problem consisting inthe construction of a tree to any multicast request withminimization of the amount of used bandwidth underassumption of a limited number of branching nodes whoselocations have already been set. The solution is heuristicbecause we proved that this problem is NP-complete andinapproximable. It turned out to be the most effectivewhen the branching nodes were placed in the most homo-geneous way in a network. The most homogeneous place-ment of k branching nodes represents in fact a solution tothe k-center problem which is also NP-complete [8].

Our study mentioned above inspired us to explore cer-tain special cases of multicast demands in circuit switchingnetworks. A network operator can know in advance recur-rent multicast transmissions which require a lot of band-width (as video-on-demand applications, for instance).Being aware of frequent demands for identical (or almostidentical) multicast transmissions an operator may havecorresponding trees ‘‘ready to be allocated’’ and adapt hisnetwork infrastructure according to these recurrent trans-missions. This adjustment may consist in setting availablebranching routers in the selected nodes of the predefinedtree. In this paper we are interested in the choice of nodesof a multicast tree where the branching routers should belocated in order to minimize the amount of required band-width. This approach allows an operator to make his net-work more efficient without any additional cost.

In the following section we make a survey of existingsolutions to multicast tree allocation and explain the spec-ificity of branching routers. In Section 3 our problem is sta-ted in the formal way. We also formulate (Section 4) thesolution properties. Next, we propose an algorithm to solveour problem, compute its complexity, and prove that itgives an optimal solution. Our problem is evidenced tobe polynomial. Section 6 presents the results of bandwidthrequirements for multicast trees depending on the numberof available branching routers. The multicast trees whichare subject of this analysis have been obtained by two

methods, the first one based on the shortest path approachand the second one based on the Steiner tree approach. Inthe final section we give the conclusions and outline ourfurther work.

2. Multicast tree construction

There are several schemes for multicasting data in net-works [9,10]. We present here the schemes adapted tooptical circuit switching networks. The first one is to con-struct virtual circuits from the multicast source to eachdestination. Such a scheme is equivalent to multiple uni-casts (Fig. 1) and the network bandwidth used by a largemulticast group may become unacceptable [11].

In another scheme the multicast source sends data tothe first destination and each destination acts as a sourcefor the next destination until all destinations receive thedata flow. In yet another scheme, intermediate routersmake copies of data packets and dispatch them to theirsuccessors in the multicast tree. This solution allows themulticast transmission to share bandwidth on the commonlinks. Numerous multicast tree algorithms, which followthe latter scheme, have been proposed and can roughlybe classified into two categories [9]. The first category con-tains the algorithms based on the shortest path while min-imizing the weight of the path from the multicast source toeach destination. The second category contains algorithmsbased on the Steiner tree problem [12–15] which we for-mally define in Section 3. The algorithms derived fromthe Steiner tree problem minimize the total weight of themulticast tree. They are heuristic because the Steiner treeproblem is NP-complete [14].

From the technological point of view, routers able toduplicate packets introduce a supplementary delay dueto O/E/O conversions and are more expensive. For thesereasons network operators want to limit the number ofsuch routers which we call ‘‘diffusing nodes’’ or ‘‘branchingnodes’’. The diffusing nodes which we consider are notequipped with the functionality ‘‘drop-and-continue’’[16]. The ‘‘drop-and-continue’’ operation mode, which al-lows a node to retrieve optical packets and send themahead to the next router, is nowadays applied in practiceexclusively in border routers. The fact, that the packetreplication is performed on the electronic level, allows us

L2

destination 2

destination 3

destination 1

L2

L2

source

AD

E F G

H

I

JK

MPLS unicast flowB C

A B C

Fig. 2. A multicast with source A, destinations G, H, K and branchingnodes C, F, L2, second layer, electronic.

e

u D

R

a

diffusing node

multicast destination

A

u

u

u

u

Fig. 3. Illustration of multicast tree elements.

V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106 2099

to assume that there is no limit due to optical signal atten-uation on the number of successors in a multicast tree. InFig. 2 we go back to the example illustrated in Fig. 1. Thistime there are two branching nodes which allow us to re-duce the amount of used bandwidth. Contrary to the solu-tion built up of unicasts, in the one with branching nodesthe bandwidth is used only once in each link.

3. Formalization of optimization problem

An optical network is modeled by a directed connectedsymmetrical graph G = (V, E) [17]. The symmetry propertymodels two communication directions between two verti-ces. A multicast request is a pair � = (e, R), where e 2 V is amulticast source and R � V is a set of multicast destina-tions. We suppose that all multicast requests which wedeal with can be transmitted in the network as a set of uni-cast transmissions (see Section 2). Therefore, we do nothave to make precise the amount of data to transfer. Fora given multicast request � we first determine its tree,A� ¼ ðVA� ; EA� Þ;VA� � V ; EA� � E. This tree is a subgraph ofG rooted in e, whose leaves are in the set R and whose arcsare directed from the root towards the leaves. We note DA�

the diffusing nodes in A�;DA� # VA� . We assume that thereare k diffusing nodes, jDA� j ¼ k. We now try to determinethe choice of diffusing nodes in order to minimize thebandwidth consumption.

We will adopt as a metric of the bandwidth used by amulticast request a total number of arcs which constructits tree. We take into account the fact that an arc maytransport the same data more than once. To define thismetric formally we start by determining the situations inwhich a request � is satisfied by a set of paths in the mul-ticast tree, SðDA� Þ. These situations are as follows:

� every node of R is the final extremity of exactly one pathin SðDA� Þ,� every node of DA� is the final extremity of at most one

path in SðDA� Þ,

� the origin of a path in SðDA� Þ is either e or a node of DA� ;in the latter case, the node of DA� is also the finalextremity of a path in SðDA� Þ,� any node of a 2 DA� is in a path p 2 SðDA� Þ only if it is the

final extremity or the origin of p.

The metric loadA� is defined as a sum of lengths of allpaths in SðDA� Þ. The optimization problem which consistsin placing k diffusing nodes can be thus formalized as:

Definition 1 (Diffusing Nodes in Multicast Tree Problem(DNMTP)).Data: A directed connected symmetrical graph G = (V,E), amulticast request � = (e,R), a rooted multicast tree corre-sponding to this request A�, and a natural number k.

Goal: Find DA� ; jDA� j 6 k so that loadA� is minimal.

4. Properties of the solution induced by a set of diffusingnodes

We now focus on a given multicast � and we omit thesubscript � in the formulæfor their clarity, i.e.A� ¼ ðVA� ; EA� Þ will be noted form now onwards as A. Thissection is dedicated to studying properties of the solutioninduced by a set D of diffusing nodes, SðDÞ. We introducethe notation used for its description and illustrate it inFig. 3. For any u, u 2 VA in A we define Au as a sub-tree ofA rooted in u. We also define three parameters of u in A.A set Du is a set of diffusing nodes in tree Au, Du # D. Aset Ru is a set of destinations nodes in tree Au, Ru # R. au

is the arc connecting Au from the remainder of A.

Definition 2. Let D be a set of vertices in A, D # VA. Let ube a vertex in A, u 2 VA. The path number, pn (u), is anumber of paths in a solution SðDÞ spanned on A whichpass through u or which terminate in u.

2100 V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106

Definition 3. The window of the solution SðDÞ on arc au,w(au, D), is an triplet of integers (b, d, load) where b is itspath number pn (u), d = jDuj and load represents the loadof SðDÞ in tree Au, load ¼ loadAu .

We can notice that each solution induced by the set ofdiffusing nodes D, can be defined by each window for eacharc of tree A. From our point of view the fact that w(au, D)can be computed from the windows of the successors of uis crucial. The following lemma gives the window compu-tation scheme for the situations in which u has a singlesuccessor.

Lemma 1. Let D be a set of vertices in A, D # VA. Let u be anode having a single successor u1 of A. Window w(au, D) isequal to

ð1; dþ 1; loadþ 1Þ if u 2 D;

ðbþ 1;d; loadþ bþ 1Þ if u R D and u 2 R;

ðb; d; loadþ bÞ if u R D and u R R;

8><>:

ð1Þ

where the window on arc au1 is (b, d, load).

Proof 1. First, we assume that u is a diffusing node, u 2 D.By definition of path number (Def. 2), node u has a pathnumber equal to one. Since wðau1 ;DÞ ¼ ðb; d; loadÞ, tree Au

contains one more diffusing node than tree Au1 .Second, we assume that u is not a diffusing node and

tree Au contains exactly the same set of diffusing nodes astree Au1 . If u is a destination, u 2 R, then u is the finalextremity of exactly one path. Consequently, the pathnumber for vertex u is equal to the path number for vertexu1 plus one. If u is intermediate node, u R R, then the pathnumber for vertex u is equal to the path number for vertexu1.

From these statements, we can compute the load of thesolution S induced by D in tree Au. The load increases bythe path number for vertex u. h

Using the same arguments as in the proof of Lemma 1,we extend it when u has several successors.

Lemma 2. Let u be a node of A having ‘ successors u1, . . . , u‘.Window w(au, D) is equal to

ð1; d� þ 1; load� þ 1 Þ if u 2 D;

ð b� þ 1; d�; load� þ b� þ 1 Þ if u R D and u 2 R;

ð b�; d�; load� þ b� Þ if u R D and u R R;

8><>:

ð2Þwhere the window on arc aui is (bi,di, loadi) for any i, 1 6 i 6 ‘and b� ¼

P‘i¼1bi, d� ¼

P‘i¼1di, load� ¼

P‘i¼1loadi .

Now, we want to compare two solutions by introducinga partial order �v for each node v 2 VA. The order �v isintroduced by ordering each coordinate of window tripletsaccording to the ‘‘standard’’ integer order 6.

Definition 4. Let D and D0 be two subsets of vertices in A.Let v be a vertex and w(av, D) = (b, d, load), w(av, D0) = (b0,d0, load0).SðDÞ �v SðD0Þ if and only if the following three condi-

tions are simultaneously satisfied: (i) b 6 b0, (ii) d 6 d0, (iii)load 6 load0.

This order gives the possibility to improve a solutionSðDÞ by finding a better set of diffusing nodes.

Proposition 1. Let u be a vertex in A. Let D and D0 be twosubsets of vertices in A such that SðDÞ �u SðD0Þ. Then thesolution induced by D00, where D00 = (D0nD0u) [ Du, satisfies thefollowing property:

SðD00Þ �v SðD0Þ for all nodes v not in Au:

Proof 2. Let P be a path between root e and vertex u.

First, we focus on vertices v outside Au and not in P.Since D

00v = D0v, arc av has the same window of the solution

induced by D and of the solution induced by D0, w(av,D) = w(av, D0).

Second, we focus on vertices v which are in P. Bydefinition of the partial order �v (Def. 4), if SðDÞ�vSðDÞthen for the windows w(av, D) = (b, d, load) and w(av, D0) =(b0, d0, load0), we have (i) b 6 b0, (ii) d 6 d0, and (iii)load 6 load0. Now, we can compute w(at, D00), where t isthe predecessor of node u. Let b0t ; d

0t ; load0t

� �be the window

of the solution SðD0Þ on arc at.

From Lemma 2, if t 2 D0, then w(at, D00) is1; d0t � d0 þ d; load0t � load0 þ load� �

. Thus SðD00Þ �t SðD0Þ.We can apply the same arguments as previously for theother case. The same reasoning goes for each vertex of thispath starting from the predecessor of t until the root. Thiscompletes the proof of Proposition 1. h

Next, we define a notion of the optimality of D in sub-tree Au of A.

Definition 5. Let u be a vertex in A, u 2 VA. Let D be asubset of vertices in A, D # VA. D is sub-optimal for node uif and only if for any D0 which is a subset of vertices in Asuch that d = d0 and b = b0, we have load 6 load0, wherew(au, D) = (b, d, load) and w(au, D0) = (b0, d0, load0).

In other words, a solution D is sub-optimal for node u ifand only if it is optimal in sub-tree Au of A.

The following statement expresses the property that aset of diffusing nodes which is optimal in Au is also optimalfor all sub-trees rooted in u successors.

Proposition 2. Let u be a vertex of A having ‘ successorsu1, . . . , u‘. Let D be a subset of vertices in A. If D is sub-optimalfor node u, then D is also sub-optimal for node ui, for anyinteger i, 1 6 i 6 ‘.

Proof 3. We can prove this proposition by contradiction.Assume that there is at least one successor ui of u such thatD is not sub-optimal for node ui. So it implies that thereexists a subset D0 such that D0 is sub-optimal for node ui

and such that d = d0 and b = b0, we have load0 < load where(b, d, load) is window w(au, D) and (b0, d0, load0) is w(au,D0). Consequently, using Lemma 2, we can construct a sub-set D00 such that D00 ¼ ðD n Dui Þ [ D0ui and such thatSðD00Þ �u SðD0Þ. This implies that D is not optimal. So, thereis a contradiction. h

V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106 2101

5. Algorithm, its complexity and optimality

Our algorithm is based on the bottom-up dynamic ap-proach. We resume the notation used for its description.For any u,u 2 VA in A we define Au as a sub-tree of A rootedin u. We also define two parameters of u in A. The heighth(u) is a distance between u and multicast source e in A.We also note hmax ¼ maxu2VA hðuÞ. The path number pn (u)is a number of paths in a solution SðDAÞ with a given setof diffusing nodes, DA, spanned on A which pass throughu or which terminate in u. It is obvious that if u is a branch-ing node then pn (u) = 1.

The idea of our algorithm is to compute for any u,u 2 V(A), some sub-optimal sets D of diffusing nodes forAu where the window of the solution SðDÞ on arc au, notedas w(au, D), is (b, d, load). One set D is constructed for anyvalue b, 1 6 b 6 jRuj, any value d, 0 6 d 6 k. As the readermight already guess, a sub-optimal set D for the root egives a solution to our problem. We want therefore to findthese sets starting from the leaves and ending up in theroot of A. As u may be or may not be a diffusing node, wehave to know how to compute the two sets for both thecases.

As u may not be equipped with the branching property,the minimal load of the sub-optimal set for it should bestored in the matrix M(u) whose rows are indexed by pn(u) (these indices are 1, 2, . . . , jRj) and whose columns areindexed by the number of diffusing nodes deployed in Au

(these indices are 0, 1, . . . , k). If a solution does not exist,the corresponding matrix element is equal to zero.

As u may become a branching node, the minimal load ofthe sub-optimal set can be stored in a line vector L(u) ofsize k + 1 because the path number of a diffusing node is al-ways equal to one.

In a nutshell:

� Mi,j(u) = a – 0 if and only if a sub-optimal set D exists inAu having its window on arc au equal to (j, i, a),� Li(u) = a – 0 if and only if a sub-optimal set D exists in

Au having its window on arc au equal to (1, i, a), i – 0.

For computational reasons the destinations u, which areleaves of A, have ‘‘unitary’’ matrix and vector attributed:M1,0(u) = 1, L1(u) = 1 and all their other elements are zero.

As we have said above, our algorithm to solve theDNMTP (Definition 1) attributes to each node u its M(u)

Fig. 4. The procedure Ma

and L(u) starting from the leaves whose height is H = hmax

and performing the bottom-up scheme with H = H � 1 un-til the root e is reached (H = 0). The attribution of M(u) andL(u) to u is realized by the procedure Mat_Vec_Filling(Fig. 4). This procedure takes a node u and its correspond-ing sub-tree Au as data. Intuitively speaking, this is a mod-ified breadth-first search [18] in which one arbitrarilychosen successor, treated first, computes its matrix andvector (the First_Succ_Mat_Vec procedure, Fig. 5) in adifferent way from its siblings (the Oth-

ers_Succ_Mat_Vec procedure, Fig. 6). The leaves havethe ‘‘unitary’’ matrix and vector assigned.

The procedure First_Succ_Mat_Vec (Fig. 5) operateson a node u and one of its successors v for which M(v)and L(v) are already known as Mat_Vec_Filling followsa bottom-up approach. It uses the variable elT to storethe non-zero elements in a column i of M(u) and L(u).The procedure executes the function min+ whose two argu-ments are natural. It returns a minimum of these two val-ues in exception of the case in which one of the argumentsis zero. The other positive argument is when returned.

The main idea is based on the observation that theweight of the multicast tree in Av [ {u} is equal to the mul-ticast weight in Av incremented by the weight of reaching uwhich is itself equal to path number pn (u). Let us remindthe reader that pn (u) = 1 when u is a diffusing node and pn(u) is a row index of matrix M(u) corresponding to node uwhich is not diffusing.

Remark 1. From Lemma 1 and Proposition 1, we candeduce, that if u has one successor v for any i,j such that0 6 i 6 k and 1 6 j 6 jRj:

� L1(u) = 1 + min+{M0,j(v):j:1 6 j 6 jRj},� Li(u) = 1 +

min+(Li�1(v),min+{Mi�1,j(v):j:1 6 j 6 jRj}),i > 1,� Mi,1(u) = 1 + min+(Li(v), Mi,1(v)),i P 1,� Mi,j(u) = j + Mi,j�1(v) if j – 1 and u 2 R,� Mi,j(u) = j + Mi,j(v) if j – 1 and u R R.

The procedure First_Succ_Mat_Vec computes theformulæ here above.

In lines 1–4 L(u) is computed for u seen as a diffusingnode. On the ith step the smallest positive weight is chosenbetween weights of its predecessor v seen as a diffusingand a non-diffusing node. These weights are taken for v

t_Vec_Filling.

Fig. 5. The procedure First_Succ_Mat_Vec.

Fig. 6. The procedure Others_Succ_Mat_Vec.

2102 V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106

with one diffusing node less because u itself is diffusing.This weight is increased by the weight of reaching u whichis one as u is diffusing. Lines 5–9 fill up M(u) when u is seenas non-diffusing. Line 7 treats the case in which only onepath passes through or terminates in u. The successor of ucan be either a diffusing or non-diffusing node. As L0(v)does not exist, we use L0(v) = 0 in numerical computations.Otherwise (line 8) its successor has to be a non-diffusingnode. The case in which u is a destination despite the factthat it is not a leaf in A is treated in lines 10–12 as theweight of the access to u has to be added.

The procedure Others_Succ_Mat_Vec (Fig. 6) operateson a node u and its successors w different from v which has

already been examined in First_Succ_Mat_Vec. Theprocedure uses the variable elT as the procedure First_-Succ_Mat_Vec does. Furthermore, the procedure makesuse of the auxiliary variables M0(u) and L0(u) to store thenew values of M(u) and L(u) as the current elements ofM(u) and L(u) are still in use. The procedure Oth-

ers_Succ_Mat_Vec is built up on the same principle asthe previous one. Lines 1–11 treat the filling up of L(u) andlines 12–26 treat the filling up of M(u). The importantdifference consists in traversing all the couples (x, y), x,y = 1, 2 . . . , k or x, y = 0, 1, . . . , k such that x + y = i. It leadsfrom the fact that this time the weight of the multicast treein Av [ Aw [ {u} is equal to the sum of the multicastweights in Av [ {u} and in Aw with the branching nodesdeployed in both Av [ {u} and Aw. The matrix computationalso requires an appropriate path number in order todetermine the additional tree weight (lines 17–22).

Remark 2. From Lemma 2 and Proposition 2, we candeduce, that if u has ‘ successors u1, . . . , u‘ for any i, j,0 6 i 6 k and 1 6 j 6 jRj:

� L‘i ðuÞ ¼minþ L‘�1i0 ðuÞ þ Li00 ðu‘Þ; L

‘�1i0 ðuÞ

n

þminþj:16j6jRjMi00 ;jðvÞ : i0 þ i00 ¼ io; i > 0;

� M‘i;jðuÞ ¼minþ minþ M‘�1

i0 ;j0 ðuÞ þMi00 ;j00 ðu‘Þn�

00 0 00 0 00 �

þj : i þ i ¼ i ^ j þ j ¼ j ;

minþ M‘�1i0 ;j�1ðuÞ þ Li00 ðu‘Þ þ 1 : i0 þ i00 ¼ i

n o�;

where Mf(u) and Lf(u) correspond to the matrix and theu

vector computed by the algorithm for the sub-tree of A

where u has only f successors u1, . . . , uf.The procedure Others_Succ_Mat_Vec computes the

formulæ here above.

Theorem 1. The optimal set of diffusing nodes is obtained bythe configuration associated to mini:16i6kLi(e). Its complexityis Oðk2jRj2jVAjÞ.

Proof 4. From Remarks 1 and 2, we can deduce from any uin V(A), the algorithm Others_Succ_Mat_Vec computesvector L(u) in Oðk2jRjÞ (see the loops in lines 1 and 3–4and min+ execution in line 7 of this algorithm in Fig. 6;we assume that a linear effort is needed to find a minimumof jRj elements) and matrix M(u) in Oðk2jRj2Þ (see lines 12,13–14, 15 and 17–18 of this algorithm in Fig. 6) such that"b, 1 6 b 6 jRj,"d, 0 6 d 6 k, thus there are two sub-opti-mal sets of diffusing nodes: one has load Ld(u) and theother has load Md,b(u). h

6. Numerical results

Our algorithm determines the optimal localizations fork diffusing nodes in a multicast tree which has alreadybeen created for a request � = (e, R). As we have signaled

30

20

10

40

50

60

70

80

90

100

130

120

110

Ave

rage

wei

ght o

f m

ultic

asts

Number of destinations4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

StT without diffusing nodesStT with 4 diffusing nodes

Fig. 8. Average AStT� weight as a function of the number of destinations

with and without diffusing nodes.

−20

−10

0

10

20

30

4 6 8 10 12 14

18 20 24 28 32 36

16

as percentage of StT tree weight

22 26 4034 3830Number of destinations

Difference between ShP and StT tree weights

Fig. 9. Difference between weights of AShP� and AStT

� as AStT� weight

percentage with four diffusing nodes as a function of the number ofdestinations.

V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106 2103

in Section 2 there are numerous methods of constructionof these trees. We selected two heuristic methods in orderto observe their impact on the efficiency of our algorithm.

The first one establishes a shortest path (ShP) between eand each r 2 R. The corresponding multicast tree AShP

� is aunion of these shortest paths.

The second method, which is based on the 2-approxi-mable solution of the Steiner tree problem proposed in[19], gives AStT

� tree. This Steiner problem formalized interms of multicast demand can be written as:

Definition 6 (Steiner Tree Problem (StTP)).Data: A connected undirected graph G = (V, E), a multicastrequest � = (e,R), and a natural number k.

Question: Does a rooted tree A� exist such that thenumber of its arc is less than or equal to k?

The heuristic algorithm [19] leans on polynomial algo-rithms of a minimum-weight spanning tree [20] and of ashortest path [21] coupled.

These two approaches, which are notably applied inpractice (see Section 2), represent two opposite visions ofthe optimal multicast tree placement. The ShP algorithmopts for minimization of path lengths ‘‘one by one’’ fromthe source to destinations (local perspective). The StT algo-rithm focuses upon minimization of used network re-sources (global perspective). The 2-approximablealgorithm which we implemented is particularly welladapted to operate in a distributed environment [22].

To generate a graph of 200 nodes we apply the Waxmanmodel [23] of BRITE [24] (with default parameters). Weestimate with the 5% precision at the significance levela = 0.05 the average weight of multicast tree as a functionof the destination number for both the algorithms whichconstruct a tree. For each number of destinations wechoose uniformly in V a multicast source e and next, weselect the destinations of this source according to theuniform distribution in V � {e}.

The measure which we are interested in is the treeweight: a number of edges used to transmit a givenmulticast (an edge which transports m copies of a given

30

20

10

40

50

60

70

80

90

100

130

120

110

Ave

rage

wei

ght o

f m

ultic

asts ShP with 4 diffusing nodes

ShP without diffusing nodes

Number of destinations4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40

Fig. 7. Average AShP� weight as a function of the number of destinations

with and without diffusing nodes.

transmission is counted m times). This metric correspondsto loadA� (see Section 3) when the diffusing nodes are pres-ent in the network.

In order to perceive the impact of diffusing nodes on thetree weight we perform the computations with four nodesplaced by our algorithm, and without them. In Fig. 7 we ob-serve that the weight reduction obtained for ShP with thediffusing nodes is significant (about 31% for 32 destina-tions). The improvement obtained by the introduction ofdiffusing nodes into the trees built with StT (Fig. 8) is evenmore substantial than in the previous case (about 65% for16 destinations). These two figures exhibit that ShP gener-ates trees whose weight is less than those generated byStT. This fact is not astonishing as ShP always chooses ashortest path between the source and any destination.

In Fig. 9, in which the relative difference between AShP�

and AStT� weights as StT tree weight percentage is depicted,

we notice, however, that this tendency is inverse formulticast trees with few destination (up to 18). To explainthis phenomenon we notice that (1) with a small numberof destinations the shortest paths identified by ShP aredisjoint, and (2) typically, the edges of a tree obtained byshortest paths are more numerous that those of a Steinertree computed for an identical multicast demand.

3 3.5 4 4.5 5 5.5

7

6

5

4

3

2

Average node degree

Gra

dien

t

Fig. 14. Gradient of critical point line in function of the average graphdegree.

20

15

25

30

35

40

45

50

55

60

10

Num

ber

of d

estin

atio

ns

3 4 5 6 7 8 9 10 11

Number of diffusing nodes

Fig. 13. Critical point line determining the utility of ShP and StT trees(ShP above the line, StT below the line).

30

20

10

40

50

60

70

80

90

3 4 5 6 7 8 9 01 11 21 31 41 51Number of diffusing nodes

ShP without diffusing nodesShP with diffusing nodes

Ave

rage

wei

ght o

f m

ultic

asts

(20

des

tinat

ions

)

Fig. 10. Average AShP� weight as a function of the number of diffusing

nodes for 20 multicast destinations.

30

20

10

40

50

60

70

3 4 5 6 7 8 9 01 11 21 31 41 51

StT with diffusing nodesStT without diffusing nodes

150

160

Ave

rage

wei

ght o

f m

ultic

asts

(20

des

tinat

ions

)

Number of diffusing nodes

Fig. 11. Average AStT� weight as a function of the number of diffusing

nodes for 20 multicast destinations.

−20

−10

0

10

20

30

6 73 4

5 51413121118 9 01Number of diffusing nodes

as percentage of StT tree weightDifference between ShP and StT tree weights

Fig. 12. Difference between weights of ShP and StT trees as a percentageof StT tree weight as a function of the number of diffusing nodes for 20multicast destinations.

2104 V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106

We now fix the number of destinations to 20 and weestimate the weights of trees obtained with ShP and StTalgorithms in function of the number of branching nodes.

We remind the reader that for 20 destinations and four dif-fusing nodes ShP turned out to be slightly more efficientthan StT. Figs. 10 and 11 also show the average weight ofShP and StT trees estimated with the absence of diffusingnodes. In accordance with the comment made above inthe context of the absence of diffusing nodes, ShP treesare almost twice as good as StT ones.

The introduction of three diffusing nodes reduces theweight of AShP

� by about 20 additions allows one to lowerthe tree weight by almost 40% for 15 branching nodes.The influence of the branching nodes on the reduction ofthe tree weight in the StT case is striking (Fig. 11): animprovement of almost 60% in the case of three branchingnodes until almost 75% for 15 of them. Confronting the re-sults of ShP and StT with diffusing nodes we observe thatStT, despite its starting point at a worse position, reachesthe tree weight of 40 in the situation in which ShP has thisweight of 48.

V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106 2105

In Fig. 12 we observe the relative difference of ShP andStT tree weights for 20 multicast destinations in functionof the number of diffusing nodes. It is not surprising thatfor this relatively large number of destinations and few dif-fusing nodes StT exhibits better performance than ShP.When the number of branching nodes increases and ap-proaches the number of destinations, ShP trees become‘‘lighter’’ than StT ones for the same reasons as those men-tioned in the comments on Fig. 9.

The next question we ask ourselves concerns the detec-tion of the numbers of diffusing nodes and destinations upto which StT is more advantageous than ShP. For the net-work investigated above the critical point is (4, 18). InFig. 13 we mark critical points starting from which theShP tree gives ‘‘lighter’’ solutions. For the points abovethe line we recommend ShP (for example, for three branch-ing nodes and 30 destinations), for those below the line werecommend StT.

As the critical points depicted in Fig. 13 form a straightline whose slope is five, we are now interested in what thisgradient depends on. One may guess that it is determinedby the average degree of the network. Indeed, if we look atFig. 14, the gradient decreases as the average node degreeincreases. Consequently, the line seen in Fig. 13 inclineswith the average degree growth. Therefore we concludethat StT is more favorable for loosely connected graphsand ShP is better for dense networks.

7. Conclusions and further work

We studied a problem of infrastructural design of acommercial optical meshed network with a circuit switch-ing routing protocol deployed. This problem was statedwithin the context of virtual services based on multicasttransmission. It concerns frequent and voluminous multi-cast demands whose source and destinations are à prioriknown and its solution determines the localizations ofbranching nodes (i.e. routers with higher cost and energyconsumption but which allow one to duplicate data andretransmit it in different directions). A solution to thisproblem allows a network operator to use his available re-sources more efficiently and make more profit with less, oreven without any, investment.

After formally stating the problem we proposed analgorithm to solve it. Next, we proved its optimality andcomputed its complexity which is polynomial. We com-puted a gain in terms of the used bandwidth comparedwith multicast trees without any diffusing nodes. Amongthe two heuristic algorithms which we used to deploy mul-ticast trees the first is based on the shortest past approach(ShP) and the second one exploits a solution to the Steinertree problem (StT) in undirected graphs.

We performed exhaustive computations in order tocompare the efficiency of our algorithm for multicast treesbuilt with ShP and StT. We observed the dependency oftheir efficiency on the numbers of diffusing nodes and des-tinations. This dependency is influenced by the averagenetwork degree. StT works better in loosely connected net-works whereas ShP is more efficient for strongly connectedones.

Generally speaking, we found ShP more efficient in find-ing a multicast tree than StT. We should not forget, how-ever, that we used the 2-approximable algorithm. It isnot excluded that a more precise StT algorithm (for exam-ple [25,26]) may give better results. We consider imple-menting these algorithms in order to verify theirperformance for our purposes.

We plan to continue this work in order to determine a spe-cific solution in particular graphs (for example havingbounded treewidth). We conjecture that our algorithm couldbe extended to this kind of graph. On the other hand we con-sider pursuing our work on optimal multicast deployment bystudying the Steiner problem in certain oriented graphs.

References

[1] E. Bonetto, L. Chiaraviglio, D. Cuda, G.G. Castillo, F. Neri, Opticaltechnologies can improve the energy efficiency of networks, in:Proceedings of ECOC, 2009.

[2] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, G.Lee, D. Patterson, A. Rabkin, I. Stoica, M. Zaharia, A view of cloudcomputing, Communications of ACM 53 (2010) 50–58.

[3] O. Audouin, CARRIOCAS description and how it will require changesin the network to support Grids, in: Proceedings of 20th Open GridForum, 2007.

[4] D. Verchère, O. Audouin, B. Berde, A. Chiosi, R. Douville, H. Pouylau, P.Primet, M. Pasin, S. Soudan, D. Barth, C. Caderé, V. Reinhard, J.Tomasik, Automatic network services aligned with grid applicationrequirements in CARRIOCAS project, in: Proceedings of GridNets,2008, pp. 196–205.

[5] I.T. Foster, C. Kesselman, J.M. Nick, S. Tuecke, Grid services fordistributed system integration, IEEE Computer 35 (6) (2002) 37–46.

[6] E. Mannie, RFC 3945 — GMPLS (October 2004).[7] V. Reinhard, J. Tomasik, D. Barth, M.-A. Weisser, Bandwith

optimisation for multicast transmissions in virtual circuitsnetworks, in: Proceedings of IFIP Networking, 2009.

[8] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide tothe Theory of NP-Completeness, 25th ed., W.H. Freeman andCompany, 1979.

[9] H.F. Salama, D.S. Reeves, Y. Viniotis, Evaluation of multicast routingalgorithms for real-time communication on high-speed networks,IEEE Journal on Selected Areas in Communications 15 (3) (1997)332–345.

[10] M. Jeong, C. Qiao, Y. Xiong, H.C. Cankaya, M. Vandenhoute, Efficientmulticast schemes for optical burst-switched WDM networks, in:Proceedings of IEEE ICC, 2000.

[11] R. Malli, X. Zhang, C. Qiao, Benefit of multicasting in all-opticalnetworks, in: SPIE All Optical Networking, 1998, pp. 209–220.

[12] J. Beasly, An SST-based algorithm for the Steiner problem in graphs,Networks 19 (1989).

[13] K. Bharath-Kumar, J.M. Jaffe, Routing to multiple destinations incomputer networks, IEEE Transactions on Communications 31(1983) 343–351.

[14] F.K. Hwang, D.S. Richards, Steiner tree problems, Networks 22 (1)(1992).

[15] V.P. Kompella, J. Pasquale, G.C. Polyzos, Multicasting for multimediaapplications, in: Proceedings of IEEE INFOCOM, 1992.

[16] X. Zhang, J.Y. Wei, C. Qiao, Constrained multicast routing in WDMnetworks with sparse light splitting, Journal of LightwaveTechnology 18 (12) (2000) 1917–1927.

[17] C. Berge, The Theory of Graphs and its Applications, Wiley, 1966.[18] D.E. Knuth, The Art of Computer Programming, vol. 1, Addison-

Wesley, 1997.[19] H. Takahashi, A. Matsuyama, An approximate solution for the Steiner

problem in graphs, Mathematica Japonica 24 (6) (1980) 573–577.[20] J.B. Kruskal, On the shortest spanning subtree of a graph and the

traveling salesman problem, Proceedings of AMS 7 (1) (1956) 48–50.[21] E.W. Dijkstra, A note on two problems in connexion with graphs,

Numerische Mathematik 1 (1959) 269–271.[22] G.-H. Chen, M.E. Houle, M.-T. Kuo, The Steiner problem in distributed

computing systems, Information Sciences 74 (1993) 73–96.[23] B.M. Waxman, Routing of multipoint connections, IEEE Journal on

Selected Areas in Communications 6 (9) (1988).

2106 V. Reinhard et al. / Computer Networks 56 (2012) 2097–2106

[24] A. Medina, A. Lakhina, I. Matta, J. Byers, BRITE: An approach touniversal topology generation, in: Proceedings of IEEE MASCOTS,Cincinnati, OH, USA, 2001.

[25] J. Byrka, F. Grandoni, T. Rothvoß, L. Sanita, An improved LP-basedapproximation for Steiner tree, in: Proceedings of ACM STOC, 2010.

[26] G. Robins, A. Zelikovsky, Improved Steiner tree approximation ingraphs, in: Proceedings of ACM-SIAM SODA, 2000.

Vincent Reinhard obtained his MSc diplomain Computer Science from the University ofVersailles, France. He is doing his PhD thesisin Computer Science on the Quality of Service(QoS) in optical networks at the University ofVersailles and SUPELEC, one of the leadingFrench engineering schools.

Johanne Cohen is a full time researcher atCNRS. She has worked at the Versailles Uni-versity since 2008. She obtained her Masterdegree from the Ecole Normale Supérieure deLyon, France, in 1995 and PhD degree inComputer Science from the University ParisSud in 1998. She was an assistant professor atthe Nancy I University from 2000 to 2001 andhas been a full time researcher at CNRS since2001. She obtained her HDR (Habilitation àDiriger les Recherches) in 2009. Her researchinterests include algorithmics for telecom-

munication, graph theory, algorithmic game theory, distributed algo-rithmics, complexity and approximation theory.

Joanna Tomasik received her magisteriumdiplomas in applied mathematics (1988) andin computer science (1998) at the Universityof Technology in Gliwice, Poland. Sheobtained her PhD in 1989 from the sameuniversity. In 1988 she started to work at theInstitute of Theoretical and Applied ComputerScience in Gliwice. She also worked in Franceat the University of Versailles and theNational Institute of Telecommunications andin Great Britain at the University of Edin-burgh. Since 2002 she has been a professor at

SUPELEC, one of the leading French engineering schools. She obtained herHDR (Habilitation à Diriger les Recherches) in 2012. Her main researchdomains concern performance evaluation.

Dominique Barth obtained his PhD in Com-puter Science (1994) at the University ofBordeaux and defended a HDR (Habilitation àDiriger des Recherches) (1999) at the Univer-sity Paris-Sud. He was an assistant professorat the University Paris-Sud (1994–1999).Since 1999 has been a professor at the Uni-versity of Versailles. He created and led theAlgorithmic, Combinatoric and Applicationteam. His main research interests concerngraph theory and algorithms. In the field oftelecommunication networks, he focuses on

QoS routing and multicast. He is and has been a leader of his team inmany European and national research projects.

Marc-Antoine Weisser defended a PhD thesisin Computer Science (2007) at SUPELEC, oneof the leading French engineering schools. Hewas a post-doctoral fellow in 2008 at theUniversity of Versailles and a member of theAlgorithmic, Combinatoric and Applicationteam of PRiSM laboratory. Since September2008 he has been an assistant professor inComputer Science Department of SUPELEC.His main research interests concern the graphtheory and graph algorithms applied to tele-communication networks. He particularly

focuses on multicast in networks in which related graph problems arevariants of Steiner tree problems.