Techniques de compression distribuées dans les réseaux
Transcription
Techniques de compression distribuées dans les réseaux
Techniques de compression distribuées dans les réseaux de capteurs sans fils Travaux d’Étude et de Recherche Ensimag - Grenoble INP Jérémie Decouchant - [email protected] Encadrant: Olivier Alphand - [email protected] 11 mai 2011 Table des matières 1 Introduction 2 2 Le protocole 802.15.4 2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Automate CSMA/CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 5 3 Le simulateur WSNet 3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 6 4 Techniques d’agrégation 4.1 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Proposition d’agrégation pour un réseau simple . . . . . . . . . . . . . . 4.3 Avancement et évolutions possibles . . . . . . . . . . . . . . . . . . . . . 7 7 8 8 5 Conclusion 9 6 Annexes 11 1 Contexte Le module TER proposé aux étudiants de deuxième année de l’Ensimag permet à ceux désireux de découvrir le monde de la recherche et la vie en laboratoire de s’intégrer pendant un semestre à une équipe. Durant ce semestre, l’étudiant travaille sur un sujet de recherche proposé par le laboratoire d’accueil, et est encadré par un chercheur. Ce module constitue donc une introduction à la recherche, par un petit travail de recherche en immersion dans un laboratoire. J’ai réalisé mon stage au sein de l’équipe Drakkar, du Laboratoire d’Informatique de Grenoble. L’équipe Drakkar concentre ses efforts de recherche autour des différents aspects des protocoles réseaux et multimédia, avec un thème central lié aux réseaux mobiles sans fil. Ce travail a été encadré par Olivier Alphand qui est Maı̂tre de Conférence à Grenoble INP. Le thème de mon travail s’inscrit dans la continuité des travaux précédents. L’objectif de ce travail était de définir des pratiques d’agrégation, ou de compression de données au sein des réseaux de capteurs. L’étape suivante consistait en l’implémentation de techniques simples dans un simulateur de réseaux à événements discrets réaliste. Nous avons été amenés à utiliser le simulateur WSNet développé par l’INRIA, auquel nous avons ajouté un module implémentatn une couche MAC réaliste. Le code du protocole 802.15.4 m’a été fourni, mon travail a alors consisté à l’ajout de techniques d’agrégation. 1 Introduction Grâce aux avancées technologiques récentes, notamment dans le domaine de la fabrication des semiconducteurs, le matériel électroniques est devenu plus petit, moins cher et moins gourmand en énergie. L’un des secteurs qui a le plus profité de ces progrès est le domaine des réseaux de capteurs sans fils. Désormais, le développement de réseaux de capteurs peut se faire à plus grande échelle, et pour une plus grande variété de domaines d’application. Les applications militaires, la santé, et la maison sont des cibles actuelles de développement. Les réseaux de capteurs possèdent un certain nombre de particularités qui imposent l’évolution de nombreux aspects des protocoles de communication. Par exemple, un capteur peut être sujet à des pannes, le réseau doit alors être capable de fonctionner sans ce noeud. De même la topologie d’un réseau peut évoluer dans le temps, quand des noeuds sont mobiles. Les capteurs sont des objets peu coûteux mais possède des contraintes énergétiques importantes. Ainsi dans certains réseaux on peut observer plusieurs centaines d’élément. Chaque capteur possède une source d’énergie limitée, qui peut dans certains cas se renouveller, ainsi qu’une mémoire et une puissance de calcul intégrés restreintes. Le déploiement efficace de ces capteurs est directement relié à la durée de vie du réseau, qui devient alors un paramètre critique, à cause du coût énergétique des communications entre capteurs. La transmission par WiFi, des données est très coûteuse en termes d’énergie : 80% de 2 l’énergie consommée dans un capteur est utilisée pour la transmission des données. En effet, bien que plusieurs méthodes de compression ou d’agrégation de données aient été proposés dans la littérature, il en existe peu qui étendent l’espérance de vie d’un réseau sans informations a priori sur le type de données étudiées, ou bien sans une coordination centrale. Une condition d’efficacité d’une méthode d’agrégation est que l’énergie consommée pour transformer a bits en b bits soit inférieur à l’énergie nécessaire à la transmission de a − b bits. On renvoie à [3] pour une introduction plus exhaustive aux réseaux de capteurs. Dans ce rapport, nous cherchons à définir une méthode d’agrégation qui puisse être utilisée dans tous les réseaux, i.e. indépendamment du type de données relayée, et apporter une économie d’énergie. 2 Le protocole 802.15.4 Dans cette partie, nous présentons brièvement le protocole 802.15.4 qui a été utilisé pour représenter une couche MAC réaliste et adaptée aux réseaux de capteurs. Nous n’explicitons que les aspects du protocole qui ont été utilisés pour les simulations. Nous renvoyons à [1] si le lecteur désire découvrir plus en profondeur le protocole. 2.1 Présentation Initialement, le protocole de communication 802.15.4 a été développé pour les réseaux possédant une alimentation énergétique faible, et vise à consommer peu d’énergie. Bien sûr, ces qualités en font un protocole très bien adapté aux réseaux de capteurs sans fils. Deux types de noeuds sont entre autres définis par la norme 1. Les PAN (Personal Area Network) Coordinator : c’est le principal contrôleur. C’est en fait un des puits du réseau. 2. Les Coordinator : Il organise la synchronisation des transmissions à travers de paquets spéciaux, les beacons (nous en parlerons plus loin). Il doit être associé à un PAN Coordinator. C’est en fait un des noeuds intermédiaires du réseau. 3 Le schéma précédent donne un exemple d’un réseau de capteurs où les noeuds ont des rôles différents. On y voit des noeuds qui permettent le routage des données qui remontent vers le puits du réseau. Plusieurs types de topologies sont abordées dans la norme, pour notre part, nous nous appuyons sur un topologie en étoile. Il n’y a qu’un PAN Coordinator, ou puits, qui recueille les données des autres noeuds. La norme mentionne que le puits du réseau doit être alimenté en énergie différemment des autres noeuds. Ces deux types de noeud ont des traitements différents sur les paquets reçus lors des communications. En effet, s’il y a de l’agrégation de paquets dans le réseau, elle aura lieu au niveau des noeuds internes, i.e. des noeuds Coordinator. Ces paquets arrivent ensuite au puits, et comme ils sont agrégés, le PAN Coordinator doit les séparer, et les traiter indépendamment. 2.2 Principe général Deux modes de fonctionnement différents sont possibles : le mode slotté et le mode non-slotté. C’est le premier de ces modes qui a été implémenté. Le protocole 802.15.4 utilise une structure de super-trame qui organise les communications entre les éléments du réseau. Cette supertrame est délimitée par deux beacons qui sont des signaux particuliers. Chaque noeud du réseau possédera un fonctionnement copié sur sa supertrame qui dépend de chaque noeud, plus précisement de son père et de ses fils. Structure d’une supertrame du protocole 802.15.4 : 4 La supertrame comporte une période d’inactivité dans laquelle le noeud peut entrer dans une période de consommation limitée en énergie. Le but est donc de maximiser cette période de repos pour chaque noeud afin de permettre au réseau d’avoir une durée de vie la plus grande possible. L’organisation des slots de communication a lieu lors d’une première étape préalable à toute communication. Elle peut se répéter pendant la vie du réseau, notamment si un noeud meurt. Au moment où ce rapport est écrit, cette réorganisation dynamique n’est pas encore fonctionnelle, et l’affectation des supertrames est court-circuité au moment du chargement de la topologie. 2.3 Automate CSMA/CA Une fois la répartition des fenêtres de communication établie, quand un capteur doit envoyer un paquet, il utilise un automate qui lui indique dans quel état il se trouve, et s’il peut communiquer. C’est cet automate que l’on retrouve implémenté dans le code, et qui gère la remontée des paquets dans l’arbre. Nous avons fourni en annexe une reproduction de l’automate complet. Quelques parties ne correspondant pas à ce qui est implémenté doivent cependant être enlevés du graphe. Voici l’idée générale des transmissions CSMA/CA : avant d’émettre, un noeud regarde si le canal de communication est occupé. Si c’est le cas, il attend qu’il le devienne. Sinon, il tente d’émettre. Si une collision survient, alors il attend un certain moment avant de retenter la transmission. 5 3 3.1 Le simulateur WSNet Présentation WSNet est un simulateur de réseaux de capteurs à événements discrets développé, à l’origine, au laboratoire CITI, de l’INRIA. WSNet fonctionne sous Linux et il a l’avantage d’être gratuit. 3.2 Configuration Le simulateur WSNet utilise un fichier XML pour configurer une simulation. Ce fichier décrit les paramètres de la simulation, par exemple le nombre de noeuds à simuler, les librairies utilisées pour modéliser les noeuds et le canal radio et l’application désirée. On a ainsi le loisir de fixer un protocole pour chaque couche, mais aussi de donner la topologie du réseau que l’on simulera, et de préciser le rôle de chaque capteur. Nous donnons en annexe un exemple de fichier de configuration. Un gros avantage de WSNet est la facilité avec laquelle on peut programmer un module qui sera ensuite utilisé pour les simulations. Le schéma suivant résume ce dont a besoin le logiciel pour une simulation. On spécifie le fichier de configuration que l’on souhaite utiliser avec wsnet avec l’option -c, ce qui donne en ligne de commande wset -c fichier.xml. 6 4 4.1 Techniques d’agrégation État de l’art Dans [4], plusieurs techniques d’agrégation des données sont proposées. Cependant, la plupart semblent assez lourdes à mettre en oeuvre ou bien supposent des connaissances a priori sur les données récoltées. Pour illuster ce propos, nous déveleppons un exemple. Le schéma ci-dessous est un schéma de compression appelé Pipelined In-Network Compression. Cette technique permet de factoriser les parties communes de plusieurs paquets. Son point faible est donc de supposer des similitudes entre les paquets transmis. Son efficacité dépend de la longueur des parties communes entre paquets. Un autre défaut de cette méthode est qu’il suppose un buffer de grande taille pour stocker les paquets arrivant, avant de tenter de les factoriser. Ce point est problématique car un capteur a une mémoire de capacité relativement limitée. Le principe est relativement compréhensible, cependant il ne répond pas à toutes les situations que l’on peut recontrer. Nous avons ainsi écarté plusieurs propositions trouvées dans les articles. D’un autre côté, l’article [2] propose une méthode qui fournit des résultats impressionnants. Elle repose sur un mélange entre deux traitements distincts des paquets qui peuvent être agrégés sans traitement particulier, ou bien soumis à un algorithme DCS (Distributed Compressed Sampling) qui repose sur des principes mathématiques. Malheureusement, toutes les clés de la méthode ne sont pas donnés, et l’algorithme est présenté seulement dans les grandes lignes. Nous n’avons pas pu programmer cette méthode, qui paraı̂t assez différente des autres, mais nécessiterait beaucoup de travail, rien que pour en saisir les principes sous-jacents. L’étude de l’état de l’art montre qu’il n’existe pas encore de technique d’agrégation qui soit applicable à tous les types de réseau de capteurs sans fils. Nous avons été amené à définir une politique d’agrégation simple, afin de mesurer l’impact de l’agrégation des données dans l’économie d’énergie. 7 4.2 Proposition d’agrégation pour un réseau simple Les réflexions que nous avons eues en vue d’implémenter une technique d’agrégation dans un réseau de capteurs ne supposent rien sur le type de données récoltées, ou encore sur la topologie du réseau. En ce sens, elles sont plus générales que la plupart des algorithmes proposés dans la littérature. Cependant, du fait de ces hypothèses faibles, les résultats se révéleront sûrement moins bon que les procédures d’agrégation ad-hoc que l’on peut trouver sur certaines topologies particulières. Tout d’abord, l’objectif est de maximiser la taille des paquets émis par un noeud, tout en respectant la taille maximale d’un paquet transmis par le protocole 802.15.4. Une stratégie pour réaliser cela au niveau d’un noeud peut être de vérifier s’il y a dans son buffer des paquets en attente d’émission. Si c’est le cas et qu’une agrégation est possible, alors il pourra fusionner des paquets, qui seront ensuite émis en une seule fois. Une deuxième version de ce principe est d’attendre d’avoir reçu tous les paquets émis par ses fils, puis d’agréger le plus de paquets possibles avant de transmettre. Cela aura sans doute pour effet d’augmenter le délai avant réception des informations par le puits, mais ici l’économie d’énergie est la priorité. Ainsi, un noeud communiquera moins souvent, mais en transmettant à chaque fois plus d’informations. Pour les réseaux de monitoring, nous avons pensé à remplacer les envois directs de mesures (par exemple des relevés de températures) par des paquets indiquant les variations depuis la dernière émission de paquet. Cela permet de réduire la taille du paquet émis. Ensuite, il est intéressant de définir un second type de paquet, qui ne donnera pas directement de mesures, mais précisera que le noeud n’est pas mort et que la valeur mesurée n’a pas sensiblement évolué. Ainsi, on obtient des paquets plus courts, que l’on peut agréger comme précédemment aux autres. Le traitement de cette information différente s’effectuera toujours au niveau du puits du réseau, mais sera enrichie par rapport à la première version. 4.3 Avancement et évolutions possibles Au moment où ce rapport est écrit, les simulations ne fonctionnent pas encore totalement convenablement. Des modifications au code original ont été apportées, elles concernent notamment la structure des paquets qui a été modifiée pour coller à une application de suivi des températures dans un réseau. Le code du protocole MAC a été modifié pour traiter la réception de paquets agrégés au niveau du puits. L’agrégation de données a lieu lors de la réception d’un paquet, en regardant s’il y a des paquets en attente d’émission dans le buffer. Il reste à compléter ce processus d’agrégation, mais aussi à le faire fonctionner (ce qui est une question de temps). Nous espérons pouvoir produire des simulations dans peu de temps. Une fois ces simulations possibles, nous pourrons mesurer quantitativement l’impact de l’agrégation sur la 8 gestion de l’énergie dans les capteurs, ainsi que sur les délais de transmission. Il serait envisageable d’introduire des procédés de compression de données, comme proposé en [5] par exemple. Cet article présente une adaptation simple du codage de Huffman dynamique aux spécificités des réseaux de capteurs. Le point intéressant que soulève cet article est notamment que les algorithmes de compression utilisés couramment sur ordinateur ne sont tous directement transférables aux capteurs, car beaucoup supposent trop de calculs en comparaison du gain apporté. Il serait ensuite possible de réorganiser les supertrame du protocole 802.15.4 dynamiquement pendant la simulation de la vie d’un réseau. On pourrait alors simuler la disparition de certains noeuds du réseau, et la simulation n’en serait que plus réaliste. Nous pourrions tester nos procédures dans un contexte plus général de réseaux de capteurs sans fils. 5 Conclusion Ce TER m’a permis de prendre contact avec le monde de la recherche, de découvrir le cheminement qui permet à un chercheur de définir un problème, puis de travailler sur sa résolution. J’ai ainsi pu aborder les processus d’établissement d’un état de l’art, de définition d’un point non encore développé dans la littérature existante, et de recherche pour répondre à la problématique soulevée. J’ai pu me familiariser avec le fonctionnement d’un simulateur de réseaux à événements discrets, et faire tourner dessus quelques simulations. J’ai vu comment programmer des modules supplémentaires pour adapter les simulations aux cas particuliers que l’on étudie. Le TER a aussi été pour moi l’occasion de découvrir un nouveau protocole de communication, le protocole 802.15.4, qui est proche du WiFi classique, mais plus adapté aux réseaux de capteurs. Enfin, nous avons pu définir une politique simple d’agrégation, qui devrait permettre une économie conséquente d’énergie dans les réseaux de capteurs. Malheureusement, nous avons manqué d’un peu de temps pour faire fonctionner correctement les simulations. D’un point de vue personnel, j’ai beaucoup appris sur la manière dont la recherche fonctionne, et je suis très content de ce que j’ai appris sur les réseaux de capteurs, domaine que je n’avais pas eu l’occasion d’étudier précédemment. 9 Références [1] Mario Alves Anis Koubâa and Eduardo Tovar. Ieee 802.15.4 for wireless sensor networks : A technical overview. IEEE, jul 2005. [2] Davide Brunelli Carlo Caione and Luca Benini. Compressive sensing optimization over zigbee networks. IEEE, 2010. [3] Yogesh Sankarasubramaniam Ian F. Akyildiz, Weilian Su and Erdal Cayirci. A survey on sensor networks. IEEE Communications Magazine, aug 2002. [4] Naoto Kimura and Shahram Latifi. A survey on data compression in wireless sensor networks. ITCC’05 - International Conference on Information Technology : Coding and Computing, 2005. [5] Francesco Marcelloni and Massimo Vecchio. A simple algorithm for data compression in wireless sensor networks. IEEE Communications Letters, 12(6), jun 2008. Remerciements À Olivier Alphand pour avoir bien voulu encadrer ce TER, ainsi que pour son aide patiente. À l’ensemble de l’équipe Drakkar pour son accueil chaleureux. 10 6 Annexes Automate CSMA/CA 11