Arquitecturas de Sistemas. Arquitecturas Descentralizadas de Sistemas



Documentos relacionados
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

SISTEMAS DISTRIBUÍDOS

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura

Sistemas de Nomes Planos

Ciência de Computadores Sistemas Distribuídos e Móveis

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto

PEER DATA MANAGEMENT SYSTEM

Topologia de rede Ligação Ponto-a-Ponto

Apresentação de REDES DE COMUNICAÇÃO

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Sistemas Distribuídos. Nomeação. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Diagrama de Estrutura Composta

VORONOI STATE MANAGEMENT FOR PEER-TO-PEER MASSIVELY MULTIPLAYER ONLINE GAMES

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Prof. Samuel Henrique Bucke Brito

Sistemas Distribuídos

Ficha de trabalho Redes locais

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Rede de Computadores

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Redes de Computadores II

Sistemas de Telecomunicações I

Sistemas Distribuídos (DCC/UFRJ)

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Redes e Conectividade

Interconexão de Redes Parte 3. Prof. Dr. S. Motoyama

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014

Compartilhamento de Arquivos através de Redes Peer-to-Peer

BC-0506: Comunicação e Redes Internet e Web como redes complexas

Actualizaç ões e novas funcionalidades. Inoxnet. Versã o (c) EBASE Lda.

CAPÍTULO 3. Sistemas com Vários Componentes (Multicomponentes) em Modelos Markovianos de Decisão

Acessos Convergentes. Manual de Configuração e Utilização

Sistemas Distribuídos

Catálogo Nacional de Compras Públicas. Manual de Fornecedores

Teste de Software Parte 1. Prof. Jonas Potros

Ferramentas Web, Web 2.0 e Software Livre em EVT

Rot. #1. Metro Eth. Rot. #3 Rede. IP over SDH. GigaEth. Rot. #2. Rot. #4 LAN Eth. LAN Eth. Sw1 LAN. GigaEth INTERCONEXÃO DE REDES DE COMPUTADORES

Trabalho Computacional

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

Aplicações P2P. André Lucio e Gabriel Argolo

Gestor de Janelas Gnome

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Redes overlay peer-to-peer baseadas em SIP

ESTUDO DE CASO: LeCS: Ensino a Distância

Sistemas Operativos I

Faculdade de Computação

Unified Modeling Language. Diagramas de Implementação

Redes de Computadores e a Internet

Arquiteturas de Sistemas Distribuídos

Inteligência Artificial. Metodologias de Busca

Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES

Arquitetura de Sistemas Operativos

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

Ladibug TM 2.0 Software de Imagem para o Apresentador Virtual Manual do Utilizador - Português Europeu

KF2.4 MANUAL DE UTILIZADOR

Aula-17 Interconexão de Redes IP (Internet Protocol) Prof. Dr. S. Motoyama

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2011 / 2012

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão

Instituto de Informática

Podium View TM 2.0 Software de Imagem para o Apresentador Virtual Manual do Utilizador - Portugués

Redes P2P ISEL - RDC. 2. Introdução ao. 1. Sumário P2P. 3. Arquitectura P2P. 4. Conclusões. 3.2 Redes Estruturadas. 3.1 Redes Desestruturadas

Sistemas Distribuídos e Paralelos

Definição de Rede. BASED Network. Modelo WEB-BASED. Podemos definir rede quando dois ou mais computadores partilham informação entre si.

MODELAGEM E SIMULAÇÃO

1. O DHCP Dynamic Host Configuration Protocol

Do neurônio biológico ao neurônio das redes neurais artificiais

Sumário. Comunicação Multicast. Soluções. Multicast. Application-Level Multicast. October 20, 2008 Algoritmos Epidémicos

Redes de Computadores

Submissão Autenticada de Ficheiros ao SIGEX

Manual do Gestor da Informação do Sistema

Dinâmica de um Sistema de Partículas Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz

Resolução de Problemas de Rede. Disciplina: Suporte Remoto Prof. Etelvira Leite

CAPÍTULO 2. Grafos e Redes

Introdução Evolução dos Sistemas de Computação Redes de Computadores Parâmetros de Comparação de Redes Linhas de Comunicação Topologias

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Engenharia do Conhecimento

Especificação Operacional.

Comutação de pacotes: LANs Comutadas. Prof. Dr. S. Motoyama

Rede de Computadores II

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

INTRODUÇÃO À REDES DE COMPUTADORES. Dois ou mais computadores conectados um ao outro por um meio de transmissão.

Conhecendo o Decoder

Redes de computadores. Redes para Internet

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Transcrição:

Arquitecturas de Sistemas Centralizadas Descentralizadas Híbridas Arquitecturas Descentralizadas de Sistemas Dividir aplicações cliente-servidor em três camadas (interface, processamento, dados): distribuição vertical Cada máquina tem um conjunto de funcionalidades diferentes E se dividirmos as aplicações em partes iguais? distribuição horizontal Cada máquina tem todo o conjunto de funcionalidades e uma parte dos dados Passamos da arquitectura cliente-servidor, para a arquitectura peer to peer 4 clientes.

Arquitecturas Descentralizadas de Sistemas Rede Overlay Rede overlay: uma rede lógica sobreposta a uma ou mais redes físicas Ligação real : canal físico que interliga dois encaminhadores/máquinas Ligação overlay: canal TCP/IP que liga dois nós de um sistema distribuído Nos sistemas descentralizados, para garantir uma boa distribuição de carga pelo sistema, temos de construir e gerir a rede overlay que interconecta os processos Duas abordagens fundamentais: Estruturadas a rede overlay segue um estrutura definida Não estruturadas a rede corresponde a um grafo aleatório Redes P2P Estruturadas: Chord Maioria das redes P2P estruturadas são Distributed Hash Tables (DHTs) Cada nó da rede é responsável por um conjunto de chaves (e seus dados ou recursos associados) Uma função de hash mapeia uma chave para o id de seu nó responsável Um exemplo: Chord Rede overlay em anel Espaço de chaves e ids com x bits, contém no máximo 2 x nós id do nó responsável por uma chave k é dado por succ(k) succ(k): nó com menor id que seja maior ou igual a chave k

Redes P2P Estruturadas: Chord Considere uma rede com 16 nós (cada nó estaria associado a apenas uma chave) Um processo conhece apenas o nó 1 e quer aceder algo que está no nó 10? Acede 1 1 encaminha para 0 0 encaminha para 15 11 encaminha para 10 Parece eficiente? 9 passos de comunicação Na prática o que se quer são buscas em O(log n), logo temos de usar atalhos Redes P2P Estruturadas: Chord Cada nó da rede overlay conhece: Seu antecessor no anel Seu sucessor no anel Outros p nós espalhados de maneira uniforme pelo anel» Atalhos para tornar buscas por chaves distantes mais rápidas Exemplo do slide anterior: A partir do nó 1 da rede (ao lado) queremos procurar a chave k = 1582 (vamos usar hash) hash(1582) = 1582 % 16 = 14 succ(14) = 14 Caminho:» Procuro no nó 1» Nó 1 redirecciona ao nó 13» Nó 13 redirecciona ao nó 14

Redes P2P Estruturadas: CAN Content Addressable Network (CAN) Espaço cartesiano de d dimensões (ao lado [0,1]x[0,1]) Cada nó é responsável por uma região desse espaço (ao lado, temos 6 nós) Cada item de dados está associado a um ponto nesse espaço» Requer uma função de hash um bocado mais sofisticada Cada nó da rede tem ligações com nós responsáveis por regiões subjacentes a sua Redes P2P Estruturadas: CAN Um problema fundamental em redes P2P é como gerir sua topologia quando há Falha de nós Entrada de novos nós Saída de nós Chord: Insere-se um novo nó no anel As chaves são redistribuídas» O seu sucessor cede metade das chaves para o novo elemento Os atalhos da rede são reajustados (No caso da remoção, é parecido) CAN: Um novo nó entra em uma posição A região desta posição se divide em duas subregiões» Uma para o antigo nó responsável pela região e outra para o novo nó (No caso da remoção é mais complicado: como fazer merge de regiões?) 13 (0.2,0.45) (0.2,0.15)

Redes P2P Não Estruturadas Nas redes não estruturadas, a topologia da rede overlay é tipicamente um grafo aleatório Grafo aleatório = grafo gerado por métodos probabilistas (e.g., cada processo escolhe um nó de uma lista e se liga a ele, se já não estiver ligado) Como fazer buscas numa rede deste tipo? Flooding: difusão da busca aos vizinhos que vão passando-a adiante Como detectar e recuperar-se de falhas, entradas e saídas de nós? Modificar a rede periodicamente! Redes P2P Não Estruturadas Algoritmo para evolução de topologias: Um nó escolhe um de seus vizinhos aleatoriamente Depois, escolhe metade de suas ligações e as envia a este vizinho, que faz o mesmo Os nós agora trocam metade de suas ligações pelas ligações recebidas do vizinho Cada nó troca uma de suas ligações. Obs: Note que é possível gerar uma rede particionada!

Gestão de Topologia em Redes Overlay É possível integrar redes estruturadas com redes não estruturadas se usarmos uma abordagem em dois níveis: No nível aleatório temos as ligações do grafo aleatório No nível estruturado apenas as ligações seleccionadas são utilizadas Aplica alguma regra para escolher os vizinhos que fazem sentido. Retorna a lista de vizinhos obtida aleatoriamente. Gestão de Topologia em Redes Overlay Qual o benefício disso? Assuma um espaço cartesiano NxN, cada nó tem uma posição (x,y) Suponha que queiramos que os nós se liguem apenas a outros nós que estejam próximos Através da evolução da rede aleatória, e a aplicação da regra de distância, chegamos a uma rede estruturada, com gestão de membros automática

Redes P2P Não Estruturadas: Superpeers Problema das redes não estruturas: Busca por flooding (extremamente custosa) Uma solução: Usar alguns nós como pontos de concentração de informações (e.g., guardam índices para todas as informações da rede) Estes nós são chamados superpeers Como escolher que nó será um superpeer? Algoritmos para eleição de líder (que veremos mais a frente na cadeira) Como consequência, é possível ter redes P2P em dois níveis: Rede overlay de superpeers Rede overlay de peers normais (que pode ou não ser particionada ao redor de um superpeer). Arquitecturas de Sistemas Centralizadas Descentralizadas Híbridas

Arquitecturas Híbridas - BitTorrent Na arquitecturas híbridas temos uma rede overlay com diversos nós e alguns servidores que desempenham papéis muito bem definidos no sistema Muito usada em sistemas colaborativos Um exemplo: BitTorrent Cada nó obtém blocos de um ficheiro de outros nós Entretanto, o tracker é o servidor (um para cada conjuntos de ficheiros) que monitora que nós activos tem esses blocos Objectivo principal: colaboração (onde outros sistemas falhavam) Um nó cede blocos preferencialmente a outros nós que estão a lhe ceder ficheiros Bottleneck do sistema.