Distributed Video Streaming over Internet
Upcoming SlideShare
Loading in...5
×
 

Distributed Video Streaming over Internet

on

  • 670 views

 

Statistics

Views

Total Views
670
Views on SlideShare
670
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Having multiple senders is also a diversification scheme in that it combats unpredictability of congestion in the Internet.
  • If the route between a particular sender and the receiver experiences congestion during streaming, the receiver can redistribute streaming rates among other senders, thus resulting in smooth video delivery.
  • That’s nothing to do with the multi-server video streaming
  • If there is congestion on a shared link between two senders, then changing the sending rate of one sender may affect the traffic conditions of the other one.
  • it is preferable to download the entire video in a non-real time fashion before playing it back. The focus is on the the limiting factor in streaming is packet loss and delay due to congestion along the streaming path, rather than the physical bandwidth limitations of the last hop.
  • the receiver coordinates transmissions from multiple senders based on the information received from the senders.
  • F(t) total number of loss packet
  • each sender i also satisfies the constraints in order to share bandwidth fairly with other TCP traffic. The algorithm minimizes F(t) , the number of lost packets during the interval ) , ( . + t t , given instantaneous feedback, and assuming that the estimated loss rate and TCP-friendly available bandwidth are accurate. The proof for this is included in the Appendix.
  • This is because it takes D(j) for the control packet to arrive ar the sender j N for the kth packet to be sent by sender j D for it arrive at the reeiver sigma
  • All the senders receive the same control packet from the receive Only use the information in the control packet to update the Ak All use the same equation to do so…r
  • To illustrate the algorithm, we show a simple example in which, there are two senders, each sending packets at equal rate. As shown in Figure 6, the Sync sequence number is 10. The top line with vertical bars denotes the playback time for the packets. The middle and the bottom lines indicate the time to send packets for senders 1 and 2, respectively. In this scenario, packet 10 will be sent by sender 1 since the estimated difference between playback and its receive time for packet 10 is greater than that of sender 2. Next, packet 11 will be sent by sender 2 for the same reason.
  • If n is as large as 0.1 then probability is 10-6
  • Cross/ circle.. Set11… So set 6
  • the loss rate of scenario two can be 2.5 times larger than that of scenario two. And always over 1 Next, we compare the mean squared error (MSE) of pixel values between the sent frame and the received frame. Since there quite a large number of frames, we further average the MSE for every video frame over a period of 5s. Higher MSE represents lower fidelity of the video due to lost packets. As shown in Figure 14, most of the time the MSE for scenario one lower than that of scenario two.
  • Finally, there has been work on detecting the shared congestion points of different routes [9] based on the correlation of packet loss and delay between routes. These correlations can be used ahead of time to improve the performance of our approach.

Distributed Video Streaming over Internet Distributed Video Streaming over Internet Presentation Transcript

  • 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
    • Many existing schemes assume a single fixed route between the receiver and the sender
  • Motivation
    • Make content available at multiple sources
      • Smooth video delivery
      • No single sender can support the required bit rate
  • Assumptions
    • Available bandwidth from all the senders to the receiver exceeds the required video bit rate.
    2Mbps 0.8Mbps 0.4Mbps
  • Assumptions
    • The routes from a client to the senders do not share the same congestion link
  • Assumptions
    • Broadband connection.
    • Last hop physical bandwidth limitation (dial-up modem) is of little use in this situation
  • 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
  • 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
    Protocol Receiver algorithm Sender algorithm
  • 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
  • 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
  • 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.
  • 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
  • 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
  • Packet Partition Algorithm
    • If the reference time Tk’, the estimated arrival time of the kth packet sent by sender j is n j,k σ (j)+2D(j)
    • n j,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
    • A k (j, k) = T k ’(k) – [ n j,k σ (j)+2D(j)]
    • T k ’(k) Playback time for kth packet with respect to Tk’
    • Time difference between arrival and playback time of kth packet
    • If A k (j, k) > 0, kth packet is on time, otherwise kth packet is late
    • Therefore, maximizeing A k (j, k) to minimize the probability that the kth packet is late
  • Packet Partition Algorithm
    • Only the sender who maximizes A k’ (j, k) will be assigned to send kth packet
      • Each sender computes A k’ (j, k) for each packet k for itself and all other senders
    • A k (j, k) = T k ’(k) – [ n j,k σ (j)+2D(j)]
      • D(j) in the D field
      • σ (j)=P/S(j) (P : packet size)
      • T k ’(k) not affect the value
  • Packet Partition Algorithm
    • Ak(j, k) = T k ’(k) – [n j,k σ (j)+2D(j)]
    • n j,k = 0 for all senders.
    • +1 after each sending data
  • 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 p 5n
    • If p is 0.1, then 2n RTT failure probability is 10 -6
  • Choice of Synchronization Sequence Number
    • Control packet arrival time varies between senders
    • A k (j, k) = T k’ (k) – [n j,k σ (j)+2D(j)]
    • Choose min. k’, resulting large buffer overhead
  • Simulation 20 γ 500bytes Packet size 100ms Ф 50ms Delay for sender 2 0.1*S(i) w 40ms Delay for sender 1
  • 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
  • Comparison
  • 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
  • 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