Multiple Sender Distributed Video Streaming Thinh Nguyen, Avideh Zakhor appears on “IEEE Transactions On Multimedia, vol. 6, no. 2, April, 2004”
Outline Introduction System Overview Rate Allocation Algorithm (RAA) Packet Partition Algorithm (PPA) Performance Evaluations Conclusions
Introduction Existing CDNs, like Akamai Receivers only receive streaming content from one sender only throughput of a single sender may not meet the streaming requirement Multiple streaming senders Effectively provide the require throughput by aggregating content from multiple sources Combats unpredictable congestion in Internet
System Overview Each sender estimates and sends its RTT to receiver Receiver uses the estimated RTTs and its own estimates of senders’ loss rates to calculate the optimal sending rate for each sender (RAA) and send control packets to senders Upon receiving the control packet, senders run a distributed PPA to determine which packets to send
System Overview Assumptions Bandwidth bottleneck is not at the last hop Amount of FEC in a streaming session is fixed CBR videos replicated in all senders Average packet loss rate over long term is independent of the instantaneous sending rate, i.e. packet loss only caused by cross traffic Packet loss between two routes are independent
Rate Allocation Algorithm (RAA) Goal To determine how to split the total rate S between M senders in order to minimize the probability of packet loss Intuitions Splitting routes reduce bursty loss FEC work better in non-busty environments Simultaneous packet lost on all routes is rare and, thus, allow FEC to recover packets on other routes
Rate Allocation Algorithm (RAA) Model packet loss as two states discrete Markov chain with transition probability matrix GoodBad P gg P gb P bb P bg
Rate Allocation Algorithm (RAA) Minimize subject to j out of N A + N B packets are lost more than N – K packets are lost
Rate Allocation Algorithm (RAA) The search complexity is The authors believe that “…from the implementation point of view, having more than then connections results in too large of an overhead, and makes the coordination of the senders too difficult for distributed streaming to be feasible in practice.” Not a big fan of our architecture
Packet Partition Algorithm (PPA) Goal To determine which packets should be sent by which senders in order to prevent duplicate packets and to minimize the startup delay In traditional P2P systems like Kazza Sender sends continuous block of data of length proportional to its sending rate As sending rate of individual sender is smaller than the playback rate, it incurs additional startup delay
Packet Partition Algorithm (PPA) PPA minimizes startup delay by ensuring interleaved packets arrival from multiple senders Control packets from receiver indicate Sending rate of each sender Estimated delay from each sender Sync, the starting sequence no. that all senders use in PPA
Packet Partition Algorithm (PPA) Estimated time difference between arrival and playback time of k th packet
Packet Partition Algorithm (PPA) All senders compute, for each packet k, for all senders The sender that maximizes is assigned to send k th packet, in order to maximize the probability of meeting playback deadline
Packet Partition Algorithm (PPA) Consideration of Sync, k’ Received packets are in order as much as possible Aggregate bit rate should remain constant during rate transition
Packet Partition Algorithm (PPA) k’ = min j ( k’’(j) ) k’’(j) is the estimated seq. no. for the latest packet sender j sent k’’(j) = k*(j) + 2D(j)S k*(j) is the seq. no. of the last packet received from sender j Sending rates have to be temporarily increase after receiving the control packets
Performance Evaluations Irrecoverable loss probability for various of FEC levels as a function of average bad times of route B, using optimal partition for two senders for (a) scenario X and (b) scenario Y. Bandwidth of each route > 800kbps, packet size = 500 bytes
Performance Evaluations Optimal partition for various FEC levels as a function of average bad times of route B for (a) scenario X and (b) scenario Y. N A denotes the number of packets per 30 sent on route A. N A – the optimal number of packets out of 30 that should be sent on route A More packets should be sent on route A if bad time of B increase The stronger the FEC, the more the packets should be sent on bad routes
Irrecoverable loss probability ratio of sending all packets using one sender to that of using two senders as a function of average bad times of route B for scenarios (a) X and (b) Y. Performance Evaluations Irrecoverable probably greatly improve if optimal rate allocation is used Optimal RAA is more effective with stronger FEC
Performance Evaluations (a) Irrecoverable probability as the function of different partitions of sending rate between two senders. (b) Irrecoverable loss probability ratios between sending all packets on route A over 50–50 and optimal rate splits. Stronger FEC curves are flatter at the minimum
Performance Evaluations Internet experiment packet loss is artificially induced according to the Markov chain model Average good time = 1s, bad time = 0.02s Packet loss probability: good = 0, bad = 1 RS(60, 46) Packet size = 500 bytes Required sending rate = 200 pkts/s (800kbps)
Internet simulations showing the number of lost packet per FEC block of 60 packets versus packet sequence for (a) streaming from Belgium alone; (b) streaming from Belgium and Sweden; (c) throughputs of two senders; (d) variations in order of the received packets Bad time change to 0.04s Adjust sending rate
Performance Evaluations Actual Internet experiment PlanetLab sites in Sweden and Hong Kong Packet size = 500 bytes Sending rate = 220 pkts/s Use hidden Markov model inference algorithm 1 on traces of packets to estimate network parameters 1 M. Jordan and C. Bishop, “An Introduction to Graphical Models,”
Performance Evaluations Irrecoverable loss reduces up to 10.2 times Average packet loss rate Sweden = 1.3%, Hong Kong = 1.8% Sweden’s loss pattern is more bursty Lower average packet loss rate is not a good indicator for sending packets at higher rate
Conclusion A receiver-driven protocol for simultaneous video streaming from multiple senders Increase tolerance to packet loss RAA determines the optimal sending in present of FEC protection PPA ensures no senders send the same packet and minimize startup delay
Final Thought When should a receiver decide to change the senders’ rate? The complexity of RAA is very high, and thus not scalable