Você está na página 1de 40

Sistemas Distribudos

Disciplina: Sistemas
Distribudos e WebServices
5 Perodo
Professor: Marinaldo

Alunos:
- Cleiton do C. Arajo
- Flavia Rosendo
- Suelber Coelho

Definio e principais caractersticas de


sistemas distribudos.

Definio:
Segundo Tanenbaum e Van Steen:
Um sistema distribudo e um conjunto de computadores
independentes que se apresenta a seus usurios como
um sistema nico e coerente.
Segundo Coulouris, Dollimore e Kindberg:
Um sistema distribudo aquele no qual os componentes
localizados em computadores interligados em rede se
comunicam e coordenam suas aes apenas passando
mensagens.

Caractersticas:
Confiabilidade (falhas de componentes individuais):
probabilidade de o sistema estar funcionando em certo
intervalo de tempo;
o sistema dever estar disponvel, ainda que haja
falhas de componentes;
Desempenho (no existe uma noo global nica do
tempo correto ):
tempo de resposta, quantidade de recursos, tempo de
transmisso;
Compartilhamento de recursos:
hardware: impressoras, CDs;
informao: arquivos, dados;

Entendendo as diferenas:

Motivao para o desenvolvimento de


aplicaes distribudas

A motivao para construir e usar sistemas distribudos proveniente


do desejo de compartilhar recursos.
O termo "recursos" bastante abstrato, mas caracteriza bem o
conjunto de coisas que podem ser compartilhadas de maneira til em
um sistema de computadores interligados em rede.

Algumas caractersticas inexistentes em sistemas


centralizados, tambm uma grande motivao para
projetar sistemas distribudos:
tolerncia a falhas;
capacidade de escalabilidade;
separao fsica;
vantagens financeiras.

Exemplos de Sistemas Distribudos

A Internet um conjunto de redes de computadores, de muitos tipos


diferentes, interligadas.

A Internet um sistema distribudo muito grande.


Ela permite que os usurios, onde quer que estejam, faam uso de servios
como a World Wide Web, e-mail e transferncia de arquivos.

O conjunto de servios da Internet aberto ele pode ser ampliado pela


adio de computadores servidores e novos tipos de servios.

Uma parte tpica da Internet:

A intranet uma parte da Internet administrada separadamente, cujo limite


pode ser configurado para impor planos de segurana locais.

A configurao de rede de uma intranet em particular de responsabilidade


da organizao que a administra e pode variar muito desde uma LAN em
um nico site at um conjunto de LANs interconectadas pertencentes s
filiais de uma empresa ou organizao.

Computao mvel o acesso informao a qualquer lugar, a qualquer


momento.
Computao ubqua [Weiser 1993], tambm denominada de computao
pervasiva, a utilizao de vrios dispositivos computacionais pequenos e
baratos, que esto presentes nos ambientes fsicos dos usurios.

Aspectos dos Sistemas Distribudos:


Heterogeneidade
Abertura
Segurana
Escalabilidade
Tempo e Coordenao
Tolerncia a falhas
Replicao
Controle de Concorrncia
Transaes distribudas
Transparncia em Sistemas Distribudos

Heterogeneidade
Sistemas Distribudos precisam ser construdos a partir de uma
variedade de diferentes redes, sistemas operacionais, hardware e
linguagens de programao.

Middleware e seu papel na heterogeneidade

Middleware uma camada de software que possui como caracterstica


principal, a abstrao e o mascaramento de hardware, software, S.O,
rede e a linguagem de programao envolvida.

O Middleware fornece um modelo computacional uniforme para programadores.

Exemplos de Middleware:
CORBA: Prov Invocao remota de objetos o que permite que um
objeto executando em um computador invocar um mtodo de outro
objeto executando em outro computador. Esta implementao esconde
o fato de que mensagens so transmitidas por uma rede a fim de enviar
uma requisio de invocao e sua rplica.

Java RMI: Semelhante ao modelo CORBA, a Invocao Remota de


Mtodos da linguagem prov um mecanismo de middleware baseado
em uma linguagem de programao nica e utiliza uma mquina virtual
(JVM) para obter um cdigo portvel. Apesar de esta soluo permitir a
comunicao entre diferentes arquiteturas, geralmente no pode ser
aplicada a outras linguagens de programao.

Abertura
Quando um sistema distribudo permite a sua reimplementao e
expanso de diversas maneiras diferentes, podemos dizer ento que
esse sistema um sistema aberto.
Essa abertura permite, por exemplo, que novos servios sejam
adicionados e disponibilizados para o uso de diferentes tipos de
usurios.

Para que um sistema de informao distribudo, construdo a partir de


hardwares e componentes de softwares diferentes, obtenha sucesso na
sua expanso, necessrio que todos os seus componentes sejam
compatveis atravs de padres.

Especificaes adequadas de interfaces devem ser completas e


neutras, caractersticas importantes para interoperabilidade e
portabilidade.
A interoperabilidade caracteriza at que ponto duas
implementaes de sistemas ou componentes de fornecedores
diferentes devem coexistir e trabalhar em conjunto, com base na mera
confiana mtua nos servios de cada um, especificados por um padro
comum.

Trabalho em conjunto

Confiana mtua

Sistema 1

Sistema 2

Padro Comum

A portabilidade caracteriza at que ponto uma aplicao


desenvolvida para um sistema distribudo pode ser executada em
outro sistema distribudo diferente que implementa as mesmas
interfaces.

Internet

Intranet

Mesmas Interfaces

Os sistemas abertos so caracterizados pelo fato de suas principais


interfaces serem publicadas.

Os sistemas distribudos abertos podem ser construdos a partir de hardware


e software heterogneo, possivelmente de diferentes fornecedores.

Os sistemas abertos so caracterizados pelo fato de suas principais


interfaces serem publicadas.

Segurana

Quando distribumos as informaes atravs de sistemas distribudos, devemos


estar atentos a segurana que deve ser disponibilizada para essas
informaes.
necessrio que seja observado os trs requisitos bsicos para manter a
segurana de uma informao. So eles:

Confidencialidade: Proteo contra o acesso de usurios no autorizados.


Integridade: proteo das informaes contra alteraes ou erros.
Disponibilidade: proteger a informao para que ela esteja sempre disponvel.

Alguns desafios podem ser resolvidos com o uso de tcnicas de


criptografia.

Problemas comuns:

Ataque de negao de Servios (Denial of Service):


Ocorre quando um usurio interrompe um servio por algum
motivo. Isso pode ser conseguido bombardeando o servio com
um nmero grande de pedidos sem sentido.
Ataque com cdigo mvel:
Um cdigo mvel precisa ser manipulado com cuidado. Imagine
algum que receba um programa executvel como um anexo de
email.

Escalabilidade
a capacidade do sistema permanecer operando de forma efetiva
mesmo diante de um aumento significativo do nmero de usurios
e/ou dos recursos disponveis.
O problema da escalabilidade um tema central no desenvolvimento de
sistemas distribudos.

A Internet um exemplo de um sistema distribudo no qual o nmero


de computadores e servios vem aumentando substancialmente.

Principais desafios dos projetos de distribudos escalveis:


Controlar o custo dos recursos fsicos:
Quando a demanda aumenta, deve-se conseguir ampliar o sistema
a um custo razovel.

Impedir que os recurso de software se esgotem:


Preparar o sistema para suportar um crescimento futuro.

Evitar gargalos de desempenho na rede ou nos prprios servidores :


Os algoritmos devem ser descentralizados para evitar gargalos de
desempenho.

Tempo e Coordenao

Em um sistema centralizado, sempre possvel determinar a ordem de


ocorrncia de eventos, uma vez que existe um relgio comum. Em
muitas aplicaes, isso muito importante.

Por exemplo, em um esquema de alocao de recursos, um recurso


pode ser usado s depois de alocado.
Em um sistema distribudo, no entanto, no existe um relgio comum.
Portanto, algumas vezes impossvel dizer qual evento ocorreu
primeiro.

Alguns algoritmos distribudos requerem o uso de um coordenador.

Se ocorrer uma falha no n onde o coordenador executado, o


sistema pode continuar sua execuo somente iniciando uma nova
cpia do coordenador em algum outro n.

Nesse caso, um coordenador substituto pode ser usado e ativado


quando ocorre a falha.

Tolerncia a falhas

Uma caracterstica que distingue sistemas distribudos de sistemas


centralizados e a noo de falha parcial;

Uma falha parcial ocorre quando um componente no sistema


distribudo falha;

Um objetivo importante do protejo de um sistema distribudo


constru-lo de forma que possa se recuperar automaticamente de
falhas parciais sem afetar dramaticamente o desempenho geral.

Fases da Tolerncia a Falhas


Deteco de Erros
Confinamento de Dano
Recuperaao do erro
Tratamento de Falha e Continuidade do
Servio

Controle de Concorrncia

Permite o acesso concorrente dos recursos, porm


comum utilizar objetos encapsulados que
assumam a responsabilidade de alguma estrutura
de sincronizao.

Transaes distribudas

So transaes (sequncia de operaes


executadas) que envolvem mais de um servidor.
Dependem de um servio, DTC (Coordenador de
Transaes Distribudas)

Transparncia em Sistemas
Distribudos

Um sistema distribudo que capaz de se


apresentar a usurios e aplicaes como se fosse
um nico sistema de computador denominado
transparente (Tanembaum) .

Tipos de Transparncia em Sistemas


Distribudos

Transparncia de Acesso Oculta diferenas na representao de dados e no modo de acesso;

Transparncia de Localizao O local do recurso


desconhecido;

Transparncia de Migrao e relocao O recurso pode


ser movido, inclusive enquanto est em uso;

Continuao dos Tipos de Transparncia


em Sistemas Distribudos

Transparncia de Concorrncia Vrios usurios podem


compartilhar o mesmo recurso;

Transparncia de Falha A falha e a recuperao de um


recurso no podem afetar o sistema;

Transparncia de Replicao Muitas instncias de um


recurso podem utilizadas para aumentar confiabilidade e
desempenho sem o conhecimento destas replicas;

Sistemas distribudos princpios e paradigmas 2 edio;


Sistemas distribudos conceitos e projeto 4 edio;