‣ A arquitetura NovaGenesis propõe uma estrutura convergente para redes e nuvens baseada em nomeação, onde qualquer entidade ou recurso pode ser nomeado e os nomes são ligados em um grafo distribuído. Todos os processamentos de informação são implementados como serviços, incluindo protocolos de rede. A mobilidade é suportada através da mudança dinâmica de ligações entre nomes.
CONVERGENCE OF DISRUPTIVE TECHNOLOGIES: FROM IOT TO AI AND BLOCKCHAIN PASSING...
NovaGenesis Overview
1. 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
2. ‣ 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
4. Habilitadores versus Principios de Projeto
KEY ENABLERS
Softwarization
(NFV),
Servitization
(SOA),
Contract-based
orchestration,
Cloud, Edge/Fog
Computing
Progra-
mability,
SDR,
SDN
Cryptography,
Key Distribution,
Reputation,
Trust Network,
Distributed
Ledger,
Consensus
Self-* ,*-
Awareness,
Ontology, SON,
Analytics,
Machine
Learning.
Convergent
Wireless/
Optical,
Terrestrial/
Satellite 5G,
Sensor/
Actuator
Networks
Caching,
ID/Loc
Splitting,
Multi
Source/
Path/
Dest.
Unlimited
namespaces,
including self-
verifying names.
Hierarchical name
binding and
resolution.
DESIGN PRINCIPLES
Provide unlimited, hierarchical
naming and name resolution for all
entities, creating a foundation to
protocol implementations.
Employ named-routing and in
network caching/fetching of data.
Support name-based self-
organization and entities life-cycle.
Employ everything-as-a-service
principle to all software, including
protocol implementations.
Reduce human intervention and
software-define everything.
Generalize hardware for as many as
possible use cases.
Integrate all key enablers in a
cohesive, simple and synergistic way.
Generalize application of key
enablers as much as possible.
Expose all devices to software layer
using representative services and
optimize their life-cycles.
Address build in security, privacy,
trust, evolvability, perennial
information recording.
Act accordingly to the meaning/
context of information/knowledge.
E1 E2 E3 E4 E5 E6 E7
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
5. ‣ 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: Habilitadores
! Nomes são ligados uns aos
outros formando um imenso
grafo de nomes
armazenado de forma
distribuída e segura.
!
6. ‣ 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: Habilitadores
! 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
7. ‣ 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: Habilitadores
Nome Nome
Nome
Nome
Nome
Nome
Nome
8. ‣ Resolução de nomes: exemplo
NovaGenesis: Habilitadores
Domain 1
inatel.br
AB6712F1
ns1.inatel.br
131.221.240.56
EEEEF101
OS 2
Process 2
Process 3
Photo 1.jpg
SLA 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
9. ‣ 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: Habilitadores
10. ‣ 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: Habilitadores
11. ‣ Pilha de Protocolos:
! A pilha de protocolos é formada dinamicamente através de
contratos entre protocolos implementados como serviços.
NovaGenesis: Habilitadores
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
12. ‣ 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: Habilitadores
Nome Nome
Nome
Nome
Nome
Nome
Endereço anterior
Endereço atual
13. ‣ 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: Habilitadores
14. ‣ 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: Habilitadores
15. ‣ 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: Habilitadores
16. ‣ 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: Habilitadores em Resumo
17. ‣ 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.)
20. ‣ 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.
21. ‣ 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) >
22. ‣ 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
…
23. ‣ 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
24. ‣ 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
25. ‣ 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
26. ‣ 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
Authorization
Gateway
(GW)
Load
balancing
Pub
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
28. 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
Authorization
Gateway
(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.
29. In future versions, Wi-Fi can be replaced by IEEE 802.15.4, Bluetooth low energy (BLE) or Z
NovaGenesis pub/sub API can be seen as a service access point (SAP) between NG Layer and NG
layer. The client application is a sink for the raw data measured by sensing devices. In the next sub
describe these new services proposed in this paper to extend NovaGenesis towards IoT.
Fig. 5. Layer stack for NG IoT model. Wi-Fi can be replace by IEEE802.15.4, Bluetooth low energy (BLE) o
Future Internet of “Things” with NovaGenesis
30. Nó#de#Internet#das#coisas##
medindo#temperatura#da#sala#
Amostras##
de#temperatura#
transportadas#
sem#TCP/IP,##
somente#NG##
sobre#Wi<Fi#
Fig. 8. Experimental scenario with: (i) NovaGenesis core services and IoT client application in the left; (ii) the NovaGenesis
embedded proxy/gateway (EPGS) on NXP’s LPC1769 device in the middle; and (iii) a computer with LPCXpressoTM
to compile
and deploy the EPGS (plus EventOSTM
) image on LPC.
ng -m --cl 0.1 [ < 1 s 28FD4420 > < 4 s 0BD95286 ED12F3ED 7E764DC1 4D623F20 > < 4 s empty empty empty empty > ]
ng -hello --ihc 0.2 [ < 6 s A4324A2D AB9B70B4 57ECEB4F Wi-Fi wlan0 ac:22:0b:c9:df:3b > < 4 s 0BD95286 ED12F3ED
8E8B52EC 7EA46815 > ]
ng -scn --seq 0.1 [ < 1 s 1A81A5E3 > ]
Fig. 9. A “hello” message sent by the PGCS to the EPGS.
ng -m --cl 0.1 [ < 1 s 28FD4420 > < 4 s 4C7CF9B2 5F472DA7 1A53F830 NULL > < 4 s empty empty empty empty > ]
Future Internet of “Things” with NovaGenesis
34. 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