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

18
Content aware packet scheduling in peer-to-peer video streaming By: Reza Motamedi Advisor: Hamid Reza Rabiee

Upload: adolfo

Post on 20-Mar-2016

65 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Content aware packet scheduling in peer-to-peer video streaming

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

By: Reza MotamediAdvisor: Hamid Reza Rabiee

Page 2: Content aware packet scheduling in peer-to-peer video streaming

2 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming2

Outline

Scheduling in file sharing vs. stream tradingScheduling in sender vs. scheduling in receiverContent aware schedulingDesign choices of a P2P streaming application

Mesh or Tree Scheduling Video Coding

Problem Definition

Page 3: Content aware packet scheduling in peer-to-peer video streaming

3 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming3

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?

Page 4: Content aware packet scheduling in peer-to-peer video streaming

4 DMLP2P Live Video Streaming DML4

Live Media StreamingAll 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 SharingA large file is to be

transferredNo temporal dependenciesNothing happens in case

the last portion of file gets to receiver earlier that initial portion.

Live Media Streaming vs. File Sharing

Page 5: Content aware packet scheduling in peer-to-peer video streaming

5 DMLP2P Live Video Streaming DML5

In senderActually applicable when

tree is used.Single senderAlso called “PUSH”Decision What to send When to send Whom to provide with stream

(incentive)

In receiverApplicable in case more

that one data provider are available mesh

Multiple sender“PULL”Decision What to request Whom to ask for the stream

Scheduling

Page 6: Content aware packet scheduling in peer-to-peer video streaming

6 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming6

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.

Page 7: Content aware packet scheduling in peer-to-peer video streaming

P2P StreamingDesign Choices

Page 8: Content aware packet scheduling in peer-to-peer video streaming

8 DMLP2P Live Video Streaming DML8

MDCStream is divided into sub-

streamsNo 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)

Coding Technique?

Page 9: Content aware packet scheduling in peer-to-peer video streaming

9 DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming9

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

Page 10: Content aware packet scheduling in peer-to-peer video streaming

10

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming10

What to Trade?Sub-stream tradingScheduling stream chunks

Chunks of different descriptions or layers Chunks of same description or layer with

different time lagsScheduling a GoPScheduling single frames

Monitor links to detect failures and request those parts you have missed

Page 11: Content aware packet scheduling in peer-to-peer video streaming

P2P StreamingProblem Definition

Page 12: Content aware packet scheduling in peer-to-peer video streaming

12

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming12

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.

Page 13: Content aware packet scheduling in peer-to-peer video streaming

13

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming13

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

Page 14: Content aware packet scheduling in peer-to-peer video streaming

14

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming14

Problem Definition (sender side scheduler)

Distribution of outgoing bandwidth among peers: a mechanism to provide incentive

Balancing data emission of base and enhancement layers

Page 15: Content aware packet scheduling in peer-to-peer video streaming

15

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming15

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 n

i’s requests

Sn: partner n’s share Dj: request j’s delay TDj: bearable delay for request j

Page 16: Content aware packet scheduling in peer-to-peer video streaming

16

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming16

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

Page 17: Content aware packet scheduling in peer-to-peer video streaming

17

DMLP2P Live Video Streaming DMLDMLP2P Live Video Streaming17

Future Works

Tuning layer chunks’ weightIncluding distortion information into Gain FunctionConsidering incentive

Page 18: Content aware packet scheduling in peer-to-peer video streaming

Q&A