5. ‣ Crescimento da audiência na Internet & preferência dos usuários
por consumo de conteúdo de vídeo
Motivação
Wednesday, May 7, 14
6. ‣ Crescimento da audiência na Internet & preferência dos usuários
por consumo de conteúdo de vídeo
Motivação
‣ Red Bull Stratos 2012
‣ 8 milhões usuários simultâneos
Wednesday, May 7, 14
7. Motivação
‣ Red Bull Stratos 2012
‣ 8 milhões usuários simultâneos
‣ FIFA Copa das Confederações 2013 para Brasileiros
‣ Quase meio milhão de usuários simultâneos
‣ Crescimento da audiência na Internet & preferência dos usuários
por consumo de conteúdo de vídeo
Wednesday, May 7, 14
23. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
Motivação
Wednesday, May 7, 14
24. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
‣ Custo: OYouTube gasta 1 milhão de dólares por dia!
Motivação
Wednesday, May 7, 14
25. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
‣ Custo: OYouTube gasta 1 milhão de dólares por dia!
‣ Qualidade da Experiência (QoE)
Motivação
Wednesday, May 7, 14
26. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
‣ Custo: OYouTube gasta 1 milhão de dólares por dia!
‣ Qualidade da Experiência (QoE)
Motivação
Wednesday, May 7, 14
27. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
‣ Custo: OYouTube gasta 1 milhão de dólares por dia!
‣ Qualidade da Experiência (QoE)
Motivação
Wednesday, May 7, 14
28. Rebuffers by Region and Telecom Carrier at Brazil. Globo.com, 2013.
Motivação
Wednesday, May 7, 14
29. ‣ Content Delivery Networks
‣ Escalabilidade: CDNs escalam com a adição de pontos de
presença (PoP’s)
‣ Custo: OYouTube gasta 1 milhão de dólares por dia!
‣ Qualidade da Experiência (QoE)
Motivação
‣ “4 out of 5 users abandon a video if it rebuffers
during playback.” TubeMogul (December, 2009)
Wednesday, May 7, 14
30. Video Stream Quality Impacts Viewer Behavior: Inferring Causality Using Quasi-Experimental Designs,
KRISHNAN S. Shunmuga.A. IEEE/ACM Transactions on Networking. 2013.
Motivação
‣ StartupTime x Abandonment Rate
Wednesday, May 7, 14
32. ‣ Protocolos de Streaming Multimídia
‣ RTMP x HTTP
Background
Wednesday, May 7, 14
33. ‣ Protocolos de Streaming Multimídia
‣ RTMP x HTTP
HTTP versus RTMP:Which way to Go and Why?, Cisco Whitepaper (October, 2011)
Background
RTP/RTSP/RTMP HTTP-Based
Mostly on top of UDP On top of HTTP
Specialized Media Servers
Segmenter + Ordinary
Web Servers
Low Delay High Delay
Wednesday, May 7, 14
34. ‣ Protocolos de Streaming Multimídia
‣ RTMP x HTTP
Tempo Assistido mais usuários
na melhor
qualidade
Qualidade Média
Quality of Experience Report. Globo.com, 2013.
Background
Wednesday, May 7, 14
35. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
Background
Wednesday, May 7, 14
36. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
Background
Wednesday, May 7, 14
37. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
video está segmentado!
Background
Wednesday, May 7, 14
38. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
Background
Wednesday, May 7, 14
39. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
‣ HTTP Caching r
Background
Wednesday, May 7, 14
40. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
‣ HTTP Caching r
‣ Transparent Proxies r
Background
$ curl -I "http://hls.glbvid.com/new/tvg/tvg_264/
tvg_1372204662819_1372204662819_1219.ts" HTTP/1.1 200 OK
Server: nginx
Date:Wed, 26 Jun 2013 01:19:34 GMT
Content-Type: video/mp2t
Content-Length: 172584
Connection: keep-alive
Last-Modified:Wed, 26 Jun 2013 01:19:04 GMT Expires:Wed, 26 Jun 2013 01:24:14 GMT
Cache-Control: public
Wednesday, May 7, 14
41. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
‣ HTTP Caching r
‣ Transparent Proxies r
‣ Delay Introduction s
Background
Wednesday, May 7, 14
42. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
‣ HTTP Dynamic Streaming (HDS) by Adobe
‣ HTTP Live Streaming (HLS) by Apple (IETF Draft)
‣ Smooth Streaming by Microsoft
‣ DASH by MPEG
Background
Wednesday, May 7, 14
43. ‣ Protocolos de Streaming Multimídia
‣ Protocolo baseado em HTTP
‣ HTTP Dynamic Streaming (HDS) by Adobe
‣ HTTP Live Streaming (HLS) by Apple (IETF Draft)
‣ Smooth Streaming by Microsoft
‣ DASH by MPEG
Background
Wednesday, May 7, 14
61. “In p2p systems, the higher quantity of active peers,
the better delivery service works.
DUYEN HOA HA,A novel Hybrid CDN-P2P mechanism for Effective real-time media
streaming
Pesquisa
Wednesday, May 7, 14
62. “Data delivery is better in broadcast based systems (...),
but as the user volume for dynamic content increases,
internet scale search and data delivery using peer-to-peer
systems beats any broadcast based system.
KAVYA LAKSHMI SUDHEERA, Dynamic P2P Streaming Using Delaunay Edges
Pesquisa
Wednesday, May 7, 14
63. “Peer-assisted data sharing can reduce the network cost
by dramatically decreasing download bandwidth of
content servers up to 96%.
SEONGHO CHO, Playback Latency Reduction for Internet Live Video Services in CDN-P2P
Hybrid Architecture
Pesquisa
Wednesday, May 7, 14
64. ‣ Propor Arquitetura P2P/CDN Híbrida para
Distribuição deVídeo aoVivo utilizando WebRTC
‣ Evita a necessidade da instalação de plugins de terceiros
‣ Usa os poderes do peer-to-peer para escoar os chunks de
vídeo entre os nós (usuários)
‣ Diminui o custo da transmissão
Pesquisa
Wednesday, May 7, 14
67. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
O que já foi feito?
Wednesday, May 7, 14
68. http://bem.tv/demo.html
‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
O que já foi feito?
Wednesday, May 7, 14
69. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
O que já foi feito?
Wednesday, May 7, 14
70. 205/44 246/49
157/115
‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
O que já foi feito?
Wednesday, May 7, 14
71. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
‣ Conceito de “enxame” & matching de nós (usuários)
‣ Geolocalização + Provedor de Internet
http://server.bem.tv/room
O que já foi feito?
Wednesday, May 7, 14
72. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
‣ Conceito de “enxame” & matching de nós (usuários)
‣ Geolocalização + Provedor de Internet
O que já foi feito?
Wednesday, May 7, 14
73. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
‣ Conceito de “enxame” & matching de nós (usuários)
‣ Geolocalização + Provedor de Internet
O que já foi feito?
Wednesday, May 7, 14
74. ‣ Troca de chunks de vídeo entre peers utilizando HTTP Live Streaming
(HLS) e WebRTC
‣ Conceito de “enxame” & matching de nós (usuários)
‣ Geolocalização + Provedor de Internet
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
75. ‣ Protocolo minimalista de sinalização e troca de chunks
A
B
C
O que já foi feito?
Wednesday, May 7, 14
76. A
B
C
A needs chunk bbb_3.ts
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
78. A
B
C
checking if have bbb_3.ts
<A> DESIRE:bbb_3.ts
checking if have bbb_3.ts
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
84. A
B
C
<A> DESIRE:bbb_3.ts
<B-A> DESACK:bbb_3.ts
<C-A> DESACK:bbb_3.ts
<A-C> REQ:bbb_3.ts
<C-A> OFFER:bbb_3.ts:<blob>
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
85. A
B
C
<A> DESIRE:bbb_3.ts
<B-A> DESACK:bbb_3.ts
<C-A> DESACK:bbb_3.ts
<A-C> REQ:bbb_3.ts
<C-A> OFFER:bbb_3.ts:<blob>
A have chunk bbb_3.ts!
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
86. A
B
C
<A> DESIRE:bbb_3.ts
<B-A> DESACK:bbb_3.ts
<C-A> DESACK:bbb_3.ts
<A-C> REQ:bbb_3.ts
<C-A> OFFER:bbb_3.ts:<blob>
timeout? go to CDN
CDN
‣ Protocolo minimalista de sinalização e troca de chunks
O que já foi feito?
Wednesday, May 7, 14
88. ‣ Primeiros Experimentos
‣ 10 Apple MacBooks White (2GB SDRAM)
‣ Mozila Firefox 27.1 (WebRTC compatible)
‣ Mesmo roteador Wi-Fi (10/100Mbps)
‣ Video
‣ Chunks com 5 segundos de duração
‣ 600 Kbps de bitrate (qualidade)
‣ CDN + Room Discoverer + P2P Signaling Server
‣ 1 server with 512MB of SDRAM em NY
O que já foi feito?
Wednesday, May 7, 14
94. ‣ Nossa abordagem é promissora!
Conclusão eTrabalhos Futuros
Wednesday, May 7, 14
95. ‣ Nossa abordagem é promissora!
‣ Melhorias:
‣ Convergência de Peers e Over Swarming
‣ Reputation, Partnership, Leader Election
‣ Protocolo de troca de chunks de vídeo
‣ Segurança do Conteúdo
‣ Poisoned Chunks
‣ DoS Starvation
Conclusão eTrabalhos Futuros
Wednesday, May 7, 14
101. References
•Berkvist,A., Burnett, D., Jennings, C. Narayanan,A. (2011) “WebRTC 1.0: Real-Time Communication Between Browsers”.Working Draft.
•Bronzino, F. Gaeta, R. Grangetto, M. Pau, G. (2012) “An Adaptive Hybrid CDN/P2P Solution for Content Delivery Networks”.VCIP, page 1-6, IEEE.
•Cho, S., Cho, J., Shin, S. (2010) “Playback Latency Reduction for Internet LiveVideo Services in CDN-P2P Hybrid Architecture”. 2013 IEEE International
Conference on Communications.
•Huang, C.,Wang,A., Li, J., Ross, K. (2008) “Understanding hybrid CDN-P2P: why limelight needs its own Red Swoosh”. Proceedings of the 18th International
Workshop on Network and Operating Systems Support for Digital Audio andVideo.
•Katz,T. (2012) “Mission Complete: Red Bull Stratos lands safely back on Earth”. http://goo.gl/bX31hl, accessed in March 2014.
•Kovacevic,A., Graffi, K., Pussep, K., Steinmetz, R. (2009) “Underlay awareness in P2P systems:Techniques and challenges”. IEEE Symposium on Parallel &
Distributed Processing.
•Kutten, S., Panduragan, G., Peleg, D., Robinson, P.,Trehan,A. (2013) “On the complexity of universal leader election”. Proceedings of the ACM symposium on
Principles of distributed computing.
•Li, B., Xie, S., Qu,Y., Keung, G.Y. (2008) “Inside the New CoolStreaming: Principles, Measurements and Performance Implications”. IEEE 27th Conference on
Computer Communications.
•Medina-López, C., Naranjo, J.A.M., García-Ortiz, J. P., Casado, L. G., González-Ruiz,V. (2013) “Execution of the P2PSP protocol in parallel environments”. XXIV
Jornadas de Paralelismo. Madrid, Spain.
•Naylor,A. (2013) “WebRTC is almost here, and it will change the web”. http://goo.gl/IgxF33, accessed in March 2014.
•Nordyke, K, (2014) “HBO Go Crashes During ‘True Detective’ Finale”. http://goo.gl/zixUr7, accessed in March 2014.
•Parmar, H. andThornburg, M. (2012) “Adobe’s RealTime Messaging Protocol”. http://goo.gl/cGMWPI, accessed in March 2014.
•Rosenberg. J, Mahy, R., Matthews, P.Wing, D. (2008) “SessionTraversal Utilities for NAT (STUN)”. IEFT Proposed Standard.
•Roussopolous, M., Baker, M., Rosenthal D. S. H., GiuliT. J., Maniatis, P., Mogul, P. (2004) “2 P2P or Not 2 P2P?”.Third International Workshop, IPTPS 2004.
•Sandoval, G. (2013) “. Netflix Chief Product Officer: expect 4k Streaming within a year or two”. http://goo.gl/F4S133, accessed in March 2014.
•Spangler,T. (2009) “YouTube May Lose $470 Million in 2009:Analysts”. http://goo.gl/oNgAzY, accessed in March 2014.
•Xiong, L. and Liu, L. (2004) “PeerTrust: Supporting Reputation-BasedTrust for Peer-to-Peer Electronic Communities”. IEEETransactions on Knowledge and
Data Engineering.
•Yuste, L. and Melvin, H. (2012) “A Protocol Review for IPTV and WebTV Multimedia Delivery Systems”. Scientific Letters of the University of Zilina, vol 14.
•Zimmerman,A., (2014) “ABC Promised to Livestream the Oscars andTotally Failed”. http://goo.gl/sTNb7d, accessed in March 2014.
Wednesday, May 7, 14