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.

2.2 Algoritmos de Adaptação Automática de Taxa 18<br />

unicamente na taxa de perda de quadros e tenta evitar que estas ocorram em grandes<br />

rajadas.<br />

O algoritmo utiliza dois contadores de eventos sucessivos: um de quadros transmitidos<br />

com sucesso e outro de falhas nas transmissões. Inicialmente, estes contadores são zerados<br />

e a taxa mais alta disponível é escolhida. No caso de uma transmissão bem sucedida, o<br />

ARF zera o contador de falhas, incrementa o contador de sucessos e verifica se o último<br />

ultrapassou um limiar superior configurável (por padrão, 10 sucessos). Caso o limiar seja<br />

ultrapassado, a taxa é incrementada, se possível (i.e., se houver uma taxa mais alta), e os<br />

contadores são zerados. No caso de haver falha na transmissão de um quadro, o procedimento<br />

é análogo. O contador de sucessos é zerado e o de falhas é incrementado. Caso o<br />

número de falhas ultrapasse um limiar (por padrão, 2 falhas), a taxa é decrementada (se<br />

possível) e os contadores são zerados. A Figura 2.1 mostra um pseudocódigo das funções<br />

utilizadas pelo ARF para a manipulação destes contadores.<br />

function frameLoss(failureCounter, successCounter, currentRate, failureThreshold) {<br />

failureCounter++;<br />

successCounter = 0;<br />

if (failureCounter > failureThreshold) {<br />

}<br />

}<br />

failureCounter = 0;<br />

if (currentRate != lowerAvailableRate) {<br />

currentRate = nextLowerRate(currentRate);<br />

}<br />

function frameSucess(failureCounter, successCounter, currentRate, successThreshold) {<br />

failureCounter = 0;<br />

successCounter++;<br />

if (successCounter > successThreshold) {<br />

}<br />

}<br />

successCounter = 0;<br />

if (currentRate != higherAvailableRate) {<br />

currentRate = nextHigherRate(currentRate);<br />

}<br />

Figura 2.1: Funções utilizadas pelo algoritmo ARF para a manipulação dos contadores.

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

Saved successfully!

Ooh no, something went wrong!