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

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

on

  • 1,268 views

 

Statistics

Views

Total Views
1,268
Views on SlideShare
1,268
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
    DML P2P Live Video Streaming DML DML P2P Live Video Streaming
  • 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
    • 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.
    • 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
  • 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
  • P2P Streaming
    • Design Choices
    • 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)
  • 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
  • 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
  • P2P Streaming
    • Problem Definition
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Q&A