• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Content aware packet scheduling in peer-to-peer video streaming
 

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

on

  • 1,222 views

 

Statistics

Views

Total Views
1,222
Views on SlideShare
1,222
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