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.6 Otimizações 47<br />
1: function updateCostMARARP(from) {<br />
2:<br />
3: usedStatistics = probeRateChoice(from);<br />
4: sourceRate = probeRates[usedStatistics];<br />
5: P ab = nLq[from, usedStatistics];<br />
6: P ba = Lq[from, usedStatistics];<br />
7:<br />
8: for (c in sizeClasses) {<br />
9:<br />
10: bestCost = infinity;<br />
11:<br />
12: for (i in availableRates) {<br />
13:<br />
14: newETX = computeETXAtRateMARAP(P ab , P ba , sourceRate, i, c);<br />
15: newCost = (newETX * c) / i;<br />
16:<br />
17: if (newCost < bestCost) {<br />
18:<br />
19: bestCost = newCost;<br />
20: bestRate = i;<br />
21: }<br />
22: }<br />
23:<br />
24: if (bestCost != infinity) {<br />
25:<br />
26: rateForLink[from, c] = bestRate;<br />
27: }<br />
28: costForLink[from, c] = bestCost;<br />
29: }<br />
30: }<br />
Figura 3.10: Pseudocódigo da função modificada no MARA-RP.<br />
updateCost original esta variável representava um vetor, na função modificada ela se transforma<br />
em uma tabela bidimensional. Cada entrada desta tabela relaciona um vizinho,<br />
uma classe de tamanho de pacotes e a taxa de transmissão correspondente.<br />
É importante notar que a variável costF orLink continua com a mesma dimensão.<br />
Ao contrário da rateF orLink, essa variável não passa a ser dependente do tamanho de<br />
quadro. De fato, o pseudocódigo apresentado supõe que o percorrimento das classes<br />
de tamanho na repetição mais externa ocorre em ordem crescente de intervalos. Desta<br />
forma, o custo final do enlace (para efeito das decisões de roteamento) será relativo ao<br />
maior quadro possível.