Your SlideShare is downloading. ×
Content aware packet scheduling in peer-to-peer video streaming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,026
views

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,026
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Content aware packet scheduling in peer-to-peer video streaming
    • By: Reza Motamedi
    • Advisor: Hamid Reza Rabiee
  • 2. 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
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 3. 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?
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 4.
    • Live Media Streaming
    Live Media Streaming vs. File Sharing DML P2P Live Video Streaming DML
    • 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.
    File Sharing
    • 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.
  • 5.
    • In sender
    Scheduling DML P2P Live Video Streaming DML
    • Actually applicable when tree is used.
    • Single sender
    • Also called “PUSH”
    • Decision
    • What to send
    • When to send
    • Whom to provide with stream (incentive)
    In receiver
    • Applicable in case more that one data provider are available  mesh
    • Multiple sender
    • “ PULL”
    • Decision
    • What to request
    • Whom to ask for the stream
  • 6. 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.
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 7. P2P Streaming
    • Design Choices
  • 8.
    • MDC
    Coding Technique? DML P2P Live Video Streaming DML
    • 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
    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)
  • 9. 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
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 10. 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
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 11. P2P Streaming
    • Problem Definition
  • 12. Problem Definition (receiver side scheduler)
      • x sn =1: sub-stream s is going to be requested from peer p
      • S : all streams
      • S n : Set of all available layer chunks in the partner n
      • w s : weight given to each sub-stream.
    • Rank your partners. Request commensurate to your previous upload to each of your partners.
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 13. Problem Definition (receiver side scheduler)
    • Can be solved as classical maximum weight matching in bipartite graph.
    • Weight:
      • MDC:
        • w s =1
      • Layerd
        • w s =2 S-s , Where s= 1,…,S
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 14. Problem Definition (sender side scheduler)
    • Distribution of outgoing bandwidth among peers: a mechanism to provide incentive
    • Balancing data emission of base and enhancement layers
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 15. Problem Definition (sender side scheduler)
      • a i,j =1: j th 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
      • R i : all n i ’s requests
      • S n : partner n ’s share
      • D j : request j ’s delay
      • TD j : bearable delay for request j
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 16. Gain Function
    • Defines importance of a layer chunk
      • l: total number of layers a partner receives
      • j: request is for layer number j
      • TD i : deadline for request i
      • t: current time
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 17. Future Works
    • Tuning layer chunks’ weight
    • Including distortion information into Gain Function
    • Considering incentive
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 18. Q&A