Upload
mateus-natal-faro
View
216
Download
0
Embed Size (px)
Citation preview
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
O que é Streaming multimedia ?
Distribuição de vídeo e áudio em fluxos contínuos e em tempo real.
Tamanho do arquivo
Restrição de tempo
Escalabilidade
Streaming
Video on Demand (VoD)Streaming ao vivo (Live feed)
Centralizado
Descentralizado
Batching
Patching
ExemplosYouTubeCNN Pipeline
Problemas
Falta de confiaçaFalta de escalabilidade
Modelo peer-to-peer
Pontos fundamentaisDinâmica dos participantesRoteamentoBuscaMulticast
Foram criadas tecnologias para lidar com esses pontos
Fairness
Soluções para promover o altruísmo○ Tit for tat○ Créditos
Topologias
DesestruturadaSwarmCadeiaÁrvore
Ciclo básico de um nó em uma rede p2p
Topologia a ser escolhida depende da taxa com que o ciclo é executado
Busca
Índice centralizadoInundação de busca/índiceRoteamento Semântico
Exemplos
GnuStreamP2CastBiTos
ImplementaçãoApplication-Layer Multicast (ALM)Rede overlay
Questões principaisTopologia P2PRoteamento e escalonamento dos dadosGestão dos peers participantes
Abordagens comparadasÁrvoreMalha
Multiple Description Coding (MDC)Stream é divididoSub-streams são chamados de descriptionsPodem ser decodificados independentemente
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
Peers formam um overlay conectado aleatoriamente
Chegada do peerRecebe uma lista de possíveis pais
Um certo número de pais e filhos é mantido
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
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
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
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
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
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.
CoolStreaming
PPLive.com
Joost
SopCast
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
Recursos principais
Fácil de implementarEficienteRobustoResistente
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
X. Zhang, J. Liu, B. Li, and T.S. P. Yum. “Coolstreaming/DONet: A datadriven overlay network for live media streaming”, pag. 3
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ó
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
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
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
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
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ó
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
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
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
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
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
1) Quais são os grandes desafios ao se fazer streaming de video, e por quê?
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.
2) Cite e explique uma das soluções para promover o altruísmo em redes P2P.
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
3) Em qual situação uma rede desestruturada pode ser utilizada?
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
4) Qual a principal diferença entre as abordagens baseadas em árvore e malha para redes streaming P2P ?
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
5) Quais são os dois pontos levados em conta pelo algoritmo escalonador do DONet, e como ele funciona?
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.