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