A New Delay-constrained Multicast Routing Algorithm Based on Shared Edges

In this paper, we made a detail analysis for the ESAMPH algorithm, and proposed ESAMPH_D algorithm according to the insufficient of ESAMPH algorithm. The ESAMPH_D algorithm does not consider those paths that do not satisfy the delay constraint, so we can ensure that all paths be taken into account will meet the limit of delay constraint, then we find the least costly path in order to build a minimum cost multicast tree. Simulation results show that the algorithm is better than ESAMPH algorithm in performance.


Introduction
Multicasting is a technique of communication that allows transmit information to multiple destination hosts at the same time.With the development of the high-performance network technology, such as video on demand, teleconferencing, online education and the increasingly widespread use of many other real-time multimedia applications, multicast technology is becoming the key to support these technologies.While the multicast routing algorithm is one of the key technologies to achieve multicast communication, to build a good performance multicast tree often become the best choice for multicast routing algorithm.Good multicast routing algorithms are often able to minimize network cost in a short time and meet certain QoS constraints so that we can make use of network resources efficiently.Because real-time multimedia applications' demand for delay is growing higher, so the research on multicast routing algorithm that not only can meet the end to end delay constraint, but also can optimize the network resources is very important, and it is also a hot research topic [1].
From global point of view, optimize network resources can be seen as optimize a multicast routing tree's total cost, finding a minimum cost multicast routing tree can be formalized as Steiner tree problem.As Steiner tree problem is NP-hard problem [2], so that many scholars have proposed heuristic algorithm to compute standard-Steiner tree, the most typical is the MPH algorithm [3].Besides, the KPP algorithm in literature [4] and BSMA algorithm in literature [5] are able to produce a high performance multicast tree, however, due to the excessive calculation, it is difficult to be applied in practice.Although the calculation of CDKS algorithm proposed by literature [6] is much lower than the previous two algorithms, the cost of the spanning tree is too high.So the literature [7] proposed a algorithm named ESAMPH, this algorithm is based on the basic idea of MPH algorithm to construct a multicast tree, compared with other similar algorithms, it takes full advantage of the shared edges to reduce the cost of the spanning tree, it can get a better balance among consideration, delay and computational complexity, it has a better comprehensive performance.However, the algorithm may chose those who do not satisfy the limit but less costly path add to the spanning tree when selects the next destination node which to be added.So, this paper combines the advantages of MPH multicast in generate multicast tree and the performance of CDKS algorithm on compute time, based on the algorithm of ESAMPH, proposed an improved multicast routing algorithm, named ESAMPH_D.

Questions and Modeling
Generally, we formalized the network as an empowerment undirected graph ( ) ( R + represents a positive real num- ber set in these functions).Here, the cost can be seen as the price of use the link or the measure of some resources on network, the delay is the total delay when a packet get through the link, including queuing delay, sending delay and transmission delay.
In the real transmission problems, it often demand to minimum the cost while meet the certain requirements of the delay constraint at the same time.So, we can get the model of the problem like this: Here, ∆ is a positive real number, it presents the end to end delay constraint.

The Analysis and Improvement on ESAMPH Algorithm
The basic idea of the algorithm of ESAMPH is mainly based on the MPH algorithm that can generated a low cost tree, it choose the node that has more shortest path pass through to reduce the multicast tree cost further.The algorithm calculated the minimum cost path among all multicast nodes at first, for i v V ∀ ∈ , if the minimum cost path which satisfies the delay constraint pass through the node (except the head and the tail node), then adjustment the metric factor (increase the metric value), find the maximum metric factor and save it.Second, we treat the source node S as the multicast tree T .Third, calculate the minimum cost path from the other nodes to multicast tree T .If the minimum cost path include the maximum metric value node, then we let it divided by an integer (the integer is bigger than one) and then compare, we choose the minimum cost path connect to the tree T after compare.Repeat the steps above, until all of the destination nodes are connected to the tree.
As we can see from the process above, the algorithm calculate the minimum cost path among all multicast nodes by using the Dijkstra algorithm at first, so that the path that not satisfy with the delay constraint may also be included, it adds extra space cost.At the same time, it may also leads to that the path is not satisfy with the delay constraint when choose the minimum cost path to join in the multicast tree.
According to the insufficient of ESAMPH algorithm, this paper proposed the algorithm named ESAMPH_D, this algorithm can be described briefly as below.
Here we use three sets E , 1 V and 2 V .E represents the set of minimum cost path that satisfy the delay constraint from each destination node to the other nodes. 1 V represents the set of nodes which are included by the path in E . 2 V represents the set of nodes that have more shortest path get through.
Step 1. Use the improved Dijkstra algorithm seeking the minimum cost path that satisfy the delay constraint from the destination nodes to the other nodes, add the path into E and add the nodes which are in these paths into 1 V .Step 2. For 1 i v V ∀ ∈ , if the minimum cost path get through the node, adjustment the metric factor (increase the metric value), then find the node that has the maximum metric value, to join in the set of 2 V .
Step 3. Rooted with the source node s and initial multicast tree T .
Step 4. Choose a destination node from set 1 V , then find all paths from set E which associated with the node that have not joined into the tree but satisfy the delay constraint.If none of the paths contains the nodes included in 2 V , choose the minimum cost path to join into T .Or, we let the cost on this path multiplied by a coefficient ( ) , then make a comparison, and choose the minimum cost path link to T .
Step 5. Repeat the Step 4 until all of the destination nodes are all joined into the spanning tree T .
The ESAMPH_D algorithm does not calculate all the minimum cost path between every two nodes, but just calculate the minimum cost path that satisfy the delay constraint, so, this algorithm has a low spatial complexity compared with ESAMPH algorithm.On the other hand, the fourth step of this algorithm is to choose the minimum cost path from the minimum set of path that satisfy the delay constraint, and the set of nodes that have more shortest path pass through may be more likely to be selected.Thereby, the algorithm can reduce the cost of the whole tree by achieving more link sharing, and improve the performance of the whole tree, it can overcome the shortcoming of the ESAMPH algorithm when choose the next destination node to join into the tree while the cost is the minimum but the delay is not satisfy the delay constraint.
Here are the pseudo codes for the algorithm ESAMPH_D:   O mn .The time complexity of the third step is a constant number ( ) 1 O .The fourth step choose the minimum cost path that satisfy the delay constraint to the tree T , we con- sider the times of comparisons: suppose the number of nodes that have added to the tree are i , then we need to decide how to add the number ( )

The Time and Space Complexity Analysis
The worst cast is that it has ( ) nodes added to the tree, there still have ( ) m i − destination nodes are not added, in the selection process, if the relative path contains the node in E , then we must compare ( ) times before we find the best path, so, the complexity of Step 4 and Step 5 is: Because m n < , so the total time complexity of the algorithm is: storage locations, and δ represents the maximum number of paths that satisfy the delay constraint from one destination node to the other nodes, so, n δ ≤ .Above all, the space complexity of ESAMPH_D equals to ESAMPH in worst.

Simulation and Performance Analysis
In this simulation experiment part, we use the random graphs to verification the effectiveness and correctness of the improved algorithm, and the random graphs used in the simulation are constructed using the method proposed by Waxman [8,9].The n nodes of a graph are random- ly placed on a Cartesian coordinate grid with unit spacing, considering all possible pairs of node, edges are placed with probability like: Figure 1 shows the relationship between the multicast tree cost and the number of network nodes: make the number of the destination nodes maintaining 20, then change the number of network nodes from 40 to 100, the increments is 10 each time.We can see that the cost of the multicast tree is lower when using the ESAMPH_D algorithm.
Figure 2 shows the relationship between the multicast tree cost and the number of destination nodes: make the number of the network nodes maintaining 160, then change the number of destination nodes from 20 to 80, the increments is 10 each time.We can see that using ESAMPH_D is better than ESAMPH algorithm in generating the multicast tree.
Figure 3 shows the relationship between the multicast   tree cost and the delay constraint: make the other conditions remaining, change the delay constraint from 5 to 30, the increments is 5 each time.We can see that the cost of the multicast tree is lower when using the ESAMPH_D algorithm at the same delay constraint condition.

Conclusion
This paper proposed the ESAMPH_D algorithm based on the weak point of ESAMPH algorithm, the improved algorithm did not add any extra cost in space or time when generating the low-cost multicast tree, so it ensuring the availability of the algorithm in practical application.

Theorem 1 . 1 m
The time complexity of ESAMPH_D is O(mn 2 ).Proof: Consider n represents the network nodes, s represents the source node, and m represents the destination nodes.The first step of the algorithm is use the improved Dijkstra algorithm to find the minimum cost path that satisfy delay constraint from destination nodes to the other nodes, it's time complexity is ( )2O mn .The second step is to calculate the weights for the nodes on each path, the complexity is( )O n , and the path like this has ( ) m − in total, so the complexity is ( ) 2 is the Manhattan distance between nodes u and v , L is the maximum possible distance between two nodes, α and β are in the range ( ] 0,1 and can be selected to obtain desired characteristics in the graph.Here, we choose 0

Figure 1 .
Figure 1.The relationship between the multicast tree cost and the number of network nodes.

Figure 2 .
Figure 2. The relationship between the multicast tree cost and the number of destination nodes.

Figure 3 .
Figure 3.The relationship between the multicast tree cost and the delay constraint.
in which V is the set of nodes of the graph G , each node represents a host or a router.E is the set of edges in graph G and E represents the number of edges (or links) of the set E .n represents the number of nodes in graph G and