5. qu’est-ce qu’un peer ?
px
=
+
+
Ex : PeerJS, Adobe Cirrus
4 / 14
Gwendal Simon
P2P live streaming
6. qu’est-ce qu’un peer ?
px
=
+
+
Ex : µTP, STUN
Ex : PeerJS, Adobe Cirrus
4 / 14
Gwendal Simon
P2P live streaming
7. à l’origine fut la structure
source
s
p5
p1
p6
p8
p2
p3
5 / 14
Gwendal Simon
p7
p4
P2P live streaming
8. à l’origine fut la structure
source
s
p5
p1
p6
p8
p2
p3
5 / 14
Gwendal Simon
p7
p4
P2P live streaming
9. à l’origine fut la structure
Points faibles
feuilles non-contributeurs
source
impact des défaillances
s
structure figée
p5
p1
p6
p8
p2
p3
5 / 14
Gwendal Simon
p7
p4
P2P live streaming
10. à l’origine fut la structure
source
s
p5
p1
p6
p8
p2
p3
5 / 14
Gwendal Simon
p7
p4
P2P live streaming
11. à l’origine fut la structure
Points faibles
pas de multi-layer video
source
coût de maintien
s
structure figée
p5
p1
p6
p8
p2
p3
5 / 14
Gwendal Simon
p7
p4
P2P live streaming
13. changer les règles du jeu
déco
upag
e
6 / 14
Gwendal Simon
en c
hunk
s
P2P live streaming
14. changer les règles du jeu
déco
upag
e
6 / 14
Gwendal Simon
k map
ge de chun
parta
en c
hunk
s
P2P live streaming
15. changer les règles du jeu
ent
gem
har
léc
d té
ase
b
pulldéco
upag
e
6 / 14
Gwendal Simon
k map
ge de chun
parta
en c
hunk
s
P2P live streaming
16. changer les règles du jeu
ent
gem
har
léc
d té
se
ll-ba
pu
structure aléato
ire mesh
k map
ge de chun
déco
arta
upag p
e en
chun
ks
6 / 14
Gwendal Simon
P2P live streaming
18. les réseaux mesh
source
à chaque round :
s
1. échange de chunk map
p5
p1
p6
p8
p2
p3
7 / 14
Gwendal Simon
p7
p4
P2P live streaming
19. les réseaux mesh
source
à chaque round :
s
1. échange de chunk map
2. requête de chunks
p5
p1
p6
p8
p2
p3
7 / 14
Gwendal Simon
p7
p4
P2P live streaming
20. les réseaux mesh
source
à chaque round :
s
1. échange de chunk map
c7
2. requête de chunks
c7
3. envoi des 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. fenêtre glissante (exemple avec un peer)
...
lag
chunk prodduit
par la source s
8 / 14
Gwendal Simon
P2P live streaming
22. fenêtre glissante (exemple avec un peer)
...
lag
chunk le plus récent
qu’un peer à k hops
de s peut recevoir
chunk le plus récent
qu’un peer à 1 hop
de s peut recevoir
chunk prodduit
par la source s
8 / 14
Gwendal Simon
P2P live streaming
23. fenêtre glissante (exemple avec un peer)
...
lag
chunk le plus récent
qu’un peer à k hops
de s peut recevoir
le plus récent
chunk reçu
chunk le plus récent
qu’un peer à 1 hop
de s peut recevoir
chunk prodduit
par la source s
8 / 14
Gwendal Simon
P2P live streaming
24. fenêtre glissante (exemple avec un peer)
...
lag
chunk le plus récent
qu’un peer à k hops
de s peut recevoir
chunks prioritaires
chunks déjà joués
le plus récent
chunk reçu
chunk le plus récent
qu’un peer à 1 hop
de s peut recevoir
chunk à l’écran
chunk prodduit
par la source s
8 / 14
Gwendal Simon
P2P live streaming
26. principaux algorithmes
comment trouver des voisins ?
utilisation d’un tracker
- tirage aléatoire
- proximité réseau (IETF ALTO)
- test de bande-passante, réputation, etc.
9 / 14
Gwendal Simon
P2P live streaming
27. principaux algorithmes
comment 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
9 / 14
Gwendal Simon
P2P live streaming
28. principaux algorithmes
comment 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 ?
9 / 14
Gwendal Simon
P2P live streaming
29. principaux algorithmes
comment 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éatoire
le chunk le plus rare au peer le plus méritant
en fonction de l’urgence
9 / 14
Gwendal Simon
P2P live streaming
31. la révolution du network coding
source
s
p5
p1
p6
p8
p2
p3
11 / 14
Gwendal Simon
p7
p4
P2P live streaming
32. la révolution du network coding
source
s
c2
c1
p5
p1
p6
p8
p2
p3
11 / 14
Gwendal Simon
p7
p4
P2P live streaming
33. la révolution du network coding
source
s
c2
c1
p5
p1
c2
c1
p6
c2
p7
c1
p8
p2
p3
11 / 14
Gwendal Simon
p4
P2P live streaming
34. la révolution du network coding
source
s
c2
c1
p5
p1
c2
c1
c2
p6
p8
p7
c1 ⊕ c2
c1
c1 ⊕ c2
p2
p3
p4
rappel : 1100 ⊕ 1010 = 0110
11 / 14
Gwendal Simon
P2P live streaming
35. la révolution du network coding
source
en pratique
s
Un nouveau découpage en une génération de
c2
k blocs b1 , bc , . . . , bk .
2
1
Un peer possédant m blocs dans une générap
tion choisit des coefficients d1 ,5d2 , . . . , dm et
p1
génère un nouveau bloc 2:
c
c1
di · bi
p6
p2
Quand un peer reçoit k blocs, il est capable de
reconstituer la génération complète.
p3
11 / 14
p7
i≤m
c1
p8
c2
Gwendal Simon
p4
P2P live streaming
36. la révolution du network coding
source
utilisation optimale de
bande-passante
s
suppression des requêtes
(push delivery )
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. et ça marche !
12 / 14
Gwendal Simon
P2P live streaming
38. vers les architectures peer-assisted
source
s
datacenters
s0
s1
s2
p5
p1
p6
p8
p2
p3
13 / 14
p7
Gwendal Simon
p4
P2P live streaming
39. pour conclure
10 ans de recherche pour des technologies qui :
réduisent le traffic de contrôle
s’adaptent à une population dynamique
14 / 14
Gwendal Simon
P2P live streaming
40. pour conclure
10 ans de recherche pour des technologies qui :
réduisent le traffic de contrôle
s’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 ?
14 / 14
Gwendal Simon
P2P live streaming
41. pour conclure
10 ans de recherche pour des technologies qui :
réduisent le traffic de contrôle
s’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 : gwendal.simon@telecom-bretagne.eu
14 / 14
Gwendal Simon
P2P live streaming