• Nenhum resultado encontrado

ordenador nos ciclos seguintes, distribuindo a energia consumida de forma uniforme. No LEACH, a probabilidade que os nós são denidos líderes de grupo, chamada de T (n), é calculada pela fórmula abaixo: T(n) = ( P 1−P ×(r×(mod1 P)) se n ∈ G 0 caso contrário

Onde r indica o número de ciclos desde a última vez que este nó foi líder de grupo, P é a porcentagem desejada de líderes de grupo e G é o conjunto de nós que não foram coordenadores nos últimos 1

P ciclos do LEACH. Esta fórmula apresenta um comportamento exponencial em

relação a valores crescentes de r. Como a fórmula apresenta operações de multiplicação e divisão de valores de ponto utuante, realizamos diversas simplicações à fórmula, mantendo apenas o seu comportamento exponencial, como mostramos abaixo.

T(n) = (

2r−B−1 se r < B

1 caso contrário

Nesta fórmula, B indica o tamanho em bits da variável utilizada para registrar a probabilidade de que o nó será coordenador neste ciclo. Na implementação do TinyOS, por exemplo, B é denido como 16, pois o gerador de número aleatórios da plataforma gera valores de 16 bits. Assim, caso o nó tenha acabado de ser eleito coordenador, ele terá a probabilidade de 2−B de ser

coordenador no próximo ciclo, 2−B+1 no próximo ciclo, e assim em diante. Esta fórmula pode

ser facilmente implementada com implementações de deslocamento de bits e operações lógicas OU e E. Se representamos a probabilidade de 100% como todos os bits da variável em 1, para reduzir a probabilidade para aproximadamente 50% devemos denir o bit mais signicativo da variável como 0 e os bits restantes em 1. Para diminuir esta probabilidade pela metade, devemos mudar o bit mais signicativo que esteja em 1 para 0, e assim sucessivamente, até conseguirmos a probabilidade desejada.

A segunda regra visa ajustar o número de coordenadores de acordo com a densidade de cada área da rede. Estatisticamente, em áreas mais densas, a probabilidade de se ter mais coordenadores é maior que em áreas menos densas. Para manter a densidade de coordenadores por região próxima de um valor ideal, medido empiricamente para cada rede, aplicamos a seguinte regra: A probabilidade de um nó se tornar coordenador é inversamente proporcional ao número de nós sensores na sua vizinhança. Vericamos empiricamente que a densidade de coordenadores na rede se torna mais uniforme com o uso dessa regra.

Na terceira regra os nós sensores próximos do PA possuem maior probabilidade de se tornarem coordenadores. Os nós próximos do PA repassam mais dados que os nós mais distantes, pois suportam todo o tráfego da rede, consumindo mais energia. Uma forma de amenizar o problema

é aumentar o número de nós que repassam dados na vizinhança do PA, distribuindo o uxo de dados entre mais rotas. Para tanto, mais nós coordenadores são eleitos em regiões próximas ao PA.

Além das regras descritas, cada aplicação pode possuir características especícas, que podem ser utilizadas no PROC via regras de aplicação para otimizar o seu funcionamento. A seguir, apresentamos algumas situações onde o uso de regras do PROC poderia contribuir para simplicar o funcionamento da rede ou para aumentar o seu desempenho.

3.3.2 Exemplos de Regras de Aplicação

As regras podem aproveitar a heterogeneidade do hardware e da capacidade da bateria. Pode- mos, por exemplo, utilizar nós com maior energia ou mesmo nós xos, que não possuem restrições de energia, para repassar os dados. Nós com maior alcance de comunicação também seriam ótimos candidatos a coordenadores, pois permitem menor latência na comunicação.

As regras também podem ser utilizadas para modicar a topologia da rede de acordo com a especialidade de cada nó. Em aplicações de detecção de intrusos, é natural imaginar que alguns nós irão executar sistemas de detecção de nós maliciosos (ou IDS, de Intrusion Detection System). A tarefa de um nó com IDS seria facilitada se este fosse coordenador, uma vez que mais tráfego passaria por ele, permitindo assim diagnósticos mais precisos.

O mesmo ocorre em redes onde o software de aplicação emprega o paradigma de uxos innitos de dados (data streams). Neste paradigma, os dados são tratados como um uxo innito de dados, que deve ser tratado em tempo real [7]. Uma maneira de facilitar a análise dos dados é o uso de técnicas de pré-processamento nos nós sensores, e os melhores candidatos para este papel são os nós coordenadores, por lidarem com uma maior quantidade de dados.

Os nós coordenadores ainda podem ser utilizados para implementar protocolos de controle de topologia. O problema do controle de topologia em RSSF consiste em desligar nós que não produzem informação útil à rede, pois existem um ou mais nós que geram a mesma informação dos nós desligados [56]. O controle de topologia deve considerar dois fatores, a cobertura de sen- soriamento e a cobertura de rádio. A primeira garante que toda a área monitorada está coberta por um sensor ativo, e a segunda garante que existe a comunicação entre os nós operantes. Caso o controle de topologia desligue nós que estão sendo utilizados no roteamento, as rotas deverão ser recriadas. Assim, em geral, os protocolos de controle de topologia determinam quais nós irão operar, e em seguida o roteamento é executado sobre os mesmos. O PROC poderia simplicar o desenvolvimento de protocolos de controle de topologia com a utilização das regras. O algo- ritmo de controle de topologia deniria como coordenadores os nós que garantem a cobertura de sensoriamento. O PROC então garantiria a cobertura de rádio, ao adicionar mais nós ao backbone durante a fase de complementação do backbone. Finalmente, os nós folhas seriam des- ligados, pois o backbone criado garante tanto a cobertura de sensoriamento quanto a cobertura

3.4. Mecanismos de Tolerância a Falhas 35