Title: Multiple Sender Distributed Video Streaming
1Multiple Sender Distributed Video Streaming
- Nguyen, Zakhor
- IEEE Transactions on Multimedia
- April 2004
2Agenda
- Motivation
- Proposed Approach
- Rate Allocation Algorithm
- Packet Partition Algorithm
- Experimental Results
- Conclusion
3Motivation
- 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.
4Aim of the proposed approach
- Increase throughput in order to meet the high bit
rate demands. - Reduce the probability of packet loss.
5Proposed 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)
6Assumption
- The bandwidth bottleneck is not at the last hop.
7Rate 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.
8Packet Partition Algorithm (PPA)
- Run at the senders.
- Ensures that every packet is sent by one and only
one sender.
9The distributed streaming framework
10RAA 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).
11FEC
- 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.
12RAA (contd.)
- RAA used with FEC reduces packet loss as compared
to single route streaming.
13RAA (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
14Rate 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 NK1 i0
-
-
15Packet 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.
16Minimization 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.
17Avoiding 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.
18How 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.
-
-
19How 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
20Illustration of how PPA works
21Choosing the starting sequence no.
22Irrecoverable loss probability for various FEC
levels as a function of bad times
23Optimal sending rate for route A as a function of
bad times for route B
24Irrecoverable loss probability ratio as a
function of average bad time of route B
25Irrecoverable probability as a function of
sending rate of sender A
26Number of lost packets per FEC block for a single
sender
27No. of lost packets per FEC block for two senders
28Throughput of two senders
29Sequence No. difference of two consecutive
received packets
30Conclusion
- Inaccuracy in parameter estimation can skew the
results. - Cannot protect against packet loss in case of
coinciding congestion intervals on different
routes.