Buscar

ARQUITETURA DE SISTEMAS DISTRIBUIDOS (4)

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 30 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 30 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 30 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

- 1 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS
Prof. Cesar Augusto Tacla
http://www.dainf.ct.utfpr.edu.br/~tacla
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
PR
- 2 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 22
Sumário
1. Definição de arquitetura
2. Arquiteturas típicas
a. Cliente-servidor
b. Cliente-servidor em cadeia e servidores replicados
c. Cliente-servidor com código móvel
d. Peer-to-peer
- 3 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 33
Sumário
DEFINIÇÃO DE ARQUITETURA
1
- 4 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 44
Arquitetura
◊ O que é arquitetura de um sistema distribuído?
◊ Define
� as relações entre estes componentes;
� a divisão de responsabilidades (ex. cliente, servidor)
� a localização dos componentes do sistema;
� e como estas componentes são mapeados para a infra-estrutura de 
rede
� (Coulouris et al., 2001)
A arquitetura de um sistema é a sua estrutura em termos dos elementos (componentes) 
constituintes. O objetivo de uma arquitetura (e de dividi-la em componentes) é assegurar que a 
estrutura satisfaça e satisfará as necessidades dos usuários. As maiores questões envolvidas na 
definição da arquitetura referem-se à confiabilidade, gerenciabilidade, flexibilidade e 
balanceamento custo-desempenho do sistema.
Quando estudamos modelos de arquitetura buscamos padrões arquiteturas que definem a 
localização dos componentes, ou seja, onde colocar o componente na rede buscando padrões que 
dêem boa distribuição da carga de trabalho e dos dados.
Enfim, a arquitetura trata da divisão de responsabilidades entre os componentes do sistema 
(processos servidores, clientes e outros processos) e de posicionar estes componentes na rede. 
Esta divisão de responsabilidades e posicionamento tem implicações no desempenho, 
confiabilidade e segurança do sistema.
- 5 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 55
Arquitetura: relações entre componentes
cmp Projeto
«executable»
Cliente
+ enviar(byte[]) : void
+ receber() : byte[]
«executable»
Serv idor
+ enviar(byte[]) : void
+ receber() : byte[]
Comunicacao
Config
«access»
Os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes).
No diagrama de componentes, as relações descrevem os papéis funcionais e padrões de 
comunicação utilizados entre os componentes.
Por exemplo, os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de 
bytes).
- 6 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 66
arquitetura: localização
deployment Projeto
«executable»
Cliente
+ enviar(byte[]) : void
+ receber() : byte[]
«executable»
Serv idor
+ enviar(byte[]) : void
+ receber() : byte[]
Comunicacao
Config
«execution environ...
Desktop
«execution environ...
Desktop
«access»
«TCP/IP»
Onde cada componente do sistema deverá funcionar
No diagrama de componentes, representa-se os componentes localizados nos respectivos 
ambientes ou máquinas onde executam.
- 7 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 77
Sumário
ARQUITETURAS TÍPICAS
2
- 8 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 88
Sumário
Cliente-servidor
2 a
- 9 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 99
Arquiteturas típicas
◊ Cliente-servidor
� 1 servidor
� Vários servidores
� Em cadeia
� Replicados
� Com código móvel (applets)
� Push
� Network computer
� Thin-client
◊ P2P: peer-to-peer
� Pura: descentralizada
� Híbrida com cliente-servidor
- 10 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1010
Arquitetura cliente-servidor (1)
CLIENTE SERVIDOR
◊ Arquitetura mais utilizada em SDs (Coulouris et al., 2001)
CLIENTE
solicitação
resposta
Request-reply
Um servidor pode ser cliente de outro. Por exemplo, um servidor de páginas WEB é cliente de um 
servidor de arquivos local que gerencia os arquivo das páginas. Outro exemplo é o proxy de WEB 
(ver slide seguinte).
- 11 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1111
Sumário
Cliente-servidor em cadeia e servidores replicados
2 b
- 12 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1212
Arquitetura cliente-servidor: em cadeia
CLIENTE
SERVIDOR
PROXY
CLIENTE
solicitação
resposta
SERVIDOR
WEB
solicitação
resposta
SERVIDOR
WEB
SERVIDOR
WEB
◊Um servidor pode ser cliente de outro.
Servidores proxy de WEB possuem um espaço de armazenamento temporário para páginas WEB 
recentemente visitadas pelos clientes. Ao invés de transferir todos os pedidos que chegam até ele 
aos servidores WEB, primeiramente verifica se a página solicitada está disponível no cache local. 
Caso esteja disponível e atualizada, serve-a ao cliente. Um servidor proxy aumenta a 
disponibilidade do serviço (caso um servidor WEB torne-se indisponível (“caia”), suas páginas 
continuam disponíveis em cache, e aumenta o desempenho do serviço.
- 13 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1313
Arquitetura cliente-servidor: replicados
CLIENTE
SERVIDOR
◊ Serviço ofertado por vários servidores.
◊ Ver página inicial de www.tucows.com.br, www.google.com
CLIENTE
solicitação
resposta
SERVIDOR
SERVIDOR
serviço
sincronização
sincronização
Servidores podem rodar em computadores diferentes, mas oferecendo um serviço único. Por 
exemplo, uma base de dados que possui muitos acessos (muitos clientes) pode ser replicada em 
diversos servidores que garantem a disponibilidade do serviço com um desempenho 
satisfatório.Por exemplo, o serviço de busca Google possui vários servidores replicados (índices 
para páginas WEB): http://www.google.fr/ ou .com.br ou .com. Outro exemplo, são sites que 
oferecem links alternativos para fazer download de arquivos. Isto indica replicação de dados (ex. 
www.tucows.com.br).
- 14 -
Copyright Cesar Augusto Tacla 2008Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1414
Sumário
Cliente-servidor com código móvel
2 c
- 15 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1515
Cliente-servidor: código móvel (1)
CLIENTE
SERVIDOR
WEB
CLIENTE
solicitação
Página com applet
APPLET
Cliente interage diretamente com a applet
APPLET
Sandbox
JVM do navegador
Certificado digital para sair
Applets são bastante usadas e servem para ilustrar esta variação da arquitetura cliente-servidor. 
A vantagem de se utilizar applets (ou código móvel) é prover um tempo de resposta melhor ao 
usuário, principalmente nos casos onde há muita interatividade (ex. preenchimento de 
formulários). Como o cliente interage localmente com a applet, não há desperdício de banda de 
passagem e nem atrasos na comunicação entre cliente e servidor.
- 16 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1616
Cliente-servidor: código móvel (3)
CLIENTE APPLET
Cliente interage diretamente com a applet
SERVIDOR
WEB
◊ Arquitetura cliente-servidor tipo push
Applet se comunica com o 
servidor para manter cliente 
atualizado
A applet pode comunicar-se com o servidor com o objetivo de manter o usuário atualizado. Por 
exemplo, uma applet consulta de tempos em tempos informações sobre cotações de ações 
disponíveis no servidor e mostra ao usuário. Este modelo é conhecido por “push model”.
- 17 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1717
Cliente-servidor: “push” (4)
APPLETAPPLET
terra.com.br
APPLETAPPLET
Arquitetura push é
como se o servidor
enviasse dados de
tempos em tempos
para os clientes.
Exemplos de applets numa arquitetura cliente-servidor do tipo push.
•Banco do Brasil: 
http://www.bb.com.br/appbb/portal/voce/ep/inv2/InformacoesDet.jsp?Noticia.codigo=148250
•Lances de jogos de futebol (sites esportivos).
- 18 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1818
Cliente-servidor: “push” (4)
APPLETAPPLET
APPLETAPPLET
terra.com.br bb.com.br
Applets numa arquitetura cliente-servidor do tipo push.
Exemplos:
•Banco do Brasil: 
http://www.bb.com.br/appbb/portal/voce/ep/inv2/InformacoesDet.jsp?Noticia.codigo=148250
- 19 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1919
Sumário
Peer-to-peer
2 d
- 20 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2020
PEER-TO-PEER (P2P)
◊ Processos desempenham papéis similares
� Não há distinção entre cliente e servidor
� Um peer pode ser ora cliente ora servidor
� Peer ou pares atuam cooperativamente
PEER
PEER
PEER
“Todos os 
hosts são 
iguais”
Todos os hosts são iguais no compartilhamento de recursos e comunicação.
- 21 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2121
PEER-TO-PEER (P2P)
◊ Idéia de P2P é antiga
� 1962, Licklider (MIT): Intergalatic Network
� Network Control Program
� Primeiro protocolo “host-to-host” NCP
� Precursor do TCP/IP
◊ Alguns eventos levaram ao predomínio do cliente-
servidor ���� próximo
As idéias precursoras ou a visão de Licklider levou a criação do protocolo host-to-host NCP, 
precursor do TCP/IP.
- 22 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2222
P2P x Cliente-servidor
◊ Por que a arquitetura cliente-servidor predomina?
� A Internet tornou-se gradualmente mais comercial, levando as 
empresas a criarem firewalls para protegerem as informações e 
controlarem o acesso
� Milhões de pessoas se conectam a Internet por meio de seus 
desktops que não podem competir com o poder de processamento 
dos servidores que formam a espinha dorsal da Internet
� Muitas aplicações da Internet se baseiam na arquitetura cliente-
servidor: WWW, FTP
Alguns eventos levaram ao predomínio da arquitetura cliente-servidor:
-A Internet tornou-se gradualmente mais comercial, levando as empresas a criarem firewalls para 
protegerem as informações e controlarem o acesso;
-Milhões de pessoas se conectam a Internet por meio de seus desktops que não podem competir 
com o poder de processamento dos servidores que formam a espinha dorsal da Internet;
-Muitas aplicações da Internet se baseiam na arquitetura cliente-servidor: WWW, FTP
- 23 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2323
Conceito P2P
É uma classe de 
aplicações que se 
beneficia dos 
recursos disponíveis 
nas pontas da 
Internet.
[Clay Shirky apud 
Gradecki, 2002 pg. 2]
Internet �
�
�
�
�
- 24 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2424
P2P: arquitetura descentralizada
◊ Não há autoridade central
◊ Pacotes contêm informação 
sobre o próximo step
◊ Peers atuam como C/S
� Servents = servers + clients
◊ Exemplos
� Gnutella
- 25 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2525
P2P: Gnutella descentralizada
Peer
A
Peer
B Peer
C
1. Inicia busca (“bossa nova”)
2. Registra
Itens solicitados
3. Repassa busca (“bossa nova”)
5. Verifica quem solicitou busca
4. Retorna resultado6. Retorna resultado
- 26 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2626
P2P: arquitetura híbrida
◊ Peers são clientes qdo
necessitam informação de 
outro cliente
◊ Cliente contata um servidor 
central
◊ Servidor retorna cliente
desejado
◊ Clientes se conversam 
(peers)
◊ Ex.: Napster, msn
servidores
- 27 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2727
P2P: Napster arquitetura híbrida
3. Requisição de 
MP3
5. Transferência 
de arquivo
Servidores
NAPSTER
usuário 
usuário 
2. anúncio
1. Baixa o sw
4. Resultados (arquivo, conexão)*
- 28 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2828
LEITURA
Carey, M.J., "SOA What?," Computer, vol.41, no.3, pp.92-94, March 2008
Abstract: While the Internet's human-facing side is undergoing the Web 2.0 revolution, 
the machine- facing side is likewise experiencing a major transformation-from an 
application-based to a service-oriented architecture-both within and across enterprise 
boundaries.
http://ieeexplore.ieee.org/iel5/2/4476206/04476233.pdf?isnumber=4476206&prod=JNL&arnumber=4476233&arnumber=4476233&arSt=92&ared=94&arAuthor=Carey%2C+M.J.
Goth, G., "Software-as-a-Service: The Spark That Will Change Software 
Engineering?," Distributed Systems Online, IEEE , vol.9, no.7, pp.3-3, July 2008
Abstract: In the past year, SaaS has emerged from its pioneering group of start-ups and 
medium-sized vendors delivering software on demand to be embraced by software 
giants such as Oracle and SAP. Some veteran technologists and industry analysts also
see SaaS as a catalyst for more interactive, iterative software development.
http://ieeexplore.ieee.org/iel5/8968/4589946/04589949.pdf?isnumber=4589946&prod=JNL&arnumber=4589949&arnumber=4589949&arSt=3&ared=3&arAuthor=Goth%2C+G.
- 29 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2929
LEITURA
Kiran Nagaraja; Rollins, S.; Khambatti, M., "From the editors: peer-to-peer community: 
looking beyond the legacy of Napster and Gnutella," Distributed Systems Online, IEEE , vol.7, 
no.3, pp.-, March 2006
Abstract: Owing to the popularity of Napster and its successors, including Gnutella, Kazaa, 
Morpheus, and E-Donkey, file sharing has become by far the killer P2P application. Its popularity
almost eclipses other P2P applications. Moreover, much P2P research has targeted the 
challenges facing these popular file-sharing networks. P2P applications started to use superpeers
(a set of more powerful nodes in a heterogeneous network) to transform the existing flat topology
of these networks into a hierarchical one. Superpeers are considered faster and more reliable
than normal peers and take on server-like responsibilities. The field of P2P has yet to realize its
full potential in the application domain.
http://ieeexplore.ieee.org/iel5/8968/33951/01621018.pdf?isnumber=33951&prod=JNL&arnumber=1621018&arnumber=1621018&arSt=&ared=&arAuthor=Kiran+Nagaraja%3B+Rollins%2C+S.%3B+Khambatti%2C+M.
- 30 -
Copyright Cesar Augusto Tacla 2008 
Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba
Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 3030
LEITURA
Kurdi, H.; Li, M.; Al-Raweshidy, H., "A Classification of Emerging and Traditional Grid Systems,"
Distributed Systems Online, IEEE , vol.9, no.3, pp.1-1, March 2008
Abstract: Advances in grid computing are stimulating the emergence of novel types of grids, 
such as accessible, manageable, interactive, and personal grids. More and more researchers
are realizing emerging grids' potential to bridge the gap between grid technologies and users. 
This review of emerging grids sets out to develop a comprehensive classification of both
traditional and emerging grid systems, with an aim to motivate further research and to help 
establish a solid foundation in this rapidly developing field.
http://ieeexplore.ieee.org/iel5/8968/4483778/04483779.pdf?isnumber=4483778&prod=JNL&arnumber=4483779&arnumber=4483779&arSt=1&ared=1&arAuthor=Kurdi%2C+H.%3B+Li%2C+M.%3B+Al-Raweshidy%2C+H.
Este artigo tem 13 páginas!!!

Outros materiais