Sistemas
Distribuídos
Revisão
Arquitetura Três Camadas
Regras
De
Negócios
BD
FONTE: www.portaljava.com
Servidor
WEB
Interface
Protocolos de Internet

Camada Aplicação HTTP, SMTP, FTP, SSH, IRC, SNMP ...

Camada Transporte TCP, UDP, SCTP, RTP, DCCP ...

Camada Rede IPv4, IPv6, ARP, ICMP ...

Camada Ligação de dados Ethernet, 802.11 WiFi, Token ring, FDDI,
PPP, ...
Modelo de Cliente Servidor

Cliente/Servidor


O cliente manda um pedido para o servidor e o servidor
o retorna.
Peer-to-peer (P2P)

O banco de dados manda um pedido para o gerenciador,
o gerenciador retorna para o banco de dados e pede
confirmação, e o banco de dados retorna para o
gerenciador.
P2P

P2P ou Peer-to-Peer é uma tecnologia que possibilita a
distribuição de arquivos em rede e que tem como característica
permitir o acesso de qualquer usuário dessa rede a um nó, ou a
outro usuário (peer) de forma direta, possibilitando a partilha
entre os usuários de ciclos de processamento das máquinas,
banda de rede, espaço de armazenamento entre outros recursos
que em outros sistemas acabavam sendo desperdiçados.
Basicamente pode-se dizer que cada computador é cliente e
servidor ao mesmo tempo.
P 2 P...
O conceito de peer-to-peer disseminou-se pelo
mundo inteiro, devido ao surgimento, na internet, de
sistemas de gestão de redes descentralizadas, que
permitem aos utilizadores partilhar arquivos de forma
direta, sem necessitarem de se ligar a um servidor
central. O mais conhecido desses sistemas, o Napster,
especializado na partilha de música, tornou-se
mundialmente célebre devido a ser alvo de ataque
jurídico por parte das companhias discográficas.
Um dos tipos de arquivos mais frequentemente
compartilhado nas redes P2P é o mp3
Sistemas
Distribuídos
Definição

Um sistema distribuído possui as seguintes características:

Várias máquinas independentes, e potencialmente:






l Heterogéneas;
l Geograficamente distantes;
l Administradas por diferentes organizações .
Redes de interligação entre essas máquinas;
Estado partilhado entre as várias máquinas.
l Uma máquina multiprocessador autónoma não é (nesta
óptica) um sistema distribuído
Condicionantes da evolução

Tecnologia

Os requisitos do utilizador
Tecnologia

Das diversas evoluções tecnológicas ocorridas
durante a última década, parece interessante
destacar 4 que modificaram o modo de conceber
os sistemas computacionais.




As redes de computadores
Os computadores pessoais
Sistemas abertos
As arquiteturas multiprocessador
As redes de computadores




Arpanet (EUA)
– Linhas dedicadas
l Cyclades (França)
– Redes públicas
Internet
– Analógica
– RDIS
– ADSL
LAN’s
Os computadores pessoais
• Contribuíram para o rápido
desenvolvimento da tecnologia
da micro eletrônica.
Tecnologia
Evolução da Densidade
(de 3 em 3 anos)
Circuitos lógicos Duplica
Memórias
Quadruplica
Discos
Duplica
Evolução do desempenho
(tempo de ciclo)
50% em 2 anos
33% em 10 anos
33% em 10 anos
Sistemas Abertos


Inicialmente os sistemas operativos eram criados
pelo fabricante do hardware.
– Melhor adaptação do software ao hardware
– Dificuldade de intercâmbio de informação
entre sistemas diferentes
Sistemas operativos abertos
– Definição do sistema complexa
– Existência de plataformas
As arquiteturas multiprocessador

Teve o seu ponto mais marcante na década de
70 e 80, devido à existência de aplicações com
elevado calculo numérico.

Destinados a super computadores
Os requisitos dos utilizadores

Os requisitos dos utilizadores podem ser segmentados
de acordo com a atividade desenvolvida.

Finais

Programadores

Gestores
Utilizadores Finais


Visão integrada de recursos locais e remotos
Segurança e confiabilidade no acesso a recursos
remotos
Disponibilidade dos recursos remotos
Programadores

Interfaces normalizadas

Ambientes de desenvolvimento especializados
Gestores de sistemas

Capacidade de evolução, extensibilidade

Segurança do sistema local

Confiabilidade e disponibilidade dos recursos
fornecidos
VANTAGENS
E
PROBLEMAS
Vantagens Potenciais



Adequação à estrutura das organizações
– Distribuição física e acesso distribuído a
sistemas de informação das organizações
Adequação à interação entre pessoas
– E-mail, boletins eletrônicos
– Suporte para trabalho cooperativo
Adequação dos serviços às máquinas
– Mainframes para SGBDs, PCs para as
aplicações gráficas
Vantagens Potenciais



Partilha de recursos
– Poder computacional, informação,
periféricos
Difusão de informação entre pessoas
– E-mail
Acesso a serviços
– E-business
Vantagens Potenciais


Disponibilidade
– A falha de uma parte pode não perturbar todo
o sistema
– Replicação
Flexibilidade
–Escalabilidade
no desenvolvimento de
sistemas com elevado potencial
Problemas da Distribuição


Falha independente das componentes do sistema
– Máquinas diretamente envolvidas nas interações
– Infra-estrutura de comunicação
Interação via troca de mensagens
– Incapacidade de comunicar com o destinatário
– Perda de mensagens, alteração do seu fluxo ou
conteúdo
– Latência variável
– Heterogeneidade de representação de dados
Problemas da Distribuição


Segurança
– Acesso não autorizado a recursos remotos
– Inspeção ou alteração ilegítimas de conteúdos
de mensagens
Desenvolvimento de software
– Concepção de sistemas operativos, linguagens e
aplicações mais apropriados
– Definir o que deve ser feito pelo sistema e o
que deve ser feito pelos utilizadores
Arquitetura do Sistema
Arquitetura do Sistema

Suporte à comunicação distribuída

Plataformas Cliente/Servidor

Sistema operativo distribuído
Suporte à comunicação
Distribuída






Estruturado em 7 níveis
Cada nível possui:
– Uma funcionalidade própria
– Uma API
– Um protocolo para dialogar com
níveis idênticos
Formato das mensagens trocadas
Semântica das mensagens trocadas
2 grupos de protocolos
– Com ligação (connection-oriented)
Ligar, negociar, interactuar, terminar
– Sem ligação (connectionless)
Maquina A
Maquina B
Nível i+1
Nível i
Nível i-1
Nível i
Suporte à comunicação
Distribuída
1 – Físico
Transmissão física de bits
2 - Lógico (Data Link )
Endereçamento físico
Controlo de erros do nível
físico
3 – Rede
Localização de receptores
Encaminhamento (routing)
Fragmentação
4 – Transporte
Terminais para
envio/recepção
Comunicação entre extremos
Semânticas de transmissão
5 – Sessão
Multiplexagem
Controlo de fluxo adicional
Gestão de contextos
adicional
6 – Apresentação
Conversão de informação
estruturada
7 – Aplicação
Interação aplicacional
pretendida
Suporte à comunicação
Distribuída


Nível Rede:
– IP (Internet Protocol)
– Resolução de endereços
Nível Transporte
– TCP (Transport Control Protocol)

Circuitos virtuais
– UDP (User Datagram Protocol)
Suporte à comunicação
Distribuída


Interação baseada na troca de mensagens
– Facilidade de transporte para múltiplos sistemas
– Exemplos:
aplicações/protocolos telnet, ftp, SMTP
Problemas:
– Cada aplicação possui um protocolo próprio
– Exploração do protocolo por terceiros
– Desempenho
Plataformas Cliente/Servidor
Máquinas autónomas e heterogéneas
 Sistemas operativos autónomos e heterogéneos
– Sem administração comum
 Um conjunto de requisitos mínimos para garantir
inter operacionalidade:
– Protocolos de comunicação comuns
– Aplicações cliente e serviços: telnet, ftp
- Envio e recepção de e-mail
- Sistema de arquivos distribuído

Plataformas Cliente/Servidor
Aplicação
Aplicação
Sistemas de Arquivos
E/S
E/S
Gestão de
Memória
Gestão de
Memória
Comunicação
entre processos
Comunicação
entre processos
Gestão
de Processos
Gestão
de Processos
Plataformas Cliente/Servidor
Aplicação
Sistemas de Arquivos
E/S
Gestão de
Memória
Comunicação
entre processos
Gestão
de Processos
Micro
Núcleo
Micro
Núcleo
Download

aula2