Você está na página 1de 31

SISTEMAS DISTRIBUDOS

Prof. Edison Santos


Aluno Especial em Mestrado UFBA
e UNEB
Especialista em Estratgias de
Arquitetura de Software
Bacharel em Sistemas de
Informao

Experincias Educacionais

Experincias Profissional
Desenvolvedor Pleno Capgemini
Analista de Sistemas - Qualitech
Desenvolvedor Web Grupo Santa
Helena
Desenvolver Web UFBA

Professor EAD IFBA Profuncionario


Instrutor de AVA Moodle
Educador de Informtica Bsico com
nfase incluso Social;

SISTEMAS DISTRIBUDOS
Introduo a Sistemas Distribudos

Avanos dos sistemas de computao em 1945 (Era Moderna dos


Computadores)
computadores grandes
De alto custo
Independentes

Meados de 80

Mquinas de 8 bits, 16, 32 e 64 bits


CPU com capacidade de mainframe

ltimos 50 anos

Reduo de preos

SISTEMAS DISTRIBUDOS
Introduo a Sistemas Distribudos

ltimos 50 anos

Reduo de preos
Aumento da capacidade de processamento
Redes Locais (LAN Local-Area Networks)
Redes de Longas Distncias (WANs Wide-Area Networks)

SISTEMAS DISTRIBUDOS
Definies
Um sistema distribudo um conjunto de computadores

independentes que se apresenta a seus usurios como um sistema


nico e coerente (Tanenbaum, 1995)

Definimos um sistema distribudo como sendo aquele no qual os

componentes de hardware ou de software, localizados em


computadores interligados em rede, se comunicam e coordenam suas
aes apenas enviando mensagens entre si (Couloris, 2005)

Voc sabe que tem um quando a falha de um computador do qual

nunca ouviu falar impede que voc faa qualquer trabalho. (Leslie
Lamport)

SISTEMAS DISTRIBUDOS
Definies

Alguns Aspectos
Componentes (computadores)
autnomos

Viso de unicidade para o usurio

(programa ou humano) Transparncia

Componentes interconectados
(arquiteturas/middleware)

Computadores e Redes Heterogneos

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Abstraes do Middleware *
Abstraes disponibilizadas pelo Middleware.
Comunicao

Segurana
Persistncia
Controle de

Transaes
Etc.
Retirado de: Tanenbaum, A. Sistemas Distribudos.

SISTEMAS DISTRIBUDOS
Definies

Alguns Aspectos
Comunicao autnoma e Inexistncia de Relgio Global (troca de mensagens)
Falhas Independentes
Concorrncia/Compartilhamento de recurso

SISTEMAS DISTRIBUDOS
Exemplos de Sistemas Distribudos

A Internet
Conjunto de redes de computadores
interligados

Mecanismos de comunicao da Internet


(protocolos) *

Servios disponibilizados: www, email,


transferncia de arquivos, multimdias

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Exemplos de Sistemas Distribudos

A Intranet
Vrias redes LAN e/ou LANs

interconectadas por backbone

Conexo de Internet por roteador

Firewall
Necessidades: servios de arquivos,

segurana, avaliar custos de instalao


de software

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Exemplos de Sistemas Distribudos

Computao Ubqua/Pervasiva
Pequenos equipamentos computacionais
(notebooks, Smartphones, cmeras
digitais, dispositivos incorporados a
eletrodomsticos e outros)

Miniaturizao de dispositivos
Interligao de redes sem fio

Sistemas distribudos
Computao mvel/nmade

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Metas dos Sistemas Distribudos

Acesso a recursos
Transparncia
Abertura
Escalabilidade

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Acesso a recurso

Acesso a recursos remotos e seu compartilhamento de

maneira controlada e eficiente.


Exemplo Groupware (software de edio colaborativa,
teleconferncia e etc.)
Quanto maior conectividade maior deve ser segurana
Criptografia
Rastreamento de comunicaes (Perfil de usurio)
Comunicao indesejada (Spam)

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Transparncia da distribuio

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Transparncia da distribuio

... ocultar completamente dos usurios todos os aspectos


da distribuio no uma boa ideia.

Exemplos
Fuso horrio
Limites de capacidade fsica
Transparncia versus desempenho Requisies sem sucesso
liberar controle ao usurio

Replicao (requer tempo de atualizao)

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Abertura

Um

sistema distribudo aberto um sistema que oferece


servios de acordo com as regras padronizadas que
descrevem a sintaxe e a semntica desses servios.

Interface Definition Language -

Interoperabilidade

IDL

(Componentes coexistindo com confiana

mtua)
Portabilidade.
Extensvel (Estrutura de Componentes com fcil adio, troca
e remoo dos mesmo)
Poltica e Mecanismos

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Problemas de Escalabilidade

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Problemas de Escalabilidade

Tamanho
Internet DNS

Geogrfica
Longas distncias
Localizao de um servio
Administrativa
Polticas organizacionais
Colaborao Humana

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Tcnicas para Alcanar Escalabilidade

Ocultar a latncia de Comunicao


Usar por exemplo comunicao assncrona
Ex: AJAX em Servios Web.
Reduz trfego
No bloqueia a aplicao
Ex: Distribuir processamento (Cliente vs. Servidor)
Javascript lado cliente para Validao
No usar applet sncrono para entrada de dados

SISTEMAS DISTRIBUDOS
Metas de um Sistema Distribudo
Tcnicas para Alcanar Escalabilidade

Distribuio
Partes maiores em partes menores e espalh-la atravs do
sistema (Servio de nomeao DNS diferentes
computadores assumes responsabilidade)

Replicao
Cache de pginas em browser

Possveis problemas de consistncias dos dados

SISTEMAS DISTRIBUDOS
Principais ciladas

Premissas falsas adotadas ao desenvolver uma


aplicao distribuda pela primeira vez

1.
2.
3.
4.
5.
6.
7.
8.

A rede confivel
A rede segura
A rede homognea

A topologia no muda
A latncia zero
A largura da banda infinita

O custo de transporte zero


H apenas um administrador

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos

Sistemas de Computao distribuda


Sistemas de Informao distribuda
Sistemas distribudos pervasivos

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas de Computao Distribuda Cluster
Homogneo

N Mestre

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas de Computao Distribuda Grade (grid)
Heterogeneidade
Organizao Virtual

(login da organizao)
Acesso de recursos
Servidores de computao
Armazenamento
Banco de dados
Arquitetura em Camadas
Conectividade (protocolos de comunicao)
Recursos (controle de acesso de recursos)
Coletiva (descoberta de recursos, alocao e escalonamento de tarefas, replicao de dados)
Aplicao (aplicaes dentro da organizao virtual)

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas de Informao Distribudos
Integrao de sistemas de informao
Problemas de interoperabilidade
Empacota vrias requisies de programas clientes em uma
transao distribuda.
Simples servidores e programas remotos (clientes)
RPCs (Procedimentos remotos)
EAI (Enterprise Application Integration)

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas de Informao Distribudos
Processamento Transacional
ACID
Atmica (acontece completamente ou no
acontece)
Consistente (toda transao retorna o
ambiente a um estado consistente)
Isoladas (uma transao em processo no
impacta em outra)

Durveis (uma ver realizada no modificada)

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas de Informao Distribudos
Transaes Aninhadas
Monitor de Transao

Chamada de Procedimento Remoto


(RPC Remote Procedure Calls)
Chamada de Mtodo Remoto
(RMI Remote Method Invocations)
X
Middleware Orientado a Mensagem
(MOM Message-oriented Middleware)
ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Tipos de Sistemas Distribudos
Sistemas Distribudos Pervasivos

Sistemas decorrentes do uso de computao mvel e embutida,


nas quais o comportamento esperado a instabilidade;

Pequeno tamanho
Alimentados por bateria;
Comunicao sem fio;

No possui controle administrativo humano, podendo:


1. Adotar mudanas contextuais
2. Incentivar composio ad hoc
3. Reconhecer compartilhamento como padro

SISTEMAS DISTRIBUDOS
Sistemas Pervasivos - Exemplos
Sistemas Domsticos

Universal Plug and Play (UPnP)

Espao Pessoal

Recomendadores (verificao interesses relevantes)

SISTEMAS DISTRIBUDOS
Sistemas Pervasivos - Exemplos
Sistemas para tratamento de Sade

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

SISTEMAS DISTRIBUDOS
Sistemas Pervasivos - Exemplos
Redes de sensores sem fio

ANDREW S. TANENBAUM
MAARTEN VAN STEEN

Referncias Bibliogrficas

Tanenbaum; Steen. Sistemas Distribudos: Principios e Paradigmas, 2ed.


Pearson. 2007 (cap 1).

Tanenbaum, Andrew s. Sistemas Operativos Distribuidos. 1ed, Prentice Hall,


New Jersey, 2001 (cap 1).

Couloris, George; Dollimore, Jean; Kindberg, Tim. Sistemas Distribudos:


Conceitos e Projeto, 4ed. Translate Bookman 2007 (cap 1).