Minimum eccentricity multicast trees

We consider the problem of constructing a multicast tree that connects a group of source nodes to a group of sink nodes (receivers) and minimizes the maximum end-to-end delay between any pair of source/sink nodes. This is known as the \emphminimum eccentricity multicast tree problem, and is directly related to the quality of service requirements of real multipoint applications. We deal directly with the problem in its general form, meaning that the sets of source and sink nodes need not be overlapping nor disjoint. The main contribution of this work is a polynomial algorithm for this problem on general networks which is inspired by an innovative method that uses geometric relationships on the xy-plane.


Introduction
Multipoint applications are of growing importance in broadband communication networks and the Internet.In a multipoint application, a number of participants, remotely located, wish to exchange data for a duration of time.The simplest possible approach would be to have each dissemination take the form of a broadcast from the originator of the data to a set of receivers.This approach suffers from the overhead of setting up broadcast trees tailored to each use.An approach with less overhead is to construct a single tree to be used by varying sets of senders and receivers during the multipoint application.The price paid for this reduction in overhead is an increase in latencies and traffic concentration [2].Shared trees have been built as either exact or approximate centered trees in which some distance measure from a single node is minimized [9,1].Generally, minimizing sums of distances leads to NP-complete problems such as the Steiner tree problem [10], while minimizing worst-case distances leads to tractable problems.In this paper, we address the problem of minimizing worst-case latencies in a general setting.
The network is modeled by a weighted undirected graph.Nodes represent locations of possible participants and the weights on the edges represent packet communication delays.We formulate the problem as follows: at a certain time we assume that a number of the network nodes, identified as the participants of a multipoint application, wish to establish a communication so that the maximum delay between any pair of participants is minimized.We further assume that the participants of the group are either sources of information, either sinks (receivers), or both, meaning that the groups of source and sink nodes are neither overlapping, nor disjoint.Only pairs of source and sink nodes contribute to the maximum end-to-end delay.
This problem can be solved in polynomial time.McMahan and Proskurowski [7] have independently established this via an O(|V | 3 + |E||V |log|V |) algorithm.We present an algorithm with running time O(|V | 3 + |E||V |) which provides a solution to the problem on general networks.Our algorithm returns a partial subtree of the network that includes at least all the participants of the multipoint group, such that the maximum distance between any source node and any sink node is the minimum possible.
The construction of spanning trees, or even partial spanning trees on graphs with respect to different constraints is an old problem and have been dealt with in different papers.Different measures of goodness have been studied under various restrictions for the network or the source and sink sets.In its general form, the construction of optimum communication spanning trees was initiated in [4].In this paper, the problem was defined on the complete graph with a length and a requirement on the edges.The cost measure that had to be minimized was the sum of vertex distances weighted by the requirements between all vertices of the network.By setting the requirements equal to zero and parameterizing the number of source nodes, the problem was treated in [3] and was shown to be NP-complete.Some exact solutions were provided for the 2-source problem on restricted classes of graphs, such as unicycles and cactuses.Furthermore, the optimal solution to the 2-source problem on general graphs was approximated within a factor of 2. In an other recent paper [12] an approximation algorithm was provided for the all source problem.In [8] some heuristic algorithms were given for the minimum partial spanning trees taking into consideration the delay between a single source node and a group of sink (destination) nodes, while trying to bound the maximum difference in these delays.
The problem treated in this paper was proposed in [3] in the more restricted form, where the sink nodes were all the nodes of the network and by parameterizing the number of source nodes only.In [3], a pseudopolynomial algorithm was provided for this restricted version of the problem, and the weights on the edges had to be bound by the size of the graph.The 2-source problem on general graphs was efficiently approximated by a factor of 2. In this paper, we treat this problem in a much more general form, where the number of sink nodes is also parameterized.Moreover, the sets of sources and sinks are neither overlapping nor disjoint.We provided an innovative polynomial algorithm on general graphs.This problem is related to the selection of a subset of vertices in the graph to minimize a given cost function, or to the selection of p-centers [5].
The remaining of this paper is organized as follows: In section 2, we give a formal definition of the problem.In section 3, we show that an equivalent problem is to find a subdivision of a single edge that yields a spanning tree that minimizes distances to the point of the cut.This makes it easy to construct a minimum-eccentricity spanning tree once the correct edge has been identified.In section 4, we establish formulas and properties that the algorithm depends upon.In section 5 the actual algorithm is presented in detail and its complexity is analyzed.We conclude in section 6 with some suggestions for further research.

Network model and problem definition
In what follows the terms vertex and node are used interchangeably.Similarly for the terms edge and link.
A network is modeled as an undirected weighted graph G = (V, E), where V is the set of network nodes and E is the set of edges.An edge connecting two nodes v 1 and v 2 , denoted by (v 1 , v 2 ), has an associated weight (v 1 , v 2 ), which is a nonnegative real number, and represents the delay that data packets experience on this edge.
Consider a multipoint application that requires a set of source nodes S 1 to transmit data to a set of sink (destination) nodes S 2 .In order for the communication to proceed, we need to establish paths between each pair of source/sink nodes.In general, and for efficiency reasons, multicast packets are routed through the links of a multicast tree that includes at least all nodes of S 1 ∪ S 2 .Nodes that do not belong in the multipoint application as sources or sinks can be used as relay nodes in the multicast tree.However, for obvious reasons, these nodes are never leaf nodes of the tree.
Let us suppose that T is the multicast tree of G used in a certain multipoint application with source nodes S 1 and sink nodes S 2 .The total communication delay between a source node v 1 and a sink node v 2 using T is denoted by d T (v 1 , v 2 ), which is the weighted distance between v 1 and v 2 in T .One objective that has to be taken into account during the construction of a multicast tree T is the maximum delay between any source and any sink node.This objective is directly related to the quality of service requirements of the multipoint application because packets delivered more than a certain number of time units later could be of no value to the receiver.The most desirable objective is to construct a multicast tree that minimizes the maximum source/sink delay.The maximum distance between any source and any sink node in a multicast tree is the eccentricity of this tree.More formally, we express the Minimum Eccentricity Multicast Tree problem as follows: Problem: Given a network G = (V, E), a set of source nodes S 1 , a set of sink nodes S 2 , a link delay . Assume that T is the set of all multicast trees of G that include at least the nodes S 1 ∪ S 2 .For each tree T ∈ T we define its eccentricity e(T ) = max We wish to find the tree T ∈ T that has the minimum eccentricity e(G) = min In this paper, we show that this problem is polynomial and we describe an efficient algorithm that constructs minimum eccentricity multicast trees on general networks.
Before we proceed to the description of the algorithms we need the following definitions and notation: is the weighted distance between v 1 and v 2 in H.
If T is a spanning tree of G that contains E R , then the 1-refinement can be viewed also as a 1-refinement T R of T .
• R is the set of all 1-refinements of G.
3 Characterizing the solutions In this section we show that a minimum eccentricity multicast tree is a partial shortest path tree rooted at some "point" in the network that includes at least all source and sink nodes.This point could be either a vertex, in the ideal case, or a point c R lying on an edge, produced by an 1-refinement of the graph.This result will be used in the following section to derive a polynomial algorithm for this problem.
Lemma 1 Let R ∈ R .Let T be a minimum-distance spanning tree rooted at c R .Then e(T ) ≤ d(R).

Proof e(T ) = max
Proof Assume w.l.o.g. that i = 1, and that the S i critical path connects s with s .
Claim (1): For any if the path in T from s 1 to s passes through c R or if the path in T from s 1 to s passes through c R .Either case contradicts the assumption that the (s, s )-path in T is an S 1 -critical path.

Claim (2):
if the path in T from s 2 to s passes through c R or if the path in T from s 2 to s passes through c R .Either of these contradicts the definition of e(T ).
Combining claims ( 1) and ( 2) Proof Let T be such that e(T ) = e(G) and let R be a 1-refinement of T with c R the midpoint of some Let R be such that d(R) = d(G) and let T be a minimum-distance spanning tree rooted at c R .By Lemma Based on the previous theorem, we provide an upper bound for eccentricity.
When an edge must be split into two nontrivial parts to obtain the minimum value of d(R), e(G) will be less than 2 radius(G).This is the case with the graph of Figure 2, where radius(G) = 25 (with w as center) and e(G) = 42 (with (u, w) split and (u, c R ) = 3 and (w, c R ) = 9).
The customary approach to forming a tree is to root it at a vertex of the given graph, rather than at a point created through the subdivision of an edge.The eccentricity of such a tree is bounded above by Theorem 1 allows us to determine in general that such a rooted tree is within one edge weight of being optimal: Proof The first inequality is a consequence of the definitions.For the second, let c R define a 1-refinement Then by the triangle inequality, for all , and thus for any Fig. 1: The optimal edge-rooted tree has eccentricity 2L + 2ε.The optimal vertex-rooted tree has eccentricity 3L − ε.
The upper bound is tight, as the graph in Figure 1 illustrates, where S 1 comprises the two degree-1 vertices and S 2 the two degree-2 vertices.There are only eight possible spanning trees, so it is not difficult to find the optimal trees by exhaustive checking.The optimal vertex-rooted tree is rooted at one of the degree-4 vertices, uses at least one edge weighted L − ε, and has eccentricity 3L − ε.The optimal edge-rooted tree is based on bisecting the edge in the middle of the diagram, does not use either edge weighted L − ε, and has eccentricity 2L + 2ε.

Basis for an algorithm
The algorithm focuses on identifying the appropriate edge (u, w) that can be cut to create a "center" c R from which to construct a minimum-distance spanning tree.This edge is found by examining for each edge (u, w) the longest weighted distances from u and w to members of S 1 and S 2 .The constructions in this section will be illustrated using the example in Figure 2. 12 14 For a given edge (u, w) and set S i , the fixed reference point (a uw i0 , b uw i0 ) is used, where In the example, (a uw 10 , b uw 10 ) = (6, 5).Denote by L uw i the union of all the closed rectangles determined by points in D uw i ; that is, Denote by Q uw i the complement of L uw i with respect to the upper-right quarter plane Q(a uw i0 , b uw i0 ), that is, Figure 3 illustrates these constructions in the case of the graph from Figure 1, for edge (u, w) and S 1 .
The points of D uw 1 are marked as p 1 , q 1 , r 1 , s 1 .Although it does not happen in this example, in general a uw i0 and/or b uw i0 may be negative, and some rectangles in D uw i may be empty.The rectangles for vertices at maximum distance from u or w are always nonempty.
The essential property of Q uw i is described in the following lemma.
Since L uw i is the union of a finite number of closed rectangles all of which have (a uw i0 , b uw i0 ) as lower left corner, the region Q uw i is the union of a finite number of upper-right quarter planes.Let Q uw i be the collection of quarter planes Q(a, b) that are maximal in Q uw i .Clearly, Q uw i comprise a minimal finite set of upper-right quarter planes whose union is It is relatively easy to see from Figure 3 that for our example a minimal set of upper-right quarter planes whose union is Q uw 1 is the following An essential property of Q uw i is the following:  Proof Consider all vertices u for which The proof for w is analogous. 2 Let the members of Since no member of Q uw i can contain any other, all the values a uw ik are distinct, all the values b uw i j are distinct, and it must be the case that Geometrically, these properties reflect that fact that the points (a uw ik , b uw ik ) are the lower-left-hand corners that occur on the boundary between L uw i and Q uw i .In our example (see Figure 3), The lower-left-hand corners that occur on the boundary between L uw i and Q uw i have the property described in lemma 4. Intuitively, this property can be explained as follows: for a certain edge (u, w) of the graph and for a subset of nodes S 1 , a point (a uw 1k , b uw 1k ) means that the nodes of S 1 are at maximum distance a uw 1k from u or at maximum distance b uw 1k from w. Furthermore, there is at least one node at distance a uw 1k from u whose distance from w is at least b uw 1k , and the other way around (there is a node at distance b uw 1k from w whose distance from u is at least a uw 1k ).The algorithm is based on a linear scan of the values (a uw ik , b uw ik ).The following lemmas establish the properties that enable this.

Lemma 5
(a) a uw i1 = a uw i0 ; ik ≥ a uw ik .For k = 0, the result follows from the definitions and the fact that a path to u or w can be extended using the edge (u, w).
For k = 1, Lemma 5 implies by Lemma 5 and the fact that a uw ik is an increasing function of k.
contradicting the existence of a path from u through u to w of length d G (u , u) + (u, w).
Lemma 7 Let (u, w) be any edge and let 1 ≤ k ≤ N uw 1 and 1 ≤ j ≤ N uw 2 .Then there exists a spanning tree T such that e(T ) ≤ max(a uw 1k + (u, w) + b uw 2 j , a uw Let the 1-refinement R be determined by replacing (u, w) with (u, c R ) and (w, c R ), where Note that Lemma 6 ensures that (u, c R ) and (w, c R ) are nonnegative.
Otherwise, d G (s, w) ≤ b uw 1k which yields Combining these results gives The boundary of Q uw 2 is such that for (a, b) and (a uw 2 j , b uw 2 j ), as for any two points on the boundary, if The result now follows from Lemma 1. 2 Lemma 8 Let T be a minimum-eccentricity spanning tree.Let u , w be the endpoints of any S i -critical path in T , and let (u, w) be an edge in that path such that d T (u , u) ≤ This means that for some k, which means a uw 1k ≤ d T (u 1 , u) and b uw 1k ≤ d T (w 1 , w).Now suppose both S 2 ∩ T u and S 2 ∩ T w are nonempty.Proceeding in the same fashion, we select vertices u 2 ∈ S 2 ∩ T u and w 2 ∈ S 2 ∩ T w such that for some j, so that a uw 2 j ≤ d T (u 2 , u) and b uw 2 j ≤ d T (w 2 , w).Then Similarly, This establishes the lemma in this case.
For the case when S 2 ∩ T u = / 0, select u 1 , w 1 , and w 2 and before, let j = 1, and note in this case that Now the hypothesis that d T (w, w 1 ) The case when S 2 ∩ T w = / 0 is similar, with j = N uw 2 , in light of the symmetrical relationship between a and b. 2 Proof The proof is immediate from Lemmas 7 and 8. 2

The algorithm
Moving from Theorem 3 to an explicit algorithm is mostly straightforward.One fine point is that instead of evaluating a uw 1k + b uw 2 j and a uw 2 j + b uw 1k for all combinations of k and j, a single pass can be made from k = 1, j = 1 to k = N uw 1 , j = N uw 2 since the coordinates are ordered.Calculating the values a uw ik and b uw ik is most easily understood in terms of finding the lower-left-hand corners in the boundary between L uw i and Q uw i , which is formed from horizontal and vertical line segments.The method used in Figure 5 is but one of several possible ways to solve this geometric problem.
The algorithm is shown in Figures 4 and 5. First, the weighted distances between all pairs of points are calculated.Second, for each vertex v, a list H 0 [v] is created of all vertices in order of increasing distance from v. Third, by selecting just members of S i from H 0 [v], lists H 1 [v] and H 2 [v] are created in which the members of S 1 and S 2 , respectively, are listed in order of increasing distance from v. Fourth, for each edge (u, w), arrays A i and B i are created such that The sizes of these arrays are also recorded in N i .Finally, the arrays A i and B i are scanned in one pass to seek the minimum described in Theorem 3.
The first two steps rely only on the edge weights in the graph, and not on S 1 and S 2 .In practice, the network topology can be considered fixed, so the first two steps can be precomputed.These two offline steps can be accomplished in O(|V | 3 ) steps using Dijkstra's algorithm [11].Except for steps 5.1 and 5.3, the correctness of the algorithm should be patently clear.It is a relatively straightforward problem to scan the sorted arrays A i and B i in parallel seeking the minimum value of max(A ; a detailed argument is presented below that step 5.3 correctly finds this minimum.It is also a relatively straightforward problem to find the lower-left-hand corners of a nonincreasing curve in the xy-plane composed of horizontal and vertical line segments; a detailed argument is presented below that step 5.1 correctly finds these corners.
Step 5.3 makes a single pass in parallel through A i and B i , rather than checking all possible pairs.This is possible because a uw ik is an increasing function of k and b uw i j is a decreasing function of j.It is straightforward to verify the loop invariant property that at statement 5.3, e ≤ min j < j or k <k max(A Step 5.1 is the heart of the algorithm.It searches the boundary between L uw i and Q uw i working from upper left to lower right.).In the first case, step 5.1.6.2.2 responds to the fact that a uw i,k+1 ≥ d G (v, u).In the third case, steps 5.1.6.2.1 and 5.1.6.2.2 finalize the value of b uw i,k+1 , initialize a uw i,k+2 , and move k forward.It is easy to see that for every lower-left corner point (a uw ik , b uw ik ), condition (iii) will occur exactly once and (i) and (iii) together will occur once for each vertex on the line segment b uw ik = y, a uw ik ≤ x.Thus the coordinates of all lower left corners will be left in A i and B i by the time the loop terminates, with the possible exception of k = 1 and k = N uw i which depend on the entry and exit conditions of the loop.It is easy to see that k = 1 is handled properly and that k = N uw i is handled properly when there is a vertex v with d G (v, w) = b uw i0 .
Step 5.1.8tests for this last situation, adding the final lower-left corner when necessary.

Fig. 2 :D uw 1 = 2 =
Fig. 2: An example problem graph.The algorithm is mostly easily understand with reference to some geometric relationships in the xyplane.If (a, b) is a point in the xy-plane, denote by Q(a, b) the open quarter plane to the upper-right of (a, b); i.e., Q(a, b) = {(x, y) | x > a and y > b}.Given a fixed reference point (a 0 , b 0 ), denote by L (a 0 ,b 0 ) (a, b) the closed rectangle to the lower left of (a, b); i.e., L (a 0 ,b 0 ) (a, b) = {(x, y) | a 0 ≤ x ≤ a and b 0 ≤ y ≤ b}.(10) If a 0 > a or b 0 > b, L (a 0 ,b 0 ) (a, b) is empty.
a uw i0 and b = b uw i0 , then for some u ∈ V , d G (u , u) = a and d G (u , w) > b, and for some w ∈ V , d G (w , w) = b and d G (w , u) > a. x y w (a 0 , b 0 )

2 Lemma 6
and thus b uw i1 ≤ b which implies the result.(c)and (d) are analogous to (a) and (b) respectively.For any (u, w), i ∈ {1, 2}, and 0 ≤ k ≤ N uw i , a uw ik − b uw ik ≤ (u, w).Proof By symmetry, assume that b uw

Proof
Consider the line in the xy-plane through (a uw 1k , b uw 1k ) with slope 1.It intersects the boundary of Q uw 2 in a point (a, b) = (a uw 1k + λ, b uw 1k + λ).Since the line has slope 1, b The running time of step 3 is O(|V | 2 ).The running time of steps 5.1 and 5.3 are each O(|S 1 + S 2 |), so the time for step 5 is

Fig. 4 :
Fig. 4: The algorithm.O(|E| |S 1 + S 2 |).Thus the offline portion of the algorithm has time complexity O(|V | 3 ) and the online portion O(|E| |S 1 + S 2 |) ≤ O(|V | |E|) ≤ O(|V | 3 ).Except for steps 5.1 and 5.3, the correctness of the algorithm should be patently clear.It is a relatively straightforward problem to scan the sorted arrays A i and B i in parallel seeking the minimum value of max(A 1 [k] + B 2 [ j], A 2 [ j] + B 1 [k]); a detailed argument is presented below that step 5.3 correctly finds this minimum.It is also a relatively straightforward problem to find the lower-left-hand corners of a nonincreasing curve in the xy-plane composed of horizontal and vertical line segments; a detailed argument is presented below that step 5.1 correctly finds these corners.Step 5.3 makes a single pass in parallel through A i and B i , rather than checking all possible pairs.This is possible because a uw ik is an increasing function of k and b uw i j is a decreasing function of j.It is straightforward to verify the loop invariant property that at statement 5.3, e ≤ min j < j or k <k max(A1 [k ] + B 2 [ j ], A 2 [ j ] + B 1 [k ].Step 5.1 is the heart of the algorithm.It searches the boundary between L uw i and Q uw i working from upper left to lower right.Step 5.1.2stores a large number in B i [0] just to ensure that the condition is true

Fig. 5 :
Fig. 5: Calculating A i and B i .
12 d T (u , w ) and d T (w, w ) ≤ Proof Without loss of generality, assume i = 1.If the edge (u, w) is deleted from T , two trees are produced; denote by T u the one containing u and by T w the one containing w.Because (u, w) lies in an S 1 -critical path, both S 1 T u and S 1 T w are nonempty.Let u 1 ∈ S 1 ∩ T u be chosen to maximize the value d G (u 1 , u).Let w 1 ∈ S 1 ∩ T w be chosen to maximize the value d G (w 1 , w).Then for every v ∈ S 1 , either