Everton Flavio Rufino Seara.pdf - DSpace
Everton Flavio Rufino Seara.pdf - DSpace
Everton Flavio Rufino Seara.pdf - DSpace
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
21<br />
CAPÍTULO 4<br />
SISTEMAS PEER-TO-PEER<br />
Sistemas Peer-to-Peer (ou P2P) adotam uma abordagem descentralizada no que diz respeito<br />
ao gerenciamento de recursos computacionais [56]. De forma geral, através da<br />
distribuição de armazenamento de dados, processamento e largura de banda entre todos<br />
os nodos da rede, eles podem “escalar” sem a necessidade de computadores poderosos e<br />
intermediação de um servidor centralizado [22, 56].<br />
Pode-se dizer que a motivação por trás das aplicações baseadas em arquiteturas P2P<br />
deriva-se da sua habilidade de funcionar, “escalar” e de se auto-organizar em redes com<br />
alta taxa de nodos transitórios e na presença de redes e computadores falhos, mantendo<br />
níveis de performance e conectividade aceitáveis [22]. Tais características fazem com que<br />
a arquitetura P2P seja utilizada como base em diversos sistemas distribuídos, tais como<br />
Gnutella [9], Seti@home [14], Freenet [7], eMule [4], entre outros.<br />
Diversas definições de sistemas P2P podem ser encontradas na literatura, uma delas<br />
diz respeito a sistemas P2P “puros”, o que caracteriza seu funcionamento como totalmente<br />
descentralizado, além de estabelecer equivalência com relação a funcionalidades e<br />
execução de tarefas para todos nodos do sistema. No entanto, este tipo de definição não<br />
é totalmente abrangente, já que não engloba sistemas que utilizam “supernodos” (nodos<br />
que funcionam como mini-servidores, responsáveis por funções específicas e que são alocados<br />
dinamicamente), nem sistemas que utilizam algum servidor central para realizar<br />
tarefas secundárias [22, 40].<br />
Uma definição amplamente aceita diz que “sistemas P2P são uma classe de aplicações<br />
que levam vantagem de recursos computacionais, como armazenamento, processamento<br />
e conteúdo disponíveis na internet” [52]. Entretanto, devido seu alto nível de abstração,<br />
esta definição engloba outros tipos de aplicações, como por exemplo computação em Grid,<br />
e sistemas que contam com servidores centralizados.