17.06.2015 Views

Monografia - UFF

Monografia - UFF

Monografia - UFF

SHOW MORE
SHOW LESS

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-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!