4. Streaming de Video em Redes Peer-to-peer

Nos sistemas tradicionais de streaming baseados na arquitetura cliente/servidor, todos os clientes acessam os recursos do mesmo servidor. Neste cenário, o poder de processamento, capacidade de armazenamento e a vazão de entrada e saída do servidor podem se tornar o gargalo. Além disso, um grande número de conexões de longa distância pode levar a congestionamentos, impedindo uma qualidade de serviço comparável aos serviços tradicionais de Internet, e não permitirá os requisitos de performance das aplicações de larga escala de streaming de media em tempo real, especialmente nos seguintes pontos: escalabilidade, adaptabilidade, tolerância a falhas e robustez.
Uma das recentes soluções propostas por pesquisadores para resolver esses problemas é o IP Multicast. O grande problema é que para que este fosse implementado, seria necessário uma mudança a nível de hardware. Ou seja, os roteadores atuais deveriam ser trocados por roteadores com suporte a Multicast em larga escala. Os custos de infraestrutura e adminstração seriam muito altos, o que inviabiliza, ou pelo menos adia, esse tipo de solução.
 
Nos últimos anos, as redes peer-to-peer (P2P) têm ganhado atenção, tanto no mundo acadêmico quanto na indústria. Em um sistema P2P, os peers comunicam-   se diretamente entre si para compartilhamento de dados, além de outros recursos como armazenamento e capacidade de processamento. Cada peer age como um cliente que consome recursos dos outros peers, e também como um servidor que fornece serviços aos outros. Os sistemas P2P possuem as seguintes características: adaptabilidade, auto-organização, balanceamento de carga, tolerância a falhas e disponibilidade (através de replicação). Como exemplo, sistemas de compartilhamento de arquivos P2P distribuem o custo de compartilhar os dados (banda e armazenamento) entre os peers da rede, permitindo ao sistema ser escalável sem a necessidade da compra de servidores poderosos (e caros).
 
Originalmente, os sistemas P2P são aplicados em redes de compartilhamento de arquivos, como o Napster, eMule, eDonkey, Gnutella e BitTorrent. Diferente desse tipo de uso, o streaming de media em P2P traz restrições mais rigorosas de tempo e de recursos para transmissão de conteúdo em tempo real. Por isso, são necessárias funções mais restritas na gestão dos recursos, programação (scheduling) e controle.