SISTEMAS DISTRIBUÍDOS



Documentos relacionados
Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

Redes de Computadores

Redes de Computadores

MODELO CLIENTE SERVIDOR

Sistemas Distribuídos. Aleardo Manacero Jr.

09/06/2011. Profª: Luciana Balieiro Cosme

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

PEER DATA MANAGEMENT SYSTEM

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

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


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

REDES DE COMPUTADORES

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

PARANÁ GOVERNO DO ESTADO

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Cap 03 - Camada de Aplicação Internet (Kurose)

Sistemas Distribuídos Grupos

SISTEMAS DISTRIBUIDOS

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

Arquitetura de Rede de Computadores

Sistemas Distribuídos

Redes de Computadores II INF-3A

Entendendo como funciona o NAT

Redes de Computadores. Protocolos de comunicação: TCP, UDP

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Universidade de Brasília

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

MicroDNS. Armando Adami Zaro Pablo Augusto Lerina Rodrigues. 3 de outubro de 2007

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Arquitetura dos Sistemas de Informação Distribuídos

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

3. Comunicação em Sistemas Distribuídos

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Tarefas em Moodle (1.6.5+)

Sistemas Operacionais

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

Introdução ao Active Directory AD

UNIVERSIDADE. Sistemas Distribuídos

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo


REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

GT Computação Colaborativa (P2P)

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

INTRODUÇÃO A REDES DE COMPUTADORES (DEFINIÇÕES) Prof. Msc. Hélio Esperidião

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


Manual de Atualização Versão

Registro e Acompanhamento de Chamados

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER

Sistemas Cliente-Servidor

REDE DE COMPUTADORES

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Aula 2

Revisão. Karine Peralta

Processos Técnicos - Aulas 4 e 5

CPG: sincronização entre diferentes dispositivos

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Capítulo 7 CAMADA DE TRANSPORTE

PROJETO E IMPLANTAÇÃO DE INTRANETS

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Redes de Computadores II. Professor Airton Ribeiro de Sousa


FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

2 Atualidade de uma base de dados

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

Capítulo 8 - Aplicações em Redes

Manual Captura S_Line

Segurança em Sistemas de Informação Tecnologias associadas a Firewall

MC714 - Sistemas Distribuídos. Leandro Villas

Teleprocessamento e Redes Universidade Católica do Salvador. Aula 04 - Estrutura de Redes de Comunicação. Objetivo : Roteiro da Aula :

MÓDULO 8 Modelo de Referência TCP/IP

:: Telefonia pela Internet

Manual do Ambiente Moodle para Professores

Sistemas Distribuídos

Grupos de Processos (Comunicação Grupal)

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

Tecnologia e Infraestrutura. Conceitos de Redes

Sistemas distribuídos:comunicação

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Redes de Computadores

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

Transcrição:

SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno

Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível a comunicação de um processo com outros processos ao mesmo tempo. Grupo: é uma coleção de processos que agem juntos em um sistema, de tal forma que quando uma mensagem é enviada para o grupo, todos os membros do grupo a recebem.

Introdução A Figura mostra a comunicação ponto-aponto, na qual a mensagem é enviada do processo S ao processo R.

Introdução A Figura mostra a comunicação coletiva, na qual a mensagem é enviada do processo S a todos os processos R. Isso faz com que a mensagem chegue a vários processos apenas com um envio.

Comunicação coletiva Os grupos são dinâmicos, ou seja, novos grupos podem ser criados e grupos existentes podem ser eliminados. Um processo pode entrar para o grupo ou o deixá-lo. Um processo pode ser membro de diversos grupos simultaneamente. A ideia de grupo de processos é similar a ideia de grupos de emails, no qual, um usuário pode ser membro de várias listas de emails (grupos).

Forma de Implementação Multicasting: Endereço especial que múltiplas máquinas podem receber, como por exemplo o range de IPs entre 224.x.x.x e 239.x.x.x. Com multicasting, a implementação é direta. Basta atribuir a cada grupo um endereço multicasting diferente.

Forma de Implementação Broadcasting: Pacotes contendo certos endereços são enviados para todas as máquinas. Menos eficiente que multicasting(todas as máquinas recebem as mensagens enviadas por broadcasting e o software precisa verificar se o pacote é para ele). Também necessita de somente um pacote para atingir todos os membros do grupo.

Forma de Implementação Unicasting: Transmissão separada de pacote para cada membro do grupo, sendo que para um grupo formado por n processos, serão necessárias n mensagens, uma para cada processo.

Comunicação coletiva Multicasting

Comunicação coletiva Broadcasting

Comunicação coletiva Unicasting

Características da Comunicação coletiva Uma característica importante é se um processo fora do grupo pode enviar uma mensagem ao grupo. Neste sentido, temos dois tipos de grupos: abertos e fechados. Em um grupo fechado um processo que não pertence ao grupo não pode enviar mensagens ao grupo. Ele pode enviar mensagens aos processos do grupo individualmente, mas não pode enviar uma mensagem coletiva ao grupo.

Grupo fechado

Características da Comunicação coletiva Já em grupos abertos, um processo que não pertence ao grupo pode enviar mensagens coletivas aos grupos. Isso faz com que haja interferência externa. Geralmente, utilizamos grupos abertos quando processos externos ao grupo geram requisições / carga de trabalho aos processos do grupo, como no caso de servidores replicados.

Grupo aberto

Hierarquia entre grupos Outra característica importante está relacionada à hierarquia dos processos dentro de um grupo. Temos dois tipos de grupos: de iguais e hierárquicos.

De iguais Todos podem executar tarefas e decidir quem as executará. Uma vantagem deste tipo de grupo é que não há um ponto crítico de falha. Porém, para tomar uma decisão é mais demorado, já que os processos precisam entrar em consenso.

Grupos hierárquicos Há um processo que é o coordenador do grupo, sendo que ele é o responsável por decidir quem executará as tarefas e por coordenar a execução delas.

Grupos hierárquicos A vantagem deste tipo de grupo é que a tomada de decisão é mais rápida. Porém, há um ponto crítico de falha, que é o coordenador. Se ele sair do ar, o grupo perderá o processo que controla o grupo.

Ordenação de mensagens Com relação à ordenação das mensagens, temos: Global Time Ordering Consistent Time Ordering

Global Time Ordering Todas as mensagens chegam na ordem exata em que foram enviadas. Isso não é fácil de ser implementado, já que necessita que todos os processos estejam sincronizados fisicamente com o clock.

Consistent Time Ordering Se duas mensagens são enviadas em tempos próximos, o sistema adota uma delas como sendo a primeira e envia a todos os membros do grupo segundo esta ordem, garantindo assim que as mensagens cheguem a todos os membros do grupo na mesma ordem, que pode não ser a ordem real. Porém, todos os processos concordarão com a mesma ordem de envio.

Modelo Peer-To-Peer Aplicações Peer-to-Peer distribuem a informação entre seus nós membros em vez de concentrar em um único servidor. Isso a torna muito diferente do modelo Cliente/Servidor que estamos acostumados a utilizar. Neste modelo, não há a necessidade de nenhum elemento coordenador ou centralizador de recursos, havendo certo grau de anonimato para o proprietário do recurso.

Modelo Peer-To-Peer Todos os nós membros possuem a mesma capacidade de compartilhar informação com os demais membros da rede, sendo que todos podem ser ao mesmo tempo clientes e servidores de dados. Cada usuário torna seu repositório de informações disponível para distribuição e pode estabelecer conexão direta com outro usuário.

Modelo Peer-To-Peer Há dois tipos de modelos Peer-to-Peer: Puro. Híbrido. O modelo Peer-to-Peer híbrido mescla características de Cliente/Servidor e comunicação entre os peers.

Modelo Híbrido (Messenger)

Modelo Híbrido (Messenger) O Messenger que é um exemplo de Peer-to-Peer híbrido, em que a autenticação e a base de índices estão no servidor e a comunicação ocorre exclusivamente entre os pares, sem a interferência do servidor. A grande vantagem deste modelo é que a busca é mais rápida, já que a base de índices está centralizada em um servidor. Porém, caso o servidor saia do ar, nada funcionará, já que os pares não saberão onde estão os dados para a comunicação.

Modelo Peer-To-Peer No modelo Peer-to-Peer puro, não há servidor com base de índices. Neste modelo, todos os pares (peers) possuem a sua própria base de índices e de dados, sendo que a comunicação pode ocorrer entre qualquer subconjunto de pares.

Modelo Peer-To-Peer

Modelo Peer-To-Peer A grande vantagem deste modelo é que ele possui altíssima disponibilidade, gerando uma rede que funciona praticamente cem por cento do tempo, já que não há ponto crítico de falha. A desvantagem é que a busca é mais lenta.

Requisitos dos modelos Peer-to- Peer Escalabilidade Global: há grande quantidade de computadores conectados à rede. Balanceamento de carga: torna a distribuição igualitária entre os peers, possibilitando o download de diferentes peers, em função de sua carga e a otimização das interações locais entre peers vizinhos. A ideia é buscar vizinhos mais próximos, evitando a latência da comunicação.

Requisitos dos modelos Peer-to- Peer Dinamicidade dos computadores: peers podem entrar e sair do sistema a qualquer momento. Quando entram, devem ser integrados ao sistema global. Quando saem (voluntariamente ou não) o próprio sistema deve detectar e adequar à nova carga.

Requisitos dos modelos Peer-to- Peer Segurança dos dados em um ambiente heterogêneo: autenticação e criptografia. Anonimato: capacidade de negar o compartilhamento de um arquivo e a possibilidade de não realizar download de conteúdo protegido.

Exemplos O primeiro exemplo é um modelo Peer-to- Peer híbrido, no caso o Napster. Ele foi o primeiro sistema Peer-to-Peer a ser altamente popularizado. Ele é um sistema de troca exclusiva de músicas, principalmente em formato MP3 e funciona em uma arquitetura centralizada.

Napster

Rede GNUtella O segundo exemplo utiliza o modelo Peer-to- Peer puro, no caso a rede GNUtella. Este modelo possui alta disponibilidade, alta dispersão e alto nível de balanceamento de carga, sendo praticamente impossível de ser eliminada. Neste modelo não há garantias de que o arquivo exista em um dos N peers atingíveis a partir do peer de origem.

Rede GNUtella Na busca, para ela não ser infinita, há uma variável chamada TTL (Time To Live). Esta variável informa a quantidade máxima de níveis que ela estará ativa. Como a busca ocorre em uma estrutura de árvore cada vez que descemos um nível na árvore, esta variável é incrementada em uma unidade.

Rede GNUtella

Rede GNUtella Neste modelo, cada peer funciona como cliente, servidor e gateway (realizando encaminhamento de mensagens). Cada peer conhece, pelo menos, 1 peer vizinho. A consulta é feita pelo peer de origem e a ela é atribuída um TTL (em geral até 6 ou 7 níveis). O peer vizinho realiza a consulta localmente e encaminha a consulta para seus vizinhos, incrementando o TTL.