Programação de Sistemas Distribuídos e Concorrência Aula 4 15/08/09 Prof Carlos Eduardo 1
Descentralizadas Arquiteturas centralizadas são distribuições verticais (componentes logicamente diferentes em máquinas diferentes); Arquiteturas descentralizadas são distribuições horizontais (cada processo agirá como cliente e servidor ao mesmo tempo) - serventes 15/08/09 Prof Carlos Eduardo 2
Descentralizadas Um cliente ou Servidor pode ser fisicamente dividido em partes logicamente equivalentes, mas cada uma operando na sua própria porção do conjunto completo de dados. Ex: Arquitetura P2P () 15/08/09 Prof Carlos Eduardo 3
(do inglês: par-a-par), entre pares, é uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. (Wikipedia) 15/08/09 Prof Carlos Eduardo 4
Geralmente, uma rede é constituída por computadores ou outros tipos de unidades de processamento que não possuem um papel fixo de cliente ou servidor, pelo contrário, costumam ser considerados de igual nível e assumem o papel de cliente ou de servidor dependendo da transação sendo iniciada ou recebida de um outro par da mesma rede. 15/08/09 Prof Carlos Eduardo 5
Redes Sobrepostas Nós são formados pelos processos; Enlaces são representados pelos possíveis canais de comunicação (conexões TCP) 15/08/09 Prof Carlos Eduardo 6
15/08/09 Prof Carlos Eduardo 7
Dentro das Redes Sobrepostas possuímos 2 tipos: Redes Estruturadas Redes não Estruturadas 15/08/09 Prof Carlos Eduardo 8
Redes Estruturadas: Organiza processos em DHTs (Tabelas Hashs distribuídas); A partir de um identificador de 128 bits, é possível mapear a chave de um item para o identificador responsável pelo item desejado, sendo possível retornar o endereço de rede responsável pelo item desejado. 15/08/09 Prof Carlos Eduardo 9
Redes Não Estruturadas: Se baseiam em algoritmos aleatórios para a construção de uma rede sobreposta. Um nó mantém uma lista de vizinhos. Quando um nó necessita localizar um item em específico, varre a rede em busca do mesmo. 15/08/09 Prof Carlos Eduardo 10
Gerenciamento de Topologia de Redes de Sobreposição Camada mais abaixo não estruturada oferecendo uma visão parcial; Camada mais alta oferecendo uma ordenação dos itens por proximidade. 15/08/09 Prof Carlos Eduardo 11
Superpares nós que agem como intermediários aonde buscam recursos em uma parte específica da rede; 15/08/09 Prof Carlos Eduardo 12
Superpares nós que agem como intermediários aonde buscam recursos em uma parte específica da rede; 15/08/09 Prof Carlos Eduardo 13
Sistemas Híbridos Os sistemas centralizados são simples de implementar e gerenciar, entretanto são um gargalo em potencial, uma vez que o servidor central tem capacidade limitada e pode não suportar o aumento da demanda. os sistemas descentralizados são escaláveis e robustos, mas isso demanda certa complexidade de implementação, principalmente nas questões de tolerância à falhas e descoberta de recursos. 15/08/09 Prof Carlos Eduardo 14
Sistemas Híbridos O servidor mantém uma associação entre o nome do usuário e o seu endereço IP, grava mensagens quando o usuário está offline, e roteia mensagens para usuários que estão atrás de firewalls A aplicação parece peer-to-peer ao enviar os dados diretamente ao amigo sendo contactado. 15/08/09 Prof Carlos Eduardo 15
Exercícios 1) Qual é a diferença entre arquitetura horizontal e vertical? 2) Qual é a diferença entre redes estruturadas e não estruturadas? Vantagens e Desvantagens? 3) Quais são as vantagens de um sistema totalmente descentralizado com relação a um sistema híbrido. 4) Cite uma importante desvantagem do esquema Rastreador do BitTorrent 15/08/09 Prof Carlos Eduardo 16