Sie sind auf Seite 1von 39

02/03/2010

Sistemas Distribudos
Modelos

riko Moreira
Faculdade Loureno Filho

Referncia
 Material Baseado no Livro

02/03/2010

Agenda
 Motivao
 Modelos Arquitetnicos
 Modelos Fundamentais

Motivao


Sistemas utilizados em ambientes do mundo real devem ser


projetados para operar corretamente nas mais variadas
circunstncias e diante de muitas possveis dificuldades e
ameaas




Variedade de modos de uso (demanda, requisitos de QoS)


Variedade de ambientes e plataformas (desempenho, escala)
Problemas internos e ameaas externas (falhas, segurana)

Propriedades e questes de projeto comuns a diferentes tipos de


sistemas distribudos podem ser melhor estudadas e entendidas
na forma de modelos descritivos


Cada modelo oferece uma descrio abstrata (ou seja, simples mas
consistente com a realidade) de aspectos relevantes do projeto de
um sistema distribudo

02/03/2010

Para que Servem os Modelos?




Capturam a essncia de um sistema, permitindo que aspectos


importantes do seu comportamento possam ser mais facilmente
estudados e analisados pelos seus projetistas




Quais so os principais elementos do sistema?


Como eles se relacionam?
Que caractersticas afetam o seu comportamento (individual e
colaborativo)?

Ajudam a:



Tornar explcitas todas as pr-suposies sobre o comportamento


esperado do sistema
Fazer generalizaes sobre o que deve e no deve acontecer com o
sistema, dadas essas pr-suposies

Tipos de Modelos


Modelos arquitetnicos descrevem a estrutura organizacional dos


componentes do sistema



Como interagem uns com os outros


Como so mapeados para a infra-estrutura fsica (rede) subjacente

Modelos fundamentais descrevem problemas e caractersticas


chaves comuns ao projeto de todos os tipos de sistemas
distribudos




Mecanismos de interao e comunicao


Tratamento de falhas
Segurana

02/03/2010

Agenda
 Motivao
 Modelos Arquitetnicos
 Modelos Fundamentais

Modelos Arquitetnicos


Foco na arquitetura estrutura de alto nvel do sistema, descrita


em termos de componentes separadamente especificados e seus
relacionamentos



Arcabouo de referncia para o projeto


Base para garantir que a estrutura do sistema atender sua atual e
provvel futura demanda em termos de atributos de qualidade como
confiabilidade, adaptabilidade, desempenho, gerncia, etc.

Descrio simplificada e abstrata dos componentes do sistema:




Funcionalidades (ou responsabilidades)

Distribuio fsica (recursos e carga de trabalho)

Padres de interao e comunicao





Ex.: servidor, cliente, peer


Ex.: regras de particionamento e/ou replicao
Ex.: cliente-servidor, ponto-a-ponto

02/03/2010

Modelos Arquitetnicos


Classificados e estudados de acordo com as suas caractersticas


comuns (estilos arquitetnicos):



Cliente-servidor
Ponto-a-ponto

Foco na diviso de responsabilidades entre os componentes do


sistema e na alocao fsica desses componentes infraestrutura
de rede

Na prtica, um mesmo sistema distribudo pode apresentar


caractersticas de diferentes estilos (arquiteturas hbridas)

Forte influncia nos atributos de qualidade do sistema!

Estilo Cliente-Servidor


Diviso das responsabilidades entre os componentes do sistema


de acordo com dois papis bem definidos:







Servidores so responsveis por gerenciar e controlar o acesso


aos recursos mantidos no sistema
Clientes interagem com servidores de modo a terem acesso aos
recursos que estes gerenciam
Alguns servidores podem assumir o papel de clientes de outros
servidores


Clientes
Servidores

Ex.: Servidor web no papel de cliente de um servidor de nomes

Continua sendo o modelo de sistema distribudo mais estudado e


utilizado na prtica!

02/03/2010

Estilo Cliente-Servidor

Estilo Cliente-Servidor
 Oito variaes do estilo Cliente-Servidor

mais estudadas:








Mltiplos servidores por servio


Cache e servidores proxy
Clientes magros
Cdigo mvel
Agentes mveis
Objetos distribudos
Dispositivos mveis

02/03/2010

CS com Mltiplos Servidores


 Cada servio implementado por um conjunto de

servidores, possivelmente localizados em diferentes pontos


da rede
 Servidores podem interagir entre si para oferecer uma viso
global consistente do servio para os clientes
 Tcnicas mais utilizadas:


Particionamento distribuio fsica dos recursos entre os


vrios servidores



Maior facilidade de gerncia e maior escalabilidade


Ex.: Clusters de servidores do portal UOL

Replicao manuteno de cpias do mesmo recurso lgico


em dois ou mais servidores



Maior desempenho e disponibilidade


Ex.: Base de dados do Google, Servio de nomes da Sun
(NIS/NFS)

CS com Mltiplos Servidores

02/03/2010

CS com Cache e Servidor Proxy


 Cache
 Repositrio de cpias de objetos recentemente utilizados que
est fisicamente mais prximo do que os objetos originais
 Principais desafios:



Poltica de atualizao (controla a entrada e sada de objetos no


cache)
Localizao fsica (nos clientes ou em um ou mais servidores
proxy)

Servidor proxy
 Processo compartilhado por vrios clientes que serve como
cache para os recursos disponibilizados por outros servidores
remotos
 Principais funes:




Reduzir o tempo de acesso


Aumentar a disponibilidade
Tambm utilizado para proteo, filtragem, adaptao, etc.

CS com Cache e Servidor Proxy

02/03/2010

CS com Clientes Magros


 Cliente magro
 Camada de software com suporte para interao local
com o usurio, e que executa aplicaes e solicita
servios exclusivamente a partir de servidores remotos
 Ex.: XWindows (Unix/Linux), WinFrame (WindowsNT), VNC
 A favor:
 Baixo custo de hardware e software para os clientes
 Maior facilidade de gerncia e manuteno das aplicaes
 Contra:
 Alto custo de hardware e software para os servidores
 Centralizao da carga de trabalho e do trfego de
mensagens
 Risco de sobrecarga dos servidores e/ou da rede
 Baixo desempenho para aplicaes altamente interativas

CS com Clientes Magros

02/03/2010

Clientes Magros e Seus Nveis

CS com Cdigo Mvel


 Servios oferecidos na forma de um cdigo (programa)

especfico que deve ser descarregado do servidor

 Aplicaes clientes executam e interagem localmente

com o cdigo mvel recebido


 Dependendo do servio, cdigo mvel pode interagir com
um ou mais servidores em nome da aplicao cliente
 Ex.: Java applets, Tcl scripts
 Principais benefcios:
 Reduo do tempo de resposta para aplicaes
interativas
 Maior facilidade de customizao e atualizao da
interface de acesso ao servio
 Possibilidade de estender dinamicamente as
funcionalidades das aplicaes clientes

10

02/03/2010

CS com Cdigo Mvel

CS com Cdigo Mvel


 Desafios de projeto:
 Heterogeneidade do cdigo mvel e da arquitetura de

execuo das aplicaes clientes


 Soluo: mquinas virtuais padronizadas embutidas
nas aplicaes clientes
 Riscos de segurana na execuo do cdigo mvel
 Soluo: limitar as aes do cdigo mvel ou executlo em um ambiente isolado do restante da rede
 Atrasos causados pelo tempo de transferncia do cdigo
mvel e pelo tempo de inicializao do seu ambiente de
execuo
 Soluo: transferncia do cdigo em formato
compactado; cache de cdigos recentemente
utilizados; pr-inicializao do ambiente de execuo

11

02/03/2010

CS com Agentes Mveis


 Agente mvel
 Programas em execuo (cdigo + dados) que circula
pela rede solicitando servios em nome de um usurio ou
de uma aplicao cliente
 Ex.: agente para coleta de dados, busca e comparao de

preos de produtos, instalao de software, etc


 O acesso aos servios feito localmente pelo agente, ou

de locais fisicamente prximos (da mesma rede local)


aos servidores

 Benefcios:
 Reduo dos custos e do tempo de acesso
 Acesso antes remoto agora passa a ser local
 Maior tolerncia a falhas de comunicao
 Conexo necessria apenas durante a transferncia do
agente
 Melhor distribuio do trfego de mensagens na rede

CS com Agentes Mveis

12

02/03/2010

CS com Agentes Mveis


 Desafios de projeto:
 Heterogeneidade do cdigo e da arquitetura de execuo
dos agentes
 Soluo: ambientes de execuo padronizados em cada
ponto do sistema
 Riscos de segurana na execuo dos agentes
 Soluo: restringir a entrada a agentes certificados e
execut-los em um ambiente isolado ou com acesso aos
recursos locais rigorosamente controlado
 Riscos de interrupo dos agentes devido negao de
acesso por parte dos servidores
 Soluo: utilizar agentes certificados e com permisso
de acesso aos recursos requisitados
 Atrasos causados pela tempo de transferncia dos agentes
 Soluo: transferncia dos agentes em formato
compactado

CS com Objetos Distribudos


 Objetos encapsulados em processos servidores
 Objetos acessados por outros processos (clientes)
atravs de referncias remotas para uma ou mais de
suas interfaces
 Referncia remota permite invocar remotamente os
mtodos disponveis na interface do objeto referenciado
 Implementao na forma de middleware orientada a

objetos (ex.: CORBA, COM+, Java-RMI, EJB, .NET)

 Diferentes mecanismos para criar, executar, publicar,

localizar, e invocar objetos remotos

 Diferentes servios de suporte


 Transao, persistncia, replicao, segurana, etc
 Diferentes fabricantes e modelos de negcio

 Discutido em detalhes futuramente

13

02/03/2010

CS com Objetos Distribudos

CS com Dispositivos Mveis


 Formado por aplicaes clientes que executam em

dispositivos mveis (PDAs, laptops, celulares, etc) e


acessam servidores da rede fixa atravs de uma
infraestrutura de comunicao sem fio


Diferena para as variaes com cdigo mvel e agentes


mveis?

 Principais benefcios:
 Fcil conexo dos dispositivos a uma nova rede local


Incluso de novos clientes sem a necessidade de configurao


explcita

Fcil integrao dos clientes aos servios locais




Descoberta automtica de novos servios (sem interveno do


usurio)

 Desafios de projeto:
 Identificao de recursos independente de sua localizao fsica
 Limitaes de processamento, tempo de conexo e largura de
banda
 Privacidade e segurana

14

02/03/2010

CS com Dispositivos Mveis

Estilo Ponto-a-Ponto
 Todos os processos (ns) envolvidos em uma mesma

tarefa ou atividade exercem papis similares,


interagindo cooperativamente como parceiros (peers)
uns dos outros
 Criado para suprir as conhecidas deficincias de

escalabilidade do modelo CS tradicional

 Padro de interao e de compartilhamento de recurso

entre os participantes depende inteiramente dos requisitos


da aplicao

 O objetivo principal explorar os recursos (hardware &

software) de um grande nmero de mquinas/usurios


interessados em realizar uma determinada tarefa ou
atividade
 Uso pioneiro no compartilhamento de arquivos de udio

(Napster)

 Sucesso do Napster abriu caminho para vrios outros

sistemas e middleware P2P de propsito geral (KaZaA,


Gnutella, Emule, JXTA, Pastry, etc)

15

02/03/2010

Estilo Ponto-a-Ponto

Estilo Ponto-a-Ponto
 Caractersticas dos sistemas P2P:

 Arquitetura totalmente distribuda (sem qualquer

controle centralizado)

 Sem distino entre clientes e servidores (cada n

cliente e servidor ao mesmo tempo)

 Ns podem trocar recursos diretamente entre si


 Ns so autnomos para se juntarem ao sistema ou

deix-lo quando quiserem


 Necessidade de cdigo de coordenao em cada n
para manter a consistncia dos recursos e sincronizar
as aes em nvel de aplicao
 Interao entre ns pode ser feita utilizando
mecanismos apropriados para comunicao em grupo
(difuso seletiva, notificao de eventos)

16

02/03/2010

Estilo Ponto-a-Ponto

Modelo Cliente Servidor

Modelo Ponto-a-Ponto

Arquiteturas P2P
 Arquitetura bsica (ou pura)



Nenhum n especial
Cada n conhece apenas os seus vizinhos



Determinados quando o n se junta ao sistema (busca na rede


pelos vizinhos mais prximos)
Conjunto de vizinhos pode mudar ao longo do tempo

Topologia estruturada (ex.: Chord) ou no-estruturada (ex.:


Gnutella)

 Arquitetura hbrida




Algumas tarefas (com descoberta da localizao de recursos)


realizadas atravs de um ou mais componentes centralizados
Demais tarefas realizadas de forma descentralizada atravs
da interao direta entre os ns interessados
Exs.: Napster, KaZaA

17

02/03/2010

Descoberta de Recursos
 Mecanismos de busca na arquitetura bsica
 Topologia no estruturada
 Busca por inundao
 Busca cega
 Busca informada
 Busca informada com replicao

 Topologia estruturada
 Busca via mapeamento de IDs

 Mecanismos de busca na arquitetura hbrida


 Busca em catlogo centralizado
 Busca via super ns

Busca por Inundao


 O n que inicia uma consulta a envia

para todos os seus vizinhos


 Ao receber uma consulta:
 Se o n possui o recurso, ele notifica o

iniciador da consulta; o iniciador da consulta


pode ento obter o recurso diretamente do n
que o notificou
 Se o n no possui o recurso, ele decrementa
o valor do tempo de vida (Time To Live TTL)
da consulta e, caso TTL > 0, repassa a
consulta para todos os outros vizinhos

18

02/03/2010

Busca por Inundao (cont.)


 Observaes:
 O iniciador da consulta pode obter resultados

redundantes ou at no obter nenhum


resultado mesmo que o recurso exista em
algum n da rede (Por qu?)
 Um n pode ser visitado mais de uma vez (n
D no exemplo a seguir)
 ID do iniciador pode ser transmitido junto com
a consulta ou ID do provedor do recurso pode
ser informado ao iniciador seguindo o caminho
inverso da consulta

Exemplo Busca por Inundao

19

02/03/2010

Desvantagens da Busca por Inundao


 Nmero grande de mensagens trocadas

entre os ns
 Consultas enviadas de forma duplicada
 Difcil escolher o valor do tempo de vida
das consultas
 TTL alto demais pode sobrecarregar a rede
 TTL baixo demais pode encerrar a busca antes

de chegar ao provedor do recurso

Busca Cega (Busca Aleatria)


 Iniciador da consulta seleciona um nico vizinho para

enviar a consulta
 A seleo baseada em algumas heursticas:


Por exemplo, se um vizinho sempre retorna um resultado


satisfatrio, ele deve ser selecionado com mais freqncia


Deve ser possvel saber quando cada vizinho foi capaz ou no


de encontrar um determinado recurso

 Se o vizinho no possui o recurso, ele seleciona um

dos seus vizinhos para repassar a consulta




Seleo tambm baseada em heursticas

 O processo se repete at que o recurso seja

encontrado ou o tempo de vida consulta expire (TTL =


0)

20

02/03/2010

Busca Cega (Busca Aleatria)

Busca Informada
 Cada n possui um cache para armazenar a

localizao de recursos que tenham sido


consultados previamente
 Ao receber uma consulta:

 Se o n encontra a localizao do recurso no seu

cache, ele a informa ao n de quem recebeu a consulta

 Do contrrio, ele tenta descobrir a localizao do

recurso fazendo busca por inundao

 Uma vez que o recurso encontrado, o

caminho inverso da consulta usado para


informar a localizao ao iniciador da consulta
 Dessa forma, os ns que fazem parte do caminho

percorrido pela consulta podem atualizar seus caches,


acelerando assim as prximas consultas

21

02/03/2010

Busca Informada

Busca Informada com Replicao


 A diferena para a busca informada

simples (sem replicao) que os


caches dos ns que compem o
caminho inverso da consulta sero
usados para armazenar o prprio
recurso, ao invs de apenas a sua
localizao
 Dessa forma, os ns que fazem parte do

caminho da consulta aceleraro no apenas a


descoberta mas tambm o prprio acesso ao
recurso nas prximas consultas

22

02/03/2010

Busca Informada com Replicao

Busca Via Mapeamento de IDs


 Os recursos so distribudos atravs dos ns de

acordo com um algoritmo de mapeamento





Os ns no escolhem seus recursos por vontade prpria


Necessidade de um mecanismo de replicao adicional
para oferecer maior disponibilidade

 Mecanismo de mapeamento




Cada n tem um identificador nico (ex.: Hash ou IP)


Cada recurso tem uma chave de busca
Cada n responsvel por armazenar recursos que tenham
chaves de busca similares ao (ou seja, que possam ser
facilmente mapeadas para o) identificador do n
Dada uma consulta com uma chave de busca, qualquer n
capaz de repass-la rapidamente ao n cujo identificador
mais se assemelha chave

23

02/03/2010

Busca Via Mapeamento de IDs

Busca em Catlogo Centralizado


 Descoberta da localizao dos recursos

feita atravs de consulta a um nico n


central (servidor de lookup)
 Cada n fornece ao servidor de lookup
meta-informao descrevendo os
recursos que prov
 Acesso aos dados dos recursos feito
diretamente entre os ns clientes e o
ns provedores

24

02/03/2010

Busca em Catlogo Centralizado

Busca Via Super Ns


 Ns organizados numa estrutura hierrquica





composta por ns filhos e super ns


Cada super n mantm um catlogo
descrevendo os recursos mantidos por cada
um de seus ns filhos
Um n filho inicia uma consulta a enviando
para o seu super n
Um super n processa consultas recebidas de
outros super ns em nome de seus ns filhos
Acesso aos dados dos recursos feito
diretamente entre os ns clientes e os ns
provedores

25

02/03/2010

Busca Via Super Ns

Desafios da Busca Via Super Ns


 Proporo entre super ns e ns folhas?
 Topologia entre super ns?
 Estruturada ou no estruturada?

 Busca mais eficiente?


 Sistema mais confivel?
 K-redundncia?

26

02/03/2010

Requisitos de Projeto
 Questes chave para o projeto

(arquitetura) de um sistema distribudo


 Desempenho
 Qualidade de servio (QoS)
 Cache e replicao
 Confiabilidade

 Geralmente consideradas na

implementao de aplicaes
distribudas que compartilham recursos
em larga escala

Desempenho
 Capacidade do sistema para reagir de forma rpida e

consistente s requisies dos usurios




Sujeita s limitaes de processamento e comunicao


dos computadores e da infra-estrutura de rede

 Principais fatores envolvidos:




Tempo de resposta (responsiveness)




Taxa de trabalho (throughput)




Afetado pelo nmero de camadas de software necessrio para


a invocao dos servios remotos e pelo volume de dados
transferidos atravs da rede
Medida do desempenho do sistema considerando todos os
usurios

Balanceamento de carga (load balance)




Utilizado para explorar de forma mais eficiente os recursos


computacionais disponveis

27

02/03/2010

QoS
 Capacidade do sistema para oferecer servios com

garantias suficientes para atender de forma


satisfatria as necessidades especficas de seus
usurios
 Principais fatores:






Confiabilidade
Segurana
Desempenho
Adaptabilidade
Disponibilidade

 Aspectos de confiabilidade, segurana e

desempenho sero abordados no contexto dos


modelos fundamentais de falha, segurana e
interao, respectivamente

QoS (cont.)
 No contexto de QoS, o desempenho tambm

definido em termos da capacidade do sistema de


atender restries de tempo crtico


Ex.: sistemas de tempo real, sistemas para transmisso de


dados multimdia

 Em geral, essas restries devem ser mantidas

durante todo o tempo, e sob todas as circunstncias,


em que os recursos so utilizados, especialmente sob
alta demanda


Recursos crticos devem ser reservados a priori junto aos


seus respectivos servidores (solicitaes no atendidas so
rejeitadas)

 Garantias negociadas entre as partes atravs de

acordos em nvel de servio (SLAs)

28

02/03/2010

Cache e Replicao
 Capacidade do sistema para manter mltiplas

cpias de um mesmo recurso lgico


fisicamente distribudas, de modo a reduzir o
seu tempo de acesso
 Ex.: protocolo de cache da web

 Principais questes envolvidas:







Alocao e distribuio das rplicas


Polticas de acesso e atualizao
Mecanismo de validao
Compromisso entre a consistncia e a qualidade do
servio
 Freqncia de atualizao X desempenho
 Suporte para operaes desconectadas (off-line)

Confiabilidade
 Capacidade do sistema para continuar operando

efetivamente, mesmo diante da ocorrncia de falhas


e da ameaa de acessos indevidos aos recursos
compartilhados
 Principais questes:


Tolerncia a falhas



Obtida atravs da redundncia (replicao) de recursos lgicos


e fsicos
Implica em maiores custo e complexidade

Segurana


Obtida atravs de mecanismos de criptografia, garantia da

integridade dos dados, assinatura digitais, polticas de


controle de acesso, etc

29

02/03/2010

Agenda
 Motivao
 Modelos Arquitetnicos
 Modelos Fundamentais

Modelos Fundamentais
 Foco em trs importantes aspectos de projeto:
 Mecanismo de interao
 Tratamento de falhas
 Segurana

 Utilizados para ajudar a planejar, entender e

analisar o comportamento esperado do


sistema
 Principais benefcios:
 Correo antecipada de erros
 Investigao, avaliao e reuso de diferentes

alternativas de projeto

 Menor custo de desenvolvimento, manuteno e

evoluo

30

02/03/2010

Modelo de Interao
 Descreve as formas de interao e coordenao

entre os componentes do sistema


 Influenciado pela:


Capacidade de comunicao da rede






Latncia (transmisso, acesso rede, S.O.)


Largura de banda
Instabilidade (jitter)

Ausncia de estado global





Impossibilidade de acordo sobre a mesma noo de tempo


Dificuldade para sincronizar relgios atravs da rede

 Duas variantes em relao ao tempo:





Modelo sncrono
Modelo assncrono

Modelo Sncrono
 Caractersticas:



O tempo para executar cada passo de um processo tem


limites inferior e superior conhecidos
Cada mensagem transmitida por um canal de comunicao
recebida dentro de um limite conhecido de tempo

 Cada processo tem um relgio local cuja taxa de

desvio do tempo real tem um limite conhecido


 Vantagens:


Mais fcil para programar e analisar o comportamento dos


processos

 Desvantagens:



Dificuldade de definir e garantir valores realistas para os


limites de tempo (timeout)
Resultados de anlise e simulao podem no ser confiveis

31

02/03/2010

Modelo Assncrono
 Caractersticas:
 Sem limites conhecidos para
 Velocidade de execuo dos processo
 Atraso na transmisso das mensagens
 Taxa de desvio dos relgios

 Vantagens:
 Mais realista
 Solues assncronas tambm so vlidas para o

modelo sncrono

 Desvantagens:
 Mais difcil de implementar e analisar

 Exemplos?

Ordenao de Eventos
 Em muitos casos, a execuo de um sistema

distribudo pode ser descrita em termos dos eventos


ocorridos no sistema e da ordem em que eles
ocorreram


Problema: como saber se um determinado evento (ex.: envio


ou recebimento de uma mensagem) de um determinado
processo ocorreu antes, aps ou concorrentemente a um
outro evento de um outro processo (possivelmente remoto)?

 Como exemplo, considere o seguinte cenrio de troca

de mensagens entre um grupo de quatro usurios (X,


Y, Z e A) de correio eletrnico



1. O usurio X envia uma mensagem m1 com o assunto


Encontro;
2. Os usurios Y e Z respondem enviando as mensagens m2
e m3, respectivamente, com o assunto Re: Encontro.

32

02/03/2010

Ordenao de Eventos
 (Continuao do exemplo)


Em tempo real, X envia m1 primeiro; em seguida, Y recebe


e l m1, e ento responde enviando m2; por fim, Z recebe e
l tanto m1 quanto m2, e responde enviando m3
Porm, devido a atrasos na rede, as trs mensagens podem
ser entregues a alguns usurios na ordem errada. Por
exemplo, o usurio A poderia receber as mensagens na
seguinte ordem:

Ordenao de Eventos

33

02/03/2010

Ordenao de Eventos
 Tentativa de soluo: embutir a hora local do

processo remetente em cada mensagem enviada.


Assim, as mensagens recebidas poderiam ser
ordenadas pelo processo de destino, com base no
valor da hora embutido em cada uma
 Problemas?

 Como impossvel sincronizar relgios perfeitamente

em um sistema distribudo, Lamport (sempre ele!)


props a noo de tempo lgico como mecanismo de
ordenao de eventos em sistemas distribudos
 O conceito de tempo lgico permite estabelecer uma

ordem parcial entre eventos ocorridos em processos


executando em diferentes computadores, sem a
necessidade de recorrer a relgios reais

Modelo de Falha
 Descreve as maneiras atravs das quais podem

ocorrer falhas nos processos e canais de


comunicao, de modo a facilitar o entendimento dos
seus efeitos no sistema
 Tipos de falha:



Omisso um processo ou canal deixa de executar as


aes que se esperava dele (geralmente devido a pane do
processo ou estouro de buffer no canal)
Arbitrria um processo ou canal arbitrariamente omite
passos de processamento que deveriam ser executados, ou
executa passos no intencionados (mais grave tipo de falha,
tambm conhecido como falha bizantina)
Temporizao (apenas para o modelo sncrono) um
processo ou canal no atende os limites de tempo que lhes
so estabelecidos (geralmente causada pela sobrecarga dos
processos ou da rede)

34

02/03/2010

Classificao das Falhas

Classificao das Falhas Cont.

35

02/03/2010

Modelo de Segurana
 Descreve os mecanismos utilizados para garantir a

segurana dos processos e de seus canais de


comunicao, e para proteger os recursos que os
processos encapsulam contra acessos no
autorizados
 Principais questes:



Proteo dos recursos


Segurana dos processos e de suas interaes

 Desafios:



Uso de tcnicas de segurana implica em custos


substanciais de processamento e de gerncia
Necessidade de uma anlise cuidadosa das possveis fontes
de ameaas, incluindo ambientes externos ao sistema
(rede, fsico, humano, etc)

Proteo de Recursos
 Conceitos envolvidos:
 Direitos de acesso especificao de quem pode

realizar as operaes disponveis para um determinado


recurso
 Principal entidade (usurio ou processo) autorizada
para solicitar uma operao, ou para enviar os
resultados de uma operao para o principal solicitante

 Responsabilidade compartilhada entre clientes

e servidores

 Servidor verifica a identidade do principal por trs de

cada invocao e checa se ele tem direitos de acesso


suficientes para realizar a operao solicitada
 Cliente verifica a identidade do principal por trs do
servidor para garantir que os resultados vm do
servidor requisitado

36

02/03/2010

Proteo de Recursos

Segurana dos Processos e Interaes


 Natureza aberta da rede e dos servios de

comunicao expe os processos a ameaas e


ataques inimigos
 Principais tipos de ameaa:




Aos processos cliente e servidores podem no ser


capazes de determinar a identidade dos processos com os
quais se comunicam
Aos canais de comunicao mensagens podem ser
indevidamente copiadas, alteradas, forjadas ou removidas
enquanto transitam pela rede
Negao de servio envios excessivos de mensagens ou
invocaes de servios atravs da rede, resultando na
sobrecarga dos recursos fsicos do sistema e prejudicando
seus usurios
Mobilidade de cdigo ameaas disfaradas na forma de
cdigo mvel que deve ser executado localmente pelos
clientes (Cavalo de Tria)

37

02/03/2010

Segurana dos Processos e Interaes

Comunicao Segura
 Principais mecanismos:




Criptografia processo de embaralhamento de uma


mensagem de modo a esconder seu contedo de usurios
no autorizados
Autenticao utiliza chaves secretas e criptografia para
garantir a identidade dos processos clientes e servidores
Canal seguro canal de comunicao conectando um par
de processos, onde cada processo conhece e confia na
identidade do principal em nome do qual o outro processo
est executando





Geralmente implementado como uma camada extra de servio


sobre os servios de comunicao existentes
Utiliza mecanismos de autenticao e criptografia para
garantir a privacidade e a integridade das mensagens
transmitidas atravs do canal
Tambm pode garantir a entrega e ordem de envio das
mensagens
Ex.: VPN, SSL

38

02/03/2010

Comunicao Segura

39

Das könnte Ihnen auch gefallen