Você está na página 1de 32

SISTEMAS DISTRIBUDOS

Comunicao

API PARA PROTOCOLOS INTERNET

Comunicao entre processos


Toda feita com base nas primitivas send e receive
Caractersticas
Comunicao Sincrona ou Assincrona
Destinos de mensagem
Confiabilidade
Ordenamento

SISTEMAS DISTRIBUDOS
Comunicao

API PARA PROTOCOLOS INTERNET

Comunicao Sncrona ou Assncrona


Sncrona:
Remetente e Destino so sincronizados a cada mensagem
Tanto o Send quanto o Receive so operaes
bloqueantes

Quando feito um envio o remetente fica bloqueado at


que ele receba a recepo correspondente

Quando um receive executado o processo fica


bloqueado at que a mensagem chegue

SISTEMAS DISTRIBUDOS
Comunicao

API PARA PROTOCOLOS INTERNET

Comunicao Sncrona ou Assncrona


Sncrona:
Remetente e Destino so sincronizados a cada mensagem
Tanto o Send quanto o Receive so operaes
bloqueantes

Quando feito um envio o remetente fica bloqueado at


que ele receba a recepo correspondente

Quando um receive executado o processo fica


bloqueado at que a mensagem chegue

SISTEMAS DISTRIBUDOS
Comunicao

API PARA PROTOCOLOS INTERNET

Comunicao Sncrona ou Assncrona


Assncrona:
Em ambientes multi-threads no h desvantagens em
utilizar receive bloqueante.

A programao assncrona envolve uma srie de


complexidades por ter que reagir a informaes
recebidas fora do seu fluxo

SISTEMAS DISTRIBUDOS
Comunicao

API PARA PROTOCOLOS INTERNET

Comunicao Sncrona ou Assncrona


Assncrona:
Send no bloqueante: Processo liberado assim que
mensagem copiada para o buffer

Receive pode ser ou no bloqueante


Receive no bloqueante: o processo liberado logo
aps a chamada. O buffer reservado e o processo
ser avisado logo que tiver dados.

SISTEMAS DISTRIBUDOS
Comunicao

Ao trocar mensagens duas ou mais mquinas devem


concordar em, por exemplo:
No nvel de sinal que ser colocado na interface (caracterstica
fsica);

Onde comea e onde termina os bits de que compe a mensagem


(caracterstica de enlace de dados);

Onde, quando e como os erros sero detectados;


Como dados primitivos como caracteres, inteiros, nmeros sero
representados e com que preciso.
Etc.

Portanto, para torna fcil necessrio que os sistemas


obedeam um padro de interfaces e regras de comunicao
(Sistema Aberto).

SISTEMAS DISTRIBUDOS
Introduo tolerncia a falha

1. Cenrio
2. Depandabilidade
3. Defeito, Erro e Falha
4. Tolerncia a Falha
5. Tipos de Falha
6. Tcnicas de Dependabilidade
7. Mascaramento
8. Redundncia

SISTEMAS DISTRIBUDOS
Introduo tolerncia a falha
Sistemas Crticos

Em sistemas crticos a falha de um dos componentes pode


implicar em danos catastrficos: perdas de grandes somas
de dinheiro, desastres ambientais, perdas de vidas humanas
etc.

SISTEMAS DISTRIBUDOS
Introduo tolerncia a falha

Sistemas de uma mquina (no-distribudos)


uma falha quase sempre total;

Sistemas distribudos pode ocorrer uma falha


parcial, quando um componente do sistema
falha.

Objetivo: recuperar automaticamente de falhas


parciais sem afetar seriamente o desempenho global.

SISTEMAS DISTRIBUDOS
Introduo tolerncia a falha
Confiana no funcionamento

Atribuir confiana no funcionamento do sistema


fundamental quando se fala em sistemas crticos.

Dependability (Confiana no Funcionamento)

Mede a confiana que se pode atribuir ao servio


entregue pelo sistema.

O servio entregue pelo sistema determina o


comportamento do sistema, ou seja, como o
sistema percebido pelos outros sistemas que
interagem com ele (exemplo, usurios).

SISTEMAS DISTRIBUDOS
Dependability

Figura 1 - Resumo por Tase 2002 pg.11

SISTEMAS DISTRIBUDOS
Dependability

Tolerncia a falhas est fortemente relacionada a


sistemas confiveis. Confiabilidade um termo que
abrange uma srie de requisitos:

Disponibilidade O sistema est pronto para ser


usado imediatamente?

Confiabilidade O sistema funciona continuamente


sem falhas?

SISTEMAS DISTRIBUDOS
Dependability

Tolerncia a falhas est fortemente relacionada a


sistemas confiveis. Confiabilidade um termo que
abrange uma srie de requisitos:

Segurana Se o sistema deixar de funcionar


corretamente por um certo tempo acontecer algo
catastrfico?

Capacidade de Manuteno Um sistema que


falhou pode ser consertado facilmente?

SISTEMAS DISTRIBUDOS
Defeito, Erro, Falha

Defeito se um sistema no pode cumprir suas

promessas, apresenta defeito. Ex.: No consegue garantir


as consistncias prometidas.
Erro parte do estado de um sistema que pode levar a
um defeito. Ex.: Pacotes danificados.
Falha a causa de um erro. Ex.: Um meio de
transmisso errado ou ruim pode danificar pacotes.

SISTEMAS DISTRIBUDOS
Tolerncia a falha

Tolerncia a falhas: um sistema pode prover seus


servios mesmo na presena de falhas.

Tipos de falhas:
Falha transiente ocorre uma vez e desaparece.
Falha intermitente ocorre, por um perodo

indeterminado, reaparece, e assim por diante.


Falha permanente continua a existir at que o
componente faltoso seja substitudo.

SISTEMAS DISTRIBUDOS
Tipos de falha

Para melhor identificar as falhas, foram desenvolvidos diversos


esquemas de classificao, entre eles, o quadro abaixo:

SISTEMAS DISTRIBUDOS
Tcnicas de Dependabilidade

Poderia ser considerado neste grupo a segurana, pois


intruses maliciosas tambm podem acarretar em falhas
nos sistemas. (Tase 2002 p. ).

SISTEMAS DISTRIBUDOS
Fases de Aplicao das Tcnicas

Classificao em 4 fases de aplicao: deteco,


confinamento, recuperao e tratamento.

SISTEMAS DISTRIBUDOS
Mascaramento
O mascaramento pode ser considerado com uma tcnica a
parte e garante ao sistema respostas corretas mesmo na
presena de falhas.

SISTEMAS DISTRIBUDOS
Redundncia
Mascaramento de falha por redundncia

Para o sistema ser tolerante a falhas, as ocorrncias

destas devem ser ocultas de outros processos e dos


usurios.
A tcnica fundamental para mascarar falhas usar
redundncia:
Redundncia de informao bits extras para
recuperao de pacotes (Hamming);
Redundncia de tempo executar novamente uma
ao, se for preciso.
Redundncia fsica adicionar equipamentos ou
processos extras para possibilitar tolerncia a perda
ou mal funcionamento de alguns componentes.

SISTEMAS DISTRIBUDOS

NOMEAO
1. Nomes, identificadores e endereos
2. Nomeao simples
3. Nomeao estruturada
4. Nomeao baseada em atributo

SISTEMAS DISTRIBUDOS

NOMES, IDENTIFICADORES E
ENDEREOS
Nome: cadeia de bits ou caracteres usada para
referenciar uma entidade.
Entidade: praticamente qualquer coisa:
hospedeiros, impressoras, discos, arquivos.
Ponto de Acesso: um tipo de entidade especial
que possibilita acesso para agir sobre uma
entidade.
Endereo: Nome de um ponto de acesso.

SISTEMAS DISTRIBUDOS

NOMES, IDENTIFICADORES E
ENDEREOS
Um ponto de acesso fortemente associado a uma
entidade;
Necessrio definir um nome que seja independente
dos endereos da entidade.

Transparncia de localizao

Necessrio definir um nome construdo para ser

usados por seres humanos, normalmente formados


por cadeias de caracteres.

nome amigvel a seres humanos

SISTEMAS DISTRIBUDOS

NOMES, IDENTIFICADORES E
ENDEREOS
Como resolvemos nomes e identificadores para
endereos?

Mantendo uma vinculao nome-endereo.

Trs classes diferentes de sistemas de nomeao:

1. Identificadores resolvidos para endereos (Nomeao


Simples);

2.

Nomes amigveis a seres humanos (Nomeao


Estruturada);

3.

Nomes descritivos (Nomeao Descritiva)

SISTEMAS DISTRIBUDOS

NOMES, IDENTIFICADORES E
ENDEREOS
Identificador: Um nome que tem as seguintes
propriedades:

1.
2.
3.

Um identificador referencia, no mximo, uma


entidade;
Cada entidade referenciada por, no mximo, um
identificador;
Um identificador sempre referencia a mesma
entidade, isto , nunca reutilizado.
Endereo Ethernet: cadeia aleatria de 48 bits;
Endereos de memria: cadeias de 32 ou 64 bits.

SISTEMAS DISTRIBUDOS

NOMEAO
1. Nomes, identificadores e endereos
2. Nomeao simples
3. Nomeao estruturada
4. Nomeao baseada em atributo

SISTEMAS DISTRIBUDOS

NOMEAO SIMPLES
Identificadores so, em muitos casos, cadeias
aleatrias de bits (nomes no estruturados ou
simples);

Como nomes simples podem ser resolvidos?

Solues simples aplicveis somente em redes


locais:

Broadcasting e multicasting
Ponteiros repassadores
Possuem problemas de escalabilidade!

SISTEMAS DISTRIBUDOS

NOMEAO ESTRUTURADA
ESPAOS DE NOMES
Nomeao estruturada usada para facilitar a interface

com humanos.
Nomes so organizados em espaos de nomes.
Uso de grafos direcionados rotulados com dois tipos de ns:
N-folha: (entidade nomeada, no tem ramos de sada)
N de diretrio: (possui vrios ramos de sada, cada um rotulado
com um nome.

Armazena tabelas de diretrio que um par(rtulo do ramo,


identificador do n).
Particularidade: Um n que no tem ramos de entrada, apenas de
sada, denominado raiz.

SISTEMAS DISTRIBUDOS
NOMEAO ESTRUTURADA
IMPLEMENTAO/DISTRIBUIO DE ESPAOS DE
NOMES

Para implementar um espao de nomes, o mesmo deve


ser dividido em camadas lgicas (trs sugeridas):
1. Camada Global

Ns do nvel mais alto (raiz e ns prximos)


Caracterizados por sua estabilidade.

Ns de diretrio gerenciados por uma organizao nica.


Relativamente estveis (mudanas Adm. Global)

Podem representar hospedeiros de rede local.


Caracterizados por mudana peridica

2. Camada Administrativa
3. Camada Gerencial

Necessrio estabelecer requisitos de desempenho e


disponibilidade.

SISTEMAS DISTRIBUDOS

NOMEAO BASEADA EM ATRIBUTO


Independncia de localizao (nomes simples) e ser
amigvel a seres humanos (nomes estruturados)
insuficiente: entra em questo a busca eficiente.

Necessrio, ento, fornecer descries a entidades:


uma das possveis abordagens fornecer
descries a partir de termos de pares (atributo,
valor), o que denominado nomeao baseada
em atributos.

SISTEMAS DISTRIBUDOS

NOMEAO BASEADA EM ATRIBUTO


SERVIOS DE DIRETRIO
Servios de diretrio a denominao de um sistema

baseado em atributos, enquanto sistemas que suportam


nomeao estruturada so denominados sistemas de
nomeao.
Para sistemas distribudos, um contexto relevante a RDF
(resource description framework, ou estrutura de descrio de
recurso).
Recursos so descritos como triplas (sujeito,predicado,objeto).

Ex.: (Pessoa,nome,Alice)
O sujeito, o predicado ou o objeto podem ser os recursos
propriamente ditos ou referncias para os mesmos (URL).

INTRODUO TOLERNCIA A FALHA


MASCARAMENTO DE FALHA POR
REDUNDNCIA

Andrew S. Tanenbaum
Maarten Van Steen