Redes de Computadores II Professores Otto Carlos Muniz

  • Slides: 48
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

INTRODUÇÃO � Streaming �Video on Demand (Vo. D) �Streaming ao vivo (Live feed)

INTRODUÇÃO � Streaming �Video on Demand (Vo. D) �Streaming ao vivo (Live feed)

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

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

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

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 �Controle social

V OD DESCENTRALIZADO � Topologias �Desestruturada �Swarm �Cadeia �Árvore

V OD DESCENTRALIZADO � Topologias �Desestruturada �Swarm �Cadeia �Árvore

V OD DESCENTRALIZADO � Busca �Índice centralizado �Inundação de busca/índice �Distributed Hash Table (DHT)

V OD DESCENTRALIZADO � Busca �Índice centralizado �Inundação de busca/índice �Distributed Hash Table (DHT) �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 �

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 utilizadas �Árvore �Malha � Multiple Description Coding

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

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

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, e como nó externo em outras árvores � Cada description é entregue à uma árvore específica

STREAMING P 2 P - MALHA � Peers são conectados em malha � Em

STREAMING P 2 P - MALHA � Peers são conectados em malha � Em sua chegada, cada 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

STREAMING P 2 P - MALHA � Fornecimento de conteúdo em swarm � Anúncios e pedidos de conteúdo são combinados � Componente scheduling chave: Algoritmo de packet

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

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: PRIME (Peer-to-peer Receiverdr. Iven MEsh-based streaming)

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

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

STREAMING P 2 P - MALHA � Algoritmo de scheduling é periodicamente invocado �Pacotes com maior timestamp disponíveis desde o último pedido são identificados e pedidos aos pais correspondentes (até N descriptions por timestamp) � Parte aleatória dos pacotes restantes de cada timestamp são pedidos para todos os pais �Número total de pacotes pedidos para cada pai é determinado pela sua banda disponível �Balanceamento de carga

TOPOLOGIAS - SEMELHANÇAS � Resultado final do overlay é bem parecido � Cada peer

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

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: a árvore de entrega é 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

EXEMPLOS ATUAIS � Cool. Streaming � PPLive. com � Joost

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

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 �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

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) ○ Lista parcial com identificadores dos nós ativos no DONet � Entrada de nós �Nó de origem é contactado ○ Redireciona o novo nó para um nó deputy (assistente), escolhido em sua m. Cache �Novo nó recebe uma lista de candidatos a parceiro, vinda do nó deputy

DONET – MEMBERSHIP MANAGER � Processo viável, pois �Nó de origem geralmente persiste até

DONET – MEMBERSHIP MANAGER � Processo viável, pois �Nó de origem geralmente persiste até o final da transmissão, e é conhecido por todos �O redirecionamento permite uma redução de carga do nó de origem

DONET – PARTNERSHIP MANAGER � Exemplo de parceria no DONet X. Zhang, J. Liu,

DONET – PARTNERSHIP MANAGER � Exemplo de parceria no DONet X. Zhang, J. Liu, B. Li, and T. S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 4

DONET – PARTNERSHIP MANAGER � Nem parceiros, nem direção nas transmissões de dados são

DONET – PARTNERSHIP MANAGER � Nem parceiros, nem direção nas transmissões de dados são fixas � Stream de vídeo dividido em vários segmentos de tamanho uniforme � Buffer Map (BM) representa a disponibilidade desses segmentos � Troca contínua do BM com os parceiros

DONET – PARTNERSHIP MANAGER � Buffer Map �Observou-se que a latência entre nós dificilmente

DONET – PARTNERSHIP MANAGER � Buffer Map �Observou-se que a latência entre nós dificilmente ultrapassa 1 minuto � Considerando que cada segmento tem 1 s �Janela de 120 segmentos representa o BM de um nó �Para cada segmento, ‘ 1’ representa presença e ‘ 0’ ausência �Número de sequência do primeiro segmento é armazenado

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

DONET – SCHEDULER � Considera 2 pontos �Deadline de cada segmento que será mostrado �Banda heterogênea dos parceiros � Algoritmo 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ó �Anuncia sua

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

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

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,

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,

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,

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

OBRIGADO PELA ATENÇÃO ! FIM

OBRIGADO PELA ATENÇÃO ! FIM

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

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,

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

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

PERGUNTAS � 2) Cite e explique uma das soluções para promover o altruísmo em redes P 2 P. �Tit-for-Tat: um peer ocasionalmente coopera, mesmo que outros peers não o façam �Creditos: serviços são trocados por créditos �Controle social: utilizar relacionamentos do mundo real

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

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

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

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

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

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.