300 likes | 460 Views
Multiple Sender Distributed Video Streaming. Nguyen, Zakhor IEEE Transactions on Multimedia April 2004. Agenda. Motivation Proposed Approach Rate Allocation Algorithm Packet Partition Algorithm Experimental Results Conclusion. Motivation.
E N D
Multiple Sender Distributed Video Streaming Nguyen, Zakhor IEEE Transactions on Multimedia April 2004
Agenda • Motivation • Proposed Approach • Rate Allocation Algorithm • Packet Partition Algorithm • Experimental Results • Conclusion
Motivation • Addresses the problem of video streaming over best effort, packet-switched networks. • Streaming of video requires high bit rates. • Packet loss and delay due to network congestion.
Aim of the proposed approach • Increase throughput in order to meet the high bit rate demands. • Reduce the probability of packet loss.
Proposed approach • Simultaneous video streaming from multiple senders to a single receiver. • Employs a receiver driven protocol • The distributed streaming protocol consists of a Rate Allocation Algorithm (RAA) and a Packet Partition Algorithm (PPA)
Assumption • The bandwidth bottleneck is not at the last hop.
Rate Allocation Algorithm (RAA) • Run at the receiver. • Determines the optimal sending rate for each sender. • Uses information about available network bandwidth, channel characteristics. • Receiver can also redistribute rates among existing senders.
Packet Partition Algorithm (PPA) • Run at the senders. • Ensures that every packet is sent by one and only one sender.
RAA : A closer look • Goal of RAA is to “determine how to split the total video rate among M senders in order to minimize the probability of packet loss.” • Used in conjunction with Forward Error Correction (FEC).
FEC • Used at the receiver side for recovering lost packets. • A FEC block consists of a number of packets. • N packets in a block, K data packets, N-K redundant packets. • For recovery, any K packets in a block must be received.
RAA (contd.) • RAA used with FEC reduces packet loss as compared to single route streaming.
RAA (contd.) • Notations: N : Total no. of packets in FEC block K: No. of data packets in FEC block NA : Number of packets sent by sender A in a FEC block NB : Number of packets sent by sender B in a FEC block
Rate Allocation Formula • We seek to minimize the probability of irrecoverable loss given by NA + NB j C(K,N0,N1)= ∑ ∑ P(A,i, NA)P(B,j-i,NB) j =N–K+1 i=0
Packet Partition Algorithm (PPA) • Goal of the PPA is to “determine which packets should be sent by which senders in order to prevent duplicate packets and minimize start up delay.”
Minimization of start-up delay in PPA • In Kazaa, senders send contiguous blocks of data. Duplication of packets cannot occur. • In PPA, senders send interleaved packets. Reduces start-up delay, but packets may be duplicated.
Avoiding Packet Duplication in PPA • Each sender independently arrives at the same decision as to which packet to send next. • All senders use the same information to choose the next packet to send. • This information is sent to all senders by the receiver.
How PPA works • The receiver sends identical control packets to all senders. • The control packet contains RTT of all senders. Sending rate for all senders. Starting sequence number.
How PPA works (contd.) • Each of the senders uses the information in the control packet to compute the estimated arrival time for packet k • The time difference between the arrival and playback time of packet k is then computed. • The sender that maximizes this time difference is chosen to send packet k
Irrecoverable loss probability for various FEC levels as a function of bad times
Optimal sending rate for route A as a function of bad times for route B
Irrecoverable loss probability ratio as a function of average bad time of route B
Irrecoverable probability as a function of sending rate of sender A
Conclusion • Inaccuracy in parameter estimation can skew the results. • Cannot protect against packet loss in case of coinciding congestion intervals on different routes.