Sistemas Sistemas DistribuídosDistribuídos
RevisãoRevisão
ServidorWEBB D
Regras De
Negócios
Interface
Arquitetura Três Arquitetura Três CamadasCamadas
FONTE: www.portaljava.com
Protocolos de InternetProtocolos de Internet
Camada AplicaçãoCamada Aplicação HTTP, SMTP, FTP, SSH, IRC, HTTP, SMTP, FTP, SSH, IRC, SNMP ...SNMP ...
Camada TransporteCamada Transporte TCPTCP, , UDPUDP, SCTP, RTP, DCCP ..., SCTP, RTP, DCCP ...
Camada RedeCamada Rede IPv4, IPv6, ARP, ICMP ... IPv4, IPv6, ARP, ICMP ...
Camada Ligação de dadosCamada Ligação de dados Ethernet, 802.11 WiFi, Ethernet, 802.11 WiFi, Token ring, FDDI, PPP, ...Token ring, FDDI, PPP, ...
Modelo de Cliente Modelo de Cliente ServidorServidor
Cliente/ServidorCliente/Servidor O O clientecliente manda um pedido para o manda um pedido para o
servidorservidor e o e o servidorservidor o retorna. o retorna. Peer-to-peer (P2P)Peer-to-peer (P2P)
O O banco de dadosbanco de dados manda um pedido manda um pedido para o para o gerenciadorgerenciador, o , o gerenciadorgerenciador retorna para o retorna para o banco de dadosbanco de dados e pede e pede confirmação, e o confirmação, e o banco de dadosbanco de dados retorna para o retorna para o gerenciadorgerenciador..
P 2 PP 2 P P2PP2P ou ou Peer-to-PeerPeer-to-Peer é uma tecnologia que é uma tecnologia que
possibilita a distribuição de arquivos em rede e possibilita a distribuição de arquivos em rede e que tem como característica permitir o acesso de que tem como característica permitir o acesso de qualquer usuário dessa rede a um nó, ou a outro qualquer usuário dessa rede a um nó, ou a outro usuário (peer) de forma direta, possibilitando a usuário (peer) de forma direta, possibilitando a partilha entre os usuários de ciclos de partilha entre os usuários de ciclos de processamento das máquinas, banda de rede, processamento das máquinas, banda de rede, espaço de armazenamento entre outros recursos espaço de armazenamento entre outros recursos que em outros sistemas acabavam sendo que em outros sistemas acabavam sendo desperdiçados. Basicamente pode-se dizer que desperdiçados. Basicamente pode-se dizer que cada computador é cliente e servidor ao mesmo cada computador é cliente e servidor ao mesmo tempo.tempo.
P 2 P...P 2 P...
O conceito de peer-to-peer disseminou-se O conceito de peer-to-peer disseminou-se pelo mundo inteiro, devido ao surgimento, na pelo mundo inteiro, devido ao surgimento, na internet, de sistemas de gestão de redes internet, de sistemas de gestão de redes descentralizadas, que permitem aos descentralizadas, que permitem aos utilizadores partilhar arquivos de forma direta, utilizadores partilhar arquivos de forma direta, sem necessitarem de se ligar a um servidor sem necessitarem de se ligar a um servidor central. O mais conhecido desses sistemas, o central. O mais conhecido desses sistemas, o Napster, especializado na partilha de música, Napster, especializado na partilha de música, tornou-se mundialmente célebre devido a ser tornou-se mundialmente célebre devido a ser alvo de ataque jurídico por parte das alvo de ataque jurídico por parte das companhias discográficas.companhias discográficas.
Um dos tipos de arquivos mais Um dos tipos de arquivos mais frequentemente compartilhado nas redes P2P é frequentemente compartilhado nas redes P2P é o mp3o mp3
Sistemas Sistemas DistribuídosDistribuídos
DefiniçãoDefinição
Um sistema distribuído possui as seguintes Um sistema distribuído possui as seguintes características:características: Várias máquinas independentes, e potencialmente:Várias máquinas independentes, e potencialmente:
l Heterogéneas;l Heterogéneas; l Geograficamente distantes;l Geograficamente distantes; l Administradas por diferentes organizações .l Administradas por diferentes organizações .
Redes de interligação entre essas máquinas;Redes de interligação entre essas máquinas; Estado partilhado entre as várias máquinas.Estado partilhado entre as várias máquinas.
l Uma máquina multiprocessador autónoma não l Uma máquina multiprocessador autónoma não é (nesta óptica) um sistema distribuído é (nesta óptica) um sistema distribuído
Condicionantes da evoluçãoCondicionantes da evolução
TecnologiaTecnologia
Os requisitos do utilizadorOs requisitos do utilizador
TecnologiaTecnologia
Das diversas evoluções tecnológicas Das diversas evoluções tecnológicas ocorridas durante a última década, parece ocorridas durante a última década, parece interessante destacar 4 que modificaram o interessante destacar 4 que modificaram o modo de conceber os sistemas modo de conceber os sistemas computacionais.computacionais.
As redes de computadoresAs redes de computadores Os computadores pessoaisOs computadores pessoais Sistemas abertosSistemas abertos As arquiteturas As arquiteturas
multiprocessadormultiprocessador
As redes de As redes de computadorescomputadores
Arpanet (EUA)Arpanet (EUA)– – Linhas dedicadasLinhas dedicadas
l Cyclades (França)l Cyclades (França)– – Redes públicasRedes públicas
InternetInternet– – AnalógicaAnalógica– – RDISRDIS– – ADSLADSL
LAN’sLAN’s
Os computadores Os computadores pessoaispessoais
TecnologiaTecnologia Evolução da Evolução da DensidadeDensidade
(de 3 em 3 anos)(de 3 em 3 anos)
Evolução do Evolução do desempenhodesempenho
(tempo de ciclo)(tempo de ciclo)
Circuitos Circuitos lógicoslógicos
MemóriasMemórias
DiscosDiscos
DuplicaDuplica
QuadruplicaQuadruplica
DuplicaDuplica
50% em 2 anos50% em 2 anos
33% em 10 anos33% em 10 anos
33% em 10 anos33% em 10 anos
• Contribuíram para o rápido desenvolvimento da tecnologia da micro eletrônica.
Sistemas AbertosSistemas Abertos
Inicialmente os sistemas operativos eram Inicialmente os sistemas operativos eram criados pelo fabricante do hardware.criados pelo fabricante do hardware.
– – Melhor adaptação do software ao Melhor adaptação do software ao hardwarehardware
– – Dificuldade de intercâmbio de Dificuldade de intercâmbio de informação entre sistemas diferentesinformação entre sistemas diferentes
Sistemas operativos abertosSistemas operativos abertos
– – Definição do sistema complexaDefinição do sistema complexa
– – Existência de plataformas Existência de plataformas
As arquiteturas As arquiteturas multiprocessadormultiprocessador
Teve o seu ponto mais marcante na Teve o seu ponto mais marcante na década de 70 e 80, devido à década de 70 e 80, devido à existência de aplicações com elevado existência de aplicações com elevado calculo numérico.calculo numérico.
Destinados a super computadoresDestinados a super computadores
Os requisitos dos Os requisitos dos utilizadoresutilizadores
Os requisitos dos utilizadores podem ser Os requisitos dos utilizadores podem ser segmentados de acordo com a atividade segmentados de acordo com a atividade desenvolvida.desenvolvida.
FinaisFinais
ProgramadoresProgramadores
GestoresGestores
Utilizadores FinaisUtilizadores Finais
Visão integrada de recursos locais e Visão integrada de recursos locais e remotos Segurança e confiabilidade remotos Segurança e confiabilidade no acesso a recursos remotosno acesso a recursos remotos
Disponibilidade dos recursos Disponibilidade dos recursos remotosremotos
ProgramadoresProgramadores
Interfaces normalizadas Interfaces normalizadas
Ambientes de desenvolvimento Ambientes de desenvolvimento especializados especializados
Gestores de sistemasGestores de sistemas
Capacidade de evolução, Capacidade de evolução, extensibilidadeextensibilidade
Segurança do sistema localSegurança do sistema local
Confiabilidade e disponibilidade dos Confiabilidade e disponibilidade dos recursos fornecidosrecursos fornecidos
VANTAGENS VANTAGENS EE
PROBLEMASPROBLEMAS
Vantagens PotenciaisVantagens Potenciais Adequação à estrutura das organizaçõesAdequação à estrutura das organizações
– – Distribuição física e acesso Distribuição física e acesso distribuído a sistemas de informação das distribuído a sistemas de informação das organizaçõesorganizações
Adequação à interação entre pessoasAdequação à interação entre pessoas– – E-mail, boletins eletrônicosE-mail, boletins eletrônicos– – Suporte para trabalho cooperativoSuporte para trabalho cooperativo
Adequação dos serviços às máquinasAdequação dos serviços às máquinas– – Mainframes para SGBDs, PCs Mainframes para SGBDs, PCs
para as aplicações gráficaspara as aplicações gráficas
Vantagens PotenciaisVantagens Potenciais
Partilha de recursosPartilha de recursos
– – Poder computacional, Poder computacional, informação, periféricosinformação, periféricos
Difusão de informação entre pessoasDifusão de informação entre pessoas
– – E-mailE-mail Acesso a serviçosAcesso a serviços
– – E-business E-business
Vantagens PotenciaisVantagens Potenciais
DisponibilidadeDisponibilidade
– – A falha de uma parte pode não A falha de uma parte pode não perturbar todo o sistemaperturbar todo o sistema
– – ReplicaçãoReplicação FlexibilidadeFlexibilidade
––Escalabilidade no desenvolvimento Escalabilidade no desenvolvimento de sistemas com elevado potencialde sistemas com elevado potencial
Problemas da Problemas da DistribuiçãoDistribuição
Falha independente das componentes do sistemaFalha independente das componentes do sistema– – Máquinas diretamente envolvidas nas Máquinas diretamente envolvidas nas
interaçõesinterações– – Infra-estrutura de comunicaçãoInfra-estrutura de comunicação
Interação via troca de mensagensInteração via troca de mensagens– – Incapacidade de comunicar com o Incapacidade de comunicar com o
destinatáriodestinatário– – Perda de mensagens, alteração do seu fluxo Perda de mensagens, alteração do seu fluxo
ou conteúdoou conteúdo– – Latência variávelLatência variável– – Heterogeneidade de representação de Heterogeneidade de representação de
dadosdados
Problemas da Problemas da DistribuiçãoDistribuição
SegurançaSegurança– – Acesso não autorizado a recursos Acesso não autorizado a recursos
remotosremotos– – Inspeção ou alteração ilegítimas de Inspeção ou alteração ilegítimas de
conteúdos de mensagensconteúdos de mensagens Desenvolvimento de softwareDesenvolvimento de software
– – Concepção de sistemas operativos, Concepção de sistemas operativos, linguagens e aplicações mais apropriadoslinguagens e aplicações mais apropriados
– – Definir o que deve ser feito pelo Definir o que deve ser feito pelo sistema e o que deve ser feito pelos sistema e o que deve ser feito pelos utilizadores utilizadores
Arquitetura do Arquitetura do SistemaSistema
Arquitetura do SistemaArquitetura do Sistema
Suporte à comunicação distribuídaSuporte à comunicação distribuída
Plataformas Cliente/ServidorPlataformas Cliente/Servidor
Sistema operativo distribuído Sistema operativo distribuído
Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída
Estruturado em 7 níveisEstruturado em 7 níveis Cada nível possui:Cada nível possui:
– – Uma funcionalidade própriaUma funcionalidade própria– – Uma APIUma API– – Um protocolo para dialogar com Um protocolo para dialogar com níveis idênticosníveis idênticos
Formato das mensagens trocadasFormato das mensagens trocadas Semântica das mensagens Semântica das mensagens
trocadastrocadas 2 grupos de protocolos2 grupos de protocolos
– – Com ligação (Com ligação (connection-connection-orientedoriented))
Ligar, negociar, interactuar, Ligar, negociar, interactuar, terminarterminar– – Sem ligação (Sem ligação (connectionlessconnectionless))
Maquina A Maquina B
Nível i+1
Nível i Nível i
Nível i-1
Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída
1 – Físico1 – FísicoTransmissão física de Transmissão física de bitsbits
2 - Lógico (2 - Lógico (Data Link Data Link ))Endereçamento físicoEndereçamento físicoControlo de erros do Controlo de erros do
nível físiconível físico3 – Rede3 – Rede
Localização de Localização de receptoresreceptores
Encaminhamento Encaminhamento ((routingrouting))
FragmentaçãoFragmentação4 – Transporte4 – Transporte
Terminais para Terminais para envio/recepçãoenvio/recepção
Comunicação entre Comunicação entre extremosextremos
Semânticas de Semânticas de transmissãotransmissão
5 – Sessão5 – SessãoMultiplexagemMultiplexagemControlo de fluxo Controlo de fluxo
adicionaladicionalGestão de Gestão de
contextos adicionalcontextos adicional6 – Apresentação6 – Apresentação
Conversão de Conversão de informaçãoinformaçãoestruturadaestruturada
7 – Aplicação7 – AplicaçãoInteração Interação
aplicacional pretendidaaplicacional pretendida
Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída
Nível Rede:Nível Rede:
– – IP (IP (Internet ProtocolInternet Protocol))
– – Resolução de endereçosResolução de endereços Nível TransporteNível Transporte
– – TCP (TCP (Transport Control ProtocolTransport Control Protocol)) Circuitos virtuaisCircuitos virtuais
– – UDP (UDP (User Datagram ProtocolUser Datagram Protocol))
Suporte à comunicaçãoSuporte à comunicaçãoDistribuídaDistribuída
Interação baseada na troca de mensagensInteração baseada na troca de mensagens
– – Facilidade de transporte para múltiplos Facilidade de transporte para múltiplos sistemassistemas
– – Exemplos:Exemplos:
aplicações/protocolos telnet, ftp, SMTPaplicações/protocolos telnet, ftp, SMTP Problemas:Problemas:
– – Cada aplicação possui um protocolo Cada aplicação possui um protocolo própriopróprio
– – Exploração do protocolo por terceirosExploração do protocolo por terceiros
– – Desempenho Desempenho
Plataformas Plataformas Cliente/ServidorCliente/Servidor
Máquinas autónomas e heterogéneasMáquinas autónomas e heterogéneas Sistemas operativos autónomos e Sistemas operativos autónomos e
heterogéneosheterogéneos– – Sem administração comumSem administração comum
Um conjunto de requisitos mínimos para Um conjunto de requisitos mínimos para garantirgarantir
inter operacionalidade:inter operacionalidade:– – Protocolos de comunicação comunsProtocolos de comunicação comuns– – Aplicações cliente e serviços: telnet, ftpAplicações cliente e serviços: telnet, ftp- Envio e recepção de e-mail- Envio e recepção de e-mail- Sistema de arquivos distribuído- Sistema de arquivos distribuído
Plataformas Plataformas Cliente/ServidorCliente/Servidor
AplicaçãoAplicaçãoAplicaçãoAplicação
Sistemas de Arquivos
E / S
Gestão deMemória
Comunicação entre processos
Gestão de Processos
E / S
Gestão deMemória
Comunicação entre processos
Gestão de Processos
Plataformas Plataformas Cliente/ServidorCliente/Servidor
AplicaçãoAplicação
Sistemas de Arquivos
E / S
Gestão deMemória
Comunicação entre processos
Gestão de Processos
MicroNúcleo
MicroNúcleo
Top Related