You are on page 1of 111

Sistemas Distribudos

Prof. Silvio Amarante


samarante@fanor.edu.br

Objetivos

Modelar problemas e solues atravs do estudo de casos


em sala de aula.
Desenvolver aplicaes na
pequenas e medias empresas.

forma

distribuda

para

Elaborar servios web para pequenas e mdias empresas.


Especificar problemas e solues atravs do estudo de
casos em sala de aula.
Prof. Silvio Amarante

Bibliografia

Sistemas Distribudos - Conceitos e


Projeto - 5 Ed. 2013 - George
Coulouris, Tim Kindberg, Jean
Dollimore

Andrew S. Tanembaum, Sistemas


Distribudos,.
Princpios
e
Paradigmas 2 edio

Prof. Silvio Amarante

Avaliao

Nota da AP1:

Prova (60 %)

Trabalho + exerccios (40%) *

Nota da AP2:

Prova (50 %)

Trabalho + exerccios (50%) *


*Estudo Independente e trabalhos participaram da composio da prova substitutiva

Prof. Silvio Amarante

Avaliao

Trabalhos:
Para a AP1 (pode ser em duplas, sendo que a diviso nos temas dever ser
proporcional):

Temas:
Criar um bate-papo para a comunicao entre duas pessoas, utilizando
os conceitos de RPC e RMI atravs da linguagem de programao Java.
Elaborar um jogo similar ao pong (https://www.youtube.com/watch?
v=SHsYjWm8XSI), onde os jogadores esto em computadores diferentes
e em cada tela mostrada a tela completa e os movimentos do outro
jogador. (deve-se utilizar os conceitos de sistemas distribudos)
Dever ser entregue uma documentao, descrevendo os conceitos de
sistemas distribudos empregados. Alm disso, dever ser entregue uma
documentao tcnica do projeto (tecnologias utilizadas, processo de
execuo etc).
Entrega: 15/10/2015 (incluindo apresentao)
Prof. Silvio Amarante

Avaliao
Trabalhos:

Para a AP2 (pode ser em grupos de 4 pessoas):

Temas:
Descobrir como o bittorrent funcionar e construir uma aplicao similar.
Construir um mecanismo para automaticamente detectar e prevenir a queda da rede
ou outro trfego indesejado tal como ataques de negao de servio distribudo. Uma
dica tentar correlacionar o trfego de rede observado de diferentes pontos.
Editor de documentos compartilhado, similar ao Google Docs. O sistema dever
suporta edies em tempo real e a visualizao por mltiplos participantes. Mltiplas
rplicas devero ser mantidas para tolerncia a falhas. Cache e/ou migrao podero
ser teis para minimizar o tempo de resposta da aplicao.
Implemente um sistema de distribuio de arquivos de alguma coisa do seu interesse.
Talvez voc queira armazenar MP3 ou filmes. Ou talvez, algo inteiramente diferente.
Elaborar um sistema de fornecimento de rotas similar aos aplicativos Google Maps e
Waze, onde os clientes do sistema enviaram mensagens sobre as posies onde se
encontram e o sistema poder processar informaes teis, como engarrafamentos,
batidas, etc.
Dever ser entregue uma documentao, descrevendo os conceitos de sistemas
distribudos empregados. Alm disso, dever ser entregue uma documentao tcnica
do projeto (tecnologias utilizadas, processo de execuo etc).
Prof.
Silvio Amarante
6
Entrega: 10/12/2015 (incluindo
apresentao)

Dvidas

Prof. Silvio Amarante

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

Como voc definiria um


Distribudo? D exemplos.

Prof. Silvio Amarante

Sistema

Introduo

Um Sistema Distribudo aquele no qual os componentes


(hardware e software) localizados em computadores
interligados em rede se comunicam e coordenam suas aes
apenas trocando mensagens.
Exemplos:

a Internet

uma Intranet

computao mvel e ubqua

Qual seria o principal motivador para se ter um sistema


distribudo?

Compartilhamento de recursos
Prof. Silvio Amarante

10

Introduo

Redes de computadores: Internet, redes de telefones


mveis, redes corporativas, redes de veculos etc

Todas compartilham caractersticas bsicas

Computadores conectados podem estar separados por


qualquer distncia

Prof. Silvio Amarante

11

Introduo

Consequncias da definio utilizada:

Concorrncia: execuo concorrente de programas

Ex: Google Drive


A capacidade de manipular recursos compartilhados
pode ser ampliada pela adio de mais recursos
na rede.
A coordenao de programas em execuo
concorrente

Prof. Silvio Amarante

12

Introduo

Consequncias da definio utilizada:

Inexistncia de relgio global: quando programas


precisam cooperar, eles coordenam suas aes
trocando mensagens.

A coordenao frequentemente depende da noo


compartilhada de tempo em que as aes dos
programas ocorrem.
Limites de preciso para sincronizao de relgios
em uma rede - No existe uma noo global nica
do tempo correto
Prof. Silvio Amarante

13

Introduo

Consequncias da definio utilizada:

Falhas independentes: todos os sistemas de


computador podem falhar e responsabilidade dos
projetistas de sistema pensar na consequncia de
possveis falhas

Falhas nas redes => isolamento dos computadores


Impacto da falha de um computador ou trmino
inesperado de um programa

Prof. Silvio Amarante

14

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

15

Exemplos de sistemas distribudos


Finanas e
Comrcio
A sociedade
Informao

Ecommerce. Ex: Amazon e eBay, PayPal, internet


baking
da Mecanismos de busca na Web, ebooks, Wikipedia;
redes sociais: Facebook and MySpace.

Setores de criao Jogos online, msicas e filmes emcasa, contedo


e entretenimento
gerado por usurios. Ex: YouTube, Flickr
Assitncia Mdica
Informatizao da sade, registros de pacientes
online, monitoramento de pacientes
Educao
e-learning,
ambientes de aprendizagem virtual;
educao a distncia
Transporte e
Sistema de descoberta utilizando GPS, servios de
logstica
mapas: Google Maps, Google Earth
Cincia
Surgimento das grades computacionais para
colaborao entre cientistas
Gerenciamento
Tecnologia
Prof. de
Silviosensores
Amarante para monitorar terremotos,
16
Ambiental
enchentes e tsunamis

Exemplos de sistemas distribudos

Pesquisa na Web:

A tarefa de um mecanismo de pesquisa na Web


indexar todo o contedo da World Wide Web,
abrangendo uma grande variedade de estilos de
informao, incluindo pginas Web, fontes de
multimdia e livros (escaneados).

Mecanismos de busca analisa todo o contedo da


Web e depois efetua um processamento sofisticado
nesse banco de dados.

Prof. Silvio Amarante

17

Exemplos de sistemas distribudos

Pesquisa na Web:

Caractersticas do sistema distribudo empregado pela


google:

Datacenters espalhados pelo mundo


Sistema de arquivos distribudo projetado
Sistema associado de armazenamento distribudo
estruturado
Um servio de bloqueio
Modelo
de
programao
que
suporta
o
gerenciamento de clculos paralelos e distribudos
Prof. Silvio Amarante

18

Exemplos de sistemas distribudos

Pesquisa na Web:

Alguns vdeos interessantes:


https://www.youtube.com/watch?v=XZmGGAbHqa0
https://www.youtube.com/watch?v=qRF_tZkV2TY
https://www.youtube.com/watch?v=tAEep3x-Nf0
Curso para entender o funcionamento de um
mecanismo de busca (apenas introdutrio):

https://www.udacity.com/course/intro-to-computerscience--cs101
Prof. Silvio Amarante

19

Algum jogo algum jogo online?

Prof. Silvio Amarante

20

Exemplos de sistemas distribudos

Massively Multiplayer Online Games (MMOGs):

Oferecem uma experincia imersiva em um mundo virtual


persistente pela Internet

Mercado crescente: aumento na capacidade de suporte de


usurios simultneos

Quais desafios esto relacionados a esse exemplo?

Necessidade de tempos de resposta rpidos


Propagao de eventos em tempo real para muitos
jogadores
Manuteno de uma viso coerente do mundo
compartilhado
Prof. Silvio Amarante

21

Exemplos de sistemas distribudos

Massively Multiplayer Online Games (MMOGs):

Solues propostas para o MMOGs:

Arquitetura cliente-servidor com uma nica cpia


do estado do mundo mantida por um servidor
centralizado
Utilizao
de uma arquitetura agregada
(cluster)
Tem o objetivo de garantir resposta rpida por
meio da otimizao de protocolos de rede e
tambm para os eventos recebidos
Prof. Silvio Amarante

22

Exemplos de sistemas distribudos

Massively Multiplayer Online Games (MMOGs):

Solues propostas para o MMOGs:

Arquitetura distribuda, com


computadores
podendo estar geograficamente distribudos.
Usurios alocados dinamicamente de acordo
com os padres de uso e pelos atrasos de rede
at o servidor.

Prof. Silvio Amarante

23

Exemplos de sistemas distribudos

Massively Multiplayer Online Games (MMOGs):

Solues propostas para o MMOGs:

Arquitetura
Peer-to-peer,
totalmente
descentralizada, onde cada participante contribui
com recursos (armazenamento e processamento)
para hospedar o jogo.

Prof. Silvio Amarante

24

Exemplos de sistemas distribudos

Negcios Financeiros:

Setor na vanguarda dos sistemas distribudos

Necessidade de acesso em tempo real de uma variedade


de fontes de informao

Monitoramento automatizado dessas informaes

nfase:

comunicao e processamento de informaes de


interesse
Necessidade de distribuio de eventos de forma
confivel a uma grande quantidade de usurios
Prof. Silvio Amarante

25

Exemplos de sistemas distribudos

Negcios Financeiros:
Estratgias de negociao

Prof. Silvio Amarante

26

Exemplos de sistemas distribudos

Negcios Financeiros:

Sobre a figura anterior:

Ilustra o problema da heterogeneidade encontrado


na maioria dos sistemas distribudos.
Utilizao de conversores
Necessidade de lidar com uma variedade de fluxos,
todos chegando em alta velocidade e exigindo
processamento em tempo real para se detectar
padres que indiquem oportunidades de
negcios.
Prof. Silvio Amarante

27

Exemplos de sistemas distribudos

Negcios Financeiros:

WHEN
MSFT price moves outside 2% of MSFT Moving Average
FOLLOWED-BY (
MyBasket moves up by 0.5%
AND
HPQs price moves up by 5%
OR
MSFTs price moves down by 2%
)
ALL WITHIN
any 2 minute time period
THEN
BUY MSFT
SELL HPQ
Prof. Silvio Amarante

28

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

29

Tendncias em sistemas distribudos

Tendncias influentes nos sistemas distribudos:

O surgimento da tecnologia de redes pervasivas

O surgimento da computao ubqua, combinado ao


desejo de suportar mobilidade do usurio em SD

A crescente demanda por servios multimdia

A viso dos sistemas distribudos como um servio


pblico.

Prof. Silvio Amarante

30

Tendncias em sistemas distribudos

Internet em rede pervasiva e a Internet moderna:

A Internet moderna pode ser definida como um conjunto de


redes de computadores, de muitos tipos diferentes, interligadas
A interligao das redes se tornou um recurso pervasivo
(qualquer momento/qualquer lugar)
Os computadores conectados ela interagem atravs da troca
de mensagens atravs de um meio de comunicao comum.

Como essas aplicaes conseguem se comunicar entre os


diferentes computadores?

Protocolos da Internet

Prof. Silvio Amarante

31

Qual a diferena entre Web e Internet?


Elas so a mesma coisa?

Prof. Silvio Amarante

32

Tendncias em sistemas distribudos

Internet em rede pervasiva e a Internet moderna:


intranet

ISP

backbone

satellite link
desktop computer:
server:
network link:

Prof. Silvio Amarante

33

Tendncias em sistemas distribudos

Internet em rede pervasiva e a Internet moderna:

Intranets so normalmente protegidas por firewalls:

Firewall tem a funo de proteger a intranet,


impedindo a entrada ou sada de mensagens no
autorizadas.
Podem ser problemticos, bloqueando o acesso
legtimo a servios, quando necessrio o
compartilhamento de recursos entre os usurios
internos e externos.

Prof. Silvio Amarante

34

Tendncias em sistemas distribudos

Internet em rede pervasiva e a Internet moderna:

As empresas responsveis pelo fornecimento de Internet so


denominados de provedores de servio de Internet (Internet
Service Providers ISPs)

Para a conexo das diversas intranets que compem a Internet,


so utilizados os backbones
Um backbone um enlace com uma alta capacidade de
transmisso

Podem utilizar vrios meios: satlite, fibra ptica etc


Limitao da Internet atual:

Baixa capacidade de tratar requisitos especiais da comunicao


de dados multimdia
Prof. Silvio Amarante

35

O
que
vocs
entendem
por
computao mvel e computao
ubqua?

Prof. Silvio Amarante

36

Tendncias em sistemas distribudos

Computao mvel e ubqua:

A miniaturizao de dispositivos e a interligao em


rede sem fio tem levado a integrao de
equipamentos de computao pequenos e portteis
com sistemas distribudos.
Ex: Notebooks, Smartphones, PDA
A computao mvel tornou-se possvel pela
portabilidade dos dispositivos e sua capacidade de
conexo em diferentes locais

Prof. Silvio Amarante

37

Tendncias em sistemas distribudos

Computao mvel e ubqua:

Computao mvel a execuo de tarefas de


computao enquanto o usurio est se deslocando de
um lugar a outro ou visitando lugares diferentes de seu
ambiente usual (intranets de base).

Pode possibilitar que os usurios se conectem a impressoras


ou pontos de venta convenientemente prximos

Possibilidade conhecida como computao com


reconhecimento de localizao ou com reconhecimento de
contexto
Prof. Silvio Amarante

38

Quais as limitaes da computao


mvel?

Prof. Silvio Amarante

39

Tendncias em sistemas distribudos

Computao mvel e ubqua:

Computao ubqua (tambm chamada de pervasiva)


a utilizao de vrios dispositivos computacionais
pequenos e baratos, que esto presentes nos ambientes
fsicos dos usurios, incluindo casas, escritrios etc

O termo pervasivo se destina a sugerir que pequenos


equipamentos de computao finalmente se tornaro to
entranhados nos objetos dirios que mal sero notados
(transparente e intimamente vinculado sua funo fsica.

Por sua vez, o termo ubquo d a noo de que o acesso a


servios de computao est onipresente, isto , disponvel em
qualquer lugar.
Prof. Silvio Amarante

40

Tendncias em sistemas distribudos

Computao mvel e ubqua:

Quais concluses voc pode tirar desse cenrio?

Prof. Silvio Amarante

41

Tendncias em sistemas distribudos

Computao mvel e ubqua:

Esse cenrio demonstra a necessidade de suportar


operao conjunta espontnea, por meio da qual
associaes entre dispositivos so criadas e
destrudas rotineiramente.

O principal desafio que se aplica a tais situaes


tornar a operao conjunta rpida e conveniente
(isto , espontnea)

Prof. Silvio Amarante

42

Tendncias em sistemas distribudos

Sistema Multimdia Distribudos:

Multimdia capacidade de suportar diversas formas


de mdia de maneira integrada.

Funes de um sistema multimdia distribudo:

Executar as mesmas funes para fluxos contnuos


Localizar e armazenar arquivos de udio e vdeo
Suportar a apresentao das mdias para os
usurios
Compartilhar mdias com um grupo de usurios
Prof. Silvio Amarante

43

Tendncias em sistemas distribudos

Sistema Multimdia Distribudos:

Tipos de mdia contnuos


Inclue uma dimenso temporal preservao das
relaes entre elementos em tempo real
Limitao da arquitetura atual da Internet em oferecer
suporte a essa demanda.

Um exemplo desse tipo de sistema seria o Webcasting

Prof. Silvio Amarante

44

Tendncias em sistemas distribudos

Sistema Multimdia Distribudos:

Exigncias impostas:

Dar suporte a uma variedade (extensvel) de


formatos de codificao e criptografia
Fornecer mecanismos que garantam a qualidade
desejada
Fornecer estratgias de gerenciamento de recursos
associadas
Fornecer estratgias de adaptao para lidar com a
inevitvel situao
Prof. Silvio Amarante

45

O que significa a computao


distribuda como um servio pblico?

Prof. Silvio Amarante

46

Tendncias em sistemas distribudos

Computao distribuda como um servio pblico:

Recursos so supridos por fornecedores de servio


apropriados e efetivamente alugados

Modelo aplicado tanto para recursos fsicos como lgicos:

Recursos fsicos disponibilizados a partir da Internet


como, por exemplo, armazenamento e processamento
Emprego da tcnica de virtualizao do sistema
operacional, proporcionando maior flexibilidade ao
fornecedor de servios em termo de gerenciamento
de recursos
Servios de software
Prof. Silvio Amarante

47

Como voc conceituaria computao


em nuvem? Ela um sistema
distribudo?
vdeo

Prof. Silvio Amarante

48

Tendncias em sistemas distribudos

Computao distribuda como um servio pblico:

Computao em nuvem usado para capturar essa


viso da computao como um servio pblico

Uma nuvem definida como um conjunto de


servios
de
aplicativo,
armazenamento
e
computao baseados na Internet, sendo
geralmente implantadas em clusters.
O termo tambm promove a viso de tudo como
uma infraestrutura fsica ou virtual por meio de
software, frequentemente pago com base na
utilizao, em vez de aquisio.
Prof. Silvio Amarante

49

Tendncias em sistemas distribudos

Computao distribuda como um servio pblico:

Prof. Silvio Amarante

50

O que seria a computao em grade?


Qual a sua relao com computao
em nuvem?

Prof. Silvio Amarante

51

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

52

Enfoque no compartilhamento de recursos

Frequentemente, observa-se o compartilhamento de


recursos fsicos visando reduo de custos. Ex:
Impressora
Em um nvel de abstrao mais alto, tem-se o
compartilhamento de informaes necessrias as
aplicao utilizadas no dia-a-dia.

Exemplos:

Mecanismo de busca Web


Trabalho cooperativo apoiado por computador (Ex:
Drive)
Prof. Silvio Amarante

53

Como voc definiria um servio?

Prof. Silvio Amarante

54

Enfoque no compartilhamento de recursos

O termo servio usado para designar uma parte distinta


de um sistema computacional que gerencia um conjunto
de recursos relacionados e apresenta sua funcionalidade
para usurios e aplicativos.

Ex: servio de impresso, servio de sistema de


arquivos etc

O nico acesso que temos ao servio por intermdio do


conjunto de operaes que ele exporta

Prof. Silvio Amarante

55

Como podemos relacionar o conceito


de servio com sistema distribudo?

Prof. Silvio Amarante

56

Enfoque no compartilhamento de recursos

Em um sistema distribudo, os recursos so fisicamente


encapsulados dentro dos computadores e s podem ser
acessados a partir de outros computadores por intermdio
de mecanismos de comunicao.

Que mecanismos so esses?

Prof. Silvio Amarante

57

Enfoque no compartilhamento de recursos

Arquitetura cliente-servidor

O que seria um requisio remota?


Prof. Silvio Amarante

58

Exerccios
1. Cite cinco tipos de recurso de hardware e cinco tipos de recursos de dados ou de software
que possam ser compartilhados com sucesso. D exemplos prticos de seu
compartilhamento em sistemas distribudos.
2. Como os relgios de dois computadores ligados por uma rede local podem ser
sincronizados sem referncia a uma fonte de hora externa? Quais fatores limitam a preciso
do procedimento que voc descreveu? Como os relgios de um grande nmero de
computadores conectados pela Internet poderiam ser sincronizados? Discuta a preciso
desse procedimento.
3. Considere as estratgias de implementao de MMOG (massively multiplayer online
games) discutidas na Seo 1.2.2. Em particular, quais vantagens voc v em adotar a
estratgia de servidor nico para representar o estado do jogo para vrios jogadores? Quais
problemas voc consegue identificar e como eles poderiam ser resolvidos?
4. Um usurio chega a uma estao de trem que nunca havia visitado, portando um PDA
capaz de interligao em rede sem fio. Sugira como o usurio poderia receber informaes
sobre servios locais e comodidades dessa estao, sem digitar o nome ou os atributos da
estao. Quais desafios tcnicos devem ser superados?
5. Compare e contraste a computao em nuvem com a computao cliente-servidor mais
tradicional. O que h de novo em relao computao em nuvem como conceito?

Prof. Silvio Amarante

59

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

60

Desafios

Heterogeneidade:

A Internet permite aos usurios acessarem servios e


executarem aplicativos por meio de um conjunto
heterogneo de computadores e redes.

Se aplica a:

Redes
Hardware de computador
Sistemas operacionais
Linguagens de programao
Implementaes de diferentes desenvolvedores
Prof. Silvio Amarante

61

Desafios

Heterogeneidade:

Com relao as redes de computadores, as diferenas so


mascaradas pelo fato de todos os computadores ligados a elas
utilizarem protocolos Internet para se comunicar.

Os tipos de dados inteiros podem ser representados de


diversas maneiras no hardware:
Iniciando do byte mais a esquerda ou do byte mais a direita

Diferena deve ser considerada no momento da troca de


mensagens entre programas
Os programas escritos por diferentes desenvolvedores no
podem se comunicar, a menos que utilizem padres comuns

Prof. Silvio Amarante

62

O que um middleware?

Prof. Silvio Amarante

63

Desafios

Heterogeneidade:

O termo middleware se aplica a uma camada de software que


fornece uma abstrao de programao, assim como o
mascaramento da heterogeneidade das redes, do hardware, dos
sistemas operacionais e das linguagens de programao
subjacentes

Todo middleware, em si, trata das diferenas em nvel dos sistemas


operacionais e do hardware

O middleware fornece um modelo computacional uniforme para


ser usado pelos programadores de servios e de aplicativos
distribudos. (Qual seria um exemplo disso na programao?)

Os modelos possveis incluem a invocao remota de objetos, a


notificao remota de eventos, o acesso remoto a banco de
dados e o processamento de transao distribudo
Prof. Silvio Amarante

64

Voc j utilizou alguma aplicao que


tivesse migrao de cdigo?

Prof. Silvio Amarante

65

Qual o problema relacionado a


migrao
de
cdigo
e
a
heterogeneidade?

Prof. Silvio Amarante

66

Desafios

Sistemas Abertos:

Diz-se que um sistema computacional aberto quando


ele pode ser estendido e reimplementado de vrias
maneiras.

A caracterstica de sistema aberto so aqueles que


possuem as principais interfaces so publicadas
(especificao e documentao).

O maior desafio para os projetistas encarar a


complexidade de sistemas distribudos compostos
por muitos componentes e elaborados por diferentes
pessoas
Prof. Silvio Amarante

67

Qual a importncia das RFCs para


a arquitetura da Internet?

Prof. Silvio Amarante

68

Desafios

Sistemas Abertos:

Projetistas da Internet elaboraram as RFCs buscando a


padronizao

Dessa forma, com a publicao dos protocolos de


comunicao Internet, permitiu-se a construo de
uma variedade de sistemas e aplicativos para a
Internet, incluindo a Web.

Os sistemas projetados a partir de padres pblicos


so chamados de sistemas distribudos abertos,
para reforar o fato de que eles so extensveis
Prof. Silvio Amarante

69

Desafios

Segurana:

Alguns recursos de informao possuem um alto valor


intrnseco para os usurios, onde a segurana
considerado um fator importante

Componentes da segurana da informao:

Confidencialidade
Integridade
Disponibilidade

Prof. Silvio Amarante

70

Qual a limitao do firewall na


garantia
da
segurana
da
informao?

Prof. Silvio Amarante

71

Desafios

Segurana:

no garante o uso apropriado dos recursos pelos usurios de


dentro da intranet, nem o uso apropriado dos recursos na
Internet

Em sistemas distribudos, os clientes trocam mensagens para


acessar os servios.

Cenrios:

Um mdico poderia solicitar acesso aos dados dos pacientes


de um hospital ou enviar mais informaes sobre esses
pacientes.
No comrcio eletrnico e nos servios bancrios, os usurios
enviam seus nmeros de carto de crdito pela Internet.
Prof. Silvio Amarante

72

Desafios

Segurana:

Desafios:

enviar informaes sigilosas em uma ou mais


mensagens, por uma rede, de maneira segura.
Ocultao da informao
Identificar corretamente um usurio ou outro agente
remoto
Saber com certeza a identidade do usurio

Prof. Silvio Amarante

73

Desafios

Segurana:

Desafios de segurana ainda em aberto:

Ataque de negao de servio (Denial of Service):


ocorre quando um usurio interrompe um servio por
algum motivo. Isso pode ser conseguido bombardeando
o servio com um nmero to grande de pedidos sem
sentido, que os usurios srios no so capazes de
utiliz-lo
Segurana de cdigo mvel: um cdigo mvel precisa
ser manipulado com cuidado. Considere algum que
receba um programa executvel como um anexo de
correio eletrnico: os possveis efeitos da execuo do
programa so imprevisveis
Prof. Silvio Amarante

74

O que a escalabilidade trata?

Prof. Silvio Amarante

75

Desafios

Escalabilidade:

Um sistema descrito como escalvel se permanece


eficiente quando h um aumento significativo no
nmero de recursos e no nmero de usurios.

Prof. Silvio Amarante

76

Desafios

Escalabilidade:

O projeto de sistemas distribudos escalveis apresenta os


seguintes desafios:
Controlar o custo dos recursos fsicos (Ex: servidores de
arquivo)

Controlar a perda de desempenho (Ex: DNS)

Impedir que os recursos de software se esgotem (EX:


endereo IP)

Evitar gargalos de desempenho: os algoritmos devem ser


descentralizados para evitar a existncia de gargalos de
desempenho (EX: DNS)
De preferncia, o software de sistema e de aplicativo no deve
mudar quando a escala do sistema aumentar, mas isso
difcil de conseguir

Prof. Silvio Amarante

77

Quais as aes so tomadas quando


o servidor da empresa para de
funcionar?

Prof. Silvio Amarante

78

Desafios

Tratamento de Falhas:

Quando ocorrem falhas no hardware ou no software,


os programas podem produzir resultados incorretos
ou podem parar antes de terem concludo a
computao pretendida

As falhas em um sistema distribudo so parciais


isto , alguns componentes falham, enquanto outros
continuam funcionando

Prof. Silvio Amarante

79

Desafios

Tratamento de Falhas:

Tcnicas para o tratamento de falhas:

Deteco de falhas
O desafio gerenciar a ocorrncia de falhas que no
podem ser detectadas, mas que podem ser suspeitas.
Mascaramento de falhas: algumas falhas detectadas
podem ser ocultas ou se tornar menos srias. Exemplos:
Mensagens podem ser retransmitidas quando no
chegam.
Dados de arquivos podem ser gravados em dois
discos, para que, se um estiver danificado, o outro
ainda possa estar correto
Prof. Silvio Amarante

80

Desafios

Tratamento de Falhas:

Tcnicas para o tratamento de falhas:

Tolerncia a falhas:
Seus clientes podem ser projetados de forma a
tolerar falhas, o que geralmente envolve a
tolerncia tambm por parte dos usurios
Exemplo: quando um navegador no consegue
contatar um servidor Web

Prof. Silvio Amarante

81

Desafios

Tratamento de Falhas:

Tcnicas para o tratamento de falhas:

Recuperao de falhas: a recuperao envolve projetar


software de modo que o estado dos dados permanentes
possa ser recuperado ou retrocedido aps a falha de
um servidor
Redundncia: os servios podem se tornar tolerantes a
falhas com o uso de componentes redundantes
Sempre deve haver pelo menos duas rotas diferentes
entre dois roteadores quaisquer na Internet.
O projeto de tcnicas eficazes para manter rplicas
atualizadas de dados que mudam rapidamente, sem
perda de desempenho excessiva, um desafio
Prof. Silvio Amarante

82

Desafios

Tratamento de Falhas:

Os sistemas distribudos fornecem um alto grau de


disponibilidade perante falhas de hardware.

A disponibilidade de um sistema a medida da


proporo de tempo em que ele est pronto para
uso.

Quando um dos componentes de um sistema


distribudo falha, apenas o trabalho que estava usando
o componente defeituoso afetado.

Prof. Silvio Amarante

83

Qual o problema da concorrncia em


sistemas distribudos?

Prof. Silvio Amarante

84

Desafios

Concorrncia:

Tanto os servios como os aplicativos fornecem


recursos que podem ser compartilhados pelos clientes
em um sistema distribudo

Clientes tentem acessar um recurso compartilhado


ao mesmo tempo

O processo que gerencia um recurso compartilhado


poderia aceitar e tratar um pedido de cliente por vez

Qual o problema dessa abordagem?

Prof. Silvio Amarante

85

Desafios

Concorrncia:

Para evitar a perda de desempenho, os servios e


aplicativos geralmente permitem que vrios pedidos de
cliente sejam processados concorrentemente
Qual o problema dessa abordagem?
Dessa forma, qualquer objeto que represente um
recurso compartilhado em um sistema distribudo deve
ser responsvel por garantir que ele opere
corretamente em um ambiente concorrente.

Tcnicas empregadas em S.O. podem auxiliar nesse


processo (Ex: semforos)
Prof. Silvio Amarante

86

Desafios

Transparncia:

A transparncia definida como a ocultao, para


um usurio final ou para um programador de
aplicativos, da separao dos componentes em um
sistema distribudo, de modo que o sistema seja
percebido como um todo, em vez de como uma
coleo de componentes independentes

Prof. Silvio Amarante

87

Desafios

Transparncia:

Segundo a ANSA Reference Manual, existem oito formas de


transparncias:

Transparncia de acesso permite que recursos locais e


remotos sejam acessados com o uso de operaes
idnticas.
Transparncia de localizao permite que os recursos
sejam acessados sem conhecimento de sua localizao
fsica ou em rede (por exemplo, que prdio ou endereo
IP).
Transparncia de concorrncia permite que vrios
processos operem concorrentemente, usando recursos
compartilhados sem interferncia entre eles.
Prof. Silvio Amarante

88

Desafios

Transparncia:

Segundo a ANSA Reference Manual, existem oito formas de


transparncias:

Transparncia de replicao permite que vrias instncias


dos recursos sejam usadas para aumentar a confiabilidade e o
desempenho, sem conhecimento das rplicas por parte dos
usurios ou dos programadores de aplicativos.
Transparncia de falhas permite a ocultao de falhas,
possibilitando que usurios e programas aplicativos concluam
suas tarefas, a despeito da falha de componentes de hardware
ou software.
Transparncia de mobilidade permite a movimentao de
recursos e clientes dentro de um sistema, sem afetar a
operao de usurios ou de programas.
Prof. Silvio Amarante

89

Desafios

Transparncia:

Segundo a ANSA Reference Manual, existem oito


formas de transparncias:

Transparncia de desempenho permite que o


sistema seja reconfigurado para melhorar o
desempenho medida que as cargas variam.
Transparncia de escalabilidade permite que o
sistema e os aplicativos se expandam em escala,
sem alterar a estrutura do sistema ou os algoritmos
de aplicao.
Prof. Silvio Amarante

90

Desafios

Transparncia:

Cenrios:

Os nomes de recurso na Web, isto , os URLs


Considere o uso de uma interface grfica em um
sistema de arquivo que organiza diretrios e
subdiretrios em pastas (Ex: Windows Explorer)
Uso de um endereo de correio eletrnico, como
samarante@fanor.edu.br
Envio:
Entrega
Prof. Silvio Amarante

91

Desafios

Transparncia:
Cenrios:

Os nomes de recurso na Web, isto , os URLs

Transparncia de localizao

No possui transparncia de mobilidade (links), nem transparncia de


replicao
Considere o uso de uma interface grfica em um sistema de arquivo que
organiza diretrios e subdiretrios em pastas (Ex: Windows Explorer)

Transparncia de acesso
Uso
de
um
endereo
de
correio
eletrnico,
como
samarante@fanor.edu.br

Envio:

Transparncia de rede (acesso e localizao)

Entrega

Transparncia de falhas
Prof. Silvio Amarante

92

Desafios

Transparncia:

O uso dos diferentes tipos de transparncia oculta e


transforma em annimos os recursos que no tm
relevncia direta para a execuo de uma tarefa por
parte de usurios e de programadores de aplicativos.

Prof. Silvio Amarante

93

Quais
critrios
voc
relacionado a qualidade
servio?

Prof. Silvio Amarante

analisa
de um

94

Desafios

Qualidade de servio:

As principais propriedades no funcionais dos sistemas


que afetam a qualidade do servio experimentada
pelos clientes e usurios so:

Confiabilidade
Segurana
Desempenho
Adaptabilidade
Disponibilidade
Prof. Silvio Amarante

95

Desafios

Qualidade de servio:

O aspecto do desempenho da qualidade de servio foi


definido originalmente em termos da velocidade de
resposta e do rendimento computacional, mas foi
redefinido em termos da capacidade de satisfazer
garantias de pontualidade
Aplicativos multimdia
Quando as redes esto muito carregadas, seu
desempenho pode se deteriorar e no dada
nenhuma garantia

Prof. Silvio Amarante

96

Agenda
1)Introduo
2)Exemplos de Sistemas Distribudos
3)Tendncias em Sistemas Distribudos
4)Enfoque no compartilhamento de recursos
5)Desafios
6)Estudo de caso: a World Wide Web

Prof. Silvio Amarante

97

Estudo de caso: A World Wide Web

A World Wide Web um sistema em evoluo para a


publicao e para o acesso a recursos e servios pela Internet
Uma caracterstica importante da Web que ela fornece uma
estrutura de hipertexto entre os documentos que armazena,
refletindo a necessidade dos usurios de organizar seus
conhecimentos
A Web um sistema aberto: ela pode ser ampliada e
implementada de novas maneiras, sem perturbar a
funcionalidade j existente.
A operao da Web baseada em padres de comunicao e
de documentos livremente publicados
Prof. Silvio Amarante

98

Estudo de caso: A World Wide Web

Os navegadores so projetados de maneira a acomodar


nova funcionalidade de apresentao de contedo, na
forma de aplicativos auxiliares e plugins
Arquitetura bsica da Web:

HTML (HyperText Markup Language)

URLs (Uniform Resource Locators)

Uma arquitetura cliente-servidor (utilizado o protocolo


HTTP)

Prof. Silvio Amarante

99

Estudo de caso: A World Wide Web


Navegadores

Servidores Web
www.google.com

http://www.google.comlsearch?q=obama

Internet

www.cdk5.net

http://www.cdk5.net/

www.w3c.org
File system of
www.w3c.org

http://www.w3.org/standards/faq.html#conformance
standards

faq.html

Prof. Silvio Amarante

100

Estudo de caso: A World Wide Web

HTML:

A HyperText Markup Language


usada para
especificar o texto e as imagens que compem o
contedo de uma pgina Web e para especificar como
eles so dispostos e formatados para apresentao ao
usurio

O navegador l o contedo retornado pelo servidor e o


apresenta como um texto formatado com as imagens
que o compe, disposto em uma pgina Web na forma
que conhecemos
Prof. Silvio Amarante

101

Estudo de caso: A World Wide Web

URL:

O objetivo de um URL (Uniform Resource Locator)


[www.w3.org III] identificar um recurso.

Na verdade, o termo usado em documentos que descrevem


a arquitetura da Web URI (Uniform Resource Identifier)

Todo URL, em sua forma completa e absoluta, tem dois


componentes de nvel superior:
esquema: identificador-especfico-do-esquema
Com isso, h uma flexibilidade maior para utilizar/testar
novos protocolos

Prof. Silvio Amarante

102

Estudo de caso: A World Wide Web

URL:

Em geral, os URLs HTTP so da seguinte forma:

http:// nomedoservidor [:porta] [/nomedeCaminho] [?


consulta][ #fragmento]

Prof. Silvio Amarante

103

O que vocs lembram do protocolo


HTTP?

Prof. Silvio Amarante

104

Estudo de caso: A World Wide Web

HTTP:

O protocolo HyperText Transfer Protocol define as


maneiras pelas quais os navegadores e outros tipos de
cliente interagem com os servidores Web

Caractersticas:

Interaes requisio-resposta
Tipos de Contedo
Um recurso por requisio
Controle de acesso simplificado
Prof. Silvio Amarante

105

Como as pginas dinmicas so


geradas?

Prof. Silvio Amarante

106

Estudo de caso: A World Wide Web

Pginas Dinmicas:

Um programa que os servidores Web executam para


gerar contedo para seus clientes referido como
programa CGI (Common Gateway Interface).

Um programa CGI pode ter qualquer funcionalidade


especfica do aplicativo, desde que possa analisar os
argumentos fornecidos pelo cliente e produzir contedo
do tipo solicitado (normalmente, texto HTML)

Prof. Silvio Amarante

107

Estudo de caso: A World Wide Web

Pginas Dinmicas:

Prof. Silvio Amarante

108

Estudo de caso: A World Wide Web

Cdigo Baixado:

Cdigo relacionado ao servio que ser executado pelo


navegador no computador do usurio.

Javascript, Applets etc


Servios Web:

Outros programas, alm dos navegadores, tambm


podem ser clientes Web; na verdade, o acesso por
meio de programas aos recursos da Web muito
comum

Utilizao de XML
Prof. Silvio Amarante

109

Dvidas

Prof. Silvio Amarante

110

Referncias

Sistemas Distribudos - Conceitos e Projeto - 5 Ed. 2013 George Coulouris, Tim Kindberg, Jean Dollimore
Andrew S. Tanembaum, Sistemas Distribudos,. Princpios
e Paradigmas 2 edio

Prof. Silvio Amarante

111

You might also like