Académique Documents
Professionnel Documents
Culture Documents
Agenda
Viso geral Modelos de Arquitetura de Sistemas Distribudos MASD Camadas de softwares Arquiteturas de sistema Variaes Interfaces e objetos Requisitos de projeto para arquiteturas distribudas Modelos fundamentais MFSD Modelo de interao Modelo de falhas Modelo de segurana
www.edeyson.com.br
Viso Geral
VISO GERAL
Um modelo de arquitetura de um sistema distribudo envolve o posicionamento de suas partes e os relacionamentos entre elas. Os modelos fundamentais envolvem uma descrio mais formal das propriedades comuns a todos os modelos de arquitetura.
Ausncia de um relgio global. A comunicao entre processos por troca de mensagens. Atrasos e vunerabilidade devido a rede de comunicao.
www.edeyson.com.br
VISO GERAL
Modelos fundamentais:
Modelo de interao
Trata do desempenho e da dificuldade de estabelecer limites de tempo.
Modelo de falha
Especificao das falhas de processos e canais de comunicao
Modelo de segurana
Apresenta o conceito de canal seguro.
www.edeyson.com.br
VISO GERAL
Cada modelo destinado a fornecer uma descrio abstrata e simplificada, mas consistente, de um aspecto relevante do projeto de um sistema distribudo.
www.edeyson.com.br
VISO GERAL
Dificuldades e ameaas para os sistemas distribudos:
Modos de uso que variam muito
Variaes na carga. (Ex.: Web) Interconexo. (Ex.: mal contato em cabos) Largura de banda e latncia. (Ex.: aplicaes multimdia)
Problemas internos
Relgios no sincronizados, conflito de dados, etc.
Ameaas externas
Ataques a integridade e ao sigilo dos dados, negao de servio, etc.
www.edeyson.com.br
Modelos de Arquitetura
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 confivel, gerencivel, adaptvel e rentvel.
www.edeyson.com.br
Modelos de Arquitetura
Simplifica e abstrai as funes dos componentes individuais.
Posicionamento dos componentes na rede de computadores. Inter-relacionamentos entre os componentes.
10
www.edeyson.com.br
Modelos de Arquitetura
Camadas de SW
Camadas de SW
A viso orientada para processo e servio pode ser expressa em termos de camadas de servio. Um servidor um processo que aceita pedidos de outros processos. Um cliente um processo que solicita algum servio a um ou vrios processos servidores.
12
www.edeyson.com.br
Camadas de SW
Um servio provido por um ou mais servidores. As camadas de hardware e software de mais baixo nvel so freqentemente denominadas de plataforma para sistemas e aplicativos distribudos. Ex.: Intel x86/Windows, Intel x86/Linux, PowerPC/Mac OS X, etc.
13
www.edeyson.com.br
Camadas de SW
Aplicativos, servios
Middleware
Camadas de SW - Middleware
Definies
Conjunto reusvel e expansvel de servios e funes, comumente necessrios por parte de vrias aplicaes distribudas para funcionarem bem em um ambiente de rede Mascara a heterogeneidade e fornece um modelo de programao homogneo para os programadores de aplicativos. Composto por um conjunto de processos ou objetos.
15
www.edeyson.com.br
Camadas de SW - Middleware
Definies
Simplifica as atividades de comunicao de programas aplicativos por meio do suporte de abstraes:
Invocao a mtodos remotos. Comunicao entre um grupo de processos. Notificao de eventos. Particionamento, posicionamento e recuperao de objetos de dados. Replicao de objetos de dados compartilhados. Transmisso de dados multimdia em tempo real.
16
www.edeyson.com.br
Camadas de SW - Middleware
Comunicao
17
www.edeyson.com.br
Camadas de SW - Middleware
Produtos e padres 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
DCOM (Microsoft) Distributed Component Object Model Web Service Servios Web RM-ODP Reference Model for Open Distributed Processing do International Standards Organization (ISO)/International Telecommunication Union-Telecommunications (ITU-T)
18
www.edeyson.com.br
Camadas de SW - Middleware
Remote Procedure Call RPC
19
www.edeyson.com.br
Camadas de SW - Middleware
Object Request Broker ORB
20
www.edeyson.com.br
Camadas de SW - Middleware
Atribuio
Object brokers: permitem que objetos se encontrem em um sistema distribudo e interajam uns com os outros. Object services: permitem criar, nomear, mover, copiar, armazenar, deletar, restaurar e gerenciar objetos.
21
www.edeyson.com.br
Camadas de SW - Middleware
Servios oferecidos
Fornecem servios de infra-estrutura a serem usados por programas aplicativos. Os servios so fortemente vinculados ao modelo de programao distribuda fornecido pelo middleware. Exemplos de servios do CORBA:
Atribuio de nomes (nomeao) Segurana Transaes Distribudas (ACID Atomicidade, Consistncia, Isolamento e Durabilidade) Armazenamento persistente Notificao de eventos
22
www.edeyson.com.br
Camadas de SW - Middleware
Application Programming Interface API
23
www.edeyson.com.br
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:
Ex.: Servios CORBA, Suns Enterprise Java Beans (EJB), .Net para Web Service, etc.
Obs.:
SOAP um protocolo que troca mensagens em XML (eXtensible Markup Language).
XML uma recomendao da Word Wide Web Consortium (W3C).
24
www.edeyson.com.br
Camadas de SW - Middleware
Camadas
25
www.edeyson.com.br
Camadas de SW - Middleware
Camadas
Aplicativos, servios
RMI, RPC e eventos Protocolo baseado em requisio/resposta Empacotamento e representao externa de dados UDP e TCP (Sistema Operacional) Camadas de Middleware
26
www.edeyson.com.br
Camadas de SW - Middleware
Limitaes
Muitos aplicativos distribudos se baseiam completamente nos servios oferecidos pelo middleware. Princpio fim-a-fim. (artigo de Saltzer, Reed e Clarke)
http://www.reed.com Ex.: Servio de e-mail sobre TCP/IP
O comportamento correto em programas distribudos depende de verificaes, mecanismos de correo de erro e medidas de segurana em muitos nveis.
27
www.edeyson.com.br
Modelos de Arquitetura
Arquiteturas de Sistemas
Arquitetura de Sistema
Implicaes importantes no desempenho, na confiabilidade e na segurana 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)
29
www.edeyson.com.br
Arquitetura de Sistema
Cliente/Servidor
Servidores tambm podem ser cliente.
Pouca necessidade de sincronizao entre os processos cliente de uma operao e servidor de outra operao no mesmo servidor.
Cliente
invocao resultado
Servidor
Cliente
Legenda: Processo:
Computador:
www.edeyson.com.br
30
Arquitetura de Sistema
Peer-to-Peer No h distino entre processos clientes e servidores. Maior escalabilidade comparando com o cliente/servidor.
Peer 2 Peer 1 Aplicao Objetos compartilhveis Peer 3 Aplicao Aplicao
31
www.edeyson.com.br
Arquitetura de Sistema
Peer-to-Peer (ex.: Napster)
Outros exemplos:
Emule, Bitorrent, Skype, MSN Messenger,Yahoo, etc.
32 Modelos de Sistemas Distribudos www.edeyson.com.br
Arquitetura de Sistema
Servios fornecidos por vrios servidores.
Exemplos: Web, NIS, bancos, clusters, etc.
Servio
Servidor Cliente
Servidor
Cliente Servidor
33
www.edeyson.com.br
Arquitetura de Sistema
Servios fornecidos por vrios servidores. (Ex.: Bancos)
34
www.edeyson.com.br
Arquitetura de Sistema
Servios fornecidos por vrios servidores. (Ex.: Clusters)
Minimiza o custo de HW Agrupamento fsico Pequeno espao geogrfico Compartilhar recursos
De processamento De armazenamento De memria, etc.
35
www.edeyson.com.br
Arquitetura de Sistema
Servios fornecidos por vrios servidores. (Ex.: Clusters)
Aumentar a disponibilidade de servios
Se um nodo falhar, outro assume.
Alto desempenho
Para resolver tarefas complexas que podem ser decompostas em subtarefas, cada uma rodando num nodo do cluster. Implementao mais comum: Linux e software livre para implementar paralelismo = Beowulf cluster
36
www.edeyson.com.br
Arquitetura de Sistema
Servidores proxies e Cache
Servidor web
Cliente
Servidor web
37
www.edeyson.com.br
Arquitetura de Sistema
Cdigo mvel
a) Requisio do cliente resulta no download de um applet
Servidor web
Cliente Applet
Servidor web
38
www.edeyson.com.br
Arquitetura de Sistema
Agentes mveis Programa em execuo (cdigo e dados). Pode efetuar vrias requisies aos recursos locais. Reduz o custo e tempo da comunicao se comparado a C/S. Ameaa em potencial a segurana.
39
www.edeyson.com.br
Arquitetura de Sistema
Dispositivos mveis
Laptops, Personal Digital Assistant (PDA), celular, etc. Redes cabeadas e redes sem fio (Global System for Mobile GSM , 3G, Wireless, Bluetooth, etc.)
Conectividade varivel
40
www.edeyson.com.br
Arquitetura de Sistema
Computadores de rede & clientes leves
41
www.edeyson.com.br
Arquitetura de Sistema
Cliente/Servidor 3-Tier
42
www.edeyson.com.br
Modelos de Arquitetura
Interface e Objeto
Interface e objeto
As definies de interfaces especificam funes que podem ser invocadas em um processo. Cada processo servidor possui uma interface fixa (C/S pura). Processos distribudos construdos de maneira OO. Muitos objetos podem ser encapsulados em processos servidores e referncias a eles so passadas aos outros processos para que seus mtodos sejam acessados por invocao remota. [Coulouris]
Java RMI CORBA
44 Modelos de Sistemas Distribudos www.edeyson.com.br
Interface e objeto
Um processo Servidor ou Peer pode ser visto como uma coleo de objetos.
Objetos Remotos X Objetos Locais
45
www.edeyson.com.br
Interface e objeto
Um processo Servidor ou Peer pode ser visto como uma coleo de objetos.
Interface Remota
46
www.edeyson.com.br
Requisitos
Problemas de desempenho
Reatividade (Capacidade de resposta)
Atrasos no sw remoto, na comunicao, middleware, S.O., processos, etc.
Balanceamento de carga
Applets, vrios computadores para um servio e migrao de tarefa.
Modelos de Arquitetura
Requisitos
Requisitos
Uso de cache e replicao
Protocolo de consistncia de cache
Dependabilidade
Pode ser definido como correo, segurana e confiabilidade. Tcnicas
Tolerncia a falhas
Falhas no hardware, software e na comunicao. Redundncia ajuda a confiabilidade, mas dispendiosa e limitada.
Segurana
49
www.edeyson.com.br
MODELOS FUNDAMENTAIS
50
Modelos Fundamentais
Contm elementos essenciais para o entendimento e raciocnio a respeito do comportamento de um sistema. Precisa tratar:
Quais so as principais entidades presentes no sistema? Como elas interagem? Que caractersticas afetam seu comportamento individual e coletivo?
Objetivos:
Tornar explcitas as suposies relevantes. Generalizar o que for possvel ou impossvel.
51 Modelos de Sistemas Distribudos www.edeyson.com.br
Modelos Fundamentais
Aspectos dos SD nos modelos fundamentais:
Interao
Processos interagem passando mensagens e na coordenao. A comunicao ocorre com atrasos.
Falhas
Define e classifica as falhas. Fornece uma base para a anlise de seus efeitos e projeto do tratamento.
Segurana
Define e classifica as formas que ataques podem assumir. Fornece uma base para a anlise das possveis ameaas e o projeto de mtodos de resistncia.
52
www.edeyson.com.br
Modelo de Interao
53
Modelo de Interao
Sistemas distribudos so compostos por vrios processos.
Algoritmos distribudos descrevem seus comportamentos e estados. As mensagens so enviadas para transferir informaes entre processos e para coordenar suas atividades.
54
www.edeyson.com.br
Modelo de Interao
Desempenho da comunicao
Latncia
Atraso entre o incio da transmisso e o incio da recepo
Primeiro bit no enlace. Atraso no acesso rede. Tempo de processamento
Largura de banda
Capacidade de transmisso total em um certo instante.
55
www.edeyson.com.br
Modelo de Interao
Desempenho da comunicao
Latncia Largura de banda Jitter
Medida de variao do atraso entre os pacotes sucessivos de dados
Pode ser responsvel por erros e perda de sincronismo em comunicaes sncronas em alta velocidade Soluo para minimiz-lo: utilizao de buffer Armazenar os dados a medida que eles chegam e encaminh-los aplicao a uma taxa constante Exemplo de uso:VoIP
56
www.edeyson.com.br
Modelo de Interao
Relgios de computador e eventos de temporizao
Cada computador possui seu relgio que usado pelos processos locais para medir o tempo dos eventos locais. Taxa de desvio do relgio (drift)
Diferena relativa para um relgio de referncia perfeito.
57
www.edeyson.com.br
Modelo de Interao
Duas variantes do modelo de interao
SD Sncronos
Necessita estabelecer limites de tempo inferior e superior para:
Execuo de cada etapa de um processo. Transmisso da mensagem
cada mensagem transmitida sobre um canal recebida dentro de um tempo limitado conhecido
Modelo de Interao
Duas variantes do modelo de interao
SD Sncronos
difcil chegar em limites de tempo realsticos e prover garantia aos mesmos
A falta de garantia implica que qualquer projeto baseado sobre os valores estimados no confivel
O modelo de um algoritmo como um sistema sncrono pode ser til para dar uma idia de como ele se comportar em um sistema distribudo real. Em um SD sncrono o uso de timeouts permite detectar a falha de um processo
Limite de tempo
59
www.edeyson.com.br
Modelo de Interao
Duas variantes do modelo de interao
SD Assncronos: No sncronos
Ex.: Internet.
Qualquer soluo vlida para um SD assncrono tambm vlida para o sncrono. SDs reais so comumente assncronos
Processos compartilham processadores e canais de comunicao compartilham a rede
60
www.edeyson.com.br
Modelo de Interao
Ordenao de eventos
Determinar se um evento ocorreu em um processo antes, depois ou simultaneamente com outro evento em outro processo. A execuo de um sistema pode ser descrita em termos da ocorrncia de eventos e de sua ordem, mesmo sem relgios precisos Ex.:
X envia uma mensagem com assunto REUNIO para Y, Z e A. Y e Z respondem com assunto Re: REUNIO. Possibilidades para A?
61
www.edeyson.com.br
Modelo de Interao
Ordenao de eventos
Envia X 1 m1 2 Recebe Envia Z Recebe Recebe m A t1
62
Recebe 4 Envia 3 m
2
Recebe
Recebe
Tempo fsico
t2
Modelo de Interao
Ordenao de eventos
O relgio lgico permite deduzir a ordem que as mensagens devem ser apresentadas. Cada evento tem um nmero que corresponde a uma ordem lgica.
X envia m1 antes que Y receba m1 Y envia m2 antes que X receba m2 Y recebe m1 antes de enviar m2
63
www.edeyson.com.br
Modelo de Falhas
64
Modelo de Falhas
Processos e canais de comunicao podem divergir do que considerado um comportamento correto ou desejvel. Proporciona um entendimento dos seus efeitos e conseqncias. Tipos de modelos de falhas:
Falha por omisso Falhas arbitrrias Falhas de sincronizao
65
www.edeyson.com.br
Modelo de Falhas
Falhas por omisso Processo ou canal de comunicao no executa as aes. Falha por omisso de processo
O processo falha se outros processos podem determinar que isso ocorreu.
processo p
processo q
send m
receive
Buffer de recepo
www.edeyson.com.br
Modelo de Falhas
Falhas arbitrrias
Qualquer tipo de erro pode ocorrer No processo
Omitir passos do processamento ou efetuar processamento indesejado
Na comunicao
Mensagens corrompidas Mensagens inexistentes Softwares de comunicao freqentemente detectam.
67
www.edeyson.com.br
Modelo de Falhas
Classe da falha Afeta Descrio Outros processos podem detectar Outros processos podem no detectar Sai do buffer de envio e no chega no buffer de recepo No chega ao buffer de envio Processo no "pega" no buffer de recepo
Parada por falha Processo Colapso Omisso Omisso de envio Omisso de recepo Arbitrria Processo Canal Processo Processo
68
Modelo de Falhas
Falhas de temporizao
Aplicveis aos SD sncronos.
Descrio Relgio local do processo ultrapassa o limite da taxa de desvio. Processo excede o limite de tempo entre duas etapas. Transmisso da mensagem supera o limite de tempo definido.
69
www.edeyson.com.br
Modelo de Falhas
Mascaramento de falhas
Um servio mascara uma falha ocultando-a completamente ou convertendo-a em um tipo de falha mais aceitvel. Ex.: Checksum.
70
www.edeyson.com.br
Modelo de Segurana
71
Modelo de Segurana
Tornar seguros os processos e os canais de comunicao, e eliminar acesso no autorizados. Proteo de objetos
Direitos de acesso Objeto invocao Cliente resultado Servidor
Principal (usurio)
Rede
Principal (servidor)
72
www.edeyson.com.br
Modelo de Segurana
Tornando processos e suas interaes seguros
Ameaa aos processos
Processos podem no identificar emissor de mensagens (spoofing).
m
Processo p
m
Canal de comunicao
Processo q
73
www.edeyson.com.br
Modelo de Segurana
Anulando ameaas segurana Criptografia e segredos compartilhados Autenticao
Garante a identidade de um principal
Principal A
Principal B
Processo p
Canal seguro
Processo q
74
www.edeyson.com.br