O documento descreve a arquitetura Haggle, uma rede oportunista e autonômica. A arquitetura evoluiu de Haggle-Infant até Haggle-Adult, adicionando recursos como gerenciamento de recursos, segurança, compartilhamento social e auto-adaptação. Haggle permite comunicação em ambientes com conectividade intermitente, aproveitando conexões oportunísticas entre dispositivos móveis.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
Redes Oportunistas: Haggle
1. “Um paradigma inovador para a Comunicação Oportunista e Autonômica”
Mestrando: Ramon Mayor Martins
Disciplina: Tópicos Avançados em Redes
Prof. Dr. Antônio Marcos Alberti
Mestrado em Telecomunicações
INATEL – Instituto Nacional de Telecomunicações
2.
3. Escopo:
Redes oportunistas
•Refere-se a trocas de dados aproveitando "oportunidades " de conexoes;
•Tais situações são comuns em muitas regiões do mundo onde a infraestrutura de acesso
banda larga possui uma cobertura limitada.
•A infra-estrutura de acesso atual é vulnerável a desastres naturais ou outras falhas, e redes
oportunistas podem ser a única maneira viável para realizar importantes transmissões de
dados.
4. Escopo:
Redes PSN: Pocket Switch Network
•PSNs são redes tolerantes a atrasos (Delay Tolerant Networks - DTN)
•Tentam prover comunicação em ambientes onde a conectividade fim-a-fim nem sempre pode
ser feita.
•Beneficiam-se de conexões locais intermitentes de forma oportunística (por ex., rede Wi-Fi. ad
hoc, Bluetooth, etc.) e conexões globais (por ex., pontos de acesso à Internet, GPRS, SMS,
etc.) quando disponíveis.
•As redes PSN não são úteis somente na ausência de infra-estrutura de rede, mas também em
cenários como tráfego intenso na rede, catástrofes, falta de energia, redes de sensores e
meios de transporte (trens, aviões, etc.).
5. Introdução:
•O projeto Haggle tem uma abordagem centrada em informação para a
comunicação em vez de uma abordagem centrada em nó / host.
•É um projeto de rede posicionada entre Redes DTN e Redes Oportunistas, cujo
objetivo é fornecer uma rede "infrastructureless" de dispositivos móveis,
aproveitando a mobilidade de usuários e conexões sociais entre os usuários.
•Forte ênfase no lado experimental.
7. Modelo HAGGLE: Características
•Possibilita que dispositivos móveis tornem-se independentes das redes infra-estruturadas
•Utiliza um modelo sem camadas (layerless) o que o torna bem diferente do modelo
em camadas TCP/IP tradicional(explora aplicações orientadas de encaminhamento
de mensagens, em vez de delegar essa responsabilidade para a camada de rede)
•É uma nova arquitetura de rede autônomo, projetado para permitir a comunicação
na presença de rede de conectividade intermitente
•Explora comunicações autonômicas e oportunistas (na ausência de infra-estrutura
de comunicação fim a fim ou ponta a ponta).
•Foca em redes ad hoc utilizando os dispositivos móveis, com conexões
oportunísticas, para envio de informações na forma de armazena-e-envia
8. Modelo HAGGLE: Características
•Utiliza os conceitos de Best effort e context aware para encaminhamento de
mensagem entre dispositivos móveis ubíquos a fim de fornecer serviços quando a
conectividade é local e intermitente.
•Forte embasamento em privacidade,confiança, autenticação, e manipulação de
dados avançados;
•Foi projetado para superar as limitações dos serviços de comunicação.
•Possui características autonômicas como a auto-configuração, auto-otimização,
auto-aprendizagem, auto-protecção e auto-cura.
9. Arquitetura HAGGLE: Características
•Conexões locais e mobilidade de usuários são tão importantes quanto o acesso à
Internet de forma infra-estruturada.
•Haggle seleciona, em cada salto de envio, o melhor protocolo e a melhor conexão
no encaminhamento dos dados ao destino. Essas características justificaram a
escolha por uma arquitetura sem camadas, evitando sinalização e transferência de
dados entre camadas, como ocorre com o protocolo IP tradicional.
•Por ser uma arquitetura layerless, não é passado dados e sinais de controle para
cima e para baixo, entre as camadas, como para a arquitetura de rede atual. Em
vez disso, todos os gerentes oferecem interfaces, e pode se comunicar com outros
evoluindo a partir das experiências com a arquitetura.
10. Arquitetura HAGGLE: Características
•A Arquitetura Haggle é construído em torno de objetos de dados. (Objetos de dados
são uma representação geral de todas as informações dentro e fora do Haggle).
•Haggle utiliza o conceito de gerentes para o controle de parâmetros.
•Haggle possui seis gerenciadores, com interfaces que permitem a comunicação
entre si.
•O desenvolvimento da arquitetura segue uma estrutura evolucionária. Onde
aprende-se com experiências, testes, análises,modificações,novas
implementações,refinamentos e correção de erros.
12. Arquitetura HAGGLE: Principais Componentes
•Gerentes:
Um gerente resolve tarefas específicas no contexto de seu domínio, como
a detecção de vizinhos, ou trocar dados com eles.
Gerenciador de Dados (Data Manager) - armazena, pesquisa e gerencia a gravação
de objetos chamados DO (Data Object - objeto de dados);
Gerenciador de Nomes (Name Manager) - executa a resolução de nomes e
associa nomes a destinos potenciais;
Gerenciador de Protocolos (Protocol Manager) - encapsula todos os
métodos de transferência de objetos de dados;
13. Arquitetura HAGGLE: Principais Componentes
Gerenciador de Conectividade (Connectivity Manager) - fornece serviço de
descoberta de conexões na vizinhança, calcula o custo (utilização de
recursos) de envio dos dados e estabelece conexões com vizinhos.
Gerenciador de Encaminhamento (Forwarding Manager) - decide quais
objetos devem ser enviados a quem (qual vizinho) e obtém/calcula o
benefício dessa ação;
Gerenciador de Recurso (Resource Manager) - decide qual tarefa deve ser
executada em um dado momento, considerando o custo e o benefício de
todas as tarefas possíveis.
15. Arquitetura Haggle: HAGGLE-INFANT
•A arquitetura INFANT identificou princípios-chave da
operação do Haggle quando confrontados com um
ambiente de rede com conectividade intermitente e
oportunista
•Informação e comunicação centrada nas pessoas (data
and communication centrism)
• Comutação de mensagens em vez de comutação de
pacotes, como o formato de dados nativo
16. Arquitetura Haggle: HAGGLE-INFANT
•Haggle-INFANT tambem especificou uma estrutura
modular para a arquitetura, composta por gerentes que
atuam dentro dos domínios pré-definidos de
responsabilidade.
•Abordagem de gerentes como agentes autônomos (
reforça um sistema descentralizado, onde não há único
agente controlando com uma visão global do sistema), mas
uma cooperação entre os agentes.
17. Arquitetura Haggle: HAGGLE-INFANT
•A implementação do nó Haggle-INFANT, foi muito útil como
prova de conceito para validar a abordagem de projeto de
Haggle. No entanto observou-se alguns problemas:
Desempenho do nó dramaticamente piora à medida que aumenta
o número de tarefas.
Os gerentes muitas vezes executam trabalho redundante.
•Das lições aprendidas com o Haggle-INFANT, elaborou-se o
Haggle-CHILD.
18. Arquitetura Haggle: HAGGLE-CHILD
•Foi adicionada algumas funcionalidades para tornar o
tratamento mais eficaz da informação, mesmo em
ambientes dinâmicos, incertos e não garantidos, onde
Haggle opera.
•A modificação mais radical é a orientação a eventos para
conseguir uma interação mais coordenada entre Gerentes.
•O novo modelo é DO-centric ;
•Utilização de Algoritmos de encaminhamento mais
eficientes;
•Implementação de recursos autonomicos;
•Gestão de recursos baseado em data-awareness;
•Foi mantida a abordagem centrada em informação.
19. Arquitetura Haggle: HAGGLE-CHILD
•Dois novos gerentes foram modificados e adicionados à
arquitetura: o Gerente de nó (substitui o Gerente de
nome) e o Gerente de Segurança, enquanto o Data
Manager foi renomeado para o Gerenciador de
DataObject.
•O novo núcleo Haggle-CHILD é composto por 2 novos
componentes:
HaggleKernel: O HaggleKernel é uma fila de eventos que
coordena a comunicação entre os gestores.
Datastore: Um repositório central com de dados e
informações sobre nós e suas Interfaces. O Datastore é
de leitura acessível a todos os gestores.
20. Arquitetura Haggle: HAGGLE-CHILD
•Os recursos autonomicos implementados:
Self-configuration de sistemas de roteamento
capaz de roteamento com conhecimento Zero.
Self-optimization
Self-adaptation
Self-learning
Self-protection
21. Arquitetura Haggle: HAGGLE-YOUNG
•As novas adições à arquitetura Haggle-YOUNG
foram:
Gestão de recursos
Interações com redes legadas e aplicações
Segurança
•Incluiu o conceito de Haggle como uma arquitetura
de rede search-based.
• Afastou-se do esquema de nomes hierárquico.
Utilizando namespaces plano facilitando a busca de
aspectos Haggle
22. Arquitetura Haggle: HAGGLE-YOUNG
•Foi introduzido um novo sistema de gestão de
recursos (utilizando protocolos autonomos);
•Implementada a interação com redes legadas
•Outras redes podem ser utilizadas para virtualizar
um nó Haggle.
•Gerente de Segurança otimizado.
•A questão de Privacidade é mais abordado.
23. Arquitetura Haggle: HAGGLE-YOUNG
Resolução baseada em pesquisa: Quem Quer este
item de dados?
•Haggle baseado no paradigma publish-subscribe
•Sistema local-aware
24. Arquitetura Haggle: HAGGLE-ADULT
•Traz refinamentos feitos nas áreas de gestão de
recursos e segurança.
•Melhoramentos:
Na capacidade de capturar contatos e
oportunidades;
Na capacidade de fornecer dados para destinos;
25. Arquitetura Haggle: HAGGLE-ADULT
•Community-based:
Recursos limitados. Nós com recursos escassos
(por exemplo, nível de bateria fraca ou pouca
disponibilidade de memoria) podem encaminhar os
dados importantes para os membros da mesma
comunidade.
Estado ocioso. Se um nó está em um estado
ocioso (sem tarefas a realizar), pode oferecer aos
membros da sua comunidade, recursos
computacionais
Economia de recursos. Um nó pode usar os
recursos computacionais de outros membros de sua
comunidade para preservar seus recursos próprios
para uso futuro
26. Arquitetura Haggle: HAGGLE-ADULT
•Compartilhamento de conteúdo social-aware
•Utilizar tanto o contexto e as informações sociais
sobre o usuário para se tornar capaz de suportar
reconfiguração dinâmica da rede e as condições de
conectividade intermitente (caracteristicas
autonoma):
•Nós Haggle tem agora a capacidade de auto-conhecer
o contexto social de seus usuários,se
auto-adaptar, de modo a otimizar a utilização dos
recursos com base neste conhecimento.
•Cooperacao de redes oportunistas.
27. Arquitetura Haggle: HAGGLE-ADULT
•Na arquitetura ADULTO Haggle, novos recursos de
segurança são definidas :
Certificados Haggle, todos nós, são capazes de comparar
certificados e descobrir discrepancias nos atributos, a fim
de encaminhar os pacotes corretamente;
Criptografia: Antes de uma mensagem ser enviada, um
nó criptografa o objeto de dados com uma chave
simétrica, que por sua vez é criptografada com a
chave pública do nó de destino e depois é enviado
juntamente com o objeto de dados criptografados.
28. Relação dos Recursos e Principais Características:
INFANT:
•Data and Communication Centric
•Context-aware
•Gerentes Autonomos
CHILD:
•DO-Centric
•Data-awareness
•Self-Configuration
•Self-Optimization
•Self-Learning
•Self-Protection
YOUNG:
•Search-Based
•Local-aware
ADULT
•Community-Based
•Social-Aware
•Self-Protection
•Self-Health
•Self-Awareness
•Self-Adapting
29. Questionamentos:
1 - Qual é o esquema de nomenclatura que usa Haggle: hierárquico ou apartamento?
flat - Haggle usa um conjunto de atributos para expressar metadados e interesses.
Metadados correspondentes aos interesses é a nossa forma de nomeação.
2 - Segurança: haggle usa a chave pública ou função hash?
chave pública - nós assinamos objetos de dados usando uma chave privada nos nós , a
chave pública para verificação é distribuído na descrição de cada nó. É claro, a
assinatura usa funções hash.
30. Questionamentos:
3 - Como funciona o roteamento?
resolução - fazemos resoluções no gráfico de relação (banco de dados) para identificar
os dados mais relevantes em cada nó de contato . Da mesma forma, usamos a mesma
resolução para identificar os nós mais interessado quando novos dados são inseridos.
encaminhamento - para além de resolução, protocolos de encaminhamento estão
identificando forwarders delegado, que é nós que não estão interessados em os dados,
mas pode carregá-lo com a expectativa de entregá-lo para nós interessados nos dados.
Módulos de encaminhamento são plug-ins que permitem que você implementar o seu
encaminhamento próprio. No momento temos implementado Profhet como um
exemplo.
31. Questionamentos:
> 4 - têm "encontro" em Haggle?
interface de descoberta - wifi hello e bluetooth discovery
descoberta de nó - troca de descrições de nós
> 5 - o que posso falar sobre escalabilidade?
dados - o que fazemos de dados de envelhecimento para manter o gráfico relação
fresca e limitada. O número de objetos de dados no gráfico relação impactos o tempo
de execução da operação de resolução. Temos testado com até 10.000 objetos com
desempenho razoável (alguns segundos em Nexus One), sem ajuste nossas consultas.
nós - os nós são representados como objetos no gráfico relação (veja acima).
Envelhecimento também se aplica às descrições nó.
nós - o número de contatos nó concorrente não significativamente Haggle impacto
como as resoluções não são feitos apenas no início de um contato nó e limitamos o
número de dados a ser transferidos durante um contato nó.
32. Comparacao com outros projetos centrados a Informação:
NetInf CCN PSIRP HAGGLE
Esquemas d
Nomeação
Um namespace
plano
Hierarquico Dois namespaces
planos
Namespaces plano
facilitando a busca de
aspectos Haggle
Segurança Ligação direta
do nome com a
chave publica
Ligação com o
publicador
através do
prefixo do
nome
Hash de
conteúdo+hash
chave
publica+autenticação
a nível d pacote
nó criptografa o objeto de
dados com uma chave
simétrica, que por sua vez
é criptografada com a
chave pública do nó de
destino
Roteamento Dois
roteamentos:
um para
encontro e
outro para
transporte
Broadcast do
pacote de
interesse para
fonte, dado
caminho
reverso
Dois roteamentos:
Um para encontro,
outro para
transporte + filtro de
Bloom
Oportunistico /
Disseminação dos Dados /
Relação de Confiança
Relação entre
Publicador e o
Assinante
Pub: Objeto de
informação.
As: Consulta
NRS
Pub: Prefixo
de nome
As: Envia o
interesse
Pub: Estabelece o
ponto de encontro
As: Estabelece o
contato
APIs baseada no
paradigma publish-subscribe,
Basicamente
igual do PSIRP.
Desacoplamento
ID/LOC
Informação
Desacopla Não desacopla Desacopla Quer separar nomes e
endereços de dados e
usuários tanto no sentido
espacial e temporal.
33. FUTURO DO PROJETO
•Melhoramento das técnicas de estabelecimento de conexão.
•Melhoramento das taxas de varredura, a fim de reduzir a interferência, e
deduzindo conectividade vizinho através de outros meios (médias
históricas ou implícita).
•Desenvolvimento de técnicas para reduzir utilização de energia nas
próximas gerações de Haggle.
•Mecanismos de privacidade e relação de confiança em redes de conexão
intermitente estão sendo refinados, bem como formas de prevenir
ataques de negação de serviço.
34. FUTURO DO PROJETO
“We are regularly running experiments on Haggle and make
improvements/fixes to the code when necessary for the experiments.
There is not project that succeeded Haggle.”
Best,
Christian Rohner
35. Conclusão
A arquitetura Haggle final é capaz de suportar a comunicação entre os
nós oportunistas dentro de uma comunidade, agir e reagir com o apoio
dos seus próprios dados, para explorar informações de contexto para
encaminhamento de dados e divulgação, e para garantir um intercâmbio
de dados entre os nós.
36. Referencia Bibliográfica
A arquitetura Haggle final é capaz de suportar a comunicação entre os
nós oportunistas dentro de uma comunidade, agir e reagir com o apoio
dos seus próprios dados, para explorar informações de contexto para
encaminhamento de dados e divulgação, e para garantir um intercâmbio
de dados entre os nós.