O documento descreve um modelo para navegação na web usando nomeação auto-certificável e o modelo de publicar/assinar. O modelo foi implementado em um protótipo e testado em experimentos que mostraram redução no tamanho dos dados transmitidos para sites semelhantes.
PROJETO NOVAGENESIS: A CRIAÇÃO DE UMA NOVA INTERNET
Modelo de navegação web usando nomeação auto-certificável e modelo publica/assina
1. Antonio Marcos Alberti
Professor Associado, Coordenador do ICT Lab.,
Eng. Telecomunicações., Inatel, Brazil
Daniel Fussia
Eng. Computação,
Estudante de Mestrado, Inatel, Brazil
Um Modelo para Navegação Web usando Nomeação Auto-
Certificável e Modelo Publica/Assina
2. Introdução
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
• O Problema
• Internet do Futuro
• NovaGenesis
• Navegação web para Internet do Futuro
4. Nomeação
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Antonio!
Image.jpg!
AA1809
72…!
010112
23…!
0101010101010101011010110001010010101010101010101!
1010101011110100001010011111111110101010100000000!
1001010101000101010101011111110000000000000000000!
1010101010101010101000010010101010101010101010101!
1111111010101010100001010010100101010100010101010!
0100000100000010000000001000001000000100000010000!
1110000010000000100000010110101111000011100000000!
1111111010101010100001010010100101010100010101010!
0100000100000010000000001000001000000100000010000!
1110000010000000100000010110101111000011100000000!
1111111101111110111111011111101111101111101111111!
My Smartphone!
BFEF12
16…!
Nomes em Linguagem Natural: Português, Inglês, etc.
Nomes auto-certificáveis (Self-Certifying Names) gerados a partir de padrões imutáveis.
!
Espaços de nomeação e resolução de nomes permitem representar relacionamentos.
5. Identificação e localização
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Antonio!
AA1809
72…! BFEF12
16…!
My Smartphone!
Image.jpg!
010112
23…!
6. Descoberta
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Antonio!
App 1!
App 2!
Scalifax!My smartphone!
My tablet!
My photos !
repository app!
Eu tenho as
fotos do
Antonio!!
Eu
armazenei as
fotos do
Antonio!!
Eu tenho as
fotos do
Antonio!!
7. Negociação
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Vamos
trabalhar
juntos?!
Vamos
trabalhar
juntos?!Vamos
trabalhar
juntos?!
Antony!
App 1!
App 2!
Scalifax!My smartphone!
My tablet!
My photos !
repository app!
SLA!
SLA!
8. Troca de informações
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Aqui vão
minhas fotos!!
Ok!!Aqui vão
minhas fotos!!
Antony!
App 1!
App 2!
Scalifax!My smartphone!
Meu tablet!
My photos !
repository app!
9. Rastreabilidade
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Antony!
App 1!
App 2!
Scalifax!My smartphone!
My tablet!
My photos !
repository app!
Foto <-> Repos. App <-> Scalifax <-> My smartphone
<-> App 1 <-> Antony !
10. Modelo de comunicação
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Proprietário
publica! Internet!
Receptor
assina
somente o
conteúdo
que deseja.!
Minimização do
problema de
spam!!
11. Protótipo
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
LIVE DEMO @
SAO PAULO
CAMPUS PARTY
2015
Publish/Subscribe (Pub/Sub) Service:
Provê uma API de programação distribuída
com 6 métodos:
1. Publicação de nome e conteúdo para o
cache de rede (HTS);
2. Publicação e notificação de publicação;
3. Assinatura de nome e conteúdo;
4. Assinatura e notificação de assinatura;
5. Remoção de nome e conteúdo do cache de
rede.
6. Entrega de nomes via HTS.
Generic Indirection Resolution Service
(GIRS):
Seleciona o cache de rede que de fato vai guardar
um nome e conteúdos associados.
Hash Table Service (HTS):
Armazena nomes e conteúdos associados.
Proxy/Gateway/Controller Service (PGCS):
Encapsula mensagens direto sobre tecnologias de
camada 2.
Representa dispositivos físicos através de
contratos.
Traduz mensagens para outros protocolos.
13. Navegador web NovaGenesis
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Efetua pesquisas e requisições de nomes e conteúdos.
!
Apresenta objetos obtidos tal qual em navegadores HTTP.
14. Operações web com a NovaGenesis
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Publica / Assina objetos web.
SCN: d41d8..
Tipo: Imagem
SCN: 427e1..
Tipo: Página
SCN: d95ef..
Tipo: Javascript, CSS, Texto ou
outro qualquer.
Publica palavras-chaves de páginas, para facilitar busca.
Armazena Mapeamentos entre palavras-chave e SCNes.
15. Interfaces de Acesso a Objetos
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Obtenção de um objeto web (NGU) específico.
Obtenção de vários objetos web (NGS) a partir
de palavras chaves em linguagem natural.
16. NGU – NovaGenesis Unique Object
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
ngu://d41d8..
ngu://427e1..
ngu://d95ef..
SCN: d41d8..
Tipo: Imagem
entrega
SCN: 427e1..
Tipo: Página
SCN: d95ef..
Tipo: Javascript
17. NGS – NovaGenesis Search Object
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
ngs://carros vermelho
descritores
descritor
Titulo: Montador XYZ
Descrição: A montadora XYZ produz carros de vá
rias cores: amarelo, vermelho e outras.
Link: ngu://a72ceaf0...
18. NAVEGAÇÃO E RELACIONAMENTO
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
1
página
objeto
imagem
ngs
ngu
1
n 1
1
1
n
n
descritor
1
1
1
19. Sistema de cache
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Certificação e coerência de conteúdos através de
função hash (SCN).
Inibe requisições de objetos já assinados.
Inibe assinatura e entrega de objetos em cache.
Verifica integridade e proveniência de nomes e con-
teúdos.
20. Sistema de cache – primeiro acesso
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Site Inatel
ngs://inatel
descritores
ngu://a4c72..
entrega
verifica:
a4c72...
“Site Inatel”
(a4c72...)
Abre-se
a4c72...
21. Sistema de cache – segundo acesso
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Site Inatel
ngs://inatel
descritores
ngu://a4c72..
download
verifica:
a4c72...
“Site Inatel”
(a4c72...)
Abre-se
a4c72...
22. Arquitetura NovaGenesis e NGBrowser
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
23. Sistema de conversão e publicação de sites
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Site comum, estruturado em pastas e link
através de nomes de arquivos
Site NovaGenesis, estrutura em uma única
pasta e link através de SCN’s
24. Sistema de conversão e extração do descritor
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
25. Detalhes do descritor e wordlist
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
d41d8cd98f00b204e9800998ecf8427e
etiam
vitae
quam
eu
sem
ullamcorper
ultrices
eget
d41d8cd98f00b204e9800998ecf8427e_wordlist
Associação de palavras
ao descritor
26. Publicação de conteúdo - NGAppPublisher
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
(a) descritoretiam
vitae
quam
(b) descritor
(n) descritor
(a) objeto
(b) objeto
(n) objeto
c0f64717f4b...
710e5ad0b6...
22ebad8ddef...
27. NGAppCommunicator
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Fabricante X
Fabricante Y
Fabricante Z
Mensagens
NovaGenesis
D-BUS
Pilha
NovaGenesis
NGAppCommunicator
28. NGAppCommunicator - Interfaces
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
SearchByLiteral (Palavra-chave)
SearchByMurmur (SCN)
Complete (SCN’s)
Mensagens
NovaGenesis
D-BUS
Pilha
NovaGenesis
29. Experimento
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Publicação de 11 páginas web, cada uma possuindo:
• Três imagens
• Repetição de 2 imagens de outra página
• Textos aleatórios
• Sites nomeados de ‘Site Exemplo 01’ até ‘Site Exemplo 11’
34. Experimento - navegação
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
Bytes
(somente carga útil)
35. Conclusão
(c) Antonio Alberti, Daniel Fussia 2016, Inatel - All rights reserved.
É possível se realizar a navegação através de websites utilizando o modelo!
publica/assina e nomeação auto-certificável.!
Este modelo mostrou-se eficaz como alternativa ao protocolo HTTP. !
!
Ferramentas podem ser desenvolvidas para facilitar a migração de websites de forma
automática.!
Uso de nomeação auto-certificável melhora a navegação devido a possibilidade de
consultar conteúdos e certificá-los mesmo antes de realizar uma assinatura.!
Os resultados obtidos comprovam a redução da quantidade de dados transmitida
quando web sites semelhantes são carregados. !
!
Trabalhos futuros incluem testes em escala, comparação com HTTP 2.0 com proxy,
melhorias no navegador. !
!
!