tipos e arquiteturas - std29006 engenharia de...

110
Tipos e arquiteturas STD6 – Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/std

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Tipos e arquiteturasSTD29006 – Engenharia de Telecomunicações

Prof. Emerson Ribeiro de Mello

http://docente.ifsc.edu.br/mello/std

30 DE MARÇO DE 2020

Page 2: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Tipos de Sistemas Distribuídos

Page 3: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Sistemas de computação distribuídos

Page 4: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Aglomerado de computadores semelhantesMesmo sistema operacional e conectados através de uma rede local

O administrador é dono de todo do cluster

Usado para processamento paralelo – no primário distribui tarefaspara os demais nós

Ex: cluster Beowulf criado pela NASA em 1994

1/37

Page 5: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Summit - EUA - O mais rápido atualmente – 148.6 PFlop/s2.414.592 núcleos

2/37

Page 6: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Sunway TaihuLight - China - O mais rápido em 2017 – 93 PFlop/s10.649.600 núcleos, memória: 1.310.720 GB

2/37

Page 7: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Tupã - Brasil - Em 2010 ficou na posição 29/500 – 258TFlop/sR$ 23 milhões e é 2.580 mais rápido que um core i7

2/37

Page 8: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Santos Dumont - Brasil - 1,1 PFlop/s18.144 núcleos, 756 nós computacionais

http://sdumont.lncc.br

2/37

Page 9: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Cluster Beowulf - simples, porém acessível

2/37

Page 10: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Cluster com Playstation3Em 2010 a força aérea americana fez um com 1.760 PS3, obtendo

500TFlop/s – posição 33/500

2/37

Page 11: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

Cluster com 32 raspberry PI Linux

2/37

Page 12: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

2/37

Page 13: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

2/37

Page 14: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cluster: agrupamento de máquinas

2/37

Page 15: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Grades computacionais ou Grid

GridAmbientes heterogêneos: cada nó pode ter um hardware, S.O., rede,domínio administrativo e políticas de segurança diferentes

Middleware é responsável por prover abstração para estaheterogeneidade

Grids geralmente são usadas para constituir Organizações VirtuaisDiversas instituições colaboram com seus recursos (cluster,armazenamento, etc.)

Políticas de uso determinam quanto tempo cada organização poderáusar a grid

3/37

Page 16: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

Permite que recursoscomputacionais possam serprovidos de maneira rápida ecom mínimo esforço degerenciamento por parte doprovedor de serviço

Permite adicionar ou removerrecursos de acordo com ademanda

Similar as redes de energia ede telefonia

4/37

Page 17: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

Ofere como serviço aplicações, bem como softwares e hardwaresque hospedam estas aplicações

A “nuvem” é conjunto de hardware e software no datacenter

Modelo de implantaçãoNuvem privada

Toda a nuvem a construída dentro dos limites de uma instituição e évoltada exclusivamente para seus usuários

Ex: Nuvem USP – http://goo.gl/bK24Xr

Nuvem públicaOferece os serviços e a tarifação é feita de acordo com o uso

A nuvem armazena dados de diferentes clientes

Ex: Amazon EC2 – http://goo.gl/iGKA8K

5/37

Page 18: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

6/37

Page 19: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

6/37

Page 20: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

6/37

Page 21: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

6/37

Page 22: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Cloud Computing ou Computação em Nuvem

6/37

Page 23: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Sistemas distribuídos ubíquos – IoT

7/37

Page 24: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Sistemas distribuídos ubíquos – IoT

7/37

Page 25: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Fog computing – computação em névoa

Nuvem

8/37

Page 26: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Fog computing – computação em névoa

Névoa

8/37

Page 27: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Fog computing – computação em névoa

8/37

Page 28: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Fog computing – computação em névoa

8/37

Page 29: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Fog computing – computação em névoa

Poder do processamentomais perto do limite daborda da rede

Dados, computação,medição são distribuídos ecolocados nos locais maisadequados e eficientes

Redução da quantidade dedados transmitidos

8/37

Page 30: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Sistemas de informação distribuídos

Page 31: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Page 32: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Page 33: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Page 34: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Processamento de Transações

Sistema do hotel indisponível, ou o hotel não tem mais vaga (acessoconcorrente de diversos clientes)

9/37

Page 35: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Processamento de Transações

Transações tem por objetivo garantir a integridade de recursosRecurso acessado por diversos processos de forma concorrente

Processo realizando operações sobre um ou mais recursos

Modo de operação das transações1 Indicar início da transação

2 Realizar operações sobre os recursos

3 Indicar o término da transaçãocommit – tenta salvar as alterações

abort – ignora as alterações e volta para os valores originais

Ou todas as operações na transação são executadas ou nenhuma delasserá executada

10/37

Page 36: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Características das Transações

AtômicaPara um observador externo, a transação é indivisível

É executada em sua totalidade ou não executa

ConsistenteToda transição leva o sistema de um estado válido para um outroestado válido

IsoladaTransações concorrentes não geram interferência entre si

DuráveisUma vez que a transação foi concluída com sucesso (commit), entãoas modificações feitas por ela são permanentes

11/37

Page 37: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Sistemas distribuídos ubíquos

Formado por dispositivos móveis pequenos, alimentados por bateriae com conexão sem fio

Ex: Laptop, tablet, celular, dispositivos de automação residencial oupara saúde, rede de sensores sem fio

Requisitos para sistemas ubíquosReagir a mudanças do contexto

O dispositivo deve estar continuamente ciente das mudanças noambiente

Encorajar composições ad hocDeve ser fácil cooperar com outros dispositivos

Compartilhamento de recursos é algo implícitoProver facilidades para compartilhar informações

12/37

Page 38: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquiteturas paraSistemas Distribuídos

Page 39: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquiteturas para Sistemas DistribuídosOrganização dos Sistemas Distribuídos

Estilos de arquitetura – formas de projetar o software do SDCamadas

Objetos

Eventos

Espaço de dados compartilhados

Arquitetura de sistema – organização do SD em máquinas reaisCentralizados

Descentralizados

Híbridos

13/37

Page 40: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

14/37

Page 41: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Databasewith Web pages

Querygenerator

Rankingcomponent

HTMLgenerator

User interface

Keyword expression

Database queries

Web page titleswith meta-information

Ranked listof page titles

HTML pagecontaining list

Processinglevel

User-interfacelevel

Data level

Processos das camadas superiores invocamprocessos das camadas inferioresSemelhante à pilha TCP/IP

14/37

Page 42: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Cada objeto contém um estado e écapaz de realizar operações que podemser invocadas por outros objetosO objeto seria um componente desoftwareOs conectores entre os objetos podemser representadas por chamadas deprocedimento remoto (RPC)

14/37

Page 43: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Comunicação entre os processos é feitaatravés de eventos, que podem ou nãoconter dadosO barramento de eventos (middleware) éo responsável pelo transporteEx: Sistema publish/subscribe

Processos registram o interesse emdeterminados eventos (subscribe)Processos publicam eventosMiddleware notifica somente osprocessos que assinaram aqueleevento

14/37

Page 44: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

desacoplamento espacial – um processonão precisa referenciar diretamente um outro

14/37

Page 45: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de softwareEstilos de arquitetura

Estilos são definidos por componentes de software (processos) e comoestes se conectam uns aos outros

Baseada emcamadasBaseada em objetosBaseada em eventosEspaço de dadoscompartilhados

Semelhante ao baseado em eventos,porém os dados persistem nomiddlewareAcontece também o desacoplamentotemporal

Dados persistem, mesmo se osprocessos não estiverem mais ativos

14/37

Page 46: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Centralizada – modelo cliente-servidor

Aplicação é modelada como um conjunto de serviço que sãoprovidos pelos servidores e um conjunto de clientes que acessamesses serviços

Cliente envia um pedido ao servidor e aguarda por sua resposta

Clientes precisam conhecer os servidores, porém o inverso não éverdade

Em um sistema distribuído, é possível que um servidor também sejacliente de um outro servidor

15/37

Page 47: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Centralizada – modelo cliente-servidor

Problemas com múltiplos clientes e um único servidor

Servidor pode se tornar um gargalo e ponto único de falhas

16/37

Page 48: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Centralizada – modelo cliente-servidor

Solução: Múltiplos servidores

16/37

Page 49: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Centralizada – modelo cliente-servidor

Múltiplas camadas – Servidor torna-se cliente de outro servidor

16/37

Page 50: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(a) Cliente como terminal burro – Ex: XorgAo cliente cabe apenas apresentar a interface gráfica

17/37

Page 51: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(b) Cliente fica somente com o frontendToda lógica da aplicação fica no servidor

17/37

Page 52: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(c) Parte da lógica da aplicação fica no clienteEx: Validações sobre preenchimento de formulários seria feita antesde enviar pela rede

17/37

Page 53: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(d) Toda a aplicação fica no cliente e esta invoca o servidor de Banco deDados

Organização bem comum em sistemas de gestão comercial, etc.

17/37

Page 54: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

Cliente e servidor executando em máquinas distintas é a organizaçãomais comum

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

(e) Cliente armazena parte do banco de dadosEx: Cache do navegador web

17/37

Page 55: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

1 Qual destas seria maisfácil manter?

2 Qual destas está emevidência atualmente?

Clientes leves – thin clientMaior facilidade para manter

Aplicar atualizaçãoPior desempenho

depende da latência da rede

Clientes pesados – fat clientDificuldade para manter

Diferentes versões de S.OConflitos com outrossoftwaresInstalação e atualizaçãodemandam mais tempo

Melhor desempenhoNão depende muito da rede

18/37

Page 56: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura de sistemaCentralizada – modelo cliente-servidor

User interface User interface User interface

Application

User interface

Application

User interface

Application

Database

ApplicationApplication Application

Database Database Database Database Database

User interface

(a) (b) (c) (d) (e)

Client machine

Server machine

1 Qual destas seria maisfácil manter?

2 Qual destas está emevidência atualmente?

Clientes leves – thin clientMaior facilidade para manter

Aplicar atualizaçãoPior desempenho

depende da latência da rede

Clientes pesados – fat clientDificuldade para manter

Diferentes versões de S.OConflitos com outrossoftwaresInstalação e atualizaçãodemandam mais tempo

Melhor desempenhoNão depende muito da rede

18/37

Page 57: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Motivação

Evitar ponto único de falhasEscalabilidadeAproveitar recursos de todos os nós participantes da rede

CaracterísticasTodo nó na rede possui a mesmafuncionalidade

Pode acessar serviços de outros nós,bem como prover

Nós são autônomos e não confiáveisRede dinâmica

Nós ingressam e saem da rede a todoinstante

19/37

Page 58: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Potenciais benefícios

Escala para um grande número de nósOrganização dinâmica diante de ingressos e egressos na redeBalanceamento de cargaProcessamento em paraleloAlta disponibilidade por meio de replicação dos recursos nos nós

Qual topologia seria mais escalável?

Redes P2P são comumenteutilizadas para distribuição deconteúdo

20/37

Page 59: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Potenciais benefícios

Escala para um grande número de nósOrganização dinâmica diante de ingressos e egressos na redeBalanceamento de cargaProcessamento em paraleloAlta disponibilidade por meio de replicação dos recursos nos nós

Qual topologia seria mais escalável?

Redes P2P são comumenteutilizadas para distribuição deconteúdo

20/37

Page 60: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Descentralizada – (Peer-to-Peer – P2P)

Aplicações descentralizadas necessitamestabelecer previamente um canal decomunicação

O estabelecimento de canais de comunicaçãoentre os nós de um sistema distribuído,resulta em uma rede sobreposta (overlay)

Rede lógica construída sobre uma rede físicaexistente

2. Redes Overlay: Conceitos e Experiencias 10

2.2 Redes Overlay

Uma rede overlay e uma rede logica construıda sobre uma rede fısica existente. Este nao eexatamente um conceito novo: a propria Internet foi inicialmente implementada sobre a rede publicade telefonia, e ainda hoje boa parte dos seus dados trafegam por circuitos telefonicos.

A figura 2.1 mostra um exemplo de como uma rede overlay se sobrepoe a uma rede fısica. Cadano da rede overlay e tambem um no da rede fısica. Tipicamente, a rede fısica e a propria Internet(geralmente a camada IP), e os nos overlay sao implementados por hosts, nao por roteadores. Umaconexao entre dois nos da rede overlay e chamada de enlace virtual, e corresponde a rota entre osrespectivos nos na rede fısica. Cada no e responsavel por processar e rotear pacotes segundo criteriosespecıficos da rede overlay. As conexoes entre os nos do overlay sao implementadas na rede fısicausando alguma forma de tunelamento (isto e, os pacotes da rede overlay sao encapsulados em pacotesda rede subjacente), e nao necessitam seguir nenhuma topologia predeterminada. Assim como emuma camada de rede tıpica, as funcoes principais de uma rede overlay sao o encaminhamento depacotes, que determina como os nos da rede processam um pacote em transito para que ele chegueao seu destino, e o roteamento, que e o processo atraves do qual o conhecimento sobre as diferentesrotas entre nos da rede e calculado, armazenado e disseminado.

rede física

rede overlay

Figura 2.1: Rede overlay sobreposta a uma rede fısica

Recentemente, um numero crescente de autores passou a defender a ideia de que a Internet estaengessada em razao de seu proprio sucesso: a rede que um dia foi essencialmente academica e porisso afeita a experiencias tornou-se uma infra-estrutura cuja estabilidade hoje e crıtica para um grandenumero de pessoas e organizacoes, e que portanto tornou-se refrataria a experimentacoes fora da ca-mada de aplicacao [Peterson et al., 2002]. Exemplos claros desse fenomeno podem ser vistos na len-tidao na transicao do IPv4 para o IPv6 e na dificuldade de se implementar suporte nativo a IPmulticastnos backbones da rede. As redes overlay oferecem uma solucao para driblar esse engessamento: emvez de propor alteracoes aos protocolos fundamentais da Internet, pesquisadores e desenvolvedorespodem implementar novas funcionalidades em um overlay construıdo sobre a propria Internet.

Outro benefıcio da migracao de funcionalidades para a camada de aplicacao proporcionada pelasredes overlay e que os roteadores podem se ocupar apenas de tarefas basicas, como o encaminhamento

21/37

Page 61: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Arquitetura Descentralizada – Topologias de redes P2P

Não estruturadasExemplos: Napster e Gnutella

Não estruturadas com super-nósExemplos: Kazaa

EstruturadasExemplos: Chord, Tapestry

22/37

Page 62: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas – Busca por conteúdo

Arquivos são mantidos emcada nó da redeLista de arquivos são enviadospara o servidor central doNapsterServidor retorna a lista de IPsque possuem o arquivoTransferência de arquivos entre2 clientes

23/37

Page 63: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 64: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 65: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 66: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 67: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 68: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 69: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 70: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood)

24/37

Page 71: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Page 72: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Page 73: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Page 74: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Page 75: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Busca porinundação(flood + tabelacache)

24/37

Page 76: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Busca por conteúdo – Ex: Gnutella

Cada nó possui um índice parcial que representa um subconjunto detodos os nós participantes da rede – não existe nó central

Lei de potência – muitos nós possuem poucos vizinhos e poucos nóspossuem muitos vizinhos (conceito de Mundo Pequeno)

1

4

5

2

3

6

9

7

10

1211

13initial

final

8

14

Protocolosepidêmicossão maiseficientes. Ex:gossip

24/37

Page 77: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 78: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

query

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 79: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

query

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 80: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 81: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

queryHit

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 82: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P não estruturadas com Ultrapeers – Ex: Kazaa

queryHit

final

initial

Busca por inundação émuito custosa

Supernós concentramíndices de seus vizinhos

Temos aqui duas redes sobrepostas: uma para os supernós e outrapara os nós comuns

Como determinar quem será supernó?

25/37

Page 83: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Tabelas de dispersão (Hash table)

Função hash sobre um valor (V) para encontrar a posição (índice)onde será armazenado

Para buscar: Dado uma chave (K), retornará um valor (V)

1 Map<String, Filme> catalogo = new HashMap<>();

2 Filme objeto = new Filme("Titulo");

3 catalogo.put("film~ao", objeto);

45 Filme res = catalogo.get("film~ao");

26/37

Page 84: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Redes P2P estruturadas – Distributed Hash Table (DHT)

Algoritmo de hash serve para determinar em qual nó (índice) seráarmazenado um valor

Mapeia chaves (K) ⇒ Nós

Apresentam mecanismos que controlam a topologia da rede edistribuem os recursos por nós específicos

Adequado para ambientes de larga escala

Buscam tendem a ser mais eficientes do que nas redes nãoestruturadas

Aplicações que usam DHTTracker distribuído do BitTorrent, eDonkey, Freenet

27/37

Page 85: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Chord – protocolo e algoritmo para P2P DHT

Especifica como as chaves (K) sãoatribuídas aos nós

Como um nó descobrirá o valor (V)para uma dada chave (K)

Cada nó ocupa uma posição no círculoposição= hash(IP) mod n

Figura ao lado mostra uma rede com4 nós (1, 6, 11 e 13)

Sucessor

O sucessor de um identificador é o primeiro nó no sentido horáriocujo ID é igual ou sucede o identificador

Quais os sucessores dos Ids: 12, 1, 4 e 8?

28/37

Page 86: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Chord – protocolo e algoritmo para P2P DHT

Especifica como as chaves (K) sãoatribuídas aos nós

Como um nó descobrirá o valor (V)para uma dada chave (K)

Cada nó ocupa uma posição no círculoposição= hash(IP) mod n

Figura ao lado mostra uma rede com4 nós (1, 6, 11 e 13)

Sucessor

O sucessor de um identificador é o primeiro nó no sentido horáriocujo ID é igual ou sucede o identificador

Quais os sucessores dos Ids: 12, 1, 4 e 8?

28/37

Page 87: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Chord

Cada nó mantém um ponteiro para o seu nó sucessor

O sucessor do nó n é sucessor(n+1)O sucessor de 1 é:

O sucessor de 6 é:

O sucessor de 11 é:

O sucessor de 13 é:

29/37

Page 88: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Chord

Cada nó mantém um ponteiro para o seu nó sucessor

O sucessor do nó n é sucessor(n+1)O sucessor de 1 é: sucessor(2) = 6

O sucessor de 6 é: sucessor(7) = 11

O sucessor de 11 é: sucessor(12) = 13

O sucessor de 13 é: sucessor(14) = 1

29/37

Page 89: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – adicionando dados na rede

Cada nó é responsável por armazenar um subconjunto de todos osíndices (chave,valor)O resultado da função hash sobre um dado irá indicar em qual nóessa informação será armazenada

Exemplo

Chaves no Nó 114, 15, 0 e 1

Chaves no Nó 62, 3, 4, 5 e 6

Chaves no Nó 117, 8, 9, 10 e 11

Chaves no Nó 1312 e 13

30/37

Page 90: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – adicionando dados na rede

31/37

Page 91: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – adicionando dados na rede

31/37

Page 92: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – ingresso de um nó na rede na posição 8

AntesChaves no Nó 1

14, 15, 0 e 1Chaves no Nó 6

2, 3, 4, 5 e 6Chaves no Nó 11

7, 8, 9, 10 e 11Chaves no Nó 13

12 e 13

Depois

Chaves no Nó 114, 15, 0 e 1

Chaves no Nó 62, 3, 4, 5 e 6

Chaves no Nó 87 e 8

Chaves no Nó 119, 10 e 11

Chaves no Nó 1312 e 13

32/37

Page 93: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – ingresso de um nó na rede na posição 8

33/37

Page 94: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – ingresso de um nó na rede na posição 8

33/37

Page 95: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord – busca por um recurso na rede

Calcule o hash(K) e envia mensagem de sucessor para sucessor atéatingir o nó sucessor de K

Complexidade da busca O(n) (linear) (pior caso com N nós)

Nó 1 busca por “música”

hash("musica") = 9

Busca percorre os nós 1, 6 e 11

Nó 11 responde para nó 1

34/37

Page 96: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord - otimizando buscas com finger table

Cada nó possui Finger table (tabela de roteamento) que contémponteiro para sucessores(n+ 2i−1), onde i = 1 . . . j e sendo j onúmero de linhas na finger table

log2(N) saltos de qualquer nó para qualquer outro nó

Complexidade da busca O(log n)

Exemplo: log2(10.000.000) ' 23

35/37

Page 97: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

DHT Chord - otimizando buscas com finger table

Cada nó possui Finger table (tabela de roteamento) que contémponteiro para sucessores(n+ 2i−1), onde i = 1 . . . j e sendo j onúmero de linhas na finger table

log2(N) saltos de qualquer nó para qualquer outro nó

Complexidade da busca O(log n)

Exemplo: log2(10.000.000) ' 23

35/37

Page 98: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Page 99: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Page 100: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida: Combina centralizada com descentralizada

Nó central mantém um índice sobre os demais nós ativos na rede eos recursos disponibilizados por essesEx: Bittorrent

Arquivos são fracionados em blocos e esses são compartilhadosRequisitante obtém blocos sem ordem específica

Arquivo .torrent contém informações sobre o trackerTracker – servidor que mantém a lista de nós ativos para umdeterminado .torrent

Onde está ponto críticode falha ou gargalo dedesempenho?

R: trackers

36/37

Page 101: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 102: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 103: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 104: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 105: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 106: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 107: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 108: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 109: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37

Page 110: Tipos e arquiteturas - STD29006 Engenharia de Telecomunicaçõesdocente.ifsc.edu.br/mello/std/std-aula-11-arquitetura.pdf · Tipos e arquiteturas STD29006 – Engenharia de Telecomunicações

Híbrida – Ex: Bittorrent (figura wikipedia)

Motivo de sucesso

Encontrou uma forma paraacabar com nós egoístasUm nó P ao notar que um nó Qestá pegando muito mais doque cedendo, então P diminuisua taxa de envio para Q

37/37