Slide 1 - GTA UFRJ

Propaganda
Redes de Computadores II
Professores: Otto Carlos Muniz Bandeira Duarte
Luís Henrique Maciel Kosmalski Costa
Autor: Lucas Medaber Jambo Alves Paes

Streaming
 Video on Demand (VoD)
 Streaming ao vivo (Live feed)

Tamanho do arquivo

Restrição de tempo

Escalabilidade

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
 Controle social

Topologias
 Desestruturada
 Swarm
 Cadeia
 Árvore

Busca
 Índice centralizado
 Inundação de busca/índice
 Distributed Hash Table (DHT)
 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 utilizadas
 Árvore
 Malha

Multiple Description Coding (MDC)
 Stream são divididos
 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, e como nó externo em
outras árvores

Cada description é entregue à uma árvore
específica

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

Fornecimento de conteúdo em swarm

Anúncios e pedidos de conteúdo são
combinados

Componente chave: 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: PRIME (Peer-to-peer ReceiverdrIven 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 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

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: a árvore de entrega é formada dinamicamente
enquanto o pacote atravessa a rede
○ Pouca banda: Pacotes são recebidos por outros
caminhos, de outros pais.

CoolStreaming

PPLive.com

Joost

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

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)
○ 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 mCache
 Novo nó recebe uma lista de candidatos a
parceiro, vinda do nó deputy

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

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

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

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

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

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ó

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

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 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

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