peer-to-peer streaming
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 PresentationTRANSCRIPT
![Page 1: Peer-to-Peer Streaming](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/1.jpg)
NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Peer-to-Peer Streaming
![Page 2: Peer-to-Peer Streaming](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/22.jpg)
NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
MDC versus FEC
![Page 23: Peer-to-Peer Streaming](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/36.jpg)
NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
DAG Construction
![Page 37: Peer-to-Peer Streaming](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/51.jpg)
NUS.SOC.CS5248-2015Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Evaluations
![Page 52: Peer-to-Peer Streaming](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062222/56816718550346895ddb8b24/html5/thumbnails/61.jpg)
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)