• Nenhum resultado encontrado

Para realizar a elei¸c˜ao do cluster head, que ´e o l´ıder do cluster, dispositivos m´oveis trocam informa¸c˜oes entre si, conforme descrito na se¸c˜ao 2.1.3. Essas informa¸c˜oes variam de acordo com cada algoritmo de elei¸c˜ao de l´ıder e estes dados s˜ao utilizados para realizar a elei¸c˜ao do l´ıder, podendo ser o ID do dispositivo, dados referentes `a mobilidade, n´ıvel de bateria etc.

38 Experimentos e Resultados

A aplica¸c˜ao de elei¸c˜ao do l´ıder do cluster solicita a publica¸c˜ao de algum servi¸co. Outro dispositivo nas imedia¸c˜oes encontra este servi¸co. A partir do momento em que os aparelhos tˆem as informa¸c˜oes a aplica¸c˜ao pode iniciar o algoritmo para elei¸c˜ao do l´ıder do cluster. O processamento local ´e realizado e o resultado obtido ´e publicado.

Assim que for eleito o cluster head, todas as mensagens dever˜ao passar por ele. Se um dispositivo A deseja enviar uma mensagem para o dispositivo B, o primeiro envia a mensagem para o cluster head que, por sua vez, encaminha a mensagem para o destinat´ario. Quando dois dispositivos de diferentes clusters desejam trocar informa¸c˜oes, cada um envia a mensagem e o destinat´ario para seu cluster head e a troca de mensagens ´e realizada entre os l´ıderes, ou seja, os n´os n˜ao se comunicam diretamente. Toda a comunica¸c˜ao passa pelo cluster head, que passa a desempenhar o papel de AP (Access Point).

Nas trˆes se¸c˜oes 5.2.1, 5.2.2 e 5.2.3 explicaremos os algoritmos de elei¸c˜ao de l´ıder utilizados nos nossos testes. O primeiro algoritmo implementado foi o de elei¸c˜ao por maior ID, no qual o dispositivo com maior ID ser´a escolhido o cluster head. O segundo algoritmo elege como cluster head o dispositivo com menor m´edia de distˆancias entre os n´os do cluster. Este algoritmo foi baseado no protocolo de roteamento “GEDIR” (GEographical DIstance Routing) que utiliza a distˆancia entre os n´os para escolha da melhor rota para uma mensagem trafegar de um n´o para outro. O terceiro algoritmo ´e o “MCFA” que considera a mobilidade dos n´os para a escolha do cluster head.

5.2.1

Algoritmo de Elei¸c˜ao de L´ıder do Maior ID

No algoritmo de elei¸c˜ao de l´ıder de elei¸c˜ao por maior ID, apresentado por (Garcia- Molina 1982), primeiramente cada dispositivo ir´a coletar as informa¸c˜oes de todos os demais dispositivos. Quando a aplica¸c˜ao ´e iniciada, cada n´o acredita que ele ´e o l´ıder e publica esta informa¸c˜ao para os demais dispositivos da rede. Quando o dispositivo recebe esta mensagem de outro, como cada um acredita que ele pr´oprio ´e o l´ıder, eles n˜ao est˜ao em consenso e ´e necess´ario realizar a elei¸c˜ao. Esses dois dispositivos ir˜ao chegar a um consenso de acordo com os dados que os dois trocaram. No caso do algoritmo do maior ID, aquele dispositivo que tiver o identificador com maior valor ser´a eleito o l´ıder. Quando um deles receber uma mensagem de um terceiro dispositivo, eles n˜ao estar˜ao de acordo e, portanto, ´e iniciada a elei¸c˜ao. Ap´os isso, esses trˆes dispositivos estar˜ao em consenso. E isso vai se repetindo para todos os n´os da rede. Esse processo faz com que

Experimentos e Resultados 39

gradativamente os dispositivos entrem em consenso sobre o l´ıder do cluster, o que acaba estabilizando o processo.

Cada dispositivo guarda uma lista com todos os n´os conhecidos que ´e preenchida quando ele recebe uma mensagem de um dispositivo n˜ao conhecido. Quando o n´o recebe uma mensagem indicando que o l´ıder ´e um dispositivo que ele ainda n˜ao conhece, o mesmo ´e adicionado em sua lista.

Se um novo n´o ingressar na rede ap´os a estabiliza¸c˜ao da elei¸c˜ao, o processo pode ocorrer todo novamente. Como ele acabou de ser iniciado, ele acredita que ele pr´oprio ´e o l´ıder, for¸cando a elei¸c˜ao sempre que ele receber os dados de outros dispositivos. `A medida que ele vai trocando informa¸c˜oes com outros n´os, ou ele ir´a concluir quem ´e realmente o l´ıder ou, se for o caso, ele mesmo pode se tornar o l´ıder se possuir as caracter´ısticas do algoritmo implementado. Por´em, no final, todos os dispositivos convergem para o mesmo resultado.

A aplica¸c˜ao ´e executada em um loop infinito. Isso ´e necess´ario pois caso o atual l´ıder fique off-line, a elei¸c˜ao voltar´a a ocorrer, fazendo com que a aplica¸c˜ao fique tolerante a falhas.

5.2.2

Algoritmo de Elei¸c˜ao de L´ıder da Menor M´edia das Distˆancias

- GEDIR

Conforme citado anteriormente, implementamos um algoritmo para elei¸c˜ao do cluster head baseado no protocolo de roteamento “GEDIR” (Stojmenovic & Lin 1999). O protocolo GEDIR utiliza a distˆancia entre os n´os para escolha da melhor rota para uma mensagem trafegar de um n´o para outro do cluster. A rota vai sendo montada escolhendo sempre o vizinho que tenha a menor distˆancia at´e o n´o destino.

No nosso trabalho foi utilizada a menor distˆancia m´edia entre todos os n´os nas proximidades pra definir o cluster head e n˜ao uma rota entre os n´os do cluster. A nossa implementa¸c˜ao tem um passo anterior antes de lidar com as distˆancias entre os n´os. Verificamos, primeiramente, qual n´o tem mais dispositivos em seu raio de alcance e este ser´a eleito o cluster head. Entretanto, se houver um empate entre dois ou mais n´os, ser´a eleito como cluster head aquele dispositivo que tiver a menor distˆancia m´edia entre ele e os outros n´os pr´oximos. Adicionamos mais um passo que ´e executado se ainda assim houver empate entre dispositivos, elegendo como o cluster head aquele com maior ID.

40 Experimentos e Resultados

Portanto, o algoritmo da menor m´edia das distˆancias ´e bastante simples. Ele consi- dera a localiza¸c˜ao dos dispositivos mas n˜ao trata vari´aveis como velocidade e dire¸c˜ao. Se a localiza¸c˜ao de algum dispositivo for alterada o cluster head tamb´em poder´a ser alterado. Isso ´e poss´ıvel pelo fato que os dispositivos publicam os seus dados de tempos em tempos e por isso a suas coordenadas podem ser atualizadas pelos outros dispositivos pr´oximos.

5.2.3

Algoritmo de Elei¸c˜ao de L´ıder MCFA

O “MCFA” ´e um novo algoritmo baseado em informa¸c˜oes mobilidade sugerido por (Torkestani & Meybodi 2011). O MCFA se divide entre a forma¸c˜ao de cluster e ma- nuten¸c˜ao cluster. Na fase de forma¸c˜ao, os n´os s˜ao descobertos e cada um calcula o parˆametro de mobilidade relativa local, RM, a qual ´e usada para definir o l´ıder. O “MCFA” utiliza um modelo de inteligˆencia artificial para encontrar uma tendˆencia na mobilidade dos n´os, favorecendo aquele com menor mobilidade em rela¸c˜ao aos seus vi- zinhos.

Na manuten¸c˜ao do cluster, a perda de conex˜ao com o l´ıder pode ser abordada por re- filia¸c˜ao ou reinicia¸c˜ao do processo de forma¸c˜ao. Este algoritmo n˜ao garante cumula¸c˜ao de l´ıderes do cluster.

O “MCFA” usa dois atributos de movimento para escolher o l´ıder: a dire¸c˜ao e a velocidade dos n´os. Para fazer isso, ele usa um m´etodo de aprendizagem para suavizar mudan¸cas bruscas ao longo do tempo. O m´etodo Akbari passa por forma¸c˜ao de cluster e uma fase de manuten¸c˜ao. O m´etodo ´e resumido em quatro passos como se segue:

1. An´uncio e Descoberta. Cada n´o se anuncia aos seus vizinhos, publicando seus

pr´oprios atributos de movimento. O n´o cria um conjunto de n´os, um ActionSet, que ´e um vetor de probabilidade de a¸c˜ao com uma entrada por vizinho. A probabilidade de cada n´o ´e inicializado em N=1.

2. Cada n´o calcula uma mobilidade total, ERM (Esperan¸ca de Mobilidade Relativa). Este atributo ´e uma m´edia m´ovel de todas as velocidades relativas entre o n´o e seus vizinhos.

3. Forma¸c˜ao de clusters. Cada vez que um n´o muda seus atributos de mobilidade, um pacote de atualiza¸c˜ao de mobilidade ´e transmitido. A mensagem de atualiza¸c˜ao

Experimentos e Resultados 41

de mobilidade dispara o algoritmo de sele¸c˜ao de cluster que pede a um membro aleat´orio sua ERM e compara a resposta com a m´edia ERM de todos os membros. 4. Manuten¸c˜ao. Se um n´o perde o acesso ao seu cluster head ele tenta se juntar a outro grupo, transmitindo uma mensagem de juntar ao cluster. Se nenhum cluster head responde, o n´o inicia novamente o processo de sele¸c˜ao do cluster.

O “MCFA” n˜ao exige que os n´os sejam est´aticos durante a fase de forma¸c˜ao de cluster.

Documentos relacionados