![](figs/aplicacoes.png)
Histórico e Organização
A própria estrutura da rede P2P impulsionou a idéia de computação distribuída. A rápida ascenção de softwares que surgiram neste ambiente testemunha o potencial desta rede de realizar esta função, realçando o crescimento da Web. As aplicações P2P podem ser divididas em duas categorias: Aplicações ativas, onde os usuários utilizam do sistema P2P para a execução de tarefas e aplicações passivas, onde os recursos que não estão sendo utilizados são compartilhados e disponibilizados para os demais utilizadores. As aplicações ativas incluem sistemas de colaboração entre os utilizadores e um grau de interação entre as aplicações, já as passivas estão ligadas à utilização dos recursos disponíveis e à super computação. Embora praticamente independentes, estes dois tipos de aplicação podem ser combinadas de forma a obter aplicações com maior potencial e eficiência.
Colaboração Entre Utilizadores
Os sistemas de colaboração, talvez, sejam os mais importantes e melhor desenvolvidos na tecnologia do P2P. Trata-se basicamente de utilizar a capacidade do IM com a capacidade de compartilhar arquivos como a do sistema Napster.
O mais importante a se ressaltar, talvez, seja a poderosa camada de segurança que é desenvolvida em cima deste tipo de sistema por parte de grandes empresas, garantindo um alto grau de confiablidade e confidencialidade. Além disso, no coração de um sistema deste tipo, reside o potencial de criação de uma comunidade de trabalho que poderia estar fora dos limites da rede local, de forma ad hoc.
A única exigência deste sistema é que o software esteja instalado em todos os computadores ligados a rede. Entretanto, após o estabelecimento da conexão, possibilitam total controle sobre a rede. Isto fornece aos clientes a ferramenta de gerenciamento de um grupo de trabalho, por exemplo, no qual pode-se decidir quem está dentro e quem está fora, com poucas interferências de uma autoridade central.
Interação de Aplicações
Embora um dos ramos menos conhecidos, este é um dos mais promissores. Consiste, basicamente, em interligar duas aplicações e transferir informação relevante entre elas sem prejudicar a integridade dos documentos. O interesse se fundamenta em integralizar ilhas de informação que tem origem na maior parte dos negócios sem que estas façam, necessariamente, uma fusão completa. Assim, o acesso a informação sobre um determinado assunto passa a ser mais flexivel, mas a informação ainda residirá onde foi criada.
Utilização de Recursos
Neste modelo, possibilita-se a criação de um banco de dados distribuidos em escala global através do compartilhamento de partes do sistema de arquivos dos nós para cada utilizador da rede. Um exemplo que ilustra bem esse modelo é o Napster. Entretanto, também é capaz de regular a largura da banda ou tráfegdo da rede de uma empresa, além dos requisistos de infra-estrutura.
Este tipo de prática foi comumente utilizada pelas empresas de anti-vírus, onde disponibilizavam atualizações automáticas dos seus softwares de forma a possibilitar seus clientes a gerenciar problemas de largura de banda e também de sobrecarga da sua própria infraestrutura. Uma boa utilização dos recursos está no fato de distribuí-los para o maior número de computadores possível, minimizando os custos de armazenamento e requisitos de largura de banda.
Super Computação e Computação Distribuída
O objetivo deste modelo é o de formar computadores virtuais, através do acoplamento entre os computadores da rede, com alta capacidade de processamento a partir das redes privadas de empresas ou da própria Internet.
A comunicação em sistemas deste tipo é mais do tipo probabilístico do que determínistico. Nesse modelo, caso o sistema não consiga acessar a informação no momento, a tentativa é feita novamente posteriormente. A disponibilidade está intimamente atrelada ao número de peers, onde quanto maior o número destes, maior a probabilidade de se encontrar o arquivo solicitado. Exatamente neste ponto há a contraposição em relação aos sistemas clássicos, onde a disponibilidade depende da tolerância à falhas e do balanceamento da carga processada. Entre as aplicações dessa modalidade estão a renderização digital, computação científica, etc.
Um dos programais mais comuns que utilizam da computação distribuida do P2P é o projeto SETI (Procura por Inteligência Extra-terrestre). Este projeto tem por finalidade, através de radiotelescópios, identificar alguma forma de vida inteligente fora do planeta.
Uma vez que o volume de dados é muito grande, pensa-se na idéia de uma rede P2P a nível global, onde cada peer contribui para ajudar o processamento.