41
Peer-to-Peer and live streaming 10 years of academic research Gwendal Simon

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

Embed Size (px)

DESCRIPTION

Presentation by Gwendal Simon (Telecom Bretagne) prepared for the OVFSquad conference of January 23, 2014 http://goo.gl/V8L5E1

Citation preview

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

Peer-to-Peer and livestreaming10 years of academicresearchGwendal Simon

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

The Academic Bubble

B. Li et al. Rise and fall of the peer-to-peer empire.

2 / 14 Gwendal Simon P2P live streaming

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

Academic vs. Industrial World

3 / 14 Gwendal Simon P2P live streaming

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

What is a Peer ?

px

=

+ +

Ex : PeerJS, Adobe Cirrus Ex : µTP, STUN

4 / 14 Gwendal Simon P2P live streaming

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

What is a Peer ?

px

=

+ +

Ex : PeerJS, Adobe Cirrus

Ex : µTP, STUN

4 / 14 Gwendal Simon P2P live streaming

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

What is a Peer ?

px

=

+ +

Ex : PeerJS, Adobe Cirrus Ex : µTP, STUN

4 / 14 Gwendal Simon P2P live streaming

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

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

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

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

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

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

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

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

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

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

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

Disruption

cut content into chunks

share chunk map

pull-based downloading

random mesh topology

6 / 14 Gwendal Simon P2P live streaming

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

Disruption

cut content into chunks

share chunk map

pull-based downloading

random mesh topology

6 / 14 Gwendal Simon P2P live streaming

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

Disruption

cut content into chunks

share chunk map

pull-based downloading

random mesh topology

6 / 14 Gwendal Simon P2P live streaming

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

Disruption

cut content into chunks

share chunk map

pull-based downloading

random mesh topology

6 / 14 Gwendal Simon P2P live streaming

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

Disruption

cut content into chunks

share chunk map

pull-based downloading

random mesh topology

6 / 14 Gwendal Simon P2P live streaming

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Commercial Success

10 / 14 Gwendal Simon P2P live streaming

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

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

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

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

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

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

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

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

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

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

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

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

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

It Just Works !

12 / 14 Gwendal Simon P2P live streaming

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

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

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

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

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

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

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

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