A maior rede de estudos do Brasil

Grátis
20 pág.
Aula_07

Pré-visualização | Página 1 de 2

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
Aula 7 – Modelo P2P
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
ESTRUTURA DA DISCIPLINA
AULA 1 – Introdução
AULA 2 – Aplicações Distribuídas
AULA 3 – Tratamento de Falhas
AULA 4 – Classificação de Flynn
AULA 5 – Modelo Cliente/Servidor
AULA 6 – Sockets e RPC
AULA 7 – Modelo P2P
AULA 8 – Sistemas de Arquivos Distribuídos
AULA 9 – Serviços WEB
AULA 10 – Tecnologia: Computação Ubíqua e nas Nuvens
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
Conteúdo Programático AULA 7
Características do Modelo P2P
Aplicações P2P
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
COMUNICAÇÃO P2P
Comunicação direta entre os nós (peers)
Cada peer se comporta como cliente e/ou servidor
Diferentes implementações
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
DEFINIÇÃO : Peer – to – Peer
Androutsellis e Spinellis(2004) propuseram a seguinte definição:
 
Sistemas peer-to-peer são sistemas distribuídos que consistem em nós interconectados com capacidade de auto-organização em relação à topologia da rede com o propósito de compartilhar recursos, adaptar-sea falhas e picos de carga mantendo um nível aceitável de conectividade e desempenho sem requerer intermediação ou suporte de um servidor central.
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
RESUMO DAS CARACTERÍSTICAS
Não há coordenação central e, portanto, não há um ponto de falha nem gargalo. 
Nenhum peer tem uma visão global do sistema, porém todos os dados e serviços são acessíveis de qualquer peer.
Escalabilidade
Heterogeneidade
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
APLICAÇÕES
Compartilhamento de recursos
Trabalho Colaborativo (groupware)
Compartilhamento de arquivos
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
TIPOS DE REDES P2P
P2P Puro
Não existe servidor centralizado. Os peers se comunicam diretamente
Exemplos: Gnutella e FreeNet
P2P Híbrido
O servidor é conectado primeiro para obter meta-informações (identidade do peer, verificar credencias de segurança) e este então redireciona para o peer requisitado que se comunicam diretamente 
Exemplos: Napster, Groove, Aimster, Magi, Softwax e iMesh
Intermediários
SuperPeers contém algumas informações que outros peers podem não ter. Os peers então procuram informações nos SuperPeers uma vez que não conseguiram achá-las em nenhum outro lugar.
Exemplo: KaZaa
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
FORMAS DE BUSCA
Centralizada
Consulta feita a um nó central
Inundação
Nós totalmente independentes limitada, em geral, à vizinhança mais próxima.
Tabela Hash Distribuida (DHT)
Um ID randômico é associado a cada peer que, por sua vez, conhecem um determinado número de peers. Quando um novo documento é compartilhado, cada peer encaminha o documento ao peer cujo ID é mais próximo ao ID do documento. Este processo é repetido até que o ID do peer atual seja o mais próximo do documento ou o documento seja encontrado.
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
O PROTOCOLO BIT TORRENT
Existem dezenas de clientes disponíveis gratuitamente que entendem esse protocolo. 
torrent é um arquivoque contém dois tipos de informação: o nome de um tracker e os chuncks
 Tracker: Servidor que mantém uma lista dos peers que estão fazendo download/upload (swarm). 
 Chuncks: Lista de blocos de mesmo tamanho que compõem o conteúdo da torrent. 
 Swarm: Conjunto de peers ativos que entram em contato com o tracker regularmente para informando se ainda estão ativos. Quando um novo peer entra em contato com o tracker para se juntar ao swarm, o tracker lhe informa sobre outros peers no swarm. 
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
O PROTOCOLO BIT TORRENT
Localizar peer com conteúdo 
Obter o torrent
Entrar em contato com o tracker
Tornar o download rápido
Enquanto participa de um swarm, o peer efetua, simultaneamente, o download de chunks que não encontra em outros peers e faz o upload de chunks dos quais outros peers precisam. 
Quando um swarm é formado inicialmente, alguns peers precisam ter todos os chunks que compõem o conteúdo. Esses peers são chamados de seeders. 
cada chunk deve estar disponível em muitos peers. 
Motivar o upload
 free-riders ou leechers : nós que não contribuem 
Quanto mais um peer estiver contribuindo com os outros, mais ele poderá esperar em retorno. 
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
O PROTOCOLO BIT TORRENT
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
DISTRIBUTED HASH TABLES (DHTs)
Seria possível criar índices P2P que fossem total­mente distribuídos, mas que possibilitassem um bom desempe­nho? 
A funcionalidade básica de um índice é mapear uma chave a um valor. 
Uma forma de mapeamento é a tabela hash, que na versão distribuída é implementada em algoritmos de roteamento como:
Chord (STOICA et al., 2001);
Can (RATNASAMY et al., 2001);
Pastry (ROWSTRON; DRUSCHEL, 2001);
Tapestry (ZHAO et al., 2004). 
 
 
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
Solução equivalente a um tracker distribuído
n usuários, cada um com alguns registros.
O endereço IP de cada usuário pode ser transformado em um número.
Para transformar um endereço de nó em um identifica­dor, o IP é mapeado para um número de m bits, usando uma função de hash. Sendo assim, podemos usá-lo para converter qualquer endereço IP em um número de 160 bits – chamado de identificador de nó.
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
os nós com identificadores 1, 4, 7, 12, 15, 20 e 27 sombreados correspondem aos nós reais.  
sucessor (k)  identificador de nó do primeiro nó real, após k, ao redor do anel (no sentido horário). 
 
Por exemplo:
Sucessor (6) = 7;
Sucessor (8) = 12;
cada nó precisa manter o endere­ço IP de seu nó sucessor.
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
Tabela de fingers para M =5 bits (32 nós):
 inicio = (k + 2i) mod 2M
 IP do sucessor
Ex: k=3 (entrada 3 da tabela)
 i = 1 (nó 1) 
 inicio= (3+2) mod 32 = 5
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
Tabela de fingers para m =5 bits:
 inicio = (k + 2i) mod 2m
 IP do sucessor
Ex: k=2 (entrada 2 da tabela)
 i = 4 (nó 4) 
 inicio= (2+4) mod 32 = 6
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
Exemplo:
Pesquisa chave = 3 no nó 1.
Como o nó 1 sabe que 3 se encontra entre ele e seu sucessor (4), o nó desejado é 4. 
Retorna o IP do nó 4.
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
SOLUÇÃO DHT - CHORD
Exemplo:
Pesquisa chave = 14 no nó 1. 
Como 14 não se encontra entre 1 e 4, as tabelas de fingers serão consultadas. 
O predecessor mais próximo de 14 é 9. A solicitação é encaminhada para o endereço IP da entrada 9 12. 
 
O nó 12 também não sabe a resposta mas identifica que o nó 14 está entre ele e sucessor (15).
 
Retorna o IP do nó 15
Tema da Apresentação
AULA 7– MODELO P2P
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS
*
RESUMINDO
Redes P2P podem eliminar algumas características negativas do modelo cliente/servidor
O protocolo utilizado deve ser capaz de minimizar