• Aucun résultat trouvé

EXAMINATION OF THE REPORTS OF STATES PARTIES ON THE CURRENT STATUS OF ELEMENTS INSCRIBED ON THE LIST OF INTANGIBLE CULTURAL HERITAGE IN NEED OF

Frente aos trabalhos encontrados na literatura, a utilização o co- nhecimento da quantidade de buffer para tomada de decisão de ro- teamento é um aspecto inovador presente neste trabalho. Todos os trabalhos sobre protocolos de roteamento que utilizam métricas para construir rotas, consideram a velocidade, qualidade do enlace e a ener- gia residual dos nodos. Porém, como observado em [Hull, Jamieson e Balakrishnan 2004] e recentemente em [Agarkhed, Biradar e Mytri 2012], o estouro de buffer é um dos fatores que causam a perda de pa- cotes e por consequência degrada o desempenho dos protocolos. Por isso, a informação da situação de buffer pode ajudar a reduzir a perda de pacotes.

O componente de ciência de congestionamento é responsável por prover as medições sobre a situação de buffer dos nodos. Esta métrica é importante, pois o conhecimento da situação de congestiona- mento pode evitar consequentes retransmissões provocadas por perda de pacotes, o que ocasiona uma grande disputa pelo canal. O traba- lho [Fdili Youssef Fakhri 2012], posterior ao RACE, também utilizou o conhecimento de buffer para realizar decisão de roteamento melho- rando o desempenho do protocolo MMSPEED, discutido na subseção 2.1.3.

Na camada de rede do protocolo RACE, cada nodo tem dois ti- pos de buffers, para pacotes com e sem prioridade, como pode ser visto na Figura 3.1. A fila normal é organizada de maneira FIFO, enquanto a outra é uma fila de prioridade. As prioridades na fila são computa- das considerando o tempo de criação do pacote. Os pacotes que foram criados há mais tempo, têm maior prioridade. O tempo de criação do

pacote indica que ele está a mais tempo viajando pela rede, então para garantir que ele possa chegar com o menor atraso possível, ele recebe a prioridade de ser transmitido.

Para ficar ciente da situação de congestionamento, cada nodo precisa manter o conhecimento da situação de buffer da vizinhança. Isto é feito pela cálculo do grau de congestionamento médio (utilizando média móvel) MBr, que consiste da situação local do nodo vizinho no subconjunto Fn. Esse processo é ilustrado pela Equação 3.3, onde Bri é a normalização do buffer local. O termo Br é calculado de acordo com a equação 3.4 onde Bc e Bd são, respectivamente, o espaço (buf- fer) utilizado das filas normal e de prioridade e Bcmax e Bdmax são respectivamente a capacidade máxima dos buffers das filas normal e de prioridade. MBr= PN i Bri N (3.3) Br= (Bcmax− Bc) + (Bdmax− Bd) (3.4)

Considera-se que as aplicações de todos os nodos tenham perío- dos diferentes para os envios das mensagens. Sendo assim, espera-se que haja nodos que enviem mais mensagens que outros. Dessa forma, serão geradas regiões mais congestionadas que outras, e é este fato que a métrica de buffer pretende explorar. A Figura 3.2 ilustra uma situação de congestionamento, onde a métrica de buffer é utilizada para evitar regiões congestionadas. Nesta figura, os nodos encaminham mensa- gens por regiões alternativas onde os nodos estão descongestionados,

Fig. 3.2: Evitando Regiões Congestionadas

evitando que nodos com os limites máximos de buffers atingidos sejam escolhidos. Dessa forma, que novas mensagens possam ser descarta- das.

O processo para o cálculo da métrica de buffer residual é execu- tado em duas etapas. A primeira, descrita pelo algoritmo 2, é executado por todos os nodos para informarem aos seus vizinhos sobre as suas si- tuações atuais de buffer. Os espaços utilizados dos buffers das filas normal e prioridade e as suas capacidade máximas são os parâmetros de entrada do algoritmo. Como resultado o algoritmo devolve o buffer residual do nodo local e essa informação é anexada a mensagem bea- conque será transmitida para os nodos vizinhos no próximo período

de envio.

Input: Buffer Normal Utilizado (Bc), Buffer Prioridade Utilizado (Bd), Buffer Normal Máximo

(Bcmax),Buffer Prioridade Máximo (Bdmax) Output: Buffer Residual (Br)

Br= (Bcmax- Bc) + (Bdmax- Bd); return Br;

Algorithm 2: Algoritmo para o Cálculo do Buffer Residual Local

A segunda etapa, ilustrada no algoritmo 3, ocorre no nodo fonte que mantem o conhecimento da média da situação de buffer dos vizi- nhos. O conjunto de nodos vizinhos é a entrada do algoritmo. Como resultado, o buffer residual médio de cada nodo vizinho é atualizado para uso posterior na escolha das métricas.

Input: Conjunto de Nodos Vizinhos N eighbor T amanhoJ anela = 5;

foreach Neighbor i do

for j = 1 to TamanhoJanela do

Neighbor[i].br = Neighbor[i].br + Neighbor[i].br[j]; end

Neighbor[i].br = Neighbor[i].br/TamanhoJanela; end

Algorithm 3: Algoritmo para o Cálculo do Buffer Residual Médio dos Vizinhos

3.4.4 Estimador de Qualidade de Enlace

O componente estimador de qualidade de enlace foi implemen- tado na camada MAC e pode ser usado sob demanda da camada de ro- teamento para computar a métrica de qualidade de enlace. De acordo com [Woo, Tong e Culler 2003], é essencial ter um estimador de quali- dade de enlace, pois a escolha do melhor enlace está diretamente rela- cionada com o sucesso na transmissão de pacotes. Como consequência da perda de pacotes, os nodos sensores gastam mais energia devido à necessidade de retransmissão, além do aumento da disputa pelo canal. Dentre os diversos estimadores de qualidade de enlace existen- tes, foi escolhido o WMEWMA (Window Mean Exponentially Weigh- ted Moving Average) [Woo e Culler 2003], pois, além de ser um esti- mador clássico da literatura, a sua implementação é simples e usa de maneira eficiente a memória, o que, para um nodo sensor é uma carac- terística importante em virtude das restrições de recursos. A Equação 3.5 é usada para calcular o WMEWMA, sendo LQEα,W(n) ∈ [0,1], α ∈ [0,1] e P RR = Nts

Nt e P RR ∈ [0,1] , onde Nts é o número de

pacotes transmitidos com sucesso e Nté o número de pacotes transmi- tidos. O parâmetro W é o tamanho da janela de tempo de observação do LQE e α é o peso dado ao histórico.

LQEα,W(n) = α ∗ LQEα,W(n − 1) + (1 − α) ∗ P RR (3.5)

O processo para o cálculo da qualidade de enlace é expresso pelo algoritmo 4. A cada vez que uma mensagem é enviada para um nodo vizinho, a taxa de pacotes recebida é computada (PRR). Após

um tempo W o PRR é filtrado com WMEWMA para o cálculo final do LQE. O conjunto de nodos vizinhos e os parâmetros α e W são as entradas do algoritmo. Como resultado, o LQE de cada nodo vizinho é atualizado para uso posterior na escolha das métricas.

Input: Conjunto de Nodos Vizinhos N eighbor,α,W foreach Neighbor i do Neighbor[i].prr = Neigh- bor[i].qtdPacotesEnviadosSucesso/Neighbor[i].qtdPacotesEnviados; end foreach Neighbor i do for j = 1 to W do Neighbor[i].lqe[j] = α * Neighbor[i].lqe[j] + (1-α) * Neighbor[i].prr; end end

Algorithm 4: Algoritmo para o Cálculo do LQE dos Vizinhos