20
Multiple Sender Multiple Sender Distributed Video Distributed Video Streaming Streaming Thinh Nguyen (IEEE Membe Thinh Nguyen (IEEE Membe r) r) Avideh Zakhor (IEEE Fello Avideh Zakhor (IEEE Fello w) w) IEEE Transactions on multimedia 2004

Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Multiple Sender Multiple Sender Distributed Video Distributed Video StreamingStreaming

Thinh Nguyen (IEEE Member)Thinh Nguyen (IEEE Member)Avideh Zakhor (IEEE Fellow)Avideh Zakhor (IEEE Fellow)

IEEE Transactions on multimedia 2004

Page 2: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

OutlineOutline

IntroductionIntroduction System OverviewSystem Overview Rate Allocation AlgorithmRate Allocation Algorithm Packet Partition AlgorithmPacket Partition Algorithm Simulation And ExperimentSimulation And Experiment Future work and ConclusionFuture work and Conclusion

Page 3: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

IntroductionIntroductionTraditional video streamingTraditional video streaming

Sender

Video Stream

One to many architecture

Receiver

Page 4: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

IntroductionIntroductionDistributed video streamingDistributed video streaming

Many to one architecture

Sender

Receiver

Packet

Packet

Page 5: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

IntroductionIntroductionProposedProposed Distributed video Distributed video streaming protocolstreaming protocol

Rate allocation algorithm (RAA)Rate allocation algorithm (RAA)Run at receiver, is used in conjunction with Run at receiver, is used in conjunction with FECFEC (Forward error correction) to minimize the proba(Forward error correction) to minimize the probability of packet loss in bursty channel environmebility of packet loss in bursty channel environments by splitting the sending rates appropriately ants by splitting the sending rates appropriately across the senderscross the senders

Packet partition algorithm (PPA)Packet partition algorithm (PPA)Run at individual senders based on a set of paraRun at individual senders based on a set of parameters estimated at the receiver, ensures that evmeters estimated at the receiver, ensures that every packet is sent by one and only one senderery packet is sent by one and only one sender

Page 6: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

System OverviewSystem Overview

Sender1

Sender2

Receiver

Estimate RTT

Estimate RTT

Estimate loss rates

Estimate available

bandwidth

Rate allocation algorithm

Control packet

Control packet

Packet partition algorithm

Packet partition algorithm

UDP video data

UDP video data

Page 7: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

System OverviewSystem Overview

Every UDP video packet is guaranteed Every UDP video packet is guaranteed to be sent by one and only one senderto be sent by one and only one sender

Control packet formatControl packet format

D1D1 D2D2 S1S1 S2S2 SyncSync

Di : Denote the estimate delay from each sender to receiver

Si : Denote the sending rate for each sender

Sync : Synchronization sequence number

Page 8: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Rate Allocation Rate Allocation AlgorithmAlgorithm Why splitting packets across routes can reWhy splitting packets across routes can re

duce packet loss using FEC ?duce packet loss using FEC ?– Sending packets at higher rate during a congeSending packets at higher rate during a conge

stion period results in larger number of lost pastion period results in larger number of lost packets than sending at a lower sending rateckets than sending at a lower sending rate

– Because reduces bursty packet, so increases tBecause reduces bursty packet, so increases the probability of recovery of the lost packets bhe probability of recovery of the lost packets by FECy FEC

– Allows one to recover packets lost on one routAllows one to recover packets lost on one route using the received packets on the other route using the received packets on the other routee

Page 9: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Rate Allocation Rate Allocation AlgorithmAlgorithmOptimal Rate AllocationOptimal Rate Allocation Our goal is to find the sending ratesOur goal is to find the sending rates

– Minimize the probability of irrecoverable Minimize the probability of irrecoverable loss for a fixed level of FECloss for a fixed level of FEC

– Ensure that each sender sends packets Ensure that each sender sends packets only at available bandwidthonly at available bandwidth

NN Total number of packets in a FEC blockTotal number of packets in a FEC block

KK Number of data packets in a FEC blockNumber of data packets in a FEC block

BBmm Estimated available bandwidth for sender Estimated available bandwidth for sender mm in packets in packets per secondper second

SS Aggregate bit rate of video and FEC in packets per Aggregate bit rate of video and FEC in packets per secondsecond

λ=N/Sλ=N/S Interval between successive transmitted FEC blocks in Interval between successive transmitted FEC blocks in secondsseconds

NNmm Number of packets transmitted by sender Number of packets transmitted by sender mm during during λλsecondsseconds

Page 10: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Rate Allocation Rate Allocation AlgorithmAlgorithmOptimal Rate AllocationOptimal Rate Allocation

),,(),,(0

j

i

BA NijBPNiAP

P( m , i , Nm ) : Denote the probability that i packets are lost out of the Nm packets sent by sender m

C( K , NA , NB ) : Denote the probability that more than N-K packets are lost out of a total NA+NB packets sent by both senders

BA NN

KNj 1

C( K , NA , NB ) =

NA+NB = N , NA/λ<=BA , NB/λ<=BB

To find the minimize probability of irrecoverable packet loss

Page 11: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Packet Partition Packet Partition AlgorithmAlgorithm Received packets arrive in an Received packets arrive in an interleaved fashioninterleaved fashion from from

multiple senders to reduce the startup delaymultiple senders to reduce the startup delay

[nj,k,k’ σ(j)+2D(j)]Ak’(j,k) = Pk’(k) -

Ak’(j,k) : difference between arrival and playback time of the kth packet

Page 12: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Packet Partition Packet Partition AlgorithmAlgorithm Among all senders j=1,…N, the one that maximizAmong all senders j=1,…N, the one that maximiz

es Aes Ak’k’(j,k) is assigned to send (j,k) is assigned to send kkthth packet packet Each sender keeps track of all the values of AEach sender keeps track of all the values of Ak’k’(j,(j,

k) for all N senders, and updates every time a pack) for all N senders, and updates every time a packet is sentket is sent

Page 13: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Packet Partition Packet Partition AlgorithmAlgorithmSynchronize problemSynchronize problem

Receive the same control packet Receive the same control packet from receiverfrom receiver

Only use the information in the Only use the information in the control packet to updatecontrol packet to update

Use the same equation to doUse the same equation to do

Page 14: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Packet Partition Packet Partition AlgorithmAlgorithmChoice of synchronization sequence Choice of synchronization sequence numbernumber

Page 15: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Packet Partition Packet Partition AlgorithmAlgorithmChoice of synchronization sequence Choice of synchronization sequence numbernumber

Fix method:k”(j) : Estimated sequence number for the latest packet sender j has sent, before receiving the control packet

K*(j) : The sequence number for the last packet receiver has received from sender j

S : The total sending rate (packets/s)

k”(j) = k*(j) + 2D(j)S

K’ = minj k”(j)

Page 16: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Simulation and Simulation and ExperimentExperiment

Page 17: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Simulation and Simulation and ExperimentExperiment

Page 18: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Simulation and Simulation and ExperimentExperimentExperiment 1 : one sender in Belgium -> UC BerkeleyExperiment 2 : two senders in Belgium and Sweden -> UC BerkeleyRTTs between Belgium and UC Berkeley is 152 ms

RTTs between Sweden and UC Berkeley is 199 ms

Average good time : 1s

Average bad time : 0.02s

FEC Level : RS (60, 46)

Page 19: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Simulation and Simulation and ExperimentExperiment

Page 20: Multiple Sender Distributed Video Streaming Thinh Nguyen (IEEE Member) Avideh Zakhor (IEEE Fellow) IEEE Transactions on multimedia 2004

Future work and Future work and ConclusionConclusion Extend system so that the receiver can dyExtend system so that the receiver can dy

namically request new senders in order to namically request new senders in order to provide additional bandwidth as requiredprovide additional bandwidth as required

Reduction of packet loss using distributed Reduction of packet loss using distributed video streaming scheme over the traditionvideo streaming scheme over the traditional single path scheme is attributed to the ral single path scheme is attributed to the rate allocation between senders, which redate allocation between senders, which reduces the bursty loss, hence increasing the uces the bursty loss, hence increasing the error correction capability of FECerror correction capability of FEC