Monografia - UFF
Monografia - UFF
Monografia - UFF
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.5 Complexidade Computacional do Método 42<br />
um contador de pacotes enviados (variável currentP robe), incrementado a cada chamada<br />
da função. Como os probes são enviados a 4 taxas diferentes, calcula-se o módulo de<br />
currentRate.<br />
A função recvP robe é disparada sempre que o protocolo de roteamento recebe um<br />
pacote de probe. Seus argumentos são o identificador do vizinho (parâmetro from) e a<br />
taxa do probe recebido. De posse destas informações, a função atualiza as estatísticas do<br />
vizinho em questão. Esta atualização segue a mesma metodologia utilizada pela métrica<br />
ETX e suas variações. A única diferença é que no MARA são mantidos 4 conjuntos de<br />
estatísticas por vizinho, uma para cada taxa de probe.<br />
Após a atualização das estatísticas, a função recvP robe recalcula o custo do enlace<br />
para o vizinho from. Esta funcionalidade é delegada para a função updateCost. O primeiro<br />
passo dessa função é decidir qual dos 4 conjuntos de estatísticas do vizinho utilizar.<br />
Esta decisão é feita através da função probeRateChoice (apresentada no algoritmo da Figura<br />
3.4). Uma vez selecionado o conjunto de estatísticas, o conjunto de taxas disponíveis<br />
é varrido, procurando-se pela taxa que minimiza o custo da métrica (linhas 21 a 29). Este<br />
procedimento é realizado com o auxílio da função computeET XAtRate, apresentada na<br />
Figura 3.1. Se alguma taxa resulta em um custo diferente de infinito, ela é atribuída ao<br />
enlace.<br />
3.5 Complexidade Computacional do Método<br />
Como as redes em malha sem fio são, em geral, soluções de baixo custo, o hardware dos<br />
roteadores utilizados costuma apresentar limitações de desempenho. Desta forma, o custo<br />
computacional é um aspecto importante em qualquer solução para este tipo de rede.<br />
De fato, o cálculo do custo dos enlaces no MARA é mais caro que em outras métricas<br />
tradicionais, como a ETX, por exemplo. Isto se deve, em parte, ao fato de que a expressão<br />
do custo de cada enlace deve ser calculada uma vez para cada taxa de transmissão<br />
disponível. Entretanto, a quantidade de taxas disponíveis é uma constante. Logo,<br />
assintoticamente, este cálculo tem complexidade O(1).<br />
Já o custo do cálculo das estimativas de ETX em cada taxa disponível (função<br />
computeET XAtRate, na Figura 3.1) depende da eficiência da busca na tabela. Utilizando<br />
o ajuste de curvas apresentado na Seção 3.3.2, a busca se resume à lista de tamanhos<br />
de quadro disponíveis (observe que, no caso das taxas, pode ser realizado um acesso<br />
direto). Para efeito da implementação do MARA, o tamanho dos pacotes de probe foi fi-