1) Quais são os grandes desafios ao se fazer streaming

Propaganda
Redes de Computadores II
Professores: Otto Carlos Muniz Bandeira Duarte
Luís Henrique Maciel Kosmalski Costa
Autor: Lucas Medaber Jambo Alves Paes
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

Exemplos
 YouTube
 CNN Pipeline

Problemas
 Falta de confiaça
 Falta de escalabilidade

Modelo peer-to-peer

Pontos fundamentais





Dinâmica dos participantes
Roteamento
Busca
Multicast
Foram criadas tecnologias para lidar com
esses pontos

Fairness
 Soluções para promover o altruísmo
○ Tit for tat
○ Créditos

Topologias
 Desestruturada
 Swarm
 Cadeia
 Á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 centralizado
 Inundação de busca/índice
 Roteamento Semântico

Exemplos
 GnuStream
 P2Cast
 BiTos

Implementação
 Application-Layer Multicast (ALM)
 Rede overlay

Questões principais
 Topologia P2P
 Roteamento e escalonamento dos dados
 Gestão dos peers participantes

Abordagens comparadas
 Árvore
 Malha

Multiple Description Coding (MDC)
 Stream é dividido
 Sub-streams são chamados de descriptions
 Podem ser decodificados independentemente

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

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

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

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

Exemplo de uso do packet scheduling
 PRIME - Peer-to-peer Receiver-drIven 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

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

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 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

Recursos principais
 Fácil de implementar
 Eficiente
 Robusto
 Resistente

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

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

Cada nó possui
 Identificador único
 Membership cache (mCache)
○ Contém uma lista parcial com identificadores dos nós
ativos no DONet

Membership message
 Gerada periodicamente
 Anuncia a existência de um nó

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

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

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

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

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ó

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 P2P
 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

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 vivo
 Escalabilidade, 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 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.
Download