Um modo simples e direto para implementação de streaming P2P é o uso da
técnica de Application-Layer Multicast (ALM). Com ALM, todos os peers são auto-
organizados em uma árvore overlay lógica sobre a rede IP e o conteúdo streaming
é distribuído sobre essa árvore overlay. O custo de fornecimento de banda é
dividido entre os peers, reduzindo o fardo do servidor. Na ALM, os pacotes de
dados são replicados e transmitidos nos hosts finais, ao invés dos roteadores
dentro da rede. Comparado com IP Multicast, o ALM tem diversas vantagens.
Como não necessita de suporte dos roteadores, pode ser implantado
gradualmente na estrutura atual da Internet. Alem disso, o ALM é mais flexível do
que o IP Multicast, e pode adaptar diferentes demandas de distribuições em
várias aplicações nas camadas superiores.
Assim, como construir e manter uma rede overlay eficiente baseada em ALM se
tornou um dos principais problemas nas pesquisas de streaming P2P. Para
resolver essa questão três perguntas devem ser respondidas:
A primeira é relativa a arquitetura P2P, ou seja, qual topologia deve ser utilizada
na construção da rede overlay?
A segunda se refere ao roteamento e escalonamento (scheduling) dos dados, isto
é, uma vez que a topologia overlay seja determinada, como encontrar e selecionar
um peer com upstream apropriado, de onde o peer atual vai receber os dados
necessários?
A terceira é sobre a gestão dos peers participantes, isto é, como organizar e
adaptar os comportamentos imprevisíveis de chegada e partida dos peers?
Recentemente, diversos sistemas e algoritmos de streaming P2P propuseram
resolver as questões acima. Do ponto de vista da topologia de rede, os sistemas
atuais podem ser classificados dentro de três categorias: topologia em árvore,
floresta e em malha.