Informqtion ~~~~e~s~~ng Information
Processing
Letters 63 ( 1997) 309-315
Efficient stream distribution algorithm for heterogeneous multimedia multicast with link capacity constraint Seung-Hoon
Kim a,*, Kyungshik
Limb, Cheeha Kim a
a Department of Computer Science and Engineering, Pohang University of Science and Technology,San 31, Hyoja-Dong,Nam-Gu, Pohang 790-784. SouthKorea b ComputerCommunicationSection,ETRI, Taejon.South Korea Received 4 November 1996; revised 14 April 1997
Communicated by F.B. Schneider
Abstract In heterogeneous when a connection
multimedia multicast, a recipient bids for what it wants to receive and the source gains the same amount is established. The problem of distributing streams for heterogeneous multicast to maximize the source’s
gain, can be solved using a O-l integer programming, known as NP-complete. We consider the problem with constraint on link capacity and propose an efficient stream distribution algorithm, compared with any existing one. In addition, distributed implementation
which has better both time and space complexity is straightforward, which is very useful for large
networks. @ 1997 Elsevier Science B.V. Keywords:Algorithms;
Combinatorial
problems;
Multimedia
multicast;
1. Introduction In most existing multimedia multicast protocols, recipients receive the same information generated by a source [ 2-51. However, in heterogeneous networks not all recipients have the same capability and demand. A recipient may prefer to receive some of the streams sent to a multicast group. Moreover, links in the network may have different capacities. In such heterogeneous multimedia multicast, every recipient bids for requesting service in advance and pays for only acquired one. The source will gain as much as all recipients pay when the multicast connection for the streams is established. It is important to determine how to dis* Corresponding
author. Email:
[email protected].
Stream distribution
tribute streams over a multicast tree where the source is on the root and the recipients on the leaves. From now on, by multicast, we mean heterogeneous multimedia multicast. The stream distribution problem was formulated as a O-1 integer programming problem, known as an NP-complete problem. The algorithm developed in [7] is composed of two passes. The first pass is progressing in a top-down manner from the source to the recipients on the maximum bandwidth tree [ 61. In the course of this pass, the expanded tree is constructed by identifying flows that are infeasible and/or inferior to ones that have already been found, eliminating these flows from further consideration down to the tree, and maintaining flow feasibility as it progresses. As a result, the expanded tree con-
0020-0190/97/$17.00 @ 1997 Elsevier Science B.V. All rights reserved. PII SOO20-0190(97)00138-S
310
S.-H. Kim et al. /Information Processing Letters 63 (1997) 309-315
tains all candidate stream distributions subject to the bandwidth constraint of links. The second bottomup pass is performed for evaluating the maximal gain among them. The algorithm requires significant amount of memory space for maintaining the expanded tree and high time complexity for executing two passes. In this paper, we propose a new algorithm to the stream distribution problem with the constraint that the capacity for a link is greater than or equal to the capacities of its descendant links in the multicast tree. We assume that such tree is given in advance by a multicast routing algorithm [ 41. Note that the quality of service can not be upgraded along with the downstream in the multicast tree. The capacity needed by a link thus will always be greater than or equal to the capacities needed by its descendant links after the multicast connection is established. We introduce the link capacity constraint so as to find the optimal stream distribution efficiently. The constraint actually means no harm to the problem itself. Our proposed algorithm is composed of only one bottom-up pass such that for each link from a leaf to the root, the maximal gain is computed recursively. It reduces the time complexity due to the single pass and requires much less memory space since it does not need the expanded tree. This improvement compared to [ 71 is very significant. Furthermore, it is receivercontrolled, so the receiver is responsible for the initiation of the resource reservation and distributed implementation is straightforward, which is useful for large networks. Once stream distributions over the tree are determined, the sender easily establishes the multicast connection as others do [ 71. The organization of the paper is as follows: Section 2 contains the network model. We formulate the stream distribution problem. In Section 3, we propose the algorithm and give its time complexity. In addition, we present the idea of heuristic algorithms as well for comparison. Finally, in Section 4, we draw our conclusions.
2. Model and formulation for stream distribution problem We introduce vector definitions and notations which are useful for describing our algorithm. A vector x
denotes an N-tuple of numbers. We can compare two vectors, say x = (XI,. . . ,XN) and y = (yr.. . . ,y,v), as follows: (vi)(Xi
6 Yi)
(ji,j)(Xi +-
-3
X 5 y,
< yi A xj > yj) xlly
(or,xtiyandx>Ly).
The component-wise product of x and y, x o y, is defined as the vector whose components are obtained by multiplying corresponding components from x and y, i.e., x 0 y = (xly~, . . .,XNYN) and the l-norm of x=(x1,... ,XN), IIXII~,isdefind~ llX[l~=CyIXil. If xi 3 0 and vi 2 0 for all i, the inner product of x andycanberepresentedbyx.y=xryr+..~+x~y~=
lb @Ylll. A network under consideration is modeled as a graph G = (YE) where the nodes correspond to switches or hosts and the edges correspond to links. We consider a link between switch nodes to be a point-to-point. We assume that a multicast tree in G is given by a muhicast routing algorithm in advance. The tree is @noted by a tree TA= (^v, I!?) where p c V and EsE.Alinkej~EhascapacityCj,j=l,..., L, where L = IQ. We constrain that Cj 3 Ck if ek is a descendant of ej, since we can consider a link in the tree as a virtual one whose capacity is determined to be the minimum of its physical capacity available and the demanded quality of service. with the downstream. The source generates N media streams, where stream s requires bandwidth w, known in advance. We are concerned only with links in T. A link entered to a leaf node is called a leaf link. A tree link is a non-leaf link. For the sake of simplicity, we assume that the root has only one link, root fink. If the root has more than one link, we can put a dummy node between the root and its children. The level of a link is defined as the level of node entered plus 1. Note that the lowest leaf link is level 1. The problem of distributing creams over T is to assign which streams to ej E E. A stream assignment to ej is denoted as an N-tuple vector zij =
S.-H. Kim et al. /Information Processing Letters 63 (1997) 309-315
zijN), where zi. = 1 if stream s is allowed on ej and zi, = 0 other&se. The subscript i denotes one single assignment among many possible ones. A feasible assignment Zi, should satisfy the following constraints [ 71: (Zijlv***9
Cl (Continuity). All flows originate only at the root, i.e., (Vej, ek E E) ( Zij > Zit) when ek is a descendent of cj. This constraint means that the problem should be discussed in the context of the multicast tree with the link capacity constraint.
ents. Thus, it is sufficient to consider a tree where a leaf link has only a single recipient. A gain vector gij , associated with a nondominated assignment zij E Aj on ej, can be obtained using gain vectors of its child links or recipients’ bid vectors if it is leaf link. Note that if zi,, = 0, gi,, must be zero. Now, the problem for distributing the streams can be formulated as follows: Stream Distribution Problem. T, find zij E Aj such that maximize
C2 (Bandwidth). Streams are assigned to ej only if link bandwidth can support them, i.e., if we have bandwidth requirement for an N-streams set of w = (WI,. ..,~~),thenC,zi,,w,=zi,.w~Cj. For feasible assignments
zij and zi! to ej, we say zij
is dominated by zil if zi, < zi;, which means that zij is a proper sub-assignment
of
q
.
For each cj E E^ in
Zij . gij
subject to both constraints
Cl and C2.
Note that our model is the same as [7]. To solve the problem, we must have all the gain vecto? for the assignments in Pareto set of every link in E. Fortunately, gain vectors can be computed from leaf links to the root link in level by level manner.
If there is no feasible
assignment that dominates zi,: then zij is the maximal assignment and is called nondominated assignment. Since ej may have many nondominated assignments, it is convenient to collect them into Pareto set Aj = {Zi, 1zi, is a nondominated
311
assignment
to ej}.
For Pareto sets Aj and Ak, Ak is said to be dominated by Aj if (VZC E Ak)(IZi, E Ai)(Zij Y Zik). By definitions of nondominated assignment and Pareto set, it can be deduced that if Cj 2 Ck, then & is dominated by Aj. So, we have the following observation.
3. Proposed algorithm distribution
for optimal stream
In this section, we will present the optimal substructure of the problem and propose an efficient algorithm. (See Fig. 1.) We say that a problem exhibits optimal substructure if an optimal solution to the problem contains within it optimal solutions to subproblems. There exists one-to-one correspondence between a nondominated assignment and a gain vector. So, ej is characterized by its gain set Gj = {gi, ( gij is a gain vector and associated with Zi, E Aj}.
01. Pareto set for a link is dominated for its ancestor links.
by Pareto sets
Gl. If ej is a leaf link with a recipient Gj = {gi,
A bid is a non-negative value assigned by each recipient to a stream. The source gains the same amount of the bid when the connection for the stream is established to the recipient. N-vectors can be used to represent bid and gain information for N streams. Bids for all streams of a recipient k can be represented by a bid vector bk = (bkl , . . . , bkN), where bk, denotes the bid for stream s. Note that if a leaf link is a multidrop, recipients connected to it can be replaced by a single recipient with its bid vector equivalent to the sum of all bid vectors of original recipi-
1 Zi,
E Aj 9 gi,
= Zi,
0
k,
bk}.
G2. If cj is a tree link with m child links, ck,,, n = l,...,m,
Gj = {gij1Zi,
E
Ajv gij
=c(zij
@gk.)}*
n=l
i.e., is
k?k. wheregk. = {gikn1mabkn GA,,{Zi, . gibnI>the gain vector among those associated with ek” which gives the largest value of I]zij Ogk ]I1 = Zij . gikn where gi,, E Gk. is associated with Zi4 E Akn.
S.-H. Kim et al. /Information Processing L.etters 63 (1997) 309-315
312
ALGORITHM
(STREAM_DISTRIBUTION)
begin Gj = postorder( root-link)
Table 1 A nondominated set Aj for ej after performing nondominated ej
Link capacity Cj
el
end
e2
8 3
e3
I
postorder( ej ) begin for all ek” = child(ej) do Gk, = postorder( ek. ) Gj = 8 for all zij E nondominated begin if(ej=Zeuf) then gi, = zij O bk else begin gij = O for all ek,, do begin
e4
3 1 6 4
root-&n
=
magijEGj
( Ilgi, II 1)
e5
e6 e7
do
I m%ik,, EG,, {zi, . gik,, II gij= gij+ (zij @ zk,, )
gk.
= {gi,
end end Gj=GjU{gi,}
begin return end Fig. 1. Our stream distribution algorithm for heterogeneous multimedia multicast.
Both rules Gl and G2 enable us to compute the gains for each link in T. Note that we do not need all the entries of the level 1 - 1 to compute a link of the level 1. In order to compute the gain set of a link, we only need the gain sets of its child links. In this respect, the postorder tree traversal approach is better than the dynamic programming approach in terms of the space complexity since the dynamic programming approach requires a large memory space for a table. Our algorithm can be implemented either in centralized or distributed. In case of distributed implementation, it is convenient to assign a processor to each link. A link
Pareto set Aj {~1,1,1,0~,~1,1,0,1~} {(1,1,0,0)) {~1,1,1,0~,~1,0,0,1~,~0,1,0,1)) ((l,l,O.O)} ((1.0.0.0)) {~1.1,0.0~.~1,0,1,0~,~1.0,0,1~,~0,1,1,0~} {~1,1,0,0~,~0,0,1,0~}
needs to know the tree partially, i.e., its link capacity only. And it must know about the bandwidth requirement and recipient’s bids if it is a leaf. While the algorithm proceeds, it receives gain information from its child links and then passes new one to its parent link. The following example illustrates the operation of the algorithm. Fig. 2 shows a multicast tree. Aj associated with ej is given in Table 1. We show in Fig. 3 the result after executing the algorithm. The detailed computation for obtaining gain vectors for a tree link, say e3, is given in Table 2. To prove the optimality of the distribution obtained by the proposed algorithm, it is enough to show that the distribution with the maximal gain is selected and there is no other feasible assignment with a greater gain. Theorem 1. The stream distribution obtained by the algorithm is optimal. Proof. We observed by 01 that Pareto set for a link is dominated by Pareto sets for its ancestor links. So, the whole gain information is considered all the way from leaf links to the root link without losing any information since there exists one-to-one correspondence between a nondominated assignment and a gain vector. The gain set for a link in T can be computed by using both rules Gl and G2. Hence the obtained distribution is optimal to the stream distribution problem. 0 The time complexity of our algorithm can be measured roughly by vector operations, such as component-wise product operations. We exclude vector sum and l-norm operations since they are
S.-H. Kim et al./Infonnation
313
Processing Letters 63 (1997) 309-315
A S : source
UWl
LEGEND
A,B,C,D : Recipients 1,3,4,6,7,8 : Link Capacities B
(0,1,1,1)
{ 1:
Bids for Streams
[ I : Bandwidth el 8 L1,2,4,51
Link Level
Requirement
for Streams C
(1,0,2,2)
’ Fig. 2. A heterogeneous multicast tree.
LEGEND (
) : Nondominated
Assignment
< > : Gain Vector I
el
a,l,O,O)
(l,O,l,O) <1,0,2,0> (l,O,O,l) <1,0,0,2>
U,l,l,O) <2,1,6,0> (l,l,O,l) <1,3,0,2>
t : Bid Vector
C
’10,2,3,2l
Fig. 3. A nondominatcd assignment Zij and its gain vector gij.
Table 2 Obtaining gain vectors for a tree link, say eg Zij (1.1.1.0)
gij
(1,0,5,0)
314
S.-H. Kim et al. /Information Processing Letters 63 (1997) 309-315
relatively simple. First we have to measure the complexity of nondominated that is the name of the procedure used in our algorithm. The complexity is given in Lemma 2 and it is actually the same as one in [7]. Lemma 2. If an N-stream set is input to nondominated, the m&mum caniinality of Pareto set is
Theorem 3.
Ifa tree fink has at most K child links, then our algorithm, STREAMDISTRIBUTION in Fig. 1, requires in the worst case thefollowing estimate of the computational complexity measured by vector operations:
We can think of two different kinds of heuristic algorithms. The first kind of algorithm is based on limiting the maximal cardinality of gain set. For instance, we can reduce the complexity of the proposed algorithm by applying l-norm operation to gain set obtained after calling the procedure postorder and then selecting the first M elements in decreasing order. The other is based on limiting the maximal cardinality of Pareto set. For instance, we can think a heuristic algorithm that examines at most M elements with the greatest value of inner product of a nondominated assignment and the bandwidth requirement vector in decreasing order. In that case, the heuristic algorithm has a polynomial time complexity, O(LM( 1 + KM)) = O(LKM*), although it may produce a sub-optimal distribution. 4. Conclusions
Proof. The time complexity of a postorder tree traver-
sal algorithm is O(n) -time, given an n-node tree [ I]. Our algorithm visits each link instead and the first term L comes from the reason. Since there exists oneto-one correspondence between a gain vector and an assignment, and gain vectors for all elements in Pareto set for a link must be computed, the second term is obtained by Lemma 2. Using both rules Gl and G2, the gain vector for an assignment can be computed. For a leaf link, only one component-wise product operation is needed. Since a tree link has at most K child links, the number of component-wise product in the worst case is K(L$z,). 0 The proposed algorithm has less time complexity than one in [ 71 or one checking all the assignments to all links, with the resulting complexity 2N‘. In theory it still requires rather high complexity which mainly comes from the great cardinality of Pareto set. However if N is small, the maximal cardinality of Pareto set will be small. The number of streams for a multimedia multicast in general will be less than 5. In that case, the maximal cardinality will be 10. In other words, we need to check at most 10 assignments per edge for obtaining the solution. It is actually not so difficult that the algorithm cannot be implemented today.
In this paper, we consider the problem of stream distribution and propose an efficient algorithm with the constraint that the capacity for a link is greater than or equal to the capacities of its descendant links in a multicast tree. We give the optimal substructure for computing the gain associated with a nondominated assignment and develop the algorithm based on it. The proposed algorithm is better than any existing one with respect to the time complexity and the memory space. For further reduction in the time complexity, heuristic algorithms that may produce sub-optimal distributions, are suggested as well. Even though the proposed algorithm has non-polynomial time complexity, its excellent performance with a limited number of multimedia streams makes it useful as yardstick against which the performance of other algorithms can be judged. Furthermore, distributed implementation for the proposed algorithm is straightforward, which is essential to large networks. We believe that our proposed algorithm can be applicable to the case where the number of streams is small, as would normally be the case in most multimedia services. References The Design and Analysis of Computer Algorithms (Addison-Wesley, Reading,
[ 11 A.V. Aho, J.E. Hopcroft and J.D. Uhan, MA, 1974).
S.-H. Kim et al./Information Processing L.etters 63 (1997) 309-315 [ 21 S.E. Deering and D.R. Cherhon, Multicast routing in datagram internetworks and extended LANs, ACM Trans. Comput. Systems 8 (2) (1990) 85-l 10.
[3] K. Bharath-Kumar and J.M. Jaffe, Routing to multiple destinations in computer networks, IEEE Trans. Comm. 31 (3) (1983) 343-351. [4] VP Kompella, J.C. Pasquale and G.C. Polyzos, Multicasting routing for multimedia communication, IEEE/ACM Trans. Networking 1 (3) (1993) 286-292.
315
[ 51 C.A. Noronha and EA. Tobagi, Optimum routing of multicast streams, in: Proc. IEEE INFOCOM ‘94 ( 1994) 865-873. [ 61 N. Shacham, Multipoint communication by hierarchicallyencoded data, in: Proc. IEEE INFOCOM ‘92 ( 1992) 21072114. [7] N. Shacham and J.S. Meditch, An algorithm for optimal multicast of multimedia streams, in: Proc. IEEE INFOCOM ‘94
( 1994) 856-864.