• Nenhum resultado encontrado

Rodrigo Teles Hermeto 1,Elias Teodoro da Silva Junior 2

N/A
N/A
Protected

Academic year: 2021

Share "Rodrigo Teles Hermeto 1,Elias Teodoro da Silva Junior 2"

Copied!
5
0
0

Texto

(1)

Criação e organização de agrupamentos utilizando um algoritmo centralizado de atribuição de

identificadores para redes de sensores sem fio hierárquicas

Rodrigo Teles Hermeto 1,Elias Teodoro da Silva Junior2

1

Instituto Federal de Educação, Ciência e Tecnologia do Ceará, Fortaleza, Brasil, rodrigoteles@gmail.com 2

Instituto Federal de Educação, Ciência e Tecnologia do Ceará, Fortaleza, Brasil, elias@ifce.edu.br

Resumo: Este trabalho apresenta um algoritmo centralizado

de atribuição de identificadores locais e únicos para redes de sensores sem fio hierárquicas. Por ser local, é possível reutilizar o mesmo endereço várias vezes ao longo da rede. São apresentados testes de conflitos de identificadores e tempo de formação dos agrupamentos.

Palavras chave: rede de sensores sem fio, identificadores

locais, agrupamento de sensores, hierarquia de sensores.

1. Introdução

Com a evolução dos sistemas computacionais e da microeletrônica tornou-se possível o desenvolvimento de sistemas embarcados cada vez menores e mais eficientes. Estes são componentes dedicados a realizar tarefas específicas. O uso de sistemas embarcados torna mais preciso o controle de maquinaria pesada e monitoração de sistemas complexos. O progresso nessas áreas tornou possível o desenvolvimento das Redes de Sensores Sem Fio (Akyildiz, 2002).

As redes de sensores sem fio podem conter centenas e até milhares de nós coletores. É desejável que esses nós sejam baratos e eficientes em termos energéticos para se obter resultados de alta qualidade (Heinzelman, 2000). Além disso, os protocolos para esse tipo de rede têm que levar em consideração essas restrições para aumentar a vida útil da rede. Protocolos existentes para os outros tipos de redes, como por exemplo, redes ah-hoc, não são interessantes para redes de sensores sem fio devido o foco de muitos desses algoritmos ser a qualidade de serviço. A qualidade de serviço não é a restrição mais importante em uma rede de sensores e dessa maneira, os protocolos tem que ser repensados e até refeitos.

Existem protocolos que necessitam que os nós sejam de alguma maneira identificados, como por exemplo, o LEACH (Heinzelman, 2000). Esse algoritmo usa o protocolo TDMA (Time Division Multiple Access) como controle de acesso ao meio físico. Esse protocolo monta uma tabela de agendamento onde é dada uma fatia de tempo de transmissão para cada um dos nós. Se os nós não possuírem identificação não há como montar essa tabela.

Devido à enorme quantidade de nós, é praticamente inviável a utilização de identificadores globais e únicos para cada um dos nós pertencentes à rede. De acordo com Karl e Willing (2005), um dos aspectos mais importantes de endereços é o número de bits necessários para as suas representações, ou em outras palavras, a sobrecarga representada por esses endereços. A sobrecarga, e,

conseqüentemente a energia necessária para se transmitir os endereços, está relacionado a dois fatores: a freqüência com que esses endereços são usados e o tamanho das suas representações.

Este trabalho propõe um algoritmo centralizado de atribuição de identificadores locais e único (mesmo agrupamento) para uma rede de sensores sem fio hierárquica. Ao término da execução do algoritmo, será possível realizar trocas de mensagens entre membros pertencentes a um mesmo agrupamento utilizando endereços locais dentro desse conglomerado. Como os endereços são locais, será possível reutilizá-los nos outros agrupamentos.

O trabalho está organizado da seguinte maneira: trabalhos relacionados na sessão 2, a solução proposta na sessão 3, experimentos realizados na sessão 4, resultados na sessão 5 e conclusões na sessão 6.

2. Trabalhos relacionados

Karl e Willing (2005) fizeram um estudo onde foi demonstrado que a geração de números aleatórios, feita por cada um dos nós de forma global, é praticamente inviável para redes de sensores com grande quantidade de nós. Para demonstrar isso eles utilizaram uma rede de sensor com 275 nós e 14 bits de endereços disponíveis e, através de cálculos probabilísticos, chegaram à conclusão que a chance de acontecer algum conflito de identificadores é em torno de 90%, sendo que, somente 1,7% dos endereços disponíveis, é utilizado.

Perkins et al (2001) propõem um algoritmo de atribuição de identificadores onde um nó gera dois endereços aleatórios. O primeiro servirá como endereço temporário e o segundo como endereço fixo proposto. Após a geração, o nó envia um pacote de controle carregando os dois endereços gerados. Quando a mensagem chega a algum vizinho, esse usa o endereço fixo recebido para tentar encontrar um caminho que leve até outro nó com o mesmo endereço. Caso aconteça um conflito é enviando uma mensagem utilizando o endereço temporário informando a existência do endereço proposto. Ao receber essa mensagem o nó tentará novamente com um novo endereço. Caso o nó não receba nenhuma mensagem durante um período de tempo, ele então aceita o endereço fixo proposto. Note que os nós que recebem a solicitação de endereços necessitam ter informações de roteamento e isso não é aplicável em uma rede de sensores sem fio, devido às restrições energéticas e computacionais.

Nesargi e Prakash (2002) propõem um algoritmo onde um nó (solicitante) contata um dos seus vizinhos que já

(2)

tenha um endereço (iniciador). O iniciador contém uma lista onde são guardados todos os endereços conhecidos por ele e escolhe um que não esteja sendo usado. Após isso, é disseminado na rede o endereço escolhido. Os nós que não possuem endereço adicionam-no em uma lista de possíveis candidatos. Se algum nó verificar que o endereço recebido já consta na sua lista de endereços conhecidos ou na sua lista de candidatos, é enviada uma mensagem de rejeição e o iniciador tentará um novo endereço, caso contrário, uma mensagem de aceitação é enviada e então é repassado o endereço ao solicitante.

3. Solução proposta

HALI (Hierarchical Attribution of Local IDs) é um algoritmo centralizado para redes de sensores sem fio hierárquica que atribui identificadores locais e únicos para todos os membros dos agrupamentos (clusters), permitindo assim a reutilização de um mesmo endereço várias vezes ao longo da rede. Além disso, o algoritmo seta um identificador de grupo (clusterID) que será usado por todos os membros do grupo nas trocas de mensagens, evitando assim conflitos entre membros de agrupamentos diferentes.

Após a eleição dos líderes dos agrupamentos, cada líder gera um endereço aleatório, chamado clusterID, e o envia através de um pacote de controle para a estação base (sink). Após o recebimento de todas as mensagens, a estação base verifica se houve algum conflito dentre os identificadores recebidos. Em caso positivo, uma nova mensagem informando que ocorreu um conflito é enviada utilizando os identificadores repetidos como endereço de destino e, então, os receptores dessa mensagem tentarão um novo endereço. Em caso negativo, uma mensagem de confirmação é enviada a todos os líderes dos agrupamentos. Pode acontecer que após a geração de um novo identificador, ocorra novamente um conflito de identificadores entre os líderes. Desse modo, os nós ficarão trocando mensagens até que todos os líderes possuam identificadores diferentes.

Com os clusterIDs devidamente “setados”, os líderes enviam uma mensagem pela rede informando os seus respectivos identificadores. Somente os nós não-líderes receberão essa mensagem. Caso outro líder de agrupamento ou a estação base a receba, ela será imediatamente descartada. Ao recebê-la, os nós não-líderes gerarão um endereço aleatório e enviarão uma mensagem, solicitando a entrada no agrupamento, contendo o código do agrupamento recebido juntamente com o endereço gerado. Somente o líder com o mesmo código do agrupamento receberá essa mensagem. Ao receber todas as mensagens de entrada no agrupamento, o nó líder verifica se alguns dos seus membros geraram o mesmo endereço. Em caso positivo uma mensagem é enviada para os nós conflitantes solicitando um novo endereço. Caso negativo é enviada uma mensagem de confirmação. Observe que a estratégia utilizada entre os nós não-líderes e os líderes é praticamente a mesma utilizada entre os líderes e a estação base, com a diferença que a mensagem contém dois campos, o primeiro é o código do agrupamento e o segundo é o endereço gerado.

É importante ressaltar que à medida que os nós não-líderes forem recebendo mensagens de outros não-líderes, esses utilizarão a intensidade do sinal para decidir a qual

agrupamento eles irão pertencer. Caso o nó não-líder receba uma mensagem com a intensidade do sinal mais forte, esse enviará uma mensagem ao seu atual líder solicitando a saída do agrupamento e, em seguida, ele gerará um novo número aleatório e enviará uma nova mensagem solicitando a entrada no novo agrupamento.

Quando um nó não líder envia uma mensagem para o seu líder e essa é recebida por outro membro não líder, seja do mesmo agrupamento ou de outro, ela é descartada, pois não existe a comunicação membro para membro. No cabeçalho do pacote está contido o tipo de mensagem. Mensagens que são enviadas por um nó membro são do tipo de entrada ou saída de um agrupamento, logo é possível identificar que tipo de nó a enviou.

Já um nó líder, ao receber uma mensagem de um membro de agrupamento, verifica o código do agrupamento, que está no cabeçalho do pacote, onde a ela foi originada. Se esse código for diferente do seu, é tomada a decisão que essa mensagem não o tem como destino e então ela é descartada.

A seguir é mostrada uma ilustração da execução do algoritmo:

[5,2,3]

Figura 1 - Geração dos clusterIDs pelos líderes

[5,2,3] ok ok ok

Figura 2 – Confirmação dos clusterIDs

5 5 2 3 3

Figura 3 - Envio dos clusterIDs para os demais nós

[1.2] [1] [4,2] 5 2 2 3 3 5 2 3 5 2 3 5 2 3 5 2 3 1 2 1 4 2

(3)

Figura 4 - Envio dos endereços gerados

ok ok ok ok ok

Figura 5 - Confirmação dos identificadores gerados

Figura 6 - Nós identificados

4. Experimentos

4.1 Simulações de algoritmos para RSSF

Para garantir o atendimento aos requisitos de uma RSSF é necessário que a rede tenha tanto seu hardware quanto seu software testado em todas as camadas envolvidas. Para isso, podem ser seguidas duas abordagens: o software desenvolvido pode ser testado diretamente em hardware específico ou pode-se utilizar um simulador de redes. A primeira abordagem possui custo elevado para a maioria das situações, pois se precisa adquirir o hardware dos nós em quantidade suficiente. Neste artigo foi escolhida a segunda abordagem utilizando o simulador ShoX (LESSMAN et al, 2008).

4.2 A ferramenta

ShoX é um simulador de código aberto desenvolvido exclusivamente para uso de redes ad-hoc escrito em linguagem Java seguindo o paradigma de Programação Orientada à Objetos. Sua interface gráfica é intuitiva e completa, fornecendo um ambiente amigável ao usuário. O desenvolvimento de protocolos para o simulador é feito em Java. Segundo Lessman (2008), isto evita a necessidade de aprender novas linguagens, o que é recorrente em outros simuladores. Todos os conceitos de uma RSSF, como por exemplo, as camadas, são modelados através de classes abstratas. Para definir novas implementações desses conceitos, basta escrever uma subclasse do conceito em foco. A configuração do simulador se dá através de arquivos XML. Devido ao forte suporte para interface gráfica, o usuário pode abstrair os arquivos XML, configurando o simulador pelo modo visual, se assim preferir.

4.3 Parâmetros de simulação

Foram realizados dois tipos de simulação, quatro com 50 nós dispostos aleatoriamente em uma área de tamanho 100 x 100 m² e mais quatro com 256 nós também dispostos aleatoriamente em uma área de 150 x 150 m². É importante ressaltar que a mesma rede é utilizada nas simulações, tanto para a rede de 50 como para a de 256 nós (figuras 7 e 8). Além disso, os nós nas duas simulações são estáticos e homogêneos, ou seja, em nenhum momento os nós terão as suas posições alteradas e possuem as mesmas capacidades computacionais. Além disso, a probabilidade de um nó se tornar líder de um agrupamento, em todas as simulações, é de 30%.

Figura 7 – Posicionamento dos 50 nós

Figura 8 – Posicionamento dos 256 nós

O padrão IEEE 802.11 foi utilizado na camada física e de acesso ao meio físico. Esse padrão já vem implementado no ShoX. O algoritmo HALI foi implementado na camada de rede.

A simulação foi executada em um laptop dotado de um processador Intel Core 2 Duo T6600 trabalhando à freqüência de 2.20GHz e memória RAM de 4 GB. O sistema operacional utilizado foi Linux Ubuntu 64 bits versão 10.10, com kernel 2.6.35-25. Foi utilizado um total

5 2 3

1 2 1 4 2

5 2 3

(4)

de 256 endereços disponível (0-255) para os nós, simulando, assim, um micro controlador de oito bits.

Para monitorar os atributos durante as simulações, foi desenvolvida uma classe com métodos estáticos que são chamados no momento das trocas de mensagens entre os nós. A cada envio e a cada recebimento os pacotes são contabilizados. Os atributos monitorados foram: total de pacotes gerados, total de pacotes recebidos, conflitos de identificadores nos líderes dos agrupamentos e membros e por final o tempo que levou para a rede se formar. É importante ressaltar que essa monitoração foi feita em nível da camada de rede e, pacotes que foram gerados em outros níveis, não foram contabilizados.

O total de pacotes gerados, como o próprio nome já diz, é a quantidade de pacotes que todos os nós criaram para acontecer à troca de mensagens durante a formação dos agrupamentos. Pacotes que foram criados para informar os identificadores (ClusterID e nodeID), informação de conflitos, confirmações e rejeições, são contabilizados nesse atributo.

Pacotes recebidos é a quantidade de vezes que os nós receberam com sucessos os pacotes enviados por outros nós da rede. Aqui também foram contabilizados os mesmos pacotes descritos acima. É importante ressaltar que os nós vizinhos ao emissor também recebem pacotes, mesmo que não sejam endereçados para eles, e esses recebimentos também entraram na contagem.

Conflitos de identificadores nos nós líderes e nos nós não líderes podem acontecer quando dois deles, que tenham a mesma função, escolhem o mesmo endereço. Quando isso acontece, os nós conflitantes precisam gerar um novo endereço.

Pacotes perdidos são contabilizados sempre que um pacote é enviado e não é detectado, em nenhum dos seus possíveis receptores. Geralmente essas perdas ocorrem devido a colisões que acontecem no meio físico.

Tempo de formação é o tempo total de formação de todos os agrupamentos da rede hierárquica, desde a eleição do primeiro líder até o encerramento das trocas de mensagens de configuração entre os nós.

5. Resultados

Nas tabelas 1 e 2 são apresentadas compilações dos resultados das oito simulações, quatro para cada tamanho da rede. Como dito anteriormente, as simulações usaram a mesma rede. A de 50 nós utilizou a rede mostrada na figura 7 e a de 256 nós utilizou a rede mostrada na figura 8.

Tabela 1. Estatísticas de simulação (50 nós)

Teste 1 2 3 4

Pacotes gerados 185 157 52 185

Recepções 454 402 113 512

Líderes eleitos 6 5 1 7

Conflitos nos líderes 0 0 0 0

Conflitos nos membros 0 0 0 0

Pacotes perdidos 8 0 28 0

Tempo de formação(ms)

2734 2564 1320 3145

Tabela 2. Estatísticas de simulação (256 nós)

Teste 1 2 3 4

Pacotes gerados 1529 1968 1270 1581 Recepções 7838 8467 6156 7317

Líderes eleitos 27 28 19 24

Conflitos nos líderes 4 0 0 0

Conflitos nos membros 2 6 14 2

Pacotes perdidos 8 17 28 6

Tempo de formação(ms)

238051 240633 18198 21822

Ao observar as duas tabelas mostradas anteriormente é possível perceber que a quantidade de pacotes gerados, depende basicamente da quantidade de nós eleitos como líderes. Como foi dito na sessão anterior, a probabilidade de um nó se tornar líder nessas simulações é de 30%. Estratégia de eleição não faz parte do escopo deste trabalho, essa foi só uma maneira de se dar vida a rede, não importando, assim, a estratégia utilizada

É importante observar que, na primeira tabela, simulação 3, só foi eleito um líder, e só pertencerão a esse agrupamento os membros com alcance suficiente para transmitir mensagem à ele, dessa maneira, uma parte da rede poderá ficar inutilizada.

Nas redes menores, como no caso das quatro primeiras simulações, as chances de mais de um nó, pertencentes a um mento agrupamento, gerarem um mesmo endereço é consideravelmente baixa. Na verdade isso dependerá do real tamanho desses agrupamentos. Já nas redes maiores, como nas quatro últimas simulações, a probabilidade de conflitos é maior. Na simulação 3 da tabela 2 ocorreram 14 conflitos de identificadores, mas observe que o tempo de formações dos agrupamentos foi menor e a quantidade de pacotes gerados foi menor do que na simulação 4, onde só ocorreram dois conflitos. Isso mostra que, para esses tamanhos testados, a ocorrência de conflitos não causaram uma grande sobrecarga no tempo de formação rede.

6. Conclusões

Este trabalho apresentou uma proposta de algoritmo centralizado para atribuição de identificadores locais e únicos para redes de sensores hierárquica, permitindo a troca de mensagens endereçadas.

Os resultados mostram que a rede consegue se organizar em grupos independentes, permitindo o uso de uma pequena quantidade de endereços mesmo em uma rede com grande quantidade de nós.

A proposta se mostrou escalável, um fator importante para redes de sensores, que podem apresentar milhares de nós.

O procedimento de eleição de nós líderes é importante para garantir que a maioria dos nós sensores tenham possibilidade de comunicação. Neste trabalho não foi aprofundada uma estratégia de eleição, que está sendo investigada para trabalho futuro. Uma estratégia baseada no comportamento das formigas é sugerida por Heimfarth (2009).

(5)

Testes de consumo de energia e latência na troca de mensagens de dados ainda estão sendo feitos.

7. Agradecimentos

Os autores agradecem o apoio financeiro dado a esse projeto pela FUNCAP e CNPq.

8. Referências

AKYILDIZ, I.F.; Su, W.; SANKARASUBRAMANIAM, Y.; CAYIRCI, E. Wireless sensor networks: a survey. Atlanta: Georgia Institute of Technology: School of Electrical and Computer Engineering: Broadband and Wireless Networking Laboratory: Elsevier Science B.V., 2002.

HEIMFARTH, T.; ORFANUS, D.; WAGNER, F. R.

Resource-Aware Clustering of Wireless Sensor Networks Based on Division of Labor in Social Insects. 2nd IFIP

Conference on Biologically Inspired Collaborative

Computing (BICC 2008), Milão, 2008.

HEINZELMAN, W. R.; CHANDRAKASAN, A.; BALA, H. Energy-effifcient Comunication Protocol for Wireless

Microsensor Networks. Hawaii International Conference

on System Sciences. Janeiro 2000.

KARL H. ; WILLING A. “Protocols and Architectures

for Wireless Sensor Networks”; 1 ed: England; John

Wiley & Sons Ltd, 2005.

LESSMANN, Johannes; HEIMFARTH, Tales; JANACIK, Peter. ShoX: An Easy to Use Simulation Platform for

Wireless Networks. Computer Modeling and Simulation,

2008. UKSIM 2008. Tenth International onference on Computer Modeling and Simulation, Abril 2008, Páginas 410- 415.

NESARGI S; PRAKASH R. “MANETconf:

Configuration of Hosts in a Mobile Ad Hoc Network”.

IEEE INFOCOM 2002, páginas 1587–1596, Nova York, Junho 2002.

PERKINS C.; MALINEN J.; WAKIKAWA R.; BELDING

-ROYER E.; SUN Y. “IP Address Autoconfiguration for

Referências

Documentos relacionados

(J. Nogueira et al., 2014) AeroStep (sala de fitness) Avaliar a sensação térmica das praticantes de AeroStep EsConTer; ITH (índice temp. e humidade) EsConTer; Escala térmica

No caso de pisos antigos com fendas ou soalhos chanfrados, usar o rolo de microfibras LOBATOOL 60-80 de forma fixa (não como rolo).. • Nivelar imediatamente de seguida com uma

idade em que o riso está sempre nos lábios e a alma sempre em paz. Neste contexto infantil o uso de jogos no ensino da Matemática e/ou de noções matemáticas é

O Resumo trata-se de um texto com uma quantidade pré-determinada de palavras, onde se expõe o objetivo do artigo que deve incluir o problema, a metodologia

mensuração ao justo valor à data da transição, a tomar como custo considerado nessa data; II) pela utilização como custo considerado de uma revalorização, antes ou à

Para tanto se buscou um processo que possibilitasse de forma ordenada um diálogo entre os diferentes métodos de análise do objeto de estudo, estando entre eles às

Geralmente utilizado Dureza: 70 +- 5 Shore A na confecção de aventais industriais, juntas, cobertura de bancada, etc..... Utilização: Não Recomendado: Ozônio, combustíveis

Não só o currículo tem que compreender essa linguagem, como os professores e as famílias também?. A partir de um planejamento pedagógico estruturado, o LIV tem a preocupação