ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

41
Peer-to-Peer et live streaming 10 ans de recherche académique Gwendal Simon

description

 

Transcript of ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

Page 1: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

Peer-to-Peer et livestreaming10 ans de rechercheacadémiqueGwendal Simon

Page 2: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la bulle académique

2 / 14 Gwendal Simon P2P live streaming

Page 3: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

monde académique vs. industriel

3 / 14 Gwendal Simon P2P live streaming

Page 4: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

qu’est-ce qu’un peer ?

px

=

+ +

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

4 / 14 Gwendal Simon P2P live streaming

Page 5: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

qu’est-ce qu’un peer ?

px

=

+ +

Ex : PeerJS, Adobe Cirrus

Ex : µTP, STUN

4 / 14 Gwendal Simon P2P live streaming

Page 6: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

qu’est-ce qu’un peer ?

px

=

+ +

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

4 / 14 Gwendal Simon P2P live streaming

Page 7: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

à l’origine fut la structure

s

source

p1

p2

p3 p4

p5

p6 p7

p8

feuilles non-contributeurs

impact des défaillances

structure figée

Points faiblespas de multi-layer video

coût de maintien

structure figée

Points faibles

5 / 14 Gwendal Simon P2P live streaming

Page 8: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

à l’origine fut la structure

s

source

p1

p2

p3 p4

p5

p6 p7

p8

feuilles non-contributeurs

impact des défaillances

structure figée

Points faiblespas de multi-layer video

coût de maintien

structure figée

Points faibles

5 / 14 Gwendal Simon P2P live streaming

Page 9: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

à l’origine fut la structure

s

source

p1

p2

p3 p4

p5

p6 p7

p8

feuilles non-contributeurs

impact des défaillances

structure figée

Points faibles

pas de multi-layer video

coût de maintien

structure figée

Points faibles

5 / 14 Gwendal Simon P2P live streaming

Page 10: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

à l’origine fut la structure

s

source

p1

p2

p3 p4

p5

p6 p7

p8

feuilles non-contributeurs

impact des défaillances

structure figée

Points faiblespas de multi-layer video

coût de maintien

structure figée

Points faibles

5 / 14 Gwendal Simon P2P live streaming

Page 11: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

à l’origine fut la structure

s

source

p1

p2

p3 p4

p5

p6 p7

p8

feuilles non-contributeurs

impact des défaillances

structure figée

Points faibles

pas de multi-layer video

coût de maintien

structure figée

Points faibles

5 / 14 Gwendal Simon P2P live streaming

Page 12: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

changer les règles du jeu

découpage en chunks

partage de chunk map

pull-based téléchargement

structure aléatoire mesh

6 / 14 Gwendal Simon P2P live streaming

Page 13: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

changer les règles du jeu

découpage en chunks

partage de chunk map

pull-based téléchargement

structure aléatoire mesh

6 / 14 Gwendal Simon P2P live streaming

Page 14: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

changer les règles du jeu

découpage en chunks

partage de chunk map

pull-based téléchargement

structure aléatoire mesh

6 / 14 Gwendal Simon P2P live streaming

Page 15: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

changer les règles du jeu

découpage en chunks

partage de chunk map

pull-based téléchargement

structure aléatoire mesh

6 / 14 Gwendal Simon P2P live streaming

Page 16: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

changer les règles du jeu

découpage en chunks

partage de chunk map

pull-based téléchargement

structure aléatoire mesh

6 / 14 Gwendal Simon P2P live streaming

Page 17: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

les réseaux mesh

s

source

p1

p2

p3 p4

p5

p6 p7

p8

à chaque round :

1. échange de chunk map

à chaque round :

1. échange de chunk map

2. requête de chunks c7

c8

c7

c3

c6

c4

c6

c5

c4

c3 c5

c5

à chaque round :

1. échange de chunk map

2. requête de chunks

3. envoi des chunks

7 / 14 Gwendal Simon P2P live streaming

Page 18: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

les réseaux mesh

s

source

p1

p2

p3 p4

p5

p6 p7

p8

à chaque round :

1. échange de chunk map

à chaque round :

1. échange de chunk map

2. requête de chunks c7

c8

c7

c3

c6

c4

c6

c5

c4

c3 c5

c5

à chaque round :

1. échange de chunk map

2. requête de chunks

3. envoi des chunks

7 / 14 Gwendal Simon P2P live streaming

Page 19: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

les réseaux mesh

s

source

p1

p2

p3 p4

p5

p6 p7

p8

à chaque round :

1. échange de chunk map

à chaque round :

1. échange de chunk map

2. requête de chunks

c7

c8

c7

c3

c6

c4

c6

c5

c4

c3 c5

c5

à chaque round :

1. échange de chunk map

2. requête de chunks

3. envoi des chunks

7 / 14 Gwendal Simon P2P live streaming

Page 20: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

les réseaux mesh

s

source

p1

p2

p3 p4

p5

p6 p7

p8

à chaque round :

1. échange de chunk map

à chaque round :

1. échange de chunk map

2. requête de chunks

c7

c8

c7

c3

c6

c4

c6

c5

c4

c3 c5

c5

à chaque round :

1. échange de chunk map

2. requête de chunks

3. envoi des chunks

7 / 14 Gwendal Simon P2P live streaming

Page 21: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

fenêtre glissante (exemple avec un peer)

lag. . .

chunk prodduitpar la source s

chunk le plus récentqu’un peer à 1 hopde s peut recevoir

chunk le plus récentqu’un peer à k hopsde s peut recevoir

le plus récentchunk reçu

chunks prioritaires

chunk à l’écran

chunks déjà joués

8 / 14 Gwendal Simon P2P live streaming

Page 22: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

fenêtre glissante (exemple avec un peer)

lag. . .

chunk prodduitpar la source s

chunk le plus récentqu’un peer à 1 hopde s peut recevoir

chunk le plus récentqu’un peer à k hopsde s peut recevoir

le plus récentchunk reçu

chunks prioritaires

chunk à l’écran

chunks déjà joués

8 / 14 Gwendal Simon P2P live streaming

Page 23: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

fenêtre glissante (exemple avec un peer)

lag. . .

chunk prodduitpar la source s

chunk le plus récentqu’un peer à 1 hopde s peut recevoir

chunk le plus récentqu’un peer à k hopsde s peut recevoir

le plus récentchunk reçu

chunks prioritaires

chunk à l’écran

chunks déjà joués

8 / 14 Gwendal Simon P2P live streaming

Page 24: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

fenêtre glissante (exemple avec un peer)

lag. . .

chunk prodduitpar la source s

chunk le plus récentqu’un peer à 1 hopde s peut recevoir

chunk le plus récentqu’un peer à k hopsde s peut recevoir

le plus récentchunk reçu

chunks prioritaires

chunk à l’écran

chunks déjà joués

8 / 14 Gwendal Simon P2P live streaming

Page 25: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

principaux algorithmescomment trouver des voisins ?

utilisation d’un tracker- tirage aléatoire- proximité réseau (IETF ALTO)- test de bande-passante, réputation, etc.

système peer-to-peer (trackerless)- gossip- table de hashage distribuée

quel chunk envoyer à qui ?tirage aléatoirele chunk le plus rare au peer le plus méritanten fonction de l’urgence

9 / 14 Gwendal Simon P2P live streaming

Page 26: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

principaux algorithmescomment trouver des voisins ?

utilisation d’un tracker- tirage aléatoire- proximité réseau (IETF ALTO)- test de bande-passante, réputation, etc.

système peer-to-peer (trackerless)- gossip- table de hashage distribuée

quel chunk envoyer à qui ?tirage aléatoirele chunk le plus rare au peer le plus méritanten fonction de l’urgence

9 / 14 Gwendal Simon P2P live streaming

Page 27: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

principaux algorithmescomment trouver des voisins ?

utilisation d’un tracker- tirage aléatoire- proximité réseau (IETF ALTO)- test de bande-passante, réputation, etc.

système peer-to-peer (trackerless)- gossip- table de hashage distribuée

quel chunk envoyer à qui ?tirage aléatoirele chunk le plus rare au peer le plus méritanten fonction de l’urgence

9 / 14 Gwendal Simon P2P live streaming

Page 28: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

principaux algorithmescomment trouver des voisins ?

utilisation d’un tracker- tirage aléatoire- proximité réseau (IETF ALTO)- test de bande-passante, réputation, etc.

système peer-to-peer (trackerless)- gossip- table de hashage distribuée

quel chunk envoyer à qui ?

tirage aléatoirele chunk le plus rare au peer le plus méritanten fonction de l’urgence

9 / 14 Gwendal Simon P2P live streaming

Page 29: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

principaux algorithmescomment trouver des voisins ?

utilisation d’un tracker- tirage aléatoire- proximité réseau (IETF ALTO)- test de bande-passante, réputation, etc.

système peer-to-peer (trackerless)- gossip- table de hashage distribuée

quel chunk envoyer à qui ?tirage aléatoirele chunk le plus rare au peer le plus méritanten fonction de l’urgence

9 / 14 Gwendal Simon P2P live streaming

Page 30: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

succès commercial

10 / 14 Gwendal Simon P2P live streaming

Page 31: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 32: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 33: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 34: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 35: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 36: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

la révolution du network coding

s

source

p1

p2

p3 p4

p5

p6 p7

p8

c1c2

c1c2

c2

c1

c1 ⊕ c2

c1 ⊕ c2

rappel : 1100 ⊕ 1010 = 0110

Un nouveau découpage en une génération dek blocs b1, b2, . . . , bk .Un peer possédant m blocs dans une généra-tion choisit des coefficients d1, d2, . . . , dm etgénère un nouveau bloc :∑

i≤mdi · bi

Quand un peer reçoit k blocs, il est capable dereconstituer la génération complète.

en pratique

c1 ⊕ c2

c1 ⊕ c2

utilisation optimale debande-passante

suppression des requêtes(push delivery)

11 / 14 Gwendal Simon P2P live streaming

Page 37: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

et ça marche !

12 / 14 Gwendal Simon P2P live streaming

Page 38: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

vers les architectures peer-assisted

s

s0 s1 s2

source

datacenters

p1

p2

p3 p4

p5

p6 p7

p8

13 / 14 Gwendal Simon P2P live streaming

Page 39: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

pour conclure

10 ans de recherche pour des technologies qui :réduisent le traffic de contrôles’adaptent à une population dynamique

Et quelques défis toujours ouverts, dont :comment intégrer des mécanismes rate-adaptive ?cela peut-il être implémenté dans un smartphone ?

contact : [email protected]

14 / 14 Gwendal Simon P2P live streaming

Page 40: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

pour conclure

10 ans de recherche pour des technologies qui :réduisent le traffic de contrôles’adaptent à une population dynamique

Et quelques défis toujours ouverts, dont :comment intégrer des mécanismes rate-adaptive ?cela peut-il être implémenté dans un smartphone ?

contact : [email protected]

14 / 14 Gwendal Simon P2P live streaming

Page 41: ConférenSquad #2 : Gwendal Simon - P2P & Live Streaming

pour conclure

10 ans de recherche pour des technologies qui :réduisent le traffic de contrôles’adaptent à une population dynamique

Et quelques défis toujours ouverts, dont :comment intégrer des mécanismes rate-adaptive ?cela peut-il être implémenté dans un smartphone ?

contact : [email protected]

14 / 14 Gwendal Simon P2P live streaming