Um sistema distribuído é um conjunto de computadores independentes entre si ,conectados através de uma rede e que se apresentam aos utilizadores como se fosse um único sistema.
Basicamente os sistemas distribuídos são sistemas nos quais os membros da rede são equivalentes e assim permitindo que compartilhem recursos diretamente sem envolver intermediários.
Uma característica principal é a comunicação direta entre os pares , vai contra ao tradicional modelo cliente servidor , já que cada nó pode fornecer ou obter recursos.
A rede se adapta facilmente , mesmo quando ocorre falhas.
Além de crescer em escala facilmente e se auto organiza. Não um coordenador do grupo pois todos a coordenação é distribuída.
Podemos usar de diversas formas , por exemplo o primeiro projeto usando peer to peer compartilhava arquivos.
Além disso podemos compartilhar atualizações de sistemas operacionais e de softwares.
Gerenciamento de rede , sistemas e processamento.
Podemos dividir as arquiteturas da rede Peer To Peer da seguinte forma
- Arquitetura Centralizada
- Arquitetura Descentralizada
- Arquitetura Híbrida
A arquitetura centralizada utiliza um servidor central para o controle de acesso a rede , para publicação e pesquisa de conteúdo.
Uma arquitetura hibrida usa alguns peers especiais que são chamados de super nós e possuem um papel diferenciado na rede.
Já a arquitetura decentralizada todos os peers possuem funcionalidade igual e assim não tendo um servidor central.
Uma infraestrutura descentralizada não usa um servidor central , pois todos os nós possuem papel equivalente.
Devido ao fato de não ter um servidor central o desempenho das pesquisas pode ser um pouco mais lento.
Além de gerar um alto trafego de rede.
- Gnutella
Uma arquitetura de servidor central controla as entradas e saídas de peers da rede.
Podemos realizar pesquisas por recursos disponíveis nos peers no servidor central.
Os peers registram no servidor central os recursos que compartilham na rede.
Podemos ver como exemplo os projetos
- Napster
- eMule
Uma arquitetura hibrida usa super nós , os super nós permitem a entrada dos nós na rede,assim podendo também exercer uma atividade de coordenação do funcionamento da rede.
Além disso permite indexar os recursos compartilhados entre nós e ainda permite a busca por estes recursos.
Uma falha em um super nó pode ser tolerada , elegendo dinamicamente outro super nó.
- Skype
Napster prestava o serviço de compartilhamento de arquivo e foi criado em 1999.
Realizava a transferência de arquivos feita diretamente entre os peers.
Infelizmente sem o servidor central que foi fechado por ordem judicial a rede deixou de funcionar.
O skype usa uma arquitetura hibrida , ele presta o serviço de comunicação por áudio ou video entre usuários. Ele usa super nós e um servidor de login.
O gnutella presta o serviço de compartilhamento de arquivos , um nó entra na rede se conectando a qualquer nó existente.
Cada nó faz o papel de cliente para realizar buscas e baixar arquivos e de servidor para responder buscar.