modelos de sistemas distribuÍdos -...

74
MODELOS DE SISTEMAS DISTRIBUÍDOS Edeyson Andrade Gomes www.edeyson.com.br

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

MODELOS DE SISTEMAS DISTRIBUÍDOS

Edeyson Andrade Gomeswww.edeyson.com.br

Page 2: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Agenda� Visão geral

� Modelos de Arquitetura de Sistemas Distribuídos – MASD

� Camadas de softwares

� Arquiteturas de sistema

� Variações

� Interfaces e objetosInterfaces e objetos

� Requisitos de projeto para arquiteturas distribuídas

� Modelos fundamentais – MFSD

� Modelo de interação

� Modelo de falhas

� Modelo de segurança

Modelos de Sistemas Distribuídos www.edeyson.com.br2

Page 3: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Visão Geral

Page 4: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

VISÃO GERAL

� Um modelo de arquitetura de um sistema distribuído envolve o posicionamento de suas partes e os relacionamentos entre elas.

� Os modelos fundamentais envolvem uma descrição mais formal das propriedades comuns a todos os modelos de formal das propriedades comuns a todos os modelos de arquitetura.� Ausência de um relógio global.

� A comunicação entre processos é por troca de mensagens.

� Atrasos e vunerabilidade devido a rede de comunicação.

Modelos de Sistemas Distribuídos www.edeyson.com.br4

Page 5: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

VISÃO GERAL

� Modelos fundamentais:� Modelo de interação

� Trata do desempenho e da dificuldade de estabelecer limites de tempo.

� Modelo de falha� Especificação das falhas de processos e canais de comunicação� Especificação das falhas de processos e canais de comunicação

� Modelo de segurança� Apresenta o conceito de canal seguro.

Modelos de Sistemas Distribuídos www.edeyson.com.br5

Page 6: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

VISÃO GERAL

� Cada modelo é destinado a fornecer uma descrição abstrata e simplificada, mas consistente, de um aspecto relevante do projeto de um sistema distribuído.

Modelos de Sistemas Distribuídos www.edeyson.com.br6

Page 7: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

VISÃO GERAL� Dificuldades e ameaças para os sistemas distribuídos:

� Modos de uso que variam muito� Variações na carga. (Ex.: Web)� Interconexão. (Ex.: mal contato em cabos)� Largura de banda e latência. (Ex.: aplicações multimídia)

� Ampla variedade de ambientes de sistema� Heterogeneidade de hardware, sistemas operacionais e rede.

� Problemas internos� Relógios não sincronizados, conflito de dados, etc.

� Ameaças externas� Ataques a integridade e ao sigilo dos dados, negação de serviço, etc.

Modelos de Sistemas Distribuídos www.edeyson.com.br7

Page 8: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

Page 9: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

� A arquitetura de um sistema é sua estrutura em termos de componentes especificados separadamente.

� O objetivo é atender as demandas atuais e futuras.

� Tornar o sistema confiável, gerenciável, adaptável e rentável.

Modelos de Sistemas Distribuídos www.edeyson.com.br9

Page 10: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

� Simplifica e abstrai as funções dos componentes individuais.� Posicionamento dos componentes na rede de computadores.

� Inter-relacionamentos entre os componentes.

� Classificação dos processos:� Processos cliente.

� Processos servidor.

� Processos peer-to-peer.

Modelos de Sistemas Distribuídos www.edeyson.com.br10

Page 11: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

Camadas de SW

Page 12: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Camadas de SW

� A visão orientada para processo e serviço pode ser expressa em termos de camadas de serviço.

� Um servidor é um processo que aceita pedidos de outros processos.

� Um cliente é um processo que solicita algum serviço � Um cliente é um processo que solicita algum serviço a um ou vários processos servidores.

Modelos de Sistemas Distribuídos www.edeyson.com.br12

Page 13: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Camadas de SW

� Um serviço é provido por um ou mais servidores.

� As camadas de hardware e software de mais baixo nível são freqüentemente denominadas de plataforma para sistemas e aplicativos distribuídos. plataforma para sistemas e aplicativos distribuídos. � Ex.: Intel x86/Windows, Intel x86/Linux,

PowerPC/Mac OS X, etc.

Modelos de Sistemas Distribuídos www.edeyson.com.br13

Page 14: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Camadas de SW

Aplicativos, serviços

Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br14

Hardware de computador e rede

Plataforma

Sistema Operacional

Middleware

Page 15: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Camadas de SW - Middleware

� Definições� Conjunto reusável e expansível de serviços e funções,

comumente necessários por parte de várias aplicações distribuídas para funcionarem bem em um ambiente de rede

� Mascara a heterogeneidade e fornece um modelo de � Mascara a heterogeneidade e fornece um modelo de programação homogêneo para os programadores de aplicativos.

� Composto por um conjunto de processos ou objetos.

Modelos de Sistemas Distribuídos www.edeyson.com.br15

Page 16: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Definições� Simplifica as atividades de comunicação de programas

aplicativos por meio do suporte de abstrações:� Invocação a métodos remotos.

� Comunicação entre um grupo de processos.

� Notificação de eventos.

Camadas de SW - Middleware

� Notificação de eventos.

� Particionamento, posicionamento e recuperação de objetos de dados.

� Replicação de objetos de dados compartilhados.

� Transmissão de dados multimídia em tempo real.

Modelos de Sistemas Distribuídos www.edeyson.com.br16

Page 17: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Comunicação

Camadas de SW - Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br17

Page 18: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Produtos e padrões orientados a objetos� RPC – Remote Procedure Call

� Java RMI – Java Remote Method Invocation

� CORBA (Object Management Group – OMG) – Common Object Request Broker Architecture

� Utiliza Interface Definition Language – IDL

Camadas de SW - Middleware

� Utiliza Interface Definition Language – IDL

� DCOM (Microsoft) – Distributed Component Object Model

� Web Service – Serviços Web

� RM-ODP – Reference Model for Open Distributed Processing do International Standards Organization (ISO)/International Telecommunication Union-Telecommunications (ITU-T)

Modelos de Sistemas Distribuídos www.edeyson.com.br18

Page 19: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Remote Procedure Call – RPC

Camadas de SW - Middleware

19 Modelos de Sistemas Distribuídos www.edeyson.com.br

Page 20: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Object Request Broker – ORB

Camadas de SW - Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br20

Page 21: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Atribuição

� Object brokers: permitem que objetos se encontrem em um sistema distribuído e interajam uns com os outros.

Object services: permitem criar, nomear, mover, copiar,

Camadas de SW - Middleware

� Object services: permitem criar, nomear, mover, copiar, armazenar, deletar, restaurar e gerenciar objetos.

Modelos de Sistemas Distribuídos www.edeyson.com.br21

Page 22: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Serviços oferecidos� Fornecem serviços de infra-estrutura a serem usados por

programas aplicativos.

� Os serviços são fortemente vinculados ao modelo de programação distribuída fornecido pelo middleware.

� Exemplos de serviços do CORBA:

Camadas de SW - Middleware

� Exemplos de serviços do CORBA:� Atribuição de nomes (nomeação)

� Segurança

� Transações Distribuídas (ACID – Atomicidade, Consistência, Isolamento e Durabilidade)

� Armazenamento persistente

� Notificação de eventos

Modelos de Sistemas Distribuídos www.edeyson.com.br22

Page 23: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Application Programming Interface – API

Camadas de SW - Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br23

Page 24: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Camadas de SW - Middleware

�Distributed Object Computing – DOC� Host Infrastructure:

�Ex.: Java Virtual Machine – JVM, .Net para Web Services, etc.

� Distribution:�Ex.: CORBA, RMI, DCOM e SOAP (Simple Object Access Protocol)

� Commom Services:

Modelos de Sistemas Distribuídos www.edeyson.com.br24

� Commom Services:�Ex.: Serviços CORBA, Sun’s Enterprise Java Beans (EJB), .Net para Web Service, etc.

� Obs.: �SOAP é um protocolo que troca mensagens em XML (eXtensibleMarkup Language).� XML é uma recomendação da Word WideWeb Consortium (W3C).

Page 25: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Camadas

Camadas de SW - Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br25

Page 26: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Camadas

Aplicativos, serviços

RMI, RPC e eventos

Camadas de SW - Middleware

Modelos de Sistemas Distribuídos www.edeyson.com.br26

Camadas deMiddleware

Protocolo baseado em requisição/resposta

Empacotamento e representação externa de dados

UDP e TCP (Sistema Operacional)

RMI, RPC e eventos

Page 27: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

� Limitações� Muitos aplicativos distribuídos se baseiam completamente nos

serviços oferecidos pelo middleware.

� Princípio fim-a-fim. (artigo de Saltzer, Reed e Clarke)� http://www.reed.com

� Ex.: Serviço de e-mail sobre TCP/IP

Camadas de SW - Middleware

� Ex.: Serviço de e-mail sobre TCP/IP

� O comportamento correto em programas distribuídos depende de verificações, mecanismos de correção de erro e medidas de segurança em muitos níveis.

Modelos de Sistemas Distribuídos www.edeyson.com.br27

Page 28: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

Arquiteturas de Sistemas

Page 29: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Implicações importantes no desempenho, na confiabilidade e na segurança do sistema resultante.

� Os processos possuem responsabilidades bem definidas e interagem para realizar uma atividade útil.

� Dois tipos principais de modelos de arquitetura:� Cliente/Servidor

� Peer-to-Peer (P2P)

� Variações nos modelos de arquitetura.

Modelos de Sistemas Distribuídos www.edeyson.com.br29

Page 30: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Cliente/Servidor� Servidores também podem ser cliente.

� Pouca necessidade de sincronização entre os processos cliente de uma operação e servidor de outra operação no mesmo servidor.

Modelos de Sistemas Distribuídos www.edeyson.com.br30

Servidor

Cliente

Cliente

invocação

resultado

Servidorinvocação

resultado

Processo:Legenda:

Computador:

Page 31: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Peer-to-Peer

� Não há distinção entre processos clientes e servidores.

� Maior escalabilidade comparando com o

Aplicação

Aplicação

Aplicação

Peer 1

Peer 2

Peer 3Objetoscompartilháveis

comparando com o cliente/servidor.

Modelos de Sistemas Distribuídos www.edeyson.com.br31

Peers 5 .... N

Aplicação

Peer 4

Page 32: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Peer-to-Peer (ex.: Napster)

� Outros exemplos:� Emule, Bitorrent, Skype, MSN Messenger, Yahoo, etc.

Modelos de Sistemas Distribuídos www.edeyson.com.br32

Page 33: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Serviços fornecidos por vários servidores.� Exemplos: Web, NIS, bancos, clusters, etc.

Servidor

Serviço

Modelos de Sistemas Distribuídos www.edeyson.com.br33

Servidor

Servidor

Servidor

Cliente

Cliente

Page 34: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Serviços fornecidos por vários servidores. (Ex.: Bancos)

Modelos de Sistemas Distribuídos www.edeyson.com.br34

Page 35: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Serviços fornecidos por vários servidores. (Ex.: Clusters)� Minimiza o custo de HW

� Agrupamento físico

� Pequeno espaço geográfico

� Compartilhar recursosDe processamento� De processamento

� De armazenamento

� De memória, etc.

� SW e HW homogêneos

� Redes de alta velocidade

Modelos de Sistemas Distribuídos www.edeyson.com.br35

Page 36: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Serviços fornecidos por vários servidores. (Ex.: Clusters)� Aumentar a disponibilidade de serviços

� Se um nodo falhar, outro assume.

� Equilibrar carga de trabalho� Um ou mais computadores do cluster atuam como distribuidores da

carga entre os demaiscarga entre os demais

� Alto desempenho� Para resolver tarefas complexas que podem ser decompostas em sub-

tarefas, cada uma rodando num nodo do cluster.

� Implementação mais comum: Linux e software livre para implementar paralelismo = Beowulf cluster

Modelos de Sistemas Distribuídos www.edeyson.com.br36

Page 37: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Servidores proxies e Cache

Cliente Servidor web

Modelos de Sistemas Distribuídos www.edeyson.com.br37

Servidorproxy

Cliente Servidor web

Page 38: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Código móvel

a) Requisição do cliente resulta no download de um applet

Cliente Servidor

Modelos de Sistemas Distribuídos www.edeyson.com.br38

ClienteServidor

webApplet

Código applet

Cliente

b) O cliente interage com o applet

Servidor web

Page 39: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Agentes móveis

� Programa em execução (código e dados).

� Pode efetuar várias requisições aos recursos locais.

� Reduz o custo e tempo da comunicação se comparado a C/S.

� Ameaça em potencial a segurança.

Modelos de Sistemas Distribuídos www.edeyson.com.br39

Page 40: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Dispositivos móveis� Laptops, Personal Digital Assistant (PDA), celular, etc.

� Redes cabeadas e redes sem fio (Global System for Mobile –GSM , 3G, Wireless, Bluetooth, etc.)� Conectividade variável

� Transparência de mobilidade é um problema freqüente.� Transparência de mobilidade é um problema freqüente.� Interoperabilidade espontânea (descoberta de serviços)

� Global Positioning System – GPS

� MobileIP (IP Móvel)

Modelos de Sistemas Distribuídos www.edeyson.com.br40

Page 41: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Computadores de rede & clientes “leves”

� Obs.: Desktop é diferente de computadores em rede!

Modelos de Sistemas Distribuídos www.edeyson.com.br41

Page 42: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Arquitetura de Sistema

� Cliente/Servidor 3-Tier

Modelos de Sistemas Distribuídos www.edeyson.com.br42

Page 43: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

Interface e Objeto

Page 44: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Interface e objeto

�As definições de interfaces especificam funções que podem ser invocadas em um processo.

�Cada processo servidor possui uma interface fixa (C/S pura).

�Processos distribuídos construídos de maneira OO.

�Muitos objetos podem ser encapsulados em processos servidores e referências a eles são passadas aos outros processos para que seus métodos sejam acessados por invocação remota. [Coulouris]� Java RMI

� CORBA

Modelos de Sistemas Distribuídos www.edeyson.com.br44

Page 45: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Interface e objeto

� Um processo Servidor ou Peer pode ser visto como uma coleção de objetos.� Objetos Remotos X Objetos Locais

Modelos de Sistemas Distribuídos www.edeyson.com.br45

Page 46: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Interface e objeto

� Um processo Servidor ou Peer pode ser visto como uma coleção de objetos.� Interface Remota

Modelos de Sistemas Distribuídos www.edeyson.com.br46

Page 47: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Requisitos

� Problemas de desempenho� Reatividade (Capacidade de resposta)

� Atrasos no sw remoto, na comunicação, middleware, S.O., processos, etc.

� Throughput (Taxa de rendimento)� Velocidade com que o trabalho computacional é feito.� Velocidade com que o trabalho computacional é feito.

� Balanceamento de carga� Applets, vários computadores para um serviço e migração de tarefa.

� Qualidade de Serviço – QoS� Capacidade dos sistemas de atender prazos.

� Depende da disponibilidade de recursos nos momentos apropriados.

Modelos de Sistemas Distribuídos www.edeyson.com.br47

Page 48: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos de Arquitetura

Requisitos

Page 49: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Requisitos

� Uso de cache e replicação� Protocolo de consistência de cache

� Dependabilidade� Pode ser definido como correção, segurança e confiabilidade.

� Técnicas� Tolerância a falhas

� Falhas no hardware, software e na comunicação.

� Redundância ajuda a confiabilidade, mas é dispendiosa e limitada.

� Segurança

Modelos de Sistemas Distribuídos www.edeyson.com.br49

Page 50: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

MODELOS FUNDAMENTAIS

Modelos de Sistemas Distribuídos www.edeyson.com.br

50

Page 51: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos Fundamentais

� Contém elementos essenciais para o entendimento e raciocínio a respeito do comportamento de um sistema.

� Precisa tratar:� Quais são as principais entidades presentes no sistema?

� Como elas interagem?

� Que características afetam seu comportamento individual e coletivo?

� Objetivos:� Tornar explícitas as suposições relevantes.

� Generalizar o que for possível ou impossível.

Modelos de Sistemas Distribuídos www.edeyson.com.br51

Page 52: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelos Fundamentais

� Aspectos dos SD nos modelos fundamentais:� Interação

� Processos interagem passando mensagens e na coordenação.

� A comunicação ocorre com atrasos.

� Falhas� Define e classifica as falhas.� Define e classifica as falhas.

� Fornece uma base para a análise de seus efeitos e projeto do tratamento.

� Segurança� Define e classifica as formas que ataques podem assumir.

� Fornece uma base para a análise das possíveis ameaças e o projeto de métodos de resistência.

Modelos de Sistemas Distribuídos www.edeyson.com.br52

Page 53: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

Modelos de Sistemas Distribuídos www.edeyson.com.br

53

Page 54: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Sistemas distribuídos são compostos por vários processos.� Algoritmos distribuídos descrevem seus comportamentos e

estados.

� As mensagens são enviadas para transferir informações entre processos e para coordenar suas atividades.processos e para coordenar suas atividades.

� Dois fatores que afetam significativamente a interação de processos em SD:� O desempenho da comunicação.

� A impossibilidade de manter uma noção global de tempo única.

Modelos de Sistemas Distribuídos www.edeyson.com.br54

Page 55: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Desempenho da comunicação� Latência

� Atraso entre o início da transmissão e o início da recepção� Primeiro bit no enlace.

� Atraso no acesso à rede.

� Tempo de processamentoTempo de processamento

� Largura de banda � Capacidade de transmissão total em um certo instante.

Modelos de Sistemas Distribuídos www.edeyson.com.br55

Page 56: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Desempenho da comunicação� Latência

� Largura de banda

� Jitter

� Medida de variação do atraso entre os pacotes sucessivos de dados � Pode ser responsável por erros e perda de sincronismo em comunicações � Pode ser responsável por erros e perda de sincronismo em comunicações

síncronas em alta velocidade

� Solução para minimizá-lo: utilização de buffer

� Armazenar os dados a medida que eles chegam e encaminhá-los à aplicação a uma taxa constante

� Exemplo de uso: VoIP

Modelos de Sistemas Distribuídos www.edeyson.com.br56

Page 57: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Relógios de computador e eventos de temporização

� Cada computador possui seu relógio que é usado pelos processos locais para medir o tempo dos eventos locais.

� Taxa de desvio do relógio (drift)� Taxa de desvio do relógio (drift)� Diferença relativa para um relógio de referência perfeito.

� Global Positioning System – GPS (precisão de 1 microssegundo)

Modelos de Sistemas Distribuídos www.edeyson.com.br57

Page 58: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Duas variantes do modelo de interação� SD Síncronos

� Necessita estabelecer limites de tempo inferior e superior para:� Execução de cada etapa de um processo.

� Transmissão da mensagem� cada mensagem transmitida sobre um canal é recebida dentro de um tempo

limitado conhecidolimitado conhecido

� Drift dos relógios� Cada processo tem um clock local cuja taxa de desvio do tempo perfeito tem

um limite conhecido

� Complexidade

� Ex.: Multimídia� Necessidade de um stream de dados ser entregue antes do seu deadline

Modelos de Sistemas Distribuídos www.edeyson.com.br58

Page 59: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Duas variantes do modelo de interação� SD Síncronos

� É difícil chegar em limites de tempo realísticos e prover garantia aos mesmos� A falta de garantia implica que qualquer projeto baseado sobre os valores

estimados não é confiável

O modelo de um algoritmo como um sistema síncrono pode ser útil � O modelo de um algoritmo como um sistema síncrono pode ser útil para dar uma idéia de como ele se comportará em um sistema distribuído real.

� Em um SD síncrono o uso de timeouts permite detectar a falha de um processo� Limite de tempo

Modelos de Sistemas Distribuídos www.edeyson.com.br59

Page 60: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Duas variantes do modelo de interação� SD Assíncronos: Não síncronos

� Ex.: Internet.

� Qualquer solução válida para um SD assíncrono também é válida para o síncrono.

� SDs reais são comumente assíncronos � SDs reais são comumente assíncronos � Processos compartilham processadores e canais de comunicação

compartilham a rede

Modelos de Sistemas Distribuídos www.edeyson.com.br60

Page 61: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Ordenação de eventos� Determinar se um evento ocorreu em um processo antes,

depois ou simultaneamente com outro evento em outro processo.

� A execução de um sistema pode ser descrita em termos da ocorrência de eventos e de sua ordem, mesmo sem relógios ocorrência de eventos e de sua ordem, mesmo sem relógios precisos

� Ex.:� X envia uma mensagem com assunto REUNIÃO para Y, Z e A.

� Y e Z respondem com assunto Re: REUNIÃO.

� Possibilidades para A?

Modelos de Sistemas Distribuídos www.edeyson.com.br61

Page 62: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Ordenação de eventos

Envia

Envia

Recebe

2

1

3

4X

Y Tempo

Recebe

Recebe

m2

m1

Modelos de Sistemas Distribuídos www.edeyson.com.br62

Recebe

m1 m2

Y

Z

físico

Am3

Recebe Recebe

Envia

Recebe Recebe Recebet1 t2 t3

Page 63: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Interação

� Ordenação de eventos� O relógio lógico permite deduzir a ordem que as mensagens

devem ser apresentadas.

� Cada evento tem um número que corresponde a uma ordem lógica.� X envia m1 antes que Y receba m1� X envia m1 antes que Y receba m1

� Y envia m2 antes que X receba m2

� Y recebe m1 antes de enviar m2

Modelos de Sistemas Distribuídos www.edeyson.com.br63

Page 64: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

Modelos de Sistemas Distribuídos www.edeyson.com.br

64

Page 65: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

� Processos e canais de comunicação podem divergir do que é considerado um comportamento correto ou desejável.

� Proporciona um entendimento dos seus efeitos e conseqüências.

Tipos de modelos de falhas:� Tipos de modelos de falhas:� Falha por omissão

� Falhas arbitrárias

� Falhas de sincronização

Modelos de Sistemas Distribuídos www.edeyson.com.br65

Page 66: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas� Falhas por omissão

� Processo ou canal de comunicação não executa as ações.

� Falha por omissão de processo� O processo falha se outros processos podem determinar que isso ocorreu.

� Falha por omissão na comunicação

Modelos de Sistemas Distribuídos www.edeyson.com.br66

processo p processo q

Canal de comunicação

send

Buffer de envio Buffer de recepção

receivem

Page 67: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

� Falhas arbitrárias� Qualquer tipo de erro pode ocorrer

� No processo� Omitir passos do processamento ou efetuar processamento

indesejado

� Na comunicação� Na comunicação� Mensagens corrompidas

� Mensagens inexistentes

� Softwares de comunicação freqüentemente detectam.

Modelos de Sistemas Distribuídos www.edeyson.com.br67

Page 68: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

Classe da falha Afeta Descrição

Parada por falha ProcessoOutros processos podem detectar

Colapso ProcessoOutros processos podem não detectar

Sai do buffer de envio e não Omissão Canal

Sai do buffer de envio e não chega no buffer de recepção

Omissão de envio

Processo Não chega ao buffer de envio

Omissão de recepção

ProcessoProcesso não "pega" no buffer de recepção

ArbitráriaProcesso ou Canal

Processo/Canal exibe comportamento arbitrário

Modelos de Sistemas Distribuídos www.edeyson.com.br68

Page 69: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

� Falhas de temporização� Aplicáveis aos SD síncronos.

Classe da falha Afeta Descrição

Relógio ProcessoRelógio local do processoultrapassa o limite da taxa de

Modelos de Sistemas Distribuídos www.edeyson.com.br69

Relógio Processo ultrapassa o limite da taxa de desvio.

Desempenho ProcessoProcesso excede o limite detempo entre duas etapas.

Desempenho CanalTransmissão da mensagem supera o limite de tempodefinido.

Page 70: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Falhas

� Mascaramento de falhas� Um serviço mascara uma falha ocultando-a completamente ou

convertendo-a em um tipo de falha mais aceitável. Ex.: Checksum.

� Confiabilidade da comunicação de um para um� Validade: mensagens são entregues independente do tempo.� Validade: mensagens são entregues independente do tempo.

� Integridade: mensagens idênticas e sem duplicidade.� Medidas de segurança.

� Números de seqüência

Modelos de Sistemas Distribuídos www.edeyson.com.br70

Page 71: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Segurança

Modelos de Sistemas Distribuídos www.edeyson.com.br

71

Page 72: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Segurança

� Tornar seguros os processos e os canais de comunicação, e eliminar acesso não autorizados.

� Proteção de objetos

ObjetoDireitos de acesso

Modelos de Sistemas Distribuídos www.edeyson.com.br72

Rede

invocação

resultadoCliente

Servidor

Principal (usuário) Principal (servidor)

Page 73: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Segurança

� Tornando processos e suas interações seguros� Ameaça aos processos

� Processos podem não identificar emissor de mensagens (spoofing).

� Ameaça aos canais de comunicação� Cópia, alteração ou injeção de mensagens no canal.� Cópia, alteração ou injeção de mensagens no canal.

Modelos de Sistemas Distribuídos www.edeyson.com.br73

Canal de comunicação

Cópia dem

Processo p Processo qm

Invasorm’

Page 74: MODELOS DE SISTEMAS DISTRIBUÍDOS - Waldersonwalderson.com/site/wp-content/uploads/2014/02/02.Modelos... · 2014-02-17 · Ex.: Serviço de e -mail sobre TCP/IP Camadas de SW -Middleware

Modelo de Segurança� Anulando ameaças à segurança

� Criptografia e segredos compartilhados

� Autenticação� Garante a identidade de um principal

� Canais seguros (Criptografia + Autenticação). Ex.: VPN e SSL� Privacidade e integridade

Modelos de Sistemas Distribuídos www.edeyson.com.br74

Principal A

Canal seguroProcesso p Processo q

Principal B