Many-to-Many Multicast Routing Schemes under a Fixed Topology

Many-to-many multicast routing can be extensively applied in computer or communication networks supporting various continuous multimedia applications. The paper focuses on the case where all users share a common communication channel while each user is both a sender and a receiver of messages in multicasting as well as an end user. In this case, the multicast tree appears as a terminal Steiner tree (TeST). The problem of finding a TeST with a quality-of-service (QoS) optimization is frequently NP-hard. However, we discover that it is a good idea to find a many-to-many multicast tree with QoS optimization under a fixed topology. In this paper, we are concerned with three kinds of QoS optimization objectives of multicast tree, that is, the minimum cost, minimum diameter, and maximum reliability. All of three optimization problems are distributed into two types, the centralized and decentralized version. This paper uses the dynamic programming method to devise an exact algorithm, respectively, for the centralized and decentralized versions of each optimization problem.


Introduction
Multicast routing has been increasingly used in computer or communication networks supporting various multimedia applications, such as real-time audio and video conferences, entertainment, and distance learning, [1,2]. Multicast routing is known as a multicast tree [3], which can reduce the usage of network resource, such as network cost and bandwidth. Multicast tree can be reduced to be a Steiner tree in mathematics [4].
In a real world, a large number of continuous multimedia applications drive the consumers to advance their quality of service (QoS) requirements [2,5,6] (e.g., cost, delay, and bandwidth). As we all know, the minimum cost multicast tree (Steiner tree) problem is NP-hard [7] and the minimum diameter multicast tree (Steiner tree) problem is polynomial solvable [8]. Furthermore, the multicast tree problem with additional QoS requirements is frequently harder to solve. For example, in past decade, a number of heuristics [9,10] and distributed algorithms [11,12] have been devised for finding a minimum cost delay-constrained multicast tree. Surprisingly, the fixed topology version of this problem, in which the configuration of multicast tree is given in advance with a tree topology, is easier than the classic version. Wang and Jia [13] designed a pseudo-polynomial-time algorithm, and Xue and Xiao [14] devised a full polynomial time approximation scheme. Not only that, we believe the idea of under a fixed topology will play an important role in exploring a desired multicast routing with a variety of QoS requirements.
In many practical settings, each destination is a terminal. A terminal means an end user, who takes charge of receiving and sending data but not branching them, that is, it can not serve as a relay node in charge of copying and branching data to other terminals. In a word, a terminal is a source, a receiver, or both. For instance, a member in video conference not only receives all the others' real-time images but also sends its realtime images to all the others. In fact, this is a type of general paradigm of many-to-many multicast routing. Provided that all terminals share a common communication channel, one many-to-many multicast tree can be reduced to a terminal Steiner tree (TeST) [15]. The minimum cost TeST problem is known to be NP-hard [15] and the minimum diameter TeST problem is polynomial solvable [8]. Many-to-many multicast 2 The Scientific World Journal tree includes two types, the centralized and decentralized. In the former, a network node with a bootstrap serves as a server in charge of receiving a terminal's data and then copying and branching them to all the other terminals by using multicast, resulting in a centralized multicast tree, essentially a rooted TeST (with the root at the server node). The centralized multicast tree problem is in fact one-to-many multicast tree problem [13,14,16]. In the latter, a terminal sends its data directly to all the others using a common channel, resulting in a decentralized one, an unrooted TeST in essence.
To the best of our knowledge, there have been a number of studies on the unrestricted many-to-many multicast tree mentioned above (terminal Steiner tree) [8,15,[17][18][19]; however few studies on the QoS restricted version [16] due to its vast difficulty. Fortunately, we discover that the idea of under a fixed topology could provide us with a new way of studying the restricted version. In this paper, we will study the unrestricted many-to-many multicast tree problem with the objective of cost minimized or delay minimized and/or reliability maximized under a fixed topology, respectively. The approaches and results presented in the rest of the paper will contribute to study the many-to-many multicast tree with QoS restrictions under a fixed topology in the recent future.
The rest of this paper is organized as follows. In Section 2, we introduce the architecture of many-to-many multicast tree under a fixed topology. In Section 3, we make preliminaries, including defining three kinds of metrics of QoS of multicast tree, three QoS optimization problems, and two Euclidean graphs. We present an exact algorithm, respectively, for the centralized and decentralized version of the minimum cost problem in Section 4, the minimum delay problem in Section 5, and maximum reliability problem in Section 6. In Section 7, we give an example to illustrate all the algorithms. In Section 8, we conclude the paper with some research topics.

Architecture of Many-to-Many Multicast Tree under a Fixed Topology
A computer or communication network is frequently modeled as an undirected graph [20]. Let = ( , , ) be an undirected edge-weighted graph with a subset ⊂ of terminals and = ( , ) be a sample TeST. Here, and denote the node set and edge set of , and denote the node set and edge set of , and ( ) denotes the weight on for every ∈ . For any edge = { , } ∈ , we say that is realized in once its two endpoints and are mapped to two different nodes V and V in . Note that and are not allowed to be mapped to a same node of . In essence, is mapped to a simple path in connecting V and V , often a so-called optimal path with respect to some optimization objective, for example, a shortest path if ( ) represents the length of . Also, we use ( ) to denote a realization of in , and use * [V , V ] to denote an optimal path in between V and V for any a pair of nodes V and V .
Given any two different nodes and of , there is a unique path in between them. Specially, if and are both leaves, we call the path a leaf-to-leaf path of , denoted as  Figure 1: Ignore the dashed lines on the left top subfigure to obtain a sample graph where the number on each edge represents its length. The right top subfigure is a sample rooted TeST and the right bottom is a sample unrooted TeST. An example centralized many-to-many multicast tree under a fixed topology is distinguished by dashed lines on the left top subfigure and an example decentralized one is distinguished on the left bottom subfigure.
[ , ]. In addition, the path in between the root node and a leaf is called a root-to-leaf path of , denoted as [ , ]. Let ( , ) denote a realization of [ , ] in and ( , ) a realization of [ , ]. It is clear that ( , ) (resp. ( , )) is composed of all the realizations of edges on [ , ] (resp. [ , ]) respectively. Furthermore, all the realizations of the edges on form a realization of in , denoted as ( ). A realization of in forms a many-to-may multicast tree under a fixed topology in essentially.
In this paper, we are concerned with the centralized and decentralized multicast trees under a fixed topology, namely, the realization of a given rooted and unrooted TeST topology; see Figure 1. On the top subfigure, the left graph shows a network with each edge having a weight denoting its length and the right graph shows a given rooted TeST topology. A realization of the rooted TeST in the network is distinguished by dashed edges. Considering that every leaf of the TeST is required to be mapped to a fixed node (terminal) and its root is required to be mapped to the server node, the essential work of realizing the TeST in the network is to map all the nonleaves except the root of the TeST to some nonterminals. If we arrange all the nonleaves in the order of from the 2nd level to top and from left to right on a level and label them by numbers 1, 2, . . . , | \ | in sequence, we can denote all the nonleaves by an ordering ( , , ), and then use another ordering (ℎ, , ) to record all the selected nonterminals in the graph. Likewise, on the bottom subfigure, the left shows a same network as above and the right shows an unrooted TeST topology. A realization of the TeST is distinguished by dashed edges. Since each leaf of the TeST is required to be mapped to a fixed node (terminal), the essence of realizing the TeST in the network is to map all the nonleaves of the TeST to some nonterminals. We can transform an unrooted tree into a rooted tree by assigning any a nonleaf as the root, and similarly use ( , , ) to denote all the nonleaves and ( , , ℎ) to record all the selected nonterminals in the graph. In general, we can use an ordering ( 1 , . . . , | \ | ), ∈ \ to denote all the nonleaves of a given TeST and use another ordering (V 1 , . . . , V | \ | ), V ∈ \ to record all the selected nonterminal nodes in sequence, that is, a multicast tree under a fixed topology. In this paper, we always use | ⋅ | to denote the cardinality of a set.
Let be a rooted tree, the subtree of rooted at , and ( ) a realization of . When is a nonleaf node, we let Δ( ) be the set of all the children of , and then immediately obtain that (1)

Fundamental Preliminaries
In the section, we make some fundamental preliminaries, which will help us to analyze the problems and understand the algorithms proposed in the following.

Metrics.
First of all, we define three kinds of metrics of QoS of tree, including the cost, delay,and reliability of tree.
3.1.1. Cost. We are given an undirected graph = ( , , ) where ( ) represents the cost on for every (⋅). Let be a path in . The cost of is equal to the sum of all the costs of edges on , that is, ( ) = ∑ ∈ ( ). Hence, the cost of edge realization ( ) of = { , } in which and are mapped to two different nodes V and V in , respectively, is denoted as The cost of ( ) is defined as the sum of all the costs of edge realizations of , that is, Let ( ) denote a minimum cost realization of . Thus, 3.1.2. Delay. We are given an undirected graph = ( , , ) where every edge ∈ has a weight ( ) representing the delay on . The delay of is equal to the sum of all the delays of edges on , that is, ( ) = ∑ ∈ ( ). Then, the delay of edge realization ( ) is denoted as is a minimum delay path in between V and V .
The delay of ( , ) is equal to the sum of all the delays of edge realizations of [ , ], that is, Similarly, we have The maximum delay of leaf-to-leaf path realization of is called the diameter of ( ), that is, Let ( ) denote a minimum delay realization of . So, The maximum delay of root-to-leaf path realization of is called the radius of ( ), that is, Likewise, Note that realizations with a minimum diameter or radius are both denoted by ( ). We can differentiate according to the context where it appears.

Reliability.
We are given an undirected graph = ( , , ) where every edge ∈ has an independent working probability ( ) while all the nodes are immune to failures. The working probability of is equal to the product of all the working probabilities of edges on , that is, ( ) = ∏ ∈ ( ). Then, the working probability of edge realization ( ) is denoted as The working probability of ( , ), named its reliability, is equal to the product of all the working probabilities of edge realizations of [ , ], that is, Likewise, 4 The Scientific World Journal The minimum reliability of leaf-to-leaf path realization of is called the diameter reliability of ( ), that is, Let ( ) denote a maximum reliability realization of . Thus, The minimum reliability of root-to-leaf path realization of is called the radius reliability of ( ), that is, Similarly, Note that realizations with a maximum diameter or radius reliability are both denoted by ( ). We can differentiate according to the context where it appears.

Problem
Definitions. The focus of this paper is three optimization problems of many-to-many multicast tree under a fixed topology from the perspective of three metrics above, which are formally defined as follows.

Problem 1.
Given an INPUT with every edge ∈ having a nonnegative weight ( ) ≥ 0 representing the cost on , the minimum cost many-to-many multicast tree under a fixed TeST topology problem (MCMP) aims to find an ordering Problem 2. Given an INPUT with every edge ∈ having a positive weight ( ) > 0 denoting the delay on , the minimum delay many-to-many multicast tree under a fixed TeST topology problem (MDMP) aims to find an ordering Problem 3. Given an INPUT with every edge ∈ having a weight 0 < ( ) < 1 representing the working probability on , the maximum reliability many-to-many multicast tree under a fixed TeST topology problem (MRMP) aims to find an ordering (V 1 , . . . , V − ) * , V ∈ \ with a maximum reliability.

Euclidean Graphs.
Given an undirected graph = ( , , ) with every edge ∈ having a weight ( ), we construct two types of Euclidean graphs based on in the following.

Shortest-Path
Graph. When ( ), ∀ ∈ in = ( , , ) represents the cost ( ) or delay ( ) on , the path between V and V with a minimum weight (e.g., cost or delay) is called a shortest path (SP), denoted as * [V , V ]. So, All-pairs SPs in form a set, denoted as Σ, that is, Next we construct a new graph Σ( ) = ( , Σ, ) from such that the edge between V and V just represents an SP represents the working probability ( ) on , the path between V and V with a maximum working probability is called a maximum reliability path (MRP), denoted as * [V , V ]. So, All-pairs MRPs in form a set, denoted as Π, that is, Next, we construct a complete graph Π( ) = ( , Π, ) from such that the edge between V and V just represents

Minimum Cost Many-to-Many Multicast Tree under a Fixed Topology
In this section, we study the centralized and decentralized MCMP, respectively.

Centralized MCMP.
According to discussions above in Section 2, the essence of finding a minimum cost multicast tree under a given TeST in the centralized MCMP is to find a minimum cost realization of the rooted TeST topology. In this subsection, we devise a polynomial-time exact algorithm for the centralized MCMP. Let ( ) be a realization of with mapped to V in the centralized MCMP. Let [ ][V] denote the cost of ( ).

Decentralized MCMP.
By the discussions above in Section 2, to find a minimum cost multicast tree under a given 6 The Scientific World Journal Step 1: Use the Floyd's algorithm to find all-pairs shortest paths and then obtain Σ ( ) = ( , Σ , ); Step 3: Trace out (V 1 , . . . , V − ) # C top-down from of ; TeST in the decentralized MCMP is essentially to find a minimum cost realization of the unrooted TeST topology.
Since an unrooted TeST can be transformed into a rooted TeST by assigning it any nonleaf as its root, we can adapt the algorithm MCCT for finding a minimum cost decentralized multicast tree under an unrooted TeST, which is denoted as The resultant algorithm is named as MCDT. The main differences between MCDT and MCCT are that and MCDT removes the restriction of mapped to from MCCT. Based on Theorem 1., we calculate the time complexity of algorithm MCDT, shown in Theorem 2.

Theorem 2. Given an INPUT as , algorithm MCDT can find an optimal solution of the decentralized MCMP correctly in
Proof. It is similar to the proof of Theorem 1.

Minimum Delay Many-to-Many Multicast Tree under a Fixed Topology
In this section, we study the centralized and decentralized MDMP, respectively.

Centralized MDMP.
In the centralized MDMP, to find a minimum delay multicast tree under a given TeST topology is to find a minimum delay realization of the rooted TeST. In this subsection, we design a polynomial-time exact algorithm for the centralized MDMP. Let ( ) be a realization of with mapped to V in the centralized MDMP. The delay of ( ) is equal to the radius of ( ). We let [ ][V] denote the radius of ( ). When where (V , V) denotes the delay of * [V , V]. We use (24)  Based on above analysis, we devise algorithm MDCT to find a minimum delay centralized multicast tree under a TeST, which is denoted as (V 1 , . . . , V − ) # C , in a polynomial time; see Theorem 3. We also can use the way in [21] to execute algorithm MDCT. In order to compute all [ ][V], we need to get all-pairs shortest paths in beforehand, namely, Σ ( ) = ( , Σ , ) in which Σ denotes (18) with a delay on every edge of . Here, we can use the Floyd's algorithm to get Σ ( ).

Theorem 3. Given an INPUT as , algorithm MDCT can find an optimal solution of the centralized MDMP correctly in
Proof. It is similar to the proof of Theorem 1.

Decentralized MDMP.
The essence of finding a minimum delay multicast tree under a given TeST in the decentralized MDMP is to find a minimum delay realization of the unrooted TeST topology. First of all, we can always use the method in [22] to transform an unrooted tree into a rooted tree and further into a binary tree, denoted as since B has a single node. Otherwise, for each ∈ B \ , we can use (25

Theorem 4. Given an INPUT as , algorithm MDDT can find an optimal solution of the decentralized MDMP correctly in
Proof. It is similar to the proofs of Theorems 1 and 2.

initialize [ ][V] and [ ][V] for all ∈ B and V ∈ and then computes [ ][V] and [ ][V]
for all ∈ B \ and V ∈ \ , whose time complexity is at most Therefore the time complexity of algorithm MDDT is no more than ( 3 + ( − ) 3 ).

Maximum Reliability Many-to-Many Multicast Tree under a Fixed Topology
In this section, we study the centralized and decentralized MRMP, respectively.

Constructing an MRPG.
MRPG based on will play an important role in the design of algorithm for MRMP in . According to the discussions in Section 3, MRPG based on is an Euclidean graph comprising all-pairs MRPs in . So the key work of constructing MRPG is to devise an efficient algorithm for finding all-pairs MRPs. In this section, we present such an algorithm with a cubic time.
Firstly, we introduce a fundamental Lemma 5.
This causes a contradiction.
From Lemma 5, we claim that the most reliable paths in satisfy the triangle inequality, based on which we can design a dynamic programming algorithm for finding allpairs MRP's.
For any edge = {V , V } ∈ , we rewrite ( ) to be (V , V ). We can use (28) to construct a probability matrix = ( , ) × , We use ( ) ( , ) to denote the working probability of a current MRP between V and V after V is introduced. We set (0) ( , ) = , initially and then use (29) to compute ( ) ( , ) for from 1 to .
Finally, ( ) ( , ) is the working probability of the MRP in between V and V .
In essence, above idea of using (29) recursively forms our dynamic programming algorithm for finding all-pairs MRP's, namely, constructing Π( ) = ( , Π, ), which is described as procedure CMRP (Procedure 1). The time complexity of CMRP is shown in Lemma 6.

Lemma 6.
Given an undirected edge-weighted graph = ( , , ) with nodes and edges in which every edge has an independent working probability, procedure CMRP can find all-pairs maximum reliability paths in ( 3 ) time.

Algorithms.
In this section, we present an exact algorithm for the centralized and decentralized MRMP, respectively.

Centralized MRMP.
The essence of finding a maximum reliability multicast tree under a TeST topology in the centralized MRMP is to find a maximum reliability realization of the rooted TeST.
Let ( ) be a realization of with mapped to V in the centralized MRMP. The reliability of ( ) refers to its radius reliability, which is denoted as [ ] [V]. When ∈ is a leaf of , we set [ ][ ] = 0. Otherwise, for each ∈ \ , we can use (30 Above analysis can be described as algorithm MRCT. It can find a maximum reliability centralized multicast tree under a TeST, denoted as (V 1 , . . . , V − ) △ C , in a polynomial time; see Theorem 7. We use the method in [21] to perform algorithm MRCT. In order to compute [ ][V], we need to get all-pairs maximum reliability paths in beforehand, namely, Π( ) = ( , Π, ). This work can be accomplished by procedure CMRP. Theorem 7. Given an INPUT as , algorithm MRCT can find an optimal solution of the centralized MRMP correctly in Proof. It is similar to the proof of Theorem 1.

Decentralized MRMP.
To find a maximum reliability multicast tree under a TeST in the decentralized MDMP is essentially to find a maximum reliability realization of the unrooted TeST. We can use the way in [22] to transform an unrooted tree into a rooted tree and further into a binary tree B = ( B , B ). And some definitions and notations therein are still used here. Let ( B ) be a realization of B with mapped to V in the decentralized MRMP. The reliability of ( B ) refers to its diameter reliability, which is denoted as We can use (31) to compute [ ][V] recursively, and then we can trace out an exact solution of the decentralized MRMP, denoted as (V 1 , . . . , V − ) △ D , if some bookkeeping information is saved during the whole computation. This leads to algorithm MRDT, whose time complexity is shown in Theorem 8. Figure 2: For ease of view, we neglect the numbers on edges. The example network for MCMP and the binary tree topology are both the same as those shown in Figure 1 and the integer on every edge represents its quantity of cost. The minimum cost multicast tree for the centralized MCMP is drawn with the bold dashed edges on the top subfigure and the one for the decentralized MCMP is drawn on the bottom subfigure.

Theorem 8. Given an INPUT as , algorithm MRDT can find an optimal solution of the decentralized MRMP correctly in
Proof. It is similar to the proof of Theorem 4.

Illustrative Examples
In this section, we take the network and the binary tree topology shown in Figure 1 as an example to illustrate the six algorithms proposed above (Algorithms 1-6).
Suppose the integer on every link of the network in Figure 1 represents the quantity of cost on the link. For instance, each unit of cost is 0.8 dollar; then the cost on edge { , } is 3.2 dollars. We apply algorithm MCCT to solve the centralized MCMP. MCCT first uses the Floyd's algorithm to find all-pairs minimum cost paths in the given network, that is, constructing the SPG Σ ( ) = ( , Σ , ) with respect to the link costs of network then computes the values of (21) recursively, and finally terminates with an optimal ordering ( , , ) of the centralized MCMP. So we know that , , are mapped to , , , respectively, and then derive an optimal solution from Σ ( ) distinguished by bold dashed edges on the top subfigure of Figure 2; for example, the communication between and is established by the minimum cost path -ℎ -and the communication between and is established by the minimum cost path --. Similarly we can apply algorithm MCDT to solve the decentralized MCMP. MCDT first constructs Σ ( ), then computes the values of (23)  Figure 3: The example network for MDMP and the binary tree topology are both the same as those shown in Figure 1 and the integer on every edge represents its amount of delay. The minimum delay multicast tree for the centralized MDMP is drawn with the bold dashed edges on the top subfigure and the one for the decentralized MDMP is drawn on the bottom subfigure. recursively, and finally ends with ( , , ). Hence we can derive an optimal solution to the decentralized MCMP from Σ ( ), distinguished by bold dashed edges on the bottom subfigure of Figure 2.
Suppose the integer on every link of the network in Figure 1 represents its amount of delay. For example, every unit of delay is 1 ms, then the delay on link { , } is 3 ms. We apply algorithm MDCT to solve the centralized MDMP. MDCT first uses the Floyd's algorithm to find all-pairs minimum delay paths in the given network, that is, constructing the SPG Σ ( ) = ( , Σ , ) with respect to the link delays of network, then computes the values of (24) recursively, finally ends with an optimal ordering ( , , ) of the centralized MDMP. So we know that , , are mapped to , , , respectively, then derive an optimal solution from Σ ( ) distinguished by dashed edges on the top subfigure of Figure 3. Similarly, we apply MDDT to the decentralized MDMP. MDDT first constructs Σ ( ), and then computes the values of (25) and (26) recursively, finally terminates with ( , , ). We can derive an optimal solution to the decentralized MDMP from Σ ( ), which is distinguished by bold dashed edges on the bottom subfigure of Figure 3 and equal to the optimal solution to the decentralized MCMP.
Suppose that every link ∈ of the network given in Figure 1 has an independent working probability whose value  Figure 4: The example network for MRMP and the binary tree topology are both the same as those shown in Figure 1 and the integer on every edge represents the parameter of the linear probability function. The maximum reliability multicast tree for the centralized MRMP is drawn with the bold dashed edges on the top subfigure and the one for the decentralized MRMP is drawn on the bottom subfigure.
is a linear function in the integer ( ) on , formulated as ( ) = 1 − 0.01 × ( ). For instance, the working probability of { , } is 0.98. We apply algorithm MRCT to solve the centralized MRMP. MRCT first uses procedure CMRP to find all-pairs maximum reliability paths in the network, that is, constructing the MRPG Π( ) = ( , Π, ) with respect to the link probabilities of the given network, then computes the values of (30) recursively, finally terminates with an optimal ordering ( , , ) of the centralized MRMP. We can get an optimal solution from Π( ) distinguished by bold dashed edges on the top subfigure of Figure 4. Similarly, we can apply algorithm MRDT to solve the decentralized MRMP. MRDT first constructs Π( ), then computes the values of (31) and (32) recursively, and finally ends with ( , , ). Hence we can derive an optimal solution to the decentralized MRMP from Π( ), distinguished by bold dashed edges on the bottom subfigure of Figure 4. Evidently, the optimal solution to the centralized MRMP is same as that to the centralized MCMP as well as the optimal solution to the decentralized MRMP is same as that to the decentralized MCMP.

Conclusions
This paper introduces the architecture of a many-to-many multicast tree with fixed topology, reduces it to a realization of the given TeST topology, and applies the idea of under a fixed topology to deal with three optimization problems, that is, the minimum cost, minimum delay, and maximum reliability multicast tree under a fixed topology problem. Each problem includes the centralized and decentralized versions. For the both versions of each problem, an exact algorithm is devised using the dynamic programming approach, respectively. On the condition that we are given a collection of alternative tree topologies, it is of interests to explore a best topology from all the alternative tree topologies.
Moreover, if we consider two or more weights on every link of a network, it is an interesting and important research topic how to devise an efficient algorithm for the multicast tree problem under a fixed topology with multiple objectives or with a single objective and at least one constraint.