call blocking probabilities for multi-layer multicast streams with the ... was also supported by Nokia Foundation. ...... Conference Record, June 1996, vol. 2, pp.
1
Blocking probabilities of multi-layer multicast streams Jouni Karvo, Samuli Aalto, and Jorma Virtamo Abstract—We present two new algorithms for calculating call blocking probabilities for multi-layer multicast streams with the assumption that blocked calls are lost. Users may join and leave the multicast connections freely, thus creating dynamic multicast trees. We define the state space, and give two recursive algorithms; for the general case and for the special case where all multicast channels are statistically indistinguishable. Our recursive algorithms are linear with respect to the number of links. The special case is also polynomial with respect to the number of channels. Keywords— Multicast, loss systems, blocking probability, hierarchical source coding.
I. I NTRODUCTION We present two new algorithms for calculating call blocking probabilities for multi-layer multicast streams with the assumption that blocked calls are lost. Consider a network with circuit switched traffic, or packet switching with strict quality guarantees, such as the IntServ architecture in the Internet. Decisions on whether to allow a new connection to network are made according to availability of resources. In general, traffic is a mixture of point-to-point (unicast) and point-to-multipoint (or multicast) traffic. There are well known algorithms for calculating blocking probabilities for unicast traffic in absence of multicast traffic, see e.g. [1], [2]. Multicast traffic, however, is not so easily treated. We present a state space definition using a concept of a tree-structured multicast network with dynamic membership. In these networks, users at the leaf nodes can join or leave any of the several multicast channels offered by one source (i.e. the root of the tree) in the network. The users joining the channels form dynamic multicast connections that share the network resources. Blocking occurs when there are not enough resources available in the network to satisfy the resource requirements of a request. Since blocked calls are lost, this system is also called a “multicast loss system”. The multicast loss system may be The authors are with Networking Laboratory, Department of Electrical and Communications Engineering, Helsinki University of Technology, P.O.Box 3000, FIN-02015 HUT, Finland. Email: {Jouni.Karvo, Samuli.Aalto, Jorma.Virtamo}@hut.fi This study was funded by the Academy of Finland. The first author was also supported by Nokia Foundation.
seen as a virtual network over the real one, carrying the multicast traffic of the real network. Audio and video streams can successfully be coded hierarchically [3]. In hierarchical, or layered, coding, information is separated according to its importance, and then coded and transmitted separately. In this paper, we study a setting where a user may, depending on her needs and abilities, subscribe to the most important substream only, in which case we say she is on layer 1, or subscribe to any number of the most important substreams, in which case we say she is on layer . This paper studies the calculation of blocking probabilities for multicasted layered streams. The assumption that blocked calls are lost implies that if a user does not get the desired layer (or number of substreams) due to blocking, she will not get any layer. In this paper, we give the state space definition and an algorithm allowing calculation of call blocking probabilities in this general setting, both in the case where the multicast loss system is in isolation (with no unicast traffic), and in the case there is independent background traffic. The latter case refers to a scenario where multicast trees are embedded in a network with an arbitrary topology carrying also unicast traffic. The algorithm has a complexity , where denotes the number of user of populations (or leaves) in the network, the number of layers, and the number of multicast channels in the network. Since the dependence of is only linear, the network size will not hinder usage of the algorithm. In addition to the general setting, we study a special case, which is applicable if channels within each layer are statistically indistinguishable. By this we mean that the channels are chosen with the same probabilities, the mean holding time for these channels is the same, and the capacity needed to carry a specific layer is the same for all channels on any link. We show how to organise the problem of calculating exact time blocking probabilities for each layer under this assumption of statistical indistinguishability, yielding an algorithm with complexity . The algorithm is polynomial with respect to , which is a considerable improvement from the exponential growth of the state space. Chan and Geraniotis [4] studied the system of layered
2
video multicasting. They gave the definition of the state space, but resorted on approximations for the actual calculations. After their work, research has concentrated on non-layered multicast streams. Karvo et al. [5] studied the non-layered system under the assumption of having an infinite user population generating call requests at the leaf nodes and a single finite capacity link in the network. An exact algorithm to compute the blocking probabilities was derived. This work was extended by Boussetta and Belyot [6] by adding unicast traffic to the system. Reduced load approximations of the blocking probabilities in a network were derived in [7]. Ramanan et al. [8] have studied phase transitions in multicast calls, using simplified static multicast calls. Their study suggests, that the reduced load approximation is not adequate for multicasting, and further work is needed. An exact algorithm with comfor the network case with dynamic nonplexity layered multicast connections has been given in Nyberg et al. [9]. Efficient Monte-Carlo simulation method for dynamic multicast networks has been developed by Lassila et al. [10]. Aalto and Virtamo [11] developed an algorithm for the non-layered case where all channels are statistically indistinguishable, using combinatorics to achieve . Recently, there has been slight complexity of progress in the case where the multicast streams are layered. Karvo et al. [12] developed an algorithm for calculating blocking probabilities of two-layer streams with Poisson arrivals and exponential holding times. The contribution of the present paper is a generalisation of this work to an arbitrary number of layers, and a study of insensitivity for different known user models for this system. This paper is organised as follows. Section II presents the basic system model, and the basic time blocking probability calculation with exponential complexity. Section III presents a time blocking probability calculation algorithm with reduced complexity with respect to the network size. Section IV shows how to efficiently calculate time blocking probabilities for statistically indistinguishable channels using a polynomial-time algorithm. Section V studies the insensitivity of the system, and the call blocking probabilities, when applying some basic user population models to the system. The results are summarised in section VI.
"!
#
II. M ULTICAST
LOSS SYSTEM
We study the multicast loss system using notation presented in Nyberg et al. [9], adding multilayer-specific properties to the model. Consider a network consisting of links, indexed with , link having a capacity of resource units. The network is organized as a tree. The set denotes the set of user populations, located at the leaves of the tree. The leaf links and the
$
576
8
%'&)(+*-, /.1010102. $43
%
9:&;8? B8 6 6 86 C 6 % %
user populations connected to them are indexed with the same index . The set of links on the route from user population to the root node is denoted by . The user populations downstream link , i.e. for which link , are denoted by . The size is denoted by . Let denote the set of the set of all links downstream link (including link ), and the set of neighbouring links downstream link (excluding link ). The links of the tree are indexed so that for all , . Thus, the root link is denoted by . The multicast network supports channels, indexed with . The channels originating from the root node represent different multicast transmissions, from which the users may choose. There are layers. Each layer has a capacity requirement . The capacity requirements are unique and for all , i.e. we assume that layer contains all hierarchically coded sub-streams, layer 2 the two most important ones, and layer 1 only contains the most important sub-stream.
% %FEG&HD6 %FEGIJ% K &MLN*O, /.1010102. 3
7P &RQ *;, /.101010. 3 PTIUPVE
%
%
D6 $
S P IMS P E S P
A. State space
state of link % is defined by the states of the channels .X/.101010. 3 , deK . The Each channel is on one of the states ,W /.101010. . pending on whether the channel is off, or on layer .1010102. 3 . K That is, the state of channel on link % is Y6Z [4&\,W K The state of link % is denoted by the vector ]6T*^,Y6_Z [a` & 3L &cb , where b is the link state space bd* ,W .1010102. 3 . . K . P of A multicast connection is defined by the tuple 9 K the user population 9 (leaf link), channel and layer P . The network state e is defined by the states ]f? of the leaf links,
eg* f ] ?h`9'&8 * iY ?FZ [`9'&8 . K &L &kj . (1) where j * ,W .101010. 32lnm denotes the network state space. The state of any link % is determined by the network state as follows: p qsr ] ? if %t*u9c&8 , ]6o* vw2x ] ?y otherwise . (2) ?Xy{z=|/} ~ denotes the componentwise max-operation. where vw2x The occupancy of any link % is determined by the link state as .
6*u ]6 * S Y6Z [ [
B where S W *W , i.e. when channel is off, it does not need any link capacity. We denote the occupancy generated = by all other channels but by 6 E *A E ]6 *J [B S Y6Z [ .
3
a
B. Probability distributions b
a b
b
c c a
b
PSfrag replacements
c
Fig. 1. Original and supplemented networks. There are three possible supplemented networks, each having exactly the same states in the links from the original network (solid lines).
Now, in a finite capacity network, the state space is truncated by the capacity constraints of the links,
j*-7&Rj@ 6 576 . % &'( 0
(3)
Any tree network where the number of child nodes of all non-leaf nodes is greater or equal to two can be supplemented to a binary tree by adding supplemented links with infinite capacity. There are many possible ways to supplement trees, see Figure 1. The states of the original network are the same as the states in the corresponding links in the supplemented network. Because of this property, every algorithm that works properly in a binary treeshaped networks, works in any tree network, as stated in the following lemma: Lemma II.1: Given an original tree and any supplemented tree , the state of any link in the original network can be calculated recursively from the leaf links using the supplemented tree as
( E
%
%
p qr f ] ? ] 6 * vw2x ] 6_y . ] 6 y y } y 6y{Z 6y y Dd6 E
(
8B6
%*A9c&. 8
if otherwise
,
where is the set of downstream neighbour links of link in the supplemented tree. This result follows directly from the associativity and commutativity of the operation, applied recursively to the whole tree. Because of this property, we can use a supplemented tree to calculate the link probabilities instead of the original network. In the sequel we assume that the multicast loss system is first supplemented to a binary tree.
vw2x ~
Let us assume that the user populations of the leaf links are independent, and that the leaf link distributions , , are known, and represent stationary distributions of reversible Markov processes satisfying the detailed balance equations. Several types of user population models of this kind have been discussed in [9], and will be presented in section V. of the network states The steady state probabilities in a system with infinite link capacities can be calculated from (4)
? 7 *¡ ¢,]f?£* 3 9&8
c a
*u R,eg*A 3 *¥¤ ? ? . ?¦z=| since the user populations are independent. Lemma II.2: Probabilities , U& j , of states in a
system with finite link capacities are obtained by truncation
*u §,eg*u£¨e+& j 3 * 3 . ©,e+& j 3 *JA« z® ¬ . where §,eª& j
Proof: The leaf processes have an assumed detailed balance. Since the leaf link processes are independent, and the whole process is thus of product form (Eq. (4)), detailed balance holds for the network state space. Thus, truncation is allowed (see e.g. [13], [2, page 19]).
C. Blocking
K
In a finite capacity network, blocking occurs whenever a user tries to establish a connection for channel and layer , and there is at least one link where the channel and there is not enough spare capacity for is on state setting the channel on the requested layer. Without loss of generality, we assume that the channels are ordered so that the channel for which we are calculating blocking has the greatest index . Consider a link . A request for layer succeeds if there is enough capacity already reserved for the layer in link , or there is enough free capacity in the link, i.e.
%¢&\>¯?
PnI
%
%
vw2x ,S . S ° _6 Z 3 576©± E 6 (5) We use the expression “link % blocks” if this condition does not hold for link % . The set ²7?¦Z ³ consists of the states where . . , when layer at least one link blocks for connection 9 of channel is requested, and is defined as ²7?FZ ³©* H& j@ %¯&¢>?µ¦S §¶ 576©±H E 6 0 _´
4
Then the time blocking probability for connection is
·
9 . .
3 3 R , ª e R & 7 ² F ? Z ³ ?FZ ³G*¸ §,e+&R²7?FZ ³¨eª& j * § ,e+& j 3 30 § , ª e & ) j G ¹ 7 ² F ? Z ³ * ± ©,eª& j 3
(6)
Call blocking probabilities for users depend on the chosen user model, and will be discussed in section V. Calculation of time blocking probabilities for layers is now easy, but very time consuming: the number of states in the state . Thus, efficient algorithms are needed. space is An algorithm utilizing the so-called MAX-convolution is presented in the next section.
' u l
III. MAX- CONVOLUTION
ALGORITHM
As seen in Eq. (4), network state probabilities can be calculated from the leaf link state probabilities. That is, the state of any link in the network is defined by the leaf links . Definition III.1: The MAX-convolution operation for is defined as any two functions
8B6
%
º » . ¼ Fµ b ½¿¾ À »º ¼¦ÁÂà * Ï ÎÏ a¼ÐÏÑÒ 0 » Ä Z ÅÇÆ ÈÊÉË Ä Z Å ÍÌ 4 of any link % Lemma III.2: The link probabilities 6
in the network can be calculated recursively as follows:
6 4 %&8 6 4 : * Ó À ÐÔ º Õ ÁÖ4 ifotherwise, .Ø 3 . where D 6 *^,× Proof: Consider then three links in the tree, such .Ø 3 . Since the processes in links × and Ø are that D6t*N,× independent,
¢,X]6o* 3 *
¢,] Ô * Ô 3 ¢ ,] Õ * Õ 3 .
Ù/Ú Z Ù/Û Æ ÈÊÉË Ù/Ú Z Ù/Û Ù ~ denotes a componentwise MAX-operation. where vw2x This operation corresponds to the MAX-convolution operation. Applying this operation recursively yields the result. A. Denominator
% &k( , ¯ ÜÞ6Ý 7 *u \ßF]6T* Ê` ] 6_y G 5 6y . % E &RC:6Öà 0 Ý Definition III.4: The truncation operator á 6 for any function »cµ¦b@½¿¾ is defined as á 6 Ý » 7 *¸» 4 âXã Ù Ïäiå } 0 Definition III.3: Define for all
§,eª& j 3 ©,eª& j 3 * Ù Ü Ýæ 4 .
Theorem III.5: It is possible to calculate recursively the state sum (Eq. (6)) as
where
á 6 ÝÝ 6 Ü 7Ý Ü Ý 4 if %¯&8 , otherwise, á 6Òç Ô º 1Õ è Ü Ýæ 7 are defined by Proof: Link probabilities pointwise disjoint sets of network states. These sets are all in the allowed state space j , according to the definition Ü Ý 4 . The union of all sets of network states defined of 6 Ü Ýæ 4 is the allowed state space. by different Ü 6Ý 4 N * Ó .Ø 3 . and D 6 *^,×
Lemma III.2 states the recursive way to calculate link probabilities. The truncation constraints (Eq. (3)) are linkwise, and affect link probabilities in a similar way as the original state space probabilities. The truncation operations applied recursively guarantee that the link capacity . constraints are taken into account for all links See also Nyberg et al. [9].
% E &RC:6
j to be in set jd¹Ç²7?FZ ³ % &¢> ? ¯ ÜÞ6é Z ³ 4 *u £Ó]6T* `ê ] 6y G 5 6y . % E &RC:6Þ`
B. Numerator
The condition for a state in given in Eq. (5). Definition III.6: Define for
is
S § 5 6y ±H E ] 6y . % E &RC:6ìëf>?í 0 é Definition III.7: The truncation operator á 6_Z ³ for any function »cµ¦b@½¿¾ is defined as á 6_é Z ³ » 4 *J» 4 â ÈÊÉËX Ý ³ Z Ý îï äiå } ã y Ù 0 Theorem III.8: It is possible to calculate recursively the 3 state sum §,eª& j¹§² ?FZ ³ (Eq. (6)) as ©,e+& j¹G²7?FZ ³ 3 * Ù Ü éæ Z ³ 4 . where
Ü 6_é Z ³ 7 * Ó á 6_éé Z ³ 6 Ü 4é Ü 4 when %*A9 , and 3 when %¯&¢>¯?T¹T,X9 , á 6_Z ³"ç Ô Z ³ º Õ1Ý è . Ø 3 and D 6 *^,× , where ×ð&¢> ? . The only difference to Theorem III.5 is a tighter condition for links on route >? . This is implemented by the
new truncation operator, which guarantees simultaneously that the state is in the allowed state space, and that it is a non-blocking state.
5
·
C. Algorithm
Hñieª& j ¹G²7?¦Z ³¦ò
function
?FZ ³ , state
Hñieª& tj ò
To calculate the time blocking probability
sums and are needed. These are calculated as in the previous subsections. The algorithm is summarised as follows:
% µ* Ü Ý 4 6 Ü é 4 %ª&O>? _6 Z ³ %· Ü µ*MÝæ %4 u % $ ± ?FZ ³
1. Set . 2. Calculate for all from Theorem III.5. 3. If , calculate for all from Theorem III.8. 4. Set . If , jump to step 2. 5. Sum and divide it with the sum of to get . Note here that our link numbering ) guarantees that link probabilities for all links have already been calculated when calculation of the link probability of link starts. The complexity of the MAX-convolution algorithm is . For each MAX-convolution operation, two leaf links are removed, leaving one leaf link. The process stops when there is only one leaf link remaining (link ). That is, the number of MAX-convolution operations . equals the reduction of the number of leaf links, Each convolution step requires operating each value of the -element vector , where each element has possible values, yielding possible values. There are two such vectors involved, thus the number of steps is . The complexity of the algorithm is seen to be linear with respect to the number of leaf links . This is a significant improvement compared to the exponential complexity of the original problem.
D6/`a% E I¸% %FE4&fD6
%
d ¡ $
Definition III.10: Define truncation operator any function as
IV. C OMBINATORIAL
A
D. Background traffic So far we have treated a single multicast tree in isolation. When there are also unicast traffic and other multicast trees in the network, we need to use approximations to get efficient algorithms. The approximation used here groups all traffic except the interesting multicast tree as independent background traffic. The approach is similar to the one in [9], [14], but note that other multicast trees may also occupy the same links. To take the background traffic into account, we first calculate the link occupancy distribution in the link in the case there is only background multicast and unicast traffic. Then, the only remaining step is to redefine the truncation operators of the MAX-convolution algorithm to take background traffic into account: Definition III.9: Define truncation operator for any
ô_6 õÖ
áö 6Ý
for
ALGORITHM
It may happen that all channels in the network are statistically indistinguishable (as explained in section I). Thus, to describe the state of a link, it is not necessary to express the state of every individual channel separately (as in the previous section), but just to tell the number of channels on each layer . This results in a considerable reduction in the dimensionality of the state space, since typically . In this section, we develop an algorithm with polynomial complexity for this special case. First, assume that link has two downstream neighbour links, . The set of channels that are on layer on link is denoted by . These sets are point, . The set of wise disjoint, i.e. for all channels that are on layer on link is denoted by . These sets are also pointwise disjoint; for all , . We denote the intersections of these sets
, , , as
, and so on. For a two layer example, see Figure 2. The set of channels that are on layer on link is denoted by . Let , and correspondingly from to , from to , and from to . Let . Let , for all , . First consider the case where . Now, , and the conditional probability , where is a random variable of the number of channels on in link , is easily calculated from the following lemma. Lemma IV.1: Given three links , , and , such that , carrying multicast traffic with a single layer and statistically indistinguishable channels,
K
P
^þ
D6¯*ª,× .Ø 3 ×
± P ; L
ó
á ö 6_é Z ³
»'µFb@½¿ã ¾ å y Ù Ï Ý Ý éá ö 6 Z ³ » 4 * ÷ù } ÊÈú ÉË1 ³ Z îï ô 6 õÖ üý » 7 0 Íû
Ü éæ 4 Z³ scheme ( %FEN&
»cµ¦b@½¿¾ as ã å } ú Ù Ýá ö 6 » 4 ø * ÷ù _ô 6 õÖ üý » 4 0 Íû
CªÿëkC ÿ y * Q©BëfCO* Q ë C * oÿ P . Â * h .10101&c0X. Q P Ô ±. Õ *UP *
%
Qìÿ L P ¡ * PVE QÿëcØ Qìÿ y * P
Zs Q©BëfC * Z Q Z
Cªÿ P * VP E ëfCOG* Zs P % P \ .1Z 0101* 0. ¨ Z ¨ * §, £6\* c¨
PÏì* ¨ Q2¨ Î * ÏP .101010. P Ñ *
* 3 £6 % Ø % × . Ø 3 D6*N,× ! ÿ ! = ÿ . 3 Ô Õ §,t6T*©¨ *uP * * "# ! $ "# 0 $%#
The proof of this lemma can be found in [11], [15]. For the general case, we first give our notation for the multinomial coefficient:
&
~1 1~ ~ (é ' * £ ± éé é * y ) ,) + éé - é y ) 0 y B yB
6
0 5 PSfrag replacements
. 276/
043 0 /10 30 2
6 ÂÃ
of any link Lemma IV.4: The link probabilities in network can be calculated recursively as follows:
083
32 6 5 6 6 276 6
9:
L
@BA
ê
In the general case, there are possible intersections for the sets. Of these, however, are defined by the others. We choose the intersections as such:
Z
ÂÃ 6 ÂÃ * Ó À 6 Ô Õ ÁÂÃ if %&8 otherwise, a .Ø 3 . where Dd6 E *^,× Ø Proof: Consider then three links, % , × , and , such . Ø 3 that D6*^,× . ¢, Â 3 * Ä ©, Â ¨ Îa._Ñ 3 ¢, Î 3 ¢, Ñ 3 0 Å Â Î._Ñ 3 . Combining Lemma IV.2 gives the probability ©, ¨
this with Definition IV.3 yields one step in the recursion. Applying this recursively to the whole network yields the result. A. Denominator For this case, we define
! Z *uP ±