3.1 MLDST (Minimum virtual Loss Diameter Spanning Tree)
In order to reduce the damage associated with the long transmission path, the objective of this research is to find a multicast tree for a given peer-to-peer IPTV network that demands quality of service. Specifically speaking, we want to build a spanning tree which has minimum data loss rate under several constraints.
“Diameter” of a spanning tree is defined as “the longest path from the root to all other nodes”.
25
Delay diameter is the diameter of a spanning tree when link weight is delay. In other words, the delay diameter is the longest total delay time among all possible paths from the root to all other nodes. Likewise, loss diameter is the diameter of a spanning tree when link weight is loss rate.
In other words, the loss diameter is the loss rate of the node that receives the least amount of data.
However, since loss rate is not addable but multipliable in nature that makes the computation a very complicated task for a graph based algorithm, we further define the following two terms to represent real Loss Diameter in order to simplify algorithmic computation. Virtual path loss is simply the summation of packet loss rates of all links in a path, while virtual Loss Diameter is the largest virtual path loss in a tree.
Please note that the real packet loss rate of a path should be 1-∏(1-pi,j), ∀ i, j ∈ T, we use direct summation of loss rate to simplify the model hoping its solution may lead to a good solution.
By taking one parameter as our objective and other two as the constraints, we propose a new spanning tree construction model.
Although a distributed model is more appreciate to construct a multicasting tree in real network, we model the problem in centralized fashion at current stage. The problem will be extended to distributed version only after we gain a better understanding on the centralized version.
The objective function of MLDST is defined below:
Given a graph G (V, E), where V = {v1, v2, v3,…vn} is the set of user nodes, E = {ei,j | vi, vj ∈ V} is the set of possible interconnections between pairs of nodes, we define di,j be the delay time spent on ei,j and pi,j be the the packet loss rate on ei,j. Thus, for each edge ei,j, we have a two-attributes weight for link ei,j, (di,j, pi,j). Tree T is a k-nary spanning tree rooted at ν1 with respect to G.
Define: Delay Diameter: Maximum simple path S ∈ T ∈
virtual Loss Diameter: Maximum
simple path S ∈ T∈
Delay Diameter = Maximum
simple path S ∈ T ∈ , is defined as the maximal accumulated26
delay from ν1 to any other node. Virtual Loss Diameter = Maximum simple path S ∈ T
∈ , is defined as the maximal accumulated packet loss rate of any simple path rooted at ν1.
The optimization function is defined as follows:
Given G(V, E), delay bound (D) and degree bound (b), find a spanning tree T rooted at v1, such that:
virtual Loss Diameter is minimized, while Delay Diameter < D and node degree < b.
Our objective is to minimize the virtual Loss Diameter in a spanning tree while Delay Diameter and node degree are both bounded. In MLDST, virtual Loss Diameter is just taken as an index to simplify the model for good MLDST.
Delay Diameter represents the largest accumulated delay from root to any other nodes. By bounding it, we can assure the worst case transmission delay is under control. On the other hand, the bound of Delay Diameter can also determine the size of MLDST, since the larger the bound is defined, the longer a single path could be.
3.2 NP-Completeness of MLDST
(A) MLDST is in NP:
We first show that MLDST
NP. Assuming that we are given a graph G(V, E), two parameters on each edge, say, delay d and packet loss rate p, and two predefined bound D>3 and B.There is a k-nary spanning tree T given, where maximum d1,m ≤ D, ∀ m ∈ T and k ≤ b. Then we verify this instance by checking if maximum ∑p1,m , ∀ m ∈ T is the minimum amount all possible solutions. The verification algorithm performs in polynomial time.
(B) MLDST is NP-Complete:
As we illustrated in Section 2.8.3, a BDST (Bounded Diameter Spanning Tree) problem is a NP-Complete problem if node degree is greater than 3. We can BDST to MLDST
27
straightforwardly. Let graph G (V, E), edge weight W = { wij | vi
, v
j∈ V }, a total weight bound C′and a diameter bound B′ be a valid instance of BDST, we construct the corresponding instances G of MLDST as follows. We let V=V′, E=E′, B=B′ and a large node degree bound D′ = |V|, as well as pij=dij
=w
ij, for all edges. We can easily prove by contraction that an optimal solution g to G with a minimum virtual Loss Diameter x must be a solution to G′. First, we can see that the diameter bound B’ must be satisfied. Next, g must be smaller or equal to total weight bound C.Otherwise, we can find another solution g’ to G′ with a total weight y ≤ C < x. In that case, we can use g’ to solve G to obtain a solution with a virtual Loss Diameter y, which is a contradiction.
From (A) and (B), we can say that BDST can be reduced to MLDST. As a result, we prove that MLDST is a NP-Complete problem if node degree bound is greater than 3.
3.3 Design Concepts and Objective
According to the problem model describing in previous sections, we designed a heuristic solution for MLDST. Since our objective is to minimize the virtual Loss Diameter, we prefer a single-source shortest-path algorithm rather than a minimum spanning tree algorithm, whose objective is to minimize the total cost of the tree, which may create large diameter paths.
Our heuristic algorithm follows Dijkstra’s algorithm’s footstep. We modify Dijkstra’s algorithm by bounding Delay Diameter and node degree and searching for a spanning tree which has a minimum virtual Loss Diameter.
The issues in distributing environment, such as peer churn and membership change, are left behind in proposed solution. Currently, we only focus on the centralized version for the purpose of proof of concept.
28
3.4 Heuristic MLDST
Our heuristic algorithm is quite simple and easy to understand. Every edge has two network parameters, delay and packet loss rate. While executing a Dijkstra’s algorithm, total delay and total packet loss rate of each intermediate path is calculated. We modified the original Dijkstra’s algorithm so that Delay Diameter and the degree of each node will be constantly examined to meet the constraints.
If a node exceeds the degree limit, the link with high loss rate will first be abandoned.
Priority is given to loss rate, instead of delay. That is, we disconnect links with higher loss rate prior to the ones with longer delay. Once a link is disconnected, data must be rerouted to downstream peers.
The resulting MLDST is only responsible for transmitting one piece of data. To receive complete data, many MLDSTs must be constructed for each piece of data. These multicasting trees need not to be fully disjoined.
Notice that data partitioning is not our concern.
3.5 Pseudo Code of Heuristic MLDST
Heuristic MLDST (G, w, s) Initialize−Single−Source(G, s)
do for each edge (u, v) ∈ E[G]
// use the weight of (u, v) to update current shortest path do RELAX(u, v, w)
for each edge (u, v) ∈ E[G]
do if d[v] > d[u] + w(u, v)
29
then return FALSE
// check if total delay exceeds the bound do if d[v] ≥ Delay Bound
then return FALSE
//check if node degree exceeds the degree bound do if Degree[v] ≥ Degree Bound
then return FALSE Return TRUE
This algorithm is modified based on Dijkstra’s algorithm by adding two checking processes into the loop. While algorithm is running, it checks if the constraints are both satisfied. The rest part of the algorithm remains the same with original design.