Avaliação de Heurísticas para Coleta de Dados em Redes de Sensores Daniel Ludovico Guidoni Universidade Federal de Minas Gerais E-mail: guidoni@dcc.ufmg.br Abstract Um dos recursos mais importantes em redes de sensores é a energia, porque, em geral, as baterias dos nós não podem ser recarregadas. Por isso, quaisquer soluções para essas redes devem ser eficientes em termos de utilização do rádio, pois este é o compoonente que mais consomem energia. Neste trabalho são analisadas três heurísticas para agregação de dados em Redes de Sensores. Resultados de simulação mostram que nesse ambiente, as heurísticas simples tendem a ser melhores devido à menor quantidade de pacotes transmitidos. 1 Introdução As Redes de Sensores Sem Fio (RSSFs) [2, 9, 12] são compostas por uma grande quantidade de dispositivos computacionais inteligentes que realizam o sensoriamento do ambiente em que foram inseridos e comunicam entre si para propagarem os dados coletados até o nó sink. Esse nó apresenta uma capacidade computacional superior a dos demais nós e sua responsabilidade é processar as informações de sensoriamento, disponibilizá-las para observadores externos e disseminar informações de controle para a rede. As RSSFs podem ser aplicadas no monitoramento, rastreamento, coordenação e processamento de diversas aplicações. Devido às aplicações das RSSFs, os micro sensores devem apresentar um tamanho reduzido e um baixo custo de produção o que implica em restrições de memória, de processamento e de energia. A energia é o recurso mais escasso porque os nós sensores utilizam baterias finitas cuja recarga nem sempre é possível. O acesso aos sensores é difícil, quando não inviável. Além disso, se a recarga de bateria for realizada, devido ao grande número de nós na rede, ter-se-á um problema de escalabilidade. Outra dificuldade existente nesse ambiente é a topologia dinâmica da rede que se faz presente perante a morte de sensores, a falhas de comunicação, ou a nós adormecidos para economizar energia. Nas aplicações de RSSFs, a comunicação de dados é um dos principais tópicos de pesquisa porque seu custo é o mais significativo, seu consumo de energia é de aproximadamente três ordens de grandeza superior ao custo de processamento. Logo, qualquer solução para a comunicação de dados em RSSFs deve ser eficiente, em termos de energia, para aumentar o tempo de vida da rede. A comunicação de dados em RSSFs pode ser dividida em três casos [3]: dos sensores para o sink (coleta de dados), entre os nós sensores vizinhos (cooperação), e do nó sink para os nós sensores (disseminação de dados). Este tarabalho aborda o problema da coleta de dados eficiente em redes de sensores. Agregação de dados tem se tornado um paradigma essencial no roteamento em redes de sensores [4, 7]. A idéia é combinar os dados recebidos de diferentes fontes, retransmitindo apenas um pacote com todas as informações. Assim, pode-se eliminar redundância, diminuir o número de transmissões, e consequentemente economizar energia. Nesse contexto, os nós sensores devem enviar seus dados sensoreados para o sink, utilizando uma rota para que os dados possam ser agregados durante o roteamento. Esse problema pode ser modelado utilizando a árvore de Steiner, já que o objetivo é encontrar a menor árvore de roteamento para minimizar a quantidades de transmissões, e maximizar a agregação de dados. A construção da árvore de Steiner é um problema N P-completo [6] (redução a partir do Exact Cover Problem). Assim, a utilização
de heurísticas para sua construção torna-se de fundamental importância para sua utilização. O objetivo deste trabalho é analizar três heurísticas para a construção da árvore de Steiner distribuída em redes de senores. Será feita a comparação entre os três algoritmos avaliando a quantidade de transmissões necessárias para construir a árvore de Steiner de forma distribuída. Será analisado tambem, a qualidade da solução (árvore) encontrada por cada heurística. Resultados de simulação mostram que heurísticas que obtem resultados próximo do ótimo possuem um alto custo na sua construção, porém, a agregação de dados é feita de forma mais eficiente. O restante do trabalho está organizado da seguinte maneira. A secão 2 define o problema que será tratado neste trabalho. A seção 3 apresenta as heurísticas avaliadas. Na seção 4 são apresentados os resultados de simulação e, finalmente, na seção 5 são apresentados as conclusões e trabalhos futuros. 2 Definição do Problema Considere que nem todos os nós necessáriamente alcançam o nó sink com apenas uma transmissão. Portanto, uma vez que um evento é detectado na rede, é necessário definir uma estrutura na rede com multiplas transmissões (hops). Idealmete, essa estrutura deve maximixar a agregação de dados e reduzir a quantidade de transmissões, i.e., uma árvore de transmissão mínima. Definição 1. Definição do problema: Dado uma rede com múltiplos hops G = (V, E), deseja-se encontrar de forma reativa 1, a árvore de transmissão mínima conectando todos os nós S 1, S 2,...S k a D, onde os nós S são os nós que detectaram um evento e D o nó sink. A árvore de transmissão mínina é, na verdade, uma árvore mínima de Steiner conectando os nós que detectaram o evento ao nó sink. Dessa forma, a quantidade mínima de transmissões para o roteamento da coleta do evento detectado na rede é a quantidade de arestas da árvore mínima de Steiner na rede que contém o conjunto de nós (S 1, S 2,...S k, D). 1 De forma dinâmica. 3 Heurísticas para Construção da Árvore de Steiner A presente seção discute três heurísticas para a construção da árvore de Steiner Distribuída. Serão analizados as seguintes heurísticas: Shortest Paths Tree (SPT), Center at Nearest Source (CNS) e Greedy Incremental Tree (). Existem várias heurísticas para encotrar a árvore de Steiner mínina [13, 5], porém, são heurísticas que aplicadas a redes de sensores necessitam de uma grande troca de mensagens, tornando-as inadequadas. 3.1 Shortest Paths Tree Umas dss formas mais simples de construção da árvore de Steiner distribuída é utilizando a heurística Shorteste Paths Tree. Nessa heurística, cada nó S i que detectou um evento (nó fonte), envia seu pacote contendo as informações sensoreadas para o nó sink, no menor caminho entre o nó fonte e o sink. Quando o caminho entre o nó fonte S i e S j ao sink se sobrepõe, o pacote é agregado. A figura 1 apresenta o funcinamento do algoritmo descrito. Figura 1. Funcionamento do SPT. As regiões em cinza claro representam enventos. O algoritmo funciona da seguinte forma: no instante 0 da simulação, o nó sink executa uma difusão na rede. Quando um nó recebe um pacote de difusão, ele verifica se a rota recebida é menor do que a rota que ele possui (todos nós começam com o tamanho da rota igual a infinito). Se a rota recebida for menor, o nó atualiza a sua rota. Quando um evento é detectado na rede, o nó envia seu pacote para seu pai na árvore 2
de menor caminho. Quando um nó da árvore recebe um pacote, esse é retransmitido para seu pai até chegar no sink. Se um nó da árvore receber pacotes de filhos diferentes, ele agrega esse pacote e retransmite apenas um. 3.2 Center at Nearest Source Nessa heurística, proposta em [10], cada nó S i que detecta um evento na rede, transmite um pacote contendo as informações sensoreadas para algum nó S j (nó que também detectou um evento) mais próximo do sink. O nó S j agrega todas os pacotes recebidos e envia apenas um pacote para o nó sink. A figura 2 apresenta o funcionamento do algoritmo descrito. 3.3 Greedy Incremental Tree Em [1], os autores descrevem uma heurística para construção da árvore de Steiner com fator de aproximação de 2. Essa heurística funciona em etapas. Primeiramete o nó fonte S i envia seus dados pelo menor caminho até o nó sink. A cada novo evento na rede, é encontrado o menor caminho desses nós fontes até a árvore já criada. A cada nova sub-árvore conctada a árvore, tem-se um ponto de agragação. A figura 3 ilustra o funcionamento do algoritmo. Figura 3. Funcionamento do. As regiões em cinza claro representam enventos. Figura 2. Funcionamento do CNS. As regiões em cinza claro representam enventos. O algoritmo funciona da seguinte forma: no instante 0 de simulação o nó sink executa uma difusão na rede. Todos os nós ao receberem o pacote, atualizam a sua tabela de rota com o menor caminho até o sink. Quando um nó detecta o primeiro evento na rede, ele irá transmitir as informações sensoreadas utilizando o menor caminho dele até o sink e executará uma difusão informando a todos os nós que ele é um fonte mais próximo do sink. Quando um novo evento acontece na rede, o nó que detectou o evento irá verificar se esse evento que acabou de acontecer é mais próximo do sink do que o evento já detectado, se for, ele executará uma difusão informando que existe um nó fonte mais próximo do sink. Caso contrário, ele enviará seus pacotes para o fonte existente mais próximo do sink. Os nós fontes mais próximos do sink irão fazer a agragação dos dados recebidos. O funcionamento do algoritmo segue da seguinte forma: no instante 0 de simulação, o nó sink executa uma difusão na rede. Cada nó atualiza sua tabela de rota para o menor caminho até o sink. Quando o primeiro evento acontece na rede, os nós fontes enviam seus pacotes pelo menor caminho na árvore. Quando um novo evento acontece, os nós que detectaram esse novo evento, executam uma difusão na rede requisitando aos nós da árvore criada previamente um caminho até eles. Quando os nós da árvore recebem esse pacote, eles executam uma difusão criando um caminho dele para todos os fontes que requisitaram a criação da sub-árvore. Quando o nó que requisitou a criação da sub-árvore recebe o pacote contendo o esse caminho, esse nó atualiza sua tabela de rota com o menor caminho entre todos recebidos. Após isso, esse novo nó fonte enviará suas informações pela subárvore criada. Os nós de interceção das sub-árvores irão fazer a agregação dos pacotes recebidos, enviando apenas um pacote para o sink. Em [1] é analizado analiticamente o limite superior e inferior da heurística em termos da quantidade 3
de transmissões necessárias para a criação da árvore mínima de Steiner. É mostrado que no melhor caso, o algoritmo executa cs log S transmissões. Para o pior caso, o algoritmo executa csn. Onde S é a quantidade de nós fontes, N é a quantidade de nós da rede e c é a quantidade de vizinhos que cada nó possui. Portanto, no limite inferior tem-se Ω(S log S), e no limite superior, tem-se O(SN). Na seção 4.3 os resultados analíticos serão comparados com os resultados experimentais. 4 Resultado de Simulação Nesta seção, será avaliado o desempenho das heurísticas SPT, CNS e. A seção está dividida da seguinte forma: na seção 4.1 será apresentado o cenário em que as simulações foram executadas. A seção 4.2 apresenta análise experimental entre as heurísticas descritas, e, finalmente, na seção 4.3 é apresentada a comparação entre o resultado analítico e experimental da heurística. 4.1 Cenário No cenário analisado, a rede utilizada é composta por 529 nós estáticos, homogêneos, dispostos aleatoriamente em uma área de 657 657 m 2 e cuja recarga da bateria é considerada impossível. Cada nó sensor apresenta em média 24 vizinhos. A energia inicial dos nós é igual a 10 J e o raio de comunicação é 80 m. A largura de banda é de 250Kbps. O sink se encontra no canto inferior esquerdo da rede. O tempo total de simulação é igual a 1000 segundos. Foram gerados 4 eventos na rede de forma aleatória do tipo CBR, onde o nó envia continuamente a cada 20s um pacote com as informações sensoreadas. O primeiro evento começa no isntante 100 da simulação, o segundo evento no instante 200, o tereiro evento no instante 300 e o quarto evento no instante 400. Todos os eventos terminarão no instante 900 da simulação. As implementações das heurísticas foram feitas no simulador ns-2 [11]. Todos os valores apresentados nos resultados correspondem à média aritmética de 33 simulações. Em todos os experimentos, utilizou-se 95% de intervalo de confiança. Além disso, o Teste-T [8] foi utilizado para afirmar se um protocolo é superior, inferior ou igual a outro. 4.2 Comparação entre as Heurísticas A figura 4 ilustra a quantidade de pacotes transmitidos durante o tempo de vida da rede. Pode-se observar, aplicando o Teste-T com 95% de confinaça, que a heurística efetua aproximadamente 3 vezes mais transmissões do que o CNS e 6 vezes mais transmissões do que a heurística SPT. Isso se deve ao fato de a cada evento novo na rede, uma grande quantidade de transmissões são necessárias para a criação da árvore pelo, como visto na seção na seção 3.3. Por sua vez, a heurística CNS efetua mais transmissões do que a heurística SPT (Teste-T com 95% de confiança), já que para cada novo evento, os nós que detectaram esse evento devem descobrir (caso possua) os nós fontes mais próximo do sink. A heurística SPT apresenta o melhor resultado em termos de pacotes transmitidos, já que ela envia seus dados sensoreados diretamente ao sink pelo menor caminho, não tendo nehuma fase de descobrimento de um novo menor caminho para agregação dos dados. Pacotes transmimitos 40000 35000 30000 25000 20000 15000 5000 0 CNS SPT 0 100 200 300 400 500 600 700 800 900 1000 Figura 4. Número de Transmissões. A figura 5 complementa a figura 4, enfatizando apenas a quantidade de pacotes de controle transmitidos na rede. Pode-se comprovar que o executa um número muito elevado de transmissões. Uma observação importante é que o SPT, como observado na mesma figura, executa apenas uma difusão na rede (difusão executada pelo sink) para descobir o menor caminho de todos os nós ao no sink. Assim, ele possui o menor overhead de pacotes de controle transmitidos na rede comparado as outras heurísticas (Teste-T com 95% de confiança). A figura 6 mostra apenas a quantidade de paco- 4
35000 CNS SPT 35000 CNS SPT 30000 30000 25000 25000 Pacotes Transmitidos 20000 15000 Pacotes Transmitidos 20000 15000 5000 5000 0 0 100 200 300 400 500 600 700 800 900 1000 0 0 100 200 300 400 500 600 700 800 900 1000 Figura 5. Pacotes de Controle Transmitidos. Figura 6. Pacotes de Eventos Transmitidos. tes de eventos transmitidos. A análise desse gráfico é uma boa métrica para observar qual heurística consegue agregar a maior quantidade de pacotes de eventos detectados na rede. Pode-se obervar que o é a heurística que apresenta a maior quantidade de pacotes agregados, já que a quantidade de pacotes de eventos transmitidos é inferior aos demais protocolos (Teste-T com 95% de confiança). Esse bom resultado do deve-se ao fato, como descrito anteriormente, de a cada novo evento detectado na rede, os nós tentam descobrir a melhor rota que levará a uma maior quantidade de pacotes agregados. A heurística CNS apresenta o pior resultado (Teste- T com 95% de confiança) comparada às demais heurísticas. Mesmo tentando executar agregação dos pacotes a cada novo evento detectado na rede, facilmente encontra-se um cenário para seu pior caso, onde o nó fonte mais próximo do sink encontra-se muito próximo desse, proporcionando uma agregação tardia dos dados. A heurística SPT apresenta resultados superior à heurística CNS (Teste-T com 95% de confiança) e resultado inferior à heurística. Isso acontece pois, para o cenário avaliado, o menor caminho entre os fontes de um evento podem facilmente se sobrepor durante o seu percurso, proporcionando uma boa agregação de dados. na rede, em média 6 nós o detectam. Assim, S assume os valeres de 6, 12, 18 e 24 durante o tempo de vida da rede, a medida que os eventos acontecem. A constante c é definida a partir da quantidade de vizinhos e como mencionado anteriormente, c 24. A figura 7 ilustra a complexidade analítica e resultado experimental encontrado com relação ao número de transmissões. Pode-se perceber que o resultado experimental encontra-se próximo ao limite inferior comparado a sua distância do limite superior. Assim, a quantidade excessiva de pacotes transmitidos pelo encontrase dentro do esperado para o cenário analisado. Número de Pacotes transmimitos 1e+06 0 1000 100 10 1 Limite Superior Limite Inferior 1 2 3 4 Figura 7. Comparação dos Limites Superior e Inferior com o Resultado Experimental. 4.3 Análise de Desempenho do Nesta seção será comparado os limites superiores e inferiores analíticos do com os resultados experimentais encontrado nas simulações. Como descrito anteriormente, o limite inferior do é Ω(S log S) e o limite superior é de O(SN). Para cada novo evento 5 Conclusão e Trabalhos Futuros Neste trabalho, foram analisadas três heurísticas para a construção da árvore de Steiner mínima aplicada à coleta de dados eficiente em RSSF. Foi obser- 5
vado que as heurísticas que possuem baixa quantidade de transmissões de pacotes de controle, mostraram-se mais eficientes com relação ao número total de pacotes transmitidos, contabilizando os de controle e de eventos, mesmo tendo uma árvore com poucos pontos de agregação. A heurística CNS moutrou-se inferior à heurística SPT, tanto na quantidade de pacotes transmitidos, quanto na qualidade da árvore gerada. A heurística foi analisada, e verificou-se que a árvore criada é a melhor entre as três analisadas, mas não compensando o custo na sua construção, já que em Redes de Sensores, a transmissão de dados é a tarefa que mais consome energia. Assim, para o cenário analisado, a heurítica com melhor desempenho foi a SPT. Como trabalho futuro, as heurísticas serão analisadas em diferentes cenários, alterando a densidade da rede, raio de comunicação e quantidade de eventos. Assim, será verificado o desempenho dos algoritmos de forma generalizada. [1] Bauer and Varma. Distributed algorithms for multicast path setup in data networks. IEEETNWKG: IEEE/ACM Transactions on NetworkingIEEE Communications Society, IEEE Computer Society and the ACM with its Special Interest Group on Data Communication (SIGCOMM), ACM Press, 4, 1996. [2] D. Estrin, R. Govindan, J. Heidemann, and S. Kumar. Next century challenges: scalable coordination in sensor networks. In MOBICOM 99, pages 263 270, USA, 1999. [3] O. Goussevskaia, M. do Val Machado, R. A. Mini, A. A. Loureiro, G. R. Mateus, and J. M. Nogueira. Data dissemination based on the energy map. In IEEE Communications Magazine, July 2005. [4] J. S. Heidemann, F. Silva, C. Intanagonwiwat, R. Govindan, D. Estrin, and D. Ganesan. Building efficient wireless sensor networks with low-level naming. In Symposium on Operating Systems Principles, pages 146 159, 2001. [5] Hougardy and Promel. A 1.598 approximation algorithm for the steiner problem in graphs. In SODA: ACM-SIAM Symposium on Discrete Algorithms (A Conference on Theoretical and Experimental Analysis of Discrete Algorithms), 1999. [6] C. Intanagonwiwat, R. Govindan, and D. Estrin. Steiner problem in network: A survey. In Networks, volume 17, pages 129 167, 1987. [7] C. Intanagonwiwat, R. Govindan, and D. Estrin. Directed diffusion: a scalable and robust communication paradigm for sensor networks. In Mobile Computing and Networking, pages 56 67, 2000. [8] R. Jain. The Art of Computer Systems Performance Analysis: techniques for experimental design, measurement, simulation and modeling. John Wiley, 1991. [9] J. M. Kahn, R. H. Katz, and K. S. J. Pister. Next century challenges: Mobile networking for smart dust. In In Proceedings of MOBICOM, pages 271 278, Seattle, 1999. [10] B. Krishnamachari, D. Estrin, and S. Wicker. Modelling data-centric routing in wireless sensor networks, 2002. In IEEE INFOCOM. [11] ns2. The network simulator. www.isi.edu/nsnam/ns, 2002. [12] G. Pottie and W. Kaiser. Wireless integrated network sensors. In Communications of the ACM, volume 43, pages 551 8, may 2000. [13] G. Robins and A. Zelikovsky. Improved steiner tree approximation in graphs. In Symposium on Discrete Algorithms, pages 770 779, 2000. Referências 6