Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o...

12
Roteamento em Redes Tolerantes a Atrasos e Desconexões com Restrições de Buffer e Largura de Banda Gabriel Argolo M. Rocha, Lúcia M. A. Drummond, Anna Dolejsi Santos, Anand Subramanian Instituto de Computação - Universidade Federal Fluminense Rua Passo da Pátria 156 - Bloco E - 3 o andar, São Domingos, CEP: 24210-240, Niterói - RJ {grocha, lucia, annads, anand}@ic.uff.br RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento em Redes Tolerantes a Atrasos e Desconexões, considerando as restrições de largura de banda dos enlaces e de capacidade dos buffers dos nós. O AJRP tem como objetivo entregar o maior número de mensagens aos destinos, reduzindo a perda de mensagens na rede. Para evitar tais perdas, é proposto um mecanismo de escolha de rotas alternativas. Com o intuito de avaliar o algoritmo, foi desenvolvido um modelo de Programação Linear Inteira (PLI) que resolve o problema de roteamento em DTNs em sua forma offline. Os experimentos mostraram que, ao submeter uma baixa e alta carga na rede, o AJRP conseguiu entregar, respectivamente, cerca de 96% e 83% das mensagens, quando comparado com a solução ótima determinada para a versão offline do problema. PALAVRAS CHAVE. Redes DTN. Algoritmo Distribuído. Roteamento. Programação Linear Inteira. ABSTRACT This work proposes the distributed algorithm Alternative Journey and Routing Protocol (AJRP) for routing in Delay-disruption Tolerant Networks, considering constraints such as links’ bandwidth and nodes’ buffer capacity. The AJRP aims to deliver the largest number of messages to the destinations, decreasing the message loss in the network. In order to avoid such losses, a mechanism for choosing alternative routes is proposed. With the view to evaluate the algorithm, an Integer Linear Programming (ILP) model, that solves the DTNs routing problem in its offline version, was developed. The experiments showed that, when submitting a low and a high load into the network, the AJRP delivered, respectively, about 96% and 83% of the messages, when compared to the optimum solution obtained for the offline version of the problem. KEYWORDS. Delay Tolerant Network. Distributed Algorithm. Routing. Integer Linear Programming. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2460

Transcript of Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o...

Page 1: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

Roteamento em Redes Tolerantes a Atrasos e Desconexões com Restrições deBuffer e Largura de Banda

Gabriel Argolo M. Rocha, Lúcia M. A. Drummond,Anna Dolejsi Santos, Anand Subramanian

Instituto de Computação - Universidade Federal FluminenseRua Passo da Pátria 156 - Bloco E - 3o andar, São Domingos, CEP: 24210-240, Niterói - RJ

{grocha, lucia, annads, anand}@ic.uff.br

RESUMO

Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamentoem Redes Tolerantes a Atrasos e Desconexões, considerando as restrições de largura de banda dos enlaces e decapacidade dos buffers dos nós. O AJRP tem como objetivo entregar o maior número de mensagens aos destinos,reduzindo a perda de mensagens na rede. Para evitar tais perdas, é proposto um mecanismo de escolha de rotasalternativas. Com o intuito de avaliar o algoritmo, foi desenvolvido um modelo de Programação Linear Inteira(PLI) que resolve o problema de roteamento em DTNs em sua forma offline. Os experimentos mostraram que, aosubmeter uma baixa e alta carga na rede, o AJRP conseguiu entregar, respectivamente, cerca de 96% e 83% dasmensagens, quando comparado com a solução ótima determinada para a versão offline do problema.

PALAVRAS CHAVE. Redes DTN. Algoritmo Distribuído. Roteamento. Programação Linear Inteira.

ABSTRACT

This work proposes the distributed algorithm Alternative Journey and Routing Protocol (AJRP) for routing inDelay-disruption Tolerant Networks, considering constraints such as links’ bandwidth and nodes’ buffer capacity.The AJRP aims to deliver the largest number of messages to the destinations, decreasing the message loss in thenetwork. In order to avoid such losses, a mechanism for choosing alternative routes is proposed. With the viewto evaluate the algorithm, an Integer Linear Programming (ILP) model, that solves the DTNs routing problem inits offline version, was developed. The experiments showed that, when submitting a low and a high load into thenetwork, the AJRP delivered, respectively, about 96% and 83% of the messages, when compared to the optimumsolution obtained for the offline version of the problem.

KEYWORDS. Delay Tolerant Network. Distributed Algorithm. Routing. Integer Linear Programming.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2460

Page 2: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

1 Introdução

Redes Tolerantes a Atrasos e Desconexões (DTN - Delay-disruption Tolerant Network) possibilitam a trans-missão de dados quando dispositivos móveis estão conectados intermitentemente. Neste tipo de rede, a comuni-cação entre os nós é feita diretamente ou através de nós intermediários que atuam como roteadores. A conectivi-dade intermitente pode ser resultado da mobilidade dos nós, da potência de sinal ou até mesmo do gerenciamentode energia. DTNs são encontradas, por exemplo, em redes de sensores para monitoramento ecológico, na comuni-cação entre sistemas de satélites e em redes veiculares. Estas redes diferem da tradicional Internet, pois é assumidoque esta última possui conectividade ininterrupta, além da baixa taxa de perda de pacotes e do baixo retardo depropagação. Partindo deste pressuposto, os protocolos desenvolvidos para Internet cabeada são relativamenteineficientes para transmissão de dados em DTNs.

DTNs podem ser classificadas como previsíveis, também conhecidas como redes com contatos programados,e imprevisíveis. Na primeira, a variação da topologia ao longo do tempo é conhecida antecipadamente. As redesde satélites são um exemplo, onde as trajetórias dos satélites são previamente programadas. Já nas imprevisíveis,não se conhece de antemão as alterações que podem ocorrer na topologia como, por exemplo, nas redes ad-hoconde os nós podem se mover arbitrariamente ao longo do tempo (OLIVEIRA et al. (2007)).

A variação da topologia da rede pode dificultar o roteamento em DTNs ao longo do tempo. A necessidade derotear mensagens até o destino, assim como assegurar uma comunicação eficiente, são desafios encontrados nestestipos de rede. As desconexões frequentes causadas pelo deslocamento dos nós, o elevado tempo de permanênciade mensagens nas filas e a possível inexistência de um caminho fim-a-fim são alguns dos problemas existentes.

Vários trabalhos relacionados à modelagem de DTNs são apresentados na literatura. Ferreira (2002) descreveque tais redes podem ser representadas por grafos onde os intervalos de tempo de disponibilidade dos enlaces sãopreviamente definidos e associados a cada aresta. O autor define estas estruturas de dados como grafos temporaisou evolutivos. Com base neste modelo, um algoritmo centralizado para roteamento em DTNs foi projetado porBui-Xuan et al. (2003) e, posteriormente, implementado e avaliado por Goldman et al. (2006).

Jain et al. (2004) propuseram um modelo de Programação Linear (PL) cujo objetivo é minimizar o tempomédio de entrega das mensagens aos destinos. Este trabalho considera restrições quanto à largura de banda nosenlaces para transmissão das mensagens e quanto à capacidade de armazenamento (buffer) dos nós. O modeloadmite ainda que as mensagens podem ser fragmentadas para serem entregues ao destino. Os autores tambémimplementaram e avaliaram algoritmos de roteamento que usam informações previamente conhecidas sobre oestado da rede, onde aqueles que obtiveram melhor desempenho com relação ao roteamento das mensagens foramos que detinham maiores informações acerca das características da rede, tais como a demanda de mensagens decada nó e a capacidade dos buffers dos nós intermediários.

Balasubramanian et al. (2007) desenvolveram um modelo de PLI assumindo que o tempo de propagação éigual em todos os enlaces e que cada nó possui contato apenas com um outro a cada instante de tempo. Assim comoa formulação matemática de Jain et al. (2004), este modelo tem como objetivo minimizar o tempo médio de entregade todas as mensagens aos destinos. Ressalta-se que os autores não atribuem nenhuma restrição quanto ao bufferdos nós. Além do modelo de PLI, um algoritmo distribuído foi desenvolvido com o intuito de rotear as mensagensaté o destino por meio da replicação destas nos nós intermediários. Para evitar a sobrecarga de mensagens na redeimplementou-se um mecanismo que determina se uma mensagem deve ser replicada ou removida em determinadosnós intermediários. Este algoritmo não necessita de nenhuma informação prévia sobre o status da rede, porém,utiliza informações relativas ao histórico desta para estimar novas alterações na topologia.

Alguns algoritmos de roteamento existentes necessitam do conhecimento prévio de toda a rede, embora issonão seja simples de obter na prática. Outros algoritmos implementam um mecanismo de duplicação de mensagensna rede, o que pode acarretar em uma utilização ineficaz de recursos quando aplicado em redes com largura debanda limitada e reduzida capacidade de armazenamento dos nós. Além disso, até nestes casos não há garantiada entrega das mensagens, mesmo havendo uma rota fim-a-fim. Mediante este fato, apresenta-se neste trabalho

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2461

Page 3: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

um algoritmo distribuído, denominado Alternative Journey and Routing Protocol (AJRP), para roteamento emRedes Tolerantes a Atrasos e Desconexões previsíveis cujo objetivo é entregar o maior número de mensagens aosdestinos, além de executar um mecanismo de escolha de rotas alternativas para evitar o roteamento das mensagenspor nós com buffer saturado. O encaminhamento das mensagens é feito sem duplicá-las em nós intermediáriose cada nó conhece apenas os intervalos de disponibilidade para comunicação com seus vizinhos. Para realizaro roteamento, o AJRP usufrui de uma variação das tabelas de roteamento produzidas pelo algoritmo DistributedShortest Journey descrito por Santos et al (2008).

Apesar dos modelos da literatura considerarem as limitações encontradas em DTNs, a complexidade paraobtenção do resultado ótimo aumenta significativamente com o número de mensagens a serem entregues aosdestinos, resultando na impossibilidade de uma avaliação com alta carga de mensagens na rede. Assim sendo,para realização de uma avaliação mais refinada é necessária a elaboração de um modelo que apresente uma maiorescalabilidade frente à carga de mensagens. Neste contexto, o presente trabalho propõe um modelo de PLI paraDTNs que, baseado na abordagem multi-commodities flow (AHUJA et al. (1993)), permite resolver instâncias dedimensões elevadas. Esta formulação difere das demais, pois as variáveis são indexadas pelo fluxo de mensagensentre a origem e o destino, ao invés de referenciar cada mensagem gerada. Desta forma, a complexidade paraencontrar a solução ótima é diretamente proporcional ao número de nós e não ao número de mensagens da rede.

Uma comparação dos resultados do AJRP com a solução ótima foi realizada considerando as limitações delargura de banda dos enlaces e de capacidade de armazenamento dos nós. A avaliação mostra que o AJRP obteveum desempenho satisfatório, entregando cerca de 96% da demanda de mensagens quando atribuída baixa carga demensagens na rede e cerca de 83% quando submetida a uma alta carga.

O restante deste trabalho está organizado da seguinte forma. A Seção 2 descreve o problema de roteamentoem DTNs. A Seção 3 trata da formulação matemática proposta. A Seção 4 apresenta e analisa o algoritmodistribuído AJRP. Os resultados experimentais para análise do desempenho do AJRP são discutidos na Seção 5.Terminamos este trabalho na Seção 6 com as conclusões encontradas e propostas para trabalhos futuros.

2 Descrição do Problema de Roteamento em DTNs Previsíveis

DTNs previsíveis podem considerar várias informações conhecidas antecipadamente, tais como: a variaçãoda conectividade entre os nós da rede ao longo do tempo; as demandas de mensagens de cada nó; e a capacidade dearmazenamento destes. No entanto, a obtenção a priori de todo este conhecimento é praticamente inviável devidoao tamanho da rede ou até mesmo a própria dinâmica de geração das mensagens. O presente artigo considera queapenas a disponibilidade dos enlaces adjacentes é conhecida previamente por cada nó da rede.

O problema de roteamento em DTNs consiste em entregar as mensagens aos destinos de acordo com umamétrica pré-determinada, levando-se em conta as restrições de disponibilidade e capacidade dos enlaces paratransmissão das mensagens, assim como as limitações de armazenamento destas pelos nós da rede. Além disso,as desconexões presentes nestas redes podem implicar na inexistência de uma rota fim-a-fim entre a origem e odestino.

Para contornar tais limitações de conectividade, utiliza-se o conceito de jornada que, segundo Ferreira (2002),são definidas como rotas construídas considerando os instantes de tempo de existência dos enlaces. Desta forma,os nós intermediários armazenam em seus buffers as mensagens recebidas e as encaminham apenas em momentosadequados, evitando que estas sejam roteadas para enlaces que estavam disponíveis apenas no passado.

O roteamento das mensagens na rede segue uma métrica específica cujo objetivo é mensurar a qualidadeda solução obtida. Exemplos de métricas que podem ser adotadas são: tempo médio ou máximo para entregadas mensagens; percentual de mensagens entregues dentro de um prazo pré-estabelecido; e número máximo demensagens entregues. Este trabalho optou por explorar este último critério.

Uma arquitetura para DTN com contatos programados ou previsíveis deve considerar sincronismo de tempoentre os nós da rede (RFC4838, 2007). Neste trabalho, foi definido que cada instante de tempo é denominado

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2462

Page 4: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

pulso. Portanto, a cada pulso p os nós podem criar, receber, processar e enviar mensagens. Considera-se que acomunicação entre nós adjacentes é realizada dentro de um pulso, ou seja, o envio de uma mensagem não podeultrapassar o término do pulso em que esta teve sua transmissão iniciada. Assume-se ainda que a fragmentação dasmensagens não é admitida e que os canais de comunicação obedecem a ordem FIFO (first-in-first-out). Ressalta-seque os nós da rede usam esta informação para controle síncrono do tempo e verificação de quando cada enlaceadjacente está ativo para comunicação.

DTNs podem apresentar propriedades cíclicas, isto é, após o último pulso a contagem é reiniciada e a exe-cução retorna para o primeiro pulso, onde figura-se novamente a topologia de rede inicial. Para efeito de avaliaçãoadmitiu-se apenas a execução do primeiro ciclo e, por conseguinte, as mensagens não entregues neste período sãodescartadas.

Uma DTN previsível pode ser representada por um grafo orientado e subdividido em instantes de tempo demesma dimensão. Cada nó da rede possui identificação distinta e é mapeado por vértices dispostos em diferentesinstantes de tempo. Cada enlace é simbolizado por dois arcos de capacidade finita, onde um deles conecta umvértice v1 no instante tx ao v2 em tx+1, enquanto o outro arco conecta o vértice v2 no instante tx ao v1 em tx+1.No caso do buffer, os vértices de origem e destino referenciam o mesmo nó da rede.

Figura 1. Exemplo de representação de uma DTN

A Figura 1 mostra um exemplo da representação adotada. O grafo ilustrado contém 4 nós (a, b, c e d)indexados pelos instantes de tempo e seu ciclo de execução ocorre a cada 4 pulsos. Observa-se que entre osinstantes 1 e 2 os enlaces entre os nós a e b e entre os nós c e d estão disponíveis. No entanto, entre os instantes 2e 3 apenas a comunicação entre a e b permanece disponível. Como pode ser notado, os vértices a e d não possuemconectividade, mas o d é alcançável por a através do vértice intermediário b. Para tanto, basta que, no pulso 1, aencaminhe a mensagem para b, que por sua vez deverá armazenar a mensagem no pulso 2 e reencaminhá-la parad no pulso 3. Verifica-se que a recíproca não é verdadeira, pois não existe jornada partindo de d até a.

3 Formulação Matemática Proposta

Esta seção apresenta um modelo de PLI para o problema de roteamento em DTNs. Apesar das formulaçõesmatemáticas não serem adequadas para a resolução de problemas online seu uso é importante para obtenção delimites, os quais são usados como valores de referência para avaliação de algoritmos online não exatos. Isto posto,a formulação descrita nesta seção é empregada como um método para resolução offline do roteamento em DTNs.Salienta-se que, nesta versão, todas as mudanças são previamente conhecidas, o que possibilita o aproveitamento

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2463

Page 5: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

mais eficiente da largura de banda dos enlaces e dos buffers dos nós. O modelo proposto explora a abordagem deMulti-Fluxos (AHUJA et al. (1993)), onde são mapeados os fluxos de mensagens de cada nó origem.

Notação

Conjuntos

V Conjunto de vérticesT Conjunto de instantes de tempo, numerados de 0 a tfAt Conjunto de arcos presentes no instante t ∈ T , A0 = ∅A Conjunto de arcos presentes em algum instante, A =

⋃t∈T At

K Conjunto de vértices origens de mensagens, K ⊆ V

Dados

uij Capacidade do arco (i, j) ∈ Abi Capacidade do buffer de i ∈ Vcij Custo para transmitir uma mensagem pelo arco (i, j) ∈ Ari Custo para armazenar uma mensagem no buffer de i ∈ Vdk

i Quantidade de mensagens que i ∈ V deve receber da origem k ∈K até o instante tfotk Quantidade de mensagens geradas por k ∈K em t ∈ T

Variáveis

xktij Quantidade de mensagens com origem em k ∈K transmitida em t ∈ T pelo arco (i, j) ∈ At

ykti Quantidade de mensagens com origem em k ∈K ocupando o buffer de i ∈ V em t ∈ T

zkti Quantidade de mensagens com origem em k ∈K recebida por i ∈ V em t 6= 0 ∈ T

Formulação Matemática

min

T∑t=1

K∑k=1

(∑i∈V

riykti +

∑i,j∈At

cijxktij

)(1)

∑j:(j,i)∈At−1

xk(t−1)ji −

∑j:(i,j)∈At

xktij + y

k(t−1)i − ykt

i − zkti = 0 ∀i ∈ V, k 6= i ∈ K, t 6= 0 ∈ T (2)

∑j:(j,k)∈At−1

xk(t−1)jk −

∑j:(k,j)∈At

xktkj + y

k(t−1)k − ykt

k = −otk ∀k ∈ K, t 6= 0 ∈ T (3)

K∑k=1

xktij ≤ uij ∀i, j ∈ V, t ∈ T (4)

K∑k=1

ykti ≤ bi ∀i ∈ V, t ∈ T (5)

T∑t=1

zkti = dk

i ∀i ∈ V, k ∈ K (6)

yk0i = 0 ∀i ∈ V, k ∈ K (7)

ykti , zkt

i ∈ Z+ ∀i ∈ V, k ∈ K, t 6= 0 ∈ T (8)

xktij ∈ Z+ ∀k ∈ K, t ∈ T, (i, j) ∈ At (9)

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2464

Page 6: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

A função objetivo (1) minimiza a soma dos custos gerados pela transmissão das mensagens nos enlaces eutilização do buffer dos nós. As restrições (3) e (2) estão relacionadas à conservação do fluxo de mensagem. Asrestrições (4) e (5) garantem, respectivamente, que a capacidade dos enlaces e dos buffers não seja extrapolada. Asrestrições (6) asseguram que todas as mensagens enviadas sejam devidamente entregues aos destinos. Finalmente,as restrições (7), (8) e (9) garantem que as variáveis devem assumir valores inteiros e não-negativos.

Vale ressaltar que a formulação matemática foi elaborada com o intuito de não elevar a complexidade dasolução à medida que o número de mensagens aumenta, ou seja, ao invés de indexar cada mensagem nas variáveisdas equações, foi indexado apenas o fluxo de mensagens entre uma origem e um destino, o que significa que acomplexidade desta abordagem é diretamente proporcional à quantidade de vértices e não à quantidade de men-sagens. Assim sendo, é possível avaliar redes cuja quantidade de mensagens a serem trafegadas é relativamenteelevada. Cabe ressaltar que o modelo não prevê perda de mensagens. Em vista disso, nos experimentos apresen-tados na Seção 5 são avalidas apenas instâncias que possuem solução viável admitindo-se que todas as mensagensserão entregues.

4 Roteamento em DTNs Previsíveis

Nesta seção é apresentado o algoritmo Alternative Journey and Routing Protocol que realiza o roteamentode mensagens em DTNs considerando as restrições de largura de banda dos enlaces e de capacidade de armazena-mento dos nós. A estratégia de roteamento distribuído proposta é composta de duas etapas. Primeiramente,executa-se o algoritmo Distributed Shortest Journey desenvolvido por Santos et al. (2008), cujo objetivo é cons-truir uma tabela de roteamento em cada nó da rede, mapeando as jornadas viáveis até os destinos. A partir destastabelas, realiza-se o envio e recebimento das mensagens empregando um mecanismo de escolha de rotas alterna-tivas evitando, assim, a sobrecarga de mensagens em determinados nós da rede.

Conforme mencionado na Seçao 2 um ciclo é dividido em instantes de tempo denominados pulsos. Emcada pulso, quando necessário, os nós enviam mensagens para os vizinhos que estão com enlace disponível eprocessam as mensagens recebidas. Assume-se que a comunicação é realizada dentro de um pulso e que osatrasos de transmissão são desprezíveis. Classifica-se as mensagens como referentes à aplicação, ou seja, advindasde uma camada de software de nível superior ao roteamento, ou como mensagens de controle, que servem comoauxílio para algoritmos executarem o roteamento. Define-se ainda que mensagens são perdidas apenas quandoo nó receptor atingiu sua capacidade de armazenamento ou quando não foi possível encaminhá-las em instantesapropriados devido aos enlaces já estarem completamente ocupados com outras mensagens.

4.1 Tabelas de Roteamento

O algoritmo Distributed Shortest Journey (SANTOS et al., 2008) constrói em cada nó uma tabela de rotea-mento com os intervalos de tempo factíveis para envio de mensagens para os destinos. O critério adotado paraconstrução das tabelas é minimizar o número de saltos que as mensagens de aplicação fazem em nós intermediáriosaté atingir o destino. Cada nó da rede troca mensagens de controle com seus vizinhos anunciando o conjunto denós conhecidos até o momento. As informações enviadas para os nós vizinhos são as identificações dos nós al-cançáveis, o pulso corrente, os intervalos de tempo possíveis para o envio de mensagens, o número de saltosassociados a cada intervalo de tempo e o número do ciclo de execução corrente. Ao receber mensagens de con-trole de determinado vizinho os nós atualizam suas jornadas na tabela de roteamento e as enviam para os demaisvizinhos.

A adaptação a seguir foi realizada neste algoritmo com o intuito de manter múltiplas jornadas para cada nódestino da tabela de roteamento. Ao receber mensagens de atualização das jornadas, os nós armazenam não apenasa jornada que oferece um roteamento com menor número de saltos, mas sim as R melhores jornadas. Desta forma,pode-se escolher a melhor jornada a ser empregada no momento de envio das mensagens, ou seja, é possível

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2465

Page 7: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

impedir o envio de mensagens para os enlaces cujos vizinhos não dispõem de buffer para recebê-las.As estruturas de dados empregadas pelo algoritmo Distributed Shortest Journey são a tabela de roteamento

(Figura 2) e o vetor de vizinhos (Figura 3). Este vetor, aqui denominado de vecInter, armazena as informaçõesiniciais conhecidas pelo nó. Cada posição do vetor contém os dados de um nó vizinho, isto é, sua identificação, acapacidade do enlace e os intervalos de disponibilidade para comunicação. Estas informações são representadaspelos campos {vizID, capacidade, up[1], up[2], ..., up[max], down[1], down[2], ..., down[max]}, onde max é onúmero máximo de intervalos de tempo disponíveis.

A tabela de roteamento contém a lista dos nós destinos da rede e, para cada um deles, são armazenadas Rjornadas. Estas encontram-se em ordem de relevância, cuja determinação é feita de forma crescente de acordocom a quantidade de saltos para alcançar o destino. Cada jornada contém um conjunto ordenado de intervalos,onde para cada um é mantido o início e fim do mesmo, a distância até o destino, o identificador do vizinho paraencaminhar a mensagem e o campo update[], que controla se as atualizações realizadas já foram propagadas paratodos os vizinhos.

Figura 2. Tabela de Roteamento

Figura 3. Vetor de Vizinhos

Com relação à complexidade do algoritmo, analisa-se a quantidade de dados trafegados na rede, assim comoo tempo decorrido para o término da construção das tabelas de roteamento. Este último, por sua vez, é verificadopela quantidade de pulsos por se tratar de um sistema síncrono e distribuído. Conforme descrito por Santos et

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2466

Page 8: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

al (2008), a complexidade de tempo é da ordem de O(CT ), onde T é a quantidade de pulsos em cada ciclode execução e C é a quantidade máxima de ciclos, e a complexidade de mensagens de controle é da ordem deO(V A), onde V é o número de vértices e A é a quantidade de arcos. A adaptação realizada não influencia nestascomplexidades, dado que apenas armazena-se as R jornadas para cada destino considerando as mensagens quejá eram recebidas, mas anteriormente descartadas. No entanto, a quantidade de informação a ser armazenada éacrescida, sendo da ordem de O(V RY ), onde R é a quantidade de jornadas para cada destino e Y é a quantidadede intervalos disponíveis para cada jornada.

4.2 Algoritmo AJRP

Uma vez construídas as tabelas de roteamento, cada nó tem conhecimento dos momentos adequados paraenvio de mensagens de aplicação para os demais nós da rede. No entanto, à medida que mais mensagens são gera-das, tanto a disputa pelos canais de comunicação como a utilização dos buffers dos nós intermediários aumentam,congestionando as jornadas e provocando o atraso na entrega ou até a perda de mensagens.

Em virtude disto, o AJRP faz uso de mensagens de controle com o intuito de balancear a carga de mensagensentre as jornadas disponíveis para cada nó da rede. Isto é feito através do envio do percentual de ocupação dobuffer dos nós para seus vizinhos. A partir desta informação, os nós escolhem como preferencial uma jornadaque passa pelo vizinho com maior disponibilidade de armazenamento de mensagens no momento. Isto posto,as mensagens de aplicação são encaminhadas para jornadas que apresentam menos congestionamento, previnindoeventuais gargalos na rede. Além disso, o roteamento é realizado minimizando o número de saltos que a mensagemde aplicação realiza até chegar ao destino, reduzindo a utilização de recursos da rede e, consequentemente, a perdade mensagens devido às limitações de armazenamento dos nós e à capacidade de trasmissão dos enlaces da rede.

Para avaliação do AJRP foi empregada uma estrutura de dados para mapear os instantes de tempo de geraçãodas mensagens pelos nós. Embora o algoritmo não faça uso desta informação para tomada de decisões de rotea-mento, ou seja, os nós não detêm conhecimento a priori da lista de demandas futuras, esta informação é necessáriapara simulação da geração das mensagens nos momentos pré-estabelecidos nos experimentos.

Os dados utilizados pelo Algoritmo 1, assim como as principais variáveis e suas inicializações, estão descritosa seguir.

DadosN = conjunto de nós da redeM = conjunto de enlaces da redeR = conjunto de jornadas para cada destinoY = conjunto de intervalos de tempoNeigi = conjunto de vizinhos do nó imyRanki = identificação do nó i

Variáveisp = 0SETi, message, bufferi = nulosetSize, bufferUsagei = 0bufferSizei = tamanho do buffer do nó istatusi[j] = 0, ∀ j ∈ Neigi

vecInteri[j] = (vizID, capacidade, up[], down[]), ∀ nj ∈ Neigi

vecUsagei[j] = nulo, ∀ j ∈ Neigi

routeTablei[j][r][y] = nulo, ∀ j ∈ N , r ∈ R e y ∈ YdemandListi[j][y] = quantidade de mensagens para envio, tal que j ∈ N e y ∈ Y

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2467

Page 9: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

Algoritmo 1 : AJRP

1 Entrada:2 p > 0, MSGi(p), origi(SETj) = (ni, nj) , SETj ∈

MSGi(p);

3 Ação:4 Para toda message ∈ SETj

5 Se (message.destId 6= myRanki)

6 Se (bufferUsagei < bufferSizei)

7 enqueue(message);8 bufferUsagei = bufferUsagei + 1;

9 Para toda message ∈ demandListi[j][y] tal que j ∈ Ne p ⊂ y, y ∈ Y

10 Se (bufferUsagei < bufferSizei)

11 enqueue(message);12 bufferUsagei = bufferUsagei + 1;

13 Para todo enlace (i, j) ativo em p tal que j ∈ Neigi

14 SETi[k] = nulo ∀ k < setSize; setSize = 0

15 Enquanto ( ((message = dequeue(j)) 6= nulo) E(setSize ≤ vecInteri(j).capacidade) )

16 bufferUsagei = bufferUsagei − 1;17 setSize = setSize + 1; SETi[setSize] = message;

18 Envia SETi para nj ;

19 percent = (bufferUsagei/bufferSizei) ∗ 100;

20 Envia Control(percent) para nj ;

21 Entrada:22 p > 0 , Controli(percent) tal que origemi = nj ;

23 Ação:24 vecUsagei[j] = percent;

25 choice = vecUsagei[0];26 Para todo k ∈ N

27 Para todo r ∈ R, y ∈ Y tal que y > p

28 Se vecUsagei[j] < choice

29 choice = vecUsagei[j];

30 routeTablei[k].choice = choice;

O algoritmo AJRP é síncrono e sua apresentação é feita através de dois eventos que, por sua vez, demandamuma ação específica. O primeiro, refere-se à contagem do tempo, onde, a cada pulso p, mensagens de aplicaçãopodem ser recebidas pelos nós e armazenadas na variável bufferi (linhas 4 a 8). Mensagens também podem sergeradas neste momento de acordo com a variável demandListi (linhas 9 a 12). O envio destas, e de outras que

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2468

Page 10: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

estiverem no buffer do nó, é feito caso o enlace com o vizinho apropriado esteja disponível e sua capacidade aindanão tenha sido esgotada (linhas 13 a 19). As funções enqueue(message) (linha 7 e 11) e dequeue(j) (linha 15)são empregadas, respectivamente, para incluir uma mensagem no final do buffer do nó e para extrair a primeiramensagem que tenha um destino tal que a jornada para este passe pelo vizinho j.

O segundo evento trata das mensagens de controle recebidas. A ação tomada neste caso é verificar para cadadestino da tabela de roteamento, representada pelo variável routeTablei, qual jornada está menos congestionadae considerar esta como preferencial para o roteamento das próximas mensagens (linhas 25 a 31).

Com relação a quantidade de mensagens de controle enviadas pelo AJRP, observa-se que os N nós da redeenviam mensagens para seus vizinhos. Assumindo um grau d de vizinhança, tem-se então uma complexidade demensagens de controle da ordem de O(Nd). Considerando ainda que a informação possui tamanho total de bbytes, a complexidade de bits é, portanto, O(Ndb).

5 Resultados Experimentais

Para avaliar o algoritmo AJRP foram realizadas execuções utilizando computadores conectados em LAN.Cada máquina possui processador Intel Pentium IV 2.8GHz e memória RAM de 512MB, rodando o sistemaoperacional Ubuntu V3. A implementação foi feita em C utilizando biblioteca MPI para troca de mensagens.

A rede avaliada possui 20 nós, cada um com três vizinhos, e a tabela de roteamento foi configurada paramanter até três jornadas para cada destino. O tempo de execução foi dividido em 144 instantes (T = 144) e osenlaces foram associados a 1, 3 e 5 intervalos de disponibilidade com duração respectiva de 30, 10 e 5 instantes detempo em cada intervalo. O padrão de disponibilidade dos enlaces e o grau de vizinhança adotados são similaresaos identificados em experimentos descritos por Jain et al. (2004) e Balasubramanian et al. (2007).

Para avaliar a carga na rede adotou-se como medida a quantidade de mensagens criadas em cada nó emdeterminado instante de tempo para serem entregues a um destino específico. As mensagens foram geradas acada seis instantes de tempo e com tamanho fixo de 1KB. Ao todo, cada nó envia mensagens para onze diferentesdestinos em instantes distintos. Define-se então que uma carga de 50 mensagens significa que cada nó criará 50mensagens a cada seis instantes de tempo para serem entregues a um destino. Em outras palavras, cada nó enviaum total de 11 x 50 mensagens durante 66 instantes de tempo.

Os resultados do AJRP foram comparados com a solução ótima obtida através da execução do PLI apresen-tado na Seção 3 utilizando o solver CPLEX versão 10.2 (ILOG S.A. (2006)), onde foram criadas mais de 150 milvariáveis e foram aplicadas em torno de 70 mil restrições.

No Mensagens No de Variáveis No de RestriçõesModelo proposto Modelo de Jain et al. Modelo proposto Modelo de Jain et al.

50 152400 330000 62740 24146075 152400 495000 62740 360960100 152400 660000 62740 480460125 152400 825000 62740 599960150 152400 990000 62740 719460

Tabela 1. Variáveis e Restrições geradas pelos modelos

Para verificar a escalabilidade do Modelo de PLI foram realizados testes com carga de 90000 mensagensna rede, resultando na geração de cerca de 200 milhões de mensagens ao todo. Esta quantidade representa maisde 1000 vezes a carga máxima viável especulada por Jain et al. (2004) e Balasubramanian et al. (2007) paraobtenção da solução ótima. A Tabela 1 apresenta a diferença entre a quantidade de variáveis e restrições geradaspor cada modelo para as instâncias utilizadas na avaliação do AJRP. Conforme descrito na Seção 3, observa-seque, no modelo proposto, o número de variáveis e restrições independe da quantidade de mensagens na rede. Jáno modelo de Jain et al. (2004) o número de variáveis e restrições cresce em função do número de mensagens,implicando em uma maior dificuldade para determinar a solução ótima. Vale ressaltar que uma comparação direta

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2469

Page 11: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

entre as soluções obtidas por ambos os modelos não pode ser realizada, um vez que a funçao objetivo do modelode Jain et al. (2004) está em função do tempo, enquanto a do modelo proposto está em função do número de saltosdas mensagens na rede.

A avaliação do algoritmo de roteamento explorando tal carga não foi possível devido a limitações de memóriano ambiente de teste montado. No entanto, para comparar o desempenho do AJRP com relação ao ótimo, foramrealizadas reduções na largura de banda dos enlaces, assim como na capacidade de armazenamento dos nós, como objetivo de verificar um limite superior, ou seja, identificar uma configuração de rede onde não existe soluçãoviável para roteamento. Para tanto, estipulou-se uma carga de 150 mensagens, atribuído um buffer de 10MB a cadanó e variada a capacidade do enlace durante cada instante de tempo t em 512KB/t, 384KB/t, 300KB/t e 256KB/t.Verificou-se, então, a inexistência de solução viável quando figura-se uma largura de banda inferior a 300KB/t.A partir desta informação, fixou-se a largura de banda em 384KB/t e, usando a mesma carga de mensagens narede, variou-se a capacidade de armazenamento dos nós em 10MB, 5MB, 2,5MB, 1,25MB e 640KB. O resultadoobtido mostrou que o roteamento é inviável quando os nós possuem buffer com tamanho de 640KB. Finalmente,reduziu-se a carga de mensagens em 125, 100, 75 e 50 com o objetivo de avaliar o comportamento do algoritmoquando aplicadas cargas moderadas e baixas na rede.

Figura 4. Entrega de mensagens variando a Demanda e a Largura de Banda

O impacto das mensagens de controle sobre a lagura de banda foi desconsiderado, uma vez que estas repre-sentam apenas 0,004% do tamanho de uma mensagem de aplicação, isto é, um valor ínfimo comparado com umenlace de capacidade de 300KB/t.

Figura 5. Entrega de mensagens variando a Demanda e o tamanho do Buffer

A Figura 4 apresenta o percentual de mensagens entregues pelo algoritmo AJRP quando variou-se tanto alargura de banda dos enlaces como as cargas na rede. A redução na capacidade dos enlaces demonstra o impactosignificativo que ocorre no roteamento das mensagens, onde o percentual de entrega fica em torno de 90% parauma banda de 300KB/t, mesmo com carga baixa na rede. Verifica-se ainda que para uma carga de 150 mensagens,

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2470

Page 12: Roteamento em Redes Tolerantes a Atrasos e Desconexões … · RESUMO Este trabalho propõe o algoritmo distribuído Alternative Journey and Routing Protocol (AJRP) para roteamento

o percentual de entrega é reduzido. Contudo este valor ainda é relativamente alto, ficando em torno de 86% naexecução com enlaces com capacidade de 512KB/t e 83% com largura de banda de 300KB/t.

Como pode ser visualizado na Figura 5, foram utilizados tamanhos de buffer distintos e, ainda assim, mais de95% das mensagens são entregues pelo AJRP quando uma baixa carga é considerada. Além disso, com uma cargamoderada de 75 a 100 mensagens, observa-se que o recebimento de mensagens no destino fica em torno de 90%.Por fim, verifica-se que para uma carga de 150 mensagens, o percentual de entrega é inferior chegando a 83% naexecução com buffer de 10MB e 71% com buffer de 1,25MB.

6 Conclusões

Este trabalho apresentou o algoritmo distribuído AJRP para roteamento em DTNs cujo objetivo é maximizara entrega de mensagens aos destinos considerando as restrições de largura de banda dos enlaces e as limitaçõesde capacidade de armazenamento dos nós. Um modelo para DTNs foi proposto e sua formulação matemática foielaborada para obtenção da solução ótima de roteamento. O AJRP foi avaliado comparando os resultados obtidoscom a solução ótima para o modelo offline, onde foram exploradas variações da capacidade de transmissão dosenlaces e tamanho dos buffers dos nós com o objetivo de identificar as configurações extremas para realizaçãodo roteamento. Nas execuções realizadas, o AJRP conseguiu entregar mais de 95% das mensagens considerandobaixa carga na rede e em torno de 71% com alta carga.

Como continuação deste trabalho, pretende-se desenvolver algoritmos que adotam outras métricas de rotea-mento como, por exemplo, entrega das mensagens considerando seus deadlines. Outros pontos importantes aserem pesquisados são a avaliação do desempenho do AJRP com outras topologias, além da comparação destecom outros algoritmos existentes na literatura.

Referências

Ahuja, R. K., Magnanti, T. L., and Orlin, J. B.. Network Flows: Theory, Algorithms, and Applications,Prentice Hall, Local, 1993.Balasubramanian, A., Levine, B., Venkataramani, A. (2007). DTN Routing as a Resource AllocationProblem In Proc of ACM SIGCOMM.Bui-Xuan, B., Ferreira, A., Jarry, A. (2003). Evolving Graphs and Least Cost Journeys in Dynamic Net-works, in Proc of WiOpt. INRIA Press, pp. 141-150.Chen, C. (2005). Advanced Routing Protocol for Satellite and Space Networks, Master’s Thesis, GeorgiaInstitute of Technology.ILOG S.A., CPLEX 10 user’s manual, 2006Santos, A., Rocha, G., Drummond, L., Gorza, M. (2008). Algoritmos Distribuídos para Roteamento emRedes Tolerantes a Atrasos e Desconexões. In WSCAD 2008, Mato Grosso do Sul, Brasil, pp. 35-42.Ferreira, A. (2002). On Models and Algorithms for Dynamic Communication Networks: The Case forEvolving Graphs. In Proc of ALGOTEL, pp. 155-161, Méze, France. INRIA Press.Goldman, A., Monteiro, J., Ferreira, A. (2006). Performance Evaluation of Dynamic Networks using anEvolving Graph Combinatorial Model.Jain, S., Fall, K., Patra, S. (2004). Routing in a Delay Tolerant Network. In Proc of ACM SIGCOMM.Jones, E.P.C, Li, L., and Ward, A.A.S. (2005). Practical Routing in Delay Tolerant Networks. In WDTN2005: Proc of ACM SIGCOMM. New York, NY, USA: ACM Press, pp. 237-243.Oliveira, C. T. e Duarte, O. C. M. B. (2007). Uma Análise da Probabilidade de Entrega de Mensagens emRedes Tolerantes a Atrasos e Desconexões, in XXV SBRC, Belém, PA, Brasil, pp. 293-305.RFC4838 (2007). Delay-Tolerant Networking Architecture.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2471