multicast tree generation in networks with asymmetric links

11
558 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996 s S. Ramanathan, Member, IEEE Abstract- We formulate the problem of multicast tree gener- ation as one of computing a directed Steiner tree of minimal cost. In this context, we present a polynomial-time algorithm that provides for trade-off selection, using a single parameter n, between the tree-cost (Steiner cost) and the run time efficiency. Further, the same algorithm may be used for delay optimization or tree-cost minimization simply by configuring the value of n appropriately. We present theoretical and experimental analysis characterizing the problem and the performance of our algo- rithm. Theoretically,we show that it is highly unlikely that there exists a polynomial-timealgorithm with a performance guarantee of constant times optimum cost, introduce metrics for measuring the asymmetry of graphs, and show that the worst-case cost of the tree produced by our algorithm is, at most, twice the optimum cost times the asymmetry, for two of these asymmetry metrics. For graphs with bounded asymmetry, this gives constant times optimum performance guarantee. We also show that three well-known algorithms for (undirected) Steiner trees are but particular cases of our algorithm. Our experimental study shows that operating at a low K gives nearly best possible expected tree cost while maintaining acceptable runtime efficiency. Index Terms- Multicast, asymmetric links, §teiner trees, di- rected graph, approximation algorithms. I. INTRODUCTION S HIGH-BANDWIDTH applications requiring point- to-multipoint communications become widespread and competition for resources increases, it is important that the routes used for such communications consume a minimal amount of resources. A common solution to point-to-multipoint or multicast communications involves the generation of a multicast tree that includes the sources and destinations of the multicast traffic. In this paper, we consider the problem of generating such multicast trees in a network where links can be asymmetric in the quality of service they offer, and in particular, focus on trade-off selectable solutions that seek to optimize the resources consumed by the tree. Our measure of consumed resources is in terms of the tree cost (or steiner cost) which is based on the association of a cost with a communication link, and is defined as the sum of the costs of the individual links comprising the tree. Manuscript received December 28, 1995; revised April 24, 1996; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor B. Mukberjee. An earlier version of this paper was presented at the IEEE INFOCOM’96 Conference, San Francisco, CA, March 26-28, 1996. The paper was selected by the Conference as one of its top papers and referred to the TRANSACTIONS for possible publication after the TRANSACTIONS’ own independent review. The author is with BBN Corp., Cambridge, MA 02138 USA (e-mail: [email protected]). Publisher Item Identifier S 1063-6692(96)06086-4. Our solution objectives are not only to minimize the tree cost in practice but also to give the best possible bound on the worst-case cost. Such a solution will be especially beneficial to applications in which a tree is used repeatedly for several large-volume transactions and where the user is desirous of bounding the cost whatever the nature of the network. Example applications include stock quotes distribution, news distribution, on-demand video services, and distribution of high-bandwidth imagery. Previous work relevant to this paper stems from the fields of both communication networks and algorithmic graph theory. The minimization of tree cost has traditionally been formulated as the Steiner minimal tree (SMT) [l], [2] problem. The SMT problem has been well studied from a purely graph theoretical point of view and a good survey can be found in [2], [3]. In particular, it has been shown that optimizing SMT is NP-complete [4]. However, several polynomial-time near-optimum solutions [5]-[9] exist, the most straightforward ones and the ones of most interest here being [5] and [6]. Using dissimilar approaches, both guarantee solutions that are, at worst, twice the optimum. The best known performance guarantee is 11/6 times optimum, and is achieved by a more involved solution given in [9]. Requirements and restrictions of multicasting in commu- nication networks yield several interesting variants of the SMT problem. The application of Steiner tree heuristics to delay and cost minimization has been studied in [lo]. The dynamism of multicast group membership is addressed in [ 111. Cost minimization subject to constraints on maximum delay is considered in [12], [14], and a degree-constrained heuristic for Steiner trees is given in 1131. This work differs from previous works in three signifi- cant respects. First, all of the works mentioned above and most existing literature on the SMT problem assume the underlying graph to be undirected. We use the more general model of directed graphs, and allow for edge costs to be unequal in each direction. Given the increasing heterogeneity of applications and communication links (e.g., satellite, radio links are becoming common), we believe that link costs are likely to be different in each direction.’ Second, existing algorithms do not provide for trade-off selection between performance criteria, whereas, the algorithm given here allows for easy trade-off selection between running time and tree cost. Studies on network traffic on backbones (e.g., [17]) have revealed marked asymmetry in link utilizations. Moreover, if the link is wireless its band- WidtWquality is itself asymmetric due to differences in noise, transmission powers, mobility, etc. of the endpoints. 1063-6692/96$05.00 0 1996 IEEE

Upload: s

Post on 16-Mar-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multicast tree generation in networks with asymmetric links

558 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

s S. Ramanathan, Member, IEEE

Abstract- We formulate the problem of multicast tree gener- ation as one of computing a directed Steiner tree of minimal cost. In this context, we present a polynomial-time algorithm that provides for trade-off selection, using a single parameter n, between the tree-cost (Steiner cost) and the run time efficiency. Further, the same algorithm may be used for delay optimization or tree-cost minimization simply by configuring the value of n appropriately. We present theoretical and experimental analysis characterizing the problem and the performance of our algo- rithm. Theoretically, we show that it is highly unlikely that there exists a polynomial-time algorithm with a performance guarantee of constant times optimum cost, introduce metrics for measuring the asymmetry of graphs, and show that the worst-case cost of the tree produced by our algorithm is, at most, twice the optimum cost times the asymmetry, for two of these asymmetry metrics. For graphs with bounded asymmetry, this gives constant times optimum performance guarantee. We also show that three well-known algorithms for (undirected) Steiner trees are but particular cases of our algorithm. Our experimental study shows that operating at a low K gives nearly best possible expected tree cost while maintaining acceptable runtime efficiency.

Index Terms- Multicast, asymmetric links, §teiner trees, di- rected graph, approximation algorithms.

I. INTRODUCTION

S HIGH-BANDWIDTH applications requiring point- to-multipoint communications become widespread

and competition for resources increases, it is important that the routes used for such communications consume a minimal amount of resources. A common solution to point-to-multipoint or multicast communications involves the generation of a multicast tree that includes the sources and destinations of the multicast traffic. In this paper, we consider the problem of generating such multicast trees in a network where links can be asymmetric in the quality of service they offer, and in particular, focus on trade-off selectable solutions that seek to optimize the resources consumed by the tree. Our measure of consumed resources is in terms of the tree cost (or steiner cost) which is based on the association of a cost with a communication link, and is defined as the sum of the costs of the individual links comprising the tree.

Manuscript received December 28, 1995; revised April 24, 1996; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor B. Mukberjee. An earlier version of this paper was presented at the IEEE INFOCOM’96 Conference, San Francisco, CA, March 26-28, 1996. The paper was selected by the Conference as one of its top papers and referred to the TRANSACTIONS for possible publication after the TRANSACTIONS’ own independent review.

The author is with BBN Corp., Cambridge, MA 02138 USA (e-mail: [email protected]).

Publisher Item Identifier S 1063-6692(96)06086-4.

Our solution objectives are not only to minimize the tree cost in practice but also to give the best possible bound on the worst-case cost. Such a solution will be especially beneficial to applications in which a tree is used repeatedly for several large-volume transactions and where the user is desirous of bounding the cost whatever the nature of the network. Example applications include stock quotes distribution, news distribution, on-demand video services, and distribution of high-bandwidth imagery.

Previous work relevant to this paper stems from the fields of both communication networks and algorithmic graph theory. The minimization of tree cost has traditionally been formulated as the Steiner minimal tree (SMT) [l], [2] problem. The SMT problem has been well studied from a purely graph theoretical point of view and a good survey can be found in [2], [3]. In particular, it has been shown that optimizing SMT is NP-complete [4]. However, several polynomial-time near-optimum solutions [5]-[9] exist, the most straightforward ones and the ones of most interest here being [5] and [6]. Using dissimilar approaches, both guarantee solutions that are, at worst, twice the optimum. The best known performance guarantee is 11/6 times optimum, and is achieved by a more involved solution given in [9].

Requirements and restrictions of multicasting in commu- nication networks yield several interesting variants of the SMT problem. The application of Steiner tree heuristics to delay and cost minimization has been studied in [lo]. The dynamism of multicast group membership is addressed in [ 111. Cost minimization subject to constraints on maximum delay is considered in [12], [14], and a degree-constrained heuristic for Steiner trees is given in 1131.

This work differs from previous works in three signifi- cant respects. First, all of the works mentioned above and most existing literature on the SMT problem assume the underlying graph to be undirected. We use the more general model of directed graphs, and allow for edge costs to be unequal in each direction. Given the increasing heterogeneity of applications and communication links (e.g., satellite, radio links are becoming common), we believe that link costs are likely to be different in each direction.’ Second, existing algorithms do not provide for trade-off selection between performance criteria, whereas, the algorithm given here allows for easy trade-off selection between running time and tree cost.

Studies on network traffic on backbones (e.g., [17]) have revealed marked asymmetry in link utilizations. Moreover, if the link is wireless its band- WidtWquality is itself asymmetric due to differences in noise, transmission powers, mobility, etc. of the endpoints.

1063-6692/96$05.00 0 1996 IEEE

Page 2: Multicast tree generation in networks with asymmetric links

RAMANATHAN MULTI CAST TREE GENERATION IN NETWORKS WITH ASYMMETRIC LINKS 559

Third, we not onty consider the expected performance using experimentation, but also provide worst-case bounds on tree cost using algorithmic analysis.

In the remainder of this section, we introduce the approach used to accommodate link asymmetry (Section I-A), and then summarize our main contributions (Section I-B).

A. Link Asymmetry

We accommodate link asymmetry by modeling the network as a directed graph where edge costs may be different in either direction, and formulate the multicast route generation problem as the directed SMT (DSMT) problem. The DSMT problem is to find a source-rooted directed tree of minimum cost (a precise definition is given in Section 11). Although this generalization appears simple, it changes the nature of the problem fundamentally, as discussed below.

That DSMT is NP-complete follows from the fact that its special case, inamely the (undirected) SMT problem is NP-complete, and therefore optimum solutions are likely to require an exponential time complexity. A few such algorithms can be found in the literature [2], but they have prohibitive running times for all but very small networks. However, for most multicasting applications, the next best solution, namely polynomiad-time approximation (near-optimum) algo- rithms are acceptable. In particular, constant times optimum approximations, that is, polynomial-time algorithms that pro- duce a solution within a constant multiplicative factor of the optimum are of interest. But unlike its undirected counterpart which has not one but a number of algorithms that produce trees with, at most, twice the optimum cost, no constant times optimum approximation algorithms are known for DSMT.

Are constant times optimum polynomial-time solutions even possible for the DSMT problem? Recent developments in com- plexity theory have considerably increased the understanding of approximation algorithms. Using a recent result on the nonapproximability of minimum set cover [ 11, and providing a reduction from il to DSMT, we show (in Section 11-D) that it is highly unlikely that there exists a polynomial-time solution that does even a logarithmic factor times optimum, let alone constant times optimum. However, while the picture for a good solution for the DSMT problem for arbitrary graphs appears to be rather bleak, the nature of networks in practice may permit a restricted model to be used.

In this paper, we consider restrictions on the asymmetry of the network. Our notions of asymmetry are formally defined in Section 11-E and are based on the relative edge costs. The fact that the absence of asymmetry in relative edge costs (as is the case with the (undirected) SMT problem) permits twice-optimum solutions suggests that asymmetry is crucial to the complexity of the Steiner tree problem. Bounding the asymmetry should then help, and indeed, we show that graphs with constant-bounded edge asymmetry are more tractable. We present, in Section 111, an algorithm that has a performance degradation proportional to how asymmetric the graph is. In other words, if we can say how asymmetric a graph is, then we can say how the algorithm will perform in the worst case. And if there is a class of networks whose asymmetry never exceeds a given constant, then our algorithm is a constant

times optimum algorithm for this class of networks. Given the provable unlikelihood of a constant times optimum polynomial approximations for arbitrary graphs, these results appear nearly the best possible.

B. Overview of Main Results

Our main contribution is a new algorithm for multicast route generation in the presence of asymmetric links and its analysis. The algorithm has a parameterized knob K (which is simply an integer in the range 1 5 K 5 n, n = number of vertices) that allows for the selection of trade-offs between tree-cost and running time (refer Section I11 for details). Theoretically, we show that for certain ranges of the knob, our algorithm has a performance guarantee (ratio between tree cost and optimal tree cost, defined formally in Section 11-C) of O(Pg) and O(Q,), where P, and P, are asymmetry metrics (defined in Section 11-E). For symmetric graphs, the performance guarantee is O(1), matching that of algorithms given in [5 ] , [6] (also described in Appendix C). Even if the graphs are asymmetric, if the asymmetry can be bounded by a constant, we get an O(1) performance guarantee. We also analyze the running time of the algorithm and show it to be O(m2K+e), where m is the number of terminals, e the number of edges and K is the knob value.

Experimentally, we study the performance of our algorithm on a large number of randomly generated classes of graphs. We show that, as tc is increased from one to n, tree-cost decreases and running time increases as expected. It turns out however, that the running time increases approximately linearly, whereas, the decrease in tree cost is much more rapid. This interesting feature, along with the fact that at such a low K , the running time is little more than that of Dijkstra’s shortest path algorithm, suggests an operating point at a low K . We also study the variation of tree cost with increasing asymmetry and increasing number of terminals.

A significant and useful feature of our algorithm is that it subsumes three well-known algorithms for multicast tree generation. In particular, for values of K = 1, 6 = m + 1, and K = n, the algorithm is equivalent to the pruned Dijkstra heuristic [lo], the distance network heuristic [6], and the minimum-cost path heuristic [5], respectively (see Appendix C for a description of these heuristics and Section IV-C for equivalence results). This is of obvious pedagogical interest but also has practical implications in that the same implementation can be made to behave, by appropriately choosing K at runtime, either as the pruned Dijkstra heuristic which is good for delay minimization, or as the other two which are good for tree-cost minimization.

The remainder of this paper is organized as follows. In Section I1 we define terms and concepts used in the remainder of the paper and discuss the hardness of approximating DSMT. Sections 111-V contain the presentation, worst case analysis, and experimental analysis, respectively.

11. PROBLEM FORMULATION, DIFFICULTY, AND METRICS

As a prelude to the description of our multicast route generation algorithm and its analysis, we present in this section

Page 3: Multicast tree generation in networks with asymmetric links

560 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

graph-theoretic and algorithmic terminology, and using it, define our multicasting problem in graph-theoretic terms.

A. Graph-Theoretic Terminology

Our presentation of multicasting algorithms is based on a standard representation of a communication network in terms of a weighted directed graph G = (V, A, C), where V is a set of vertices, A is a set of ordered pair of vertices (u,w) or directed edges, and C is a set of costs e,: A H Z$ (where Z$ denotes the set of nonnegative integers). When C contains only one cost function e, we shall represent the graph as G = (V, A, e) . If ( U , w )

Edges between the same pair of vertices [i.e., edges (u,w) and (w, U ) ] are complementary edges. If a graph is such that ( U , U) E A + (w, U ) E A, then it is a complementary graph. A complementary edge-pair is symmetric if both edges have the same cost. A symmetric graph is one in which all edges are symmetric and is equivalent to an undirected graph.

The in-degree of a vertex u is the number of edges (U, U ) in the graph and the out-degree is the number of edges ( U , U). A path from a vertex x to a vertex y is an alternating sequence of vertices and edges 2 , (x, u~), ~ 1 , (u~, u2), . . . , (uml y), y and is denoted by (x y). All graph-theoretic terminology not given here is from [21].

A, then we define c(u, U) = 00.

B. Multicasting as a Directed Steiner Tree

The problem considered in this paper is the generation of a source-rooted multicast tree. A source-rooted multicast tree is the directed Steiner tree (DST) for a given graph and is defined as follows:

Dejinition 2.1: Given a graph G = (V, A, e ) , a set of terminals M , and a source s @ M , a DST is a subgraph T = (V,, At, ct) of G,V, C V,At C A, such that M C V,, there exists a directed path in T from s to every terminal, in- degree (w) = 1 for all w E V, - { s } , in-degree (s) = 0, and out-degree (U) 2 1 for all w E V, - M .

In other words, a DST is a directed tree rooted at source s containing the terminals, with all edges directed away from s. We assume throughout the paper that a given graph G contains at least one directed path from s to every w E M . In subsequent sections, we will interchangeably use the terminology of multicast tree and Steiner tree in referring to the problems we consider. The choice of termknology will depend on which is clearer in a given context.

The tree cost of a DST is the sum of the costs of all edges in the DST. The path cost of a path (x -+ y) is the sum of the costs of all edges in (x -+ y), We shall overload the symbol c to denote tree cost and path cost, and let the parenthetical contents clarify the semantics.

Another useful measure of the quality of a DST is based on the distance between the source and the terminals. The average destination cost of a tree T is the average, taken over all terminals m,, of c(s + m,). The maximum destination cost is the maximum, taken over all terminals m,, of c(s U) m,).

We are now ready to formulate the problem of multicasting as considered in this paper. We term this the DSMT problem.

Dejinition 2.2: Given a graph G = (V, A, e ) , a set of terminals M and a source s @ M , find a directed Steiner minimal tree (DSMT), i.e., a DST T such that c ( T ) is the minimum of all DST's for G.

The undirected version of the problem, the undirected Steiner minimal tree (USMT) problem is a particular case of DSMT where Vu, 'U E V, C ( U , w) = c(u, U ) .

Due to the difficulty of finding the absolute minimum or optimum cost tree our considerations extend to approximate (near-optimum) solutions, a notion formalized in the next section.

C. Approximation Algorithms When dealing with optimization problems that are NP-

complete, a common approach is to devise polynomial-time algorithms that produce approximate (i.e., near-optimal) so- lutions. A standard measure of the performance of such an approximation algorithm is in terms of the ratio of the sizes of the approximate solution produced by the algorithm and an optimal solution.' Formally, the performance of an algorithm A is given by its performance guarantee IIA = max{A(I)/OPT(I)}, taken over all input instances I [e.g., 1 = (graph, terminal set, source)], where A(1) denotes the size of a solution given by Algorithm A, and OPT(1) denotes the size of an optimal solution. In conformance with existing notions, an approximation algorithm is good if its performance guarantee is 0(1), i.e., if it is a constant-times-optimum approximation.

In our context, a DSMT algorithm is good if it produces a tree whose tree cost is no more than a constant times the optimal tree-cost. As we noted less formally in the introduc- tion, there do not exist any good approximation algorithms for DSMT. However, several problems such as the traveling salesman problem, although NP-complete, have good approxi- mation algorithms [18]. Closer to home, the undirected Steiner tree problem has several good approximation algorithms. In particular, algorithms given in [5] and [6] have a performance guarantee of two.

D. Nonapproximability of DSMT In this section, we shall examine the limits on the worst-case

performance achievable in polynomial-time for the DSMT problem.

It was shown in [4] that the undirected Steiner minimal tree problem is NP-complete. Since the (undirected) SMT problem is a special case of the DSMT problem which has equal-cost complementary edges, it follows that DSMT is also NP-complete.

We term a problem nonapproximable if the presence of a good approximation algorithm for the problem would imply that P = N P , or any other event believed to be as unlikely. As in the case of NP-completeness, a problem may be shown to be nonapproximable by giving an approximation preserving

'Hereafter, unless otherwise indicated, we mean polynomial-time approxi- mation algorithm.

Page 4: Multicast tree generation in networks with asymmetric links

RAMANATHAN: MULTICAST TREE GENERATION IN NETWORKS WITH ASYMMETRIC LINKS

~

561

reduction from another nonapproximable p r~b lem.~ We give a reduction from the problem of minimum set cover (MSC) [ l ] (shown nonapproximable in [19]). In view of maintaining continuity, we defer the proof to the Appendix.

Theorem 2.1: If there exists an algorithm for DSMT with performance guarantee of O(II), then there exists an algorithm for minimum set cover (MSC) with performance guarantee of O ( W

Proof: See Appendix A. 0 It has been shown [I91 that MSC is nonapproximable.

Specifically, no polynomial-time approximation algorithm for MSC can achieve an approximation factor smaller than loga- rithmic, unless deterministic time npolylog(n) contains NP [ 191, an event thought to be as unlikely as P = N P . This, along with our reduction, makes it highly unlikely that there exists a polynomial-time approximation algorithm for the DSMT problem that does within constant times optimum (indeed, within a logarithmic factor times optimum).

E. Graph Asymmetry Metrics Considering the fact that the the DSMT problem for symmet-

ric graphs has algorithms with a performance guarantee as low as two, deviation from symmetry suggests itself as a natural metric. As formal measures of deviation from symmetry, we introduce three definitions. In all of the definitions below, we denote by [ U , w] the edges between vertices U and w.

Definition 2.3: The maximum edge asymmetry Q,(G) of a graph G = (V, A , c) is the maximum, taken over all edge- pairs, of the ratio of costs between the two directed edges of an edge-pair. That is

Definition 2.4: The graph asymmetry Qg(G) of a graph G = (V, A, e) is the ratio, taken over all edge-pairs in G, between the sum of the larger of the edge-pair costs and the sum of the smaller of the edge-pair costs. That is

Definition 2.5: The average edge asymmetry 9,(G) of a graph G = (V, A, e ) is the average, taken over all edge-pairs, of the ratio of costs between .the directed edges of an edge pair. That is

The 3, metric is easily affected by outliers, that is, the presence of one very highly asymmetric edge in an otherwise symmetric graph will yield a large 9,. Nonetheless, the maximum edge asymmetry may be useful in certain situations, especially since it is easy to measure. The other two metrics Qg

and 9, are more resilient to outliers and give approximately the same measurement for most typical graphs. However, a

3As in the case of NP-complete problems, progressive reductions yield a family of problems all of which are approximable if any one of them is approximable.

few very highly asymmetric edges may still increase the Qg

and 9, to values that are not truly representative of a large portion of the graph. Since better performance bounds are possible if we disallow such extreme cases, we are motivated to define the following.

Definition 2.6: With respect to a given metric \zIg (or q,) a class of DST problems is nonpathologically asymmetric if and only if for every instance I = (G, e, M ) of the problem, Qg(Ts) is O(Pg(G)) (or Q,(T,)) is O(Q,(G)), where T, is the subgraph induced by vertices of a Steiner tree for M in G.

Regarding the maximum asymmetry measure (Qm), note that for any subgraph G’ of G, Q, (G’) 5 Qm (G) and, there- fore, all instances are trivially nonpathological with respect to XU,. In Section IV-A, we derive improved performance bounds for the class of nonpathologically asymmetric DST problems.

Depending on the application, one may use one metric in preference to the other or even define other metrics, for instance, based on paths rather than individual links. This paper, however, focuses more on how one may be able to characterize performance using a given asymmetry metric.

111. ALGORITHM FOR MULTICAST TREE GENERATION

We now present a new algorithm for the computation of di- rected Steiner trees in a directed graph. We term the algorithm selective closest terminal first or SCTF in accordance with its basic approach. A notable feature of SCTF is that it provides for trade-off selection between performance (tree cost) and running time using a single, user-specified parameter.

We begin with an informal description and then specify it more formally. The theoretical and experimental analyzes of SCTF are the subjects of Sections IV and V, respectively.

A. Informal Description

The basic philosophy of SCTF is similar to that of Prim’s spanning tree algorithm [18] and the algorithm of Takahashi et al. [5]. Given a graph G = (V, A, e ) , terminal set A4 and a source s, the DST is grown starting from s. At every step, a branch, i.e., a directed path, is extended from the tree to one new terminal not in the tree, thereby including the terminal in the tree. This step is repeated until all of the terminals in M are included in the tree.

The crux of the algorithm lies in which terminal is chosen at every step and what path is extended to accommodate that terminal into the tree. Algorithm SCTF chooses the terminal and the path as follows. Vertices already in the tree (both terminals and nontenninals) are arranged in a priority queue [18] such that priority (source) > priority (terminal) > priority (nonterminal). No ordering is performed among any two terminals or any two nonterminals. Then the first K vertices in the priority queue are taken and placed in a bin, say B. The terminal m that is chosen is the one that is closest to B. That is, from among all directed paths from vertices in B to terminals not in tree, we choose the path of least cost, and the terminal on which this path terminates. Ties are broken arbitrarily. If n is less than the cardinality of the priority queue, this path may pass through vertices already in the tree. If this is the case, we only include the portion of the path that does not contain any vertex in the tree.

Page 5: Multicast tree generation in networks with asymmetric links

562 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

Q : 1

3 3

3 5 2 € >

considered Vs (the ‘bin’)

Q :

< > considered Vs

(the ‘bin’)

Terminals incl. in tree Terminals not incl. in tree

0 Non-terminals incl. in tree 0 Non-terminals not in tree

Fig. 1 Example showing addition of a branch by algonthm SCTF All directed edges have cost 1 Bold lines indicate the DST The prionty Q and considered vertices are shown below the graph Note that although branch 4-7 IS shorter than 5-6-7, it is the latter that is added, because 4 1s not part of the considered vertices when IC = 4

In summary, algorithm selective closest terminal first selects a set of vertices from a partially grown tree and adds a path to a terminal closest to this set. There are a number of ways we can do the selection-our method of using a priority queue is just one of them. Fig. 1 illustrates a partially grown tree, the corresponding priority queue, selection for K = 4 and the new branch.

We note that the algorithm requires the shortest path from every vertex to every terminal. This information may be available locally as a result of unicast route computation, in which case no additional effort needs to be expended. Otherwise, the shortest paths can be easily computed prior to executing SCTF using any single destination shortest path algorithm (e.g., Dijkstra’s algorithm), for each terminal as destination. This can be done in O(1Vl . IMI . log( IAI)) time V81.

The parameter K is a knob that can be used to set the algorithm to a desired trade-off between expected tree-cost and running time. As we increase K , the tree-cost decreases but the running time increases. The nature of this trade-off will be discussed in more detail in Section V. We now present the algorithm formally.

B. Algorithm SCTF

The knob K has been added to the input list so that its function as a user-controlled parameter is more apparent. The only nonobvious data structure used is the priority queue Q which contains vertices sorted with priority (source) > priority (terminal) > priority (nonterminal). The description below assumes the existence of a function ShortestPath that returns the shortest directed path from any vertex to any terminal. Algorithm SCTF Input: A directed graph G = (V, A, c), a source s E V , a set of terminals M C V , a knob K .

Output: A directed Steiner tree T = (V,, A,) rooted at s.

begin 1)Init priority queue Q t {s),V, c { s ) ,A t t {}; 2) while M not empty do 3) 4) 5) 6) 7 ) 8) PATH c P 9) let z be terminal at which PATH terminates

10) Branch c subpath (w -+ x ) : only w is in V, 11) insert vertices in Branch into Q 12) V, V, U {vertices in Branch};

A, + At U {edges in Branch} 13) M +- M - {terminals in Branch) 14) return T end Algorithm.

B c first min(K, IQl) vertices in Q Init PATH c an arbitrary path from B to M for each v in B do

for each m in M do if c(P c ShortestPath ( v , m ) ) < c (PATH)

IV. THEORETICAL ANALYSIS: WORST-CASE PERFORMANCE

We derive the worst-case performance bounds and worst- case running time for Algorithm SCTF. Although the results are presented for directed graphs, all results in this section are equally applicable to undirected graphs (or symmetric directed graphs) as well, since they are simply a special case.

In all of our analysis, we shall denote by the four-tuple (G = (V,A,c), M , s, K ) an input instance to algorithm SCTF, with semantics as given in the header of the algorithm description.

A. Performance Characterization The main result of this section is a characterization of

the performance guarantee of SCTF in terms of Qg, the

Page 6: Multicast tree generation in networks with asymmetric links

563 RAMANATHAN: MULTICAST TREE GENERATION IN NETWORKS WITH ASYMMETRIC LINKS

graph asymmetry and in terms of !Qm, the maximum edge asymmetry.

We make use of the the following lemma on the permutation of a set of integers, originally due to Rosenkrantz et al. [20] and also given in [5].

Lemma 4.1: Suppose t l , t 2 a t k is a permutation of 1 , 2 , . . . ,.E. Then for every i, 2 5 i I k , there exists a unique critical pair (tj-1, tj) such that min(t j - l , t j ) < i 5 max(tj-l,tj), 2 5 j 5 k .

Proof: See [5] or, for a generalized version, see [20]. 0 We begin with the following crucial lemma. Apart from

helping prove performance bounds for algorithm SCTF, this is also, in itself, a new result for undirected graphs as a generalization of the proof in [5 ] .

Lemma4.2: Let (G = (V,A,c), M , s, K ) be an input instance to SCTF. If K > [MI, then4

1) L t f I 2 * %(Topt);

2) rJsctf I 2 . !Qg(Topt)

where nsctf denotes the performance guarantee of SCTF and Topt denotes the subgraph induced by the vertices of a tree of minimum cost.

Proof: Let mi be the vertex (source or terminal) added at the ith step ((i - 1)th iteration), 1 5 i 5 IMI + 1 of SCTF. In particular, we let ml = s, and, hereafter, the word terminals includes the source.

Let a(z y-f y) denote the cost of the shortest path from z to y and let d(S, U) denote the cost from the set of vertices S to v , i.e., shortest of all paths from vertices in set S to w.

Let Topt = (Vopt, AOpt) denote an optimum tree for the given input. Consider a permutation mt, , mt, , . . . mt,, of the terminals ml ,mz, . . . ,mk, IC = IMI + 1, obtained by a preorder traversal of Topt starting from s.

Let d(mtt, mti+,) denote the shortest path from the smaller- indexed terminal to the larger-indexed terminal between two consecutive terminals in the permutation. That is,

d(mti ,mti+i) = a(mmin(t,,t,+l) mmax(t,,t,+l)), 1 < i I k - 1 . (1)

An example for IMI = 4 is illustrated in Fig. 2. The bold arrows denote the optimum tree and the normal arrows denote d as defined above. The broken lines denote paths that go along the optimum tree from mmin(t,,ti+l) to mmax(ti,ti+l), 1 5 i 1. k - 1. Note that both the normal and broken paths go from the smaller to larger indexed terminal.

Since such broken paths between consecutive terminals in the permutation cost at least the shortest path between the terminals, we have from (1)

d(mti,mt;+i) I Copt(mmin(t,,t,+l) --+ mmax(t;,t,+l)), 1 I i I k - 1 (2)

where Copt denotes the cost when the path is restricted to use vertices in the optimum tree. In other words, each normal arrow between two terminals in Fig. 2 costs at most the broken arrows between the same terminals.

4Actually, it is sufficient that at every iteration, B (in algorithm SCTF) contain all terminals in the partial tree-a slightly stonger result. This should be clear from the proof.

mt 3

mt4

mt 5

Fig. 2. Example illustrating optimum tree (bold lines), shortest path between adjacent terminals, smaller to larger indexed (normal lines) and path using vertices in optimum tree (broken lines). Permutation for this example: t i = 1; t 2 = 2; t 3 = 5; t 4 = 3; t 5 = 4.

Let [U, U] be an unordered pair of adjacent vertices in Vopt. Then, since each pair is included in at most two broken paths, and in each, contributes no more than max(c(u, U), c(v, U ) ) to the cost, we have, using Definition 2.3

k-1

,=I

I 2 . max(c(u, U), c(v, U ) )

I 2 *m(Topt) . min(c(u, U), c('u, U ) )

I 2 . Qm(Topt) . min(c(u, U), c(w, U))

I 2 . !Qm .. (Topt) . G p t ) .

[%VI EVopt

[u,vlEVopt

[u,vlEVopt

(3)

Similarly, for the graph asymmetry, 9,, using Definition 2.4

k-1

d(mt%, mt%+l) a=1

I 2 . max(c(u, U), 471, U ) )

[%vlEVopt

I 2 . qg(Topt)

I 2 . * g ( Z p t ) . C ( Z p t ) .

min(c(u, U), c(v, U ) )

[%U1 EV0,t

(4)

In the remainder of this proof, we show that the cost of the tree produced by SCTF is at most the left-hand-side of (3) and (4), that is, at most the sum of costs of the normal lines of Fig. 2.

Consider the ith step of SCTF. Let K-1 denote the set of vertices in the tree and B,-1 the vertices considered in the addition of m, to the tree (line three of specification in Section 111-B). By Lemma 4.1 applied to the permutation tl, t Z , . . . , t k , l < k 5 IMI + 1, there exists a unique pair (t,-l,t,) such that min(t,-l,t,) < i I max(t,-l,t,). Let p , = min(t,-l,t,) and q, = max(t,-l,t,). Then, since pa < i, mp, has already been processed and since q, 2 i, mpz is yet to be processed, as shown in Fig. 3.

Since K > \MI (see condition in statement of this lemma), B,-I includes the first min(lM1 + 1, IQl) vertices in Q (see

Page 7: Multicast tree generation in networks with asymmetric links

564 IEEElACM TRANSACTlONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

Pro08 From Lemma 4.2, part 2) and Definition 2.6. 0 It follows that if the input graph G is symmetric (or undi-

rected), SCTF is guaranteed to produce a tree of cost at most twice the optimum. If G is of constant-bounded asymmetry, then SCTF is a good (O(1)) approximation algorithm.

With respect to the average asymmetry measure Q e , it is unlikely that a similar result exists. Specifically, we can show the following.

Theorem 4.3: If there exists an algorithm for DSMT with performance guarantee of O(Qe), then there exists an algo- rithm for DSMT with performance guarantee of O(1).

q i m

Fig. 3. Illustrating the zth step addition of terminal m,. Pro08 See Appendix B. 0

As we discussedin Section 11-D, it is unlikely that there exists a constant times optimum approximation algorithm for DSMT. Thus, it appears unlikely that a O(Qe) approximation algorithm for DSMT can be obtained. This is true even if the

specification of SCTF), implying that B,-1 contains all of the terminals in K-1. Thus, mp, E B,-1 and since SCTF adds the path to the closest terminal

graph is nonpathologically asymmetric. (5)

because if that were not the case, the path from mpt to my% would be the new branch (see Fig. 3 for assistance). Note that if K 1. IMI, this is not necessarily true.

Let Tsctf denote the Steiner tree produced by algorithm SCTF. Since the cost of Tsctf is the sum of the branch costs at each step, we have, from (5) and (1)

i=2 k

From (3) and (6) , we have the result for part 1)

and from (4) and (6), we have the result for part 2)

0.

The two main results of this section now follow easily. Theorevn4.1: Let (G = (V ,A,c) ,M,s , /c ) be an input

instance to algorithm SCTF and let B, be the maximum asymmetry of G. Then, as long as K > IMI, SCTF produces a tree of cost no more than 2 . Q, times optimal. That is, the performance guarantee of SCTF, IIsctf is O(Q,).

Proo? From Lemma 4.2, part 1) and the fact that 0

Theorem 4.2: Let (G = (V, A, e ) , M , s, K ) be a nonpatho- logically asymmetric input instance to algorithm SCTF and let Bg be the graph asymmetry of G. Then, as long as n > IMI, SCTF produces a tree of cost no more than 2 . CY . 9, times optimal, where CY is a positive integer constant. That is, the performance guarantee of SCTF, IIsctf is O(ag) .

Q,(Topt) 5 Q, for any input instance.

B. Running Time

We use the following symbols: n for number of vertices in the graph, m for number of terminals, e for number of edges and K the knob used to control the performance trade-offs of SCTF. We assume availability of the shortest path from every vertex to every terminal (this may be done a priori in O(m . n . log(e)) time [18].

Assuming that shortest paths are available, the innermost for loops in lines 5, 6 take at most O ( ~ K ) time. Computation of the subpath may be done by backtracking from the terminal until we encounter a vertex already in the tree, and reversing this path. With this procedure, every vertex in the graph is visited, at most, once for the entire algorithm. Addition of vertices and edges also costs 0(1) per vertex and edge for the entire algorithm, resulting in O(n + e ) cost for lines 9-12 which is O(e) for a connected graph. Note that since no ordering among two terminals or nonterminals is required, maintaining the priority queue is O(1).

The for loops themselves, however, are executed once every iteration of the outer while loop (line 2) and, therefore, cost O(m26) for the entire algorithm, giving a running time of O(m26 + e). Note that K may vary between one and n and for small m, and significantly influences the running time.

C. Comparison with Previous Heuristics Approximation algorithms for Steiner trees on undirected

graphs have been much studied and there exist a number of heuristics that have a performance bound of twice optimum [2]. In this section, we theoretically compare SCTF with three popular heuristics, namely the pruned Dijkstra heuristic (PDH), the minimum-cost path heuristic (MPH) [5] and the distance network heuristic [6]. These heuristics are briefly described in Appendix C.

We tabulate the worst-case performance guarantee and run- ning times of PDH, MPH, DNH and SCTF in Table I. The results for PDH, MPH and DNH are from [2], [IO], and a straightforward running-time analysis of the heuristics. Since these algorithms have been described and analyzed for undirected graphs, we restrict SCTF to symmetric graphs,

Page 8: Multicast tree generation in networks with asymmetric links

RAMANATHAN: MULTICAST TREE GENERATION IN NETWORKS WITH ASYMMETRIC LINKS 565

TABLE I

AND RUNNING TIMES FOR SYMMETRIC GRAPHS COMPARISON OF WORST-CASE PERFORMANCE

SCTF /I 2 O(m2rc + e)

to enable meaningful comparison and use the results from Sections IV-A and IV-B with Qm = 1. In all of these, we assume that shortest-paths from any vertex to any other vertex are precomputed and available in O( 1) time. The running time figures are the additional effort to compute a multicast tree.5

A key advantage of SCTF over the other algorithms is that it allows for trade-off selection between tree-cost and running time, and can be used as a cost minimizing or a delay optimizing algorithm. The latter follows from the fact that SCTF subsumes PDH, DNH and MPH, as shown below.

Lemma4.3: Algorithm SCTF subsumes PDH, DNH and MPH in that for a given undirected graph G = (V, E , c ) , and a set of terminals M , if we let the following.

1) K = 1, then SCTF is equivalent to PDH. 2) K = IMI + 1, and nonterminals in B are ignored, then

3) K = IVI, then SCTF is equivalent to MPH.

of the algorithms in Section 111-B and Appendix C.

SCTF is equivalent to DNH.

Proof: The following proof is based on the descriptions

This can be easily seen from the fact that B (in SCTF specification Section 111-B) always consists of exactly the source s. Since every branch added is a shortest path from B, the tree is the union of the set of shortest paths from s to each terminal in M , and is equivalent to PDH. To see this, assume that the MST in Step 1 of DNH is generated using Prim’s algorithm [18] and compare to SCTF. In SCTF, when 6 = IMI, B contains exactly all terminals (source is a terminal) since, by assumption, we ignore nonterminals if they are present (they might be until IQ/ becomes K ) . Thus, we grow a tree considering only shortest-paths from terminals. This is equivalent to Steps 1 and 2 of DNH. In Step 3, loops are eliminated and this is taken care of implicitly in lines 9 and 10 in SCTF. No equivalent of Step 4 is required since SCTF does not grow a branch to a nonterminal. We shall show a slightly stronger result, namely that MPH is equivalent to SCTF when K 2 IQ1 (note that IVI 2 IQ1 always). In this case, B(=V,) contains all of the vertices in Q and, hence, in V, (note that Q and V, are identical sets, only Q is ordered). Thus, at each step, the branch chosen is shortest from V,, which is exactly as done in MPH (see Step 2 in description of MPH in Appendix C). Also, because B(V,) contains all vertices currently in tree, PATH does not intersect the tree enroute to the chosen terminal (i.e., Branch = path

5For PDH, the time shown is simply the time to build a tree using the shortest paths, and may be reduced to O ( m ) if appropriate data structures are used.

w 4 t ) and lines 10 and 11 can be ignored, thereby

Thus, SCTF represents an unification of PDH, MPH and DNH. Since PDH minimizes the average and maximum desti- nation costs (see definitions in Section II), and MPH is a good approximation algorithm for minimum tree cost, the following is a corollary of Lemma 4.3.

Corollary 4.1: Algorithm SCTF may be used for obtaining trees with optimum average or maximum destination costs as well as obtaining trees with near-optimum (within a factor of two) tree costs.

establishing the equivalence. 0

V. EXPERIMENTAL ANALYSIS

In order to gain insight into the behavior of SCTF in practice, we experimented with an implementation of SCTF on a large number of randomly generated graphs. In what follows, we first describe our graph generation method and then present the results of our experiments.

A. Random Graph Generation

In generating our random graphs, we have adapted the method used in [ 111. Vertices are placed randomly in a rect- angular coordinate grid (by generating uniformly distributed random numbers for the I(: and y coordinates). A directed edge is placed from U to U with probability

where d(u,v) is the Euclidean distance between U and U, L is the maximum distance between two vertices and a and p are parameters that control the characteristics of the graph produced. Increasing ,B increases the average vertex degree of the graph and increasing c\: increases the ratio of longer edges relative to shorter ones. The control provided by this method allows for experimentation with a wide variety of random graphs.

The cost assigned to each edge is chosen randomly in a range RI to R2 (R2 2 RI) so that the cost ratio between a pair of complementary edges is no more than @,, the maximum edge asymmetry (see Definiton 2.3). Assuming that vertices U

and v are chosen for an edge-pair, and 1 5 @, 5 Rz/Rl, the costs are assigned as follows:

C ( U , U) = rand(R1, Rz), C ( U , U ) = rand(max(R1, C ( U , v)/e,),min(Ra, 9 m C ( U , U ) ) )

where rand(A, B ) is a random number uniformly distributed between A and B.

This gives us randomness in edge costs, while adhering to the limits of Qm and the range. Direct control of the other asymmetry metrics, namely !If9 and k, (see Definitions 2.4 and 2.5) is more complex and is not discussed here. How- ever, we note that with the above cost assignment technique, increasing 9, typically increases q9 and

B. Graph Parameters and Pei$ormance Measures

The parameters that might affect the behavior of a Steiner tree algorithm include 1) Number of terminals (m), or ratio

Page 9: Multicast tree generation in networks with asymmetric links

566 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

L L

2

I I I I I I I

............ .......... ~- .~ .......................... ........................ __..

5 - & - - + - ...............................................

I I I I I I I I

0 0 5 10 15 20 25 30 35 40

SCTF knob k Fig. 4.

of total vertices to terminals; 2) Value of K (for SCTF); 3) Asymmetry (Qm, 9, or Q e , see Section 11-E); 4) Graph density; 5 ) Graph size; 6) Proportion of long to short edges.

We performed experiments to study the effect of each of these parameters. We found that the relative tree costs pro- duced by the algorithms under study displayed no dependence on graph density, graph size, or the proportion of long to short edges. We restrict our attention in this paper to the first three parameters, and discuss the relative performance of PDH, MPH, DNH, and SCTF as a function of these parameters.

Since calculating the optimum tree for graphs as large as the ones we generate (200 vertices) is prohibitively time consuming, our measurment of performance is relative to algorithm MPH (see Appendix C), which is equivalent to algorithm SCTF when K = number of vertices (see discussion in Section IV-C). We use the normalized surcharge, introduced in [12], redefined here in our context.

DeJnition 5.1: The normalized surcharge of algorithm A with respect to MPH is

Srchrg versus knob for vanous m.

In our plots, we express this as a percentage, i.e., 8~ is multiplied by 100.

C. Observations The number of vertices in all of the experiments reported

here was 200. Where not indicated, the average density is eight (that is, the average number of neighbors per node is four). The range for costs RI and R2 are 10 and 100, respectively. Except for the plot in Fig. 6, which shows variation with asymmetry, all plots are done with symmetric graphs. The number of vertices and terminals are denoted by n and m, respectively. We discuss the most interesting observations below.

Fig. 4 shows the (normalized) tree cost plotted against K

for various values of m. Observe that the tree cost decreases very rapidly for the first few values of K and then flattens out.

0

t _ _ _ _ _ L-;---;-- .......... , .......... 4 ...... .... ................................ -_-. ___.--

_--.-.-.-. __.. _ - ....... _ - ........ -_e.- - - -___.. _ _ _ .-. ........

5 10 15 20 25 30 35 40 45 50 55 Number of terminals m

Fig. 5. Srchrg versus m for PDH, DNH various IC.

I I I 1 I I I I

-------

Fig. 6 . Srchrg versus Max. Asymm, m = 10.

maximizing decrease in tree-cost while minimizing increase in running time. For instance, consider SCTF operated with K = 9 in a network with 25 terminals. From Fig. 4 (or Fig. 5) , we see that the surcharge of SCTF is about 7%. From Fig. 5 , we see that the surcharge on PDH for m = 25 is about 38%. From Fig. 7, we see that the running time of SCTF with K = 9 is only about 50% of MPH. Thus, SCTF with K = 9 comes within 7% of MPH by expending only 50% of computing resources. From another viewpoint, the tree cost is about 5.5 times better than PDH using running time only slightly higher than PDH.

From Fig. 5, it can be noticed that SCTF significantly outperforms PDH for all vqlues of K and does slightly better than DNH for K > m. Also, PDH performs 2540% worse than MPH and DNH performs 2-5% worse than MPH.6 Notice from Fig. 5 that the surcharge for PDH, and for SCTF for various K values increases with increasing m, whereas, the surcharge for DNH does not. The insight obtained from the subsumption Lemma 4.3 is helpful in explaining this. Note from the specification of SCTF that the size of the bin B used

- - The expected running time, however, is approximately linear in in the range One through m, as can be Seen from Fig. 7. This suggests an optimal operating point at a low value of K,

6DNH is popularly used as a baseline for companson with other algonthms (e.g , [lo] and [14]). Our experiments suggest that MPH may be an even better choice, for it also has the same worst-case performance guarantee, has better average performance and IS simpler

Page 10: Multicast tree generation in networks with asymmetric links

RAMANATHAN: MULTICAST TREE GENERATION IN NETWORKS WITH ASYMMETRIC LINKS 561

110 I I I I I I I I I

-1 00 I

$! 70 v

.? 40 "' c

30 I

OC 20 ,/' I'

10 ' I I I I I I I

0 5 10 15 20 25 30 35 40 45 SCTF knob k

Fig. 7. Running time versus IC for m = 25, 35.

is equal to K, and from Lemma 4.3, 2) that the effective K for DNH depends on m Thus, for a higher value of m, a larger B implies a larger choice of shortest branches, and consequently a better solution. For SCTF with a fixed value of K, and for PDH, the size of B does not grow with increasing m, and the plots simply display a scaling of the performance deficiency as the average tree size increases.

Variation in edge asymmetry hardly affects the relative performance (relative to MPH) of PDH, DNH or a typical value of K (see Fig. 6). However, this does not tell us much about the effect of asymmetry on the performance relative to optimum.

Fig. 7 shows the average running time plotted against IE. for m = 25 and m = 35. We caution that this plot be taken only as a rough estimate due to the difficulties and inaccuracies of measuring CPU utilizations. Nonetheless, we observe that at values of K between five and ten, where (from Fig. 4), most of the performance improvement occurs, the running-time is no more than 30-50% of MPH for m = 25, and no more than 2040% of MPH for m = 35.

VI. CONCLUDING REMARKS We have performed theoretical and experimental investi-

gations into the problem of multicast treeP generation by accommodating link asymmetry. While the existence of asym- metry makes the problem even harder (in the complexity- theoretic sense) than its symmetric counterpart, we have been able to derive an algorithm that performs in proportion to how asymmetric the graph is. This is significant, for it gives us a provably constant times-optimum upper-bound on the performance for classes of networks whose asymmetry 9, or is bounded.

Apart from accommodating link asymmetries, the algorithm also allows for the selection of trade-offs between performance (tree-cost) and efficiency (running-time), and subsumes three popular algorithms for the problem. While matching exist- ing algorithms in simplicity and performance, the algorithm presented in this paper is more general and flexible. This is advantageous in many applications such as multimedia information distribution where differing proportions and re-

quirements of voice, video and data can be accommodated by selecting the appropriate trade-off and operating point. In this context, our experimental results are significant in helping to tune the algorithm to the desired trade-offs.

APPENDIX A NONAPPROXIMABILITY OF DSMT

A. Minimum Set Cover INPUT: Collection C of subsets of a finite set S. OUTPUT:

A subset C' C C such that every element of S belongs to at least one member of C'.

TheoremA.l: If there exists an algorithm for DST with performance guarantee of 0 (II) , then there exists an algorithm for minimum set cover (MSC) with performance guarantee of

Proofi Let T be an algorithm for DSMT with perfor- mance guarantee II. We give an algorithm @ for finding the minimum cover of S from C as follows.

Create a graph G with a node n, for each member c, of C. We shall refer to the n, as C-nodes, since the represent the C's. Create also a node m3 for each member e3 of S . Finally, create a special source node s. From each 12% create a directed edge to m3 iff e3 E S. Assign a cost of zero to these edges. From s, create a directed edge to each of the n, of cost one.

Now, feed G as input to Y with the m3 as terminals. Pick the C-nodes n k used in the DST T generated by Y. Output the corresponding sets m k as the solution. Clearly, m k is a set cover for S if and only if T is a directed Steiner tree for G.

The above operations in @ can clearly be done in polynomial time. Note that every path from s to m3 has to go through a C-node and that the cost of the tree is exactly the number of C-nodes used. Thus, if c(T) is the cost of the tree given by T and n(@) is the number of sets used to cover S in a, we have the following.

Equation (1): c(Y) = number of C-nodes used = number of members used = n(@).

Further, c(0PT-DSMT) = n(0PT-MSC) since there is a one-to-one correspondence between the c, and n,. Given this and the premise that performance guarantee c( T)/c(OpT- DSMT) of Y is 0(II), we have from (1)

n(@)/n(OPT-MSC) 5 c(T)/c(OPT-DSMT) 1. 0(II). Cl

o(=).

APPENDIX B HARDNESS OF 0( qe) APPROXIMATION

Theorem B. l : If there exists an algorithm for DST with per- formance guarantee of O(Qe), then there exists an algorithm for DST with performance guarantee of O(1).

Pro08 Let A be an O(XPe) approximation algorithm for the DST problem. Let G = (V, A, M , c) be an input instance to A.

We construct an effectively equivalent graph GI from G as follows. Take some terminal m, E M and replace it with a clique of 2 terminals. The edges in the clique have infinitesmal edge cost E in either direction (symmetric). The edges incident on m, in G are incident on any clique terminal in GI. This can clearly be done in polynomial time with respect to 5.

Page 11: Multicast tree generation in networks with asymmetric links

568 IEEEIACM TRANSACTIONS ON NETWORKING, VOL. 4, NO. 4, AUGUST 1996

By premise, A is an O(Qe(G’)) algorithm on GI also. ACKNOWLEDGMENT

The authors are grateful to R. Ravi, Cmegie Mellon Uni- versity, for suggesting the reductions given in the Appendix and for his comments on the algorithmic aspects of this paper. We would also like to thank J. Escobar, M. Steenstrup, and I. Castineyra, BBN Systems and Technologies, for their comments and suggestions on an earlier version of paper.

But *‘e(G’) is the average of 2 ( 2 - 1 ) QII,(G) and 7 edge pairs with asymmetry one. Thus

edge pairs with

1 x . ( z - ~ ) /AI 2 f

1

REFERENCES The right hand side of the above tends to one as x tends to

infinity. That is, one can make the average edge asymmetry of GI arbitrary close to one by choosing appropriately large 2.

Thus, given a graph with average asymmetry Qe and a DST problem defined on it, we can find an effectively equivalent graph with average asymmetry arbitrarily close to one. This 141

implies that if there is an O(Pe) approximation algorithm for DST, then there exists an O(1) approximation algorithm. 0 151

[I1

[21

[31

APPENDIX C STEINER TREE HEURISTICS

We give here for easy reference, three popular heuristics for the Steiner tree problem. The undirected version is given, but extensions to the directed graph situation are indicated within

As much as possible, we have used the description in [2], where a terminology different from ours is used: G = (V, E , e ) is an undirected [directed] graph with edge costs, [s is a source] terminals are 2 C V , 121 = p . Non-terminals are referred to as S-vertices.

A. Pruned Dijkstra Heuristic (PDH)

[9l

[, ] wherever possible. i101

[I11

[121

E131

~ 4 1

1) Take an arbitrary node as source [take s as source] and find the single-source shortest path tree T for G using algorithm due to Dijkstra [18].

2) Delete from T S-vertices of degree one (one at time)

[151

U61

until none are left (in other words, prune). STOP. u71

B. Minimum-Cost Path Heuristic (MPH) (originally in 151) [I8]

[I91 1) Begin with a subtree TI of G consisting of a single, arbitrarily chosen 2-vertex i [let TI = {s}]. Let k = 1

2) Determine a 2-vertex i E 2 - 21; closest to T k (ties broken arbitrarily). Construct a tree Tk+1 by adding the minimum cost [directed] path from T k to i. k = k + 1.

3 ) If k < p , then go to STEP 2) . If k = p , then output Tp as the solution. STOP.

and Z k = {i}. [201

[211

M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. P. Winter, “Steiner problem in networks: A survey,” Networks, vol. 17, pp. 129-167, 1987. F. K. Hwang and D. Richards, “Steiner tree problems,” Networks, vol. 22, pp. 55-89, 1992. R. M. Karp, “Reducibility among combinatorial problems,” in Complex- ity of Computer Computations, Miller and Thatcher, Eds. New York Plenum Press, pp. 85-103, 1972. H. Takahashi and A. Matsuyama, “An approximate solution for the Steiner problem in graphs,” Math. Japonica, vol. 24, pp. 573-577, 1980. L. Kou, G. Markowsky, and L. Berman, “A fast algorithm for Steiner trees,” Acta Informutica, vol. 15, pp. 141-145, 1981. V. J. Rayward-Smith, “The computation of nearly minimal Steiner trees in graphs,” Int. J. Math. Educ. Sci. Technol., vol. 14, pp. 15-23, 1983. J. Plesnik, “A bound for the Steiner tree problem in graphs,” Math. Slovaca, vol. 31, pp. 155-163, 1981. A. Z. Zelikovsky, “A 11/6-approximation algorithm for the network steiner problem,” Algorithmica, vol. 9, pp. 463-470, 1993. B. K. Kadaba and J. M. Jaffe, “Routing to multiple destinations in computer networks,” IEEE Trans. Commun., vol. COM-31, no. 3, pp. 343-351, Mar. 1983. B. M. Waxman, “Routing of mulitpoint connections,” IEEE J. Select. Areas Commun., vol. 6 , no. 9, Dec. 1988. V. P. Kompella, J. C. Pasquale, and G. C. Polyzos, “Multicast routing for multimedia communications,” IEEE/ACM Trans. Networking, vol. 1, no. 3, pp. 286-292, June 1993. F. Bauer and A. Varma, “Degree-constrained multicasting in point-to- point networks,” in Proc. IEEE INFOCOM 1995, pp. 369-376. Q. Zhu, M. Parsa, and J. J. Garcia-Luna-Aceves, “A source-based algorithm for delay-constrained minimum-cost multicasting,” in Proc. IEEE INFOCOM, 1995, pp. 377-385. X. Jiang, “Routing broadband multicast streams,” Computer Commun., vol. 15, no. 1, pp. 45-51, 1992. C.-H. Chow, “On multicast path finding algorithms,” in Proc. IEEE Infocom, 1991. K. Claffy, G. Polyzos, and H. W. Braun, “Traffic characteristics of the T1 NSFNET backbone,” in Proc. IEEE INFOCOM, Mar. 1993. T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms. Cambridge, MA: MIT Press, 1990. C. Lund and M. Yannakakis, “On the hardness of approximating minimization problems,” in Proc. 25th Annual ACM Symp. Theory Comput., 1993. D. J. Rosenkrantz, R. E. Steams, and P. M. Lewis 11, “An analysis of several heuristics for the travelling salesman problem,” SIAM J. Comput., vol. 3, no. 6, 1977. S. Even, Graph Algorithms. Rockville, MD: Computer-Science Press, 1979.

New York Freeman, 1979.

C. Distance Network Heuristic (DNH) (originally in [6]) Let K, = (2, E , d ) be the distance network induced by 2. 1) Determine minimum spanning tree (MST) T for K,. 2) Construct a subgraph G, of G by replacing each edge

in T by the corresponding minimum cost path in G (ties broken arbitrarily).

3 ) Determine MST T, for G,. 4) Delete from T, all S-vertices of degree one (one at a

time). Output the resulting tree. STOP.

S. Ramanathan (M’92) received the B.Tech. degree from the Indian Institute of Technology, Madras, India, and the Ph.D. degree from the University of Delaware, Newark.

He is a Research Scientist with the Advanced Net- working Department at BBN Corporation, where he is currently engaged in the research of multimeda communications over mobile wireless networks. His research interests include multicasting algorithms, mobile networkmg, and graph theory.

Dr Ramanathan is the recipient of the ACM SIGCOMM’92 outstanding student paper award, and the IEEE INFOCOM’96 hest paper award