3.1 Arquitetura Par a Par
Nas redes par a par, cria-se uma rede sobreposta na camada de aplicação auto-organizada pelos nós interessados em assistir um mesmo fluxo contínuo de vídeo. A essa organização dá-se o nome de arquitetura de distribuição.
Os nós pertencentes a uma determinada arquitetura de distribuição recebem o vídeo desejado e encaminham para os demais nós da mesma arquitetura.
A arquitetura de distribuição pode assumir três formas: arquitetura em árvore, arquitetura em malha ou uma combinação das duas anteriores, denominada híbrida.
Arquitetura em Árvore
Nessa arquitetura, cria-se uma árvore a partir do nó fonte do vídeo. Assim, cria-se uma estrutura de pais e filhos na qual apenas os pais transmitem vídeo para os filhos.
O processo de inclusão de um nó nessa arquitetura consiste no novo nó tornar-se filho de um dos nós já existentes na árvore.
A arquitetura em árvore é vulnerável à saída de nós da rede e sofre com a subutilização de banda devido aos nós folha ou a escolha errada dos nós pais.
Os principais aplicativos que utilizam essa arquitetura são:
  • NICE
  • ZIGZAG
Arquitetura em Malha
Nessa arquitetura, forma-se uma malha de nós que compartilham pedaços do vídeo. Não existem funções específicas para os nós, os quais podem tanto enviar quanto receber dados para qualquer um dos outros nós da rede.
O nó fonte do vídeo é o único que apenas envia pedaços de vídeo para a rede, semelhante à arquitetura em árvore.
Contudo, ao contrário da arquitetura em árvore, cada nó pode receber dados de vídeo de mais de nó da rede, pois não existe a estrutura hierárquica de pais e filhos.
A arquitetura em malha é mais complexa que a arquitetura em árvore, pois os nós necessitam do conhecimento de todos os pedaços que cada nó possui e requisitar ao nó mais indicado cada pedaço de vídeo desejado. A seleção dos nós a requisitar é feita segundo a disponibilidade de pedaços e banda dos nós conhecidos na rede.
A arquitetura em malha sofre com o compromisso entre latência e sobrecarga de controle. O aumento das comunicações de recebimento de pedaços aumenta a sobrecarga de controle. A utilização de buffers para o envio de confirmações em lote aumenta a latência.
Os principais aplicativos que utilizam essa arquitetura são:
  • PPLive
  • SopCast
Arquitetura Híbrida
Tanto a arquitetura em árvore quanto a arquitetura em malha mostram-se competentes para sanar completamente os desafios gerados pela dinâmica dos sistemas de distribuição de vídeo par a par.
Dessa forma, a construção de uma arquitetura híbrida, robusta e eficiente, a partir da combinação dessas duas arquiteturas, surge em diversas propostas na literatura.
Uma das soluções propostas é a chamada de backbone em árvore [Wang et al. 2007]. Essa arquitetura não determina uma comunicação prévia entre os participantes, como na arquitetura em árvore, contudo estabelece uma estrutura hierárquica entre os nós, ausente na arquitetura em malha.
Nessa arquitetura, determinam-se os nós mais estáveis e estabelecem-se conexões diretas entre eles e a fonte do conteúdo de vídeo. Assim, cria-se backbones para a transmissão dos vídeos. Os demais nós configuram-se como filhos e filhos dos filhos desses backbones. Além disso, os nós filhos criam diversas árvores menores, aumentando a robustez a desconexões da rede e aproximando-se da arquitetura em malha.
Os principais aplicativos que utilizam essa arquitetura são:
  • GridMedia
  • CoolStreming+