autor: lucas medaber jambo alves paes professores: otto carlos muniz bandeira duarte luís henrique...

Post on 07-Apr-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related