Você está na página 1de 47

FUNDAÇÃO CENTRO DE ANÁLISE, PESQUISA E INOVAÇÃO TECNOLÓGICA

FACULDADE FUCAPI

Sistemas Paralelos e Distribuídos

MODELOS
2 Modelos de Sistema

Os sistemas devem ser projetados para funcionar


nos mais variados cenários
= Sob dificuldades e ameaças.

Dividem-se por modelos de sistema


 Cada tipo de modelo fornece uma descrição
abstrata e simplificada, mas consistente.
3 Modelos de Sistema

Modelos físicos

Modelos de arquitetura para sistemas distribuídos

Modelos fundamentais
4 Modelos de Sistema

Modelos físicos

Modelos de arquitetura para sistemas distribuídos

Modelos fundamentais
5 Modelos de Sistema
Modelos físicos
Representam a composição de hw de um sistema
(computadores e suas redes de interconexão)

Descrevem os elementos de hw de um sistema


distribuído
Não levam em consideração (abstraem) os detalhes
específicos do computador e das tecnologias de rede
empregadas.
6 Modelos de Sistema

Modelos físicos

Modelo físico básico:

 Conjunto de computadores interligados por


uma rede para a passagem de mensagens.
7 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


8 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


9 Modelos de Sistema

Modelos físicos
Sistemas distribuídos primitivos
Surgiram no final da década de 70;
Poucos nós interligados em rede local (10-100);
Internet limitada;
Totalmente homogêneos;
Muita vezes não eram abertos.
Qualidade de serviço em estado inicial
10 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


11 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


12 Modelos de Sistema

 Modelos físicos
Sistemas distribuídos adaptados para a Internet
Surgiram na década de 90;
Possuíam uma escalabilidade razoável;
Explorava a Internet para fornecer os primeiros serviços
globais;
Se tornaram heterogêneos em vários aspectos;
Maior ênfase em padrões abertos e tecnologias de
middleware;
A qualidade de serviço passou a ser objetivo importante.
13 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


14 Modelos de Sistema

Modelos físicos : 3 gerações

Sistemas distribuídos primitivos

Sistemas distribuídos adaptados para a Internet

Sistemas distribuídos contemporâneos


15 Modelos de Sistema

Modelos físicos
Sistemas distribuídos contemporâneos
Surgiram com a computação móvel, ubíqua e
em nuvem;
Totalmente heterogêneos;
Oferecem serviços variados de escala global;
Com escalabilidade adaptável e sazonal;
Potencialmente chegando a centenas de
milhares de nós.
16 Modelos de Sistema
Modelos físicos
17 Modelos de Sistema

Modelos físicos

Modelos de arquitetura para sistemas distribuídos

Modelos fundamentais
18 Modelos de Sistema

Modelos físicos

Modelos de arquitetura para sistemas distribuídos

Modelos fundamentais
19 Modelos de Sistema

Modelos de arquitetura para sistemas distribuídos


A arquitetura de um sistema é sua estrutura em termos
de componentes especificados separadamente e suas
inter-relações.
Objetivo: garantir que a estrutura atenda às
necessidades atuais e futuras.
Preocupações: tornar o sistema confiável, gerenciável,
adaptável e rentável.
20 Modelos de Sistema

Modelos de arquitetura para sistemas distribuídos


Elementos arquitetônicos:
Entidades em Comunicação
São processos
Englobam de forma genérica os Objetos,
Componentes e os Serviços Web.
21 Modelos de Sistema

Modelos de arquitetura para sistemas distribuídos


Elementos arquitetônicos:
Paradigmas (modelo) de Comunicação
Voltados para a forma como as entidades se
comunicam.
Destacam-se:
Comunicação entre processos
Invocação remota
Comunicação indireta
22 Modelos de Sistema

Comunicação entre processos


 Refere-se ao suporte de nível relativamente baixo
 Passagem de mensagens
 Uso da API de protocolos Internet
 Comunicação em grupo (multicast)
23 Modelos de Sistema

Invocação remota
Mais comum em Sistemas Distribuídos.
Baseada na troca de mensagens bilateral entre
entidades, resultando na chamada de uma
operação, um procedimento ou método remoto.
Podem ser do tipo:
Requisição-resposta
Chamada de procedimento remoto (RPC)
Invocação de método remoto (RMI)
24 Modelos de Sistema
 Comunicação indireta
Os remetentes não precisam saber para quem estão enviando
(desacoplamento espacial)
Os remetentes e destinatários não precisam existir ao mesmo
tempo (desacoplamento temporal)
As principais técnicas de comunicação indireta, incluem:
Comunicação em grupo;
Sistemas de publicar-assinar;
Filas de mensagens;
Espaços de tupla;
Memória compartilhada distribuída.
25 Modelos de Sistema
Modelos de arquitetura para sistemas distribuídos
Elementos arquitetônicos:
Funções e responsabilidades
Em um sistema distribuído os processos interagem
e assumem determinadas funções
 Fundamental na escolha da arquitetura a ser
adotada.
Dois estilos de arquitetura se destacam
Cliente-servidor
Peer-to-peer
26 Modelos de Sistema
Cliente-servidor
Os processos clientes interagem com processos
servidores, localizados em computadores distintos, para
acessar os recursos compartilhados que estes gerenciam.
27 Modelos de Sistema
Peer-to-peer
Os processos envolvidos desempenham funções
semelhantes, interagindo de forma cooperativa.
28 Modelos de Sistema
Modelos de arquitetura para sistemas distribuídos
Elementos arquitetônicos:
Posicionamento
Determina o modo como as entidades são mapeadas
na infraestrutura física distribuída:
Mapeamento de serviços em vários servidores;
Uso de cache;
Código móvel;
Agentes móveis.
29 Modelos de Sistema
Mapeamento de serviços em vários servidores

Os servidores podem
particionar o conjunto de
objetos e distribuí-los entre
eles
ou manter cópias duplicadas.
30 Modelos de Sistema

Uso de cache
Consiste em realizar um
armazenamento de objetos de
dados recentemente usados em
um local mais próximo a um
cliente, ou a um conjunto de
clientes.
31 Modelos de Sistema
Código móvel
Consiste em repassar para o cliente a execução
do código remoto. Ex.: Applets.
32 Modelos de Sistema

Agentes móveis
É um programa em execução, incluindo tanto o
código quanto os dados, que passa de um
computador para outro em um ambiente de rede,
realizando uma tarefa ou coleta de dados e
retornando dados para o solicitante.
Ex.: Sistemas para instalar software.
33 Modelos de Sistema
Modelos de arquitetura para sistemas distribuídos
Padrões arquitetônicos:
Baseiam-se nos elementos de arquitetura mais
primitivos e fornecem estruturas recorrentes
compostas que levam o projetista a uma solução.
Camadas lógicas
Arquitetura de camadas físicas
Thin clients
Outros padrões
34 Modelos de Sistema
Camadas lógicas
O conceito de camadas lógicas está intimamente
relacionado à abstração.
Um sistema completo é particionado em várias
camadas, com cada uma utilizando os serviços
oferecidos pela camada lógica inferior.
Ex.: O serviço NTP, onde o servidor provê o horário
correto aos clientes, contudo estes clientes não
sabem de onde o servidor obtém o horário.
35 Modelos de Sistema
Camadas lógicas
36 Modelos de Sistema

Arquitetura de camadas físicas


São complementares às camadas lógicas, pois
disponibilizam a infraestrutura necessária para
que os serviços operem de forma satisfatória.

Nesta camada são oferecidos clusters, conexão


de alto desempenho e tolerância à falhas.
37 Modelos de Sistema

Arquitetura de camadas físicas


38 Modelos de Sistema

Arquitetura de camadas físicas


39 Modelos de Sistema
Thin clients
A tendência atual: retirar a complexidade do cliente e
deixá-lo operar da forma mais simples possível, para
eliminar as possíveis variáveis que poderiam
ocasionar a interrupção do serviço.

O termo magro se refere à camada de software que


suporta uma interface baseada em janelas locais
para o usuário, enquanto que o processamento
acontece remotamente.
40 Modelos de Sistema
Thin clients
41 Modelos de Sistema
Modelos de arquitetura para sistemas distribuídos
Soluções de middleware associadas
A tarefa do middleware é fornecer uma abstração
de programação de nível mais alto para o
desenvolvimento de sistemas distribuídos.
Por meio de camadas lógicas, abstrair a
heterogeneidade da infraestrutura subjacente para
promover:
Interoperabilidade
Portabilidade
42 Modelos de Sistema

Modelos de arquitetura para sistemas distribuídos


Soluções de middleware associadas
Categorias de middleware
Historicamente pode-se destacar o Sun RPC e o
ISIS (sistemas de comunicação de grupo).
Inúmeros sistemas surgiram de forma a poderem
categorizar middlewares por função.
43 Modelos de Sistema
Modelos fundamentais
Todos os modelos basicamente são compostos
de processos que se comunicam por meio do
envio de mensagens através de uma rede de
computadores.
Nos permitem ser mais específicos a respeito de
suas características:
Modelo de interação
Modelo de falhas
Modelo de segurança
44 Modelos de Sistema
Modelo de interação
Fornece uma base para a análise de seus efeitos
e potencial e para projetar sistemas tolerantes.
O desempenho da comunicação é um fator
limitante
A impossibilidade de manter uma noção global
de tempo única é outro fator a se preocupar
A ordenação para que os eventos ocorram
mesmo sem um temporizador também deve ser
levada em questão
45 Modelos de Sistema
Modelo de falhas
Deve refletir que a comunicação ocorre com atrasos
que, frequentemente, têm duração considerável.
Falhas de omissão podem ocorrer entre processos
ou na comunicação;
Falhas arbitrárias também podem ocorrer, como
omitir passos ou dados relevantes ou até mesmo
executar um processamento indesejado.
46 Modelos de Sistema
Modelo de falhas
Falhas de temporização resultam em
indisponibilidade no tempo hábil.
É possível mascarar falhas a fim de diminuir o
impacto.
A confiabilidade nos sistemas neste momento
é primordial.
47 Modelos de Sistema
 Modelo de segurança
Define e classifica as formas que ataques podem assumir,
dando uma base para a análise das possíveis ameaças a
um sistema.
Direitos de acesso especificam quem pode executar
determinadas operações.
Utilizar métodos para que invocações remotas sejam
realizadas de forma segura e íntegra por seus clientes.
Utilizar métodos de criptografia e segredos
compartilhados, bem como, propiciar autenticação e
comunicação segura.
Avaliar meios de evitar DoS e código móvel malicioso.