Redes de Computadores II Professores Otto Carlos Muniz

  • Slides: 57
Download presentation
Redes de Computadores II Professores: Otto Carlos Muniz Bandeira Duarte Luís Henrique Maciel Kosmalski

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

ROTEIRO Introdução Tipos de Streaming Video on Demand Streaming de vídeo P 2 P

ROTEIRO Introdução Tipos de Streaming Video on Demand Streaming de vídeo P 2 P Topologias Cool. Streaming – DONet Comentários Finais

INTRODUÇÃO O que é Streaming multimedia ? Distribuição de vídeo e áudio em fluxos

INTRODUÇÃO O que é Streaming multimedia ? Distribuição de vídeo e áudio em fluxos contínuos e em tempo real.

STREAMING - DESAFIOS Tamanho do arquivo Restrição de tempo Escalabilidade

STREAMING - DESAFIOS Tamanho do arquivo Restrição de tempo Escalabilidade

TIPOS DE STREAMING Streaming Video on Demand (Vo. D) Streaming ao vivo (Live feed)

TIPOS DE STREAMING Streaming Video on Demand (Vo. D) Streaming ao vivo (Live feed)

VIDEO ON DEMAND Centralizado Descentralizado

VIDEO ON DEMAND Centralizado Descentralizado

VOD - CENTRALIZADO Batching Patching Exemplos You. Tube CNN Pipeline

VOD - CENTRALIZADO Batching Patching Exemplos You. Tube CNN Pipeline

VOD - CENTRALIZADO Problemas Falta de confiaça Falta de escalabilidade

VOD - CENTRALIZADO Problemas Falta de confiaça Falta de escalabilidade

V OD DESCENTRALIZADO Modelo peer-to-peer Pontos fundamentais Dinâmica dos participantes Roteamento Busca Multicast Foram

V OD DESCENTRALIZADO Modelo peer-to-peer Pontos fundamentais Dinâmica dos participantes Roteamento Busca Multicast Foram criadas tecnologias para lidar com esses pontos

V OD DESCENTRALIZADO Fairness Soluções para promover o altruísmo ○ Tit for tat ○

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

V OD DESCENTRALIZADO Topologias Desestruturada Swarm Cadeia Árvore

V OD DESCENTRALIZADO Topologias Desestruturada Swarm Cadeia Árvore

V OD DESCENTRALIZADO Ciclo básico de um nó em uma rede p 2 p

V OD DESCENTRALIZADO Ciclo básico de um nó em uma rede p 2 p Topologia a ser escolhida depende da taxa com que o ciclo é executado

V OD DESCENTRALIZADO Busca Índice centralizado Inundação de busca/índice Roteamento Semântico

V OD DESCENTRALIZADO Busca Índice centralizado Inundação de busca/índice Roteamento Semântico

V OD DESCENTRALIZADO Exemplos Gnu. Stream P 2 Cast Bi. Tos

V OD DESCENTRALIZADO Exemplos Gnu. Stream P 2 Cast Bi. Tos

STREAMING EM REDES P 2 P Implementação Application-Layer Multicast (ALM) Rede overlay Questões principais

STREAMING EM REDES P 2 P Implementação Application-Layer Multicast (ALM) Rede overlay Questões principais Topologia P 2 P Roteamento e escalonamento dos dados Gestão dos peers participantes

STREAMING P 2 P TOPOLOGIAS Abordagens comparadas Árvore Malha Multiple Description Coding (MDC) Stream

STREAMING P 2 P TOPOLOGIAS Abordagens comparadas Árvore Malha Multiple Description Coding (MDC) Stream é dividido Sub-streams são chamados de descriptions Podem ser decodificados independentemente

Streaming P 2 P - Árvore

Streaming P 2 P - Árvore

STREAMING P 2 P - ÁRVORE Peers são organizados em diversas árvores, de acordo

STREAMING P 2 P - ÁRVORE Peers são organizados em diversas árvores, de acordo com sua banda disponível Cada peer é colocado como Nó interno em apenas uma árvore Nó externo em outras árvores Cada description é entregue à uma árvore específica Fornecimento de conteúdo Nós internos encaminham os pacotes para os filhos

Streaming P 2 P - Malha

Streaming P 2 P - Malha

STREAMING P 2 P - MALHA Peers formam um overlay conectado aleatoriamente Chegada do

STREAMING P 2 P - MALHA Peers formam um overlay conectado aleatoriamente Chegada do peer Recebe uma lista de possíveis pais Um certo número de pais e filhos é mantido

STREAMING P 2 P - MALHA Fornecimento de conteúdo em swarm Anúncios e pedidos

STREAMING P 2 P - MALHA Fornecimento de conteúdo em swarm Anúncios e pedidos de conteúdo são combinados Como determinar os pacotes que serão pedidos? Algoritmo de packet scheduling

STREAMING P 2 P - MALHA Objetivos do packet scheduling Utilizar a banda de

STREAMING P 2 P - MALHA Objetivos do packet scheduling Utilizar a banda de todos os pais de modo eficaz Conseguir um bom número de descriptions Garantir o fornecimento de pacotes no tempo certo

STREAMING P 2 P - MALHA Exemplo de uso do packet scheduling PRIME -

STREAMING P 2 P - MALHA Exemplo de uso do packet scheduling PRIME - Peer-to-peer Receiver-dr. Iven MEsh-based streaming Cada peer guarda 2 informações dos pais Pacotes disponíveis Média ponderada da banda Banda agregada de entrada é monitorada Número de descriptions (qualidade alvo N) é adaptado

STREAMING P 2 P - MALHA Algoritmo de scheduling é periodicamente invocado Pacotes com

STREAMING P 2 P - MALHA Algoritmo de scheduling é periodicamente invocado Pacotes com maior timestamp são identificados Pacotes restantes Parte aleatória é pedida a todos os pais Total de pacotes pedidos para cada pai Determinado pela banda disponível Balanceamento de carga

TOPOLOGIAS - SEMELHANÇAS Resultado final do overlay é bem parecido Cada peer recebe conteúdo

TOPOLOGIAS - SEMELHANÇAS 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

TOPOLOGIAS - DIFERENÇAS Formação da árvore de entrega de cada pacote Árvore: a árvore

TOPOLOGIAS - DIFERENÇAS 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.

EXEMPLOS ATUAIS Cool. Streaming PPLive. com Joost Sop. Cast

EXEMPLOS ATUAIS Cool. Streaming PPLive. com Joost Sop. Cast

EXEMPLOS - COOLSTREAMING

EXEMPLOS - COOLSTREAMING

EXEMPLOS - PPLIVE. COM

EXEMPLOS - PPLIVE. COM

EXEMPLOS - JOOST

EXEMPLOS - JOOST

EXEMPLOS - SOPCAST

EXEMPLOS - SOPCAST

COOLSTREAMING - DONET Data-driven Overlay Network Periodicamente, cada nó ○ Troca informações sobre dados

COOLSTREAMING - DONET Data-driven Overlay Network Periodicamente, cada nó ○ Troca informações sobre dados disponíveis ○ Recebe dados novos ○ Envia dados Concepção data-centric Nó sempre encaminha dados ○ Nenhum papel pré-determinado (pai/filho) A disponibilidade de dados que guia o fluxo ○ Adequada para overlays muito dinâmicos

COOLSTREAMING - DONET Recursos principais Fácil de implementar Eficiente Robusto Resistente

COOLSTREAMING - DONET Recursos principais Fácil de implementar Eficiente Robusto Resistente

COOLSTREAMING - DONET Algoritmo Gossip Um nó envia uma mensagem nova para um conjunto

COOLSTREAMING - DONET Algoritmo Gossip Um nó envia uma mensagem nova para um conjunto aleatório de nós Os nós receptores fazem o mesmo no round seguinte, até a mensagem chegar a todos No DONet Utilizado para gerenciamento dos membros Fornecimento de dados é parcialmente motivado por este conceito ○ Envio de dados para fontes aleatórias causaria redundância

DONET - ESTRUTURA MÓDULOS CHAVE � Membership Manager � Partnership Manager � Scheduler X.

DONET - ESTRUTURA MÓDULOS CHAVE � Membership Manager � Partnership Manager � Scheduler X. Zhang, J. Liu, B. Li, and T. S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 3

DONET – MEMBERSHIP MANAGER Cada nó possui Identificador único Membership cache (m. Cache) ○

DONET – MEMBERSHIP MANAGER Cada nó possui Identificador único Membership cache (m. Cache) ○ Contém uma lista parcial com identificadores dos nós ativos no DONet Membership message Gerada periodicamente Anuncia a existência de um nó

DONET – MEMBERSHIP MANAGER Algoritmo básico de entrada de nós Nó de origem é

DONET – MEMBERSHIP MANAGER Algoritmo básico de entrada de nós Nó 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

DONET – PARTNERSHIP MANAGER Exemplo de parceria no DONet Nem os parceiros, nem a

DONET – PARTNERSHIP MANAGER Exemplo de parceria no DONet Nem 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

DONET – BUFFER MAP Stream de vídeo dividido em vários segmentos de tamanho uniforme

DONET – BUFFER MAP Stream de vídeo dividido em vários segmentos de tamanho uniforme Buffer Map (BM) representa a disponibilidade desses segmentos Nós trocam os BM com seus parceiros Permite o escalonamento quais segmentos serão pedidos de quais parceiros

DONET – SCHEDULER Considera 2 pontos Deadline de cada segmento que será mostrado Banda

DONET – SCHEDULER Considera 2 pontos Deadline de cada segmento que será mostrado Banda heterogênea dos parceiros Calcula o número de fornecedores em potencial para cada segmento Poucos fornecedores – deadline difícil de cumprir Segmentos com menos fornecedores são escolhidos primeiro Fim do algoritmo Mensagem mandada ao fornecedor com os segmentos requisitados

DONET – RECUPERAÇÃO DE FALHAS Modos de saída de um nó Mensagem de saída

DONET – RECUPERAÇÃO DE FALHAS Modos de saída de um nó Mensagem de saída Saída acidental (falha) Quando um nó falha Parceiro que detecta a falha envia a mensagem de saída daquele nó

DONET – RESULTADOS Comparação com overlay baseado em árvore X. Zhang, J. Liu, B.

DONET – RESULTADOS 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

DONET – RESULTADOS Comparação com overlay baseado em árvore X. Zhang, J. Liu, B.

DONET – RESULTADOS 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

DONET – RESULTADOS Baixo overhead de controle X. Zhang, J. Liu, B. Li, and

DONET – RESULTADOS 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

DONET – RESULTADOS Alta continuidade de playback e escalabilidade X. Zhang, J. Liu, B.

DONET – RESULTADOS 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

COMENTÁRIOS FINAIS Crescimento dos sistemas de streaming P 2 P Diversos sistemas estão sendo

COMENTÁRIOS FINAIS Crescimento dos sistemas de streaming P 2 P Diversos 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

OBRIGADO PELA ATENÇÃO ! FIM

OBRIGADO PELA ATENÇÃO ! FIM

PERGUNTAS 1) Quais são os grandes desafios ao se fazer streaming de video, e

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

PERGUNTAS 1) Quais são os grandes desafios ao se fazer streaming de video, e

PERGUNTAS 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 vivo Escalabilidade, para suportar milhares de usuários.

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

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

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

PERGUNTAS 2) Cite e explique uma das soluções para promover o altruísmo em redes P 2 P. 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

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

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

PERGUNTAS 3) Em qual situação uma rede desestruturada pode ser utilizada? Quando a dinâmica

PERGUNTAS 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

PERGUNTAS 4) Qual a principal diferença entre as abordagens baseadas em árvore e malha

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

PERGUNTAS 4) Qual a principal diferença entre as abordagens baseadas em árvore e malha

PERGUNTAS 4) Qual a principal diferença entre as abordagens baseadas em árvore e malha para redes streaming P 2 P ? 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

PERGUNTAS 5) Quais são os dois pontos levados em conta pelo algoritmo escalonador do

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

PERGUNTAS 5) Quais são os dois pontos levados em conta pelo algoritmo escalonador do

PERGUNTAS 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 parceiros O 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.