Your SlideShare is downloading. ×
0
Content aware packet scheduling in peer-to-peer video streaming <ul><li>By: Reza Motamedi </li></ul><ul><li>Advisor: Hamid...
Outline <ul><li>Scheduling in file sharing vs. stream trading </li></ul><ul><li>Scheduling in sender vs. scheduling in rec...
Scheduling in P2P Networks <ul><li>File sharing, Bit Torrent (as one of the most prosperous file sharing protocols) </li><...
<ul><li>Live Media Streaming </li></ul>Live Media Streaming vs. File Sharing DML P2P Live Video Streaming DML <ul><li>All ...
<ul><li>In sender </li></ul>Scheduling DML P2P Live Video Streaming DML <ul><li>Actually applicable when  tree  is used. <...
Content Aware Scheduling <ul><li>Not all packets transferred in the system are the same: </li></ul><ul><ul><li>Packets may...
P2P Streaming <ul><li>Design Choices </li></ul>
<ul><li>MDC </li></ul>Coding Technique? DML P2P Live Video Streaming DML <ul><li>Stream is divided into sub-streams </li><...
Where to Perform Scheduling? <ul><li>Tree: </li></ul><ul><ul><li>Schedule base layer packets in the sender </li></ul></ul>...
What to Trade? <ul><li>Sub-stream trading </li></ul><ul><li>Scheduling stream chunks </li></ul><ul><ul><li>Chunks of diffe...
P2P Streaming <ul><li>Problem Definition </li></ul>
Problem Definition (receiver side scheduler) <ul><ul><li>x sn =1: sub-stream  s  is going to be requested from peer  p </l...
Problem Definition (receiver side scheduler) <ul><li>Can be solved as classical maximum weight matching in bipartite graph...
Problem Definition (sender side scheduler) <ul><li>Distribution of outgoing bandwidth among peers: a mechanism to provide ...
Problem Definition (sender side scheduler) <ul><ul><li>a i,j =1:  j th  request from partner  i  is going to be replied. <...
Gain Function <ul><li>Defines importance of a layer chunk </li></ul><ul><ul><li>l:  total number of layers a partner recei...
Future Works <ul><li>Tuning layer chunks’ weight </li></ul><ul><li>Including distortion information into Gain Function </l...
Q&A
Upcoming SlideShare
Loading in...5
×

Content aware packet scheduling in peer-to-peer video streaming

1,067

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,067
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Content aware packet scheduling in peer-to-peer video streaming"

  1. 1. Content aware packet scheduling in peer-to-peer video streaming <ul><li>By: Reza Motamedi </li></ul><ul><li>Advisor: Hamid Reza Rabiee </li></ul>
  2. 2. Outline <ul><li>Scheduling in file sharing vs. stream trading </li></ul><ul><li>Scheduling in sender vs. scheduling in receiver </li></ul><ul><li>Content aware scheduling </li></ul><ul><li>Design choices of a P2P streaming application </li></ul><ul><ul><li>Mesh or Tree </li></ul></ul><ul><ul><li>Scheduling </li></ul></ul><ul><ul><li>Video Coding </li></ul></ul><ul><li>Problem Definition </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  3. 3. Scheduling in P2P Networks <ul><li>File sharing, Bit Torrent (as one of the most prosperous file sharing protocols) </li></ul><ul><ul><li>Tit-for-Tat: trading chunks. A mechanism to provide incentive </li></ul></ul><ul><ul><li>Rarest chunk first: spread those parts of the file that are rare in the network. </li></ul></ul><ul><li>Question: How can these strategies be used in case of P2P media streaming? </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  4. 4. <ul><li>Live Media Streaming </li></ul>Live Media Streaming vs. File Sharing DML P2P Live Video Streaming DML <ul><li>All peers are interested in a small part of the stream. (interested chunks are limited) </li></ul><ul><li>Trading chunks (Tit-for-Tat) is barely applicable </li></ul><ul><li>Strict timing constraints </li></ul><ul><li>A chunk is of no use when it’s play back has passed. </li></ul>File Sharing <ul><li>A large file is to be transferred </li></ul><ul><li>No temporal dependencies </li></ul><ul><li>Nothing happens in case the last portion of file gets to receiver earlier that initial portion. </li></ul>
  5. 5. <ul><li>In sender </li></ul>Scheduling DML P2P Live Video Streaming DML <ul><li>Actually applicable when tree is used. </li></ul><ul><li>Single sender </li></ul><ul><li>Also called “PUSH” </li></ul><ul><li>Decision </li></ul><ul><li>What to send </li></ul><ul><li>When to send </li></ul><ul><li>Whom to provide with stream (incentive) </li></ul>In receiver <ul><li>Applicable in case more that one data provider are available  mesh </li></ul><ul><li>Multiple sender </li></ul><ul><li>“ PULL” </li></ul><ul><li>Decision </li></ul><ul><li>What to request </li></ul><ul><li>Whom to ask for the stream </li></ul>
  6. 6. Content Aware Scheduling <ul><li>Not all packets transferred in the system are the same: </li></ul><ul><ul><li>Packets may belong to different frames of a GoP </li></ul></ul><ul><ul><li>Packets may belong to different layers (if layered coding is used) </li></ul></ul><ul><li>Better result can be achieved when this difference among different packets can be taken into consideration. </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  7. 7. P2P Streaming <ul><li>Design Choices </li></ul>
  8. 8. <ul><li>MDC </li></ul>Coding Technique? DML P2P Live Video Streaming DML <ul><li>Stream is divided into sub-streams </li></ul><ul><li>No strict dependency among different dependency </li></ul><ul><li>The more description you receive, the better is the playback quality </li></ul><ul><li>Each single description is solely decodable </li></ul><ul><li>Large overhead </li></ul>Layered <ul><li>Stream is divided into sub-streams </li></ul><ul><li>Strict dependencies among different layers </li></ul><ul><li>Smaller overhead </li></ul><ul><li>H 264/SVC (Scalable Video Coding) </li></ul><ul><ul><li>Smaller number of layers (6 layers) </li></ul></ul><ul><li>H 264/FGS (Fine Granular Scalability) </li></ul><ul><ul><li>Larger number of layers (up to 20 layers) </li></ul></ul>
  9. 9. Where to Perform Scheduling? <ul><li>Tree: </li></ul><ul><ul><li>Schedule base layer packets in the sender </li></ul></ul><ul><li>Mesh: </li></ul><ul><ul><li>Schedule enhancement layers packet request in the receiver </li></ul></ul><ul><ul><li>Sender can also schedule which receiver to serve to exert an incentive </li></ul></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  10. 10. What to Trade? <ul><li>Sub-stream trading </li></ul><ul><li>Scheduling stream chunks </li></ul><ul><ul><li>Chunks of different descriptions or layers </li></ul></ul><ul><ul><li>Chunks of same description or layer with different time lags </li></ul></ul><ul><li>Scheduling a GoP </li></ul><ul><li>Scheduling single frames </li></ul><ul><li>Monitor links to detect failures and request those parts you have missed </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  11. 11. P2P Streaming <ul><li>Problem Definition </li></ul>
  12. 12. Problem Definition (receiver side scheduler) <ul><ul><li>x sn =1: sub-stream s is going to be requested from peer p </li></ul></ul><ul><ul><li>S : all streams </li></ul></ul><ul><ul><li>S n : Set of all available layer chunks in the partner n </li></ul></ul><ul><ul><li>w s : weight given to each sub-stream. </li></ul></ul><ul><li>Rank your partners. Request commensurate to your previous upload to each of your partners. </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  13. 13. Problem Definition (receiver side scheduler) <ul><li>Can be solved as classical maximum weight matching in bipartite graph. </li></ul><ul><li>Weight: </li></ul><ul><ul><li>MDC: </li></ul></ul><ul><ul><ul><li>w s =1 </li></ul></ul></ul><ul><ul><li>Layerd </li></ul></ul><ul><ul><ul><li>w s =2 S-s , Where s= 1,…,S </li></ul></ul></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  14. 14. Problem Definition (sender side scheduler) <ul><li>Distribution of outgoing bandwidth among peers: a mechanism to provide incentive </li></ul><ul><li>Balancing data emission of base and enhancement layers </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  15. 15. Problem Definition (sender side scheduler) <ul><ul><li>a i,j =1: j th request from partner i is going to be replied. </li></ul></ul><ul><ul><li>c ( i,j,l,t ): gain attained from replying a request. </li></ul></ul><ul><ul><li>T: all requests for base layer </li></ul></ul><ul><ul><li>N : all partners </li></ul></ul><ul><ul><li>R i : all n i ’s requests </li></ul></ul><ul><ul><li>S n : partner n ’s share </li></ul></ul><ul><ul><li>D j : request j ’s delay </li></ul></ul><ul><ul><li>TD j : bearable delay for request j </li></ul></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  16. 16. Gain Function <ul><li>Defines importance of a layer chunk </li></ul><ul><ul><li>l: total number of layers a partner receives </li></ul></ul><ul><ul><li>j: request is for layer number j </li></ul></ul><ul><ul><li>TD i : deadline for request i </li></ul></ul><ul><ul><li>t: current time </li></ul></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  17. 17. Future Works <ul><li>Tuning layer chunks’ weight </li></ul><ul><li>Including distortion information into Gain Function </li></ul><ul><li>Considering incentive </li></ul>DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  18. 18. Q&A
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×