Date post: | 29-Nov-2014 |
Category: |
Technology |
Upload: | nicolas-weil |
View: | 4,456 times |
Download: | 1 times |
Peer-to-Peer and livestreaming10 years of academicresearchGwendal Simon
The Academic Bubble
B. Li et al. Rise and fall of the peer-to-peer empire.
2 / 14 Gwendal Simon P2P live streaming
Academic vs. Industrial World
3 / 14 Gwendal Simon P2P live streaming
What is a Peer ?
px
=
+ +
Ex : PeerJS, Adobe Cirrus Ex : µTP, STUN
4 / 14 Gwendal Simon P2P live streaming
What is a Peer ?
px
=
+ +
Ex : PeerJS, Adobe Cirrus
Ex : µTP, STUN
4 / 14 Gwendal Simon P2P live streaming
What is a Peer ?
px
=
+ +
Ex : PeerJS, Adobe Cirrus Ex : µTP, STUN
4 / 14 Gwendal Simon P2P live streaming
First There Was a Structure
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Leaves do not contribute
Crash affects many peers
Structure is not reactive
WeaknessesNo multi-layer video
Maintaining cost
Structure is not reactive
Weaknesses
5 / 14 Gwendal Simon P2P live streaming
First There Was a Structure
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Leaves do not contribute
Crash affects many peers
Structure is not reactive
WeaknessesNo multi-layer video
Maintaining cost
Structure is not reactive
Weaknesses
5 / 14 Gwendal Simon P2P live streaming
First There Was a Structure
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Leaves do not contribute
Crash affects many peers
Structure is not reactive
Weaknesses
No multi-layer video
Maintaining cost
Structure is not reactive
Weaknesses
5 / 14 Gwendal Simon P2P live streaming
First There Was a Structure
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Leaves do not contribute
Crash affects many peers
Structure is not reactive
WeaknessesNo multi-layer video
Maintaining cost
Structure is not reactive
Weaknesses
5 / 14 Gwendal Simon P2P live streaming
First There Was a Structure
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Leaves do not contribute
Crash affects many peers
Structure is not reactive
Weaknesses
No multi-layer video
Maintaining cost
Structure is not reactive
Weaknesses
5 / 14 Gwendal Simon P2P live streaming
Disruption
cut content into chunks
share chunk map
pull-based downloading
random mesh topology
6 / 14 Gwendal Simon P2P live streaming
Disruption
cut content into chunks
share chunk map
pull-based downloading
random mesh topology
6 / 14 Gwendal Simon P2P live streaming
Disruption
cut content into chunks
share chunk map
pull-based downloading
random mesh topology
6 / 14 Gwendal Simon P2P live streaming
Disruption
cut content into chunks
share chunk map
pull-based downloading
random mesh topology
6 / 14 Gwendal Simon P2P live streaming
Disruption
cut content into chunks
share chunk map
pull-based downloading
random mesh topology
6 / 14 Gwendal Simon P2P live streaming
Mesh Networks
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Every round :
1. Share chunk map
Every round :
1. Share chunk map
2. Request chunks c7
c8
c7
c3
c6
c4
c6
c5
c4
c3 c5
c5
Every round :
1. Share chunk map
2. Request chunks
3. Send chunks
7 / 14 Gwendal Simon P2P live streaming
Mesh Networks
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Every round :
1. Share chunk map
Every round :
1. Share chunk map
2. Request chunks c7
c8
c7
c3
c6
c4
c6
c5
c4
c3 c5
c5
Every round :
1. Share chunk map
2. Request chunks
3. Send chunks
7 / 14 Gwendal Simon P2P live streaming
Mesh Networks
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Every round :
1. Share chunk map
Every round :
1. Share chunk map
2. Request chunks
c7
c8
c7
c3
c6
c4
c6
c5
c4
c3 c5
c5
Every round :
1. Share chunk map
2. Request chunks
3. Send chunks
7 / 14 Gwendal Simon P2P live streaming
Mesh Networks
s
source
p1
p2
p3 p4
p5
p6 p7
p8
Every round :
1. Share chunk map
Every round :
1. Share chunk map
2. Request chunks
c7
c8
c7
c3
c6
c4
c6
c5
c4
c3 c5
c5
Every round :
1. Share chunk map
2. Request chunks
3. Send chunks
7 / 14 Gwendal Simon P2P live streaming
Sliding Windows (example with one peer)
lag. . .
The chunk genera-ted at the source s
The most recentchunk a peer at 1hop from s can get
The most recentchunk a peer at khops from s can get
The most recentchunk this peer gets
Prioritary chunks
Displayed chunk
Old chunks
8 / 14 Gwendal Simon P2P live streaming
Sliding Windows (example with one peer)
lag. . .
The chunk genera-ted at the source s
The most recentchunk a peer at 1hop from s can get
The most recentchunk a peer at khops from s can get
The most recentchunk this peer gets
Prioritary chunks
Displayed chunk
Old chunks
8 / 14 Gwendal Simon P2P live streaming
Sliding Windows (example with one peer)
lag. . .
The chunk genera-ted at the source s
The most recentchunk a peer at 1hop from s can get
The most recentchunk a peer at khops from s can get
The most recentchunk this peer gets
Prioritary chunks
Displayed chunk
Old chunks
8 / 14 Gwendal Simon P2P live streaming
Sliding Windows (example with one peer)
lag. . .
The chunk genera-ted at the source s
The most recentchunk a peer at 1hop from s can get
The most recentchunk a peer at khops from s can get
The most recentchunk this peer gets
Prioritary chunks
Displayed chunk
Old chunks
8 / 14 Gwendal Simon P2P live streaming
Main AlgorithmsHow to find neighbors ?
Using a tracker- Random pick- Network proximity (IETF ALTO)- Test bandwidth, reputation, etc.
Using a peer-to-peer (trackerless) system- Gossip- Distributed Hash Table
What chunk to send to who ?Random pickRarest chunk to the most contributing peerAccording to urgency
9 / 14 Gwendal Simon P2P live streaming
Main AlgorithmsHow to find neighbors ?
Using a tracker- Random pick- Network proximity (IETF ALTO)- Test bandwidth, reputation, etc.
Using a peer-to-peer (trackerless) system- Gossip- Distributed Hash Table
What chunk to send to who ?Random pickRarest chunk to the most contributing peerAccording to urgency
9 / 14 Gwendal Simon P2P live streaming
Main AlgorithmsHow to find neighbors ?
Using a tracker- Random pick- Network proximity (IETF ALTO)- Test bandwidth, reputation, etc.
Using a peer-to-peer (trackerless) system- Gossip- Distributed Hash Table
What chunk to send to who ?Random pickRarest chunk to the most contributing peerAccording to urgency
9 / 14 Gwendal Simon P2P live streaming
Main AlgorithmsHow to find neighbors ?
Using a tracker- Random pick- Network proximity (IETF ALTO)- Test bandwidth, reputation, etc.
Using a peer-to-peer (trackerless) system- Gossip- Distributed Hash Table
What chunk to send to who ?
Random pickRarest chunk to the most contributing peerAccording to urgency
9 / 14 Gwendal Simon P2P live streaming
Main AlgorithmsHow to find neighbors ?
Using a tracker- Random pick- Network proximity (IETF ALTO)- Test bandwidth, reputation, etc.
Using a peer-to-peer (trackerless) system- Gossip- Distributed Hash Table
What chunk to send to who ?Random pickRarest chunk to the most contributing peerAccording to urgency
9 / 14 Gwendal Simon P2P live streaming
Commercial Success
10 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
The Network Coding Revolution
s
source
p1
p2
p3 p4
p5
p6 p7
p8
c1c2
c1c2
c2
c1
c1 ⊕ c2
c1 ⊕ c2
recall : 1100 ⊕ 1010 = 0110
Cut the content into generations of k blocksb1, b2, . . . , bk .A peer having m blocks in a generationchooses coefficients d1, d2, . . . , dm and encodesa new block : ∑
i≤mdi · bi
When a peer get k blocks, it can re-build thewhole generation.
In practice
c1 ⊕ c2
c1 ⊕ c2
Optimal bandwidth usage
No more request (pushdelivery)
11 / 14 Gwendal Simon P2P live streaming
It Just Works !
12 / 14 Gwendal Simon P2P live streaming
Toward Peer-Assisted Architectures
s
s0 s1 s2
source
datacenters
p1
p2
p3 p4
p5
p6 p7
p8
13 / 14 Gwendal Simon P2P live streaming
To Conclude
10 years of academic research for technologies that :Reduce control trafficCan cope with a dynamic population
And still some open problemsHow to implement rate-adaptive mechanisms ?Can it be implemented into a smartphone ?
contact : [email protected]
14 / 14 Gwendal Simon P2P live streaming
To Conclude
10 years of academic research for technologies that :Reduce control trafficCan cope with a dynamic population
And still some open problemsHow to implement rate-adaptive mechanisms ?Can it be implemented into a smartphone ?
contact : [email protected]
14 / 14 Gwendal Simon P2P live streaming
To Conclude
10 years of academic research for technologies that :Reduce control trafficCan cope with a dynamic population
And still some open problemsHow to implement rate-adaptive mechanisms ?Can it be implemented into a smartphone ?
contact : [email protected]
14 / 14 Gwendal Simon P2P live streaming