03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de...

19
1 Modelos de Sistemas Distribuídos . Introdução . Modelos Arquiteturais . Requerimentos de Projeto para Arquiteturas Distribuídas

Transcript of 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de...

Page 1: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

1

Modelos de Sistemas Distribuídos

. Introdução

. Modelos Arquiteturais

. Requerimentos de Projeto para ArquiteturasDistribuídas

Page 2: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

2

Introdução

. Existem 2 conjuntos de modelos de sistemasdistribuídos:

-> Conjunto dos Modelos Arquiteturais;

-> Conjunto dos Modelos Fundamentais;

. Cada modelo tem a intenção de disponibilizaruma descrição abstrata e simplificada, masconsistente dos aspectos relevantes doprojeto de sistemas distribuídos.

Introdução

Page 3: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

3

Introdução

Modelos Arquiteturais estão preocupadoscom a disposição das partes do sistemadistribuído e da relação/interação entreelas

Modelos Fundamentais preocupam-secom as propriedades que são comuns atodos os modelos arquiteturais.

Introdução

Page 4: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

4

Modelos Arquiteturais. A arquitetura de um Sistema é sua estrutura em termos de

componentes especificados separadamente, e assim fazer umsistema 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 detrabalho)

. A inter-relação entre os componentes (os papéis funcionaise os padrões de comunicação entre eles).

Conceitos:

. Processo servidor;

. Processo cliente;

. Processos pares; (cooperam e comunicam de maneira simétrica)

Modelos

Page 5: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

5

Arquitetura de Software

. Originalmente é a estruturação do software comocamadas ou módulos em um único computador e maisrecentemente em termos de serviços oferecidos erequisitados entre processos localizados no mesmo ouem computadores diferentes.

-> Plataforma (hardware/Sistema Operacional. Ex: intel x86/Windows, PowerPC/Mac OS X);

->Middleware (modelo de programação convenientemascarando heterogeneidade);

Arquitetura

Page 6: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

6

Arquitetura de SoftwareArquitetura

Source: Coulouris et al.

Page 7: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

7

Arquitetura de Software

. Limitações de Middleware (principalmente middleware decomunicação

The end-to-end argument

Em muitos casos o comportamento correto de SDs depende deverificações, mecanismos de correção de erro e medidas desegurança em muitos níveis, alguns dos quais requerendoacesso a dados dentro do espaço de endereçamento daaplicação. Qualquer tentativa de verificação dessas condiçõesapenas dentro do sistema de comunicação (middleware) seráinsuficiente, e o trabalho provavelmente terá de ser feito tbémno nível da aplicação, disperdiçando esforço de programação, emais importante, adicionando complexidade e executandooperações redundantemente.

Saltzer, J.H., Reed, D.P., and Clarke, D. (1984). End-to-End Arguments in SystemDesign, ACM Transactions on Computer Systems Vol. 2, Nº 4, pp. 277-288

Arquitetura

Page 8: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

8

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

Arquitetura

Page 9: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

9

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

Arquitetura

Page 10: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

10

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.

Arquitetura

Page 11: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

11

Arquiteturas de Sistema – Múltiplos ServidoresArquitetura

. Serviços disponibilizados por múltiplos servidores:Servidores em computadores separados podem implementarserviços baseando-se na interação constante, particionando oureplicando os componentes do serviço (objetos por ex.) edistribuindo-os entre eles. Ex: Content Distribution Network(CDN), Web, cluster

Page 12: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

12

Arquiteturas de Sistema

. Servidores Proxy e Cache: Armazenamento de informações de forma a aumentar a

performance. Ex. Web

Arquitetura

Page 13: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

13

Variações no Modelo Cliente/Servidor

. Código MóvelO código da aplicação é buscado no servidor e executado nocliente. Economizar largura de banda. Ex. Applet, TV digitalinterativa

Arquitetura

Page 14: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

14

Variações no Modelo Cliente/Servidor

. Agentes MóveisUm programa executável que “viaja” de um computador a outro na

rede, executando computações e recuperando informações, eeventualmente retornando algum resultado.

Arquitetura

Page 15: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

15

Variações no Modelo Cliente/Servidor

. Computadores de RedeÉ diferente do conceito de computadores em

rede. Nesse caso, os computadores possuempoder de processamento e tem memória, porémnão utilizam armazenamento local. Ex: bootremoto.

Nesse exemplo, o sistema operacional eaplicações (imagens) ficam armazenadas noservidor e são descarregadas para o cliente(computador de rede) no momento do boot. Ousuário utiliza as aplicações e quaisquer dados aserem salvos, são armazenados no servidor.

Arquitetura

Page 16: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

16

Variações no Modelo Cliente/Servidor

. Thin Clients

Similar ao modelo de computadores de rede, porém semcapacidade de processamento ou memória. Todo oprocessamento e armazenamento é executado no servidor.Apenas uma interface de acesso ao servidor é disponibilizadapelo Thin Client. Ex: X-11 window system, Citrix system

Arquitetura

Page 17: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

17

Variações no Modelo Cliente/Servidor

. Dispositivos móveis e Redes Espontâneas(computação ubíqua)

Dispositivos de hardware com capacidade deprocessamento e comunicação sem fio atravésda rede pública de telecomunicações (ex:gsm,cdma) ou WiFi, Wimax, bluetooth, etc..com capacidade de criação de redes ad hocmóveis.

Um dos dispositivos atua como servidor e osoutros como clientes (para autenticação por ex)ou a operadora telefônica atua como servidorae os dispositivos como clientes.

Arquitetura

Page 18: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

18

Requerimentos de Projeto para Arquiteturas Distribuídas

. Performance- Tempo de Resposta (Responsiviness)- Throughput (taxa de processamento e/ou transferência)- Balanceamento da Carga Computacional

Arquitetura

Page 19: 03-Modelos de Sistemas Distribuidos - joinville.udesc.br · 7 Arquitetura de Software.LimitaçõesdeMiddleware(principalmentemiddlewarede comunicação Theend-to-endargument EmmuitoscasosocomportamentocorretodeSDsdependede

19

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

Arquitetura