1 / 24

Distributed Video Streaming Over Internet

Distributed Video Streaming Over Internet. Thinh PQ Nguyen and Avideh Zakhor Berkeley, CA, USA Presented By Sam. Agenda. Motivations Assumptions System overview Protocol Rate allocation algorithm Packet partition algorithm Simulations Comments Conclusion. Motivation.

lamont
Download Presentation

Distributed Video Streaming Over Internet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Video Streaming Over Internet Thinh PQ Nguyen and Avideh Zakhor Berkeley, CA, USA Presented By Sam

  2. Agenda • Motivations • Assumptions • System overview • Protocol • Rate allocation algorithm • Packet partition algorithm • Simulations • Comments • Conclusion

  3. Motivation • Many existing schemes assume a single fixed route between the receiver and the sender

  4. Motivation • Make content available at multiple sources • Smooth video delivery • No single sender can support the required bit rate

  5. Assumptions • Available bandwidth from all the senders to the receiver exceeds the required video bit rate. 0.4Mbps 0.8Mbps 2Mbps

  6. Assumptions • The routes from a client to the senders do not share the same congestion link

  7. Assumptions • Broadband connection. Last hop physical bandwidth limitation (dial-up modem) is of little use in this situation

  8. Contributions Overview • Protocol that allows simultaneous streaming of video from multiple mirror sites to a single client, with smooth sending rates so as to reduce jitter • An algorithm that runs on the receiver to specify the sending rate for each sender in order to minimize the total loss rate • A distributed algorithm that runs on each sender to partition packets so as to minimize the probability of packet arriving late

  9. Protocol Receiver algorithm Sender algorithm Scenario • Receiver-driven • Each sender estimates and sends its round trip time to the receiver • Receiver receive it and estimates sender’s loss rates for each sender. • Based on 2 factors, receiver calculates and decide each sender’s sending rates • Receiver sends an identical control packet to each sender. • Sender will determine the next packet to be sent based on the control packet

  10. Bandwidth Estimation • TCP Friendly rate control algorithm (TFRC) B : The current available TCP-friendly bandwidth between each sender and the receiver (Upper bound for the TCP-friendly sending rate) Trto : TCP timeout R : estimated round-trip time in seconds (using moving average of RRT over a fixed interval) P : estimated loss rate (number of lost packets / total number of packets sedting over a fixed interval) S : TCP segment size in bytes

  11. Rate Allocation Algorithm • Receiver computes the optimal sending rate for each sender based on its loss rate and estimated available bandwidth. During the interval (t, t + ∆) F(t) total number of loss packet L(I, t) estimated loss rates S(I, t) estimated sending rates Sreq(t) is the required bit rate for the encoded video B(I, t) TCP-friendly estimated bandwidth

  12. Rate Allocation Algorithm • Sort the senders according to their estimated loss rates from lowest to highest. • Assign each sender its available bandwidth, beginning with the ones with lowest loss rates and moving to the ones with higher loss rates, until the sum of their available bandwidths exceeds the bit rate of the encoded video.

  13. Systolic window • If B(I, t) changes rapidly, S(I, t) needs to be recomputed more frequently, and more control packets have to be sent from the receiver to all the senders, resulting in inefficiencies. Systolic Window • Periodic compute B(I, t) in a fixed interval Ф • If B(I, t) > S(I, t) + w, count + 1 • If B(I, t) < S(I, t) - w, count – 1, otherwise count remains • If count > γOR count < -γ, rate allocation algorithm is run

  14. Packet Partition Algorithm • Each Sender receive control packet from the receiver through a reliable protocol in the following format: • Assume 5 Senders and entire copies are resided in each senders • Dx : Estimated delay from sender x to receiver (1 byte field) • Sx : Sending rate in packets/second for sender x (2 bytes field) • Sync : Sequence number that determines the next packet to send

  15. Packet Partition Algorithm • If the reference time Tk’, the estimated arrival time of the kth packet sent by sender j is nj,kσ(j)+2D(j) nj,k : Number of packets already sent since k’ to packet k σ(j): Sending interval between packets for sender j D(j) : Estimated delay from the sender j to the receiver • Ak(j, k) = Tk’(k) – [nj,kσ(j)+2D(j)] Tk’(k) Playback time for kth packet with respect to Tk’ Time difference between arrival and playback time of kth packet If Ak(j, k) > 0, kth packet is on time, otherwise kth packet is late Therefore, maximizeing Ak(j, k) to minimize the probability that the kth packet is late

  16. Packet Partition Algorithm • Only the sender who maximizes Ak’(j, k) will be assigned to send kth packet • Each sender computes Ak’(j, k) for each packet k for itself and all other senders Ak(j, k) = Tk’(k) – [nj,kσ(j)+2D(j)] • D(j) in the D field • σ(j)=P/S(j) (P : packet size) • Tk’(k) not affect the value

  17. Packet Partition Algorithm Ak(j, k) = Tk’(k) – [nj,kσ(j)+2D(j)] • nj,k = 0 for all senders. • +1 after each sending data

  18. Packet Partition Algorithm • Synchronization problem occurs when control packet is late/loss Solution • 5 identical control packets are sent each time • If none of the control packets is acknowledged with 2 RTT from a particular sender, another 5 identical control packets are sent until acknowledged • Probability that sender does not receive in 2n RTT is p5n • If p is 0.1, then 2n RTT failure probability is 10-6

  19. Choice of Synchronization Sequence Number • Control packet arrival time varies between senders • Ak(j, k) = Tk’(k) – [nj,kσ(j)+2D(j)] • Choose min. k’, resulting large buffer overhead

  20. Simulation

  21. Simulations T = 0 to 2s. Starts sending control packets T = 25s, senders send using the algorithms T = 200s, 25 of 100 TCP sources from 1 stop sending T = 400s, 10 new TCP sources start and stop at random

  22. Comparison

  23. Comments • Simple/Good flow for distributed video streaming • Further work should be done to tackle the assumption • Not involve scheduling • Large buffer overhead in the receiver

  24. Conclusion • Framework for Simultaneously streaming video from multiple senders to a single receiver • Using TCP-friendly protocol • Propose a new protocol, rate allocation algorithm and packet partition algorithm

More Related