Buscar

SD 01 - Caracterização

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Distribuídos
Caracterização
Joinvile Batista Junior
UFGD - SD 01 - Joinvile Batista Junior 2
Caracterização de SDs
 A : Características dos SDs
 B : Internet
 C : World Wide Web
 D : Desafios para os SDs
UFGD - SD 01 - Joinvile Batista Junior 3
A : Características dos SDs
1. O que é um SD e qual a motivação para construí-lo?
2. Comente desafios e vantagens de um SD.
UFGD - SD 01 - Joinvile Batista Junior 4
Definição e Motivação
Sistema Distribuído
• componentes localizados em computadores interligados em rede
– se comunicam e coordenam suas ações
• apenas passando mensagens
Motivação para construir SDs
• compartilhamento de recursos
– gerenciados por servidores e acessados por clientes
– ou encapsulados como objetos e a acessados por outros 
objetos clientes
• recursos
– componentes de hardware: discos, impressoras, etc
– entidades de software: arquivos, bancos de dados, objetos
UFGD - SD 01 - Joinvile Batista Junior 5
Desafios e Vantagens dos SDs
Desafios para a Construção de SDs
• heterogeneidade de seus componentes
• sistema aberto: permite adição e substituição de componentes
• segurança, concorrência, transparência
• escalabilidade: funcionar bem quando aumenta a quantidade de 
usuários
• tratamento de falhas
Vantagens dos SDs
• mundo real é distribuído
– pessoas, organizações, sistemas, dados
• compartilhamento de recursos
• aumento de confiabilidade
• aumento de desempenho
• crescimento incremental
• flexibilidade
UFGD - SD 01 - Joinvile Batista Junior 6
A : Características dos SDs
1. Conceitue concorrência dos componentes de SDs.
2. Conceitue falta de um relógio global em SDs.
3. Conceitue falhas de componentes independentes em SDs.
UFGD - SD 01 - Joinvile Batista Junior 7
Concorrência – Relógio Global – Falhas
Concorrência dos componentes
• computadores interligados na rede compartilham recursos
– páginas web, arquivos, servidores de aplicação
Falta de um relógio global
• coordenação de ações entre componentes que cooperam
– depende da noção compartilhada de tempo
• existem limites para a sincronização de relógios em uma rede
– não existe uma noção global única do tempo correto
• como consequência da comunicação somente por mensagens
Falhas de componentes independentes
• falhas da rede isolam computadores que continuam funcionando
• falha de um computador não é imediatamente percebida pelos demais
• componentes podem falhar independentemente
– deixando os demais em funcionamento
UFGD - SD 01 - Joinvile Batista Junior 8
A : Características dos SDs
1. Qual a diferença de processamento entre Paralelismo Virtual, 
Paralelismo e Distribuição?
2. Comente as camadas de um sistema de comércio eletrônico.
3. Cite um exemplo de SD no comércio eletrônico. Justifique.
UFGD - SD 01 - Joinvile Batista Junior 9
Paralelismo Virtual – Paralelismo – Distribuição
Paralelismo Virtual
• sistema monoprocessado: conceito de multitarefa
• SO escala processos (ou threads) e trata interrupções
– usuário tem a sensação de paralelismo real
Paralelismo
• sistema multiprocessado: novos SOs
• ex: execução iterativa e download em paralelo
Distribuição
• camadas para o cliente enxuto (thin client)
– usuário: somente navegador
– apresentação: recebe e devolve HTML
– negócios: serviços do sistema
– persistência: base de dados
• ex: sistemas de comércio eletrônico
UFGD - SD 01 - Joinvile Batista Junior 10
B : Internet
 B : Internet
1. Conceitue a Internet.
2. Comente a capacidade da Internet de tratar requisitos de serviços 
multimídia.
UFGD - SD 01 - Joinvile Batista Junior 11
Internet
Internet
• conjuntos de redes de computadores de diferentes tipos interligadas
• protocolos da internet permitem que um programa envie mensagens 
para outro em qualquer ponto da rede
• conjunto de serviços é aberto
– pode ser ampliado pela adição de computadores servidores e 
novos tipos de serviços
Provedores de Serviços de Internet (ISP – Internet Service Provider)
• empresas que fornecem acesso à internet a indivíduos ou a 
organizações
– através de diferentes tipos de conexões: linha discada, cabo,etc
• fornecem adicionalmente serviços locais
– e-mail, hospedagem de páginas web
UFGD - SD 01 - Joinvile Batista Junior 12
Internet
Backbones
• enlace de rede de alta capacidade de transmissão que interligam 
intranets
Serviços Multimídia disponíveis na internet
• acesso a dados de áudio e vídeo: música, rádio, canais de TV, 
conferências via telefone e vídeo
• capacidade atual de tratar requisitos multimídia é bastante limitada
– não fornece os recursos necessários para reservar capacidade 
de rede
• para que os fluxos de dados individuais sejam recebidos e 
enviados com boa qualidade de serviço
UFGD - SD 01 - Joinvile Batista Junior 13
intranet
ISP
desktop computer:
backbone
satellite link
server:

network link:



Internet
UFGD - SD 01 - Joinvile Batista Junior 14
B : Internet
1. Compare Internet x Intranet.
UFGD - SD 01 - Joinvile Batista Junior 15
Intranet
Intranet
• parte da internet administrada separadamente
– cujo limite pode ser configurado para impor planos de segurança 
locais
• organizações precisam proteger seus serviços de uso não 
autorizado
• configuração administrada por uma dada organização
– desde uma única LAN (Local Area Network) em um único site
– até um conjunto de LANs interconectadas (por conexões de 
backbones) pertencentes às filiais de uma empresa em vários 
países
Segurança
• firewalls: filtragem de mensagens recebidas e enviadas
– de acordo, por exemplo, com a origem e destino
• intranets desconectadas da internet: organizações militares
UFGD - SD 01 - Joinvile Batista Junior 16
Intranet
the rest of 
email server
Web server
Desktop
computers
File server
router/firewall
print and other servers
other servers
print
Local area
network
email server
the Internet
UFGD - SD 01 - Joinvile Batista Junior 17
B : Internet
1. Defina e exemplifique Computação Ubíqua.
UFGD - SD 01 - Joinvile Batista Junior 18
Computação Ubíqua
Miniaturização de Equipamentos e Interligação em Rede Sem Fio
• notebooks
• PDA (Personal Digital Assistant), celulares, pagers, câmaras de 
vídeo digitais
• aparelhos incorporados ao corpo (relógios inteligentes) ou outros 
aparelhos (máquinas de lavar, carros, etc)
Ubíqua = Móvel (em larga escala) + Pervasiva
• Computação Móvel
– executação de tarefas enquanto
• usuário se movimenta
• se distancia do seu ambiente local
• Computação Pervasiva
– computador embarcado no ambiente
• de forma desapercebida
– usa informações do ambiente
• para construir modelos computacionais dinamicamente
UFGD - SD 01 - Joinvile Batista Junior 19
Equipamentos em um Sistema Distribuído
Laptop
Mobile
Printer
Camera
Internet
Host intranet Home intranet
WAP 
Wireless LAN
phone
gateway
Host site
WAP (Wireless Application Protocol) gateway: translada páginas para equipamentos móveis
UFGD - SD 01 - Joinvile Batista Junior 20
C : World Wide Web
1. Esclareça a diferença entre a Internet e a World Wide Web.
UFGD - SD 01 - Joinvile Batista Junior 21
World Wide Web
Sistema em evolução
• para publicação e acesso a recursos e serviços pela Internet
• através de navegadores web (browsers)
– usuários recuperam e visualizam documentos de muitos tipos
– ouvem fluxos de áudio, assistem fluxos de vídeo
– interagem com um vasto conjunto de serviços
• fornece uma estrutura de hipertexto entre os documentos que 
armazena
– documentos contém hyperlinks para outros documentos
• sistema em aberto
– pode serampliada e implementada de novas maneiras
• sem perturbar a funcionalidade existente
– várias implementações de navegadores e servidores web
• em sua forma mais simples
– recurso da web é uma página ou algum outro tipo de conteúdo
UFGD - SD 01 - Joinvile Batista Junior 22
Problemas da Web
• hipertexto é deficiente para excluir ou mover recursos: links pendentes
• mecanismos de busca são alternativas para localizar informações na web
– mas necessitam evoluir com as ferramentas da web semântica
• vocabulários, sintaxe e semântica padrões para expressar 
metadados
• para realizar buscas com base na correspondência semântica
• escalabilidade: servidores web mais populares tem muitos acessos
– cache em navegadores e servidores proxies
• para melhorar o tempo de resposta e a divisão de carga de 
processamento por um grupo de servidores
UFGD - SD 01 - Joinvile Batista Junior 23
C : World Wide Web
1. Explique o papel do HTML, URL e HTTP na recuperação e 
visualização de documentos.
UFGD - SD 01 - Joinvile Batista Junior 24
World Wide Web
Os 3 componentes principais
• HTML – HyperText Markup Language
• URL – Uniform Resource Locator
• HTTP – HyperText Transfer Protocol
– protocolo para iteração em uma arquitetura cliente-servidor
• utilizado por navegadores e outros clientes
– para busca de documentos e outros recursos 
armazenados na web
Característica importante
• usuários podem localizar e gerenciar seus próprios servidores web 
em qualquer parte da Internet
UFGD - SD 01 - Joinvile Batista Junior 25
HTML
• usada para especificar o texto e as imagens
– que compõem o conteúdo de uma página web
– e para especificar como eles são dispostos e formatados
• para apresentação ao usuário
• usuários produzem código manualmente
– ou através de um editor wysiwyg (what you see is what you get)
• usuário especifica para o navegador
– a URL correspondente ao HTML no servidor
• apenas o navegador interpreta o texto HTML
– mas o servidor informa ao navegador o tipo de conteúdo 
retornado
• ex: pdf
UFGD - SD 01 - Joinvile Batista Junior 26
URL
• esquema: identificador_específico
– esquemas: http, mailto, ftp
– não há restrição para definir novo esquema na web
• mas será necessário instalar plug-in no navegador
• sintaxe de URLs HTTP
– http://nome_servidor [: porta] [/nome_caminho] [?consulta] 
[#fragmento]
• nome_servidor: expresso como um nome DNS (Domain Name 
System)
• elementos opcionais: encapsulados por []
– porta: na qual o servidor recebe os pedidos (padrão: 80)
– nome_caminho: sub-diretório da página web padrão do 
servidor
– consulta: argumento para o serviço solicitado
– fragmento: para identificar fragmento do texto HTML após 
ter feito o download do texto inteiro
UFGD - SD 01 - Joinvile Batista Junior 27
HTTP
• Interações requisição-resposta
– servidor responde requisição do cliente com conteúdo do 
arquivo especificado na URL
• ou com mensagem de erro
• Tipos de conteúdo
– navegador solicita conteúdos que prefere
– servidor considera conteúdos preferidos e retorna o tipo do 
conteúdo na resposta
• Um recurso por requisição
– se uma página web contém 9 imagens
• o navegador fará 10 requisições para obter o conteúdo 
completo da página
– em geral: requisições concorrentes para reduzir o atraso global
• Controle de acesso simplificado
– servidor pode ser configurado para solicitar senha do cliente
UFGD - SD 01 - Joinvile Batista Junior 28
C : World Wide Web
1. Caracterize e diferencie a utilização de Javascript e Applet.
2. Explique e exemplifique a utilidade de páginas dinâmicas e de 
web services na Web.
UFGD - SD 01 - Joinvile Batista Junior 29
Navegador carrega Código por Download
• carregando código em Javascript
– para interação de melhor qualidade com o usuário
• em vez do elementos padrões do HTML
– código pode validar as entradas no cliente
• evitando uso da rede para a validação no servidor
• carregando código de Applet
– como alternativa para executar código Java
• em função das limitações de funcionalidade do Javascript
UFGD - SD 01 - Joinvile Batista Junior 30
Usuário solicita Serviços: Páginas Dinâmicas
• Além de recuperar informações em páginas web: usuários solicitam 
serviços
– preenche formulário web: página com informações para 
execução do serviço solicitado
– servidor precisa processar as informações do usuário
• executando um programa em vez de recuperar um arquivo
• JavaServer Faces
– separa a apresentação de um aplicativo web (XHTML)
– de sua lógica de negócios (Java)
UFGD - SD 01 - Joinvile Batista Junior 31
Programa solicita Serviços: Web Services
• Além de um usuário operar um navegador: um programa cliente 
pode solicitar serviços a um servidor
– entretanto padrões HTML e HTTP são insuficientes para realizar 
interações entre programas
• O protocolo HTML não suporta troca de dados estruturados
– HTML tem um conjunto estático de estruturas
• com foco na apresentação de dados para os usuários
– XML – Extensible Markup Language
• metalinguagem para descrever dados
– tornando os dados portáveis entre os aplicativos
• O protocolo HTTP não suporta operações específicas de um serviço
– nem os argumentos e respostas de erro das operações
– utilização de web services
• ex: site amazon.com
– pedir um livro
– verificar o estado atual de um pedido
UFGD - SD 01 - Joinvile Batista Junior 32
D : Desafios  Heterogeneidade 
1. Conceitue heterogeneidade em SD e as soluções para conviver 
com este problema.
UFGD - SD 01 - Joinvile Batista Junior 33
Heterogeneidade
• Convivência de elementos distintos
– hardware
– rede
– sistemas operacionais
– linguagens
– implementações de diferentes fabricantes
• Soluções para conviver com a heterogeneidade
– Protocolos de comunicação na Internet
• mascaram as diferenças existentes nas redes
– Camadas de Abstração complementam
• Middlewares
• Máquina Virtual Java
UFGD - SD 01 - Joinvile Batista Junior 34
Camadas de Abstração
Middleware
• Camada de software: abstração de programação
– mascara heterogeneidade do ambiente subjacente
– provê ambiente de programação uniforme
• para aplicações distribuídas
• Exemplos
– CORBA
– Java RMI
Máquina Virtual Java
• execução do mesmo código em diferentes SOs e processadores
• migração de código entre computadores: Applets
UFGD - SD 01 - Joinvile Batista Junior 35
D : Desafios  Sistemas Abertos 
1. Quais as características de Sistemas Abertos Distribuídos?
UFGD - SD 01 - Joinvile Batista Junior 36
Sistemas Abertos
Sistemas abertos
• suas principais interfaces são publicadas
– padrões estabelecidos por organizações de padronização ou por 
uso
• podem ser extendidos em relação a
– hardware : adição de novos computadores ao sistema
– software : introdução de novos serviços
• são interoperáveis com outros sistemas
Sistemas Distribuídos Abertos
• estipulação de um mecanismo de comunicação uniforme
• interfaces publicadas para acesso aos recursos compartilhados
UFGD - SD 01 - Joinvile Batista Junior 37
D : Desafios  Segurança
1. Exemplifique falhas de confidencialidade e integridade em um SD.
2. Explique o ataque de negação de serviço.
UFGD - SD 01 - Joinvile Batista Junior 38
Segurança
Segurança de Recursos de Informação tem 3 componentes
• Confidencialidade
– proteção contra acesso indevido
• Integridade
– proteção contra alteração ou corrupção
• Disponibilidade
– proteção contra interferência com os meios de acesso aos 
recursos
Desafios ainda não totalmente resolvidos
• Ataque de Negação de Serviço
– ataque massivo sobre servidores
• Segurança de Código Móvel
– evitar danospela execução de código móvel mal intencionado
UFGD - SD 01 - Joinvile Batista Junior 39
D : Desafios  Escalabilidade
1. Conceitue SD escalável e seus principais desafios.
2. Comente técnicas para suportar escalabilidade.
UFGD - SD 01 - Joinvile Batista Junior 40
Escalabilidade
• Sistema Escalável
– permanece eficiente quando há um aumento significativo no 
número de recursos e no número de usuários
• Desafios
– controlar o custo dos recursos físicos
• quantidade de recursos físicos deve ser no máximo 
proporcional ao número de usuários: O(n)
– controlar a perda de desempenho no gerenciamento de um 
conjunto de dados
• algoritmos que utilizam estruturas hierárquicas de tem 
melhor escalabilidade do que os que utilizam estruturas 
lineares de organização de dados: O(log n) < O(n)
– evitar gargalos de desempenho: algoritmos descentralizados
– prevenir escassez de recursos de software
• ex: endereços IP na internet
UFGD - SD 01 - Joinvile Batista Junior 41
Técnicas para suportar Escalabilidade
• Replicação de recursos
– dispositivos, dados e serviços
• Cashing
– armazenamento de dados recentes
• próximos ao uso
• Estruturação de serviços: visando crescimento incremental
– hierárquica
– balanceamento de carga
• Evitar centralização de
– algoritmos, dados, componentes
UFGD - SD 01 - Joinvile Batista Junior 42
D : Desafios  Concorrência
1. Conceitue concorrência e sincronização de objetos distribuídos.
UFGD - SD 01 - Joinvile Batista Junior 43
Concorrência
• Concorrência
– tentativa de acesso a recursos comuns ao mesmo tempo
• ex: lances de um leilão acessados com muita frequência
– quando o prazo final se aproxima
• Processamento concorrente
– é geralmente necessário para não degradar o desempenho
• Objetos residentes em servidores ou em aplicativos
– devem sincronizar suas operações
• para garantir consistência do estado da aplicação
• ex: semáforos para bloquear regiões críticas
– garantindo único a acesso a código que altera dados 
compartilhados
– particularmente importante
• para coleções de objetos compartilhados distribuídos
UFGD - SD 01 - Joinvile Batista Junior 44
D : Desafios  Manipulação de Falhas
1. Conceitue manipulação de falhas e comente precauções 
necessárias.
2. Conceitue detecção e mascaramento de falhas.
3. Conceitue tolerância e recuperação de falhas.
4. Comente alternativas de redundância de recursos para suportar 
tolerância a falhas.
UFGD - SD 01 - Joinvile Batista Junior 45
Manipulação de Falhas
• qualquer processo, computador ou rede pode falhar 
independentemente dos demais
– produzindo resultados incorretos
– causando interrupção do serviço
• mecanismos devem ser desenvolvidos
– para garantir correto funcionamento do sistema
• mesmo na ocorrência de falhas
• cada componente precisa conhecer
– as maneiras possíveis pelos quais os componentes de que 
depende podem falhar
– e ser projetado para tratar cada uma dessas falhas 
apropriadamente
UFGD - SD 01 - Joinvile Batista Junior 46
Técnicas para Manipulação de Falhas
Detecção de Falhas
• checksums: para detectar dados danificados em uma mensagem
• impossibilidade de detectar algumas falhas na internet
– servidor remoto danificado
• quando houver tentativa de comunicação
– a rede e o servidor podem ser suspeitos
• desafio: gerenciar ocorrência de falhas suspeitas que não podem 
ser detectadas
Mascaramento de Falhas
• ocultadas para se tornar menos sérias
– retransmissão de mensagens
– dados duplicados em par de disco
UFGD - SD 01 - Joinvile Batista Junior 47
Técnicas para Manipulação de Falhas
Tolerância a Falhas
• não seria prático tentar detectar e mascarar tudo que possa ocorrer 
em uma rede tão grande com a Internet
• exemplo de tolerância a falha
– quando um navegador não consegue contactar um servidor
• em vez de ficar tentando: deixando o usuário esperando 
indefinidamente
• informa o usuário: deixando-o livre para tentar novamente
Recuperação de Falhas
• para garantir consistência dos dados
– estado recuperado: dados recuperados
– ou retrocedido: desfazendo a transação corrente (rollback)
UFGD - SD 01 - Joinvile Batista Junior 48
Técnicas para Manipulação de Falhas
Redundância de Recursos
• serviços podem se tornar tolerantes a falhas com o uso de 
componentes redundantes
– pelo menos duas rotas entre dois roteadores na Internet
– no DNS (Domain Name System)
• toda tabela de correspondência de nomes é replicada em 
pelo menos dois servidores
– um banco de dados pode ser replicado em vários servidores
• os servidores podem ser projetados para detectar falhas em 
seus pares
• redirecionando os clientes para os servidores restantes
• desafio
– projeto de técnicas eficazes para manter réplicas atualizadas de 
dados que mudam rapidamente
• sem perda excessiva de desempenho
UFGD - SD 01 - Joinvile Batista Junior 49
D : Desafios  Transparência
1. Conceitue transparência de acesso e localização.
2. Conceitue transparência de concorrência e replicação.
3. Conceitue transparência de falhas e mobilidade.
4. Conceitue transparência de desempenho e escalabilidade.
UFGD - SD 01 - Joinvile Batista Junior 50
Transparência
• abstração de aspectos específicos
– de um sistema subjacente
• sistema é visto como um todo
– e não como uma coleção de partes
• exemplo de transparência na rede
– emails
– URLs
UFGD - SD 01 - Joinvile Batista Junior 51
Tipos de Transparência
• Acesso
– sem necessidade de distinguir acesso local de remoto
• Localização
– sem a necessidade de conhecer a localização do recurso
• Concorrência
– sem interferência entre acessos simultâneos
• Replicação
– uso de múltiplas cópias de um recurso sem usuário perceber
• Falhas
– mascara falhas e completa serviço
• Mobilidade
– movimento de recursos e clientes dentro de um sistema sem 
afetar aplicações
• Desempenho
– reconfiguração dinâmica do sistema e adaptabilidade
• Escalabilidade
– expansão em escala sem impactar estrutura ou algoritmos

Continue navegando