Sistemas Distribuídos



Documentos relacionados
Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

SISTEMAS DISTRIBUIDOS

Aula 03-04: Modelos de Sistemas Distribuídos

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Arquitetura dos Sistemas de Informação Distribuídos

Capítulo II Modelos de Programação Distribuída (parte 2)

Desenvolvimento Cliente-Servidor 1

Sistemas Distribuídos

Sistemas Distribuídos

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

Modelos Arquiteturais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Serviços Web: Introdução

Introdução ao Modelos de Duas Camadas Cliente Servidor

Departamento de Informática

Sistemas Distribuídos

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4


Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

UNIVERSIDADE. Sistemas Distribuídos

Distributed Systems Concepts and Design

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Modelos Arquiteturais

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Redes de Computadores

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

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

Departamento de Informática

SISTEMAS DISTRIBUÍDOS

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes

Sistemas Distribuídos

Arquitetura de Sistemas Operativos

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Paradigma Cliente/Servidor

Rede de Computadores (REC)

Modelos Fundamentais. Carlos Ferraz.

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

Sistemas Cliente-Servidor


Sistemas Distribuídos

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

PADI Plataformas para Aplicações Distribuídas na Internet

Sistemas Distribuídos

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes

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

Rede de Computadores II

Programação de Sistemas

Programação de Sistemas

MODELO CLIENTE SERVIDOR

SISTEMAS DISTRIBUÍDOS

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

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Sistemas Distribuídos. Fundamentos. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Comunicação. Parte II

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

MODELOS DE SISTEMAS DISTRIBUÍDOS

Carlos Ferraz

Tabela de roteamento

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Departamento de Informática

Introdução às Redes de Computadores. Por José Luís Carneiro

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

JXTA. Alessandro Vasconcelos Ferreira de Lima.

Considerações no Projeto de Sistemas Cliente/Servidor

UNIVERSIDADE. Sistemas Distribuídos

PERFIL PROFISSIONAL TÉCNICO(A) DE INFORMÁTICA - INSTALAÇÃO E GESTÃO DE REDES

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

Service Oriented Architecture SOA

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Roteamento e Comutação

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Servidor, Proxy e Firewall. Professor Victor Sotero

Curso de Aprendizado Industrial Desenvolvedor WEB

Transcrição:

Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2

Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo Hardware Bibliotecas (DLL) Protocolos Servidores Plataformas Plataforma s de Middleware Os Sistemas Distribuídos são suportados por diversas componentes frequentemente designadas por plataformas de Middleware 14/15 Sistemas Distribuídos 3 Quem são as entidades que comunicam através da rede num sistema distribuído? Processos ou tarefas Por omissão, assumiremos Nós sistema distribuído de processos Em alguns sistemas primitivos não existe a abstracção de processo ou tarefa Exemplo: redes de sensores Objectos Exemplo: objecto Java invoca método de outro objecto remoto Veremos mais adiante na cadeira Web Services Veremos mais adiante na cadeira Componentes (Fora do âmbito da cadeira) 14/15 Sistemas Distribuídos 4

Como comunicam estas entidades? 14/15 Sistemas Distribuídos 5 Comunicação directa Estudaremos ambos em breve Interface de comunicação entre-processos Invocação remota Protocolos de pedido-resposta Exemplo: HTTP Chamada remota de procedimentos Programador define conjunto de procedimentos que servidor oferece e pode invocar esses procedimentos como se tratassem de chamadas locais Invocação remota de métodos Semelhante a chamada remota de procedimentos, mas no mundo OO 14/15 Sistemas Distribuídos 6

Papéis e responsabilidades 14/15 Sistemas Distribuídos 7 Modelo e-servidor Servidores mantêm recursos e servem pedidos de operações sobre esses recursos Servidores podem ser clientes de outros servidores Simples e permite distribuir sistemas centralizados muito directamente Mas pouco escalável: limitado pela capacidade do servidor e pela rede que o liga aos clientes invocation invocation Server result Server result Key: Process: Computer: 14/15 Sistemas Distribuídos 8

Modelo Entre-Pares (Peer-to-Peer) Todos os processos têm papéis semelhantes, sem distinção entre clientes e servidores Mais ampla distribuição de carga (computação e rede) Maior escalabilidade Sistema expande-se acrescentando mais pares Coordenação mais complicada que clienteservidor Sharable objects Peers 5... N Peer 1 Application Peer 2 Application Peer 3 Application Peer 4 Application 14/15 Sistemas Distribuídos 9 Entre-Pares (Peer-to-Peer) 14/15 Sistemas Distribuídos 10

Como mapear objectos e serviços no modelo físico? 14/15 Sistemas Distribuídos 11 Serviço Oferecido por Múltiplos Servidores Distribui carga do servidor por múltiplos servidores Duas opções: Particionamento: cada servidor mantém uma partição do conjunto de objectos Replicação: todos os servidores mantêm réplicas do mesmo conjunto de objectos Service Server Server Server 14/15 Sistemas Distribuídos 12

Serviço Oferecido por Múltiplos Servidores 14/15 Sistemas Distribuídos 13 Servidores Proxy e Caches Mantêm cópias de sub-conjunto dos objectos num computador mais próximo dos clientes Melhor desempenho e disponibilidade Outros objectivos: por exemplo, acesso ao exterior através de firewall Proxy server Web server Web server 14/15 Sistemas Distribuídos 14

Servidores Proxy e Caches 14/15 Sistemas Distribuídos 15 Código Móvel (Applets) a) client request results in the downloading of applet code Applet code Web server b) client interacts with the applet Applet Web server Parte do código do servidor é transferido para o cliente e executado localmente Execução não sofre com atrasos de rede e variações de largura de banda Bom desempenho de aplicações interactivas 14/15 Sistemas Distribuídos 16

Código Móvel (Applets) 14/15 Sistemas Distribuídos 17 Agentes móveis Programa em execução (código+dados) que viaja de um computador para outro na rede Executa alguma tarefa em nome de alguém Em cada computador, invoca serviços locais (e.g. acesso a BD local para consultar informação local) Comparado com a solução de ter um cliente remoto a invocar os mesmos serviços remotamente: Menor custo e tempo de comunicação 14/15 Sistemas Distribuídos 18

Modelos fundamentais 14/15 Sistemas Distribuídos 19 Modelos fundamentais Explicitam quais são as entidades e características essenciais de um sistema Permitem-nos: Generalizar o o que é possível e impossível resolver nesse modelo (por provas matemáticas Desenhar soluções mais facilmente, pois não pensamos nos detalhes de hardware, etc Provar matematicamente propriedades das nossas soluções fiabilidade, desempenho, escalabilidade, segurança Determinar facilmente se determinada solução funciona num sistema em particular basta verificar se os pressupostos do modelo usado para a solução se verificam no sistema em particular 14/15 Sistemas Distribuídos 20

Modelos fundamentais Logo, antes de desenhar qualquer solução, é muito boa prática definir os modelos fundamentais! Três modelos fundamentais: Modelo de interacção Modelo de faltas Modelo de segurança 14/15 Sistemas Distribuídos 21 Modelo de Interacção Mais à frente no semestre, analisaremos modelos de interacção em maior detalhe Pressupostos sobre o canal de comunicação? Latência, que inclui: Tempo de espera até ter acesso à rede + Tempo de transmissão da mensagem pela rede + Tempo de processamento gasto em processamento local para enviar e receber a mensagem Largura de banda Quantidade de informação que pode ser transmitida simultaneamente pela rede Jitter Que variação no tempo de entrega de uma mensagem é possível? Canal assegura ordem de mensagens? Mensagem pode chegar repetida? E sobre os relógios locais? Taxa com que cada relógio local se desvia do tempo absoluto 14/15 Sistemas Distribuídos 22

Modelo de Falhas Que componentes podem falhar? De que forma podem falhar? Por enquanto, assumiremos modelo simples: Processos podem falhar silenciosamente Mensagens podem perder-se na rede Mais à frente no semestre, analisaremos outros modelos de falhas em maior detalhe 14/15 Sistemas Distribuídos 23 Modelo de Segurança Que ameaças existem sobre o sistema? Que ataques são possíveis? Por enquanto, assumiremos que não existem quaisquer ameaças sobre o sistema Mais à frente no semestre, analisaremos modelos de segurança mais realistas 14/15 Sistemas Distribuídos 24