61
NUS.SOC.CS5248-2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Peer-to-Peer Streaming

Peer-to-Peer Streaming

  • Upload
    hubert

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Peer-to-Peer Streaming. Peer-to-Peer Streaming. A type of application-level multicast But packets are forwarded by end-host (not proxies). Peer-to-Peer Streaming. ALM with end-hosts as forwarders. End Host. Video Server. S. Overlay Links. Issues with P2P Streaming. - PowerPoint PPT Presentation

Citation preview

Page 1: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Peer-to-Peer Streaming

Page 2: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Peer-to-Peer StreamingA type of application-level

multicastBut packets are forwarded by end-

host (not proxies)

Page 3: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Peer-to-Peer StreamingALM with end-hosts as forwarders

S

Video Server

End Host

Overlay Links

Page 4: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Issues with P2P StreamingDepends on peers to forward

packets, but peers can fail/leave anytime

S

Page 5: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

CoopNetResilient Peer-to-Peer Streaming, V. Padmanabhan et. al.ICNP 2003

Page 6: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

IdeaSplit video into k “parts”, send one

part along one tree

Page 7: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

“Smart” SplittingA node may be able to reconstruct

partial data with a subset of the parts

More parts, better quality

“Multiple Description Coding”

Page 8: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Simple Example (Video)Divide into two descriptions

1. Even frames 2. Odd frames

“Multiple State Encoding”

Does not scale to a large number of descriptions

Page 9: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layered CodingLayer 1 Layer 2 Layer 3

Page 10: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Layered CodingOne layer one description?

But there are dependencies between the descriptions

Page 11: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multiple Description Coding

D1

D3

D2

L1

L1

L1

L2.1

L2.2

L2.1XORL2.2

L3.1

L3.2

L3.3

Page 12: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multiple Description CodingD1 L1 L2.1

L1 L2.3

L1 L2.1

L1 L2.3

D2

D3

D4

L3.1

L3.2

L3.3

XOR

L2.2

L2.4

L2.2

L2.4

L2.3

L2.4

L2.1

L2.2

Page 13: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

How to Build Tree?Send one description along one

tree only

A node is internal node in at most one tree, and is leaf node in the rest of the trees

Page 14: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

R

31

42 65

R

42

31 65

Page 15: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Tree MaintenanceThe source of video maintains all

states.

Isn’t this a centralized design that is not robust?

Page 16: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Node JoinBecomes internal node in a tree

with least number of internal nodes.

Becomes leaf node in the rest of the trees.

Page 17: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

To join as internal nodePick highest internal node with

enough bandwidth as parent.

If cannot find, pick internal node with leaf node as child, preempt the leaf node.

Page 18: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

To join as leaf nodePick highest internal node with

enough bandwidth as parent.

If cannot find, migrate an internal node from another tree.

Page 19: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Network EfficiencyWhen choosing parents, breaks

ties by choosing closer node as parents.

Page 20: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Effects of Number of Trees

Page 21: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Effects of Number of Trees

Page 22: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

MDC versus FEC

Page 23: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Summary of CoopNetRobustness through redundancy in

coding network paths

Page 24: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Issues with P2P StreamingNot all peers are happy to

contribute resources — selfish peers exist.

S

Page 25: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Deter Selfish PeersAdd a constraint:

A peer can only receive at most as much as it is willing to send

S/R >= 1

Page 26: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Practical Issues

Asymmetric Links

Differentdownlinkcapacity

Page 27: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

DagsterContributor Aware P2P Streaming in Heterogeneous EnvironmentMMCN 2005

Page 28: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Goals Robustness wrt transient peers Deter selfish users without

restricting S:R ratioHeterogeneous receivers

Page 29: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Issue 1Heterogeneous receivers

Solution: Transcoding

Page 30: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Transcoding

S

C

B

A

D

E

F

Page 31: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Issue 2 Improve Robustness

Solution: Distributed Streaming

Page 32: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Distributed Streaming

S

C

B

A

D

E

F

Page 33: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Multiple State Encoding

S

C

B

A

D

E

F

1,2,3,4..

1,2,3,4..

1,3,5..

2,4,6..

2,4,6..

Page 34: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Issue 3Provide incentives without

constraining S:R ratio? Solution: give peers that pledge

more contributions some benefits “contributor-aware”

Page 35: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Providing Incentives Idea: allow a peer to preempt

another peer with smaller contributions

Benefits Lower rejection rate Closer to source

Page 36: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

DAG Construction

Page 37: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5

Page 38: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5

Page 39: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5C

15:15

Page 40: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example: Preemption

S

C

A0:30

15:5

15:15B

15:5

Page 41: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example: Rejection

S

B

A0:30

15:5

15:5D

15:6

Page 42: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Preemption RulesA can preempt B if

A is willing to donate more than B B can find new parents after

preemption

Page 43: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5E

10:5

Page 44: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5E

10:5

Page 45: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example

S

B

A0:30

15:5

15:5H

2:1

F2:1

G

10:5

Page 46: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Example: 2 Preemptions

S

B

A0:30

15:5

15:5H

2:1

F2:1

G

10:5

Page 47: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

DetailsCentralized control at the server to

prevent illegal preemption

Page 48: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Details Minimize number of descendents

affected when preempting peers

Find a subset of children to preempt, such that number of descendents affected is minimized, and preempted bandwidth is enough for the new node.

KNAPSACK problem!

Page 49: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

DetailsPrefer parents who are closer to

the source and have large contributions

Page 50: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in parton slides by Ooi Wei Tsang)

DetailsPeers can cheat by pledging more

contributions than they are capable of.

We can only do our best to detect such cheaters :-(

Page 51: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Evaluations

Page 52: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Simulation SetupHost characteristics based on

study of Gnutella and Napster by Saroiu et. al.

Page 53: Peer-to-Peer Streaming

Number of Peers

Reje

ctio

n Ra

te Best Fit (no Preemption)

Contributor-Aware (with Preemption)

Non Contributor Aware (with Preemption)

Page 54: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Number of Peers

Aver

age

Leve

l

Contributor Aware

Non-Contributor Aware

Page 55: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Level

Aver

age

Don

ated

Ba

ndw

idth

Contributor Aware

Non-contributor Aware

Page 56: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Requested Bandwidth

Don

ated

Ban

dwid

th

Admitted

Rejected

Page 57: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Number of ParentsDagster limits maximum number

of parents a node can have.How many is ideal?

Page 58: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Number of Peers

Reje

ctio

n Ra

te

P = 1

P > 1

Page 59: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Number of Peers

Aver

age

Leve

l

P = 2

P = 1

Page 60: Peer-to-Peer Streaming

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

Robustness with PTypical frame-rate 24-30 fps. If P = 3, and one parent fails, then

clients can expect to receive 16-20 fps.

Page 61: Peer-to-Peer Streaming

Remaining Tasks17 November 2015 (end of day):

Project reports and software due. In-class presentation on 17 & 18

November

Room and schedule will be announced shortly.

NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)