Content aware packet scheduling in peer-to-peer video streaming
description
Transcript of Content aware packet scheduling in peer-to-peer video streaming
Content aware packet scheduling in peer-to-peer video streaming
By: Reza MotamediAdvisor: Hamid Reza Rabiee
2 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming2
Outline
Scheduling in file sharing vs. stream tradingScheduling in sender vs. scheduling in receiverContent aware schedulingDesign choices of a P2P streaming application
Mesh or Tree Scheduling Video Coding
Problem Definition
3 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming3
Scheduling in P2P Networks
File sharing, Bit Torrent (as one of the most prosperous file sharing protocols) Tit-for-Tat: trading chunks. A mechanism to
provide incentive Rarest chunk first: spread those parts of the file
that are rare in the network.
Question: How can these strategies be used in case of P2P media streaming?
4 DMLP2P Live Video Streaming DML4
Live Media StreamingAll peers are interested in a
small part of the stream. (interested chunks are limited)
Trading chunks (Tit-for-Tat) is barely applicable
Strict timing constraints A chunk is of no use when it’s
play back has passed.
File SharingA large file is to be
transferredNo temporal dependenciesNothing happens in case
the last portion of file gets to receiver earlier that initial portion.
Live Media Streaming vs. File Sharing
5 DMLP2P Live Video Streaming DML5
In senderActually applicable when
tree is used.Single senderAlso called “PUSH”Decision What to send When to send Whom to provide with stream
(incentive)
In receiverApplicable in case more
that one data provider are available mesh
Multiple sender“PULL”Decision What to request Whom to ask for the stream
Scheduling
6 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming6
Content Aware Scheduling
Not all packets transferred in the system are the same: Packets may belong to different frames of a GoP Packets may belong to different layers (if layered
coding is used)Better result can be achieved when this difference
among different packets can be taken into consideration.
P2P StreamingDesign Choices
8 DMLP2P Live Video Streaming DML8
MDCStream is divided into sub-
streamsNo strict dependency
among different dependency
The more description you receive, the better is the playback quality
Each single description is solely decodable
Large overhead
Layered Stream is divided into sub-
streams Strict dependencies among
different layers Smaller overhead H 264/SVC (Scalable Video Coding)
• Smaller number of layers (6 layers)
H 264/FGS (Fine Granular Scalability)
• Larger number of layers (up to 20 layers)
Coding Technique?
9 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming9
Where to Perform Scheduling?
Tree: Schedule base layer packets in the sender
Mesh: Schedule enhancement layers packet request in
the receiver Sender can also schedule which receiver to serve
to exert an incentive
10
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming10
What to Trade?Sub-stream tradingScheduling stream chunks
Chunks of different descriptions or layers Chunks of same description or layer with
different time lagsScheduling a GoPScheduling single frames
Monitor links to detect failures and request those parts you have missed
P2P StreamingProblem Definition
12
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming12
Problem Definition (receiver side scheduler)
xsn=1: sub-stream s is going to be requested from peer p S : all streams Sn: Set of all available layer chunks in the partner n ws: weight given to each sub-stream.
Rank your partners. Request commensurate to your previous upload to each of your partners.
13
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming13
Problem Definition (receiver side scheduler)
Can be solved as classical maximum weight matching in bipartite graph.
Weight: MDC:
• ws=1
Layerd
•
• ws=2S-s, Where s= 1,…,S
14
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming14
Problem Definition (sender side scheduler)
Distribution of outgoing bandwidth among peers: a mechanism to provide incentive
Balancing data emission of base and enhancement layers
15
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming15
Problem Definition (sender side scheduler)
ai,j=1: jth request from partner i is going to be replied.
c(i,j,l,t): gain attained from replying a request. T: all requests for base layer N: all partners Ri: all n
i’s requests
Sn: partner n’s share Dj: request j’s delay TDj: bearable delay for request j
16
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming16
Gain Function
Defines importance of a layer chunk
l: total number of layers a partner receives j: request is for layer number j TDi: deadline for request i t: current time
17
DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming17
Future Works
Tuning layer chunks’ weightIncluding distortion information into Gain FunctionConsidering incentive
Q&A