28
Arquitetura Convergente de Informação Antônio Marcos Alberti Laboratório de Tecnologias da Informação e Comunicações (ICT Lab) www.inatel.br/ictlab 29 de Abril 2017

NovaGenesis: Visão Geral

Embed Size (px)

Citation preview

Arquitetura Convergente de Informação

Antônio Marcos Alberti Laboratório de Tecnologias da Informação e Comunicações (ICT Lab)

www.inatel.br/ictlab

29 de Abril 2017

‣ Uma arquitetura projetada “do zero” que integra redes e clouds.

‣ Objetivo: Criar uma arquitetura essencial de troca, processamento e armazenamento de informações através da integração sinérgica de diversos conceitos emergentes, que permita a implementação de protocolos como serviços, convergindo redes sem fio e cabeadas.

O que é a NovaGenesis?

Redes (troca de

informações)

Clouds (processamento e

armazenamento de informações)

= +

Telecom e Internet TI e Web

‣ Nomeação

ü Utiliza espaços de nomeação ilimitados.

ú Qualquer entidade pode ser nomeada: inclui nomes em linguagem natural (e.g. “Editor de fotos”) ou nomes auto-certificáveis (hash codes gerados via MD5, SHA1).

NovaGenesis: Princípios

ü Nomes são ligados uns aos outros formando um imenso grafo de nomes armazenado de forma distribuída e segura.

‣ Identificação e Escopos - Localização e Espaços

ü Nomes são usados para denotar escopos e espaços.

ü Nomes únicos em um escopo são identificadores (ID), i.e. identificam unicamente o alvo de uma comunicação.

NovaGenesis: Princípios

ü Nomes que fornecem noção de distância e localização em um espaço, são usados como endereços (LOC).

ü Todos estão no mesmo grafo.

ü Quem é quem depende do contexto.

Endereços

Identificadores

‣ Resolução de nomes

ü Resolução ilimitada de nomes.

ú Qualquer nome pode ser resolvido em outro(s) nome(s), desde que a ligação entre os dois tenha sido publicada.

§ Exemplo: ID de um serviço resolvido em ID de host.

NovaGenesis: Princípios

Nome Nome

Nome

Nome

Nome

Nome

Nome

‣ Resolução de nomes: exemploNovaGenesis: Princípios

Domain 1 inatel.br AB6712F1

ns1.inatel.br 131.221.240.56 EEEEF101

OS 2

Process 2

Process 3

Photo 1.jpgSLA 1.xml

OS 3

Process 4

Host 1 99ABCEEF

OS 1 180972AA

Process 1 2743 280273AA

Domain 2 hufs.ac.kr 99FACB03

ns.hufs.ac.kr 203.232.224.4 EEEEF101

Eiffel.avi

‣ Serviços

ü Todo software é um serviço, incluindo as implementações de protocolos.

ü O ciclo de vida dos serviços é suportado nativamente:

ú Exposição de características e capacidades, descoberta, negociação, contratação, monitoramento de qualidade, reputação, liberação de recursos.

ü Toda a operação é baseada em contratos.

ü Isso pode ser estendido ao hardware se ele for programável.

NovaGenesis: Princípios

‣ Protocolos

ü Nos Terminais: São implementados como serviços de uma arquitetura orientada a serviços (SOA).

ú Próxima versão terá kit para desenvolvimento de protocolos em software!

ú Protocolos concorrem entre si para ofertar os melhores serviços.

ú Novos protocolos podem ser desenvolvidos a qualquer momento, garantindo a evolução da arquitetura.

ü Na Rede: Serão implementados em hardware. O hardware pode ser atualizado via software (e.g. VHDL em FPGA).

NovaGenesis: Princípios

‣ Pilha de Protocolos:

ü A pilha de protocolos é formada dinamicamente através de contratos entre protocolos implementados como serviços.

NovaGenesis: Princípios

Protocolo 1 Protocolo 0 Protocolo 0

Protocolo 2 Protocolo 2 Protocolo 3 Protocolo 3 Protocolo 4

Protocolo A Protocolo B Protocolo B Protocolo C Protocolo C

Protocolo 1

Protocolo 2

Protocolo A Protocolo D

Protocolo Q Protocolo Q Protocolo Z Protocolo ZProtocolo Q

Protocolo 1

‣ Mobilidade

ü Vários nomes no grafo de nomes: alguns identificam uma entidade, outros a localizam.

ü Uma entidade que se move mantém os nomes que a identificam, mas muda a ligação com outros nomes que a localizam.

ü Mobilidade é garantida pela troca das ligações entre nomes.

NovaGenesis: Princípios

Nome Nome

Nome

Nome

Nome

Nome

Endereço anterior

Endereço atual

‣ Operação e Gerência

ü Recursos físicos (hardware) são representados por serviços que estabelecem contratos em seu nome.

ü Por exemplo:

ú Um Access Point Wi-Fi pode ser representado por um serviço que “vende” encaminhamento de quadros Wi-Fi.

ú Um roteador de pacotes pode ser representado por um serviço que “vende” roteamento de pacotes.

ú O serviço que “vende” roteamento contrata o serviço que “vende” encaminhamento, formando a rede.

NovaGenesis: Princípios

‣ Operação e Gerência (cont.)

ü A configuração do hardware reflete os contratos entre serviços.

ü Implementações de protocolos precisam contratar recursos de hardware via seus representantes.

ü O hardware opera definido por software (SDN), implementados como serviços no caso da NovaGenesis.

ü A melhor configuração da rede auto-emerge como um “comportamento social”, balizado em contratos, criando um mercado de recursos e serviços.

ü Serviços sem contrato desaparecem!

NovaGenesis: Princípios

‣ Encaminhamento e roteamento

ü Tabelas nos nós da rede (hardware) são populadas com ligações entre nomes fornecidas por serviços representantes.

ü Se um comutador ou roteador não sabe o que fazer com um quadro/pacote, ele pergunta para o seu representante de software (serviço representante).

ü O representante descobre o que fazer e configura a ligação no hardware.

ü O encaminhamento/roteamento pode ser feito considerando campos de cabeçalho de qualquer tecnologia (isso em open hardware), incluindo diretamente nomes de serviços e conteúdos.

NovaGenesis: Princípios

‣ Ilimitados espaços de nomeação e grafo distribuído de ligações entre nomes (guardado em tabelas hash distribuídas).

‣ Grafo de nomes usado para denotar escopos, espaços, identificadores e localizadores (endereços).

‣ Resolução ilimitada de nomes em outros nomes, suportando a mobilidade via religação de nomes.

‣ Todo o processamento de informações é visto como um serviço, inclusive a implementação dos protocolos da rede.

‣ Suporte a todo o ciclo de vida de serviços, i.e. exposição, busca, descoberta, negociação, contratação, monitoramento, reputação.

NovaGenesis: Princípios em Resumo

‣ Pilha de protocolos construída em tempo de execução.

‣ Controle e gerência via serviços representantes das “coisas”.

‣ Roteamento/encaminhamento baseado em descoberta de trajetos através da resolução recursiva de identificadores em localizadores.

NovaGenesis: Princípios em Resumo (Cont.)

NovaGenesis: Principal Referência Bibliográfica

‣ Estrutura de serviços/mensagens: OverviewNovaGenesis: Implementação

Operating System

Host

Process Message

CommandLine #1

CommandLine #2

CommandLine #C

Payload

…Block 1

Action#1

…Action#2

Action#A

Block 2

Action#1

…Action#2

Action#A

Block N

Action#1

…Action#2

Action#A

Blocks

Messages

‣ Estrutura do Gateway (GW):NovaGenesis: Implementação

Process

Gateway (GW)

Input Queue (IQ)

Output Queue (OQ)

Execution

Read IQ

Call target Block #

Block 1 Block 2 Block N

Action 1

Action N

Action 1

Action N

Action 1

Action N

Read OQ Shared Memory

‣ Todo serviço tem Gateway.

‣ Event-driven

‣ Input-Queue: mensagens aguardando processamento.

‣ Output-Queue: mensagens aguardando memória compartilhada.

‣ Estrutura da Hash Table (HT):NovaGenesis: Implementação

Process

Hash Table (HT)

hash_map Store a name binding

Get a name binding

Gateway (GW)hash_map

hash_map

‣ Todo serviço tem HT.

‣ Implementada usando vários hash_maps.

‣ Cada name binding tem o formato:

‣ < Chave, Valor(es) >

‣ Estrutura de um Serviço Qualquer: Juntando tudo!!NovaGenesis: Implementação

Process

Hash Table (HT)

hash_map Store a name

binding

Get a name binding

hash_map

hash_map

Gateway (GW)

Input Queue (IQ)

Output Queue (OQ)

Execution

Read IQ

Call target Block #

Block 1 Block 2 Block N

Action 1

Action N

Read OQ

Shared Memory

Action 1

Action N

Action 1

Action N

Operating System

Host

NB NB NB…

NB NB NB…

NB NB NB…

File File File…

‣ Estrutura do PGCS (Proxy/Gateway/Controller Service):NovaGenesis: Implementação

PGCS Gateway

(GW)

Hash Table (HT)

Proxy/Gateway (PG)

Read from raw socket

Operating System

Shared MemoryRaw socket

Write to raw socket

‣ NRNCS (Name Resolution and Network Caching Service):

‣ Aplicações publicam/assinam via PSS.

‣ PSS controla quem acessa o que.

‣ Encaminha pedidos autorizados para o GIRS.

‣ GIRS determinar onde guardar/buscar.

NovaGenesis: Implementação

‣ NRNCS (Name Resolution and Network Caching Service):

‣ Hash Table Service (GIRS):

‣ Stores and delivers name bindings and related contents.

‣ Generic Indirection Resolution Service (GIRS):

‣ Selects a hash table service (HTS) to store name bindings and to cache content.

‣ Publish/Subscribe Service (PSS):

‣ Does the rendezvous among publishers/subscribers.

‣ Has an application programming interface (API), which has 5 primitives:

‣ (i) Publishes a NB (and a content, if any); (ii) Subscribes a NB/Content; (iii) Publishes and notifies peer services about; ( iv) Subscribes and notifies peer services about; (v) Revokes a publication;

NovaGenesis: Implementação

‣ NRNCS (Name Resolution and Network Caching Service):NovaGenesis: Implementação

Publish/Subscribe Service (PSS)

Hash Table (HT)

Publish/Subscribe (PS)

Selects a GIRS instance

Generic Indirection Resolution Service (GIRS)

Gateway (GW)

Hash Table (HT)

Binding Forwarding (BF)

Selects an HTS instance

Authentication and

AuthorizationGateway

(GW)

Load balancingPub

Sub

Generic Indirection Resolution Service (GIRS)

Gateway (GW)

Hash Table (HT)

Binding Forwarding (BF)

Selects an HTS instance

Hash Table Service (HTS)

Gateway (GW)

Hash Table (HT)

Hash Table Service (HTS)

Gateway (GW)

Hash Table (HT)

Hash Table Service (HTS)

Gateway (GW)

Hash Table (HT)

Hash Table Service (HTS)

Gateway (GW)

Hash Table (HT)

PSS, GIRS e HTS

‣ Overview do Core NovaGenesis: Implementação

Operating System

Host

PSS

Gateway (GW)

Hash Table (HT)

Pub/Sub (PS)

GIRS

Gateway (GW)

Hash Table (HT)

Indirec. Resol. (IR)

HTS

Gateway (GW)

Hash Table (HT)

D. Hash Table (HT)

PGCS

Gateway (GW)

Hash Table (HT)

Proxy/Gateway

(PG)

Raw socketShared Memory

PGCS

Gateway (GW)

Hash Table (HT)

Proxy/Gateway

(PG)

Raw socket

HTS

Gateway (GW)

Hash Table (HT)

D. Hash Table (HT)

Shared Memory

DS

Gateway (GW)

Hash Table (HT)

Domain Proxy (DP)

Operating System

Host

NovaGenesis: Visão detalhada do core e um aplicativo (NBTest)

Host N

Host 1

NBTest Publish/Subscribe Service (PSS)

Hash Table (HT)

Publish/Subscribe (PS)

Selects a GIRS instance

Generic Indirection Resolution Service (GIRS)

Gateway (GW)

Hash Table (HT)

Binding Forwarding (BF)

Selects an HTS instance

Authentication and

AuthorizationGateway

(GW)

Load balancing

Pub

Sub

Hash Table Service (HTS#1)

Gateway (GW)

Hash Table (HT)

Hash Table Service (HTS#0)

Gateway (GW)

Hash Table (HT)

Proxy/Gateway/Controller Service (PGCS#0)

Gateway (GW)

Hash Table (HT)

Proxy/Gateway (PG)

Raw socket

Gateway (GW)

Hash Table (HT)

Block 1 Block N

Read from raw socket

Write to raw socket

Proxy/Gateway/Controller Service (PGCS#1)

Gateway (GW)

Hash Table (HT)

Proxy/Gateway (PG)

Raw socket

Read from raw socket

Write to raw socket

OS 1

OS 2

Hash Table Service (HTS#N)

Gateway (GW)

Hash Table (HT)

Proxy/Gateway/Controller Service (PGCS#N)

Gateway (GW)

Hash Table (HT)

Proxy/Gateway (PG)

Raw socket

Read from raw socket Write to raw socket

OS N

(1)(2,25)

(3)

(4)

(5)

(6)(7)

(8)

(9)

(10)

(11)

(12)

(13,21)

(14)

(15)

(16)

(10)

(17)

(18)

(19)

(20)

(22)

(23)

(24)

Host 2

‣ Sequência de ações realizadas para assinar a partir do NBTest um conteúdo publicado no HTS#1.

NovaGenesis: Para saber mais

https://dl.dropboxusercontent.com/u/7203969/NovaGenesis%20v0.4.pdf

Imagine se não existisse Internet hoje! Como ela poderia ser construída? Como ela seria? Que ganhos traria?

O objetivo do projeto NovaGenesis é recriar a arquitetura da Internet por meio da integração coesa das melhores tecnologias atuais. !!

O objetivo é fazer a revolução na Internet, através de uma arquitetura melhor preparada para os desafios da sociedade da informação. !!

Você conhece alguma tecnologia da década de 70 que não tenha sido reinventada desde então? Pois é, muitos protocolos da Internet continuam os mesmos desde os anos 70!

NOVAGENESIS Nova Arquitetura de Internet !Por Antônio Marcos Alberti, Outubro de 2014.

(c) Antônio M. Alberti, Instituto Nacional de Telecomunicações (INATEL), 2014.

Brochura do Projeto

http://www.slideshare.net/antonioalberti/novagenesis-brochura-do-projeto

Vídeo no Youtube

Obrigado!

Antônio Marcos Alberti

www.inatel.br/novagenesis https://www.facebook.com/NovaGenesisArchitecture