57
Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Embed Size (px)

Citation preview

Page 1: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Autor: Lucas Medaber Jambo Alves Paes

Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa

Redes de Computadores II

Page 2: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Introdução Tipos de Streaming Video on Demand Streaming de vídeo P2P Topologias CoolStreaming – DONet Comentários Finais

Page 3: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

O que é Streaming multimedia ?

Distribuição de vídeo e áudio em fluxos contínuos e em tempo real.

Page 4: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Tamanho do arquivo

Restrição de tempo

Escalabilidade

Page 5: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Streaming

Video on Demand (VoD)Streaming ao vivo (Live feed)

Page 6: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Centralizado

Descentralizado

Page 7: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Batching

Patching

ExemplosYouTubeCNN Pipeline

Page 8: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Problemas

Falta de confiaçaFalta de escalabilidade

Page 9: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Modelo peer-to-peer

Pontos fundamentaisDinâmica dos participantesRoteamentoBuscaMulticast

Foram criadas tecnologias para lidar com esses pontos

Page 10: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Fairness

Soluções para promover o altruísmo○ Tit for tat○ Créditos

Page 11: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Topologias

DesestruturadaSwarmCadeiaÁrvore

Page 12: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Ciclo básico de um nó em uma rede p2p

Topologia a ser escolhida depende da taxa com que o ciclo é executado

Page 13: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Busca

Índice centralizadoInundação de busca/índiceRoteamento Semântico

Page 14: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Exemplos

GnuStreamP2CastBiTos

Page 15: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

ImplementaçãoApplication-Layer Multicast (ALM)Rede overlay

Questões principaisTopologia P2PRoteamento e escalonamento dos dadosGestão dos peers participantes

Page 16: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Abordagens comparadasÁrvoreMalha

Multiple Description Coding (MDC)Stream é divididoSub-streams são chamados de descriptionsPodem ser decodificados independentemente

Page 17: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 18: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Peers são organizados em diversas árvores, de acordo com sua banda disponível

Cada peer é colocado comoNó interno em apenas uma árvoreNó externo em outras árvores

Cada description é entregue à uma árvore específica

Fornecimento de conteúdoNós internos encaminham os pacotes para os filhos

Page 19: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 20: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Peers formam um overlay conectado aleatoriamente

Chegada do peerRecebe uma lista de possíveis pais

Um certo número de pais e filhos é mantido

Page 21: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Fornecimento de conteúdo em swarmAnúncios e pedidos de conteúdo são

combinados

Como determinar os pacotes que serão pedidos?Algoritmo de packet scheduling

Page 22: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Objetivos do packet scheduling

Utilizar a banda de todos os pais de modo eficazConseguir um bom número de descriptionsGarantir o fornecimento de pacotes no tempo

certo

Page 23: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Exemplo de uso do packet scheduling PRIME - Peer-to-peer Receiver-drIven MEsh-based

streaming

Cada peer guarda 2 informações dos paisPacotes disponíveisMédia ponderada da banda

Banda agregada de entrada é monitoradaNúmero de descriptions (qualidade alvo N) é adaptado

Page 24: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Algoritmo de scheduling é periodicamente invocadoPacotes com maior timestamp são identificados

Pacotes restantesParte aleatória é pedida a todos os pais

Total de pacotes pedidos para cada pai Determinado pela banda disponívelBalanceamento de carga

Page 25: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Resultado final do overlay é bem parecido

Cada peer recebe conteúdo de diferentes pais e envia conteúdo para diversos filhos

Necessário um tempo T de atraso em relação ao playout da fonte

Page 26: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Formação da árvore de entrega de cada pacoteÁrvore: a árvore de entrega para pacotes de uma

description é a própria árvore overlay daquela description○ Pouca banda: Pacotes não podem ser enviados na taxa

correta para os filhos

Malha: formada dinamicamente enquanto o pacote atravessa a rede○ Pouca banda: Pacotes são recebidos por outros

caminhos, de outros pais.

Page 27: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

CoolStreaming

PPLive.com

Joost

SopCast

Page 28: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 29: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 30: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 31: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 32: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Data-driven Overlay NetworkPeriodicamente, cada nó

○ Troca informações sobre dados disponíveis○ Recebe dados novos○ Envia dados

Concepção data-centricNó sempre encaminha dados

○ Nenhum papel pré-determinado (pai/filho)A disponibilidade de dados que guia o fluxo

○ Adequada para overlays muito dinâmicos

Page 33: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Recursos principais

Fácil de implementarEficienteRobustoResistente

Page 34: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Algoritmo GossipUm nó envia uma mensagem nova para um

conjunto aleatório de nósOs nós receptores fazem o mesmo no round

seguinte, até a mensagem chegar a todos No DONet

Utilizado para gerenciamento dos membrosFornecimento de dados é parcialmente

motivado por este conceito○ Envio de dados para fontes aleatórias causaria

redundância

Page 35: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 3

Page 36: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Cada nó possuiIdentificador únicoMembership cache (mCache)

○ Contém uma lista parcial com identificadores dos nós ativos no DONet

Membership messageGerada periodicamenteAnuncia a existência de um nó

Page 37: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Algoritmo básico de entrada de nósNó de origem é contactado

○ Redireciona o novo nó para um nó deputy (assistente)

Nó deputy envia uma lista de candidatos a parceiro para o novo nó

Viável, pois o nó de origem ○ Geralmente persiste até o final da transmissão○ É conhecido por todos○ Reduz sua carga devido ao redirecionamento

Page 38: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Exemplo de parceria no DONetNem os parceiros, nem a direção nas

transmissões de dados são fixas

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 4

Page 39: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Stream de vídeo dividido em vários segmentos de tamanho uniformeBuffer Map (BM) representa a disponibilidade

desses segmentos

Nós trocam os BM com seus parceirosPermite o escalonamento quais segmentos serão

pedidos de quais parceiros

Page 40: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Considera 2 pontosDeadline de cada segmento que será mostradoBanda heterogênea dos parceiros

Calcula o número de fornecedores em potencial para cada segmentoPoucos fornecedores – deadline difícil de cumprirSegmentos com menos fornecedores são

escolhidos primeiro Fim do algoritmo

Mensagem mandada ao fornecedor com os segmentos requisitados

Page 41: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Modos de saída de um nóMensagem de saídaSaída acidental (falha)

Quando um nó falhaParceiro que detecta a falha envia a mensagem

de saída daquele nó

Page 42: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Comparação com overlay baseado em árvore

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 8

Page 43: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Comparação com overlay baseado em árvore

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 8

Page 44: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Baixo overhead de controle

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 6

Page 45: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Alta continuidade de playback e escalabilidade

X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 6

Page 46: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

Crescimento dos sistemas de streaming P2PDiversos sistemas estão sendo pesquisados em

todo o mundo

Aplicações já começam a tomar forma e ganhar a aceitação dos usuários

Pode ser explorado comercialmente

Page 47: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II
Page 48: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

1) Quais são os grandes desafios ao se fazer streaming de video, e por quê?

Page 49: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

1) Quais são os grandes desafios ao se fazer streaming de video, e por quê?

Tamanho do arquivo, pois os videos possuem tamanho muito grandes

Restrição de tempo, pois o video é ao vivoEscalabilidade, para suportar milhares de

usuários.

Page 50: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

2) Cite e explique uma das soluções para promover o altruísmo em redes P2P.

Page 51: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

2) Cite e explique uma das soluções para promover o altruísmo em redes P2P.

Tit-for-Tat: um peer inicialmente coopera com outro peer, e depois responde de acordo com sua ação

Creditos: serviços são trocados por créditos

Page 52: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

3) Em qual situação uma rede desestruturada pode ser utilizada?

Page 53: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

3) Em qual situação uma rede desestruturada pode ser utilizada?

Quando a dinâmica de entrada e saída dos peers é muito alta, o esforço para se estruturar a rede se torna ineficiente

Page 54: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

4) Qual a principal diferença entre as abordagens baseadas em árvore e malha para redes streaming P2P ?

Page 55: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

4) Qual a principal diferença entre as abordagens baseadas em árvore e malha para redes streaming P2P ?A diferença chave entre as abordagens baseadas em

árvore e malha é como a árvore de entrega de um determinado pacote é formada. Analisando uma situação onde existe pouca banda disponível para envio○ Na abordagem em árvore, os pacotes não poderão ser

enviados na taxa correta para todos os peers descendentes

○ Na abordagem em malha, seus peers descendentes poderão ainda receber pacotes por rotas alternativas, de outros pais

Page 56: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

5) Quais são os dois pontos levados em conta pelo algoritmo escalonador do DONet, e como ele funciona?

Page 57: Autor: Lucas Medaber Jambo Alves Paes Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski Costa Redes de Computadores II

5) Quais são os dois pontos levados em conta pelo algoritmo escalonador do DONet, e como ele funciona?O deadline de cada segmento que será mostrado e a

banda heterogênea dos parceirosO algoritmo primeiro calcula o n° de fornecedores em

potencial para cada segmento. Para um segmento com poucos fornecedores será mais difícil cumprir o deadline, então o algoritmo determina os segmentos com apenas um fornecedor, depois dois, e assim por diante. O fornecedor com maior banda e tempo disponível será escolhido para cada segmento

Com o fim do algoritmo, será mandada para o fornecedor uma mensagem contendo os segmentos a serem pedidos.