From Pastry to CrossROAD: CROSS-layer Ring Overlay for AD hoc networks

sábado, 24 de novembro de 2007
Postado por Carlos Souza 0 comentários

Abstract
P2p systems for mobile ad hoc networks are currently an open research area. Most of the existent solutions were thought for the wired networks, where thousands of nodes participate to the same service, while ad hoc networks are generally characterized by limited dimensions and scarce resources. In this paper, a performance evaluation of a structured p2p system (Pastry), running on a real ad hoc network, will be presented, and a new optimized solution, called CrossROAD, will be defined. CrossROAD exploits a cross-layer architecture to reduce the communication overhead introduced by Pastry and, at the same time, maintains all the basic principles of structured overlay networks.
by Franca Delmastro
Analisa o Pastry numa rede ad hoc e mostra que ele não possui bom deseempenho neste cenário. Propõe uma solução cross-layer para contornar esse problema, o CrossROAD.

  • Utiliza um protocolo de roteamento pró-ativo
    • Conhece a topologia da rede inteira
  • Uma rede sobreposta para cada serviço
    • Tabela de roteamento informa também os serviços que cada nó possui
  • Endereço lógico é um hash do IP
    • Cada nós consegue construir a rede sobreposta individualmente
    • Não há necessidade de realizar roteamento
  • Nenhuma conexão remota é necessária para entrar na rede e nem no caso de deixarem a rede
  • Não precisa ficar verificando se os nós estão vivos, protocolo de roteamento já faz isso

Blogged with Flock

Cross-layer design optimizations in wireless protocol stacks

Postado por Carlos Souza 0 comentários

Abstract
The performance of applications on mobile devices is affected by the device constraints of memory, processing power, battery life and the variations in the wireless network. The variations in the wireless network will be compounded in the next generation networks—3G and beyond—when the devices move across heterogeneous networks. To allow interoperability with the Internet, existing standard protocol stacks would be deployed in the new networks and mobile devices. However, these protocol stacks which are architected and implemented in a layered manner do not function efficiently in mobile wireless environments. Cross-layer feedback in the protocol stack would be useful to improve the efficiency of these protocol stacks. In this paper, we discuss the benefits of cross-layer feedback on the mobile device and present a representative survey.
by Vijay T. Raisinghani and Sridhar Iyer
Mostra a informação que pode ser extraída de cada camada da pilha TCP/IP. Tem informações faltando. O artigo é muito simples, não precisa ser lido, basta dar uma olhada na resenha.

Trechos
  • The standard protocol stacks are architected [4] and implemented in a layered manner and function inefficiently in mobile wireless environments [5]. This is due to the highly variable nature of wireless links and the resource-poor nature of mobile devices.
Interações
  • Física:
    • A camada de rede pode selecionar uma interface diferente dependendo da taxa de erros;
    • MAC pode fazer controle de potência (estudos mostram que o tamanho do frame é importante no controle de potência);
    • A camada física pode ajustar a codificação e potência do sinal de acordo com a energia do dispositivo.
  • MAC:
    • Trata classes de tráfego diferentemente de acordo com os requerimentos de cada uma;
    • Pode aplicar técnicas de modulação e codificação mais confiáveis para aplicações críticas (esses esquemas não são aplicados sempre pois aumentam consumo de energia e overhead);
    • Mobile-IP detecta uma mudança de subrede na camada de rede, porém a camada MAC consegue detectar isso mais rapidamente através do monitoramento da força do sinal. Utilizar essa informação pode diminuir o tempo de handoff;
    • Dá para ajustar o tamanho dos quadros baseado na qualidade do canal. Quadros grandes aumentam a taxa de transferência, mas se o canal estiver ruidoso as perdas são muito grandes

  • Transporte
    • A aplicação pode configurar diferentes classes de prioridade configurando parâmetros do TCP (janela de recepção por exemplo);
    • TCP pode informar a taxa de perda para que a aplicaçao ajuste a taxa de transmissão
  • Aplicação
    • A aplicação pode usar a informação sobre a qualidade do canal ou da rede para mudar o seu comportamento. Transmissões de mídia podem mudar a qualidade da codificação e clientes de e-mail podem evitar baixar arquivos.

CROSS-LAYER SELF-HEALING MECHANISMS IN WIRELESS NETWORKS

sexta-feira, 23 de novembro de 2007
Postado por Carlos Souza 0 comentários

Abstract
The use of wireless mobile ad-hoc networks (MANETs) has gained rapid momentum, both in the commercial and non-commercial sectors. In the commercial sector, sensor networks are being considered for deployment for a wide variety of purposes including to sense robustness of elevators, bridges, and other structures and to explore the earth (e.g., oil, soil type, etc.). Examples in the non-commercial (military) sector include the use of MANETs in the battlefield. Regardless of the particular sector in which MANETs are being employed, one thing is common: MANETs are being used to collect, process, and relay vital information. As a result, it is critical that nodes in these networks be equipped to make decisions to ensure the integrity of information in an inherently unreliable environment. In this paper, we propose a Cross-layer Approach To Self-healing (CATS), in which nodes use information from each layer of the protocol stack to help the routing protocol maintain network reliability in the presence of failures. These actions serve both to provide uninterrupted communications amidst unforeseen failures and also to reduce packet latency and energy consumption.
by Christopher M Sadler, Latha Kant and Wai Chen

O artigo descreve uma plataforma cross-layer para tornar um nó móvel resistente a falhas. A informação para fazer isso está espalahada ao longo das camadas e por isso ele propõe uma arquitetura Cross-Layer. Ele mostra que informação ele usa de cada camada:
  1. Física: Monitora bateria, memória e CPU. Quando um desses recursos se tornar escasso, ele pára as tarefas não críticas das camadas acima para garantir que tarefas críticas consigam ser executadas
  2. MAC: Gera estatísticas sobre a taxa de colisões e taxa de congestionamento (local). A partir daí ele faz controle de potência.
    ...
  3. Rede: Encontra nós não alcançáveis e muda rotas. Entrega essa informação para a aplicação que pode passar a se comunicar com outro nó.
  4. Transporte: À medida que recebe pacotes duplicados, ele extrai alguma informação sobre a latência da rota pois pacotes recebidos duas vezes indicam que a rota tá demorando tanto para entregar o pacote que o remetente acha que a mensagem se perdeu e envia uma duplicata. Ele usa essa informação na camada de rede para tentar achar uma nova rota.
  5. Aplicação: Cria uma lista de nós intercambeáveis. Se ele se comunica com o nó N1 ele cria uma lista de outros nós com a mesma capacidade de N1. No caso de N1 falhar, ele passa a se comunicar com um da lista.

MobileMAN: Design, Integration, and Experimentation of Cross-Layer Mobile Multihop Ad Hoc Networks

segunda-feira, 19 de novembro de 2007
Postado por Carlos Souza 0 comentários

Abstract
In the previous article [1], via experimental studies, we have analyzed the performance of a TCP/IP layered architecture in multihop ad hoc networks. The experimental results point out that a legacy protocol stack does not operate efficiently in ad hoc networks, and cross layering is a promising approach to improve the performance. Cross layering opens a second phase in the ad hoc network design. In this article we present the cross-layer architecture and related protocols, developed in the MobileMAN project. By implementing a full prototype of this architecture, we show that it significantly outperforms a legacy TCP/IP layered architecture.
A idéia do artigo é introduzir uma camada vertical (NeSt - Network Status) que server como um respositório de informação. Cada camada programa uma interface do modelo convencional de camadas e uma interface com a NeSt, assim mantem-se a modularidade das camadas e é possível usar informação cross-layer. Protocolos que não usam a NeSt funcionam da maneira convencional.

Trechos interessantes
  • The basic idea behind this technique is to make information produced/collected by a protocol available to the whole protocol stack, so as to enable optimizations and improve network performance.
  • At one end, solutions based on layer triggers implement interdependencies between protocols maintaining compatibility with strict layering. In this case the information exchange is limited to adjacent protocols. A full cross-layer design represents the other extreme; it introduces stackwide layers’ interdependencies that enable the optimization of each protocol’s performance by exploiting the full knowledge of the network status collected at different layers of the protocol stack.

Robust Broadcast: Improving the reliability of broadcast transmissions on CSMA/CA

quinta-feira, 1 de novembro de 2007
Postado por Carlos Souza 0 comentários

This paper presents a scheme to improve the efficiency of radio MAC protocols in the case of broadcast and multicast transmissions, like TCP/IP multicasting. First, the reliability problems with broadcast packets and their consequences are analysed. Then the Robust Broadcast scheme is presented, which decreases the probability of loss of broadcast packets over MAC protocols based on CSMA/CA. Finally, the new protocol is simulated against other simple solutions to show how it performs.

by Jean Tourrilhes


Este artigo mostra o problema de confiabilidade em transmissões via broadcast em redes sem fio. O inconveniente destas redes é que o transmissor não sabe quantos nós vão ouvir o broadcast, então ele não sabe com quem negociar a transmissão. Além disso, é impossível usar esquemas como RTS/CTS pois vários nós enviando o CTS ao mesmo tempo levaria a colisões.

Kademlia: A Peer-to-peer Information System Based on the XOR Metric

terça-feira, 16 de outubro de 2007
Postado por Carlos Souza 0 comentários

Abstract
We describe a peer-to-peer distributed hash table with provable consistency and performance in a fault-prone environment. Our system routes queries and locates nodes using a novel XOR-based metric topology that simplifies the algorithm and facilitates our proof. The topology has the property that every message exchanged conveys or reinforces useful contact information. The system exploits this information to send parallel, asynchronous query messages that tolerate node failures without imposing timeout delays on users.
by Petar Maymounkov and David Mazi`eres
Artigo dos autores do Kademilia.
  • A folha mais próxima é aquela que compartilha o maior prefixo
  • Xor é unidirecional. Para uma determinada distância e um ponto X te, apenas um ponto a essa distância. Unidirecionalidade garante que buscas pela mesma chave convergem pelo mesmo caminho. Assim, rola de cachear coisas no meio do caminho afim de aliviar hot spots
  • Um nó guarda o endereço de k nós situados a [2^i:2^i+1], 0 <= i <= 160. Ou seja, k nós de cada subárvore. Esta lista de nós é chamada k-bucket. Nós antigos ficam mais tempo no balde pois são mais prováveis de ficar.

Incentives Build Robustness in BitTorrent

Postado por Carlos Souza 0 comentários

Abstract
The BitTorrent file distribution system uses tit-for-tat as a method of seeking pareto efficiency. It achieves a higher level of robustness and resource utilization than any currently known cooperative technique. We explain what BitTorrent does, and how economic methods are used to achieve that goal.

by Bram Cohen

Escrito pelo autor do BitTorrent, descreve em alto nível o funcoinamento do BitTorrent.


Características legais do BT:
Piece download
  • Utiliza pipeline de requisições para evitar ficar esperando pela confirmação de envio de cada subpiece
  • Utiliza a política de rarest first para escolha de pieces pois:
    • Faz com que todo mundo se interesse pelos mesmos pieces, então o peer acaba obtendo um piece desejado
    • Piecees mais comuns são deixados para o final do download já que eles são mais provãveis de serem encontrados então
    • Distribui melhor o arquivo pela primeira vez pois baixa do seed os pedaços ainda não baixados por ninguém
    • No caso do seed não querer mais fazer upload, reduz as chances de um pedaço ficar indisponível, pois distribui mais rapidamente os mais raros
  • No início do download, rarest first não é utilizado. O que interessa para o peer é conseguir um piece o mais rápido possível, assim ele pode participar da rede logo. Como os pieces mais raros estão distribuídos em menos nós, a taxa de transferência pode ser menor e demoraria mais para conseguir este piece. Então os peer pedem um piece aleatório.
Resource alocation
  • Optimistic unchoke: Simply uploading to the peers which provide the best download rate would suffer from having no method of discovering if currently unused connections are better than the ones being used. To fix this, at all times a BitTorrent peer has a single ‘optimistic unchoke’, which is unchoked regardless of the current download rate from it.