Sei sulla pagina 1di 40

Computação Distribuída - Introdução

Licenciatura em Engenharia Informática

Universidade Lusófona

Prof. José Rogado


Prof. José Faísca
Programa da Cadeira (I)

1. Introdução
ƒ Caracterização
C t i ã ddos Si
Sistemas
t Di
Distribuídos
t ib íd (SD)
ƒ Requisitos, arquitectura e funcionalidades
ƒ Exemplos de SDs
2 Arquitecturas
2. A it t e Modelos
M d l d de C
Comunicação
i ã Di
Distribuída
t ib íd
ƒ Arquitecturas de sistemas
ƒ Níveis de software: papel do Middleware
ƒ Interfaces e objectos
ƒ Modelos de interacção, de falhas e de segurança
3. Comunicação entre Processos Distribuídos
ƒ Características da comunicação entre processos
ƒ Invocação, parâmetros e heterogeneidade de dados
ƒ Técnicas de representação de dados e serialização
ƒ Comunicação cliente / servidor e multi
multi-ponto
ponto

Computação Distribuída 1.2 Licenciatura Eng.ª Informática


Programa da Cadeira (II)

4. Invocação Remota e Objectos Distribuídos


ƒ RPC: M
RPC Modelo
d l dde execução
ã
ƒ Linguagem de definição de interfaces e passagem de parâmetros.
ƒ Registo e descoberta de interfaces
ƒ Plataforma de execução: Sun RPC
ƒ Objectos Distribuídos: Modelo de Execução
ƒ Plataformas de Execução (Java RMI, Corba)
ƒ Nomeação e Serviços de Directório
5. Sistemas de Ficheiros Distribuídos
ƒ Problemática e caracterização
ƒ Arquitecturas de SGF distribuídos
ƒ Problemática do caching: performance e consistência
ƒ Implementações: NFS e AFS

Computação Distribuída 1.3 Licenciatura Eng.ª Informática


Programa da Cadeira (III)

6. Arquitectura Orientada aos Serviços (SOA)


ƒ Modelo de Execução Web Services (WS)
ƒ O protocolo SOAP
ƒ Integração com Java
ƒ WS e CORBA
ƒ Linguagens de definição de Serviços (WSDL)
ƒ S i d
Serviço de Di
Directório
ói d de WS
7. Contextos de Segurança Distribuídos
ƒ Ca
Canais
a s de co
comunicação
u cação segu
seguros
os
ƒ Sistemas de autenticação centralizados, distribuídos e federativos
ƒ Assinatura e Encriptação em XML.
ƒ SAML e W
Web
bSServices
i S
Security
i

Computação Distribuída 1.4 Licenciatura Eng.ª Informática


Metodologia de Trabalho

► Bolonha: as Aulas Teóricas passam para 1h30 !


ƒ O professor tem mais um papel de orientador
• Apresentação de temas e orientação do trabalho
ƒ Os alunos têm de realizar mais trabalho individual
• Pesquisa e apresentação de temas da cadeira

► Aulas Laboratoriais – valorização pessoal


ƒ Serão realizados os projectos da cadeira
• Pelo menos dois projectos
ƒ Propostos a partir da 2ª
2 semana de aulas
ƒ Preparam para o trabalho final de curso

Computação Distribuída 1.5 Licenciatura Eng.ª Informática


Avaliação da Cadeira

► Componentes da Avaliação
ƒ A Assiduidade
A id id d é F
Fundamental
d t l
• Regulamento obriga a assistir a 75% das aulas
ƒ Prática 50%
• Mínimo
Mí i d
de 2 ttrabalhos
b lh com entrega
t ffaseada
d
ƒ Teórica 50%
• Frequência Final
ƒ Notas inferiores a 8 (sem arredondamento!) são eliminatórias
► Aprovação na Cadeira: nota final de 10 valores
ƒ As notas parcelares não são arredondadas
• Notas dos trabalhos, nota prática, nota teórica
ƒ Só a nota final é arredondada
• Arredondamento
A d d t só
ó é ffeito
it ddepois
i dde calculada
l l d a média
édi

Computação Distribuída 1.6 Licenciatura Eng.ª Informática


Bibliografia

► “Distributed Systems: Concepts and Design” (4th Edition), by Coulouris,


Dollimore & Kindberg
Kindberg, Ed
Ed. Addison-Wiley
Addison Wiley, 2005
ƒ Livro muito completo sobre Sistemas Distribuídos
ƒ São seguidos os capítulos 1, 2, 4, 5, parte do 6 e 8
ƒ Restantes podem ser tema de trabalho individual ou abordados no 2º ciclo
► “Distributed Systems: Principles and Paradigms” (2nd Edition) by
Tanenbaum & van Steen,, Prentice Hall,, 2006
ƒ Mais orientado para os Sistemas Operativos distribuídos
ƒ Constitui uma boa referência sobre o tema
► “Web Services: Principles and Technology”, by Michael Papazoglou,
Prentice Hall, 2007
ƒ Mais orientado para os Web Services,
Services mas muito completo
► “Tecnologia dos Sistema Distribuídos”, by J. Marques e P. Guedes; FCA
Editora; Maio 1998
ƒ Livro em língua portuguesa, já um pouco desactualizado
Computação Distribuída 1.7 Licenciatura Eng.ª Informática
Bibliografia Complementar

► Outras referências para as aulas práticas e projectos


ƒ Fornecidas nas aulas específicas e nos enunciados dos
trabalhos
ƒ Site
Sit Netlab
N tl b
• http://netlab.ulusofona.pt/cd

► Tutoriais Importantes
ƒ SUN RPC
• http://docs.sun.com/app/docs/doc/816-1435/oncintro-fig-1?a=view
p pp g
ƒ Java RMI
• http://java.sun.com/docs/books/tutorial/rmi/index.html
ƒ JAX-WS Web Services
• http://www.netbeans.org/kb/docs/websvc/jax-ws.html
ƒ Etc…
Etc
Computação Distribuída 1.8 Licenciatura Eng.ª Informática
Introdução

► Caracterização dos Sistemas Distribuídos

► Requisitos, arquitectura e funcionalidades

► Exemplos de SDs

Computação Distribuída 1.9 Licenciatura Eng.ª Informática


Definição de Sistema Distribuído

► Um Sistema Distribuído é constituído por um conjunto de


componentes de software e hardware ligados por uma infra-
estrutura de comunicação
ƒ Bus, malha, rede, etc.
► Os componentes cooperam e coordenam-se para realizar
um objectivo comum
ƒ Sistema Operativo Distribuído

ƒ Aplicação Distribuída

Computação Distribuída 1.10 Licenciatura Eng.ª Informática


Suporte da Distribuição: Hardware

► Existem várias topologias de interligação dos componentes


ƒ Limiar entre sistemas paralelos e sistemas distribuídos

Computação Distribuída 1.11 Licenciatura Eng.ª Informática


Processadores com Memória Partilhada

► Multiprocessador
ƒ Executa uma única instância do SO residente na MC
ƒ A distribuição (paralelização) é gerida pelo SO ao nível da
linguagem de programação com suporte do hardware
• threads, locks, semáforos
• instruções indivisíveis

Memória partilhada

programa A programa B programa C

Memória Memória Memória


cache cache cache

processador processador processador

input/output

Computação Distribuída 1.12 Licenciatura Eng.ª Informática


Processadores com Memória Privada

► Multicomputador
ƒ Cada processador executa uma instância distinta do SO mas
oferece uma imagem única às aplicações
ƒ Os programas podem ser executados em paralelo por todos os
processadores
ƒ A sincronização é gerida ao nível do Hardware e de cada SO
• Mecanismos de sincronização específicos (encadeamento de instruções,…)
• Single System Image

M M M M M M M

P P P P P P P

Input/output
programa

M – memória
P – processador

Computação Distribuída 1.13 Licenciatura Eng.ª Informática


Processadores em Rede

► Processadores desacoplados
ƒ C
Cada
d processador
d executa uma iinstância
â i didistinta
i d
do SO
SO, podendo
d d
ou não oferecer uma imagem de sistema único às aplicações
ƒ A distribuição
ç ég gerida exclusivamente p
por software
• Tradicionalmente gerida pelo SO
• Tem vindo a evoluir para o software
ƒ Tema da cadeira de CD
Rede de Dados

memória memória memória

programa A programa B programa C

processador processador processador

I/O I/O I/O

Computação Distribuída 1.14 Licenciatura Eng.ª Informática


Evolução dos Sistemas Distribuídos (i)

► Anos 70 – 80
ƒ Sistemas
Si t O
Operativos
ti
• VMS da DEC
• AOS/VS da Data General
• Unix (ATT,
( , Berkeley,
y, OSF))
ƒ Primeiros Sistemas Operativos Distribuídos
• Amoeba
• Mach3.0
• Chorus

► A distribuição é suportada a nível do sistema operativo


ƒ Mecanismos complexos
p
ƒ Difícil evolução e suporte de novas plataformas
ƒ Falta de heterogeneidade
► A utilização da informática de forma generalizada impõe:
ƒ Simplificação e uniformização da interface com o sistema
ƒ Extrair o máximo rendimento da infra-estrutura hardware

Computação Distribuída 1.15 Licenciatura Eng.ª Informática


Evolução dos Sistemas Distribuídos (ii)

► Anos 90 – 00
ƒ Enorme
E evolução
l ã ttecnológica
ló i d das TIC
• Redes de Computadores: aumento da largura de banda
• Capacidade de processamento: PCs, arquitecturas multiprocessador
ƒ Evolução dos Sistemas Operativos
• MAC/OS, Unix, Windows retomam conceitos de grandes sistemas (VMS…)
ƒ Desenvolvimento da computação na Web
• Sistemas abertos e ubíquos
ƒ Aparecimento de Plataformas de Middleware
• PVM, MQ Series, Tuxedo, Corba, Java, WebServices
• Webmethods, Vitria, Tibco
ƒ =► O suporte da distribuição migra para as plataformas
► A computação torna-se distribuída
ƒ Os SO continuam a fornecer funcionalidades essenciais

Computação Distribuída 1.16 Licenciatura Eng.ª Informática


Razões para a Distribuição

► Melhoria do desempenho
ƒ Repartição do processamento por vários computadores
► Partilha de Recursos
ƒ CPU, armazenamento, periféricos
► Maior tolerância a falhas
ƒ Aumento do factor de redundância
► Maior modularidade
ƒ Cada
C d sistema
i t iindividual
di id l é gerido
id iindependentemente
d d t t
► Acesso generalizado
ƒ Mesmos serviços acessíveis em todo o lado

Computação Distribuída 1.17 Licenciatura Eng.ª Informática


Vantagens Efectivas dos SD

► Melhoria de desempenho
ƒ Execução efectivamente paralela de secções independentes de
aplicações
ƒ São necessárias optimizações para tirar real partido da distribuição
► Maior disponibilidade
ƒ Aumento da fiabilidade através da redundância
► Melhor escalabilidade
ƒ Facilidade de adicionar elementos de forma incremental
► Melhor suporte da mobilidade
ƒ Independentes da localização geográfica
► Maior modularidade
ƒ A distribuição pressupõe a componentização das aplicações
► Custos inferiores
ƒ Preço e manutenção de servidores inferior ao de mainframes

Computação Distribuída 1.18 Licenciatura Eng.ª Informática


Porém…

A distribuição introduz problemas de resolução não trivial


► Execução
E ã concorrente
t de
d ttarefas
f dependentes
d d t
ƒ Necessidade de coordenar entre si os múltiplos fluxos de execução
► Modelo de falhas complexo
ƒ Falhas de componentes e/ou de comunicações ?
► Inexistência de uma base temporal comum
ƒ É impossível coordenar exactamente os relógios dos vários processadores
► Problemas de segurança
ƒ A característica distribuída dos sistemas aumenta a vulnerabilidade aos
ataques
► Impossibilidade de determinar o estado global de um sistema
ƒ A comunicação por mensagens com tempos de propagação não
desprezáveis impossibilita o conhecimento instantâneo e global do sistema
ƒ A resolução de falhas pode ser muito complexa ou impossível

Computação Distribuída 1.19 Licenciatura Eng.ª Informática


Requisitos dos Sistemas Distribuídos

► No sentido de permitir uma melhor resolução dos


problemas apontados, os SD devem satisfazer um conjunto
de requisitos:
1.
1 Heterogeneidade
H id d
2. Abertura
3
3. Segurança
4. Escalabilidade
5. Gestão de falhas
6. Concorrência
7. Transparência

Computação Distribuída 1.20 Licenciatura Eng.ª Informática


Heterogeneidade

Capacidade para suportar a variedade e a diferença


► Aplica-se
Aplica se a:
ƒ Redes e protocolos de comunicação
• Enorme diversificação com a explosão das telecomunicações e Internet
ƒ Hardware
• A diversidade dos dispositivos com capacidades de programação é ilimitada
ƒ Sistemas Operativos
• Embora o Windows constitua a plataforma dominante, existem outsiders (OS/X, Linux, BSD,
etc ) em número cada vez mais significativo
etc…)
ƒ Linguagens de programação
ƒ Etc…
► É impossível um mesmo sistema suportar toda a diversidade fornecendo
uma imagem única e integrada. Soluções:
ƒ Middleware
• Camada intermédia de software que fornece um conjunto de serviços específicos e esconde
a disparidade
di id d ddos sistemas
i t existentes
i t t
ƒ Máquina Virtual
• Nível de abstracção que simula um processador uniforme que permite executar os mesmos
programas em plataformas distintas =► mobilidade do código

Computação Distribuída 1.21 Licenciatura Eng.ª Informática


Posicionamento do Middleware

► A camada de Middleware é introduzida entre as aplicações e os


sistemas operativos
ƒ Abstrai as interfaces de programação de sistemas diferentes
ƒ Fornece uma interface de programação homogénea
ƒ Permite a interoperabilidade
p entre componentes
p de aplicações
p ç distribuídas
de forma independente da plataforma
• Infra-estrutura: Corba, Java, WebServices, MPI, MQ Series, Tuxedo,
• Integração: Webmethods, Vitria, Tibco

Computação Distribuída 1.22 Licenciatura Eng.ª Informática


Máquinas Virtuais

► A noção de Máquina Virtual


permite a execução das mesmas
aplicações em sistemas diferentes
ƒ Cria um ambiente de execução
idêntico e uniforme independente
da plataforma
ƒ Pode ser orientado para uma
li
linguagem (JVM)
(JVM), ou simular
i l um
sistema operativo completo
(VMware, VirtualBox)
► Permite mobilidade de código, (a) Sistema clássico (b) máquina virtual
uma vez que uma aplicação pode
migrar de um sistema para outro
(applets, agentes)

Computação Distribuída 1.23 Licenciatura Eng.ª Informática


Abertura

► Característica de um sistema que determina a sua capacidade de


extensão e modificação
ƒ Num SD indica a possibilidade de adicionar novos serviços e de os tornar
acessíveis às aplicações
► A abertura
b t pressupõe
õ a especificação
ifi ã ed
documentação
t ã d das iinterfaces
t f d
de
programação
ƒ Publicação e/ou estandardização de APIs
• Protocolos
P t l IInternet
t t alvo
l ded RFCs
RFC da d IETF,
IETF ISO e ITU
• Interfaces de objectos especificadas pela OMG
► Sistemas abertos
ƒ IInterfaces
t f públicas
úbli e evolução
l ã controlada
t l d por organismos
i d
de normalização
li ã
independentes
► Sistemas proprietários
ƒ IInterfaces
t f desconhecidas
d h id e evoluçãol ã d
dependendo
d d d das lleis
i ddo mercado
d ed
da
estratégia comercial do fabricante

Computação Distribuída 1.24 Licenciatura Eng.ª Informática


Segurança

► A natureza aberta dos Sistemas Distribuídos torna-os mais permeáveis a


ataques
► A utilização de sistemas distribuídos para realizar tarefas com valor
acrescentado
ac esce ado sob
sobree dados sensíveis
se s e s implica
p ca a necessidade
ecess dade de p protecção
o ecção
eficaz
► Os SD têm portanto de fornecer
ƒ Autenticação
A t ti ã dos
d interlocutores
i t l t
ƒ Confidencialidade e integridade dos dados enviados
ƒ Disponibilidade dos serviços e canais de comunicação
► Os requisitos de segurança mais difíceis de atingir:
ƒ Protecção contra ataques de negação de serviço (Denial of Service)
ƒ Certificação do código móvel na Internet

Computação Distribuída 1.25 Licenciatura Eng.ª Informática


Escalabilidade

► A escalabilidade é a propriedade de um sistema que indica


a sua capacidade em responder de forma linear a aumentos
significativos da carga, número de utilizadores ou área de
abrangência
► A escala de um SD pode ser muito variável
ƒ Pequena ou média escala no seio de uma Intranet
ƒ Larga escala quando abrange grandes áreas geográficas ou
múltiplas organizações

Evolução do factor
de escala na Internet

Computação Distribuída 1.26 Licenciatura Eng.ª Informática


Requisitos para a Escalabilidade

► Para garantir a escalabilidade de um SD


ƒ Limitar
Li it a necessidade
id d ddo aumento
t ddo número
ú d
de recursos
• O aumento da dimensão do sistema deve traduzir-se num aumento linear do
número de recursos necessários => O(n)
• Ex: aumento de acessos a uma site Web vs. aumento de servidores necessários
ƒ Limitar a degradação de performance
• O aumento das necessidades de computação não deve conduzir a uma degradação
de desempenho => O (log n)
• Ex: utilização de estruturas hierárquicas de consulta para reduzir os tempos de
acesso (DNS, LDAP)
ƒ Evitar pontos de estrangulamento
• Utilizar algoritmos descentralizados
• Reduzir o número de mensagens através de caching e replicação
ƒ Evitar limitações na previsão do número de recursos
• As definições básicas do sistema devem prever a escalabilidade
- Ex:
E IPIPv4,
4 bbug ano 2000
► Garantir a escalabilidade é um dos desafios dominantes no
desenvolvimento de um SD

Computação Distribuída 1.27 Licenciatura Eng.ª Informática


Falhas
► Definições
ƒ Falta (Fault): acontecimento que altera o funcionamento de um componente do
sistema.
i t
ƒ Erro (Error): manifestação de uma falta no estado do sistema
ƒ Falha (Failure): incapacidade do sistema em oferecer determinado serviço
► Propagação
ƒ Falta =► Erro =► Falha
► As causas podem ser múltiplas
ƒ Erros de transmissão ou de software
ƒ Avarias do material
► Num sistema distribuído as falhas não implicam uma completa paragem
ƒ Geralmente são parciais e independentes
ƒ Os efeitos podem propagar
propagar-sese através de relações de dependência
► A capacidade de continuar a fornecer serviços em presença de falhas parciais é
uma característica essencial de um SD =► disponibilidade do sistema
ƒ Gerir as falhas:
• Detectar
• Mascarar
• Tolerar
• Recuperar

Computação Distribuída 1.28 Licenciatura Eng.ª Informática


Gestão de Falhas

► Detecção de falhas
ƒ Algumas falhas podem ser detectadas
• Ex: mecanismos de checksum detectam erros de transmissão
ƒ Outras não são detectáveis
• Ex: crash de um servidor ou congestão na rede de dados?
► Mascarar falhas
ƒ Depois de detectadas, algumas falhas podem ser mascaradas
• Ex: retransmissão de pacotes, utilizar cópia local dos dados
► Tolerância
T l â i a falhas
f lh
ƒ Capacidade de “tratar” um erro previamente identificado, continuando a
oferecer parte do serviço
ƒ Especificação do comportamento na ocorrência de falhas
• Ex: continuar com funcionalidade reduzida, utilizar redundância
► Recuperação de falhas
ƒ Envolve a capacidade
p de recuperar
p o estado do sistema antes da falha e
reconstitui-lo (roll-back)
ƒ Mecanismos complexos que envolvem a noção de transacção

Computação Distribuída 1.29 Licenciatura Eng.ª Informática


Falhas em Sistemas Distribuídos
► Papel da Falha ou “como a distribuição pode piorar o seu problema ...”
ƒ Falhas independentes ignoradas produzem:
• Decréscimo da disponibilidade;
• Decréscimo da fiabilidade;
• Decréscimo da autonomia;
ƒ A detecção das falhas independentes ocorridas produz:
• Aumento da disponibilidade;
• Aumento da fiabilidade;
• Aumento da autonomia;
ƒ Uma comunicação
ç não fiável:
• Não permite distinguir as situações de “em baixo” e de “desligado”
• Origina a detecção de partições na comunicação.
• Provoca um aumento do atraso na transmissão de mensagens.
• Impõe que se assumam valores relativos ao número e duração das falhas e dos
atrasos das mensagens.

Computação Distribuída 1.30 Licenciatura Eng.ª Informática


Concorrência

► A existência de vários fluxos de execução implica acessos


simultâneos a recursos partilhados
ƒ Ex: acessos de vários clientes a registo de dados
► Torna
Torna-se
se portanto necessário garantir a sincronização de
certas operações para assegurar a coerência de dados
ƒ Em cada componente, as instâncias de execução de objectos
concorrentes utilizam os mecanismos clássicos de sincronização
• Semáforos, monitores, secções críticas
ƒ A nível global, são necessárias técnicas de sincronização
específicas para algoritmos distribuídos

Computação Distribuída 1.31 Licenciatura Eng.ª Informática


Transparência

► A transparência é definida como a capacidade de esconder do utilizador


e das aplicações a natureza distribuída do sistema
ƒ O sistema aparece como um todo (Single System Image) e não como uma
conjunto de componentes
► O projecto ANSA (Advanced Networked Systems Architecture - 1989),
um
m dos primeiros consórcios de empresas a abordar a normali
normalização
ação da
arquitectura dos sistemas distribuídos define os tipos de transparência
► O modelo RM-ODP da ISO-ITU (Reference Model for Open Distributed
Processing) introduz os seguintes 8 tipos de transparência:
1. Acesso
2. Localização
3
3. Concorrência
4. Replicação
5. Falha
6. Mobilidade
7. Desempenho
8. Escalabilidade

Computação Distribuída 1.32 Licenciatura Eng.ª Informática


Tipos de Transparência
D fi i õ extraídas
Definições t íd do d R
Reference
f M
Manuall d
do projecto
j t ANSA (Advanced
(Ad d Network
N t k Systems
S t Architecture),
A hit t ) Cambridge,
C b id 1989

1. Access transparency: enables local and remote resources to be accessed using


identical operations
operations.
2. Location transparency: enables resources to be accessed without knowledge of
their physical or network location (for example, which building or IP address).
3
3. Concurrency transparency: enables several processes to operate concurrently
using shared resources without interference between them.
4. Replication transparency: enables multiple instances of resources to be used to
increase reliability and performance without knowledge of the replicas by users or
application programmers.
5. Failure transparency: enables the concealment of faults, allowing users and
application programs to complete their tasks despite the failure of hardware or
software components.
6. Mobility transparency: allows the movement of resources and clients within a
system without affecting the operation of users or programs.
7. Performance transparency: allows the system to be reconfigured to improve
performance as loads vary.
8. Scaling transparency: allows the system and applications to expand in scale
without
ith t change
h tto th
the system
t structure
t t or the
th application
li ti algorithms.
l ith

Computação Distribuída 1.33 Licenciatura Eng.ª Informática


Tipos de Transparência
D fi i õ extraídas
Definições t íd do d R
Reference
f M
Manuall d
do projecto
j t ANSA (Advanced
(Ad d Network
N t k Systems
S t Architecture),
A hit t ) Cambridge,
C b id 1989

1. Transparência de Acesso: Permite acessos locais e remotos através de operações


idênticas.
2. Transparência de Localização: Permite acessos a recursos sem conhecimento da
sua localização física ou do seu endereço de rede.
3. Transparência de Concorrência: Permite que vários processos funcionem
simultaneamente sem interferências utilizando recursos partilhados.
4. Transparência de Replicação: Permite que múltiplas instâncias de recursos sejam
utilizadas para aumentar a fiabilidade e o desempenho sem conhecimento dos
utilizadores ou dos programadores das aplicações
aplicações.
5. Transparência às Falhas: Permite o isolamento das falhas, fazendo com que os
utilizadores e os programadores possam completar as suas tarefas em caso de mau
p
funcionamento de componentes hardware ou software.
6. Transparência de Mobilidade: Permite a movimentação de recursos e componentes
do sistema sem afectar o normal funcionamento dos programas e dos seus
utilizadores.
7
7. T
Transparência
ê i d de D
Desempenho:h Permite
P it que o sistema
i t seja
j reconfigurado
fi d sem
descontinuidade quando a sua carga varia.
8. Transparência de Escalabilidade: Permite que o sistema e as aplicações sejam
expandidas sem modificação da sua arquitectura e dos seus algoritmos de
funcionamento.
Computação Distribuída 1.34 Licenciatura Eng.ª Informática
Trabalho Individual a realizar pelos alunos

► Ler o 1º capítulo do livro “Distributed


Distributed Systems: Concepts and

Design”
g ((4th Edition),
) by
y Coulouris, Dollimore & Kindberg
g

► Fornecer exemplos de Sistemas Distribuídos

Computação Distribuída 1.35 Licenciatura Eng.ª Informática


Exemplo 1: Computação Distribuída na Internet

intranet 

 ISP

backbone

satellite link

desktop computer:
server:
network link:

Computação Distribuída 1.36 Licenciatura Eng.ª Informática


Exemplo 2: Computação Distribuída numa Intranet

email server Desktop


computers
print and other servers

Local area
Web server network

email server
print
File server
other servers

the rest of
the Internet
router/firewall

Computação Distribuída 1.37 Licenciatura Eng.ª Informática


Exemplo 3: Computação Móvel Distribuída

Internet

Host intranet WAP


Wireless LAN Home
o e intranet
t a et
gateway

Mobile
phone
Printer Laptop
Camera Host site

Computação Distribuída 1.38 Licenciatura Eng.ª Informática


Fim da Introdução

Objectivos:
► No final deste capítulo
capítulo, os alunos devem ficar a conhecer:
ƒ O conceito de distribuição e as suas motivações
ƒ As características essenciais dos sistemas distribuídos
ƒ Os requisitos da distribuição
• Heterogeneidade
• Abertura
• Segurança
g ç
• Escalabilidade
• Gestão de falhas
• Concorrência
• Transparência
► Trabalho individual complementar
ƒ Fornecer exemplos de Sistemas Distribuídos
ƒ Ler o 1º capítulo do livro “Distributed
Distributed Systems: Concepts and Design
Design” (4th
Edition), by Coulouris, Dollimore & Kindberg

Computação Distribuída 1.39 Licenciatura Eng.ª Informática


Referências

► Livro de Referência
ƒ http://www.cdk4.net
► ANSA Project - Introdução
ƒ http://www.ansa.co.uk/ANSATech/89/TR0302.pdf
► OMG - Object Management Group
ƒ http://www.omg.org
► Corba
ƒ http://www.omg.org/gettingstarted/corbafaq.htm

Computação Distribuída 1.40 Licenciatura Eng.ª Informática

Potrebbero piacerti anche