180 likes | 388 Views
Content aware packet scheduling in peer-to-peer video streaming. By: Reza Motamedi Advisor: Hamid Reza Rabiee. Outline. Scheduling in file sharing vs. stream trading Scheduling in sender vs. scheduling in receiver Content aware scheduling Design choices of a P2P streaming application
E N D
Content aware packet scheduling in peer-to-peer video streaming • By: Reza Motamedi • Advisor: Hamid Reza Rabiee
Outline • Scheduling in file sharing vs. stream trading • Scheduling in sender vs. scheduling in receiver • Content aware scheduling • Design choices of a P2P streaming application • Mesh or Tree • Scheduling • Video Coding • Problem Definition P2P Live Video Streaming P2P Live Video Streaming DML DML DML 2
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? P2P Live Video Streaming P2P Live Video Streaming DML DML DML 3
Live Media Streaming vs. File Sharing • Live Media Streaming File Sharing • All 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. • A large file is to be transferred • No temporal dependencies • Nothing happens in case the last portion of file gets to receiver earlier that initial portion. P2P Live Video Streaming DML DML 4
Scheduling • In sender In receiver • Actually applicable when tree is used. • Single sender • Also called “PUSH” • Decision • What to send • When to send • Whom to provide with stream (incentive) • Applicable in case more that one data provider are available mesh • Multiple sender • “PULL” • Decision • What to request • Whom to ask for the stream P2P Live Video Streaming DML DML 5
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 Live Video Streaming P2P Live Video Streaming DML DML DML 6
P2P Streaming • Design Choices
Coding Technique? • MDC Layered • Stream is divided into sub-streams • No strict dependency among different dependency • The more description you receive, the better is the playback quality • Each single description is solely decodable • Large overhead • 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) P2P Live Video Streaming DML DML 8
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 P2P Live Video Streaming P2P Live Video Streaming DML DML DML 9
What to Trade? • Sub-stream trading • Scheduling stream chunks • Chunks of different descriptions or layers • Chunks of same description or layer with different time lags • Scheduling a GoP • Scheduling single frames • Monitor links to detect failures and request those parts you have missed P2P Live Video Streaming P2P Live Video Streaming DML DML DML 10
P2P Streaming • Problem Definition
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. P2P Live Video Streaming P2P Live Video Streaming DML DML DML 12
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 P2P Live Video Streaming P2P Live Video Streaming DML DML DML 13
Problem Definition (sender side scheduler) • Distribution of outgoing bandwidth among peers: a mechanism to provide incentive • Balancing data emission of base and enhancement layers P2P Live Video Streaming P2P Live Video Streaming DML DML DML 14
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 ni’s requests • Sn: partner n’s share • Dj: request j’s delay • TDj: bearable delay for request j P2P Live Video Streaming P2P Live Video Streaming DML DML DML 15
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 P2P Live Video Streaming P2P Live Video Streaming DML DML DML 16
Future Works • Tuning layer chunks’ weight • Including distortion information into Gain Function • Considering incentive P2P Live Video Streaming P2P Live Video Streaming DML DML DML 17