Você está na página 1de 19

Modelos de Sistemas Distribuídos

. Introdução

. Modelos Arquiteturais

. Requerimentos de Projeto para Arquiteturas


Distribuídas

1
Introdução
Introdução
. Existem 2 conjuntos de modelos de sistemas
distribuídos:

-> Conjunto dos Modelos Arquiteturais;

-> Conjunto dos Modelos Fundamentais;

. Cada modelo tem a intenção de disponibilizar


uma descrição abstrata e simplificada, mas
consistente dos aspectos relevantes do
projeto de sistemas distribuídos.

2
Introdução
Introdução

Modelos Arquiteturais estão preocupados


com a disposição das partes do sistema
distribuído e da relação/interação entre
elas

Modelos Fundamentais preocupam-se


com as propriedades que são comuns a
todos os modelos arquiteturais.
3
Modelos
Modelos Arquiteturais
. A arquitetura de um Sistema é sua estrutura em termos de
componentes especificados separadamente, e assim fazer um
sistema confiável, gerenciável, adaptável e de custo razoável.

Considerando:

. Localização dos componentes na rede de computadores


(definindo padrões de distribuição de dados e carga de
trabalho)

. A inter-relação entre os componentes (os papéis funcionais


e os padrões de comunicação entre eles).

Conceitos:

. Processo servidor;
. Processo cliente;
. Processos pares; (cooperam e comunicam de maneira simétrica)
4
Arquitetura
Arquitetura de Software

. Originalmente é a estruturação do software como


camadas ou módulos em um único computador e mais
recentemente em termos de serviços oferecidos e
requisitados entre processos localizados no mesmo ou
em computadores diferentes.

-> Plataforma (hardware/Sistema Operacional. Ex: intel


x86/Windows, PowerPC/Mac OS X);

->Middleware (modelo de programação conveniente


mascarando heterogeneidade);

5
Arquitetura
Arquitetura de Software

Source: Coulouris et al.


6
Arquitetura
Arquitetura de Software
. Limitações de Middleware (principalmente middleware de
comunicação
The end-to-end argument
Em muitos casos o comportamento correto de SDs depende de
verificações, mecanismos de correção de erro e medidas de
segurança em muitos níveis, alguns dos quais requerendo
acesso a dados dentro do espaço de endereçamento da
aplicação. Qualquer tentativa de verificação dessas condições
apenas dentro do sistema de comunicação (middleware) será
insuficiente, e o trabalho provavelmente terá de ser feito tbém
no nível da aplicação, disperdiçando esforço de programação, e
mais importante, adicionando complexidade e executando
operações redundantemente.

Saltzer, J.H., Reed, D.P., and Clarke, D. (1984). End-to-End Arguments in System
Design, ACM Transactions on Computer Systems Vol. 2, Nº 4, pp. 277-288
7
Arquitetura
Arquiteturas de Sistema
No que se baseiam as arquiteturas de sistemas distribuídos:
. Na divisão de responsabilidades entre os componentes do sistema,
e;
. No posicionamento (onde) desses componentes na rede.

Conseqüência:
Divisão de responsabilidades e posicionamento na rede são talvez
o mais evidente aspecto do projeto de sistemas distribuídos.

Resultado:
Tais características implicam na: (dos sistemas resultantes)
. Performance (desempenho)
. Confiabilidade
. Segurança

8
Arquitetura
Arquiteturas de Sistema
Cliente/Servidor
. Quem requisita serviço assume o papel de cliente.
. Os servidores podem tornar-se clientes de outros servidores.

9
Arquitetura
Arquiteturas de Sistema
. Processos Pares:
Todos os processos praticam papéis similares interagindo
cooperadamente (sem distinção entre servidores e clientes).
Ex. Aplicação de quadro branco distribuído.

10
Arquitetura
Arquiteturas de Sistema – Múltiplos Servidores
. Serviços disponibilizados por múltiplos servidores:
Servidores em computadores separados podem implementar
serviços baseando-se na interação constante, particionando ou
replicando os componentes do serviço (objetos por ex.) e
distribuindo-os entre eles. Ex: Content Distribution Network
(CDN), Web, cluster

11
Arquitetura
Arquiteturas de Sistema
. Servidores Proxy e Cache:
Armazenamento de informações de forma a aumentar a
performance. Ex. Web

12
Arquitetura
Variações no Modelo Cliente/Servidor
. Código Móvel
O código da aplicação é buscado no servidor e executado no
cliente. Economizar largura de banda. Ex. Applet, TV digital
interativa

13
Arquitetura
Variações no Modelo Cliente/Servidor
. Agentes Móveis
Um programa executável que “viaja” de um computador a outro na
rede, executando computações e recuperando informações, e
eventualmente retornando algum resultado.

14
Arquitetura
Variações no Modelo Cliente/Servidor
. Computadores de Rede
É diferente do conceito de computadores em
rede. Nesse caso, os computadores possuem
poder de processamento e tem memória, porém
não utilizam armazenamento local. Ex: boot
remoto.

Nesse exemplo, o sistema operacional e


aplicações (imagens) ficam armazenadas no
servidor e são descarregadas para o cliente
(computador de rede) no momento do boot. O
usuário utiliza as aplicações e quaisquer dados a
serem salvos, são armazenados no servidor.

15
Arquitetura
Variações no Modelo Cliente/Servidor
. Thin Clients
Similar ao modelo de computadores de rede, porém sem
capacidade de processamento ou memória. Todo o
processamento e armazenamento é executado no servidor.
Apenas uma interface de acesso ao servidor é disponibilizada
pelo Thin Client. Ex: X-11 window system, Citrix system

16
Arquitetura
Variações no Modelo Cliente/Servidor
. Dispositivos móveis e Redes Espontâneas
(computação ubíqua)

Dispositivos de hardware com capacidade de


processamento e comunicação sem fio através
da rede pública de telecomunicações (ex:
gsm,cdma) ou WiFi, Wimax, bluetooth, etc..
com capacidade de criação de redes ad hoc
móveis.

Um dos dispositivos atua como servidor e os


outros como clientes (para autenticação por ex)
ou a operadora telefônica atua como servidora
e os dispositivos como clientes.
17
Arquitetura
Requerimentos de Projeto para Arquiteturas Distribuídas
. Performance
- Tempo de Resposta (Responsiviness)
- Throughput (taxa de processamento e/ou transferência)
- Balanceamento da Carga Computacional

18
Arquitetura
Requerimentos de Projeto para Arquiteturas Distribuídas

. Qualidade de Serviço
- Afetada pela Confiabilidade, Segurança e Performance
(características dos modelos fundamentais)

. Uso de Caching e Replicação (protocolos)

. Fidedignidade ou Confiabilidade
- Correção ou Corretude
- Tolerância a Falhas (alcançada por redundância alto custo)
- Segurança

19

Você também pode gostar