multicast
Routing broadband multicast streams Xiaofeng Jiang modifies two Steiner tree algorithms for multicast routing in multipoint broadband communications
Conventional Steiner tree algorithms have provided good solutions to single-shot and narrow-band multicast, but impose serious problems to multipoint broadband communications, such as videoconferencing, where a single path is often unable to handle the huge bandwidth involved. Therefore, broadband stream multicast routing algorithms taking account of link capacities become necessary. Two heuristic Steiner tree algorithms are examined in this paper, and are modified by introducing different capacity functions. Simulation results show the management cost can be reduced, and more importantly, a much better chance to find capable Steiner trees can be achieved by proper integration of link capacity into the algorithms in appropriate forms. Keywords: multicast routing algorithms, broadband, Steiner tree, videoconferencing
BROADBAND STREAM MULTICAST More and more applications in multipoint broadband communications have been brought forth by the increasing availability of network resources and improved signal processing techniques. One common example from such scenarios is videoconferencing. This service has evolved into two categories which are very different from each other in multicasting. Traditional studio videoconferencing has been introduced into the telecommunications world for years, but basically there is no need in this case for routing multicast signals or even for multicast itself. The Ulniver~ity of Camhridp~e (omputer Laboratory. (ambrid~,e (B2 ?,Q(;. UK Paper received: ~ k'/av 1091 An earlier version ot this paper was ~iven at the IFIP ~rd C onteren~ e r)n I'~i~4h Speed Networkinl4 (18-22 March 1~91. Berlin. Germany).
new type, which can be referred to as desktop videoconferencing, has recently evolved from multimedia communications technology. Since its main application environment is interconnected high speed local area networks CLAN) or wide area networks (WAN), it presents a typical broadband multicast routing problem. We give a brief description of both to clarify the differences, and the routing problem in the second case is dealt with in this paper. Videoconferences are traditionally carried by telecommunications facilities. A typical setup of such a conference has a star configuration, as shown in Figure 1. Participants are grouped in some studios where proper audiovisual facilities are provided. A multipoint control unit (MCU) 1 is located at the hub of the star as the central control and switching equipment. Its basic function is to find out the current speaker according to conferees' voice activity, and distributes audio and video signals from the speaker's studio to others. Connections between the MCU and studios can be either terrestrial telephone lines or satellite links, depending, on distance. Since this configuration is only a simple tree where no alternative routes can be found between any two end points, there is no need for any routing policy. The emergence of a new generation of videoconferencing has been propelled by increasingly popular multimedia technology and sufficient communication bandwidth provided by high speed LANs and WANs. Multimedia workstations'2 make it possible to have videoconferences through every conferee's PC rather than particularly-equipped conference studios. This situation is generally depicted in Figure 2. Audiovisual signals from every conferee's workstation go through a set of interconnected high speed LANs to multiple destinations. This interconnection may take an arbitrary form, and therefore, it is necessary to make routing decisions for the multicast streams.
0140-3664/92/001045-07 © 1992 Butterworth-Heinemann Ltd vol 15 no 1 january/february 1992
45
multicast Studio
Studio
Studio Studio
Figure 1.
Studio videoconference
Figure 2.
Desktop videoconference
Unlike the conventional multicast mechanisms which have been well developed for data communications in computer networks 4, multicast in this situation has its distinct nature of broad bandwidth and continuity. It not only requires connection-oriented communication channels to ease receivers' buffering of incoming packets, but also consumes a large portion of bandwidth on network links for a relatively longer period (usually in terms of minutes or even hours). Also, as every participant's audiovisual signal may be sent to others, rather than only the current speaker as in the former case, the bandwidth requirement is proportional to the number of conferees. Therefore, the traditional multicast routing policy of finding a single route when a connection is requested is no longer suitable, because the large bandwidth of video streams will certainly cause congestion on the particular network links.
SUGGESTED APPROACH Since it is difficult, sometimes even impossible, for any single link to accommodate the sum of all video streams from a multicast group, it is sensible to distribute these streams among a set of routes. The total available communication capacity of these routes should meet the total bandwidth requirement of the multicast group. Generally, multicast routing has been treated as a Steiner problem in networks (SPN), which is defined as follows:
46
For a given undirected network G = (V, E, c) and a subset of vertices X C V, find a tree TH in G such that there is a path between every pair of vertices in X, and the cost of TH is a minimum s. TH is usually called a minimum Steiner tree for X in G. Vertices involved in TH but not belonging to X are called Steinervertices. A smaller number of Steiner vertices imply fewer extra network resources used. Conventional multicast routing algorithms are based on finding a Steiner tree for the participating nodes in a given network. To meet the requirement of finding multiple routes for broadband stream multicast, these algorithms can be modified to set their target solution as a set of Steiner trees, of which the total bandwidth capacity matching the total number of multicast streams. Since SPN has been proved as an NP-complete problem, only heuristic algorithms are of practical interests and will be investigated. Among numerous heuristics proposed in literature 5, MST- and construction-types 6 are two main classes. The former is based on finding minimum spanning trees, while the latter is based on expanding and joining a cluster of small trees (consisting of required destination nodes initially) to build up a Steiner tree. Two algorithms, KMB 7 and RS8' 9, are typical in these two classes, respectively. Both of them have been shown to give near optimal results with respect to tree cost, and therefore are chosen as candidates here to be investigated. In the following sections we examine the details of the above two heuristics, and then modify them to find Steiner tree sets with bandwidth considerations. Simulation results will be given at the end of the paper to compare their performance.
TWO CLASSICAL HEURISTICS A brief description of the algorithms is recited from the references below.
KMB algorithm: Find a Steiner tree TH for an undirected distance graph G = (V, E, d) and a set of nodes x C V. Step 1: Construct a complete distance graph G1 from G and X where cost(; (u, v) is the length of the shortest path between u and v in X. Step 2: Find a minimal spanning tree T1 of G1. Step 3: Convert the edges in T1 to paths in G to form a subgraph Gs. Step 4: Find a minimal spanning tree Ts of Gs. Step 5: Construct a solution TH from Ts by deleting its edges so that all the leaves in T H a r e X nodes. []
RS algorithm Find a Steiner tree TH for an undirected distance graph G = (V, E, d) and a set of nodes X C V. Step I: Construct a set of subgraphs / = l(Ixl, (D): x F=Xl. Find a shortest path between any pair
computer communications
multicast of nodes u, v in G as R(u, v) and let d(u, v) be the length of the path. Step 2: For each v ~ V evaluate its proximity function:
vI
4
v~
2
v~
v4
4
r
f(v)=
1.r, kmin { E d ( n , t ) / r : t o ,
t]
. . . . .
tr@T}
v3
v3
i=O original
Find node w with minimum f-value. Step 3: Let tw.0 and tw.~ be the two closest trees in T to w. Join tw.0 and t~,.1 by a shortest path through w to form a new tree t' = t,,.o u R(w, L,.o) U R(w, twn) U t~,l. Step 4: Delete t,~o and tw.~ from T and insert t'. Step 5: If I TI = 1 then TH = T. Otherwise, for each v ~ G evaluate d(v, t') and R(v, t') and go back to Step 2. [] Both algorithms have fairly good performance, and guarantee to output a Steiner tree whose cost (with respect to distance) is no more than 2(1 - 1/I) times that of the optimal tree, where I is the number of leaves in the optimal tree 7'~°. However, since no consideration has been given to link capacities, it can be expected that these trees may be inappropriate for routing broadband signals. A simple network configuration shown in Figure 3a (:an provide a good example. Here, suppose there is a multicast group member at each node of v~ to v4, i.e. all the nodes are involved in this multicast group. The number beside each edge or link indicates its capacity in terms of the number of multicast streams it is able to accommodate, supposing that each stream requires same amount of bandwidth. If the distances between these nodes are as depicted in Figure 3a, i.e. d(vl, v 2) < d ( v 2, v 3) < d(v~, v4) < d(v4, vl), both the above algorithms will find a tree of Figure 3b, which can only carry two multicast streams. Actually, there is not a single tree in the network to be able to accommodate all four streams from all the nodes. In our simulation we tried running these algorithms repeatedly to find multiple Steiner trees with a suitable total capacity for a multicast group. This is just for the comparison of their performance with that of the modified algorithms. However, for this particular network example, the repeating procedure can not give any help either. After the first tree of Figure 3b being calculated and taken from the network, there is no other tree to be found in the remaining network, and therefore the algorithms fail. We now integrate link capacities into these algorithms and give their modified versions in the following section.
MODIFIED ALGORITHMS WITH INTEGRATION OF LINK CAPACITIES Since the KMB algorithm is based on finding minimum spanning trees, we consider link capacity in two aspects. First, high capacity links have priority to be searched for before others. This not only keeps the total number of
vol 15 no I january/february 1992
network
tree capacity
a
= 2
b
V1
V4
V1
v3
v3
tree capacity = 2
c
V4
tree capacity = 2
d
figure 3.
Simple network example
Steiner trees as small as possible to minimize the maintenance cost of the trees, but more importantly, leaves more choices on usable links for subsequent passes of tree searching resulting in a lower failure rate of the algorithm. Furthermore, maximum capacity, instead of minimum cost, spanning trees are searched for. This gives the same effects as the first one, because it ensures each tree has a high capacity. Also, as fewer trees need to be found, the total numbers of tree edges and extra Steiner nodes involved are expected to be smaller. The only negative effect is some high capacity, but long edges may be chosen which increase the tree cost, if link cost is associated with its length. The modified KMB algorithm proceeds as follows:
Modified KMB algorithm Find a set of Steiner trees, TH1, TH2. . . . with capacities of B1, B 2 . . . . respectively, for an undirected distance graph G = (V, E, c) and a set of nodes X C V, where Bi (i = 1 ... n) are the required bandwidth of multicast streams. Step 1: Build a list of n bandwidth parameters in a descending order, i.e. B1 > B2 > . . . > Bn, which will be referred to as a B-list in the following description. Step 2: Classify each edge according to its capacity c into following groups: c > E nI = 1 B.It T in-1 =1 B~
47
multicast following similar procedures to the KMB algorithm: Construct a complete graph G 2 = (X, E2, c2) from G1 of which any edge e(v, w) ~_ E2 is the path with minimal hops between v and w in G1. The capacity of each edge is chosen to be the minimum capacity along the corresponding path. Find a maximum capacity spanning tree T 2 of G 2. Convert the edges in T 2 tO paths in G 1 to form a subgraph GI. Find a maximum capacity spanning tree/-~ of G~. The Steiner tree T~ is obtained by removing all the leaves of T~ which are not in X. Step 4: Let c, be the minimum capacity of all branches m T~ ano cl = c ~ - z ~ , = ~ ~i. Delete B1, B2. . . . Bm. 1 from the B-list. For Bi(i = m . . . n), repeat the following procedure: •
.
~-~ m
1
n
no capable Steiner trees can be found and terminate. Remove all the isolated subgraphs in G1 except that containing X nodes, and all the leaves which are not in X. Assign a cost to each edge in G1 as follows: cost -
distance
[ n c / ~ = 1 Bi]
(version 1),
or:
cost -
1 [ncl£?_ 1 & ]
(version 2).
Step 3: Find a Steiner tree Ts for X over G1 by the original RS algorithm where d(u, v) is replaced by cost(u, v). Step 4: Let c~ be the minimum capacity of all branches in Tsand cl = Cs. ForBi(i = 1 ... n), repeat the following procedure:
If cl > Bi, set Cl to cl - Bi, and delete Bi from the B-list.
If c 1 > Bi, set c 1 to c 1 - B i, and delete B i from the B-list.
Let c t = c~ - cl,and subtract c t from c of each edge of G in T~. If the B-list is not empty, reset n to the number of the remaining components on the list, and go back to Step 1. []
Let ct = cs - Cl, and subtract c t from c of each edge of G in Ts. If the B-list is not empty, reset n to the number of the remaining components on the list, and go back to Step 1. []
In the RS algorithm, link distance d is used directly in a proximity function. If d is replaced by d/i, where i is the average number of signal streams the link (:an carry, or the link capacity index, high capacity links will have much better chance to be chosen as tree edges. It is reasonable to consider this quotient d / i as a kind of cost function because a link which is able to accommodate n data streams is capable of substituting n of those which can only convey one stream. To provide even higher priority to link capacities, we consider an alternative which totally neglects distance in the cost function. This can exist as another version of the modified algorithm, and further investigation can be made to find which version is better. Similar to the modifications to the KMB algorithm, links whose capacities are less than the basic bandwidth of the smallest stream, are left not to be searched for, and the whole algorithm repeats until the required total bandwidth is satisfied. The modified algorithm is described in detail as follows:
Against the network example set in Figure 3a, all these modified algorithms will find a tree shown as Figure 3c first, and then another one as Figure 3d, (supposing d(v 1, v4) is less than twice of d(vl, v2) for the first version of modified RS algorithm). Both trees can carry two multicast streams, and will jointly satisfy the bandwidth requirement of the multicast group.
M o d i f i e d RS algorithm Find a set of Steiner trees, TH1, TH2 . . . . with capacities of B1, B2 . . . . respectively, for an undirected distance ~raph G = (% E, c) and a set of nodes X C V, where Bi (i = 1 ... n) are the required bandwidth of multicast streams.
Step 1: Build a B-list of n bandwidth parameters as B1 > B2 b~ . . . b~ Bn. Step 2: Construct a subgraph G1 = (% E~, cl) where e 1 includes all the edges with c >/B m If all the nodes in X are not in a connected graph, report
48
C O M P U T A T I O N A L COMPLEXITY In the modified KMB algorithm, Step 1 is a simple sorting operation which takes O(n log2 n) time. Step 2 involves classifying all the edges of a graph and building a connected subgraph. The former part obviously takes O(IEI) time while the latter needs O(n I Vl 2) because a connectivity check takes O(I V l 2) time, and all n groups of edges have to be used to construct a subgraph in the worst case. Step 3 has slight changes from the original KMB algorithm, and has the same complexity of O(IXll V 12)7. The capacity calculation and B-list operation in Step 4 take O ( I V l ) and O(n) time, respectively• In the worst case, a set of n Steiner trees, each of which has a capacity of Bi (i = 1 . . . n ) , has to be found, and the number of components in a B-list is at least one less than its value in the previous round. Therefore, the whole algorithm needs O(]~n= 1 ilog2 i + n21Vl 2 + n l X l l V l 2 + nlel + n 2) computation time. Since n > IXl, the above expression can be simplified as O(£~= 1 ilog2 i + n21Vl 2 + nlel). Also, for a given number of vertices, the maximum number of possible edges found in a complete graph is: ,v.,
lel= ~
i-
ivl2_iVl 2
i=1
computer communications
multicast Results
and: o
i1
~ilog2i
I)
2"- E n 2 = n i-1
~.
t=l
Hence, the complexity of the algorithm is no worse than
O(n21Vl2+n~). In the usual case of n<
Based on the above model, 2500 different 25-node random networks were generated with destination node numbers of 4, 6, 8, 10 and 12 (500 networks for each). The required bandwidth of each multicast stream is assumed to be 3 Mbit/s which is sufficient for a conferencepurpose audiovisual signal. The modified algorithms were applied directly to these networks, while the original ones had to be slightly changed for easy comparison. We made this change in two different ways. One of them was simply to run the algorithms repeatedly until the required total bandwidth was found. The other was to run the algorithms only once, but links not having enough bandwidth were discarded. Figures 4-7 illustrate the experimental results of running all the algorithms on those 2500 networks. We define normalized link cost as the ratio of the link length to the average length of all links in a network, and normalized multicast cost as the sum of tree costs weighted by its capacity index, (i.e. the average number of streams the tree can carry), in the tree set. It is shown in Figure 4 that the costs of trees found by the modified algorithms are slightly (about twice at most) higher than those found by the repeated-run versions of the original algorithms, but comparable with the single-run versions. Results presented in Figures 5 and 6 reflect the maintenance cost of multicast. It is found that the tree
SIMULATION
-
1
I
13 '
~i
Network model The basic network model is taken from Waxman 6, which has some of the characteristics of an actual network. A few changes are needed to introduce capacities and asynchronous traffic to links. All the network nodes are randomly distributed over an area with a rectangular coordinate grid. The required destination nodes are chosen randomly. It is possible for some of the nodes to be selected more than once because each node represents a subnetwork (HSLAN in Figure 2) where a few participants may be connected. Edges or links are determined by a probability function:
P(lu, vl) = [3 exp
II
9
,""
..-""
,"
7
j.'
' ,
.f.."
. ...'"
.x
.......
.
-d(u, v) La
where d(u, v) is the distance between nodes u and v, L is the maximum distance between two nodes, and parameters a, fl ~ (0, 1). By giving different values to a orfl, we can change the ratio of short to long edges or the total edge density in a network. One of three capacity values, 10, 30 or 100 Mbit/s. is assigned to each link randomly, but the percentage of each category is maintained as 60, 30 and 10, respectively. A normal distributed asynchronous traffic with an average of a quarter of the link bandwidth is then subtracted from the above assigned capacity, and the final remaining value is taken as the current available bandwidth of that link.
vol 15 no 1 january/february 1992
5
.....i;ii.....
..... . .i....".~'.'""
u _ _ _
4
6
8
I0
]
12
N u m b e r o f d e s t i n a t i o n nodes
Figure 4. Normalized cost of multicast trees (11: KMB algorithm (repeated run); ×: RS algorithm (repeated run); +: KMB and RS algorithms (single run); O: modified KMB algorithm; V: modified RS algorithm (version 1); A: modified RS algorithm (version 2))
49
multicast 1. . . . . . .
I
11
..-' /"
/../
/iiiiii. . . . . . . .
j
/' /"
40
.....///..." f/'""
7
./" I""
!
X.//. " 30
5
..." .-'
X'" .."
20 ~/f"
1
1
I
4
'
i
i-
8 10 12 Numberofdestinationnodes figure 5. Average number of trees in multicast route sets
6
(11: KMB and RS algorithms (repeated run); x: Modified KMB algorithm; O: modified RS algorithm (version 1); +: modified RS algorithm (version 2)) sets found by the modified algorithms have much smaller numbers of trees, and take fewer network links to form the trees than the repeated-run versions of the original algorithms. Although the single-run versions have obviously the best performance in this respect, they have no practical use because in most cases they are unable to find any capable trees at all. This is the result illustrated in Figure 7. Here the modified algorithms perform extremely well. They fail to find capable trees in less than 4% even when half of the network nodes are chosen to be destination nodes. Of the modified algorithms, the second version of the modified RS algorithm has very similar performance to the modified KMBs. The first version can find lower cost trees, but needs more efforts to maintain them. This provides a trade-off upon which particular applications can decide which one to use.
APPLICATION TO UNICAST ROUTING There are many advantages of using multipath routing in unicast communications, such as association of different routing criteria with different routes, network load distribution, and adaptation to network status changes11 In a situation where the bandwidth required by a connection is too large to be met by any single path, such routing method even becomes necessary. While many multipath routing schemes have been
50
I ....×
../
./..." 9
1"---
50
....1
..--iilll;"
10i5' I 4
6
1. 8
lO
~2 12
N umber of destination nodes
Figure 6. Percentage of network links used by multicast trees (ll: KMB algorithm (repeated run); x: RS algorithm (repeated run); A: KMB and RS algorithms (single run); O: modified KMB and RS (version 2) algorithms; +: modified RS algorithm (version 1)) proposed 11Is, the modified algorithms discussed in this paper can be used directly to find a set of routes with capacities of BI, B2 . . . . B n between a pair of transmitting and receiving nodes. This kind of multipath unicast routing is simply a special case in the multicast routing schemes where Xl-- 2.
SUMMARY Due to their principal applications in computer communications, conventional multicast routing (Steiner tree) algorithms take almost no account of link capacities. This makes them inadequate to broadband multicast. Simulation results have given two reasons for it. First, if these algorithms are applied directly, they cannot find a tree with enough bandwidth in most cases. Second, if they are simply run repeatedly to find a set of trees, their solutions need a lot of maintenance effort, and in some cases their failure rates are still as high as 25%. By carefully integrating link capacity into the conventional algorithms, we find the modified versions perform much better, with failure rates reduced to lower than 4%. Analysis shows that the computational complexity of the modified algorithms is still polynomial and proportional to that of the original algorithms. It is also found that these algorithms can be naturally applied to multi-
computer communications
multicast 1
1 o~,- . . . . . . . . . . . . .
e
U [
/
/
/
/ 40 .
,¢'
2 0 ~- ÷
..... .'" ... ........ . ...... •
0
:
4
"
... .... ......-
.... ,... ...
.... :::::::::::::::::::::::::::::::::::::::::::::::::::!1
6
8
I0
12
Number of destination nodes
Figure 7. Failure rates of the routing algorithms (1: KMB algorithm (repeated run); ×: RS algorithm (repeated run). +: KMB and RS algorithms (single run); O: modified KMB algorithm. ~: modified RS algorithm (versions 7 and 2))
path routing in unicast communications as a special case of multicast routing. Further consideration may be given to investigate a fully distributed broadband multicast routing algorithm, and a dynamic optimization procedure which is useful for those multicast groups in which participants may join or leave frequently.
ACKNOWLEDGMENTS I would like to thank Dr A. Hopper and C. Ang for their valuable comments, and the anonymous referees for their suggestions for improvements on an earlier draft of this paper. This research is supported by a scholarship from the British Council and facilities provided by the University of Cambridge Computer Laboratory to which I am also indebted.
vol 15 no I january/february 1992
REFERENCES
4.
1 Clark, W J, Lee, B, Lewis, D E and Mason, T I 'Multipoint audiovisual telecommunications', Br. Telecom. Tech. J., Vol 8 No 3 (July 1990) pp 36-42 2 Lazar, A A and While, J S 'Packetized video on MAGNET', Optical Eng., Vol 26 No 7 (July 1987) pp 596-602 3 Hopper, A 'Pandora -- an experimental system for multimedia applications', ACM Operating Syst. Rev., Vol 24 No 2 (April 1990) pp 19-34 4 Wall, D W Mechanisms for broadcast and selective broadcast, Technical Report STAN-CS-82-919, Department of Computer Science, Stanford University, CA (June 1980) 5 Winter, P 'Steiner problem in networks: a survey', Networks, Vol 17 No 2 (1987) pp 129-167 6 Waxman, B M 'Routing of multipoint connections', IE£E J. Selected Areas in Commun., Vol 6 No 9 (December 1988) pp 1617-1622 7 Kou, L, Markowsky, G and Berman, L 'A fast algorithm for Steiner trees, Acta Informatica, Vol 15 (1981) pp 141-145 8 Rayward-Smilh, V l 'The computation of nearly minimal Steiner trees in graphs', Int. I. Math. Educ. Sci. TechnoL, Vol 14 No 1 (1983) pp 15-23 9 Rayward-Smilh, V J and Clare, A 'On finding Steiner vertices', Networks, Vol 16 (1986) pp 283-294 10 Waxman, B M and Imase, M Worst case performance of Rayward-Smith's Steiner tree heuristic, Technical Report WUCS-88-13, Washington University, Department of Computer Science, St. Louis, MO (1988) 11 Breslau, L, Eslrin, D and Zhang, L Adaptive, multipath source routing for large-scale networks, Technical Report TR 91-06, Department of Computer Science, University of Southern California, Los Angeles, CA (February 1991) 12 Altar, R 'A distributed adaptive multi-path routing consistent and conflicting decision making', Proc. 5th Berkeley Workshop on Distributed Data Management and Computer Networks, CA, USA (February 1981) pp 217-236 13 Lai, W S 'Bifurcated routing in computer networks', ACM Comput. Commun. Rev., Vol 15 No 3 (August 1985) pp 28-49 14 Gardner, M L, Loobeek, L S and Cohn, S N 'Type-ofservice routing with loadsharing'. Globecom "87. Tokyo. Japan (November 1987) 15 Wang, Z and Crowcroft, l 'Shortest path first with emergency exits'. SIGCOMM '90. Philadelphia. PN (September 1990) pp 166-I 76
51