Peer-to-Peer and live
streaming
10 years of academic
research
Gwendal 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

=
+

4 / 14

Gwendal Simon

+

P2P live streaming
What is a Peer ?
px

=
+

+

Ex : PeerJS, Adobe Cirrus

4 / 14

Gwendal Simon

P2P live streaming
What is a Peer ?
px

=
+

+
Ex : µTP, STUN

Ex : PeerJS, Adobe Cirrus

4 / 14

Gwendal Simon

P2P live streaming
First There Was a Structure
source
s

p5
p1

p6

p8

p2

p3
5 / 14

Gwendal Simon

p7

p4
P2P live streaming
First There Was a Structure
source
s

p5
p1

p6

p8

p2

p3
5 / 14

Gwendal Simon

p7

p4
P2P live streaming
First There Was a Structure
Weaknesses
Leaves do not contribute

source

Crash affects many peers

s

Structure is not reactive
p5
p1

p6

p8

p2

p3
5 / 14

Gwendal Simon

p7

p4
P2P live streaming
First There Was a Structure
source
s

p5
p1

p6

p8

p2

p3
5 / 14

Gwendal Simon

p7

p4
P2P live streaming
First There Was a Structure
Weaknesses
No multi-layer video

source
s

Maintaining cost
Structure is not reactive

p5
p1

p6

p8

p2

p3
5 / 14

Gwendal Simon

p7

p4
P2P live streaming
Disruption

6 / 14

Gwendal Simon

P2P live streaming
Disruption

cut

6 / 14

cont

ent

Gwendal Simon

into

chun
ks
P2P live streaming
Disruption

cut

6 / 14

cont

k map
share chun

ent

Gwendal Simon

into

chun
ks
P2P live streaming
Disruption

ing

ad
wnlo
d do

se
ll-ba
pu
cut

6 / 14

cont

k map
share chun

ent

Gwendal Simon

into

chun
ks
P2P live streaming
Disruption

ing

ad
wnlo
d do

se
ll-ba
pu
random mesh t
opology
cut

6 / 14

cont

k map
share chun

ent

Gwendal Simon

into

chun
ks
P2P live streaming
Mesh Networks
source
s

p5
p1

p6

p8

p2

p3

7 / 14

Gwendal Simon

p7

p4

P2P live streaming
Mesh Networks
source

Every round :

s

1. Share chunk map

p5
p1

p6

p8

p2

p3

7 / 14

Gwendal Simon

p7

p4

P2P live streaming
Mesh Networks
source

Every round :

s

1. Share chunk map
2. Request chunks

p5
p1

p6

p8

p2

p3

7 / 14

Gwendal Simon

p7

p4

P2P live streaming
Mesh Networks
source

Every round :

s

1. Share chunk map

c7

2. Request chunks

c7

3. Send chunks

p5

c8
c6

p1

c5
c6

p6

c3

p7

c5

p8

c3

c4

p2

c5

c4

p3

7 / 14

Gwendal Simon

p4

P2P live streaming
Sliding Windows (example with one peer)
...

lag

The chunk generated at the source s
8 / 14

Gwendal Simon

P2P live streaming
Sliding Windows (example with one peer)
...

lag

The most recent
chunk a peer at k
hops from s can get

The most recent
chunk a peer at 1
hop from s can get

The chunk generated at the source s
8 / 14

Gwendal Simon

P2P live streaming
Sliding Windows (example with one peer)
...

lag

The most recent
chunk a peer at k
hops from s can get
The most recent
chunk this peer gets
The most recent
chunk a peer at 1
hop from s can get

The chunk generated at the source s
8 / 14

Gwendal Simon

P2P live streaming
Sliding Windows (example with one peer)
...

lag

The most recent
chunk a peer at k
hops from s can get

Prioritary chunks
Old chunks

The most recent
chunk this peer gets
The most recent
chunk a peer at 1
hop from s can get

Displayed chunk

The chunk generated at the source s
8 / 14

Gwendal Simon

P2P live streaming
Main Algorithms
How to find neighbors ?

9 / 14

Gwendal Simon

P2P live streaming
Main Algorithms
How to find neighbors ?
Using a tracker
- Random pick
- Network proximity (IETF ALTO)
- Test bandwidth, reputation, etc.

9 / 14

Gwendal Simon

P2P live streaming
Main Algorithms
How 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

9 / 14

Gwendal Simon

P2P live streaming
Main Algorithms
How 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 ?

9 / 14

Gwendal Simon

P2P live streaming
Main Algorithms
How 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 pick
Rarest chunk to the most contributing peer
According to urgency
9 / 14

Gwendal Simon

P2P live streaming
Commercial Success

10 / 14

Gwendal Simon

P2P live streaming
The Network Coding Revolution
source
s

p5
p1

p6

p8

p2

p3

11 / 14

Gwendal Simon

p7

p4

P2P live streaming
The Network Coding Revolution
source
s
c2
c1

p5
p1

p6

p8

p2

p3

11 / 14

Gwendal Simon

p7

p4

P2P live streaming
The Network Coding Revolution
source
s
c2
c1

p5
p1
c2
c1

p6

c2

p7

c1

p8

p2

p3

11 / 14

Gwendal Simon

p4

P2P live streaming
The Network Coding Revolution
source
s
c2
c1

p5
p1
c2
c1
c2

p6

p8

p7

c1 ⊕ c2

c1

c1 ⊕ c2

p2

p3

p4
recall : 1100 ⊕ 1010 = 0110

11 / 14

Gwendal Simon

P2P live streaming
The Network Coding Revolution
source
s
In practice

Cut the content into generations of k blocks
c2
b1 , b2 , . . . , bkc.1
p5
A peer having m blocks in a generation
chooses coefficients d1 , d2 , . . . , dm and encodes
p1
c2
a new block :
c1
c2
di · bi
p6

i≤m

p7

c1

p8

When a peer get k blocks, it can re-build the
p2
whole generation.
p3

11 / 14

Gwendal Simon

p4

P2P live streaming
The Network Coding Revolution
source
Optimal bandwidth usage
No more request (push
delivery )

s
c2
c1

p5
p1
c2
c1
c2

p6
c1

p8

c1 ⊕ c2

p3

11 / 14

Gwendal Simon

p7

c1 ⊕ c2

p2

p4

P2P live streaming
It Just Works !

12 / 14

Gwendal Simon

P2P live streaming
Toward Peer-Assisted Architectures
source
s

datacenters

s0

s1

s2
p5

p1

p6

p8

p2

p3

13 / 14

p7

Gwendal Simon

p4

P2P live streaming
To Conclude
10 years of academic research for technologies that :
Reduce control traffic
Can cope with a dynamic population

14 / 14

Gwendal Simon

P2P live streaming
To Conclude
10 years of academic research for technologies that :
Reduce control traffic
Can cope with a dynamic population
And still some open problems
How to implement rate-adaptive mechanisms ?
Can it be implemented into a smartphone ?

14 / 14

Gwendal Simon

P2P live streaming
To Conclude
10 years of academic research for technologies that :
Reduce control traffic
Can cope with a dynamic population
And still some open problems
How to implement rate-adaptive mechanisms ?
Can it be implemented into a smartphone ?
contact : gwendal.simon@telecom-bretagne.eu
14 / 14

Gwendal Simon

P2P live streaming

Peer-to-Peer and live streaming: 10 years of academic research

  • 1.
    Peer-to-Peer and live streaming 10years of academic research Gwendal Simon
  • 2.
    The Academic Bubble B.Li et al. Rise and fall of the peer-to-peer empire. 2 / 14 Gwendal Simon P2P live streaming
  • 3.
    Academic vs. IndustrialWorld 3 / 14 Gwendal Simon P2P live streaming
  • 4.
    What is aPeer ? px = + 4 / 14 Gwendal Simon + P2P live streaming
  • 5.
    What is aPeer ? px = + + Ex : PeerJS, Adobe Cirrus 4 / 14 Gwendal Simon P2P live streaming
  • 6.
    What is aPeer ? px = + + Ex : µTP, STUN Ex : PeerJS, Adobe Cirrus 4 / 14 Gwendal Simon P2P live streaming
  • 7.
    First There Wasa Structure source s p5 p1 p6 p8 p2 p3 5 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 8.
    First There Wasa Structure source s p5 p1 p6 p8 p2 p3 5 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 9.
    First There Wasa Structure Weaknesses Leaves do not contribute source Crash affects many peers s Structure is not reactive p5 p1 p6 p8 p2 p3 5 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 10.
    First There Wasa Structure source s p5 p1 p6 p8 p2 p3 5 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 11.
    First There Wasa Structure Weaknesses No multi-layer video source s Maintaining cost Structure is not reactive p5 p1 p6 p8 p2 p3 5 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 12.
    Disruption 6 / 14 GwendalSimon P2P live streaming
  • 13.
    Disruption cut 6 / 14 cont ent GwendalSimon into chun ks P2P live streaming
  • 14.
    Disruption cut 6 / 14 cont kmap share chun ent Gwendal Simon into chun ks P2P live streaming
  • 15.
    Disruption ing ad wnlo d do se ll-ba pu cut 6 /14 cont k map share chun ent Gwendal Simon into chun ks P2P live streaming
  • 16.
    Disruption ing ad wnlo d do se ll-ba pu random mesht opology cut 6 / 14 cont k map share chun ent Gwendal Simon into chun ks P2P live streaming
  • 17.
    Mesh Networks source s p5 p1 p6 p8 p2 p3 7 /14 Gwendal Simon p7 p4 P2P live streaming
  • 18.
    Mesh Networks source Every round: s 1. Share chunk map p5 p1 p6 p8 p2 p3 7 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 19.
    Mesh Networks source Every round: s 1. Share chunk map 2. Request chunks p5 p1 p6 p8 p2 p3 7 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 20.
    Mesh Networks source Every round: s 1. Share chunk map c7 2. Request chunks c7 3. Send chunks p5 c8 c6 p1 c5 c6 p6 c3 p7 c5 p8 c3 c4 p2 c5 c4 p3 7 / 14 Gwendal Simon p4 P2P live streaming
  • 21.
    Sliding Windows (examplewith one peer) ... lag The chunk generated at the source s 8 / 14 Gwendal Simon P2P live streaming
  • 22.
    Sliding Windows (examplewith one peer) ... lag The most recent chunk a peer at k hops from s can get The most recent chunk a peer at 1 hop from s can get The chunk generated at the source s 8 / 14 Gwendal Simon P2P live streaming
  • 23.
    Sliding Windows (examplewith one peer) ... lag The most recent chunk a peer at k hops from s can get The most recent chunk this peer gets The most recent chunk a peer at 1 hop from s can get The chunk generated at the source s 8 / 14 Gwendal Simon P2P live streaming
  • 24.
    Sliding Windows (examplewith one peer) ... lag The most recent chunk a peer at k hops from s can get Prioritary chunks Old chunks The most recent chunk this peer gets The most recent chunk a peer at 1 hop from s can get Displayed chunk The chunk generated at the source s 8 / 14 Gwendal Simon P2P live streaming
  • 25.
    Main Algorithms How tofind neighbors ? 9 / 14 Gwendal Simon P2P live streaming
  • 26.
    Main Algorithms How tofind neighbors ? Using a tracker - Random pick - Network proximity (IETF ALTO) - Test bandwidth, reputation, etc. 9 / 14 Gwendal Simon P2P live streaming
  • 27.
    Main Algorithms How tofind 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 9 / 14 Gwendal Simon P2P live streaming
  • 28.
    Main Algorithms How tofind 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 ? 9 / 14 Gwendal Simon P2P live streaming
  • 29.
    Main Algorithms How tofind 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 pick Rarest chunk to the most contributing peer According to urgency 9 / 14 Gwendal Simon P2P live streaming
  • 30.
    Commercial Success 10 /14 Gwendal Simon P2P live streaming
  • 31.
    The Network CodingRevolution source s p5 p1 p6 p8 p2 p3 11 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 32.
    The Network CodingRevolution source s c2 c1 p5 p1 p6 p8 p2 p3 11 / 14 Gwendal Simon p7 p4 P2P live streaming
  • 33.
    The Network CodingRevolution source s c2 c1 p5 p1 c2 c1 p6 c2 p7 c1 p8 p2 p3 11 / 14 Gwendal Simon p4 P2P live streaming
  • 34.
    The Network CodingRevolution source s c2 c1 p5 p1 c2 c1 c2 p6 p8 p7 c1 ⊕ c2 c1 c1 ⊕ c2 p2 p3 p4 recall : 1100 ⊕ 1010 = 0110 11 / 14 Gwendal Simon P2P live streaming
  • 35.
    The Network CodingRevolution source s In practice Cut the content into generations of k blocks c2 b1 , b2 , . . . , bkc.1 p5 A peer having m blocks in a generation chooses coefficients d1 , d2 , . . . , dm and encodes p1 c2 a new block : c1 c2 di · bi p6 i≤m p7 c1 p8 When a peer get k blocks, it can re-build the p2 whole generation. p3 11 / 14 Gwendal Simon p4 P2P live streaming
  • 36.
    The Network CodingRevolution source Optimal bandwidth usage No more request (push delivery ) s c2 c1 p5 p1 c2 c1 c2 p6 c1 p8 c1 ⊕ c2 p3 11 / 14 Gwendal Simon p7 c1 ⊕ c2 p2 p4 P2P live streaming
  • 37.
    It Just Works! 12 / 14 Gwendal Simon P2P live streaming
  • 38.
  • 39.
    To Conclude 10 yearsof academic research for technologies that : Reduce control traffic Can cope with a dynamic population 14 / 14 Gwendal Simon P2P live streaming
  • 40.
    To Conclude 10 yearsof academic research for technologies that : Reduce control traffic Can cope with a dynamic population And still some open problems How to implement rate-adaptive mechanisms ? Can it be implemented into a smartphone ? 14 / 14 Gwendal Simon P2P live streaming
  • 41.
    To Conclude 10 yearsof academic research for technologies that : Reduce control traffic Can cope with a dynamic population And still some open problems How to implement rate-adaptive mechanisms ? Can it be implemented into a smartphone ? contact : gwendal.simon@telecom-bretagne.eu 14 / 14 Gwendal Simon P2P live streaming