Multicast congestion control on many-to- many videoconferencing Xuan Zhang Network Research Center Tsinghua University, China
Outline Introduction Packets transmission model in multicast based many- to-many videoconference End-to-end packet loss rate measurement and aggregation Locate congestion link via tomography method Congestion control via adjusting senders bit rates Simulation and experiment Conclusions
1 Introduction Motivation Application background Many-to-many videoconferencing is N-to-N application which consumes large bandwidth; Multicast is an efficient technology for many-to-many videoconferencing for it could save bandwidth.( Fig.1 ) Problems? However, network congestion would cause serious end-to-end packets loss and delay which would debase the quality of videoconferencing. Goals ? Propose a valid and efficient multicast congestion control scheme for many-to-many videoconference.
Fig.1 The multicast-based many-to-many videoconferencing on CERNET
Introduction (2) Overview of the scheme Judge the congestion Judge the congestion via end-to-end packet loss rate (PLR) measurement Locate the congestion links Locate the congestion links (bottleneck links) on shared multicast tree via tomography method based on packets transmission model and end-to-end PLR. Congestion control via adjusting senders bit rate. Adjust the sending bit rate of senders which effect the congestion links to achieve sender-fairness.
2 Packets transmission model in multicast based many-to- many videoconference 2.1 Packets transmission model on one path In one path with r links, Suppose link i drops packets with probability p(i), then the successful probability of packets transmission in the path could be presented with link packet loss rate p(i) as following (1) Linear expression with logarithm (2)
2.1 Packets transmission model on one path (example) The packets transmission model on one path (A,C) Its linear expression: 1 8 A B C 3 6 4
2.2 Packet transmission model on N-to-N multicast based videoconferencing The shared multicast tree and shared links. In many-to-many videoconferencing, all users share one session, the router would process their packets by using same strategy and same priority. That is said, all the media data packets from the senders in one multicast session have the same packet loss rate p(i) at link i. The transmission model In N-to-N videoconferencing, there are r= N*(N-1) paths, we could get r linear equation of formula (2). Let p(path,k) be the end-to-end PLR of jth path, vector b be a column vector with elements b(k)= log(1-p(path,k)). The r equations of form (2) could be expressed as linear equations with matrix G ( r*s ), which is the transmission model: G *x = b (3)
2.2 Packet transmission model on N-to-N multicast based videoconferencing (2) Gx = b (packets transmission model for N-to-N mulitcast G: Row vector of matrix G corresponding path vector: G(k,i) 1 means link i on path k (Figure) x: x(i)=log(1-p(i)) for link i b(k) End-to-end PLR (packets loss rate) of one path b(k)= log(1- p(path,k) ) 1 8 A B C 3 6 4
3 End-to-end packet loss rate measurement and aggregation -- b(k) One End-to-end PLR of path(k) measurement Aggregate all N*(N-1) PLR to get b PLR(x,t,ssrc) is one PLR from sender ssrc to receiver x. In a multicast group with N users, each receiver could get N-1 PLR We build a performance server to collect and aggregate all r = N*(N-1) PLR from N users to get b b(k)= log(1- p(path,k) ), k =1,2,3 …, r
4 Locate congestion link via tomography method (1) Judge congestion and locate bottleneck links via tomography method Congestion judging: If end-to-end PLR of path(k): b(k) is larger than one threshold, we could judge congestion occurred on path(k). Locate the bottleneck link via tomography method: We could judge if link i is congested according to x(i) values. x(i) could be gained via solving G*x= b (packets transmission model) in which G and b have been known or measured beforehand. We call these method as tomography method. Two method to get x(i) while solve G*x=b : Solve the linear equations of G*x = b directly when rank(G) = r, Adopt Good path method to simplify G when G is rank deficient (rank (G) < s )
4 Locate congestion link via tomography method (2) Good path method In practice, we find most paths more than 50% paths in Internet have no loss or have only very low loss rate, we got it from our experiments. We know if the path loss rate is zero, all the link and logical links in the path are zero loss. We call this path with zero loss rate as zero loss path or good path, and we could remove zero loss links from matrix G to get simplified sub-matrix G, and links number s < s until rank(G) = s. So we could locate the bottleneck link by solving Gx = b via good path methodology.
4 Locate congestion link via tomography method (3) Good path method example: If PLR(C,D) and PLR(B,A) is zero, then link 8,9,5,2 is good link with zero loss rate and column 8,9,5,2 could be removed from G matrix If path(C,A) is congested with PLR(C,A) is larger than threshold ; link 7 could be identified as the bottleneck link 1 8 A B C D 9 10
5 Congestion control via adjusting senders bit rates Determine the senders whose rate should be adjusted We could determine the congestion paths and corresponding senders related to the bottleneck link from matrix G. when link i is a bottleneck link, all paths whose row vectors at ith elements equal to 1 belongs to the congestion paths related to link i. We should adjust sending rate of related senders to reduce the traffic load on link j to achieve sender-fairness. Determine acceptable sending rate and adjust the senders bit rates fairly Calculation the adjusting ratio of sending bit rate. ratio = Throughput (e, path))/ Rate(O,sender) : ratio means the sending rate should be adjusted from origin rate to acceptable rate with ratio percentage of origin rate: All the senders who affect the same bottleneck link should be adjusted with the same adjusting ratio to achieve the sender- fairness
6 Simulation and experiments Simulation setup RED queues are used at the routers for intra-protocol fairness. PIM-DM is deployed for multicast routing. UDP data and CBR traffic type is adopted to simulate videoconferencing Simulation process without congestion control At beginning user A, D and E join the group and send traffic with primal rate, After 5 seconds, user B joins the multicast group and start traffic sending. After 10 seconds user C joins and start traffic sending. After 25 seconds, all users leave the group and stop sending, simulation ends 1 11 A(0.7Mbps) B(0.8Mbps) 3 8(1.3Mb) 2 E(0.4Mbps) 7(1.2Mb) 4 12 D(0.7Mbps) K H C(0.5Mbps)
6 Simulation and experiments (2) Left: Prim congestion with end-to-end packet loss; Right: Packet loss rate drop to zero via congestion control method At 15th seconds, A and B which affect bottleneck link 6 are adjusted from 1.2Mbps and 0.8Mbps to 0.9Mbps and 0.6Mbps with the same ratio At 18th second, the sending rates of A, B are adjusted to 0.72Mbps and 0.48Mbps, and C, E are both adjusted to 0.375Mbps.
6 Simulation and experiment -- Experiment on CERNET-MVC
7 Conclusion Congestion control is important for the quality many- to-many videoconferencing based on multicast. The congestion link could be located via tomography method, which based on multicast packets transmission model and end-to-end PLR measurement By adjusting the senders sending bit rate who affect on the bottleneck links, the multicast congestion control on many-to-many videoconferencing could be realized with sender-fairness. Simulation and experiments shows the congestion control scheme is valid.
Thanks!