• Nenhum resultado encontrado

Descri¸ c˜ ao completa da t´ ecnica h´ıbrida proposta

6 ENCAMINHAMENTO COORDENADO POR

6.1 Defini¸ c˜ oes iniciais

6.4.2 Descri¸ c˜ ao completa da t´ ecnica h´ıbrida proposta

O procedimento completo do m´etodo de encaminhamento proposto ´e descrito a seguir.

1. Modo de encaminhamento greedy : Se existir um ou mais vizinhos confi´aveis mais pr´oximos do destino que o n´o de posse do pacote, encaminhar o pacote para o vizinho com o maior progresso em dire¸c˜ao ao n´o de destino. Se n˜ao h´a n´os confi´aveis mais pr´oximos ao destino, armazenar a posi¸c˜ao atual no pacote e alterar o modo de opera¸c˜ao para ECP.

2. Modo ECP:

2.1. Selecionar a esta¸c˜ao base com o menor ˆangulo para a linha posi¸c˜ao atual/destino, como descrito anteriormente na se¸c˜ao 6.4 e armazenar esta

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 102

Figura 6.7 - Conex˜oes por n´umero de saltos com esta¸c˜oes base posicionadas em 4 pontos de um determinado cen´ario.

informa¸c˜ao no pacote. Alterar a esta¸c˜ao base que ir´a guiar o ECP pode causar loops.

2.2. Se o n´o de posse do pacote (fonte) e o destino estiverem no mesmo quadrante (como visto anteriormente) e, o destino estiver mais pr´oximo da esta¸c˜ao base que o n´o fonte, encaminhar o pacote para o vizinho confi´avel com a menor profundidade em rela¸c˜ao a esta¸c˜ao base selecionada.

2.2.1. Se o pacote atingir uma posi¸c˜ao mais pr´oxima ao destino do que a posi¸c˜ao armazenada no pacote no passo 1 (melhor posi¸c˜ao at´e aquele momento), voltar para o modo de encaminhamento geogr´afico greedy. 2.2.2. Todo n´o operando em modo ECP deve calcular a coordenada em que o

progresso ´e mais desejado (x ou y). Se a posi¸c˜ao do pr´oximo n´o leva a um maior progresso nessa coordenada, alterar o modo de encaminhamento do pacote para geogr´afico greedy.

2.3. Se o n´o fonte e o n´o de destino n˜ao estiverem no mesmo quadrante e, a esta¸c˜ao base selecionada estiver mais pr´oxima do destino do que o n´o fonte,

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 103

Figura 6.8 - Malha de caminhos conhecidos formada pela utiliza¸c˜ao de 4 esta¸c˜oes base em um determinado cen´ario.

encaminhar o pacote para o vizinho confi´avel com a menor profundidade em rela¸c˜ao a esta¸c˜ao base selecionada. As condi¸c˜oes propostas nos passos 2.2.1 e 2.2.2 tamb´em devem ser verificadas.

2.4. Se as condi¸c˜oes 2.2 e 2.3 n˜ao forem satisfeitas, alterar o modo de encaminhamento do pacote para um algoritmo com entrega garantida (por exemplo, CR, GFG, GOAFR+, etc).

3. Algoritmo com entrega garantida: Neste modo o pacote ser´a entregue por um algoritmo com entrega garantida ou voltar´a ao modo de encaminhamento geogr´afico greedy (assim que atingir uma posi¸c˜ao melhor do que a armazenada no pacote como “melhor posi¸c˜ao”).

No passo 2.2.2 o algoritmo de ECP implementa um mecanismo de retorno antecipado, de forma a voltar ao modo de roteamento geogr´afico greedy antes de encontrar uma posi¸c˜ao mais pr´oxima do destino do que a melhor posi¸c˜ao armazenada no passo 1. Esse mecanismo ´e baseado na heur´ıstica do eixo de maior progresso. Nesta heur´ıstica o n´o de posse do pacote deve verificar se a posi¸c˜ao do pr´oximo vizinho ir´a trazer maior progresso no eixo de maior necessidade. Se esta condi¸c˜ao for verdadeira, o pacote voltar´a ao modo de encaminhamento geogr´afico greedy. Esta heur´ıstica garante que o n´o escolhido para o encaminhamento n˜ao ir´a selecionar o n´o anterior atrav´es de roteamento geogr´afico e, portanto, ´e livre de loops. Este mecanismo ´e implementado atrav´es do algoritmo 5.

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 104 Algoritmo 5 Mecanismo de retorno antecipado para encaminhamento geogr´afico greedy

se |xdest− xcurrent| > |ydest− ycurrent| ent˜ao // ´E necess´ario maior progresso no eixo x

se |xnexthop− xcurrent| > |ynexthop− ycurrent| ent˜ao //Verifica se o pr´oximo n´o est´a mais pr´oximo do destino

se |xdest− xnexthop| < |xdest− xcurrent| ent˜ao

Encaminhamento ← GREEDY fim se

fim se sen˜ao

// ´E necess´ario maior progresso no eixo y

se |xnexthop− xcurrent| < |ynexthop− ycurrent| ent˜ao //Verifica se o pr´oximo n´o est´a mais pr´oximo do destino

se |ydest− ynexthop| < |ydest− ycurrent| ent˜ao

Encaminhamento ← GREEDY fim se

fim se fim se

A figura 6.9 demonstra o funcionamento do mecanismo de retorno antecipado utilizado. Essa figura parte do princ´ıpio de que a estrat´egia de encaminhamento geogr´afico greedy levou o pacote a ser entregue at´e o n´o H, que n˜ao possui conex˜ao com o n´o de destino. Portanto o pacote ficar´a preso em um n´o vazio. Nesse momento o algoritmo ECP ´e acionado, sendo que o n´o H armazena sua posi¸c˜ao no pacote como a melhor posi¸c˜ao at´e o momento. Ent˜ao o pacote ´e encaminhado pela rota H − G − F − A at´e que em A verifica-se que o n´o B proporciona progresso em dire¸c˜ao ao destino e se enquadra nos requisitos do mecanismo de retorno antecipado, ou seja, apresenta maior progresso onde ´e mais necess´ario.

´

E poss´ıvel notar que se a ´unica forma de retornar ao encaminhamento greedy for uma posi¸c˜ao mais pr´oxima do que a melhor posi¸c˜ao armazenada no pacote (n´o H), o pacote somente voltaria ao modo greedy no n´o E. Devido ao mecanismo de retorno antecipado ´e poss´ıvel voltar ao modo greedy no n´o B. Neste caso um enlace entre os n´os B e F poderia causar um loop. No entanto, tal enlace seria muito improv´avel devido a forma com que as profundidades s˜ao distribu´ıdas. A prote¸c˜ao mais simples para este problema seria a exclus˜ao dos vizinhos do n´o anterior ao voltar a utilizar o encaminhamento geogr´afico, pois esta informa¸c˜ao j´a ´e utilizada na verifica¸c˜ao de simetria.

No decorrer das an´alises de simula¸c˜oes percebeu-se que a volta antecipada ao encaminhamento geogr´afico greedy e at´e mesmo a volta pela melhor posi¸c˜ao tornavam a t´ecnica h´ıbrida proposta mais suscept´ıvel a entrar em caminhos sem sa´ıda. Ao voltar

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 105

Figura 6.9 - Exemplo de um retorno antecipado para modo geogr´afico greedy atrav´es do mecanismo do maior progresso utilizado no ECP

rapidamente para o encaminhamento geogr´afico o conhecimento topol´ogico parcial do ECP passa a ser desconsiderado. Portanto, uma modifica¸c˜ao no algoritmo foi desenvolvida, de forma a melhor utilizar este conhecimento topol´ogico existente. Nesta modifica¸c˜ao o algoritmo ECP foi estendido e segue a rota em dire¸c˜ao a esta¸c˜ao base escolhida at´e que n˜ao haja mais progresso, onde trˆes situa¸c˜oes devem ser analisadas (figura 6.10):

• Se o n´o roteador respons´avel por encaminhar o pacote estiver no mesmo quadrante que o n´o de destino, volta ao encaminhamento geogr´afico se a distˆancia do destino para a esta¸c˜ao base escolhida for maior do que a distˆancia do n´o roteador para esta mesma esta¸c˜ao base (ou seja, n˜ao haver´a progresso seguindo em dire¸c˜ao a esta¸c˜ao base);

• Se o n´o roteador estiver em um quadrante cruzado ao do n´o de destino, volta ao encaminhamento geogr´afico se a distˆancia do destino para a esta¸c˜ao base escolhida for maior do que a distˆancia do n´o roteador para o n´o de destino (da mesma forma que o primeiro caso, seguir em dire¸c˜ao a esta¸c˜ao base nesta situa¸c˜ao ir´a afastar o pacote do seu destino);

• Se o n´o roteador respons´avel por encaminhar o pacote n˜ao estiver no mesmo quadrante ou em um quadrante cruzado ao n´o de destino, volta ao encaminhamento geogr´afico se a distˆancia do destino para a esta¸c˜ao base escolhida for maior do que a distˆancia do n´o roteador para esta mesma esta¸c˜ao base (mesma condi¸c˜ao do mesmo quadrante).

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 106

Figura 6.10 - Exemplo demonstrando as trˆes situa¸c˜oes onde deixa-se de se obter progresso em dire¸c˜ao ao destino por ECP

Figura 6.11 - Exemplo demonstrando as trˆes situa¸c˜oes onde deixa-se de se obter progresso em dire¸c˜ao ao destino por ECP

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 107 Atrav´es da figura apresentada torna-se evidente que a passagem dos pacotes por esta¸c˜oes base somente poder´a ocorrer nos casos de quadrantes cruzados, o que ajuda a diminuir o tr´afego na regi˜ao das esta¸c˜oes base. O algoritmo com entrega garantida dever´a ser acionado sempre que ao voltar ao encaminhamento geogr´afico greedy por estas m´etricas n˜ao houver um caminho que gere progresso em dire¸c˜ao ao destino. O algoritmo completo com estas modifica¸c˜oes pode ser observado na figura 6.11. Os resultados obtidos nas simula¸c˜oes s˜ao baseados nesta implementa¸c˜ao modificada do algoritmo de roteamento.

6.5

Complexidade do algoritmo desenvolvido

As redes de sensores e atuadores sem fio geralmente utilizam padr˜oes de comunica¸c˜ao com baixa largura de banda, devido a restri¸c˜oes de consumo de energia e por serem utilizadas tradicionalmente em aplica¸c˜oes com baixas taxas de tr´afego de dados. Ainda, normalmente s˜ao formadas por dispositivos com baixa capacidade de processamento e mem´oria. Portanto, a complexidade de algoritmos de roteamento nestas redes deve ser avaliada do ponto de vista do esfor¸co computacional necess´ario para encaminhar um pacote, tanto quanto pela ocupa¸c˜ao de banda na rede para que este encaminhamento ocorra.

Os n´os sensores/atuadores em uma RSASF permanecem a maior parte do tempo em modo de espera, ou seja, modos de baixo consumo de energia. A atividade pode ocorrer periodicamente, sob demanda, por eventos ou quando o roteamento de um pacote ´e necess´ario. No momento em que h´a atividade em um n´o, normalmente est´a associada a comunica¸c˜ao. Esta comunica¸c˜ao possui uma parcela de tempo em processamento do algoritmo de roteamento e uma parcela de tempo para enviar o pacote (ocupa¸c˜ao de banda). Em redes de baixa largura de banda, geralmente a janela de tempo necess´aria para transmitir um pacote de dados ´e muito maior do que a necess´aria para processar o encaminhamento do pacote. Devido a este motivo, em redes de sensores e atuadores sem fio, h´a preferˆencia em aumentar o custo computacional do encaminhamento de mensagens em detrimento ao aumento de mensagens de controle no protocolo de roteamento (POTTIE; KAISER, 2000; HEINZELMAN; CHANDRAKASAN; BALAKRISHNAN, 2002). Ainda, em Heinzelman, Chandrakasan e Balakrishnan (2000) ´e realizado um estudo que determina que o custo em energia de computa¸c˜ao local ´e muito inferior ou custo em energia para a transmiss˜ao de dados.

O algoritmo desenvolvido neste trabalho utiliza as mensagens de atividade para a manuten¸c˜ao da vizinhan¸ca para a troca de informa¸c˜ao topol´ogica, n˜ao aumentando o custo

CAP´ITULO 6. ENCAMINHAMENTO COORDENADO POR PROFUNDIDADE 108 de mensagens de controle em rela¸c˜ao aos algoritmos geogr´aficos tradicionais. Quando analisamos a complexidade computacional dos algoritmos geogr´aficos, a planariza¸c˜ao torna-se um fator limitante, pois os procedimentos de planariza¸c˜ao comumente utilizados s˜ao de complexidade O(N2), onde N ´e o n´umero de vizinhos de um determinado n´o. J´a o encaminhamento greedy e o encaminhamento por profundidades possuem complexidade O(N ). Portanto, o fator dominante com respeito a complexidade em um algoritmo h´ıbrido utilizando grafos planares ´e o pr´oprio procedimento de planariza¸c˜ao. Este procedimento existe tanto no algoritmo proposto como nas t´ecnicas cl´assicas de encaminhamento geogr´afico de pacotes utilizando grafos planares. As demais t´ecnicas existentes na literatura geralmente aumentam o n´umero de mensagens de controle, o que comprovadamente ´e menos eficiente do que aumentar o custo computacional local.

7

PROJETO DE UMA REDE