Você está na página 1de 25

Modelos de SD

Prof. Vinicius F. C. Ramos


v.ramos@ufsc.br
Universidade Federal de Santa Catarina
Campus Araranguá
Visão Geral
● Introdução
● Modelos Físicos
● Modelos Arquiteturais
● Modelos Fundamentais: interação, falha e segurança
● Exercícios

2
Modelos Físicos
● Uma maneira explícita de descrever um sistema
● Eles capturam a composição de hardware de um sistema, em
termos dos computadores (e outros equipamentos, incluindo os
móveis) e suas redes de interconexão
● São complementares aos modelos lógicos
Gerações dos SD
Sistemas Distribuídos Primitivos Adaptados p/ Internet Contemporâneos

Escala Pequenos Grandes Ultragrandes

Heterogeneidade Limitada (normalmente, Significativa em termos de Maiores dimensões


configurações relativamente plataformas, linguagens e introduzidas, incluindo
homogêneas) middleware estilos de arquitetura
radicalmente diferentes

Sistemas Abertos Não é prioridade Prioridade significativa, com Grande desafio para a
introdução de diversos pesquisa, com os padrões
padrões existentes ainda incapazes
de abranger sistemas
complexos

Qualidade de Serviço Em seu início Prioridade significativa, com Grande desafio para a
introdução de vários pesquisa, com os serviços
serviços existentes ainda incapazes
de abranger sistemas
complexos

Adaptado de COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribuídos conceitos e projetos. 4ª. Ed. Editora Bookman, 2007.
Modelos de Arquitetura
● Descrevem um sistema em termos das tarefas computacionais e de
comunicação realizadas por seus elementos computacionais

Retirado de http://exa.unne.edu.ar/informatica/SO/Imagen4.jpg
Elementos Arquitetônicos
● Entidades que se comunicam em um SD: objetos, componentes ou
serviços web
● Paradigma de comunicação:
○ Comunicação entre processos
○ Invocação remota:
■ Remote Procedure Call (RPC) e Remote Method Invocation (RMI)
● Estudo de Caso: Enterprise JavaBeans
○ Comunicação indireta:
■ Comunicação em grupo, filas de mensagem (JMS) e Memória Compartilhada
Distribuída
● Funções e responsabilidades: cliente-servidor e peer-to-peer
Pergunta
1. Qual dessas aplicações não é uma aplicação cliente-servidor na sua
concepção:
a. Mecanismos de busca na Web
b. Correio eletrônico
c. Skype
d. Domain Name Server (DNS)
Arquitetura de SD
● Cliente-Servidor
○ Individual ou em N-camadas
● Peer-to-peer
○ Centralizado
○ Descentralizado
○ Híbrido
Cliente-Servidor

http://2.bp.blogspot.com/-kLx1ihIWpBI/UDOiVtkLWyI/AAAAAAAAAQU/DQwjnEW8KJY/s1600/como+funciona+a+rede+cliente+servidor.jpg
Cliente-Servidor

https://qph.is.quoracdn.net/main-qimg-2f407097a49dc85013abdf7dd78eddd9
Cliente-Servidor
Cliente-Servidor

http://tutorials.jenkov.com/images/html4/the-web-2.png
Cliente-servidor multi-camadas

http://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=espec:arq-three-
tier.png
Estudo de Caso: Enterprise JavaBeans
● Arquitetura de
componentes do lado do
servidor: três camadas
● Parte da especificação
Java EE (qual servidor de
aplicação?)
● Separa a camada lógica da
aplicação
○ Podendo separar também a
camada de armazenamento
Peer-to-peer
● Todos os processos em uma tarefa ou atividade desempenham
funções semelhantes

http://www.codeproject.com/KB/WCF/614028/pto1.png
Peer-to-peer - descentralizado

http://s.hswstatic.com/gif/file-sharing1.gif
Peer-to-peer - Centralizado

http://netserver.it.nuigalway.ie/finalYearProject/hybrid.jpg
Peer-to-peer - Centralizado

http://s.hswstatic.com/gif/napster.gif
Peer-to-peer - Híbrido

http://letsbytecode.com/wp-content/uploads/2011/05/skype4.jpg
Modelos Fundamentais
● Modelo de Interação
○ desempenho e dificuldades de estabelecer limites de tempo
○ estrutura e a ordenação da comunicação
○ relógio global e local
● Modelo de falha
○ especificação precisa de falhas
○ comunicação confiável e correção de processos
● Modelo de segurança
○ discute as ameaças aos processos e aos canais de comunicação
Modelo de Interação
Modelo de falhas
● Falha por omissão
○ Omissão no processo: processo para e não executa mais nenhum passo
○ Omissão na comunicação: não é concretizada a transferência de uma mensagem
● Falhas arbitrárias
○ Falhas semânticas: valores incorretos aos dados ou retornar valores errados (difícil
de perceber)
● Falhas por temporização
○ SD síncronos em que limites de tempo são estabelecidos
● Mascaramento de falhas
○ Réplicas de dados
Modelo de segurança
● Proteção de objetos
○ Invasores
○ Ameaça aos processos e aos canais de comunicação
● Criptografia e segredos compartilhados
○ Autenticação e Canais seguros
● Negação de serviço
○ Difícil de reconhecer e agir
Na próxima aula
● Aula prática no laboratório A119 (sala ao lado)
● Criação de processos, threads e pacotes UDP/TCP
● Quem puder, traga o notebook
Referências
● TANENBAUM, Andrew S.; Maarten Van Steen. Sistemas Distribuídos:
princípios e paradigmas. 2ª. Ed. Editora Pearson, 2007.
● COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas
Distribuídos conceitos e projetos. 4ª. Ed. Editora Bookman, 2007.

Você também pode gostar