Sistema de Comunicação entre Pares
O conceito de partilha de ficheiros entre pares tem as suas origens no desenvolvimento da Advanced Research Projects Agency Network (ARPANET) , por parte do Departamento da Defesa dos Estados Unidos da América no ano de 1969. Tratava-se da primeira rede de comutação de pacotes que lançou as bases para a criação da internet.
Em 1973 foram introduzidos na ARPANET um conjunto de protocolos apelidado Internet Protocol Suite do qual se destacam os protocolos Transmission Control Protocol (TCP) e o Internet Protocol (IP) . A introdução do TCP/IP veio dar ênfase à comunicação entre pares, uma vez que a transmissão de pacotes implica mecanismos para a sua orientação, no sentido de serem correctamente transmitidos para o par de destino.
O actual conceito de partilha de ficheiros entre pares surge no final dos anos 90 com o surgimento do Napster em 1999. O Napster permitiu aos seus utilizadores partilhar faixas de áudio codificadas com MPEG Audio Layer III (Mp3) até à sua eventual cessação de operações em 2001, no seguimento de vários processos legais relativos ao infringimento das políticas de direitos de autor.
A popularidade do Napster levou a posteriormente ao seu encerramento viessem a surgir outras redes de partilha de ficheiros entre pares, das quais se destacam o Gnutella e o Bittorrent como as mais populares. O surgimento dessas redes levou a que fosse desenvolvido software cliente especificamente adaptado para esta topologia, dos quais se destacam o Limewire , Kazaa , eMule e µTorrent .
Os sistemas de comunicação entre pares ( peer to peer ou p2p ) nos dias de hoje, baseiam-se na premissa de uma arquitectura de rede em que cada nó age como cliente e servidor para os restantes nós da rede (par), permitindo o acesso a ficheiros e equipamentos periféricos sem a necessidade de recorrer a um servidor central. É uma evolução natural do sistema cliente servidor clássico no qual cada par da rede pode simplesmente desempenhar um desses dois papeis, não havendo qualquer mutabilidade entre eles.
Actualmente os sistemas de comunicação entre pares podem ser divididos em duas categorias principais: Sistemas de partilha de ficheiros ou sistemas de streaming de vídeo. Estas categorias serão abordadas nas secções Partilha de Ficheiro e Streaming de Video , respectivamente.
Parilha de Ficheiros
O conceito da partilha de ficheiros em sistemas de comunicação entre pares, é permitir aos seus utilizadores partilhar variados formatos de ficheiros (música, vídeos, imagens, etc...) de forma descentralizada. O utilizador é obrigado a descarregar totalmente o ficheiro antes de o poder aceder. Isto deve-se ao facto de neste tipo de sistema um ficheiro ser dividido em múltiplos blocos. Como tal se um utilizador não possuir o conjunto completo de blocos que compõem um ficheiro, este estará corrompido e não sera utilizável.
Os blocos que compõem um ficheiro não têm de estar necessariamente armazenados num mesmo par da rede. Sendo que um utilizador descarrega os blocos disponíveis dos pares que os armazenam. O ritmo binário a que esta descarga é feita depende do ritmo de upload do par remoto, sendo que somente o tempo total da operação de descarga é considerado em alternativa ao tempo de descarga de cada bloco.
Em todo o caso o tema da partilha de ficheiros utilizando sistemas de comunicação entre pares não é consensual, pois toca em temas sensíveis tais como a legalidade do seu uso na internet e a defesa dos direitos de autor. Na secção Questões Legais é abordado esse tema em maior detalhe.
Streaming de Vídeo
Streaming de vídeo em sistemas de comunicação entre pares permite ao utilizador visualizar vídeos enquanto decorre o processo de descarga dos dados que o compõem.
Neste tipo de sistema o tempo de transmissão dos pacotes é fundamental, pois pacotes que cheguem depois do limite de tempo definido para a sua reprodução terão de ser descartados. Esta é a característica diferenciadora entre o sistema de streaming de vídeo e o sistema de partilha de ficheiros.
De forma semelhante ao sistema de partilha de ficheiros os vídeos também são compostos por múltiplos blocos. Todavia ao contrário do que acontece nos sistemas de partilha de ficheiros, nos sistemas de streaming de vídeo é possível reproduzir o vídeo antes de todos os blocos que o constituem terem sido recebidos. Isto é possível porque os blocos vão sendo gravados no disco onde são disponibilizados para outros pares. Em adição cada par mantém um buffer onde são guardados os blocos imediatamente antes e depois do ponto de reprodução do vídeo.
O streaming de vídeo pode dividir-se em duas subcategorias: Os sistemas de streaming live e os sistemas de streaming de vídeo on demand , que serão analisados em maior detalhe na secções abaixo.
Live
Os sistemas de streaming de vídeo live permitem que os utilizadores assistam a um mesmo vídeo que é transmitido para todos em tempo real. Isto implica que a reprodução do vídeo seja sincronizada no lado do utilizador. Este sistema tem a vantagem de permitir que os vários pares troquem blocos do seu buffer, pois todos partilham um ponto de reprodução do vídeo semelhante.
Exemplos comuns para este sistema são a P2P IPTV e as transmissões em directo através do Youtube .
Vídeo on Demand
Os sistemas de streaming de vídeo on demand permitem que os utilizadores assistam a vídeos à sua escolha num momento à sua escolha. Esta variante tem como consequência a necessidade de uma maior flexibilidade, pois não há qualquer sincronização entre utilizadores. Isto implica que cada utilizador terá o seu ponto de reprodução individual, daí um determinado par só pode receber actualizações de blocos no seu buffer vindos de pares com um ponto de reprodução superior ao seu.
São exemplos deste tipo de serviço os serviços de vídeo on demand quer da ZON ou da MEO .