This leads to great control overhead in delivery network. ... as video conferencing and content delivery, in which members of multicast .... request's probability relation in total, or maximum total path relation weight in one edge, defined in (12).
Stability Oriented Multicast Algorithm Da Fenga, Weiqiang Sun, Yaohui Jin, Weisheng Hu, Wei Guo State Key Lab of Advanced Optical Communication System and Networks, Shanghai Jiao Tong University, 800 Dongchuan Road, Shanghai 200240, P.R.China a Student ABSTRACT Multicast model has taken traffic concentration, source-end delay, delay jitter into consideration, while some dynamic application like digital TV delivery poses a new challenge. Users can join/leave multicast group without any regularity. This leads to great control overhead in delivery network. This overhead comes from several aspects, like forwarding tree maintain, update, membership management. In this paper we designed an algorithm to find the optimized multicast tree to ensure stability of network. With this algorithm, we can smooth out effect of users’ random behavior, thus increase performance of the delivery network. Keywords: IPTV, multicast, routing algorithm, stable tree
1. INTRODUCTION Multicast is necessary for many applications due to reason that using multicast can greatly reduce bandwidth consumption in core network. Finding optimal multicast trees in networks or the multicast routing problem has received much attention in network research community. In proposed multicast routing algorithms, QoS is the main concern. The problem of finding a multicast tree that satisfies particular QoS requirements, such as end-to-end delay, jitter, packet loss and bandwidth, is usually called QoS-driven multicast routing problem [1]. The resultant tree of QoS-driven multicast routing is supposed to be static and does not change within lifetime of a multicast session. This can well meet the need of a large portion of multicast applications, such as video conferencing and content delivery, in which members of multicast application are usually static. On the other hand, with multicast applications such as IPTV, members of multicast groups (or channels) change with time quit often. Dynamic group membership management and tree construction can be achieved through the use of IGMP (or ICMPv6) and multicast routing information exchange between routers. Existing multicast routing protocol has taken scalability into consideration. For example, PIM (Protocol Independent Multicast) uses soft state and timeout mechanism to manage group membership dynamically [9]. CBT (Core Based Tree) and PIM-SM use a core router or a rendezvous point as a center to reduce routing overhead and concentrate traffic [10]. However, dynamics of calculated multicast trees under dynamic leaf behavior have not received much attention so far. In the case of IPTV, a considerable number of TV programs or channels are streamed through trees rooted at channel source (or usually termed as head-ends) and delivered to home users using IP multicast technology. There is one-to-one mapping between IP multicast groups and available TV channels. When users switch to or away from a channel, corresponding multicast tree may change. This can be further explained in the following figure. Fig. 1 shows a possible multicast tree of a TV channel. The multicast tree originates from a head end. Each branch traverses one or more multicast routers and terminates on one access device, which may be either a multicast router or multicast capable layer 2 switches. The access devices act as leaves of the multicast tree. Multicast data will be replicated on access device and sent to user access lines. If one user among a-e leaves this channel, no state change will happen except on related access device. However, if user f leaves the channel, branch B-D-4 will be pruned from the original tree. And if some other user comes up later under access device 4 for this channel, this branch again has to be grafted.
B A
C
6
5
h
D 1
2 4
g a
b
c
d
e
f
Head-end 3
B
Multicast Access Device
g
Multicast Router User
A service group (SG) consists of an access device and a number of users
Fig.1 an example multicast tree
Since setup/grafting and deletion/pruning process will cause significant change in network states, such as link resource utilization, group membership and tree topology, it is desirable to investigate how dynamic behavior of users will affect network states. It is also worthwhile to minimize state change to make the network more stable and to reduce control message overhead. The problem of finding stable multicast trees under dynamic user behavior will be called stable tree construction problem, or STC problem. It is worth noting that STC problem in connection-oriented networks such as multicast enabled MPLS networks has similar importance, since changing a tree in such networks will trigger signaling procedures [11]. Throughout this paper, we will treat STC problem in its general form and the analysis/method used can be applied to multicasting in both connectionless IP networks and connection oriented networks. The rest of the paper is organized as follows. We briefly review works related to stability of multicast tree in part 2. We will give the proposed problem formulation in part 3, part 4 gives a formal theoretical analyze of the algorithm, part 5 is a numeric simulation, part 6 analyze the simulation result, part 7 concludes the paper.
2. RELATED WORKS The approach of estimating stability of multicast tree has been explored in [2], [3], [4]. The author proposed statistical method to investigate stability of multicast tree under congestion. All of their discussion is based on an assumption that users under one congested link will leave multicast tree. Users’ normal leaving/adding request, which propose a challenge to TV multicast may not be limited to a group under a single link, this can happen in several independent service groups simultaneously. Performance of different multicast routing algorithms is evaluated in [5], and the author presents a metric for these algorithms, network resource usage. Network resource usage can be used to minimize copied packet delivered in network. In fact the fewer hops the copied packets travel in total, the more stable the tree is, which is the result of shorter separate branches. But stability doesn’t equals to total length of tree. It needs specific consideration. In [8], the author discussed DST (dynamic algorithm for Steiner tree problem). DST tries to construct multicast trees for request series as much as possible. There are two kinds of the algorithm, divided by whether existing trees can be modified. Request can be add or delete. The algorithm tries to accommodate add requests as much as possible. It doesn’t take stability into consideration. Add and delete may cause the length and structure of tree change significantly. In [7], the authors considered situation in which only one node leaves the tree. Then expectation of tree branches pruned is dynamics of the tree. The author makes use of special random graph’s property to obtain a formula. He compared different algorithm’s stability performance, and didn’t consider the reverse. How can leaving made to affect fewer branches? Also leaving may not be confined to one. To compare performance of different algorithms, we need to enable batch leaving.
In [6] the author proposed an algorithm to predict users’ preference toward a program. The algorithm consists of a communal decision part and an individual decision part. Communal part can be easily made to estimate a service group’s leaving probability.
3. PROBLEM FORMULATION Given a graph G (V, E, W), in which V is the set of vertexes, and E is the set of edges, W is the set of weights of edges. Given multicast request R (s, D, P), in which s is the source and D = {d1, d2,…, dn} is the destination set, P = {p1, p2,…, pn} describes leaving probability of each destination. All trees in G connecting s and D forms tree set {Ui}. Stability function defined for each tree is F(t,P). t belongs to {Ui}. F(t,P) describes edge loss of tree t under user’s leaving request. User’s leaving request’s accuring probability in a unit time interval in average conforms to P. STC problem is defined: find Ui, such that min F(Ui,P) is obtained. Edges’ relation set decides edge loss. Relation set means subset of paths connecting source and destination contained in one edge. If a subset of paths is put into an edge, then some of paths’ deletion will not cause edge to be deleted. If possible some low leaving probability path must be assigned to each edge in tree, to avoid only high leaving probability paths to combine. Normal edge weight doesn’t directly affect our algorithm, presently they are ignored, while edge relation weight and path relation weight will be defined to facilitate discussion. Path relation weight is a measure of contribution of paths’ coexistence in an edge to the stability of multicast tree. Edge relation weight is difference between actual total path relations weight of paths contained in edge and total path relation weight of paths if all paths are present in one edge. Path relation weight is different from edge relation weight, and this is further discussed in section 4.
4. THE PROPOSED ALGORITHM 4.1 Algorithm The following describes our algorithm. Bij represents whether edge between ij is in tree Um. Aij(k) represents whether edge ij in tree Um is in path from source s to destination dk for all k=1,..n. n is request’s destination number. i,j is topology matrix’s index. S(x) is heaviside function, which is realized through Boolean function here, that is to say, S(x)=(x>0). Lkl is path relation weight, represents path k and l’s probability relation, defined in (11). If path k and l coexist in one edge, its contribution is described with Lkl. N is request’s probability relation in total, or maximum total path relation weight in one edge, defined in (12). N contributes to edge relation weight of any tree edge, and each edge will try to minimize edge relation weight by containing more paths. This will be further explained in part 4.2. Object function (1) is minimized to achieve our goal because length of tree should be minimized at the same time. If maximize is used, paths may try to occupy more edges to obtain larger value. Paths should be assigned to tree edges as compact as possible. C is a constant to adjust topology of the solution. Larger C in N will put more emphasis on length of tree. From (2) to (4) are general constraints for Aij(k) and Bij, (5) to (8) are constraints for Bij, and (9) to (10) are constraints for Aij(k). Minimize n
N × ∑ Bij − ∑ ( ∑ Aij( k ) × Aij(l ) × Lkl )
(1)
Aij( k ) , Bij ∈ {0,1}
(2)
ij
ij
k ,l =1
Such That
n
∀i, j , k , the Aii( k ) = 0, Bii = 0 , Aij( k ) = A(jik ) , Bij = B ji , Aij( k ) ≤ Bij , Bij ≤ ∑ Aij( k )
(3)
k =1
Bij ≤ Tij , Tij is given topology
(4)
In (2), solution Aij(k) and Bij are assumed to be simple graph. Aij(k) describe state of paths from source to each leaf, and Bij describe state of multicast tree. Aij(k) represent whether edge ij contains path k. Bij represent whether edge ij is in the tree.
In (3), the condition maintains that there is no loop, and unidirectional, all paths from source s to destination k, is part of the tree. In (4), topology constraints are represented.
∑ S (∑ B ) = (∑∑ B ) / 2 + 1
(5)
∑B
= 1, i ∈ {d1 , d 2 ,..d n }
(6)
∑B
> 0,
(7)
∑B
− 2 × S (∑ Bij ) ≥ 0, i ∈ V − {s, d1 , d 2 , d3 ,..d n }
ij
i
ij
j
ij
i
j
j
sj
j
ij
j
(8)
j
In (5), the condition maintains that given matrix represents a tree (|E|=|V|-1). And this condition is eligible in connective graph. We will discuss this constraint immediately in part 4.2. In (6), only destinations have degree 1. If destinations can be an intermediate node, this relation can be realized through extending the node with a single link. That is to say add a link and connect a new node to destination, new node represent original destination. Since this operation only add a fix node and fixed link for each tree, this will only add a constant in optimization goal, so it has no impact on the result, also no additional procedures is needed. In (7), source must be in the tree. In (8), if the node other than source and destination is in the tree, it must have degree larger than 2. This requires that intermediate nodes have degree larger than 2. For any k ∈ {1, 2,...n} , the following must satisfy:
∑A
− 2 × S (∑ Aij( k ) ) = 0, i ∈ V − {s, d k }
(9)
∑A
= 1, i ∈ {s, d k }
(10)
(k ) ij
j
j
(k ) ij
j
L = max( p , p ) / min( p , p ) kl k l k l
(11)
N = ∑ Lij + C
(12)
ij
In (9), for each intermediate node in path from source to destination dk, degree must be 2. so it is a path, not a tree. In (10), source and destination in the path must have degree 1. 4.2 Object function discussion (1) was choosen as implementation of F(t,P) because each edge in tree should contain more paths, while at the same time large leaving probability leaves should combine with small leaving probability leaves. The two goals can be stated as this: Denote path from leaf A to source as a, and denote path from leaf B to source as b. Then if a and b coexist on edge n, relation is denoted as aRnb. So let tree have T edges. The relation set can be expressed as {iRkj}, which means path i and path j coexist on edge k. Also if a,b,c all exist on edge n, the relation can be decomposed to aRnb,aRnc,bRnc. Property of relation is aRnb => bRna; (aRnb, bRnc) => aRnc and aRna always exists. There is no obvious relation between Rn and Rn-1. The whole relation set can describe stability of tree. Small leaving probability nodes should combine with large leaving probability nodes. Then we weight the relations. Denote weight for path a and b by f(a,b). This function only has two parameters, and should be increase to difference between pA and pB. Thus max(pA,pB)/min(pA,pB) is suitable. The relation can be described by existence of Aij(k), if Aij(k)×Aij(m)=1, then kRijm=1. In (1), relation between path and itself always exists. Edge relations of tree should also be weighted. N is used to represent upper bound of total path relation weight of edge, and then subtract actual path relation weight from upper bound. The more relations an edge contains, the smaller
its weight will be. Also weight is decided by topology, it is not constant. Once topology change, edge relation weight will change. Constant C in (12) is used to optimize total source-end delay as well as eliminates loops.
5. SIMULATION RESULT 5.1 Multicast routing Using this algorithm, trees are constructed for the same request for different pis. {pi} is generated using Normal distribution N(µ,δ) with mean u, and variance δ. Topology is NSFCNET plus some leaves {15,16,17,18}. Number of nodes =18. Request nodes= {3,15,16,18,17}; source is node 3, the latter are leaves. C = 0.5, which is used to control balance between stability and length of tree. Following is routing result: Table.1 simulation setup and result
Leaving probability [0.56008,0.10219,0.64867,0.98067] [0.89468,0.8688,0.15666, 0.13503] [0.72285,0.12451,0.84195,0.22674] [0.96803,0.99594,0.19717,0.38455] [0.94211,0.11928,0.25024,0.64531] [0.59411,0.90337,0.13901,0.11185] [0.24405,0.22958,0.97264,0.54979] [0.62842,0.57741,0.11861,0.96497]
µ 0.5729 0.51379 0.47901 0.63642 0.48924 0.43709 0.49901 0.57235
δ 0.36228 0.42509 0.35613 0.40645 0.3757 0.38153 0.34857 0.34795
route Fig.4 b) Fig.4 b) Fig.4 a) Fig.4 a) Fig.4 b) Fig.4 a) Fig.4 a) Fig.4 a)
3 18
12
15
4
13 9
2
5
8 6
5
3
1 10
2 14
7 4
14
17
18
11
16
12
7
15
Fig.2 NSFC-like Topology
16
17
Fig.3 MST
3 3
2 5 12 13
4 14
7
13
14
7
12 15
16
17
18
a) Route (I)
4
16
2 15
17
18
b) Route (II) Fig.4 Routing results
5.2 Performance evaluation Our algorithm is compared with minimum spanning tree approach. Leaves are randomly picked out according to their leaving probability, and then delete request is send. So at one time several nodes can request to leave. The same request
is applied to two trees simultaneously, branch loss of tree is compared, and their ratio is calculated. This is done T times, and get average. Also sample path during simulation is recorded. Result is shown as following:
1.2
1.2
1.1
1.1
1.0
1.0
0.9
0.9 0.8
0.8
0.7
C,mean D,variance E,rate
0.6 0.5
value
value
0.7
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.0 0.40
0.45
0.50
0.55
0.60
0.65
0.0 0.34
0.35
0.36
0.37
0.38
0.39
0.40
0.41
0.42
0.43
delta
mean
a) Different mean
C,mean D,variance E,rate
0.6
b) Different variance Fig.5 simulation result for different routes
1.6 1.5 1.4
A,u=0.57235,delta=0.34795 B,u=0.57235,delta=0.34795 C,u=0.57235,delta=0.34795 D,u=0.5729,delta=0.36228 E,u=0.5729,delta=0.36228
1.3 1.2 1.1
ratio
1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 1
2
3
request seires
Fig.6 Sample path
6. RESULT ANALYZE In Fig.4 two trees are present. With different leaving probability as input, optimized route is different. In Fig.3 ,Fig.4 a),b) delay-bound of tree is 4,6,8. Delay-bound shows difference, which may not be important for IPTV. During simulation, when request is applied to two different trees, as can be seen from the Fig.6, there are different sample paths for edge loss ratio. y axis of sample path means ratio of edge loss of our tree to MST. Under most of request, loss of our tree is smaller. For example, in Fig.3 and Fig.4 b), if node 18 left, loss in Fig.4 b) is 1, and in Fig.3 is 3. So if probability of 18’s LP is large, this node must be considered seriously. Combination of nodes also plays an important part. In Fig 4 a), b), nodes 16 and 17 always connect together, that is to say they together will be more stable. Fig.5 is result for all {pi}. The number of spanning tree of a complete graph is nn-2. According to our result, if request is set to be all of the rest nodes except source, the algorithm equals to find a most stable spanning tree.
7. CONCLUSION Since former works has addressed problem of stability of different multicast delivery trees, we set out to solve the problem of stability of multicast tree by design an algorithm to make the tree insensible to the graft /prune operation. This algorithm tries to match leaving probability of leaves to form a stable multicast tree which has a property that when leaves require leaving, expected tree link loss would be minimized. The constructed tree will contain as much path in one link as possible, as this will make prune of the link requiring more coordinate user behavior, which is rare according to users’ random behavior. Thus turbulent behavior of users in IPTV delivery network can be smoothed. Seen from another aspect, if the television channels are send out to user groups in batches, and paths without users can’t be deleted, then our algorithm equals to find the most economic multicast tree under users’ random behavior. The wasted multicast tree resources such as line bandwidth and regenerators can be minimized.
8. ACKONWLEDGEMENT This work is supported by china 863 project under grant No. 2002AA103011-16 and 2005AA122320 and NSFC under grant No. 60502004.
REFERENCE 1. Bin Wang and Hou, J.C, Multicast routing and its QoS extension: problems, algorithms, and protocols, IEEE Network, Vol.14, issue 1, 2000. 2. Baitao Long; Lifeng Sun; Wenping Chen, Yuzhuo Zhong, Improving the Stability of Spanning Trees for Application-layer Multicast. Computers and Communications, 2004. Proceedings. ISCC 2004. Ninth International Symposium on .Volume 2, 28 June-1 July 2004 Page(s):1071 - 1076 Vol.2 3. Feng Shi; Jianping Wu; Ke Xu, Stability of a multicast tree in cumulative layered multicast congestion control. Performance, Computing, and Communications Conference, 2003. Conference Proceedings of the 2003 IEEE International 9-11 April 2003 Page(s):487 - 492 4. Shi, F.; Wu, J.; Xu, K, Impact of congestion on the stability of a multicast tree in cumulative layered multicast , Communications, IEE Proceedings-Volume 150, Issue 5, 14 Oct. 2003 Page(s):371-6 5. Billhartz, T.; Cain, J.B.; Farrey-Goudreau, E.; Fieg, D.; Batsell, S.G., Performance and resource cost comparisons for the CBT and PIM multicast routing protocols, Selected Areas in Communications, IEEE Journal on, Volume 15, Issue 3, April 1997 Page(s):304 - 315 6. Yamamoto, N.; Saito, M.; Miyazaki, M.; Koike, H., Recommendation algorithm focused on individual viewpoints, Consumer Communications and Networking Conference, 2005. CCNC. 2005 Second IEEE, 3-6 Jan. 2005 Page(s):65 70 7. Van Mieghem, P.; Janic, M., Stability of a multicast tree. infocom 2002. Page(s): 1099- 1108 vol.2 8. Waxman, B.M., Routing of multipoint connections, Selected Areas in Communications, IEEE Journal on, Volume 6, Issue 9, Dec. 1988 Page(s):1617 – 1622 9. Deering, S.; Estrin, D.L.; Farinacci, D.; Jacobson, V.; Ching-Gung Liu; Liming Wei, The PIM architecture for widearea multicast routing, Networking, IEEE/ACM Transactions on, Volume 4, Issue 2, April 1996 Page(s):153 – 162 10. T. Ballardie, P. Francis, and J. Crowcroft, Core Based Tree (CBT): An Architecture for Scalable Multicast Routing, in Proceedings of the ACM Sigcomm, San Francisco, USA, Sept. 1995, pp. 88--95. 11. Weiqiang Sun; Yaohui Jin; Weisheng Hu; Hao He; Xuan Luo; Peigang Hu; Wei Guo; Yikai Su; Lufeng Leng; Prototype demonstration of IP multicasting over optical networks with dynamic point-to-multipoint configuration, Optical Fiber Communication Conference, 2005. Technical Digest. OFC/NFOEC, Volume 3, 6-11 March 2005 Page(s):3 pp. Vol. 3