thèse - LIFC - Université de Franche

Transcription

thèse - LIFC - Université de Franche
THÈSE
Présentée à
L’U.F.R DES SCIENCES ET TECHNIQUES
DE L’UNIVERSITÉ DE FRANCHE-COMTÉ
Pour l’obtention du
Grade de Docteur de l’Université de Franche-Comté
Spécialité INFORMATIQUE
Optimisation d’accès au médium et
stockage de données distribuées dans les
réseaux de capteurs
Par
Hung-Cuong LE
Rapporteurs
Directeurs
Examinateurs
Congduc PHAM
Professeur, Université de Pau et Pays de l’Adour
Jean-Jaques PANSIOT
Professeur, Université Louis Pasteur
Hervé GUYENNET
Professeur, Université de Franche Comté
Noureddine ZERHOUNI
Professeur, Ecole Nationale Supérieure de
Mécanique et des Microtechniques de Besançon
Vincent LECUIRE
Maître de Conférences, Université Henri Poincaré
Jean-Christophe LAPAYRE
Professeur, Université de Franche Comté
Remerciements
Je tiens à remercier en premier lieu le Professeur Hervé GUYENNET, mon directeur de thèse du
LIFC pour sa sympathie, sa disponibilité, ses idées, ses conseils et ses encouragements durant mes
trois années de thèse. Je voudrais également le remercier pour sa relecture et sa patience à corriger
cette thèse.
Je remercie le Professeur Noureddine ZERHOUNI, mon co-directeur de thèse du laboratoire
AS2M pour son suivi de mon travail de thèse et son aide lors du déploiement de la plateforme des
réseaux de capteurs au laboratoire AS2M.
J’exprime ensuite ma plus profonde gratitude au Professeur Congduc PHAM et au Professeur JeanJaques PANSIOT qui ont accepté de rapporter cette thèse malgré leur emploi du temps surchargé; à
M Vincent LECUIRE et au Professeur Jean-Christophe LAPAYRE qui m’ont fait plaisir de bien
vouloir participer au jury.
J’adresse également mes remerciements aux membres du LIFC pour leur accueil au sein du
Laboratoire d’Informatique de Franche Comté. Je me souviendrai toujours des Mercredis de
croissants pour les doctorants du LIFC.
Merci à mon ami, mon collègue de bureau depuis trois ans, Nabil ELMARZOUQI, pour les
discussions et ses encouragements dans la vie personnelle et professionnelle.
Merci à tous mes anciens et actuels collègues de bureau : Pamba CAPO-CHICHI, Kamal
BEYDOUN, Fabien HANTZ pour leur sympathie durant le temps où on a travaillé ensemble et
pour les discussions de recherche dans le domaine des réseaux de capteurs.
Je remercie Violeta FELEA, David MARTINS, Mohamed LEHSAINI pour les réunions et les
discussions dans le domaine de réseau de capteurs.
Je dois également remercier Weidong SHI, Yufei XU, Alan CASSARD, Olivier LUCIUS et Xavier
TITI pour leur travail lors de l’implémentation de la plateforme de réseau de capteurs.
Enfin et surtout, merci à mes parents, ma sœur, ma copine et mes amis vietnamiens pour leur aide
et leur encouragement durant toutes ses trois années.
III
IV
Table des matières
Remerciements ................................................................................................................. III Table des matières ............................................................................................................. V Table des figures .............................................................................................................. IX Liste des tableaux.......................................................................................................... XIII Chapitre 1. Introduction .................................................................................................... 1 Partie I
ETAT DE L’ART ........................................................................................... 7 Chapitre 2. Protocoles d’accès au médium ...................................................................... 9 2.1 2.2 2.3 Protocoles MAC basés sur la contention ............................................................ 10 2.1.1 Protocoles MAC basés sur la contention pour les réseaux sans fil :................. 10 2.1.2 Protocoles MAC pour les réseaux de capteurs ................................................. 13 Protocoles MAC sans contention ....................................................................... 26 2.2.1 Accès multiple par répartition dans le temps (TDMA) ................................... 27 2.2.2 Accès multiple par répartition en fréquence (FDMA) ...................................... 28 2.2.3 Accès multiple par répartition de code (CDMA).............................................. 28 Conclusion .......................................................................................................... 30 Chapitre 3. Méthodes de stockage de données distribuées ........................................... 33 3.1 Modèles de stockage de données dans les réseaux de capteurs.......................... 33 3.2 Stockage de données data-centric ....................................................................... 36 3.3 Partie II 3.2.1 Les paradigmes data-centric ............................................................................. 37 3.2.2 Stockage data-centric ........................................................................................ 38 Conclusion .......................................................................................................... 49 CONTRIBUTION ...................................................................................... 51 Chapitre 4. Protocole MAC économisant l’énergie pour réseaux de capteurs de
type surveillance ........................................................................................... 53 V
Table des matières
4.1 4.2 4.3 Protocole d’accès au médium basé sur l’écoute passive ..................................... 53 4.1.1 Hypothèse pour le réseau de capteurs ...............................................................54 4.1.2 Topologie du réseau ..........................................................................................54 4.1.3 Fonctionnement de OBMAC ............................................................................55 4.1.4 Portée influente .................................................................................................60 Evaluation de performance ................................................................................. 64 4.2.1 Paramètres de simulation ..................................................................................65 4.2.2 Temps de latence ...............................................................................................65 4.2.3 Consommation d’énergie ..................................................................................66 4.2.4 Variation de la portée influente .........................................................................67 4.2.5 Validation sur les capteurs Silicon ....................................................................69 Conclusion .......................................................................................................... 70 Chapitre 5. Protocole MAC à faible latence pour réseaux de capteurs orientés
évènement...................................................................................................... 73 5.1 5.2 5.3 5.4 Problème de la latence de transmission dans les protocoles existants d’accès au
médium................................................................................................................ 74 5.1.1 Topologie d’un réseau de capteurs orientés évènement ....................................74 5.1.2 Schéma de transmission multi-saut d’un évènement ........................................75 LLMAC : un protocole d’accès au médium à très faible latence ........................ 79 5.2.1 Transmission niveau évènement .......................................................................80 5.2.2 Intervalle Inter-trame de Continuité (Forward Inter-frame Spacing) ................81 5.2.3 Economie d’énergie ..........................................................................................83 Evaluation de performance ................................................................................. 86 5.3.1 Scénario de simulation ......................................................................................87 5.3.2 Variation du nombre R d’évènements...............................................................89 5.3.3 Variation du nombre d’évènements détectés ....................................................90 5.3.4 Variation du nombre de sauts vers la station de base ........................................91 5.3.5 Variation du nombre de trames par évènement.................................................92 5.3.6 Fiabilité .............................................................................................................93 5.3.7 Consommation d’énergie ..................................................................................94 Résultats d’expérimentation ................................................................................ 96 5.4.1 Scénario de test d’expérimentation ...................................................................96 VI
Table des matières
5.5 5.4.2 Latence de transmissions de chaque image ...................................................... 97 5.4.3 Comparaison entre LLMAC et CSMA ............................................................. 98 Conclusion .......................................................................................................... 99 Chapitre 6. Méthode de stockage de données distribuées pour réseaux de
capteurs ....................................................................................................... 101 6.1 Problème de stockage de données data-centric dans les réseaux de capteurs .. 102 6.2 Regroupement de capteurs pour optimiser le routage de DCS......................... 103 6.3 6.4 6.2.1 Organisation du réseau ................................................................................... 104 6.2.2 Stockage et récupération de données dans le réseau....................................... 106 6.2.3 Agrégation de données à deux niveaux .......................................................... 109 6.2.4 Technique de réplication de données .............................................................. 111 6.2.5 Réélection des cluster-heads ........................................................................... 112 Evaluation de performance ............................................................................... 112 6.3.1 Analyse théorique ........................................................................................... 112 6.3.2 Résultat de simulation .................................................................................... 113 Conclusion ........................................................................................................ 116 Chapitre 7. Conclusion ................................................................................................... 119 Bibliographie ................................................................................................................... 123 Bibliographie personnelle .............................................................................................. 131 Annexe A : Déploiement d’un réseau de capteurs pour la e-maintenance ............... 133 A.1 L’architecture de e-maintenance .......................................................................... 133 A.2 Le rôle d’un réseau de capteurs dans la e-maintenance......................................... 135 A.3 Plateforme de réseau de capteurs MicaZ de CrossBow ....................................... 136 A.3.1 Les compositions des matériels du kit ............................................................... 137 A.3.2 Les logiciels fournis par Crossbow ................................................................... 138 A.4 Accès à distance pour le réseau de capteurs via Internet ...................................... 139 A.5 Conclusion ............................................................................................................ 140 Annexe B : Abréviation et terminologie ....................................................................... 141 VII
Table des matières
VIII
Table des figures
Figure 1.1 - Architecture générale d’un réseau de capteurs ............................................................... 1 Figure 2.1 - Sous-couche MAC dans le modèle OSI et TCP/IP ......................................................... 9 Figure 2.2 - Problème de la station cachée et de la station exposée ................................................. 11 Figure 2.3 - Inter-frame spacing in 802.11 ....................................................................................... 13 Figure 2.4 - Périodique actif et endormi dans S-MAC ..................................................................... 16 Figure 2.5 - Ecoute adaptative de T-MAC ....................................................................................... 17 Figure 2.6 - Technique préambule d’échantillonnage ...................................................................... 19 Figure 2.7 - WiseMAC pour réduire le temps préambule ................................................................ 20 Figure 2.8 - Protocole MAC de IEEE 802.15.4 avec beacon ........................................................... 24 Figure 2.9 - Probabilité de choix de slot dans la fenêtre de contention CW = 32 ............................ 26 Figure 2.10 - Fonctionnement de CSMAC ....................................................................................... 30 Figure 3.1 - Modèles de stockage de données .................................................................................. 34 Figure 3.2 - Réseau pair-à-pair utilisant la table de hachage distribuée ........................................... 39 Figure 3.3 - Exemple de GPSR ........................................................................................................ 41 Figure 3.4 - Erreur de routage et la règle de la main droite .............................................................. 42 Figure 3.5 - Stockage de donnée de GHT basant sur GPSR ............................................................ 43 Figure 3.6 - Nœud “ home node” et “ home perimeter” dans GHT ................................................. 44 Figure 3.7 - Fonctionnement de GEM .............................................................................................. 48 Figure 4.1 - Topologie en arbre d’un réseau de capteurs ................................................................. 55 Figure 4.2 - Règle 4.1 de OBMAC avec 802.15.4 ........................................................................... 57 Figure 4.3 - Règle 4.1 de OBMAC avec S-MAC ............................................................................. 59 Figure 4.4 - OBMAC dans la portée influente de A ......................................................................... 61 Figure 4.5 - Diagramme du fonctionnement de OBMAC avec la portée influente ......................... 62 IX
Table des figures
Figure 4.6 - Temps de latence avec la portée influente α=-90 dBm .................................................65 Figure 4.7 - Consommation d’énergie de 802.15.4 et OBMAC .......................................................67 Figure 4.8 - Variation de la valeur de portée influente .....................................................................68 Figure 4.9 - Capteur Silicon ..............................................................................................................69 Figure 5.1 - Scénario de transmission d’un réseau de capteurs orientés évènement ........................75 Figure 5.2 - Chronologie de transmission pessimiste .......................................................................76 Figure 5.3 - Chronologie de transmission optimiste .........................................................................77 Figure 5.4 - Fonctionnement de LLMAC .........................................................................................80 Figure 5.5 - Economiser l’énergie dans LLMAC .............................................................................85 Figure 5.6 - Topologie de simulation ................................................................................................86 Figure 5.7 - Caméra Cyclops branchée sur Mica2 ............................................................................88 Figure 5.8 - Exemples des images prises par le capteur Cyclops .....................................................88 Figure 5.9 - Latence en faisant varier la valeur R .............................................................................89 Figure 5.10 - Latence en faisant varier le nombre de nœuds capteurs ..............................................90 Figure 5.11 - Latence en faisant varier le nombre de sauts à la station de base................................91 Figure 5.12 - Latence en faisant varier le nombre de trames par évènement ....................................92 Figure 5.13 - Pourcentage d’évènement reçu....................................................................................93 Figure 5.14 - Consommation d’énergie de chaque nœud avec N = 16 .............................................95 Figure 5.15 - Consommation d’énergie totale en faisant varier N ....................................................95 Figure 5.16 – Scénario de test d’expérimentation.............................................................................96 Figure 5.17 – Latence de transmissions en fonction de type d’images .............................................98 Figure 5.18 – Latence de transmission en comparaison entre CSMA et LLMAC ...........................98 Figure 6.1 - Gaspillage d’énergie dans le routage GPSR de GHT..................................................103 Figure 6.2 - Organisation du réseau ................................................................................................104 Figure 6.3 – Pseudo code sur la méthode d’organisation du réseau ...............................................106 Figure 6.4 - Stockage et récupération de données dans le réseau. ..................................................107 X
Table des figures
Figure 6.5 - Nœud mobile envoie une donnée............................................................................... 108 Figure 6.6 – Pseudo code sur le routage et agrégation de données ................................................ 109 Figure 6.7 - Deux niveaux d’agrégation de données ...................................................................... 110 Figure 6.8 - Nombre de transmissions total en faisant varier la valeur de Q.................................. 114 Figure 6.9 - Hotspot en faisant varier le nombre de requêtes Q ..................................................... 116 Figure A.1 - Classification de différentes architectures en maintenance ....................................... 133 Figure A.2 - Architecture d’un réseau de capteurs MicaZ ............................................................. 136 Figure A.3 - Composition d’un capteur MicaZ .............................................................................. 137 Figure A.4 - Station de base MIB520 ............................................................................................. 138 Figure A.5 - Interface de gestion d’un réseau de capteurs ............................................................. 139 Figure A.6 - Interface de gestion des évènements .......................................................................... 140 XI
Liste des tableaux
Tableau 2.1 - Niveaux de consommation d’énergie du capteur mica2 ............................................. 15 Tableau 3.1 - Paramètres du réseau .................................................................................................. 34 Tableau 3.2 - Comparaison des coûts des différents modèles de stockage de données.................... 46 Tableau 4.1 - Paramètres de simulation............................................................................................ 64 Tableau 4.2 - Valeurs de la puissance du signal reçu (dBm) en faisant varier la distance ............... 70 Tableau 5.1 - Paramètre de simulation ............................................................................................. 87 Tableau 5.2 - Nombre de trames par évènement en fonction de la taille des images ....................... 97 Tableau 6.1 - Paramètres de simulation.......................................................................................... 113 XIII
Chapitre 1.
Introduction
Ces dernières années ont été marquées par un développement très rapide des techniques de réseaux
sans fil. Des réseaux pour téléphones mobiles aux réseaux locaux sans fil et aux réseaux ad-hoc, la
recherche aujourd’hui s’est beaucoup focalisée sur les réseaux de capteurs sans fil (RdC). Ceux-ci
sont composés d’un grand nombre de nœuds communicants et distribués sur une zone donnée afin
de mesurer une grandeur physique ou surveiller un évènement [1][2]. La Figure 1.1 montre une
architecture générale d’un réseau de capteurs. Dans un tel réseau, chaque nœud est un dispositif
électronique qui possède une capacité de calcul, de stockage, de communication et d’énergie.
Chaque capteur est doté d’un module d’acquisition qui lui permet de mesurer des informations
environnementales : température, humidité, pression, accélération, sons, image, vidéo etc.
Réseau traditionnel,
Internet, …
Station de base
Bases de données
Passerelle
Capteurs
Figure 1.1 - Architecture générale d’un réseau de capteurs
En effet, suivant le type d’application, il y a plusieurs catégories de capteurs différents qui varient
en fonction de la taille, de la capacité de calcul, de la taille de la mémoire et de la bande passante.
Suivant les caractéristiques des capteurs, la taille du réseau, des protocoles de communications, le
RdC est structuré suivant quatre types principaux de plateformes [4]:
1
Chapitre 1. Introduction
•
Plateforme de capteurs miniaturisés : plateforme dédiée aux capteurs de taille très réduite
(quelques mm3) et de faible bande passante (<50Kbps). Un exemple très connu de ce genre
de plateforme est Spec [9], conçu par l’université de Berkeley. Avec une taille très petite
(2mmx2.5mm), Spec est un des plus petits capteurs au monde.
•
Plateforme de capteurs généraux : plateforme développée pour capter et router des
informations du monde ambiant. Quelques plateformes de cette famille ont été développés
et la plus récente est basée sur MicaZ [10], un capteur de taille ~10cm3 avec les protocoles
de communication IEEE 802.15.4 [12]. Aujourd’hui, MicaZ devient la référence dans les
travaux de recherche dans le domaine des réseaux de capteurs.
•
Plateforme de capteurs à haute bande passante : ces plateformes ont pour but de transporter
de gros volumes de données captées (la vidéo, le son, vibrations). Un exemple typique de
cette famille est Imote [11] dont la communication se base sur la norme Bluetooth 1.1 [13].
•
Plateforme de passerelles : ces dispositifs servent à transporter les informations envoyées
par le réseau de capteurs vers un réseau traditionnel (Ethernet, 802.11) dont Stargate [10]
est un exemple typique.
Parmi ces quatre plateformes, nous nous intéressons plus particulièrement à la plateforme de
capteurs généraux. La raison de notre choix tient à la popularité de ces réseaux ainsi que la
possibilité de programmation de ce genre de capteurs. Ainsi, nous avons déployé un réseau de
capteurs MicaZ au sein du laboratoire afin d’avoir une plateforme pour tester nos protocoles de
communication.
Les réseaux de capteurs sans fil font partie des thèmes de recherche très actifs actuellement car
cette technique peut être appliquée dans de nombreux domaines : surveillance des déplacements
des véhicules en zone hostile [14], observation de la vie des espèces rares [15], surveillance de la
structure des infrastructures [16][17], optimisation de traitement pour les patients [18] etc.
On trouve plusieurs méthodes pour classer les réseaux de capteurs [3][5]. Pour chaque type
d’application, les réseaux de capteurs ont des caractéristiques différentes. Ils se distinguent par le
modèle de communication, le modèle de transmission de données, le modèle de mobilité dans le
réseau etc. Selon les interactions entre le réseau de capteurs et la station de base, nous nous
intéressons à trois modèles principaux : modèle de mesure périodique, modèle de détection
d’évènements et modèle de transmission suite à des requêtes. Dans le premier modèle, tous les
capteurs envoient périodiquement leurs mesures à la station de base. Le type d’application visé
concerne les applications de type “surveillance” où le but principal est d’avoir une information
régulière de la zone surveillée. Dans le deuxième modèle, les capteurs envoient les mesures
seulement lorsqu’il y a un évènement qui se produit. Ce type de modèle est recommandé pour les
applications de surveillance d’évènements critiques où le but principal est l’obtention d’une
2
Chapitre 1. Introduction
information sur l’évènement le plus rapidement possible. Dans le troisième modèle, les capteurs
mesurent des phénomènes et stockent ces mesures dans leur mémoire flash. Ils envoient ces
mesures seulement lorsqu’ils reçoivent des requêtes de la station de base. Ce modèle peut
également s’apparenter aux applications de type surveillance mais les capteurs utilisent une
mémoire flash importante afin de stocker les mesures localement.
Comme nous l’avons précisé dans la partie précédente, les capteurs sont de petits composants avec
une faible capacité de stockage, de calcul et sont alimentés avec une batterie ou avec des piles.
Pour qu’un réseau de capteurs reste autonome pendant une durée de quelques mois à quelques
années sans intervention humaine, la consommation d’énergie devient le problème fondamental.
Celle-ci n’est pas un grand problème pour les réseaux sans fil traditionnel, car on peut toujours
recharger les batteries des dispositifs sans fil comme les téléphones portables ou les ordinateurs
portables. Mais, dans un RdC, il est difficile (parfois impossible dans certaine applications) de
changer la batterie. Imaginons un réseau de capteurs déployé au pôle Nord pour surveiller la
variation de température, on ne peut pas envoyer quelqu’un toutes les semaines juste pour changer
la batterie.
Ces caractéristiques particulières du RdC modifient le critère de performance par rapport aux
réseaux sans fil traditionnels. Dans les réseaux locaux sans fil ou réseaux cellulaires, les critères les
plus importants à prendre en compte sont le débit et la latence. Avec la croissance de la
technologie, les utilisateurs sont de plus en plus exigeants en terme d’utilisation de service. Dans le
passé, les premières générations de réseaux cellulaires avaient uniquement pour but de transmettre
la voix. Depuis, les nouvelles générations de réseaux cellulaires permettent aux utilisateurs finaux
de faire beaucoup plus d’activités : transfert d’images, transfert de vidéos, navigation sur Internet.
Ces activités requièrent un débit important et une faible latence. Contrairement aux réseaux sans fil
traditionnels, dans le réseau de capteurs sans fil, nous n’avons pas besoin d’un grand débit de
transmission. Selon le type de RdC, nous avons besoin de critères de performances différentes.
Pour les réseaux de capteurs de type surveillance, puisqu’on veut maximiser la durée de vie, le
critère de consommation d’énergie est devenu le problème prépondérant tandis que les autres
critères comme le débit ou l’utilisation de la bande passante sont devenus secondaires. Pour les
RdC orientés évènement, nous voulons obtenir des informations à plus faible latence lorsqu’un
évènement se produit. Dans un réseau de capteurs, les communications coûtent chères par rapport
aux traitements locaux des données. Parfois, il vaut mieux stocker et traiter des données localement
plutôt que de faire des transmissions. Le modèle de stockage de données peut beaucoup influencer
la consommation d’énergie globale du réseau. Nous allons traiter toutes ces problématiques dans la
suite de cette thèse.
3
Chapitre 1. Introduction
Plan de la thèse
Cette thèse est organisée en sept chapitres répartis dans deux parties principales : une partie état de
l’art et une partie contribution. La partie état de l’art présente les techniques existantes de
protocoles d’accès au canal et les protocoles de stockage de données distribuées dans les réseaux de
capteurs. La partie contribution expose nos propositions pour améliorer les performances des
réseaux de capteurs dans différentes applications. Plus précisément, notre contribution concerne
deux protocoles d’accès au médium pour deux types de réseaux de capteurs (réseaux de capteurs de
type surveillance et réseaux de capteurs orientés évènements) et un protocole de stockage de
données distribuées.
Dans le Chapitre 2, nous présentons l’historique des protocoles d’accès au canal pour les réseaux
sans fil et plus particulièrement pour les réseaux de capteurs sans fil. Les travaux dans les
protocoles d’accès au canal pour les réseaux de capteurs s’attache à minimiser la consommation
d’énergie afin de prolonger la durée de vie du réseau. Pour éviter le gaspillage d’énergie, deux
techniques sont développées: les protocoles MAC synchronisés et les protocoles MAC avec
préambule d’échantillonnage. Le but de ces deux techniques est de mettre les capteurs dans l’état
actif ou l’état endormi périodiquement pour économiser l’énergie. Ces techniques optimisent la
consommation d’énergie, mais elles impliquent une latence de transmission importante. Nous
présentons également quelques travaux existants sur la minimisation du temps de latence dans les
réseaux de capteurs. Nous discutons des avantages et des inconvénients de ces techniques afin de
les améliorer par la suite dans la partie contribution.
Dans le Chapitre 3, nous présentons les travaux existants dans les protocoles de stockage de
données distribuées. Dans un réseau de capteurs, les communications sont très coûteuses en terme
de consommation d’énergie. Le choix du stockage de données peut beaucoup influencer sur le
nombre de communications et ainsi la durée de vie du réseau. Nous présentons les différents
modèles de stockage de données et détaillons le modèle de stockage data-centric. Ce modèle est
basé sur les techniques de partage de données dans les réseaux pair-à-pair qui permet un bon
équilibrage de charge entre les nœuds dans le réseau. Cependant, l’adaptation des protocoles de
routage des réseaux pair-à-pair aux réseaux sans fil nécessite des modifications et cela implique
une problématique particulière dans ce domaine de recherche.
Le Chapitre 4 débute notre contribution avec une proposition pour améliorer les performances des
réseaux de capteurs. Dans ce chapitre, nous présentons un protocole d’accès au canal pour les
réseaux de capteurs de type surveillance que l’on appelle OBMAC (Overhearing Based MAC).
Dans ce type de réseau, nous nous intéressons à la minimisation de la consommation d’énergie.
L’écoute passive est le cas où un capteur perd le canal et doit patienter pour accéder au canal plus
tard. Pendant ce temps, il va gaspiller son énergie. Cependant, nous montrons que l’écoute passive
n’est pas toujours une cause de gaspillage d’énergie. En effet, elle peut être une bonne méthode
4
Chapitre 1. Introduction
pour justement économiser cette énergie. En effet, nous profitons de l’écoute passive pour réduire
les transmissions redondantes, réduire la consommation d’énergie et prolonger la durée de vie du
réseau. Afin d’assurer la pertinence de notre proposition, nous limitons l’application de OBMAC
dans une portée que l’on appelle la portée influente. Le résultat d’évaluation de la consommation
d’énergie est réalisé par simulation et les valeurs de la portée influente sont évaluées à l’aide de
capteurs Silicons.
Dans le Chapitre 5, nous présentons un protocole d’accès au canal pour les réseaux de capteurs
orientés évènement. Contrairement aux réseaux de capteurs de type surveillance où l’on s’intéresse
à la consommation d’énergie, dans les réseaux de capteurs orientés évènement, nous nous
intéressons plus à la latence de transmission. Notre protocole d’accès au canal, LLMAC (Low
Latency MAC), permet une faible latence de transmission multi-saut pour les réseaux de capteurs
orientés évènements. Nous changeons les niveaux de priorité des nœuds pour favoriser le flux de
transmission des évènements. Comme les capteurs fonctionnent en utilisant des piles, nous
proposons également une technique qui permet d’économiser l’énergie afin de prolonger la durée
de vie du réseau. Les résultats d’évaluation sont réalisés par simulation et sur une plateforme réelle
des réseaux de capteurs d’image Cyclops.
Dans le Chapitre 6, nous traitons une autre problématique des réseaux de capteurs. Il s’agit du
stockage de données distribuées. Nous proposons une structure de regroupement des capteurs dans
le réseau afin d’optimiser le routage et réduire le nombre de transmissions dans le réseau. Nous
donnons également une classification des capteurs en deux types : capteurs statiques et capteurs
mobiles. Cette classification permet de réduire la mauvaise influence des nœuds mobiles du
protocole de routage du réseau. Profitant de la structure de regroupement, nous proposons deux
niveaux d’agrégation des données qui permettent de réduire encore le nombre de communications
dans le réseau. Comme ce travail est basé sur un réseau à large échelle, nous réalisons des
évaluations de performances via la simulation.
Dans le Chapitre 7, nous concluons cette thèse et nous présentons quelques perspectives de travail
pour le futur.
En annexe, nous présentons le déploiement d’un réseau de capteurs dans un atelier sur une chaîne
de transfert afin d’améliorer la maintenance de ce dispositif.
5
Partie I
ETAT DE L’ART
7
8
Chapitre 2.
Protocoles d’accès au médium
Dans les télé-communications, les médiums de transmission peuvent être classés selon deux types
de supports différents : filaire et sans fil. Les supports filaires sont les câbles électriques, des fibres
optiques ; tandis que les supports sans fil sont les ondes radio, les ondes lumineuses, magnétiques.
Le but de ces supports est de transporter un flot de bits d’information d’une source vers une
destination. Le médium de transmission est un dispositif commun pour tous les nœuds du réseau, il
nécessite donc un mécanisme qui gère l’accès des nœuds pour déterminer le droit d’émettre de
chacun d’entre eux dans le réseau. Dans le modèle OSI et TCP/IP [2], cette tâche est gérée par la
couche MAC, la sous-couche de la couche liaison de données Figure 2.1.
Réseau
Liaison de données
Sous-couche MAC
Physique
Figure 2.1 - Sous-couche MAC dans le modèle OSI et TCP/IP
En effet, les protocoles d’accès sont très variés selon le type de médium de transmission (filaire ou
sans fil). Dans les réseaux filaires, les protocoles MAC sont moins compliqués car il est plus facile
de détecter les transmissions des autres afin d’éviter les collisions. Nous nous intéressons dans cette
thèse seulement aux protocoles d’accès au médium des réseaux sans fil. Nous classons les
protocoles d’accès au canal en deux familles principales [21] : les protocoles MAC basés sur la
contention et les protocoles MAC sans contention. Dans la première famille, tous les nœuds
accèdent au canal en concurrence, il y a possibilité de collisions lorsque plus de deux nœuds
accèdent au canal simultanément. Au contraire, dans la deuxième famille, chaque nœud possède
son propre intervalle de temps ou sa propre fréquence de transmission. Les nœuds accèdent au
canal sans concurrence et il n’y a jamais de collisions. Nous allons analyser plus en détail ces deux
familles de protocoles MAC dans la partie qui suit. Les travaux de recherche des protocoles MAC
sont très riches [5][6][7][8] et le but de ce chapitre n’est pas de présenter une liste exhaustive de
9
Chapitre 2. Protocoles d’accès au médium
tous les protocoles MAC. Nous allons juste présenter des travaux principaux dans ce domaine afin
de proposer nos solutions dans la partie contribution.
2.1
Protocoles MAC basés sur la contention
Les protocoles MAC basés sur la contention sont apparus dès le début des communications sans fil.
Ils continuent à être améliorés pour s’adapter aux différents types de réseaux. Dans cette partie,
nous allons d’abord analyser les protocoles MAC pour les réseaux sans fil. Ensuite, nous nous
intéresserons aux protocoles MAC spécifiques pour les réseaux de capteurs sans fil.
2.1.1 Protocoles MAC basés sur la contention pour les réseaux sans
fil :
En 1970, le protocole ALOHA [22] est proposé comme le premier protocole de gestion d’accès au
canal pour les réseaux sans fil. L’idée du protocole ALOHA est simple : un nœud accède au canal
quand il a des données à transmettre. Si plusieurs nœuds accèdent au canal en même temps, les
trames de données rentrent en collision ce qui engendre des retransmissions. Après une collision,
les nœuds attendent un temps aléatoire avant de réessayer de transmettre à nouveau. Deux ans
après, L.J Roberts a proposé une amélioration du protocole ALOHA qui s’appelle ALOHA
discrétisé [23]. Dans ce protocole, le temps est divisé en slots correspondant aux trames de
données. Les nœuds se synchronisent entre eux et ils transmettent des trames de données au début
de chaque slot. La collision se produit seulement quand deux nœuds émettent en même temps sur le
même slot. ALOHA discrétisé génère de meilleures performances que ALOHA classique.
Les protocoles ALOHA ne prennent pas en compte les transmissions des autres, ce qui augment le
nombre de collisions dans le réseau. Pour remédier à ce problème, le protocole d’accès multiple par
écoute de porteuse (Carrier Sense Multiple Access – CSMA) a été proposé en 1975 dans [24]. Dans
ce protocole, avant de transmettre des trames de données sur le réseau, un nœud écoute le médium
de transmission pour voir ce qui se passe dans le canal. Si le canal est libre, il transmet les trames
de données. Sinon, il attend un certain temps et il peut retenter de transmettre à nouveau. Selon la
façon qu’un nœud attend le canal, les auteurs proposent 3 protocoles principaux CSMA [24] :
CSMA 1-persistant, CSMA non persistant et CSMA p-persistant. Dans le premier cas, si un nœud
détecte que le canal est occupé, il continue à surveiller le canal jusqu’à ce qu’il soit libre. Ce nœud
transmet ses trames dès que le canal est libre. Ce protocole est efficace en terme de temps d’attente.
Pourtant, si plusieurs nœuds sont entrain d’attendre avant de transmettre, lorsque le canal est libre
ils vont tous transmettre en même temps ce qui provoque une collision. Pour les nœuds qui sont
moins pressés de transmettre, le protocole CSMA non persistant est plus adaptable. Dans ce
protocole, une fois qu’un nœud détecte que le canal est occupé, il ne reste pas en écoute en
permanence mais il attend un temps aléatoire avant de retenter de transmettre à nouveau. Cela évite
10
2.1 Protocoles MAC basés sur la contention
le problème où différents nœuds attendent le canal et transmettent les trames de données en même
temps lorsque le canal devient libre. Enfin, le protocole CSMA p-persistant semble être le
protocole intermédiaire entre CSMA 1-persistant et CSMA non persistant. Après avoir détecté un
canal occupé, les nœuds restent en écoute sur le canal. Cependant, une fois que le canal est libre, ils
ne transmettent qu’avec une probabilité p.
Dans les trois protocoles CSMA présentés ci-dessus, les auteurs supposent que tous les nœuds sont
dans la portée des ondes radio des autres. Pourtant, cela n’est pas toujours le cas, car dans les
réseaux sans fil, il y a des nœuds qui ne sont pas dans la portée des autres. Un nœud ne peut pas
communiquer avec un autre si ce dernier est à l’extérieur de sa portée. Cela est complètement
différent par rapport aux réseaux filaires où les nœuds partagent le médium de transmission filaire.
Quand un nœud transmet, tous les autres nœuds dans le réseau sont immédiatement au courant (ou
dans un très court intervalle de temps) de cette transmission. Dans les réseaux sans fil, comme la
portée des ondes radio est limitée, il existe quelques problèmes avec l’utilisation de CSMA. Ces
problèmes sont bien connus sous le nom des problèmes de la station cachée [25] et exposée.
A
a)
B
C
D
C émet une transmission lorsque A
est entrain de transmettre
A
B
C
D
b) C ne peut pas émettre quand B est entrain
de transmettre
Figure 2.2 - Problème de la station cachée et de la station exposée
La Figure 2.2 illustre ces problèmes avec quatre nœuds interconnectés dans un réseau sans fil. Les
deux nœuds voisins sont connectés et la portée des ondes radio est limitée entre les voisins. Dans
Figure 2.2a, lorsque A transmet ses paquets à B, C ne détecte pas cette transmission car il se trouve
hors de la portée de A. Quand C trouve que le canal est libre, il commence à transmettre et cela
provoque une collision sur B. Ce problème où un nœud transmet des trames quand il n’a pas le
droit est appelé le problème de la station cachée.
Dans le cas symétrique, la Figure 2.2b illustre une transmission de B vers A. C est le voisin de B et
il détecte que le canal est occupé. Lorsque C a de données à envoyer vers D, il ne peut pas envoyer
car le canal est occupé. Cependant, C peut éventuellement transmettre des trames de données vers
D sans interférer le récepteur A. Ce problème où un nœud peut transmettre des trames alors qu’il
croit être sollicité est appelé le problème de la station exposée.
11
Chapitre 2. Protocoles d’accès au médium
Pour éviter le problème de la station cachée, F.A Tobagi et Al ont proposé une extension de CSMA
nommé BTMA (Busy Tone Multiple Access) [25] la même année. L’idée de BTMA est d’utiliser
deux canaux de communication : le premier pour la transmission des trames de données et le
deuxième pour signaler qu’un nœud est en état de réception. Quand un nœud reçoit des données
sur le premier canal, il émet un signal occupé sur le deuxième canal pour que les nœuds voisins
n’émettent pas. Ainsi, le fait d’utiliser deux canaux de communication rend BTMA compliqué en
termes de conception de matériel. Quelques extensions de BTMA ont été proposées dont le premier
est MACA [26]. Les nœuds utilisent un seul canal de communication. Afin d’éviter le problème de
la station cachée, MACA (Multiple Access Collision Avoidance) utilise les paquets de contrôle
RTS (Request To Send) et CTS (Clear To Send). Cette idée est inspirée du protocole AppleTalk
[27]. Un nœud échange les paquets de contrôle avant d’émettre les trames de données. Une fois
qu’un nœud reçoit CTS après avoir envoyé RTS, il commence à transmettre immédiatement sans
utiliser l’écoute de porteuse. Lorsque les nœuds voisins reçoivent ces paquets de contrôle, ils
savent qu’il y a une transmission dans le médium et n’essaient pas d’accéder au canal
immédiatement.
Le protocole MACA fonctionne bien dans le cas où il n’y a pas d’erreurs de transmission. Mais,
dans un réseau sans fil, des erreurs de transmission sont inévitables à cause du bruit ou d’obstacle
dans l’environnement. MACAW (MACA for Wireless LANs) [28] ajoute les paquets
d’acquittement ACK (Acknowledgement) à la fin de chaque trame de données envoyée pour
garantir une bonne transmission dans le réseau. MACAW améliore MACA en augmentant le débit
du réseau. Avec le développement rapide de différentes techniques d’accès au médium des réseaux
locaux sans fil, l’organisation IEEE a standardisé une norme pour ce type de réseau local sans fil
nommé IEEE 802.11 [29][30][31]. Cette norme propose deux protocoles MAC : Fonction de
Coordination Distribuée (DCF - Distributed Coordinate Function) et Fonction de Coordination du
Point d’Accès (PCF – Point Coordinate Function).
Le mode DCF est un protocole d’accès au médium purement distribué et il se base sur MACAW en
ajoutant l’écoute d’un canal virtuel. Ce dernier est une évaluation du temps de transmission
lorsqu’un nœud reçoit des paquets RTS, CTS, ACK des autres. Pendant cette durée de temps, les
nœuds savent que le canal est occupé et ils essaient d’accéder au canal lorsque cette durée du temps
expire. En plus, le canal de communication sans fil est normalement bruité. La transmission est
fréquemment terminée par une erreur. DCF propose de diviser un paquet long en plusieurs
fragments et de les envoyer en rafale avec des accusés de réception.
Le mode PCF est un protocole d’accès au médium centralisé où la station de base gère tous les
droits d’accès au canal de tous les nœuds dans le réseau. Afin de faire coopérer les différents
modes d’accès au canal, IEEE 802.11 propose différents intervalles inter-trame pour distinguer les
différents niveaux de priorité : Intervalle Inter-trame court (SIFS – Short Inter-frame Spacing),
Intervalle Inter-trame PCF (PIFS – PCF Inter-frame Spacing), Intervalle Inter-trame DCF (DIFS –
12
2.1 Protocoles MAC basés sur la contention
DCF Inter-frame Spacing) (Figure 2.3). Un nœud doit attendre un intervalle inter-trame et un temps
back-off avant d’accéder au canal. L’intervalle inter-trame court est réservé pour les paquets de
contrôle (e.g RTS, CTS, ACK). Lorsqu’un nœud reçoit un RTS ou une trame, il est sûr de gagner le
canal pour répondre au transmetteur. Le standard IEEE 802.11 donne plus de priorité au mode PCF
qu’au mode DCF. Après l’expiration de PIFS, la station de base a le droit d’accéder au canal afin
de diffuser l’ordonnancement du temps d’accès au canal à tous les nœuds. Après tous ces
intervalles de temps, si aucun nœud n’accède au canal, tous les nœuds attendent la fin de DIFS
pour commencer la contention afin de décider le droit d’accès au canal.
DIFS
PIFS
Canal occupé
SIFS
Fenêtre de contention
Trame
Figure 2.3 - Inter-frame spacing in 802.11
Dans cette partie, nous avons présenté les contributions majeures dans le domaine du contrôle
d’accès au médium basé sur la contention pour les réseaux sans fil. Nous avons vu une évolution
rapide de ces techniques dans le temps. Une présentation complète de tous les protocoles d’accès
au médium n’est pas le but de cette partie. Ce sont simplement les protocoles de base qui ont
inspiré plusieurs protocoles d’accès au médium dans les réseaux de capteurs que nous allons
analyser dans la partie suivante.
2.1.2 Protocoles MAC pour les réseaux de capteurs
Comme nous l’avons présenté dans les parties précédentes, un réseau de capteurs sans fil a des
spécificités plus nombreuses qu’un réseau sans fil traditionnel. En particulier, dans un réseau de
capteurs sans fil, les dispositifs sont très sensibles à la consommation d’énergie. Il faut donc
trouver un moyen pour minimiser le niveau de consommation d’énergie afin d’avoir une durée de
vie plus longue.
Avant d’analyser les protocoles MAC qui optimisent la consommation d’énergie, nous
commençons par une analyse des raisons de dissipation d’énergie. En effet, les capteurs
consomment leur énergie dans deux cas: quand ils communiquent entre eux et quand ils traitent des
informations localement. Mais, dans quel cas les capteurs consomment-ils le plus d’énergie? Pour
avoir une estimation sur le niveau de consommation d’énergie dans les deux cas, G.J Potter et al
[32] ont montré que le transport de 1 ko de données sur 100m consomme autant d’énergie que le
traitement de 3 millions d’instructions. On voit donc que la communication coûte chère et qu’il est
préférable de traiter les données localement plutôt que de faire des communications entre les
capteurs.
13
Chapitre 2. Protocoles d’accès au médium
Limiter les temps de communication est une solution pour réduire la consommation d’énergie. De
plus, lorsque les capteurs communiquent, il existe toujours des gaspillages d’énergie. Il nous faut
comprendre ces raisons afin de pouvoir réduire ces gaspillages. Dans [33][34], les chercheurs de
l’Université de Californie ont identifié quatre raisons de gaspillage d’énergie :
•
D’abord, la collision est le cas où deux nœuds transmettent les trames de données en même
temps vers un seul destinataire, cela génère une collision sur le récepteur. Cette collision
implique une retransmission des trames de données et augmente la consommation
d’énergie.
•
La deuxième raison est l’écoute passive (overhearing), où les nœuds écoutent les trames de
données qui ne leur sont pas destinées. Puisque le médium est un environnement commun,
lorsqu’un émetteur transmet ses trames de données, tous les nœuds qui se trouvent autour
de lui sont obligés d’écouter cette transmission. Cette écoute passive est nécessaire pour
déterminer le moment où le médium de transmission se libère afin de transmettre les
trames de données.
•
Le canal sans fil est un médium de transmission bruité et il y a très souvent des erreurs de
transmission. Alors, l’utilisation de paquet de contrôle est une méthode efficace pour
contrôler les trames d’erreurs. Cependant, lorsqu’ils ne contiennent aucune donnée et qu’ils
consomment, c’est un gaspillage d’énergie.
•
Enfin, la dernière raison est l’écoute non-active. En effet, c’est le temps où un nœud écoute
le médium pour attendre une éventuelle transmission vers lui. Quand un nœud ne peut pas
savoir le moment où les autres lui envoient des trames de données, il doit toujours mettre
son transceiveur en marche. De ce fait, s’il n’y a pas de transmission vers lui, ce nœud
consomme de l’énergie pour rien.
Le transceiveur possède quatre modes de fonctionnement : transmission, réception, écoute nonactive et endormi. Le Tableau 2.1 illustre les niveaux de consommation d’énergie d’un capteur
mica2 [10]. Dans la plupart des cas, les consommations d’énergie en mode réception et en écoute
non-active sont similaires et elles consomment environ la moitié du mode de transmission. Par
contre, la consommation d’énergie en mode endormi est beaucoup plus basse.
Comme nous l’avons précisé dans les parties précédentes, les réseaux de capteurs ont un niveau de
trafic très faible. Soit les capteurs envoient les données périodiquement, soit ils envoient les
données lorsqu’il y a un évènement. La plupart du temps, les nœuds sont en écoute non-active et
cela est une source de gaspillage d’énergie la plus importante. Dans le modèle réseau, la couche
MAC décide du mode de fonctionnement de transceiveur. Donc, cette couche doit gérer le
transceiveur pour réduire le temps d’écoute non-active des capteurs afin de réduire la
consommation d’énergie et prolonger la durée de vie du réseau de capteurs.
14
2.1 Protocoles MAC basés sur la contention
Etat
Consommation énergie (mW)
Transmission
80
Réception / non-actif
30
Endormi
0.003
Tableau 2.1 - Niveaux de consommation d’énergie du capteur mica2
Considéré comme la première proposition dans la famille MAC basée sur la contention qui réduit
la consommation d’énergie, PAMAS [35] a été proposé en 1998 pour les réseaux ad-hoc. En effet,
il est inspiré par MACA [26] en utilisant deux canaux de communication : un pour les paquets de
contrôle et la tonalité occupée (busy tone) et un pour les trames de données. Après avoir échangé
les paquets de contrôle, les nœuds commencent à communiquer en utilisant le canal de
transmission. En même temps, il émet une tonalité occupée sur le deuxième canal. Quand les
nœuds voisins reçoivent la tonalité occupée, ils savent qu’il y a une transmission et n’émettent pas
leurs trames de données. La solution de PAMAS réduit également les collisions par rapport à
MACA. En plus, quand les nœuds reçoivent une tonalité occupée, ils savent qu’ils ne peuvent pas
recevoir ou transmettre des données, ils vont éteindre leur transceiveur afin de réduire la
consommation d’énergie. Cela est un avantage de PAMAS par rapport à MACA. Pourtant,
PAMAS ne propose pas de technique pour réduire le temps d’écoute non-actif, ce qui génère le
gaspillage d’énergie le plus important. En plus, le fait d’utiliser deux canaux de communication
limite son application dans le domaine de réseaux de capteurs car la plupart des capteurs utilisent
seulement un canal de communication pour des raisons de prix et de conception de capteurs
Après PAMAS, plusieurs travaux de recherche ont été menés afin de réduire la consommation
d’énergie. Le but principal de ces travaux était de réduire le temps d’écoute non-active des
capteurs. Selon le mode de fonctionnement, ces travaux sont divisés en deux parties : des
protocoles "MAC synchronisés" et protocoles "MAC préambule d’échantillonnage". Nous allons
analyser plus en détails ces deux sous-familles de protocole MAC dans la partie qui suit.
a)
Les protocoles MAC synchronisés
Constatant que dans un réseau de capteurs, l’équité et la latence ne sont pas aussi importants que la
consommation d’énergie, W. Ye et al ont proposé S-MAC (Sensor-MAC) [33][34]. S-MAC fait
partie de la famille “MAC synchronisé” et il est considéré comme la référence des protocoles MAC
dans le domaine des réseaux de capteurs. L’idée principale de S-MAC est de diviser le temps de
fonctionnement du transceiveur en deux parties : active et endormi. Quand le transceiveur se met
en actif, le capteur est prêt à transmettre ou à recevoir les données, tandis que lorsque le
transceiveur se met dans l’état endormi, le capteur ne peut ni transmettre ni recevoir les données.
15
Chapitre 2. Protocoles d’accès au médium
Comme le but de S-MAC est de réduire la consommation d’énergie, il faut prolonger le temps
endormi du transceiveur afin de réduire la consommation d’énergie des capteurs. Pourtant, lorsque
les capteurs se mettent dans l’état endormi et actif périodiquement, il pourrait y avoir un
problème. Comme les capteurs fonctionnent d’une manière indépendante, un capteur peut être actif
tandis que ses voisins sont dans l’état endormi. Si le capteur actif transmet des trames de données à
un capteur endormi, cela va poser le problème appelé “envoi sourd” (deaf listening) car le capteur
endormi ne peut pas recevoir des données. La solution de S-MAC est que les nœuds doivent se
synchroniser entre eux pour se mettre dans l’état actif et l’état endormi en même temps. La
synchronisation est réalisée grâce au paquet SYNC (Figure 2.4). Les nœuds envoient
périodiquement un paquet SYNC pour se synchroniser entre eux et pour connaître le temps où ils
ont le droit de transmettre et le temps où ils doivent être éteints pour économiser l’énergie. Quand
un nœud participe à un réseau, il cherche dans le réseau s’il y déjà un cycle de synchronisation. Si
cela est le cas, ce nœud adapte son cycle de travail avec le cycle existant. Sinon, ce nœud crée son
propre cycle et diffuse le paquet SYNC à tous les nœuds voisins. Comme les nœuds synchronisent
leur cycle de travail, S-MAC est classé dans la famille des protocoles MAC synchronisés.
En effet, l’intervalle actif est le temps où les nœuds se synchronisent et transmettent les paquets de
contrôle. La Figure 2.4 illustre bien la composition de ces intervalles dans le temps. Les nœuds qui
ont des données à transmettre ou à recevoir vont échanger les paquets de contrôles RTS/CTS. Une
fois que ces paquets de contrôle sont échangés, le transmetteur et le récepteur continuent de rester à
l’état actif pendant toute cette période. Les nœuds qui n’ont pas de données à transmettre ou à
recevoir vont éteindre leur transceiveur jusqu’à la fin de la période.
une période
SYNC RTS
CTS
endormi
SYNC RTS
CTS
endormi
Figure 2.4 - Périodique actif et endormi dans S-MAC
Cette méthode permet aux capteurs d’éviter le problème d’écoute non-active, mais elle augmente la
latence car les nœuds ne peuvent transmettre qu’au début de chaque période. Après avoir reçu les
données, le récepteur ne peut pas faire suivre les trames de données immédiatement car le nœud
suivant est déjà dans l’état endormi. Il doit attendre jusqu’au début de la prochaine période pour
accéder au canal. Les auteurs ont proposé une écoute adaptative [34] afin de réduire cette latence.
Quand un nœud écoute un RTS/CTS, s’il est transmetteur/récepteur, il va mettre son transceiveur
actif. Sinon, il se met en veille seulement pendant le temps de transmission entre transmetteur et
récepteur et il se réveille juste à la fin de cette transmission afin de savoir s’il est le futur récepteur
16
2.1 Protocoles MAC basés sur la contention
d’une transmission multi-saut. Mais, ces extensions restent toujours limitées à deux sauts car les
nœuds ne peuvent pas signaler les nœuds à distance qui doivent se mettre en actif pour toute la
transmission multi-saut. Cependant, avec certaines applications de réseau de capteurs, cette latence
est acceptable. S-MAC économise la consommation d’énergie et de ce fait, un réseau de capteurs
peut prolonger sa durée de vie jusqu’à quelques années. Un inconvénient majeur de S-MAC est que
la proportion entre le temps actif et endormi est fixe ce qui empêche les capteurs de s’adapter à
différents niveaux de trafic.
Pour remédier aux inconvénients de S-MAC, Tijs van Dam et al ont proposé T-MAC (TimeoutMAC) [36]. Dans T-MAC, les nœuds se synchronisent pour mettre leur transceiveur actif et
endormi périodiquement comme S-MAC. Cependant, T-MAC adapte l’intervalle de temps actif à
différents niveaux de trafic du réseau. Cet intervalle de temps n’est plus fixé par l’application mais
varie selon le trafic du réseau. Si le trafic est important, les capteurs restent plus longtemps en actif
afin de transmettre plus de données. Au contraire, si le trafic est faible, les capteurs restent un
temps plus bref actif afin d’économiser l’énergie. En effet, les capteurs décident de se mettre en
veille lorsqu’ils ne trouvent pas d’activités dans le réseau pendant une durée de temps que les
auteurs ont appelés TA. Ces activités concernent la réception d’une trame ou une collision et TA
est un seuil suffisamment long pour garantir qu’il n’y ait aucune activité dans le réseau. La Figure
2.5 illustre une comparaison entre S-MAC et T-MAC. Nous pouvons voir que l’intervalle actif de
S-MAC reste toujours fixe tandis que l’intervalle actif de T-MAC varie selon le trafic. Si le trafic
est en baisse, l’intervalle actif de T-MAC diminue et au contraire, si le trafic est en hausse,
l’intervalle actif de T-MAC augmente.
S-MAC
Actif
Actif
T-MAC
TA
endormi
endormi
Actif
endormi
endormi
Actif
TA
Actif
Actif
TA
Figure 2.5 - Ecoute adaptative de T-MAC
Pour réduire la latence de la transmission multi-saut, T-MAC propose un nouveau type de paquet
de contrôle FRTS (Future-RTS). Ce paquet a pour but de signaler au nœud qu’il est récepteur d’une
transmission, alors que le transmetteur est dans la portée d’une transmission en cours et ne peut pas
transmettre. Lorsqu’un nœud reçoit FRTS, il devient actif à la fin de la transmission en cours pour
recevoir les futures trames de données. Cette méthode réduit également la latence de transmission
multi-saut de capteurs vers la station de base. Comparé à l’écoute adaptative de S-MAC, cette
méthode de T-MAC est plutôt active car le transmetteur précise le nœud récepteur qui doit rester
17
Chapitre 2. Protocoles d’accès au médium
actif après la transmission tandis que S-MAC est plutôt passive car les nœuds alentours doivent se
réveiller pour voir s’ils vont être prochainement récepteurs.
L’écoute adaptative de S-MAC [34] et T-MAC [36] améliore la latence de transmission en
affectant seulement le nœud du saut suivant et des deux sauts suivants. Afin de réduire la latence
d’une manière globale, FPA (Fast Path Algorithm) [37] propose une extension de S-MAC à
condition que ce soit une transmission unidirectionnelle de capteurs vers la station de base. Les
nœuds établissent un chemin de routage depuis un nœud feuille vers la station de base. Selon sa
position dans la topologie, un nœud estime le temps que son fils va lui envoyer des trames de
données. Il se réveille pendant ce temps afin de recevoir des données et les faire suivre à son père.
L’idée de FPA ressemble à l’écoute adaptative de SMAC [34], mais avec une aide plus efficace de
l’information de routage de la couche réseau. Ainsi, la latence globale est améliorée pour une
transmission multi-saut depuis une feuille vers la station de base.
Toujours dans le but de réduire la latence de transmission, DSMAC [38] change dynamiquement
les périodes actives de S-MAC selon la demande et le trafic. Au début, tous les nœuds fonctionnent
avec le même cycle. Quand un récepteur détecte un retard de transmission multi-saut, il double son
cycle de travail et annonce ce changement dans le paquet SYNC. Lorsqu’un transmetteur reçoit ce
changement, si il a des données à envoyer vers ce récepteur, il va doubler son cycle de travail
également afin d’envoyer les données à une faible latence. Pourtant, le choix de doubler le cycle de
travail dépend également de l’état du nœud. Un nœud double son cycle de travail seulement s’il a
suffisamment d’énergie. Comme le cycle de travail ajouté se trouve toujours au milieu des périodes
actives, les nœuds qui doublent leur cycle de travail se synchronisent aussi pour faire des
transmissions dans la période supplémentaire.
Toujours basée sur la méthode de mise en mode actif et endormi périodiquement des transceiveurs,
DMAC [39] offre une latence très faible si l’on compare avec d’autres protocoles MAC de la
même famille. En effet, DMAC [39] se base sur la topologie des réseaux de capteurs où les
capteurs forment un arbre de collection de données unidirectionnel. Une période active se divise en
deux sous-périodes : une pour la réception et une pour la transmission. La période de réception
d’un nœud correspond à la période de transmission de son fils et la période de transmission d’un
nœud correspond à la période de réception de son père. De ce fait, lorsqu’un nœud a reçu les
données de son fils, il peut les faire suivre tout de suite à son père. Nous pouvons constater que
selon la position d’un nœud dans le réseau, le cycle de travail est décalé entre un nœud père et son
fils. Pourtant, il requiert une forte synchronisation entre les nœuds. Bien que DMAC offre un
résultat intéressant en termes de latence, il souffre de quelques inconvénients. Lorsque la topologie
change, il faut modifier le cycle de travail des capteurs car leur position change dans l’arbre. En
plus, les capteurs dans le même niveau accèdent au canal en contention ce qui peut provoquer des
collisions.
18
2.1 Protocoles MAC basés sur la contention
b)
Les protocoles MAC avec préambule d’échantillonnage
Jusqu’ici, nous avons vu quelques protocoles MAC synchronisés pour les réseaux de capteurs afin
de réduire la consommation d’énergie. Dans ces protocoles, tous les nœuds doivent se synchroniser
pour travailler et dormir en même temps. Cependant, cette synchronisation requiert des échanges
de paquets de contrôle supplémentaires ce qui crée un surcoût de transmission. En plus, la garantie
de synchronisation globale d’un réseau de capteurs n’est pas facile à atteindre.
Une deuxième méthode pour réduire la consommation d’énergie sans utiliser la méthode de
synchronisation a été proposée sous le nom “préambule d’échantillonnage” (preamble sampling).
Dans le domaine des télécommunications, le préambule d’échantillonnage est une méthode
classique utilisée dans les systèmes paging [40][41] afin d’optimiser la consommation d’énergie
pour les dispositifs électroniques. Ceux-ci s’endorment la plupart du temps pour économiser
l’énergie et ils se réveillent périodiquement pour écouter les éventuelles transmissions. S’il n’y a
pas d’activité dans le médium, les dispositifs retournent à l’état endormi. Au contraire, ils restent
en écoute sur le canal pour recevoir d’éventuelles trames de données. Tous les nœuds utilisent la
même période d’échantillonnage (le temps entre deux écoutes consécutives). Cependant, comme ils
ne se synchronisent pas, cela nécessite donc que le transmetteur connaisse le moment où le
récepteur se réveille pour bien transmettre ses trames de données. Si le transmetteur envoie un
paquet quand le récepteur est endormi, il va provoquer le problème appelé “envoi sourd” (deaf
listening). Pour remédier à ce problème, le transmetteur doit envoyer avant chaque transmission un
paquet préambule qui ne contient que des bits 0 et 1 alternativement. Le but de ce paquet
préambule est d’alerter le récepteur qu’il a des données à recevoir et qu’il doit rester dans l’état
actif. La longueur de ce préambule doit être supérieure à la période d’échantillonnage pour pouvoir
signaler tous les récepteurs dans la portée. Cette technique déplace la consommation d’énergie du
côté transmetteur car il doit envoyer un paquet préambule avant chaque transmission.
T : Période d’échantillonnage
Préambule
Transmetteur
Récepteur
Données
T
Réveille et revient à endormi
lorsque le médium est libre
Reste actif en recevant le
préambule
Figure 2.6 - Technique préambule d’échantillonnage
19
Chapitre 2. Protocoles d’accès au médium
La Figure 2.6 illustre le fonctionnement de cette technique "préambule d’échantillonnage” avec un
transmetteur et un récepteur. Le récepteur se réveille périodiquement après chaque période
d’échantillonnage T. Dans la Figure 2.6, lorsque le récepteur se réveille dans les deux premières
périodes, il trouve qu’il n’y a aucune activité dans le médium. Donc, il se met dans l’état endormi.
Le transmetteur commence sa transmission quand le récepteur est endormi. S’il transmet
directement les données, le récepteur ne va jamais recevoir ces données car il est dans l’état
endormi. Donc, le transmetteur commence sa transmission par un paquet préambule
d’échantillonnage. Lorsque le récepteur se réveille, il trouve que le médium est occupé (par le
paquet préambule), il sait qu’il y aura une transmission pour lui et reste actif pour recevoir
d’éventuelles trames de données. Après avoir signalé au récepteur sa transmission par le paquet
préambule, le transmetteur commence à transmettre ses trames de données en assurant que le
récepteur est actif pour recevoir ses données.
Dans un réseau de capteurs, les nœuds ne transmettent pas les données très souvent, surtout dans
les applications de type détection d’évènement où les capteurs envoient les données seulement
lorsqu’un évènement se produit. La technique préambule d’échantillonnage semble bien adaptée à
ce type de réseau pour réduire la consommation d’énergie. Le premier protocole d’accès au
médium pour les réseaux de capteurs utilisant la technique préambule d’échantillonnage a été
proposé par A. El-Hoiydi et Al en combinant avec Aloha sous le nom Aloha-PS [42]. Comme la
technique CSMA est plus avantageuse que Aloha en terme d’évitement de collision. A. El-Hoiydi
et Al ont proposé NP-CSMA-PS [43] qui est une version “écoute de porteuse CSMA non
persistant” avec préambule d’échantillonnage. Leurs résultats d’évaluation montrent que Aloha-PS
et NP-CSMA-PS donnent approximativement les mêmes performances en cas de trafic faible. Dans
le cas d’un trafic plus soutenu, NP-CSMA-PS est plus avantageux.
L’arrivé d’un paquet
Transmetteur
P
Données
attendre
Récepteur
T
Revient à endormi lorsque
le médium est libre
A
Reste actif en recevant
le préambule
Figure 2.7 - WiseMAC pour réduire le temps préambule
20
2.1 Protocoles MAC basés sur la contention
La combinaison de protocoles d’accès au médium Aloha ou CSMA avec la technique préambule
d’échantillonnage réduisent nettement le niveau de consommation d’énergie. S’il n’y a pas de
transmissions, les récepteurs ne consomment pas d’énergie entre les périodes d’échantillonnage.
Plus on élargit la période d’échantillonnage, plus les récepteurs peuvent économiser l’énergie. En
échange, les transmetteurs doivent envoyer un paquet préambule plus long ce qui augmente la
consommation d’énergie du côté transmetteur. De plus, le paquet préambule ne contient pas de
données utiles et c’est alors un gaspillage d’énergie.
Afin de réduire la consommation d’énergie globale, on doit donc trouver un moyen pour réduire le
temps d’envoi du paquet préambule. WiseMAC [44][45] améliore NP-CSMA-PS [43] en terme de
consommation d’énergie en réduisant la longueur d’un paquet préambule. Normalement, la
longueur d’un paquet préambule doit être supérieure à la longueur de la période d’échantillonnage
(pour que le transmetteur puisse signaler au récepteur une éventuelle transmission). Donc, s’il y a
une méthode efficace pour que le transmetteur sache le moment où le récepteur se réveille, il peut
se réveiller juste un peu avant ce moment sans envoyer un long paquet préambule. C’est la
méthode utilisée par WiseMAC. En effet, chaque nœud maintient une table contenant les périodes
d’échantillonnages de tous les voisins. Cette information n’est pas obtenue par un envoi explicite
de paquet SYNC comme dans les protocoles MAC synchronisés, mais par l’information
superposée (piggyback). L’information superposée est une information complémentaire ajoutée
dans les paquets de contrôle.
Dans WiseMAC, les transmissions sont suivies par des paquets d’acquittements afin de garantir
une bonne transmission entre les nœuds et permettre d’échanger les périodes échantillonnages (la
Figure 2.7). Au début, les nœuds transmettent des trames de données en utilisant un paquet
préambule de longueur normale (supérieure à la période d’échantillonnage). Ensuite, une fois que
la transmission est terminée, le récepteur renvoie un paquet d’acquittement. Ce paquet
d’acquittement signale au transmetteur qu’il a bien reçu les données. Mais, le récepteur ajoute aussi
dans son paquet d’acquittement une information supplémentaire qui est sa période
d’échantillonnage. Après avoir reçu le paquet d’acquittement, le transmetteur peut mettre à jour la
période d’échantillonnage du récepteur dans sa table des voisins. Pour la prochaine transmission, le
transmetteur connaîtra la période d’échantillonnage du récepteur, il transmettra juste avant le réveil
du récepteur. La Figure 2.7 illustre le fonctionnement de WiseMAC. A l’arrivée d’un paquet,
quand le transmetteur connaît déjà la période d’échantillonnage du récepteur, il n’envoie pas le
préambule toute de suite. Il attend et il envoie le préambule juste un peu avant le réveil du
récepteur. La transmission se termine par un paquet ACK envoyé par le récepteur pour signaler une
bonne réception des trames de données et annoncer sa période d’échantillonnage en même temps.
Dans le cas idéal, il suffit d’un échange de période d’échantillonnage pour que le transmetteur
sache exactement le moment où ses voisins se réveillent. Cependant, entre les dispositifs
électroniques, il y a toujours des décalages d’horloge. Ces derniers provoquent une erreur sur la
21
Chapitre 2. Protocoles d’accès au médium
période d’échantillonnage des voisins. Après un certain temps écoulé, les informations sur la
période d’échantillonnage des voisins d’un nœud ne sont plus à jour. Le temps d’échantillonnage
d’un voisin dans la table d’un nœud n’est peut être plus son temps d’échantillonnage réel. Dans
WiseMAC, si le temps entre deux transmissions dépasse un certain seuil, le nœud revient à une
transmission avec préambule d’échantillonnage avec une longueur normale qui est supérieure à la
période d’échantillonnage.
Dans certains cas, WiseMAC offre de meilleures performances que S-MAC. Cependant, comme
les nœuds ne sont pas synchronisés, il est impossible de faire de la diffusion (broadcast). En plus,
WiseMAC n’utilise pas des paquets de contrôle et ne peut donc pas éviter le problème de la station
cachée.
Pour supprimer ces limitations, SCP-MAC [46] (Synchronized Channel Polling MAC) propose une
synchronisation entre les périodes d’échantillonnage des nœuds dans le réseau. Les nœuds se
synchronisent d’une manière passive en ajoutant ces informations dans les trames de données et
une manière active en envoyant des paquets SYNC s’ils ne sont pas synchronisés avec les voisins.
En plus, SCP-MAC peut s’adapter aux différents trafics du réseau. Quand le trafic est important,
SCP-MAC multiplie automatiquement le temps que les nœuds accèdent au canal afin d’augmenter
le débit et réduire la latence de transmission multi-saut.
Une autre contribution importante qui a été beaucoup publiée dans la pratique est B-MAC [47].
C’est un protocole MAC utilisé par les capteurs Mica [10]. B-MAC prend en compte des
conditions réelles du canal de communication. En condition réelle, le canal de communication est
toujours bruité. Cela est dû à des interférences avec plusieurs dispositifs sans fil : les routeurs sans
fil, les téléphones portables, ou les micro-ondes etc. Dans ces conditions, on trouve rarement le cas
où le canal de communication est complètement libre. Il faut évaluer le seuil où le canal est
considéré comme libre. Cela signifie que même si les nœuds détectent un signal dans le médium,
même très faible, les nœuds peuvent évaluer le canal comme s’il était libre. En effet, B-MAC
propose une opération dite “Evaluation de Canal Libre” (Clear Channel Assessment - CCA). C’est
une méthode d’évaluation du canal dans le cas réel du canal bruité. Si la puissance du signal reçu
est supérieure au seuil du canal bruité, on considère que le canal est occupé. Au contraire, même
s’il y a un signal dans le canal mais de puissance inférieure au seuil d’un canal bruité, on considère
que le canal est libre. D’une part, la technique CCA améliore l’exactitude des communications car
on prend en compte la condition réelle du canal de communication. Cette technique aide les nœuds
à économiser l’énergie car les nœuds peuvent éviter de se réveiller dans le cas d’un faux canal
occupé. Cependant, le débit de communication est inversement proportionnel au seuil de CCA. Si
le seuil est élevé, le débit de communication est réduit et vice-versa. En plus, B-MAC propose un
module qui permet de changer automatiquement ce seuil selon les conditions du canal de
communication. Pour recevoir la valeur de ce seuil, le signal du canal est échantillonné quand le
canal est considéré comme libre (Ex : juste après la réception d’un paquet). Cet échantillon est mis
22
2.1 Protocoles MAC basés sur la contention
dans une file de taille 10 et le seuil est obtenu par le médian de toutes les valeurs de seuil dans la
file.
A côté de la technique CCA, B-MAC utilise la même technique d’accès au médium Aloha avec
préambule d’échantillonnage. Les auteurs ont nommé cette technique "Ecoute à Faible Energie”
(Low Power Listening –LPL). Comme dans les techniques MAC avec préambule
d’échantillonnage, les nœuds se réveillent dans un court instant pour attendre éventuellement une
transmission. Ils appliquent CCA pour évaluer s’il y a des activités dans le canal. Si c’est le cas, ils
restent en écoute pour attendre la réception des trames de données. Sinon, ils retournent à l’état
endormi. Un avantage de plus de B-MAC par rapport aux autres protocoles MAC, est la facilité de
programmation. B-MAC fait partie de TinyOS [48], un système d’exploitation léger dédié aux
capteurs de petite taille comme Mica [10]. B-MAC est open-source et il offre des interfaces
simples pour faciliter le paramétrage de différentes valeurs comme la période d’échantillonnage.
Les protocoles MAC avec préambule d’échantillonnage que nous avons analysés utilisent le même
période d’échantillonnage que tous les nœuds dans le réseau. Cela est raisonnable pour un réseau
homogène où tous les nœuds jouent le même rôle et ont le même niveau d’énergie. Pourtant, dans
un réseau de capteurs, ce n’est pas toujours le cas. Les capteurs peuvent être hétérogènes en terme
de calcul, de niveau d’énergie etc. EA-ALPL [49] améliore B-MAC [47] en prenant en compte cet
aspect. En effet, il donne le choix de modifier la période d’échantillonnage à tous les nœuds dans le
réseau en fonction de leur état. Un nœud avec une période d’échantillonnage longue est moins
sollicité qu’un nœud avec un période d’échantillonnage court. Selon la topologie du réseau, si un
nœud a plus de fils, il doit faire suivre plus de paquets et de ce fait consomme plus énergie. Pour
réduire la charge de ce nœud, on choisit simplement une période d’échantillonnage plus longue
pour réduire la probabilité d’être sollicité à relayer les trames de données. En effet, les nœuds
échangent les informations de leur état avec les voisins. L’état d’un nœud est caractérisé par la
période d’échantillonnage, le niveau d’énergie restant et le routage. Les nœuds fils vont choisir les
voisins avec la période d’échantillonnage la plus courte, c’est-à-dire un voisin qui est prêt à faire
suivre des paquets.
c)
La norme IEEE 802.15.4
Nous venons de voir que la couche MAC joue un rôle très important dans le fonctionnement des
réseaux de capteurs. Plusieurs protocoles MAC ont été proposés dans la littérature et chacun a des
avantages et des inconvénients différents. Une nouvelle norme de réseau sans fil spécialisée pour
les réseaux de capteurs à faible consommation d’énergie fait son apparition en 2003. Elle se
nomme IEEE 802.15.4 [12] pour les réseaux sans fil à faible consommation, faible portée et faible
débit. Il s’agit de la couche physique et de la couche MAC pour les réseaux de capteurs sans fil.
Comme un réseau de capteurs se compose de plusieurs nœuds de faible portée, les nœuds ont
besoin de communication multi-saut pour transmettre des informations des nœuds vers la station de
23
Chapitre 2. Protocoles d’accès au médium
base. Pour cette raison, le protocole Zigbee [50] a été proposé par une alliance de plusieurs grandes
entreprises. Zigbee est basé sur la norme IEEE 802.15.4 pour la couche physique et la couche
MAC. Il offre un routage multi-saut pour les nœuds dans le réseau et également des méthodes de
cryptage de données.
En effet, avec Zigbee, IEEE 802.15.4 offre trois types de topologie : étoile, arbre et maillé. La
topologie étoile permet seulement une communication à un saut. Pour une large zone de
déploiement, cette topologie n’est pas satisfaisante car la portée du transceiveur est limitée. La
topologie maillée permet les communications multi-saut pour un déploiement massif sur une large
zone. Cependant, les nœuds n’ont pas de méthodes pour économiser la consommation d’énergie.
Pour un réseau de capteurs avec une faible consommation d’énergie et des transmissions multisaut, nous nous basons sur la topologie "arbre".
La norme IEEE 802.15.4 propose un mode beacon pour économiser l’énergie sur les nœuds. Dans
un réseau, il y a un nœud coordinateur qui gère l’accès au médium de tous les nœuds. Comme SMAC [33], les nœuds se synchronisent pour travailler et dormir en même temps. Périodiquement, il
envoie un paquet beacon qui contient l’information de synchronisation pour signaler aux nœuds le
moment de se mettre dans l’état actif ou endormi. Le coordinateur peut modifier l’intervalle beacon
pour que les nœuds travaillent plus ou dorment plus selon le type d’application.
Intervalle beacon
B
CAP
B : Beacon
CFP
endormi
B
CAP : Contention Access Period
CAP
CFP
endormi
CFP : Contention Free Period
Figure 2.8 - Protocole MAC de IEEE 802.15.4 avec beacon
La Figure 2.8 illustre le fonctionnement du protocole MAC de la norme IEEE 802.15.4 avec
beacon. Grâce au paquet beacon, tous les nœuds sont en état actif pendant la période active. La
période active est composée de 16 slots de temps dont un est pour le paquet beacon. En effet, cette
période est divisée en deux parties : période d’accès en contention (CAP) et période sans
contention (CFP). La première période est réservée à des accès au canal en concurrence. Les nœuds
sont libres pour accéder au canal pendant cette période en utilisant CSMA/CA. Comme nous
l’avons vu dans la partie précédente, le CSMA/CA ne garantit pas une transmission fiable entre les
nœuds car il risque d’y avoir des collisions. En plus, les nœuds accèdent au canal aléatoirement et
nous ne pouvons pas assurer un accès au canal pour certains nœuds. Pour remédier à ce problème,
la norme IEEE 802.15.4 propose la période sans contention où le coordinateur attribue à certains
24
2.1 Protocoles MAC basés sur la contention
nœuds le privilège pour accéder au canal dans un intervalle de temps fixe. Pendant cette période, il
y a un seul nœud qui a le droit d’émettre et il n’y aura pas de collisions.
d)
MAC protocoles pour RdC orientés évènement
Les protocoles MAC que nous avons vu dans les parties précédentes avaient comme but principal
la réduction du temps actif du transceiveur afin de réduire la consommation d’énergie due à
l’écoute non-active. Ces propositions sont pour les réseaux de capteurs de type surveillance où la
latence n’est pas un problème critique. Cependant, pour les réseaux de capteurs orientés
évènement, la latence est un problème primordial et elle est plus importante que la consommation
d’énergie. Dans certaines d’applications (Ex : aéronautique, nucléaire, industriel etc.), nous
voulons avoir des informations sur les évènements avec le plus bref délai une fois qu’un évènement
critique se produit. Il n’existe pas beaucoup des travaux de recherche pour ce genre de protocoles
MAC.
SIFT [53] est le premier protocole MAC pour les réseaux de capteurs orientés évènement. En effet,
pour ce type de réseau de capteurs, quand un évènement se produit, plusieurs nœuds détectent les
informations similaires et veulent les envoyer à la station de base simultanément. La station de base
n’a pas besoin de toutes les informations envoyées par les nœuds pour pouvoir prendre une
décision. Le but de SIFT est de favoriser la transmission de R dans N paquets pour les évènements
(R < N).
Avant chaque transmission, les nœuds entrent dans la période de contention où chaque nœud
choisit un slot aléatoirement dans la fenêtre de contention. Le nœud qui choisit le premier slot
gagne le canal et commence sa transmission. Si plus de deux nœuds choisissent le premier slot en
même temps, ils commencent à transmettre en même temps et cela provoque une collision. Plus les
nœuds sont en contention, plus la probabilité de collision est élevée. Quand un évènement se
produit, il y a beaucoup de nœuds qui sont en contention pour transmettre des informations à la
station de base. Le risque de collision est de ce fait élevé. Les collisions impliquent une
retransmission du message avec un doublement de fenêtre de contention. Cela augmente le délai de
transmission et il faut du temps pour que la taille de la fenêtre de contention atteigne une bonne
valeur pour éviter des collisions.
Dans les méthodes d’accès au médium par écoute de porteuse, le choix du slot dans la fenêtre de
contention est uniforme ce qui explique un choix aléatoire du slot. Dans SIFT [53], les nœuds
choisissent les slots d’une manière non uniforme. Les auteurs ont défini une fonction pour que la
probabilité que les nœuds choisissent les slots petits soit plus faible que les slots grands. La Figure
2.9 illustre cette distribution de choix de slot avec la fonction pr. Le but est de réduire le nombre de
nœuds qui choisissent le même premier slot en même temps dans le cas d’un trafic élevé lorsqu’un
évènement se produit. Dans le cas d’écoute de porteuse, si le nombre de nœuds en contention est
élevé, la plupart des transmissions se termine par une collision. Dans SIFT, quand le nombre de
25
Chapitre 2. Protocoles d’accès au médium
nœuds en contention est élevé, la probabilité que plusieurs nœuds choisissent le même premier slot
est toujours faible et nous pouvons garantir une faible probabilité de collision. De ce fait, SIFT
améliore la latence de transmission des paquets par rapport les méthodes écoute de porteuse
traditionnelles.
Figure 2.9 - Probabilité de choix de slot dans la fenêtre de contention CW = 32
En se basant sur le même principe d’une distribution non-uniforme de choix des slots dans la
fenêtre de contention, Y.C Tay et Al ont proposé CSMA/p [54]. Ils ont donné une analyse
mathématique de la probabilité de collision et prouvé que CSMA/p est plus avantageux en terme
d’évitement de collision. Ces deux propositions ont un objectif principal qui est de réduire la
latence pour un réseau de capteurs orientés évènement où la latence est le critère le plus important.
Cependant, ils ne traitent que les communications simples à un saut vers la station de base ce qui
n’est pas adaptable aux réseaux de capteurs où la transmission est très souvent de type multi-saut.
De plus, comme les capteurs sont très sensibles à la consommation d’énergie, il nécessite donc des
méthodes pour réduire la consommation d’énergie même si ce n’est pas le critère le plus important.
2.2
Protocoles MAC sans contention
Dans cette famille de protocoles MAC, les nœuds accèdent au canal sans concurrence. Chaque
nœud possède sa propre ressource pour accéder au canal et les autres nœuds ne peuvent pas utiliser
cette ressource. La ressource de chaque nœud peut être un intervalle de temps, une bande de
fréquence où un code. Les protocoles MAC sans contention sont divisés en trois catégories
principales : Accès multiple par répartition dans le temps (Time Division Multiple Access –
26
2.2 Protocoles MAC sans contention
TDMA), Accès multiple par répartition en fréquence (Frequency Division Multiple AccessFDMA) et Accès multiple par répartition en code (Code Division Multiple Access - CDMA). Nous
allons analyser ces trois catégories en détail dans la partie qui suit.
2.2.1 Accès multiple par répartition dans le temps (TDMA)
Dans ce type de protocole MAC, chaque nœud a un intervalle de temps où il peut accéder au canal.
Un nœud ne peut pas accéder au canal pendant l’intervalle de temps réservé à un autre. De ce fait,
il n’y a jamais de collision dans ce type de protocole MAC. Cependant, il faut toujours un ou
plusieurs nœuds coordinateurs qui attribuent les intervalles de temps aux autres. Pour que TDMA
puisse bien fonctionner, il faut un bon niveau de synchronisation entre les nœuds (quelques µs).
Quand la topologie du réseau change, il faut changer aussi les intervalles de temps attribués pour
les nœuds. A première vue, on peut dire que TDMA est bien adapté aux réseaux de capteurs en ce
qui concerne la consommation d’énergie car il n’y a pas du tout de collisions. Cependant,
l’attribution des intervalles de temps de TDMA est effectuée d’une manière statique. Si un nœud se
voit attribuer un intervalle de temps et qu’il n’a pas de données à transmettre, il ne peut pas laisser
cet intervalle de temps à quelqu’un d’autre. C’est aussi un gaspillage de bande passante et
d’énergie car le transceiveur continue à travailler dans cet intervalle de temps. D’ailleurs,
l’approche centralisée de TDMA semble moins adaptable aux réseaux de capteurs dynamiques où
nous voulons une gestion totalement distribuée pour un réseau à large échelle.
Une représentation de cette méthode d’accès au canal est Bluetooth [13]. Le but de Bluetooth est de
remplacer les câbles pour relier les périphériques : imprimantes, téléphone portable, oreillettes etc.
Il est conçu pour consommer moins d’énergie que IEEE 802.11. Cependant, Bluetooth ne permet
pas d’avoir une durée de vie de plusieurs années dans le cas d’un réseau de capteurs.
Comme nous l’avons vu dans la partie précédente, une des raisons de gaspillage d’énergie de
TDMA est l’attribution des intervalles de temps aux nœuds qui est fixe et le fait qu’un nœud ne
puisse pas utiliser un intervalle de temps d’un autre même si que ce dernier ne l’utilise pas. NAMA
[55] propose une attribution des intervalles de temps dynamique dans un rayon de deux sauts afin
d’éviter les problèmes de la station cachée. NAMA est une proposition pour les réseaux ad-hoc
dont le but principal est de maximiser le débit. TRAMA [56] réutilise l’idée d’attribution
dynamique des intervalles de temps de NAMA, mais il permet de réduire la consommation
d’énergie à cause d’écoute passive. En effet, le temps d’accès au canal est divisé en deux périodes :
une période d’accès basée sur la contention et une période d’accès sans contention. Dans la période
d’accès basée sur la contention, les nœuds échangent les adresses des voisins pour avoir une
topologie de tous les voisins situés à deux sauts. Dans la période d’accès sans contention, le temps
est divisé en plusieurs intervalles de temps. Un nœud calcule sa priorité pour chaque intervalle de
temps et il peut connaître les intervalles de temps où il a la plus haute priorité. Le niveau de priorité
pour un nœud dans un slot est calculé par une fonction de hachage basée sur l’identifiant du nœud
27
Chapitre 2. Protocoles d’accès au médium
et de l’intervalle de temps. Donc, les intervalles de temps attribués pour un nœud changent
dynamiquement selon le trafic dans le réseau. Un nœud annonce les intervalles de temps qu’il
possède et les nœuds récepteurs dans un paquet ordonnancement. Les nœuds qui ne sont pas
récepteurs peuvent se mettre en veille pour économiser l’énergie pendant le temps de transmission
des autres. De ce fait, TRAMA évite les problèmes d’écoute passive. Cependant, la proportion
entre la période d’accès basée sur la contention et la période d’accès sans contention est fixe, ce qui
implique un cycle de travail assez important pour les capteurs. En plus, le calcul de hachage est
répété sur tous les capteurs pour chaque intervalle de temps, ce qui est préjudiciable par rapport à la
capacité de calcul des capteurs.
2.2.2 Accès multiple par répartition en fréquence (FDMA)
Dans ce type de protocole MAC, chaque nœud possède plusieurs bandes de fréquence différentes.
Un nœud connait la fréquence de ses voisins. Quand il veut transmettre des trames de données à un
de ses voisins, il choisit la fréquence de ce voisin pour transmettre. Les nœuds peuvent faire
plusieurs transmissions simultanément dans la portée des autres sans les interférer. Nous pouvons
imaginer ce type de protocole MAC comme le trafic sur une autoroute avec plusieurs voies dont
chacune représente une bande de fréquence. Les véhicules représentent les trames de données et
elles peuvent circuler chacune sur une voie sans perturber les autres. FDMA possède un gros
avantage car il peut fonctionner sans interférence et avec un débit important. En effet, chaque
transmission est réalisée sur une bande de fréquence différente. Cette technique est utilisée dans le
domaine du téléphone mobile où la taille des terminaux est assez importante et il n’y a pas trop de
contrainte de prix. Nous parlons du problème de prix des dispositifs terminaux car les capteurs sont
conçus pour un déploiement massif où le prix doit être le plus moins cher possible. FDMA requiert
une conception complexe de transceiveur avec des circuits complémentaires, ce qui augmente le
prix des dispositifs. De ce fait, FDMA n’est pas un bon candidat pour le protocole MAC des
réseaux de capteurs. Cela explique la raison pour laquelle il n’y a pas beaucoup de travaux sur le
protocole MAC de ce type pour les réseaux de capteurs. E. Shih et al [57] ont proposé un protocole
hybride entre TDMA et FDMA. Les auteurs ont prouvé que l’utilisation de TDMA ou FDMA pure
consomme plus d’énergie qu’un protocole hybride qui combine ces deux approches. Ils ont
également proposé une méthode pour déterminer le nombre de canaux optimaux de FDMA afin de
minimiser le niveau de consommation d’énergie. Pourtant, le problème principal de FDMA qui est
la complexité de la conception du transceiveur, reste toujours un problème non-résolu.
2.2.3 Accès multiple par répartition de code (CDMA)
Dans ce type de protocole MAC, les nœuds ont seulement une bande de fréquence pour faire les
transmissions. Ceci est pris comme une hypothèse des protocoles MAC basés sur la contention.
Dans les protocoles d’accès multiple par écoute de porteuse, quand plusieurs nœuds transmettent
en même temps dans la même portée, il y a une collision et le récepteur reçoit seulement un bruit.
28
2.2 Protocoles MAC sans contention
Ce n’est plus le cas dans CDMA où on considère que différentes trames de données peuvent se
chevaucher de façon linéaire. Ainsi, chaque nœud possède un code différent. Il diffuse son code à
ses voisins. Donc, un nœud garde aussi une liste des codes de tous ses voisins. Quand un nœud veut
transmettre une trame de données, il code sa trame de données avec son propre code et l’envoie au
récepteur. Plusieurs nœuds peuvent transmettre les données codées en même temps en utilisant leur
propre code. Les codes sont conçus d’une manière orthogonale pour que plusieurs trames de
données puissent se chevaucher sans perte de données. Le récepteur utilise le code de son
transmetteur pour recevoir les trames qui viennent du transmetteur. En utilisant le code de son
transmetteur, tous les bruits créés par les autres transmetteurs sont détruits et le récepteur peut
recevoir une bonne trame de données même si il y a des interférences.
Nous pouvons expliquer CDMA d’une manière plus simple. Supposons que dans une salle de
conférence, il y ait plusieurs groupes de personnes qui parlent différentes langues : français,
espagnole, chinois, vietnamien etc. qui représentent les “codes”. Tous les gens peuvent parler sans
interférer les autres car chacun a son propre “code”. Une personne prend les conversations des
autres comme bruit et ne traite que les conversations dans le même “code”. CDMA est avantageux
car les nœuds utilisent la même bande de fréquence, sans collision, sans problème d’interférence
avec une faible latence. Cette technique est beaucoup utilisée aux États-Unis dans le domaine des
téléphones mobiles. Cependant, la station de base est le seul nœud qui distribue les codes aux
autres dans le réseau. C’est donc une approche centralisée qui n’est pas adaptable aux réseaux de
capteurs.
Il n’existe pas beaucoup des travaux de recherche pour appliquer CDMA dans le domaine des
réseaux de capteurs. CSMAC (CDMA Sensor MAC) [58][59] est le travail le plus remarquable
basé sur CDMA. Comme un réseau de capteurs est un environnement complètement distribué, on
ne peut pas appliquer CDMA en tant que tel. En effet, CSMAC combine FDMA et CDMA (Figure
2.10). Les nœuds qui sont dans la même portée et qui peuvent interférer les autres utilisent chacun
une bande de fréquence différente. Les nœuds A, B, C, D E, F, G occupent des bandes de
fréquence f1, f2, f3, f4, f5, f6, f7 respectivement. Quand un nœud veut envoyer des trames de
données au nœud A, il choisit la fréquence f1 de A pour faire ses transmissions. C’est le cas de
FDMA. Cependant, si plusieurs nœuds envoient des trames de données en même temps au nœud A,
il y aura des collisions. Pour résoudre ce problème, à chaque lien dans le réseau est attribué un
code. Les liens BA, CA, DA, EA, FA, GA possèdent les codes PN1, PN2, PN3, PN4, PN5, PN6
respectivement. De ce fait, un nœud quelconque peut envoyer à A sans interférer sur les
communications des autres en appliquant la fréquence f1 de A et le code qui correspond à
l’identifiant du lien. Plusieurs communications peuvent ainsi être effectuées simultanément sans
interférence.
29
Chapitre 2. Protocoles d’accès au médium
CSMAC est robuste par rapport au problème d’interférence. Il offre une transmission fiable avec
un taux de réception des paquets élevé et une latence faible. Cependant, il faut que les capteurs
soient dotés d’un transceiveur complexe avec plusieurs bandes de fréquence, le réseau doit être
immobile et il faut aussi un temps d’initialisation important.
B
f2
G
f7
PN6
PN5
F
f6
C
PN1
f1 PN2
A
PN4
f3
PN3 f4
D
f5
E
Figure 2.10 - Fonctionnement de CSMAC
2.3
Conclusion
Les réseaux de capteurs sans fil possèdent plusieurs caractéristiques différentes par rapport aux
réseaux sans fil traditionnels. Ces derniers sont conçus pour une utilisation par des êtres humains,
donc le critère de performance le plus important est le débit, la latence et l’équité de transmission.
Les autres critères comme la consommation d’énergie, le passage à l’échelle deviennent des
critères secondaires. Quand un utilisateur utilise un réseau local sans fil ou un réseau de téléphones
mobiles, il veut toujours être connecté au réseau à un grand débit et une faible latence. L’énergie
n’est pas un gros problème car il peut charger la batterie de son dispositif n’importe quand.
Contrairement aux réseaux sans fil traditionnels, les réseaux de capteurs sans fil sont conçus avec
un objectif différent. Ils n’ont pas besoin d’un grand débit de transmission mais ils ont besoin d’une
capacité de fonctionnement de manière autonome pendant une longue durée de temps. La
consommation d’énergie devient un problème majeur à prendre en compte. Plusieurs travaux de
recherche de la couche d’accès au médium ont été menés afin de réduire la consommation
d’énergie dans les réseaux de capteurs. L’idée principale est de réduire le temps non-actif, ce qui
30
2.3 Conclusion
est la source de gaspillage d’énergie la plus importante. Les protocoles MAC sont divisés en deux
familles principales : MAC basé sur la contention et MAC sans contention. Nous avons constaté
que les travaux de recherche sur la première famille sont beaucoup plus riches que la deuxième
famille. La raison est que la deuxième famille requiert soit une conception complexe de
transceiveur, soit une synchronisation stricte entre les capteurs. Ces conditions ne s’adaptent pas à
un environnement dynamique d’un réseau de capteurs sans fil à large échelle.
Concernant les techniques MAC économisant énergie, deux méthodes ont été présentées: des
protocoles MAC synchronisés et des protocoles MAC avec préambule d’échantillonnage. Chaque
type de protocoles possède des avantages et des inconvénients. Les protocoles MAC synchronisés
doivent échanger des paquets de contrôle afin de bien se synchroniser entre les nœuds voisins
tandis que les protocoles MAC avec préambule d’échantillonnage doivent transmettre un paquet
préambule avant chaque transmission. Pourtant, la synchronisation des protocoles MAC
synchronisés facilite les communications broadcast, et actualise la topologie du réseau. Nous
pensons que les protocoles MAC synchronisés sont plus avantageux que les protocoles MAC avec
préambule d’échantillonnage. Cela explique les propositions de recherche présentées dans la Partie
II où nous proposons un protocole MAC de type MAC synchronisé pour réduire encore la
consommation d’énergie par rapport aux propositions existantes. Dans la couche MAC, nous allons
présenter également un protocole MAC à faible latence de transmission pour les RdC orientés
évènement.
Nous avons discuté des différentes méthodes pour réduire le temps de transmission entre les
nœuds. Cependant, nous savons que les traitements locaux des données sont beaucoup moins
coûteux que les transmissions [32]. Dans certains scénarios, il est préférable de stocker les données
localement que d’envoyer périodiquement à la station de base. La méthode de stockage de données
joue donc un rôle important pour la consommation d’énergie et également pour la durée de vie
globale d’un réseau de capteurs. Dans le chapitre suivant, nous allons discuter des différentes
méthodes de stockage de données dans les réseaux de capteurs dans différents scénarios.
31
Chapitre 3.
Méthodes
de
stockage
de
données distribuées
Dans les chapitres précédents, nous avons montré que la consommation d’énergie était le critère le
plus important et qu’il influençait la durée de vie d’un réseau de capteurs de type surveillance. De
plus, nous avons constaté que le fonctionnement des transceiveurs était une activité coûteuse.
Donc, une idée évidente pour économiser énergie est de réduire le temps de fonctionnement du
transceiveur. La méthode d’optimisation de la couche MAC sert à activer et à mettre dans l’état
endormi le transceiveur périodiquement. Les capteurs envoient leurs mesures dans la période active
et s’endorment pendant l’autre période pour économiser l’énergie. Cependant, est-ce que toutes les
mesures envoyées par les capteurs sont utiles pour la station de base ? Dans certaines applications,
la réponse est non. Souvent, un utilisateur ne veut pas visualiser toutes les mesures de tous les
capteurs dans un réseau. Pour exemple, il peut poser une requête pour voir à quel moment, la
température sur une zone a dépassé 50°C. Dans ce cas, toutes les transmissions de température qui
sont inférieures à 50°C sont inutiles. Il vaut mieux ne pas transmettre ces mesures à la station de
base.
Comme un traitement local de données consomme beaucoup moins d’énergie qu’une transmission
de données [32], dans certains scénarios, il est préférable de stocker les données localement dans le
mémoire flash des capteurs plutôt que d’envoyer toutes les mesures à la station de base. Le mode
de stockage des données dans un réseau de capteurs peut beaucoup influencer le niveau de
consommation d’énergie. Dans 3.1, nous allons présenter quelques modèles de stockage de
données. Ensuite, nous analyserons quelques travaux de recherche dans le domaine du stockage de
données data-centric dans 3.2 . Enfin, nous concluons ce chapitre.
3.1
Modèles de stockage de données dans les réseaux
de capteurs
Le mode de fonctionnement d’un réseau de capteurs dépend beaucoup de l’application. Chaque
type d’application des réseaux de capteurs utilise un modèle de stockage de données différent.
Dans cette partie, nous allons analyser quelques modèles de stockage de données. Nous allons voir
également les cas ou un modèle est plus avantageux que les autres afin de mieux s’adapter aux
différents types d’application.
33
Chapitre 3. Méthodes de stockage de données distribuées
Paramètre
Valeur
Nombre de nœuds
N
Nombre d’évènements détectés
Dtotal
Nombre de requêtes
Q
Nombre d’évènements
demandés
Dq
Tableau 3.1 - Paramètres du réseau
Le stockage de données dans les réseaux de capteurs est classé en trois modèles différents :
stockage externe, stockage local et stockage data-centric[70][71]. Pour mieux illustrer le coût de
communication entre ces trois modèles, nous prenons un réseau de N capteurs déployés d’une
manière uniforme sur un rectangle. On suppose que la station de base se situe au coin de la zone de
déploiement. Dtotal est le nombre total d’évènements détectés par les capteurs. Q est le nombre de
requêtes réalisées par la station de base. Dq est le nombre d’évènements détectés pour Q requêtes.
Ces valeurs sont illustrées dans le Tableau 3.1. Nous utilisons ces paramètres tout le long de cette
partie afin de comparer la performance des différents modèles de stockage de données.
requête
donnée
a) Stockage externe
b) Stockage local
Figure 3.1 - Modèles de stockage de données
Le modèle de stockage externe est le modèle le plus utilisé dans les réseaux de capteurs. Cela est
aussi le modèle que nous avons présenté dans l’architecture générale d’un réseau de capteurs
34
3.1 Modèles de stockage de données dans les réseaux de capteurs
(Figure 1.1). Les capteurs envoient toutes leurs mesures à la station de base et ses mesures sont
traitées complètement sur la station de base (Figure 3.1a). Comme la zone de déploiement est fixée
dans un rectangle avec N nœuds, le coût d’envoi d’une mesure à la station de base est à O( N ) .
Avec Dtotal évènements détectés par des capteurs, le coût de transmission total est Dtotal N . Si Dq ~
Dtotal , cela signifie que tous les évènements détectés par les capteurs sont utilisés par la station de
base, ce modèle de stockage offre de bonnes performances. Par contre, dans certaines applications,
les requêtes sur la station de base ne donnent pas l’intégralité des évènements envoyés par les
capteurs (Dq < Dtotal). Dans ce cas, une partie des évènements envoyés à la station de base est
inutile et cela est un gaspillage d’énergie. Le nombre de transmissions inutiles est (Dtotal − Dq ) N .
Dans le cas extrême, s’il n’y a aucune requête sur la station de base ou aucune réponse à la requête,
toutes les transmissions par les capteurs sont inutiles.
Dans un réseau de capteurs, les nœuds sont normalement homogènes avec la même capacité de
calcul, de stockage et d’énergie. Dans le modèle de stockage externe, tous les nœuds envoient leurs
mesures à la station de base. Comme la zone de déploiement est étendue, il faut des
communications multi-saut pour router les informations des nœuds jusqu’à la station de base. De ce
fait, les nœuds qui se situent plus proches de la station de base doivent faire deux tâches en même
temps : surveiller des évènements et router les messages pour les autres. Plus un nœud est proche
de la station de base, plus il doit router des messages pour les autres. Donc, les nœuds qui sont à
côté de la station de base épuisent leur énergie plus rapidement que les nœuds éloignés. Une fois
que les nœuds à côté de la station de base épuisent leur énergie, ils ne peuvent plus router les
messages pour les autres, le réseau de capteurs n’est plus opérationnel. Même si les autres nœuds
dans le réseau ont toujours beaucoup d’énergie, la station de base n’a aucun moyen de récupérer les
mesures sur le réseau de capteurs. Donc, ce modèle de stockage de données souffre d’un gros
inconvénient qui est l’absence d’équilibrage de charge. Les nœuds ne travaillent pas sous la même
charge et la durée de vie du réseau n’est pas optimisée. Dans un réseau de capteurs, le nœud qui
travaille le plus est appelé un hotspot. Dans ce modèle, le hotspot est le nœud qui se trouve juste à
côté de la station de base. Il route tous les paquets envoyés par les autres nœuds dans le réseau.
Donc, la charge du hotspot est Dtotal.
Le modèle de stockage local fonctionne d’une manière différente. Les capteurs n’envoient pas
leurs mesures à la station de base périodiquement. Toutes les mesures sont stockées localement sur
les capteurs (Figure 3.1b). Les nœuds peuvent éviter de transmettre les mesures qui n’intéressent
pas les utilisateurs. En effet, les capteurs envoient leurs mesures seulement quand ils reçoivent une
requête sur les mesures qu’ils possèdent. S’il n’y a aucune requête sur les mesures des capteurs,
ceux-ci économisent bien l’énergie car ils ne doivent envoyer aucune donnée. Cependant, quand un
utilisateur pose une requête aux capteurs, il ne sait pas quels capteurs possèdent un éventuel
évènement en réponse sa requête. Donc, cette requête doit être envoyée vers tous les nœuds dans le
35
Chapitre 3. Méthodes de stockage de données distribuées
réseau. Cette diffusion de messages dans le réseau coûte cher s’il y a beaucoup de requêtes.
Lorsque les capteurs reçoivent l’une d’elles, ils traitent cette requête localement et répondent
seulement si ils ont des données appropriées. Dans la Figure 3.1b, deux nœuds seulement ont des
données appropriées et ils sont les seuls à renvoyer la réponse à la station de base. Avec Q
requêtes, le coût de diffusion des requêtes revient à Q*N. Dq est le nombre d’évènements
correspondant à Q requêtes, le coût de réponse est Dq N . Le coût de transmission total pour ce
modèle est donc QN + Dq N . On peut facilement voir que ce modèle n’est plus intéressant si le
nombre de requêtes Q et le nombre de nœuds N sont importants car la diffusion de paquets de
requêtes dans tout le réseau devient coûteuse. Ce modèle est plus adapté au cas où il y a peu de
requêtes dans le réseau. Comme dans le modèle de stockage de données externe, les nœuds qui se
trouvent à côté de la station de base doivent travailler plus que les nœuds qui se trouvent loin de la
station de base. Donc, le nœud qui se trouve à côté la station de base est le hotspot du réseau. Il
reçoit Q requêtes et Dq réponses de la part du réseau, donc la charge du hotspot est Q+Dq. De
même, si le nombre de requêtes est important, la charge du hotspot devient très élevée.
Les modèles de stockage de données externe et local offrent des avantages et des inconvénients
différents. Pourtant, ces deux modèles subissent le même inconvénient qui est l’absence
d’équilibrage de charge. Il faut trouver un autre modèle qui garantisse un nombre de
communications minimal et aussi réaliser l’équilibrage de charge. Le modèle de stockage datacentric répond à ces caractéristiques. Nous allons analyser plus en détails ce modèle de stockage de
données dans la partie suivante.
3.2
Stockage de données data-centric
Dans les réseaux traditionnels, la relation entre le nœud transmetteur et le nœud récepteur est très
forte. Un nœud récepteur doit absolument connaître l’identifiant du nœud transmetteur afin de
traiter les données envoyées par le nœud transmetteur. Par contre, dans certains scénarios
concernant les réseaux de capteurs, nous nous intéressons seulement aux informations envoyées par
les capteurs mais pas à l’identifiant de ces capteurs. Par exemple, un réseau de capteurs est déployé
dans une forêt pour détecter le feu. Quand il y a un feu qui vient d’une zone forestière, les capteurs
dans cette zone vont détecter un évènement et l’envoyer à la station de base. Sur la station de base,
on ne s’intéresse pas à l’identifiant des nœuds qui ont transmis les évènements. Ce qui nous
intéresse c’est la zone où le feu s’est déclaré. Le fait que nous nous intéressions seulement aux
données envoyées par les nœuds mais pas à leur identifiant est appelé data-centric. L’information
est centrée sur les données.
36
3.2 Stockage de données data-centric
3.2.1 Les paradigmes data-centric
Les travaux de recherche dans le domaine data-centric comprennent 3 paradigmes [5]: routage
data-centric, agrégation data-centric et stockage data-centric. Dans ces trois paradigmes, les
données sont au centre du protocole.
Le premier paradigme, routage data-centric, concerne la méthode pour distribuer un type de
données dans un réseau pour que les nœuds qui sont intéressés par ces données puissent les
récupérer. SPIN [60], le premier protocole de ce paradigme, a été proposé par les chercheurs du
MIT. SPIN est conçu pour un réseau où un ou plusieurs nœuds veulent diffuser leurs données dans
le réseau. La taille des données envoyées par des nœuds est importante et provoque une inondation
dans le réseau. En effet, plusieurs nœuds diffusent des données redondantes. En plus, il y a des
possibilités de boucles de routage. Dans SPIN, les nœuds envoient seulement un petit paquet
d’information qui décrit les données. Quand un nœud reçoit ce paquet, si ce type de données
l’intéresse, il va renvoyer une requête pour recevoir la donnée entière. Ensuite, il continue à
diffuser le paquet de publicité. En utilisant SPIN, les nœuds peuvent éviter d’envoyer les données
qui n’intéressent pas les autres. Dans le protocole SPIN [60], les nœuds qui possèdent les données
prennent l’initiative de faire la publicité pour ces données. Un autre cas où les nœuds diffusent leur
intérêt est présenté dans Diffusion Directe (Directed Diffusion) [61]. Les nœuds utilisent un
routage intelligent afin de diffuser leurs données favorites et de retrouver ces données d’une
manière efficace. Nous pouvons constater que dans ce paradigme, le centre du routage est le
contenu de données situées sur les capteurs mais pas l’identifiant de ces capteurs. Pourtant, quand
un nœud trouve des données, il va récupérer la totalité de ces données et faire les traitements de ces
données localement. A l’intérieur du réseau de capteurs, les données peuvent être traitées au fur et à
mesure le long du chemin de transmission vers la station de base.
Dans le deuxième paradigme, appelé agrégation data-centric, l’agrégation de données est une
opération simple (min, max, etc.) dont le but est de réduire le nombre de transmissions dans le
réseau. Par exemple, nous voulons juste la valeur de la température maximale. Dans l’architecture
générique d’un réseau de capteurs, tous les nœuds envoient leur mesure de température. Sur la
station de base, l’utilisateur choisit la température maximale. Dans ce paradigme, au cours de la
transmission des différents nœuds vers la station de base, un nœud fait la comparaison de
différentes valeurs de température et fait suivre juste la valeur maximale. Les avantages de ce
paradigme sont bien illustrés dans [62].
Le stockage data-centric est le dernier paradigme de la famille des travaux sur le data-centric. Nous
allons le détailler dans le paragraphe suivant.
37
Chapitre 3. Méthodes de stockage de données distribuées
3.2.2 Stockage data-centric
L’idée de stockage data-centric consiste à distribuer les données d’une manière uniforme sur le
réseau. Plus précisément, chaque nœud dans le réseau stocke un type de donnée appropriée. Cette
idée reprend le paradigme de stockage de données structurées dans les réseaux pair-à-pair. Ce
dernier est un domaine de recherche intense depuis ces dernières années [63]. Au début, le réseau
pair-à-pair se base sur une architecture d’indexation centralisée où l’identifiant de toutes les
données dans le réseau est stocké sur un serveur central. Avec la croissance de l’Internet, cette
approche n’est plus efficace à cause du nombre gigantesque de données à partager. Cela nécessite
donc un système complètement distribué et passant à l’échelle pour partager des données dans le
réseau pair-à-pair afin de distribuer la charge sur tous les nœuds. Un deuxième type de réseau paira-pair a été proposé sous le nom “réseau pair-à-pair structuré”. Ce type de réseau garantit un
partage de la charge d’une manière uniforme sur tous les nœuds dans le réseau. Les nœuds utilisent
une table de hachage [64] pour distribuer les données uniformément. En donnant une liste de
valeurs quelconque à l’entrée, une table de hachage donne une distribution uniforme des données
sur un intervalle de valeurs. En appliquant la table de hachage, chaque nœud est responsable d’une
partie de données globale et la charge globale est distribuée à tous les nœuds dans le réseau. De
nombreux travaux de recherche ont été menés pour les réseaux pair-à-pair structurés
[65][66][67][68][69] car ils ont beaucoup d’avantages par rapport aux réseaux pair-à-pair
centralisés.
Comme nous l’avons vu dans la partie précédente, les modèles de stockage de données externe et
local souffrent d’un inconvénient important lié à l’équilibrage de la charge. Cet inconvénient
empêche les réseaux de capteurs utilisant ces deux modèles de stockage de passer à grande échelle.
Vu que le réseau pair-à-pair structuré offre un partage de données d’une manière uniforme et un
équilibrage de charge, il est intéressant d’appliquer ce modèle de stockage de données au réseau de
capteurs sans fil. Ces travaux ouvrent un nouveau domaine de recherche "stockage data-centric".
En effet, c’est un domaine de recherche très récent et il n’y a pas beaucoup de travaux existants.
a)
Table de hachage distribuée
Les réseaux pair-à-pair structurés utilisent les techniques de table de hachage distribuée afin de
bien répartir la charge sur tous les nœuds. Une table de hachage distribuée fournit deux opérations
de base :
•
Déposer(clé, valeur) : Cette fonction stocke une valeur dans un nœud qui correspond à la clé
(la valeur de hachage de la donnée)
•
Récupérer(clé) : Cette fonction récupère toutes les données qui ont été stockées pour la clé
38
3.2 Stockage de données data-centric
Dans un réseau pair-à-pair structuré, l’identifiant des nœuds et les données sont hachés sur un
espace logique. L’identifiant logique d’un nœud est obtenu par un hachage de son adresse IP.
Ainsi, un nœud a une adresse IP et une adresse logique sur l’espace logique du réseau. La fonction
de hachage garantit une distribution uniforme des identifiants et des données sur l’espace logique.
Un nœud va stocker toutes les données qui se trouvent dans son espace logique.
Nœud 3:
65.88.75.12
Nœud 1 :
192.168.72.14
Nœud 5 :
187.43.89.14
Déposer(5, "élephant")
Nœud 2 :
57.88.14.65
Récupérer(5)
Nœud 6 :
123.134.0.14
Déposer(5, "élephant")
Hacher("éléphant") = 5
Nœud 4:
112.34.56.65
Figure 3.2 - Réseau pair-à-pair utilisant la table de hachage distribuée
La Figure 3.2 illustre le stockage et la récupération de données dans un réseau pair-à-pair structuré
utilisant une table de hachage distribuée. Comme la fonction de hachage distribue les données
uniformément sur un espace logique, les valeurs de hachage des adresses IP rendent les adresses
logiques des capteurs uniformément sur l’espace logique. Supposons qu’il y ait 6 nœuds dans le
réseau. Hache (192.168.72.14) = 1. Cela explicite l’identifiant du nœud 1.
Chaque nœud a une adresse logique dans le réseau. Lorsque les nœuds captent un nouvel
évènement (l’arrivé d’un éléphant, par exemple), il hache la valeur de l’éléphant. Supposons que la
clé= hache("éléphant")=5. Ce nœud utilise la fonction déposer(clé, valeur) afin de stocker
l’évènement "éléphant" sur le nœud 5. Cette fonction va envoyer les données concernant les
éléphants sur le nœud 5 qui est responsable de toutes les données dont le hachage est égal à 5. La
même procédure de stockage est valable pour le nœud 2 lorsqu’il veut stocker un évènement
"éléphant". Pour la recherche, le nœud 6 cherche des nœuds qui ont vu un "éléphant", il hache la
39
Chapitre 3. Méthodes de stockage de données distribuées
valeur de “éléphant” et il obtient la valeur 5. Ainsi, il sait que le nœud 5 qui stocke la liste de tous
les nœuds qui ont vu les "éléphants” et il va venir poser la requête au nœud 5. Le nœud 5 renvoie le
résultat au nœud 6. Nous pouvons constater que le nœud 5 devient le nœud rendez-vous de toutes
les données concernant les “éléphant”.
Dans un réseau filaire, deux nœuds avec deux adresses IP dans n’importe quelle position dans le
monde peuvent dialoguer. Par contre, dans un réseau sans fil, seulement les nœuds qui se trouvent
dans la portée peuvent dialoguer. Ainsi, la position géographique des nœuds joue un rôle important
pour le routage des données. Afin d’appliquer la table de hachage distribuée dans un réseau de
capteurs sans fil, il faut donc faire des modifications sur la méthode de routage et de stockage
d’information.
b)
GHT – Geographic Hash Table
A ce jour, le travail le plus remarquable réalisé dans le domaine du stockage data-centric est GHT
(Geographic Hash Table) [70][71]. C’est une méthode de stockage de données distribuée datacentric pours les réseaux de capteurs. Comme il n’est pas possible d’utiliser la méthode de routage
du réseau filaire, GHT utilise un autre protocole de routage GPSR (Greedy Perimeter Stateless
Routing) [72]. Ce protocole de routage est basé sur la position géographique des nœuds. En effet,
dans un réseau de capteurs, les nœuds peuvent avoir des informations de leur localisation dans le
réseau en utilisant des supports de services [73][74][75] (Ex : GPS etc).
GPSR- Greedy Perimeter Stateless Routing
Dans les protocoles de routage filaire, les nœuds sont identifiés par leur adresse IP. Le routage est
basé sur ces adresses IP. Dans les réseaux sans fil, chaque nœud a une position géographique
différente dans le réseau et nous pouvons profiter de cette information comme identifiant du nœud.
C’est la base de GPSR où les nœuds sont représentés par leur position dans le réseau. Le routage
n’est plus un routage entre deux adresses IP mais un routage entre deux positions de deux nœuds
dans le réseau.
Le protocole de routage de GPSR se compose de deux parties : routage glouton (greedy
forwarding) et routage par périmètre (perimeter forwarding). L’idée de routage glouton est simple :
un nœud fait suivre les données à un voisin qui se trouve le plus près de la destination. En répétant
ce processus, les données approchent de plus en plus de la destination. La Figure 3.3 illustre un
exemple de routage de données de nœud S vers le nœud D. Les cercles sont les portées radios des
nœuds S, X, Y et Z. Lorsque S reçoit une donnée destinée à D, il cherche les voisins qui se
trouvent dans sa portée et celui qui est le plus proche du nœud D. Donc, S fait suivre la donnée à X.
A son tour, X cherche le nœud voisin le plus proche de D et fait suivre la donnée. La donnée
parcourt un chemin S→X→Y→Z→D. Nous voyons qu’après chaque étape de routage, la donnée
40
3.2 Stockage de données data-centric
s’approche de la destination. D’autre part, le routage est basé seulement sur la position
géographique du nœud mais pas sur l’adresse IP du nœud.
S
X
Z
D
Y
Figure 3.3 - Exemple de GPSR
Dans GPSR [72], un nœud doit connaître la position de ses voisins afin de déterminer la position
du nœud le plus proche de la destination. Pour cela, les nœuds échangent périodiquement des
paquets contenant leur identifiant et leur position dans le réseau. Chaque nœud garde une table de
toutes les positions de ses voisins afin de les utiliser pour le routage des données. Si après un
certain temps, un nœud ne reçoit pas ce paquet d’un voisin, il considère que celui-ci s’est déplacé
hors de sa portée ou que ce voisin est tombé en panne. Dans ce cas, il enlève ce voisin de sa liste de
voisins. Nous pouvons constater qu’un nœud n’a besoin que des positions de ses voisins pour son
routage. Donc, même si la taille du réseau est grande, la taille de sa table de routage n’augmente
pas. Ce protocole est de ce fait capable de passage à l’échelle.
Pour la topologie illustrée dans la Figure 3.3, le routage glouton offre un bon compromis par
rapport à des protocoles de routage traditionnels qui doivent stocker une grande table de routage ou
inonder inutilement le réseau avec des messages de recherche des chemins. Cependant, le routage
glouton provoque une erreur lorsqu’un nœud ne peut pas trouver le voisin le plus proche de la
destination car il est déjà lui-même le nœud le plus proche de la destination. La Figure 3.4a illustre
ce problème où S veut envoyer un message à D. Parmi les voisins de S, il n’y a aucun voisin qui est
plus proche de D que le nœud S. Dans ce cas, S doit appliquer un autre protocole de routage afin de
sortir de ce problème.
Examinons maintenant la deuxième partie du protocole appelé routage par périmètre. Cette
technique applique la règle de la main droite pour son routage. Supposons que nous ayons trois
41
Chapitre 3. Méthodes de stockage de données distribuées
nœuds A, B et C (Figure 3.4b). Lorsqu’un nœud reçoit un message venant de son voisin, il doit
faire suivre à un autre nœud qui se trouve dans le sens inverse des aiguilles d’une montre par
rapport au lien précédent. Par exemple, le nœud A qui reçoit un paquet de C. A va faire suivre de
paquet à B car B est le nœud qui se trouve en premier dans le sens inverse des aiguilles d’une
montre du lien AC. Ce processus se répète et le paquet est routé autour d’une zone fermée ABC.
Prenant la règle de la main droite pour le cas de routage dans la Figure 3.4a, le capteur S reçoit un
paquet pour router vers le nœud D. S ne peut pas appliquer le routage glouton car il est le nœud le
plus proche de D. Donc, il applique le routage périmètre avec la règle de la main droite. Il prend le
lien SD comme repère pour réaliser la règle de la main droite. Le nœud S va choisir le premier
nœud dans la liste de ses voisins qui se trouve à droite du lien SD. Dans ce cas, S fait suivre le
paquet à X, même si le nœud X est plus loin de la destination. Une fois que le paquet arrive à X, si
X trouve un voisin plus proche de D, il retourne au routage glouton. Sinon, il continue en mode
routage par périmètre en prenant en compte le lien XD comme le repère pour la règle de la main
droite. Dans le scénario de la Figure 3.4a, le nœud X retourne en mode routage glouton et fait
suivre le paquet à Y. A son tour, Y envoie le paquet à D.
D
A
B
V
Y
C
X
U
S
a)
b)
Figure 3.4 - Erreur de routage et la règle de la main droite
Table de hachage distribuée sur GPSR
Comme nous l’avons présenté dans la partie précédente, dans la table de hachage distribuée,
l’adresse IP et les données partagées sont projetées sur un espace logique. De ce fait, les données
sont distribuées uniformément sur tous les nœuds. Dans un réseau de capteurs sans fil, le routage
dépend de la localisation des capteurs dans le réseau et on ne peut pas projeter l’adresse des nœuds
sur un espace logique. GHT [70][71] utilise une table de hachage distribuée basée sur le routage
GPSR. Au lieu d’utiliser un espace logique, comme dans le cas de table de hachage distribuée dans
les réseaux pair-à-pair, GHT utilise l’espace réel qui est la zone de déploiement des capteurs. Les
42
3.2 Stockage de données data-centric
nœuds sont identifiés par leur position dans le réseau. Lorsqu’un nœud a des données à partager, il
applique la fonction de hachage sur la donnée qu’il veut partager. La fonction de hachage retourne
une position dans l’espace de déploiement réel de capteurs et le nœud qui se trouve dans cette
position devient le nœud responsable de cette donnée. Les procédures de stockage et de
récupération de données ressemblent à la table de hachage distribuée dans les réseaux pair-à-pair.
Dans GHT, chaque nœud a une position dans le réseau et il est responsable de données dont la
valeur de hachage est identique à sa position. Cependant, que va-t-il se passer si la valeur de
hachage d’une donnée ne correspond à aucun nœud dans le réseau ? C’est une supposition réelle
car le nombre de nœuds dans le réseau est limité et la probabilité que la valeur de hachage d’une
donnée ne corresponde pas à la position d’un nœud est élevée.
Y
100
Hacher("éléphant") = (80, 80)
Nœud 3 : (80, 80)
Hacher("souris") = (50, 40)
Nœud 1 : (20,70)
Déposer("80,80", "élephant")
?
Récupérer("80, 80")
Récupérer("50,40")
Déposer("50,40", "souris")
Nœud 2 : (40, 30)
0
Nœud 4 : (85, 35)
100
X
Figure 3.5 - Stockage de donnée de GHT basant sur GPSR
La Figure 3.5 illustre un stockage de données en utilisant GHT. La fonction de hachage retourne
une position dans le réseau. Supposons qu’il y ait 4 nœuds qui soient déployés sur une zone de
taille 100x100. En utilisant un dispositif de localisation, les nœuds connaissent leur position dans le
réseau. Quand le nœud 1 détecte un évènement “éléphant”, il hache la valeur de cet évènement. Clé
= hacher("éléphant") = (80, 80). En utilisant le routage GPSR, le nœud 1 va router la donnée
43
Chapitre 3. Méthodes de stockage de données distribuées
jusqu’à la position (80, 80) dans la zone de déploiement. Cette position correspond au nœud 3 et ce
dernier devient le responsable de tous les évènements "éléphant". Le nœud 1 utilise la fonction
Déposer("80,80", "éléphant") afin de stocker cet évènement sur le nœud 3. La récupération de
donnée est faite de la même manière. Lorsque le nœud 4 veut chercher les évènements "éléphant",
il hache la valeur de "éléphant”et va récupérer les évènements sur le nœud 3.
Le problème survient lorsque le nœud 2 détecte un évènement "souris". D’ici, la fonction de
hachage retourne une valeur de la clé = hacher("souris") = ( 50, 40). Le nœud 2 utilise la fonction
Déposer(“50,40”, “souris”) en espérant stocker son évènement sur un nœud qui se trouve à la
position (50, 40). Mais, lorsqu’il n’y a pas de nœud dans cette position, ce stockage retourne une
erreur car le nœud 2 ne sait pas sur quel nœud il va stocker son évènement “souris”. Le même
problème survient lorsque le nœud 4 veut chercher les évènements “souris” dans le réseau. Il ne
peut pas en trouver car il n’y a aucun nœud à la position (50,40).
B
home perimeter
home node
A
Y
C
X
Poser(Y)
D
replica
Figure 3.6 - Nœud “ home node” et “ home perimeter” dans GHT
Pour remédier à ce problème, GHT modifie légèrement le protocole de routage de GPSR. Au lieu
de router le message directement au nœud qui se trouve à une position donnée, GPSR route le
message vers un nœud qui est le plus proche de cette position. Le nœud qui se trouve le plus proche
de cette position est appelé “home node”. Cependant, en utilisant GPSR, nous ne pouvons pas
savoir directement si un nœud est bien le nœud le plus proche d’une destination car le routage de
GPSR est conçu avec un routage qui a besoin de l’adresse exacte du nœud destinataire. Lorsqu’un
paquet arrive à un “home node” d’une position, ce nœud continue à chercher un nœud à la position
destinataire. Comme il ne trouve pas le nœud dans cette position, il croit qu’il en est loin et espère
qu’il y aura des autres chemins vers cette position. Donc, il change le mode de routage glouton au
mode de routage par périmètre. Comme le “home node” est le nœud le plus proche de la position
44
3.2 Stockage de données data-centric
donnée, le routage en mode périmètre s’éloigne de la position donnée et retourne toujours vers le
“home node” après avoir traversé un périmètre que l’on appelle “home perimeter”.
Pour illustrer le choix de “home node” et le “home perimeter”, supposons que le nœud X veuille
stocker une donnée sur la position Y (Figure 3.6). Il y a 4 nœuds qui se trouvent autour de la
position Y. En utilisant le routage glouton, le nœud X envoie le paquet à A. Le nœud A ne peut pas
envoyer à Y car il n’y a aucun nœud qui se trouve à cette position. A cet instant, A est le nœud le
plus proche de Y. Donc, le nœud A change son mode de routage en routage par périmètre en
appliquant la règle de la main droite. Le nœud A fait suivre le paquet à B même si B est plus loin
que A par rapport à la position Y. A son tour, le nœud B retourne au routage glouton car il trouve
son voisin C qui est plus proche de Y. C continue à faire suivre le paquet à D et D continue à faire
suivre le paquet à A. Lorsque A reçoit le paquet, il sait que c’est le même paquet qu’il a fait suivre
auparavant. Alors, il sait qu’il est le nœud le plus proche de la position et devient le “home node”
de la position Y. Le parcours que le paquet a fait avant de revenir au nœud “home node” est appelé
le “home perimeter”.
Dans un réseau de capteurs, les nœuds sont susceptibles d’être mobiles ou tomber en panne à tout
moment ce qui modifie la topologie du réseau. Donc, le “home node” pour une position doit être
mis à jour s’il se déplace ou tombe en panne. Cela nécessite d’autres méthodes afin d’actualiser le
“home node” et le “home perimeter” et garantir la consistance du réseau. Dans GHT, le “home
node” envoie périodiquement un paquet de rafraichissement afin de vérifier s’il est toujours le
“home node” pour une position. En effet, lorsqu’un paquet parcourt un “home perimeter”, il
réplique la donnée sur tous les nœuds dans le périmètre. Si le “home node” a tombé en panne ou
s’il s’est déplacé, il y a toujours un autre nœud qui garde une copie de la donnée perdue et prend en
charge la responsabilité de la position donnée comme un nouveau “home node”.
Nous venons d’analyser le fonctionnement de GHT : le routage, le stockage et la récupération de
données. Maintenant, il faut voir dans quel cas le stockage data-centric de GHT est plus avantageux
que les deux méthodes de stockage de données qu’on a vues dans la partie précédente: stockage
externe et stockage local. Afin de faire la comparaison, nous reprenons les mêmes hypothèses pour
les calculs de coût de transmission présentées dans le Tableau 3.1. Le coût de transmission total se
compose des requêtes, des transmissions de stockage pour tous les évènements et des à ces
requêtes. Le coût de transmission total de GHT est Q N + Dtotal N + Dq N . Avec cette méthode
de GHT, si on ajoute une autre option d’agrégation de données, le coût de transmission total va
être réduit. En effet, la fonction d’agrégation de données peut être appliquée sur le nœud de
stockage des évènements.
Revenons à la Figure 3.5, le nœud 3 stocke tous les évènements “éléphant”. Si un nœud lui pose
une requête concernant les éléphants trouvés dans le réseau, il va renvoyer une liste de tous les
évènements “éléphant” trouvés dans le réseau. Par contre, si un nœud pose une requête sur le
45
Chapitre 3. Méthodes de stockage de données distribuées
nombre d’éléphants trouvés ou le plus grand éléphant trouvé, le nœud 3 peut agréger les données et
renvoyer seulement une réponse pour chaque requête. De ce fait, le coût de transmission se
compose des requêtes, des transmissions de stockage pour tous les évènements et des réponses
agrégées pour les requêtes. Donc, le coût de transmission total de GHT avec agrégation est
Q N + Dtotal N + Q N . En terme de charge sur les nœuds, étant donné que le hotspot est la
charge la plus élevée sur le réseau, c’est toujours le nœud qui se trouve à côté de la station de base
qui doit travailler le plus et est le hotspot du réseau. Pour GHT, ce nœud reçoit Q requêtes de la
station de base et Dq réponses pour ces requêtes. Le hotspot dans ce cas est Q+Dq. Pour GHT avec
agrégation, ce nœud reçoit Q requêtes de la station de base et Q réponses agrégées. Le hotspot dans
ce cas est Q+Q.
Le Tableau 3.2 récapitule les coûts totaux de transmissions et les hotspots de différents modèles de
stockage de données. Comparé à la méthode de stockage externe, le coût total de transmission de
GHT est toujours plus élevé dans le cas du GHT normal et GHT avec agrégation. Pourtant, comme
la station de base se trouve au coin de la zone de déploiement, dans le stockage externe, tous les
paquets doivent parcourir un long chemin pour arriver à la station de base. Tandis que dans GHT,
les paquets de stockage peuvent parcourir un chemin plus court à l’intérieur du réseau pour aller
aux nœuds responsables de ces données (ces nœuds sont distribués sur la zone de déploiement).
Ainsi, le nombre de transmissions multi-sauts réelles de stockage externe est en fait supérieur à
GHT dans le cas où le nombre de requêtes et de réponses n’est pas important. Pour un réseau à
large échelle, la valeur de N est élevée et le coût de transmission de la méthode stockage local est
beaucoup plus élevé que les méthodes de stockage externe et GHT, surtout lorsque le nombre de
requêtes est important.
Le stockage data-centric de GHT est plus performant que le stockage externe et le stockage local
sur le hotspot du réseau. En effet, il offre un partage de charge plus uniformément réparti sur le
réseau avec des nœuds qui travaillent avec la même charge quelques soient leurs positions. En plus,
avec l’agrégation, le GHT a un petit hotspot de 2*Q.
Stockage
externe
Stockage
local
GHT
GHT avec agrégation
Nb total de
transmissions
Dtotal N
QN + Dq N
Q N + Dtotal N + Dq N
Q N + Dtotal N + Q N
Hotspot
Dtotal
Q + Dq
Q + Dq
2Q
Tableau 3.2 - Comparaison des coûts des différents modèles de stockage de données
46
3.2 Stockage de données data-centric
Le Tableau 3.2 donne un récapitulatif de tous les coûts de transmissions et de hotspot de différents
modèles de stockage de données. Ces mesures montrent que le stockage externe est préférable si
tous les évènements détectés sont utiles. Le modèle de stockage local est préférable si beaucoup
d’évènements sont détectés mais peu de requêtes envoyées pour ces évènements. Le modèle GHT
est préférable dans le cas d’un réseau de capteurs à large échelle où la valeur de N est élevée et
plusieurs évènements détectés, mais peu d’évènements sont récupérés Dtotal >>max[Dq, Q].
c)
GEM – Graphe embarqué pour le routage et le stockage data-centric dans les
réseaux de capteurs sans information géographique
Dans les parties précédentes, nous avons supposé que les nœuds étaient dotés d’un support de
services (Ex : GPS) permettant d’obtenir une information sur leur position dans le réseau.
Cependant, cette supposition n’est pas réalisable dans certains cas. D’une part, le prix d’un GPS est
encore très élevé ce qui empêche un déploiement à large échelle des réseaux de capteurs. D’autre
part, le GPS ne fonctionne pas à l’intérieur des bâtiments. Donc, les réseaux de capteurs qui sont
déployés dans les bâtiments ne peuvent pas utiliser le GPS pour la localisation. Dans ce cas, il faut
utiliser une autre méthode de stockage data-centric sans utiliser d’informations géographiques.
GEM (Graph EMbedding) [76] est la première proposition de stockage data-centric sans utiliser les
méthodes de localisation de capteurs. Au lieu d’utiliser les coordonnées réelles des nœuds, GEM
utilise les coordonnées virtuelles. En effet, GEM propose un système de coordination polaire
virtuelle (VPCS - Virtual Polar Coordinate Space) où les nœuds ont une adresse virtuelle par
rapport à la station de base. En se basant sur cet espace virtuel, les nœuds appliquent un protocole
de routage VPCR (Virtual Polar Coordinate Routing) qui est un protocole de routage dédié pour
l’espace virtuel de GEM.
Espace de Coordination Polaire Virtuelle
Dans VPCS, on construit un espace virtuel qui est représenté par un arbre complété en anneau sur
la topologie du réseau. En effet, à chaque nœud est attribué un niveau qui correspond au nombre de
sauts vers la racine de l’arbre et un angle virtuel qui fait la différence entre les nœuds dans le même
niveau. La Figure 3.7 illustre la structure d’un espace de coordination polaire virtuelle. Pour
construire cet espace, un nœud initialise la topologie en prenant le niveau 0 de la racine d’un arbre
et diffuse un message d’annonce. Les nœuds qui reçoivent ce message prennent le niveau 1 et
continuent à diffuser ce message aux nœuds fils. Cette procédure est répétée jusqu’à ce que le
message arrive aux feuilles de l’arbre. Maintenant, tous les nœuds connaissent leur niveau dans
l’espace virtuel. Les nœuds renvoient aux nœuds parents la taille de leur sous-arbre. Le nœud père
connaît le nombre de sous-arbre pour chaque fils et il peut attribuer à son fils un espace adresse
suffisamment large pour tous les nœuds à ce sous-arbre (espace adresse est représentée par un
angle). Observons la Figure 3.7a, le nœud racine possède un angle de 90°, il a deux fils et ces deux
fils ont également deux fils. Donc, le nœud racine attribue à ces deux fils le même volume d’espace
47
Chapitre 3. Méthodes de stockage de données distribuées
d’adresse (45° pour chacun). Si un nœud fils possède plus de nœuds dans son sous-arbre, le nœud
père va lui attribuer un espace d’adressage de taille plus important. En utilisant cette méthode,
chaque nœud possède une adresse logique qui se compose de son niveau dans l’arbre et de son
angle. Cependant, le seul lien entre les nœuds est via leur père. Il n’y a pas de lien direct entre les
nœuds dans un même niveau. Dans VPCS, les nœuds utilisent une méthode heuristique afin
d’aligner les adresses des nœuds dans un même niveau. Pour cela, nous avons un arbre où les
nœuds d’un même niveau ont une adresse croissante comme illustré dans la Figure 3.7a. Les liens
directs entre les nœuds voisins dans le même niveau vont beaucoup améliorer le routage des
informations dans le système.
[0 :90]
Niveau 0
1
[0 :45]
[46 :90]
1
Niveau 1
1
1
2
[68 :90] Niveau 2
[0 :22]
2
D
S
[23 :45]
[46 :67
]
a) Espace de coordination polaire virtuelle
b)
Routage de coordination polaire virtuelle
Figure 3.7 - Fonctionnement de GEM
Routage Coordination Polaire Virtuelle
Dans l’espace de coordination polaire virtuelle, nous avons construit un arbre où nous garantissons
le lien entre les nœuds père et fils. De n’importe quelle position, un nœud peut envoyer
successivement un paquet à son père afin d’atteindre la racine (la station de base dans le cas d’un
réseau de capteurs). La Figure 3.7b illustre le routage en utilisant l’espace de coordination polaire
virtuelle.
Comme un nœud sait router vers la station de base en envoyant successivement à son père, la
première solution de routage consiste à passer par la station de base. Dans la Figure 3.7b, la route
notée 1 illustre ce routage du nœud S vers le nœud D. Le nœud S envoie le paquet à son père et
ainsi de suite vers la racine de l’arbre. Ensuite, le nœud racine envoie le paquet à son fils qui
48
3.3 Conclusion
contient l’adresse du nœud destinataire. Comme l’adresse d’un nœud fils est inclue dans l’adresse
de son ancêtre, nous pouvons choisir facilement le nœud fils qui contient l’adresse du nœud
destinataire. Cette solution garantit toujours un bon routage du nœud source au nœud destinataire.
Cependant, c’est un gaspillage de communication s’il faut toujours router le paquet vers la racine
même si qu’on n’a pas besoin.
Une amélioration de cette méthode de routage en utilisant VPCS est également proposée. En effet,
l’espace de coordination polaire virtuelle est construit pour que les nœuds dans le même niveau
puissent connaître les identifiants de leurs voisins et qu’ils aient une adresse croissante. De ce fait,
au lieu de router le message vers la racine dans tous les cas, les nœuds peuvent utiliser les
raccourcis entre les nœuds du même niveau afin de router plus efficacement. Observons la Figure
3.7b, la route notée 2 prend les raccourcis entre les nœuds du même niveau pour router son
message. En deux sauts, on arrive à transmettre le message du nœud source vers le nœud
destinataire tandis que pour la première solution, il faut 4 sauts pour cette transmission.
Dans cette partie, nous avons vu une méthode de routage sans utiliser la position réelle des nœuds.
Cette approche est avantageuse pour le stockage de données data-centric où nous pouvons éviter
l’utilisation de dispositifs coûteux pour connaître la position réelle du nœud. Cependant, cette
approche n’est plus optimale si il y a beaucoup de nœuds mobiles dans le réseau. En effet,
lorsqu’un nœud est mobile ou tombe en panne, il faut mettre à jour les adresses de tous les nœuds
fils de ce nœud car la liaison vers la station de base est coupée. Cette opération est coûteuse en
nombre de communications et elle influence la consistance du protocole de routage.
3.3
Conclusion
Dans ce chapitre, nous avons analysé différents modèles de stockage de données : stockage local,
stockage externe et stockage data-centric. Nous avons vu également que le modèle de stockage de
données peut beaucoup influencer à la consommation d’énergie du réseau. Chaque modèle est
normalement optimisé pour un scénario du réseau de capteurs. Le modèle de stockage de données
data-centric est préférable dans le cas d’un réseau de capteurs à large échelle où plusieurs
évènements détectés, mais peu d’évènements sont récupérés. Ce modèle est basé sur la table de
hachage distribuée afin de distribuer des données d’une manière uniforme dans le réseau. La table
de hachage distribuée a été utilisée pour les réseaux pair-à-pair structurés [65][66][67][68][69]
depuis longtemps et elle est juste utilisée dans les réseaux de capteurs récemment.
Nous avons présenté deux approches des travaux de stockage de données distribuées dans les
réseaux de capteurs : GHT [70][71] et GEM[76]. Dans GHT, le routage est basé sur une
connaissance de la position géographique des nœuds en utilisant des dispositifs spécifiques (Ex :
GPS). Cette approche est efficace en terme d’exactitude de position des capteurs. Cependant, elle
49
Chapitre 3. Méthodes de stockage de données distribuées
est coûteuse lorsqu’on veut déployer un réseau de capteurs à large échelle. Dans GEM, le routage
est basé sur une coordination virtuelle où nous n’avons pas besoin de position géographique des
nœuds. Cette approche ne requiert pas de dispositifs comme le GPS, mais la construction d’une
coordination virtuelle est coûteuse en terme d’échange des messages. En plus, GEM n’est pas
adaptable aux réseaux de capteurs mobiles car la mobilité des nœuds implique une restructuration
coûteuse de l’espace de coordination virtuelle.
Quelques extensions de ces travaux ont été également proposées dernièrement [77][78][79][80].
Cependant, ces propositions ne sont pas optimums et il existe encore des limitations en terme de
consommation d’énergie. C’est pour cette raison que nous présentons notre contribution dans ce
domaine dans le chapitre 6.
50
Partie II
CONTRIBUTION
51
Dans la partie I, nous avons donné un état de l’art sur les différents protocoles d’accès au médium
et les méthodes de stockage de données distribuées dans les réseaux de capteurs sans fil. La
recherche dans ce domaine est très fructueuse ces dernières années avec de nombreuses
propositions et améliorations au cours du temps. Ces protocoles peuvent être optimaux dans
certaines applications mais pas dans tous les cas. La recherche dans les réseaux de capteurs est
ouverte pour de nouvelles idées afin d’optimiser encore les protocoles existants pour obtenir de
meilleures performances.
Cette partie est dédiée à mes contributions de recherche durant cette thèse. Il s’agit des propositions
de protocole d’accès au médium et de protocole de stockage de données distribuées dans les
réseaux de capteurs. Pour chaque type d’application de réseaux de capteurs, nous utilisons des
critères de performance différents. Pour les réseaux de capteurs de type surveillance (Ex : surveiller
la vie des espèces rares), nous avons besoin d’optimiser la durée de vie du réseau de capteurs. Les
informations envoyées par les capteurs ne sont pas des informations critiques, donc la latence n’est
pas un critère primordial. Par contre, pour les réseaux de capteurs orientés évènement, les
informations envoyées par les capteurs sont des informations critiques et la latence est le critère
primordial pour le réseau tandis que la consommation d’énergie est moins importante. Pour régler
les paramètres des différents réseaux de capteurs, nous proposons deux protocoles MAC pour ces
deux types d’applications.
Dans le Chapitre 4, nous proposons un protocole MAC pour les réseaux de capteurs de type
surveillance pour objectif principal de réduire la consommation d’énergie le plus possible et
prolonger la durée de vie du réseau. Puis, nous proposons un protocole MAC qui offre une très
faible latence pour les réseaux de capteurs orientés évènements dans le Chapitre 5. Comme les
communications sont très coûteuses en terme de consommation d’énergie, nous traitons également
les modèles de stockage de données dans un RdC. Le stockage de données peut beaucoup
influencer la consommation d’énergie globale du réseau car les traitements locaux des données sont
beaucoup moins coûteux que les transmissions. Enfin, dans le Chapitre 6, nous présentons
également une amélioration de protocoles de stockage de données distribuées pour les réseaux de
capteurs.
52
Chapitre 4.
Protocole MAC économisant
l’énergie pour réseaux de capteurs de type
surveillance
Comme nous l’avons présenté dans les parties précédentes, la consommation d’énergie est un
facteur déterminantpour les réseaux de capteurs de type surveillance. Dans ce type de réseaux, les
capteurs prennent les informations ambiantes et les envoient à la station de base périodiquement.
Ces informations servent à analyser l’historique des changements intervenus dans le milieu
ambiant au cours du temps. Par exemple, si on considère un réseau de capteurs déployé sur un île
pour surveiller la vie des pétrels ou un réseau de capteurs déployé sur les glaciers pour mesurer la
variation de température dans le temps, ces informations ne sont pas critiques et le délai de
transmission n’est pas très important. Comme ce réseau est normalement déployé sur une zone
isolée, nous ne pouvons pas envisager un scénario où une personne se déplace pour changer les
piles des capteurs toutes les semaines. On doit donc développer des méthodes pour économiser
l’énergie pour que le réseau de capteurs puisse fonctionner pendant des années sans intervention
humaine. Ce critère de consommation d’énergie est donc très important à prendre en compte.
Dans ce chapitre, nous allons tout d’abord présenter dans 4.1 un protocole d’accès au médium
économisant énergie que l’on appellera OBMAC (Overhearing Based MAC) [80][82][83]. Ensuite,
nous analysons le comportement de OBMAC dans les différents scénarios et nous montrons que
dans certains cas, OBMAC peut donner de mauvaises résultats. Dans 4.1.3 , nous allons résoudre
ce problème en proposant une nouvelle notion appelée “portée influente” afin de raffiner le
comportement du protocole OBMAC. Dans 4.2 , nous évaluons notre proposition OBMAC en
utilisant un simulateur et une plateforme de capteurs réelle. Enfin, nous concluons notre
proposition dans la partie 1.1 .
4.1
Protocole d’accès au médium basé sur l’écoute
passive
Dans [32], les auteurs ont montré que la communication entre les capteurs est l’activité la plus
coûteuse. Cependant, c’est la seule méthode pour router l’information vers la station de base.
Lorsque les capteurs communiquent en utilisant le protocole d’écoute de porteuse, il existe des
53
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
raisons de gaspillage d’énergie: les collisions, l’écoute passive, les paquets de contrôle, l’écoute
non-active. L’écoute passive est inévitable dans certains protocoles d’accès au médium et elle est
toujours considérée comme une source de gaspillage d’énergie. Cependant, nous allons voir dans
cette partie que l’écoute passive peut être une bonne méthode pour réduire le nombre de
communications redondantes et la consommation d’énergie.
4.1.1 Hypothèse pour le réseau de capteurs
Nous commençons par une présentation du contexte propre au réseau de capteurs. Il y a plusieurs
types de réseaux de capteurs et chaque protocole d’accès au canal est normalement optimisé pour
un type de ces réseaux. Donc, il est nécessaire de bien définir le contexte du réseau de capteurs que
nous allons traiter. Nous supposons qu’un réseau de capteurs de type surveillance a pour but
l’envoi de mesures périodiquement. Les capteurs déployés sont denses et positionnées
aléatoirement pour mesurer des informations ambiantes : température, vibration, pression,
humidité, luminosité etc. Ce type de réseau de capteurs peut être utilisé dans le domaine de
l’environnement. Par exemple, les capteurs de température et d’humidité sont déployés dans une
forêt pour mesurer la variation de température et l’humidité. Puisque la forêt est très vaste, une
solution pour déployer les capteurs est donc de parcourir la forêt en avion et de jeter les capteurs.
Les capteurs vont s’auto-organiser afin d’établir des liaisons vers la station de base
dynamiquement. Pour ce genre de réseau de capteurs, on dit que les capteurs sont déployés d’une
manière dense et aléatoire.
Périodiquement, les capteurs prennent les mesures et les envoient à la station de base via les
communications multi-sauts. Comme les capteurs sont susceptibles d’être dans la même zone (ils
sont déployés aléatoirement), ils peuvent détecter les mêmes évènements et lorsqu’ils envoient tous
les mêmes informations à la station de base, c’est un gaspillage d’énergie. En effet, ce n’est pas une
seule transmission mais une transmission multi-saut, ce qui implique plusieurs transmissions à la
fois. Si nous pouvons trouver des méthodes pour éviter ce genre de gaspillage d’énergie, ce serait
très utile.
4.1.2 Topologie du réseau
En utilisant les techniques existantes [50][84][85], les capteurs s’organisent automatiquement sous
forme d’une topologie en arbre. Dans une telle topologie, il y a un nœud central qui joue le rôle de
la station de base. Les capteurs construisent des liens vers la station de base afin d’envoyer leurs
mesures. En effet, il y a normalement deux types de nœuds dans une topologie en arbre : des nœuds
routeurs et des nœuds feuilles. Le nœud routeur peut à la fois capter des informations ambiantes et
router les messages pour les autres, tandis que le nœud feuille ne fait que capter des informations
ambiantes et les envoyer à la station de base via des nœuds routeurs.
54
4.1 Protocole d’accès au médium basé sur l’écoute passive
Station de base
Nœud routeur
Nœud feuille
Figure 4.1 - Topologie en arbre d’un réseau de capteurs
La Figure 4.1 illustre cette topologie avec plusieurs nœuds routeurs, nœud feuilles et une station de
base. Nous pouvons constater que les nœuds feuilles sont aux extrémités de l’arbre et ils ne routent
pas les messages pour les autres. Chaque nœud routeur a plusieurs nœuds fils : nœud routeur ou
nœud feuille. Ce type de protocole est aussi normalisé dans 802.15.4 [12] où la station de base est
représentée par un coordinateur PAN (réseau personnel) ; les nœuds routeurs sont représentés par
les nœuds FFD (Full Function Device) et les nœuds feuilles sont représentés par les nœuds RFD
(Reduced Function Device). Dans ce type de fonctionnement du système, un nœud routeur peut
consommer plus d’énergie que les nœuds feuilles. Quand un nœud routeur estime qu’il ne reste
plus beaucoup d’énergie, il peut décider de devenir un nœud feuille pour réduire la charge et laisser
la tâche de routage pour un autre nœud. Lorsque la topologie du réseau est établie, les nœuds
commencent à transmettre les mesures périodiquement à la station de base via les nœuds routeurs.
La station de base récupère les mesures, et les stocke dans une base de données.
4.1.3 Fonctionnement de OBMAC
Dans la partie état de l’art, nous avons vu plusieurs protocoles d’accès au médium pour réduire la
consommation d’énergie : S-MAC [34], T-MAC[36], 802.15.4 [12], B-MAC[47] etc. Le but
principal de ces propositions était de réduire le temps de fonctionnement du transceiveur au
maximum. Pour atteindre ce but, les capteurs dans ces réseaux changent leur transceiveur de l’état
actif à l’état en veille périodiquement. Ils communiquent durant le temps où leur transceiveur est
actif et ils économisent l’énergie pendant le temps endormi de leur transceiveur. Afin d’éviter le
55
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
problème appelé "envoi sourd” (un nœud actif transmet à un nœud endormi), les capteurs se
synchronisent pour travailler et dormir simultanément. Cependant, comme les capteurs sont
susceptibles d’être dans la même zone, ils peuvent détecter les mêmes mesures et les envoyer à la
station de base. Ces transmissions sont redondantes et c’est un gaspillage d’énergie. En effet,
aucune des propositions existantes de la couche MAC n’a pris en compte cet aspect car le seul but
de ces propositions est de réduire le temps de fonctionnement du transceiveur mais pas de réduire
le nombre de transmissions redondantes.
Dans cette partie, nous allons présenter le fonctionnement de notre proposition OBMAC
(Overhearing Based MAC). L’objectif principal de OBMAC est de réduire la consommation
d’énergie. Cela englobe deux tâches : réduire le temps de fonctionnement du transceiveur et réduire
le nombre de communication redondante. Notre proposition améliore les protocoles existants en
utilisant des méthodes efficaces pour filtrer les communications redondantes afin d’éviter de
transmettre.
a)
OBMAC sur 802.15.4
OBMAC est une extension du protocole d’accès au médium synchronisé pour les réseaux de
capteurs. Nous illustrons le fonctionnement de OBMAC sur le protocole d’accès au médium de
802.15.4 [12], une norme de protocole d’accès au médium dédié pour les réseaux à faible
consommation d’énergie. Les nœuds divisent leur temps de fonctionnement en deux parties : une
période active et une période endormie (Figure 2.8). Les nœuds sont synchronisés par les paquets
“beacon” au début de chaque période active.
Pendant la période active, les nœuds accèdent au canal en contention en utilisant la méthode
d’écoute de porteuse. Ils sont obligés de rester en état actif durant la période active. Quand un
nœud gagne le canal et transmet son paquet, les autres nœuds changent le mode de transceiveur en
mode écoute pour recevoir d’éventuelles données ou pour connaître le moment où le transmetteur
termine sa transmission. Si un nœud n’est pas le récepteur d’une transmission, il abandonne les
paquets qu’il a écoutés passivement. On a ainsi le problème de l’écoute passive car ces nœuds sont
obligés d’écouter les paquets dont ils ne sont pas destinataires. L’écoute passive est une source de
gaspillage d’énergie et elle est inévitable pour la norme 802.15.4.
L’idée principale de OBMAC est de profiter du problème d’écoute passive afin de réduire le
nombre de transmissions redondantes. Pour cela, nous proposons une première règle pour
OBMAC.
Règle 4.1 : Un nœud vérifie le paquet qu’il a écouté passivement afin de savoir s’il possède la
même information qu’il veut transmettre au même destinataire.
56
4.1 Protocole d’accès au médium basé sur l’écoute passive
Lorsqu’un nœud perd le canal de communication, il doit laisser le paquet qu’il veut transmettre
dans une liste d’attente dans sa couche d’accès au médium. En appliquant la règle 4.1, il va
comparer le paquet qu’il écoute passivement et le paquet qu’il veut transmettre dans sa liste
d’attente. Si les deux paquets ont la même adresse de destination (la station de base dans la plupart
des cas), la même information de mesure (température, vibration etc.), ce nœud enlève simplement
ce paquet dans sa liste d’attente car un paquet avec la même information a été envoyé à la même
destination. Au contraire, ce nœud jette le paquet qu’il a écouté passivement et réessaie de
transmettre son paquet de sa liste d’attente dans la prochaine période d’accès au canal.
Intervalle beacon
père
B
Réception
endormi
B
Réception
endormi
fils 1
B
Transmission
endormi
B
Ecoute passive
endormi
Vérifier des paquets redondants
fils 2
B
Ecoute passive
endormi
B
Transmission
endormi
B : Beacon
Figure 4.2 - Règle 4.1 de OBMAC avec 802.15.4
En réduisant le nombre de communications redondantes, nous réduisons également la
consommation d’énergie et prolongeons la durée de vie d’un réseau de capteurs. Ce qui est
intéressant dans la règle 4.1 est que nous supprimons seulement les transmissions inutiles alors que
les données non redondantes sont transmises normalement.
Afin de mieux comprendre le fonctionnement de la règle 4.1 de OBMAC, nous prenons le cas
d’une communication entre un nœud père et deux nœuds fils. Les deux nœuds fils mesurent les
informations ambiantes et les envoient périodiquement à la station de base via le nœud père. La
relation père-fils est réalisée lorsque les nœuds s’auto-organisent dans une topologie d’arbre. La
Figure 4.2 illustre le fonctionnement de la règle 4.1 basée sur 802.15.4. Pour chaque période active,
le père envoie un paquet de diffusion beacon pour que les nœuds fils puissent se synchroniser avec
lui. Les nœuds fils sont programmés pour envoyer leurs mesures périodiquement pour chaque
période active du réseau. Donc, ils accèdent au canal en contention en prenant une valeur back-off
aléatoire dans la fenêtre de contention. Dans la Figure 4.2, nous illustrons deux périodes de
transmission des nœuds. Pour la première période, supposons que le nœud fils 1 gagne le canal, il
57
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
va transmettre son paquet à son père. Le fils 2 perd le canal et doit écouter le canal passivement.
Dans le cas normal, cette écoute sert simplement à connaître le moment où le fils 1 termine sa
transmission. En appliquant la règle 4.1, le fils 2 utilise cette écoute passive pour vérifier si la
même information a été envoyée. Si c’est le cas, le fils 2 enlève ce paquet de sa liste d’attente de la
couche d’accès au médium. Après la période active, tous les nœuds s’endorment pour économiser
l’énergie jusqu’à la prochaine période. Une nouvelle période active commence par un paquet
beacon. Ensuite, les nœuds fils 1 et fils 2 sont en contention pour accéder au canal. Comme le
choix de la valeur back-off est aléatoire, nous ne savons pas à l’avance le nœud qui gagnera le
canal. Supposons que cette fois ci, le fils 2 gagne le canal. La procédure est répétée où le nœud fils
1 écoute passivement le canal pour vérifier les informations redondantes et annule son paquet dans
sa liste d’attente s’il trouve des données redondantes
En appliquant la règle 4.1 de OBMAC dans un scénario simple de la Figure 4.2, nous constatons
que si les nœuds fils 1 et fils 2 envoient la même information à la même adresse (la station de
base), nous pouvons filtrer ces informations redondantes et éviter des transmissions inutiles.
L’accès au canal aléatoire garantit qu’on peut économiser l’énergie sur les nœuds fils d’une
manière uniforme. Dans le schéma ci-dessus, nous observons que les nœuds fils 1 et fils 2
économisent chacun une transmission. La consommation d’énergie est distribuée uniformément sur
différents nœuds.
En analysant OBMAC, on pourrait penser que si un nœud écoute passivement et si les données ne
sont pas les mêmes, c’est un gaspillage d’énergie. Selon la norme 802.15.4, les nœuds mettent
toujours leur transceiveur en mode actif pendant la période active, peu importe s’ils ont de données
à envoyer ou pas. En plus, l’écoute passive est inévitable dans 802.15.4. Au lieu de gaspiller
l’énergie pour écouter les messages des autres, juste pour voir le moment où la transmission sera
terminée, nous profitons de cette écoute passive comme une méthode efficace pour filtrer et réduire
les transmissions redondantes.
b)
OBMAC sur S-MAC
Le protocole 802.15.4 [12] est bien connu car il est normalisé par l’organisation IEEE. Cependant,
il ne permet pas d’éviter l’écoute passive. Certains protocoles d’accès au médium de la famille
"MAC synchronisé” peuvent éviter efficacement le problème d’écoute passive (S-MAC [34], TMAC [36], DSMAC [38] etc.). Nous allons voir comment la règle 4.1 de OBMAC peut être
appliquée dans ces protocoles afin de réduire le nombre de transmissions redondantes.
Nous appliquons OBMAC sur S-MAC [34] car S-MAC est un exemple typique de la famille MAC
synchronisé. Dans S-MAC, les nœuds se mettent dans l’état actif et endormi alternativement.
Cependant, la période active est beaucoup plus courte que dans 802.15.4 et le but de cette période
est d’échanger les messages de contrôle pour savoir si un nœud est récepteur ou transmetteur. Si
58
4.1 Protocole d’accès au médium basé sur l’écoute passive
c’est le cas, il laisse son transceiveur dans l’état actif pendant tout un cycle. Si ce n’est pas le cas, il
éteint le transceiveur et se remet en état actif pour la prochaine période.
OBMAC propose de modifier le fonctionnement de S-MAC. La Figure 4.3 illustre un scénario de
transmission entre un nœud père et trois nœuds fils. Supposons que les nœuds fils 1 et fils 2 aient
des données à envoyer, le fils 3 n’a pas de mesure à transmettre. Cela est possible dans certaines
applications où nous nous intéressons à une certaine mesure précise. Par exemple, nous nous
intéressons seulement aux valeurs de température qui dépassent 50°C. Dans ce cas, le capteur
envoie un paquet seulement quand il détecte une température supérieure à 50°C. Sinon, il n’envoie
rien du tout, et se réveille juste pour se synchroniser avec les autres capteurs. Dans ce scénario, les
nœuds fils 1 et fils 2 détectent une hausse de température et le nœud fils 3 ne détecte rien (il
pourrait se trouver loin de la zone où la température est élevée). Périodiquement, les nœuds
échangent les paquets de contrôle. Les nœuds fils 1 et fils 2 sont en contention pour accéder au
canal. Le fils 3 retourne à l’état endormi car il n’a pas de donnée à envoyer. Supposons que le
nœud fils 1 gagne le canal et envoie sont paquet à son père. Le fils 2 perd le canal, il laisse toujours
son transceiveur en marche pour écouter la communication entre le fils 1 et le père. Cette écoute a
pour but de vérifier si le fils 1 transmet la même information au nœud père. Lors de cette
vérification, si le fils 2 trouve qu’il possède la même information qu’il veut envoyer à la station de
base via le nœud père, il va supprimer sa transmission pour cette information. Dans le cas contraire,
il arrête immédiatement son écoute passive et revient à l’état endormi jusqu’à la prochaine période.
Cela peut éviter une longue durée d’écoute passive si l’information qu’il écoute n’est pas la même
que l’information qu’il veut transmettre.
Intervalle beacon
père
SYN RTS CTS
Réception
SYN RTS CTS
Réception
fils 1
SYN RTS CTS
Transmission
SYN RTS CTS
Ecoute Passive
fils 2
SYN RTS CTS
Ecoute Passive
SYN RTS CTS
Transmission
fils 3
SYN RTS CTS
endormi
SYN RTS CTS
endormi
Figure 4.3 - Règle 4.1 de OBMAC avec S-MAC
59
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
L’utilisation de OBMAC dans S-MAC n’est pas aussi avantageux que dans 802.15.4 car l’écoute
passive dans 802.15.4 est inévitable, tandis que dans S-MAC, nous obligeons les nœuds à rester en
mode d’écoute passive. Les capteurs consomment l’énergie en mode écoute passive et cela est une
source de gaspillage d’énergie. Alors, il faut prouver que les capteurs en mode écoute passive
consomment moins d’énergie que les capteurs qui envoient des informations redondantes. En effet,
il y a plusieurs raisons qui prouvent l’efficacité de OBMAC. Premièrement, la consommation
d’énergie en mode réception est inférieure au mode transmission dans la plupart des transceiveurs
existants. Deuxièmement, un nœud se met en état "écoute passive" seulement quand il a des
données à envoyer et il ne gagne pas le canal de communication. En plus, la durée du temps
d’écoute passive est normalement courte car elle est terminée si un nœud trouve les données
différentes que les données qu’il possède. Troisièmement, les capteurs qui se trouvent dans la
même zone ont une forte probabilité de mesurer les mêmes informations. Pour toutes ces raisons,
nous pouvons dire que OBMAC peut réduire le nombre de transmissions redondantes efficacement.
En effet, l’écoute passive a été utilisée dans les protocoles d’accès au médium par écoute de
porteuse. Cependant, elle sert seulement à connaître le moment où le canal sera libre. OBMAC est
la première technique qui utilise l’écoute passive pour réduire le nombre de communication
redondante. Cette technique ne peut pas être appliquée aux réseaux sans fils traditionnels car dans
ces réseaux, chaque nœud utilise un scénario de transmission différent. Le but de ces réseaux est de
garantir une transmission de bout en bout entre deux nœuds quelconques. Dans les réseaux de
capteurs, nous nous intéressons aux transmissions des informations sur une zone jusqu’à la station
de base. Si deux nœuds voisins ont la même information à signaler à la station de base, il vaut
mieux l’envoyer une seule fois pour économiser l’énergie. OBMAC est conçu particulièrement
pour les réseaux de capteurs afin de réduire les transmissions inutiles.
4.1.4 Portée influente
En profitant de l’écoute passive de la règle 4.1, nous pouvons réduire les communications
redondantes dans la portée radio des nœuds. Cependant, la portée radio est normalement assez
large : 100 mètre en 802.11 [31] et 70 mètre en 802.15.4 [12]. Quand on applique OBMAC, on va
voir que les nœuds peuvent annuler leur transmission pour les informations qui ne viennent pas de
la même source. La Figure 4.4 illustre un scénario où il y a deux sources d’information différentes
(représentés par les feux). Les nœuds A, B et C ont des données à envoyer à la station de base via
des nœuds routeurs. Supposons que le nœud A gagne le canal et commence sa transmission.
Puisque les nœuds B et C sont dans la portée radio du nœud A (le grand cercle) et ont la même
information qu’ils veulent transmettre, ils vont annuler leur transmission. Cela est justifié pour le
nœud B car il se trouve juste à côté du nœud A et il détecte la même source de changement de
température. Cependant, le nœud C se trouve loin du nœud A et il ne détecte pas le même
évènement. Donc, le nœud C ne doit pas annuler sa transmission. En plus, pour une zone de rayon
~ 100m, si les capteurs envoient seulement 1 paquet pour annoncer l’évènement (puisque tous les
60
4.1 Protocole d’accès au médium basé sur l’écoute passive
capteurs aux alentours annulent leur transmission), cela pose un problème de tolérance aux fautes
qui ne permet pas de garantir une transmission fiable dans l’environnement sans fil.
La portée radio
Station de base
Nœud routeur
La portée influente
RSSI <α
Nœud feuille
B
A
Rayon ~ 100m
C
RSSI : Received Signal Strength
Indicator
RSSI >α
Figure 4.4 - OBMAC dans la portée influente de A
Pour remédier à ces deux limitations, nous raffinons l’approche de OBMAC en prenant en compte
la portée radio. Nous définissons un nouveau concept que l’on appelle la portée influente.
Définition 1: La portée influente d’un nœud N est la zone où les nœuds voisins sont susceptibles
d’observer les mêmes informations et est obtenue par la valeur de l’indicateur de puissance du
signal reçu (RSSI – Received Signal Strength Indicator)
En effet, la portée influente est différente de la portée radio et est toujours plus petite que la portée
radio d’un nœud. La Figure 4.4 illustre ces deux portées : la portée radio est le grand cercle et la
portée influente est le petit cercle. Pour raffiner OBMAC, nous appliquons une autre règle en
utilisant la portée influente.
Règle 4.2 : Un nœud applique la règle 4.1 si et seulement si, il est dans la portée influente du nœud
transmetteur.
La règle 4.2 garantit que nous annulons seulement les informations identiques qui se trouvent dans
le rayon de la portée influente. Les nœuds qui se trouvent à l’extérieur de cette portée ne vont pas
appliquer la règle 4.1 car leur information vient d’endroits différents et ce n’est pas une
61
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
information redondante. L’ensemble des règles 4.1 et 4.2 réalise la proposition complète de
OBMAC.
En effet, un nœud décide d’appliquer la règle 4.1 selon la valeur de la portée influente. Mais,
comment pouvons nous savoir si un nœud est dans la portée influente ? Dans notre approche, la
portée influente d’un nœud est définie par le transmetteur. Quand les capteurs communiquent, le
capteur qui se trouve le plus proche du nœud transmetteur reçoit un signal avec une puissance plus
forte que le capteur plus éloigné. La puissance du signal reçu est inversement proportionnelle à la
distance entre le transmetteur et le récepteur. Dans un réseau sans fil, chaque nœud est toujours
doté d’un dispositif d’évaluation de la puissance du signal reçu. C’est un indicateur de puissance du
signal reçu (RSSI – Received Signal Strength Indicator). Observons la Figure 4.4, quand le nœud A
transmet, le nœud B et le nœud C sont dans la portée radio du nœud A. Ils peuvent écouter la
transmission entre le nœud A et le nœud routeur. Cependant, la distance AB < AC, alors le RSSI
reçu au nœud B est plus fort qu’au nœud C. A partir de la valeur RSSI reçue, un nœud peut estimer
sa distance avec le transmetteur.
Un paquet à
transmettre
Ecouter le
canal
non
Libre
non
RSSI > α
non
oui
Paquets redondants ?
oui
oui
Envoi du
paquet
Suppression
du paquet
Figure 4.5 - Diagramme du fonctionnement de OBMAC avec la portée influente
Nous définissons un seuil α pour déterminer la portée influente d’un nœud. Lorsqu’un nœud reçoit
un paquet avec la valeur de RSSI plus grande que α, il sait qu’il est dans la portée influente du
62
4.1 Protocole d’accès au médium basé sur l’écoute passive
nœud transmetteur. Le seuil α est une valeur paramétrable dans OBMAC et selon le type
d’application, nous pouvons lui attribuer des valeurs différentes.
La Figure 4.5 illustre le diagramme de fonctionnement de OBMAC dans la portée influente. En
appliquant ce diagramme sur la topologie de la Figure 4.6, lorsque les nœuds A, B et C veulent
transmettre les informations à la station de base via des nœuds routeurs, ils sont en contention pour
accéder au canal. Le nœud A gagne le canal et commence sa transmission. Les nœuds B et C
reçoivent la transmission du nœud A. Ils calculent la puissance du signal reçu pour savoir s’ils sont
dans la portée influente du nœud A. Le nœud B reçoit une puissance du signal plus forte que le
seuil α, il est dans la portée influente du nœud transmetteur A. Alors, il met son transceiveur dans
l’état actif pour l’écoute passive même s’il n’est pas le récepteur de cette transmission. En
appliquant OBMAC, il vérifie si le message qu’il écoute passivement est identique au message
qu’il veut transmettre à la station de base. Si c’est le cas, il va annuler sa transmission pour ce
message. Le nœud C reçoit une puissance du signal inférieure de la valeur α, il sait qu’il n’est pas
dans la portée influente du nœud A. Donc, l’information qu’il veut transmettre ne vient pas de la
même source que le nœud A et il ne va pas appliquer la règle 4.1 de OBMAC. Au contraire, il
éteint son transceiveur pour économiser l’énergie pendant cette période. Pour la prochaine période,
le nœud C va transmettre son paquet tandis que le nœud B ne transmet plus son paquet car il a
annulé sa transmission redondante.
En utilisant OBMAC dans la portée influente, le nœud B peut éviter une transmission inutile. Nous
pouvons éviter la transmission de B et le routage du message de B vers la station de base via 2
nœuds routeurs. Dans cet exemple, nous évitons 3 transmissions inutiles. Dans un réseau de
capteurs à large échelle avec plusieurs nœuds et des transmissions multi-sauts, nous pouvons éviter
beaucoup de transmissions redondantes.
Lorsque les nœuds A, B et C sont en contention pour accéder au canal, nous ne connaissons pas
l’ordre d’accès au canal de ces nœuds. Dans la Figure 4.4, le nœud A gagne le canal et transmet à
la station de base via 2 nœuds routeurs. Le nœud A consomme de l’énergie pour cette transmission.
Pour la prochaine période, il se peut que le nœud B gagne le canal, il va consommer de l’énergie
pour transmettre l’information ambiante de la zone tandis que le nœud A peut s’endormir pour
économiser énergie. Comme l’accès au canal est effectué d’une manière aléatoire, nous pouvons
voir que les capteurs A et B qui se trouvent dans la même zone vont économiser la même quantité
d’énergie. Les nœuds routeurs consomment plus d’énergie que les nœuds feuilles et épuisent leur
énergie plus rapidement. Ils doivent utiliser des techniques pour réorganiser la topologie du réseau
d’une manière intelligente en partageant la charge avec les autres nœuds. Cette approche est dans le
cadre d’une autre problématique sur l’auto-organisation du réseau de capteurs et nous n’allons pas
aborder ce problème dans cette partie. L’application de la règle 4.2 peut également améliorer la
tolérance aux fautes dans le réseau. Nous trouvons dans la Figure 4.4 que pour trois nœuds qui se
63
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
trouvent dans la portée radio, nous avons toujours deux paquets envoyés par les capteurs A (ou B)
et C.
4.2
Evaluation de performance
Dans cette partie, nous allons présenter les résultats d’évaluation de performance de OBMAC en
comparaison avec les protocoles d’accès au médium existants. Nous utilisons le simulateur
OMNet++ [86] afin de valider OBMAC. OMNet++ est un environnement de simulation
d’évènements discrets. Il est largement utilisé dans la communauté scientifique afin de simuler les
réseaux de communication. Après comparaison avec les autres simulateurs existants comme NS2
[87], Opnet [88], nous avons choisi OMNet++ car il est open-source et plus léger, ce qui nous
permet de simuler les réseaux à large échelle avec un nombre de nœuds important. OMNet++
fournit une architecture basée sur des composants programmés en C++ et il permet une réutilisation
de modèles existants facilement.
Zone de déploiement
500x500
Nombre de nœuds
5-20
La portée influente
-60 dBm à -90 dBm
Energie un pile AA
2900mAh
Processeur (Actif / Endormi)
8mA / 15µA
Transceiveur (Tx/ Rx/ Endormi)
27mA/ 10mA/ 1µA
Puissance du Transceiveur
3mW
Sensibilité du Récepteur
-98 dBm
Période active/ endormie
0.1s / 9.9 s
Fréquence de transfert de données
1 paquet / 10 secondes
Temps de simulation
500s
Tableau 4.1 - Paramètres de simulation
Afin de simuler les communications sans fil d’un réseau de capteurs, nous avons utilisé le modèle
Mobility Framework [89], un modèle pour OMNet++ qui fournit un environnement de simulation
de réseau sans fil et mobile. Enfin, pour simuler la consommation d’énergie sur des capteurs, nous
utilisons le Battery Model [90] pour mesurer le niveau d’énergie sur les capteurs dans un réseau.
L’environnement de simulation que nous venons de présenter est utilisé pour valider le protocole
64
4.2 Evaluation de performance
OBMAC. Cependant, c’est aussi l’environnement que nous utiliserons pour simuler et valider notre
proposition tout au long de cette thèse.
4.2.1 Paramètres de simulation
Le Tableau 4.1 illustre les paramètres de simulation utilisés dans notre évaluation de performance.
Nous déployons les capteurs aléatoirement dans une zone rectangle de 500x500. Nous utilisons les
paramètres de transceiveur radio de Mica2 [10] avec la consommation d’énergie en mode
transmission/ réception/ endormi ~ 27mA/ 10mA/ 1µA. La station de base est située au centre de la
zone de déploiement. Périodiquement, les capteurs envoient les données de l’environnement
d’ambiant à la station de base. Les nœuds changent le mode de fonctionnement du transceiveur de
l’état actif à l’état endormi périodiquement. Après avoir transmis un paquet dans une période
active, les nœuds se mettent à l’état endormi selon la norme 802.15.4 pour économiser énergie.
4.2.2 Temps de latence
Dans la première évaluation, nous comparons le temps de latence entre 802.11, 802.15.4 et
OBMAC. La latence est le temps pendant lequel les capteurs envoient les paquets concernant un
phénomène de l’environnement et le temps où la station de base reçoit tous les paquets pour cette
information.
Figure 4.6 - Temps de latence avec la portée influente α=-90 dBm
Nous fixons la portée influente α= -90 dBm ce qui signifie que les nœuds appliquent OBMAC
lorsque la puissance du signal reçu est plus élevée que -90 dBm. La Figure 4.6 illustre la latence de
transmission en faisant varier le nombre de nœuds dans la zone de déploiement. L’axe horizontal
illustre le nombre de nœuds et l’axe vertical le temps de latence. Observons cette figure, nous
trouvons que 802.11 donne une latence plus importante car ce protocole utilise les paquets de
65
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
contrôle (RTS, CTS, ACK) afin d’éviter les collisions relatives au problème de la station cachée.
Ces paquets de contrôle garantissent une transmission fiable entre les capteurs dans le cas du
problème de la station cachée. Cependant, ils ne donnent pas une latence optimale. Le protocole
802.15.4 améliore également le temps de latence par rapport à 802.11 car il n’utilise pas les paquets
de contrôle. Dans ces deux protocoles, lorsqu’on augmente le nombre de nœuds dans le réseau, ils
sont plus nombreux à communiquer et il faut donc plus de temps pour transmettre tous les paquets
à la station de base. Donc, la latence est proportionnelle au nombre de nœuds dans le réseau.
En appliquant OBMAC, les nœuds qui se trouvent dans la portée influente des autres peuvent
éviter les transmissions redondantes. Quand on augmente le nombre de nœuds, on augmente
également la densité de nœuds dans le réseau. Il y aura plus de nœuds qui se trouvent dans la portée
influente et plus de paquets redondants annulés. Nous constatons que la latence de transmission en
appliquant OBMAC est relativement constante par rapport au nombre de nœuds dans le réseau.
Bien que le but de OBMAC ne soit pas de réduire la latence de transmission, nous remarquons
qu’en annulant les transmissions inutiles, il faut moins de temps pour que la station de base ait une
vue globale sur les environnements de la zone de déploiement.
4.2.3 Consommation d’énergie
Etant donné que le but principal de OBMAC est de réduire la consommation d’énergie dans un
réseau de capteurs, nous comparons OBMAC avec 802.15.4 afin de montrer l’avantage de
OBMAC. Nous ne comparons pas OBMAC avec 802.11 car ce dernier n’utilise pas de méthodes
pour économiser énergie. La consommation d’énergie de 802.11 est très élevée par rapport à
802.15.4 et OBMAC. Si nous dessinons les trois protocoles sur la même figure, il sera difficile de
visualiser la différence de la consommation d’énergie entre 802.15.4 et OBMAC. C’est la raison
pour laquelle nous n’affichons pas la consommation d’énergie de 802.11 dans la Figure 4.7.
Cette figure illustre la consommation d’énergie moyenne de tous les nœuds dans le réseau en
faisant varier le nombre de nœuds. L’axe horizontal représente le nombre de nœuds dans le réseau.
L’axe vertical représente la consommation d’énergie moyenne de tous les nœuds. Dans 802.15.4,
tous les nœuds envoient les paquets à la station de base. Lorsqu’on incrémente le nombre de
nœuds, la congestion du réseau est augmentée et les nœuds doivent attendre plus de temps pour
accéder au canal. Notons que les courbes dans la Figure 4.7 représentent la consommation
d’énergie moyenne, la courbe de 802.15.4 ressemble à un trait horizontal car les nœuds travaillent
et dorment selon une durée identique.
Dans OBMAC, lorsqu’on incrémente le nombre de nœuds dans le réseau, il y a plus de nœuds qui
se trouvent dans la portée influente et ils ne vont pas transmettre leurs paquets redondants. Comme
nous l’avons vu précédemment, les nœuds qui économisent l’énergie en évitant les transmissions
redondantes ne sont pas pré-déterminés. Ce sont les nœuds qui ont perdu le canal lors de l’accès en
66
4.2 Evaluation de performance
contention. La consommation d’énergie est bien distribuée à tous les nœuds dans le réseau. Au
contraire, ils ont été choisis aléatoirement parmi les nœuds dans le réseau. La courbe de OBMAC
montre une consommation d’énergie moyenne inférieure par rapport à 802.15.4.
Figure 4.7 - Consommation d’énergie de 802.15.4 et OBMAC
Dans une application de réseau de capteurs de type surveillance, les capteurs sont répartis
aléatoirement. Il peut y avoir des zones où les nœuds sont plus denses et d’autres où ils sont plus
rares. En appliquant OBMAC, les nœuds dans les zones où les capteurs sont peu nombreux ne vont
pas annuler leurs transmissions tandis que les nœuds dans les zones denses vont annuler leurs
transmissions car ceux-ci ont des transmissions redondantes. Nous avons filtré les transmissions
redondantes d’une manière efficace sans affecter le fonctionnement du système. Ainsi, OBMAC
est bien une proposition efficace pour économiser l’énergie dans un réseau de capteurs de type
surveillance.
4.2.4 Variation de la portée influente
Dans les deux résultats de simulation précédents, nous avons utilisé la valeur de la portée influente
qui correspond au seuil α= -90dBm. Comme cette valeur peut affecter le nombre de nœuds qui
utilisent l’écoute passive, nous allons faire varier ce paramètre afin de visualiser l’apport de la
portée influente au résultat de performance du système. Nous changeons la valeur du seuil α de -60
dBm à -90 dBm. Ensuite, nous mesurons la variation du nombre de paquets que les nœuds ont
écouté passivement.
La Figure 4.8 illustre ce résultat d’évaluation de performance. L’axe horizontal donne le nombre de
nœuds. L’axe vertical illustre le nombre de paquets que tous les nœuds ont écouté passivement
dans la portée influente. Nous supposons que ces paquets sont des paquets redondants et il faut les
67
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
éviter. Chaque courbe dans la Figure 4.8 correspond à la variation du nombre de paquets en écoute
passive selon différentes valeurs de la portée influente α. Pour une valeur de la portée influente,
lorsqu’on augmente le nombre de nœuds, le réseau est plus dense et le nombre de paquets évités est
plus important. Plus le nombre de paquets évités augmente, plus nous pouvons économiser
l’énergie. Le nombre de paquets évités est proportionnel au nombre de nœuds dans le réseau.
Figure 4.8 - Variation de la valeur de portée influente
Cependant, si nous comparons les différentes courbes pour différentes valeurs de la portée
influente, nous trouvons que OBMAC est plus avantageux pour les valeurs α plus petites. C’est un
résultat attendu car une petite valeur de α implique un rayon de portée influente plus grand.
Lorsque la portée influente est plus large, le nombre de nœuds qui se trouvent dans ce rayon est
plus important et ces nœuds vont écouter les paquets passivement afin de vérifier les transmissions
redondantes. Observons la Figure 4.8, nous pouvons constater que la courbe qui correspond à la
valeur α= -90 dBm est la plus avantageuse. Cependant, cela génère également un problème : il y
aura plus de nœuds qui vérifient des transmissions redondantes. De plus, les paquets que les nœuds
ont écoutés passivement ne sont pas toujours des paquets redondants. Si c’est le cas, les nœuds
gaspillent l’énergie pour vérifier des paquets non redondants. Donc, la valeur de la portée influente
joue un rôle important pour le fonctionnement de OBMAC. Ce paramètre est un compromis entre
le nombre de paquets écoutés passivement et l’exactitude des transmissions annulées. En fonction
de chaque type de réseau de capteurs, nous pouvons paramétrer cette valeur afin d’avoir une valeur
optimale.
68
4.2 Evaluation de performance
4.2.5 Validation sur les capteurs Silicon
Figure 4.9 - Capteur Silicon
Comme nous venons de le voir dans la partie précédente, la portée influente peut beaucoup
influencer le fonctionnement de OBMAC. Dans cette partie, nous allons analyser la variation de la
puissance du signal reçu en fonction de la distance afin de déterminer la portée influente. Nous
utilisons les capteurs Silicon [91] pour la validation (Figure 4.9). Chaque capteur Silicon est doté
d’un microcontrôleur C8051F121 et d’une antenne transceiveur Chipcon CC2420 [92]. Le
microcontroleur comprend un processeur 8051 à 100 MIPS, une mémoire flash de 128 KOctets et
une mémoire vive de 8KOctets. L’antenne Chipconn CC2420 est composée d’un transceiveur 2.4
GHz et 128 octets FIFO.
Nous mesurons la puissance du signal reçu en faisant varier la distance entre les nœuds. Nous
utilisons 5 capteurs pour effectuer le test. Nous plaçons un nœud comme station de base et 5
capteurs autour de la station de base. Les capteurs envoient les paquets périodiquement et nous
faisons varier la distance de ces capteurs à la station de base. Sur la station de base, nous mesurons
la puissance du signal reçu pour chaque capteur.
Le Tableau 4.2 illustre les résultats de ce test avec 5 capteurs. Observons le tableau, nous trouvons
que la puissance du signal reçu est inversement proportionnelle à la distance entre les nœuds. Pour
le capteur 1, la puissance du signal reçu varie de -17 dBm à -46 dBm avec une distance de 10cm à
160cm. Cela est normal car le signal est atténué lorsqu’il traverse une distance plus longue.
Cependant, ce qui est intéressant dans ces résultats d’expérimentation est que les différents nœuds
réagissent de la même manière en fonction de la distance. Par exemple, avec une distance de 10cm,
69
Chapitre 4. Protocole MAC économisant l’énergie pour les réseaux de capteurs
on reçoit la même valeur de puissance du signal reçu (-17 dBm). De ce fait, nous pouvons utiliser
cette valeur pour évaluer la distance et définir le seuil α pour la portée influente. Par exemple, dans
une application, nous trouvons que les nœuds dans un rayon de 80cm détectent les informations
redondantes. Nous devons définir le seuil α pour que les nœuds qui se trouvent à l’intérieur du
rayon 80cm du transmetteur aillent appliquer le protocole OBMAC. Consultant le Tableau 4.2,
nous trouvons que cette distance correspond à la puissance du signal reçu -38 dBm. Alors, nous
assignons la valeur α = - 38 dBm. Dans ce cas, quand un nœud reçoit un paquet avec la puissance
du signal inférieur à -38 dBm, il sait qu’il n’est pas dans la portée influente et il va se mettre en état
endormi pour économiser énergie. Au contraire, il se met dans l’état actif pour écouter passivement
la transmission afin de vérifier les transmissions redondantes.
Nœud
Distance (cm)
1
2
3
4
5
10
-17
-17
-17
-17
-17
20
-23
-22
-24
-23
-24
40
-26
-27
-27
-28
-27
80
-38
-37
-39
-37
-38
160
-46
-50
-44
-52
-47
Tableau 4.2 - Valeurs de la puissance du signal reçu (dBm) en faisant varier la distance
4.3
Conclusion
Dans cette partie, nous avons présenté et analysé le fonctionnement d’un nouveau protocole
d’accès au médium que l’on a appelé OBMAC. Dans les différents protocoles d’accès au médium
existants [31][33][34][36][47], l’écoute passive est toujours considérée comme une source de
gaspillage d’énergie. Cependant, nous avons démontré que dans certains scénarios de transmission
d’un réseau de capteurs, cette écoute passive peut être une méthode efficace pour économiser la
consommation d’énergie en réduisant les transmissions redondantes. Nous avons raffiné la
proposition de OBMAC avec la nouvelle notion de la portée influente. Nous avons évalué le
protocole OBMAC en le comparant aux protocoles existants et nous avons montré que notre
protocole offre un avantage en terme de la consommation d’énergie. Nous avons mesuré également
la latence des transmissions et nous trouvons que OBMAC offre une faible latence par rapport
autres protocoles d’accès au médium. En appliquant la portée influente, nous garantissons que
seulement les nœuds qui se trouvent dans une petite zone appliquent l’écoute passive. Il n’y a que
70
4.3 Conclusion
les données redondantes qui sont supprimées. Nous recevons toujours quelques messages pour un
évènement. De ce fait, nous garantissons l’exactitude et la tolérance aux fautes du réseau. OBMAC
assure une faible consommation d’énergie dans un réseau de capteurs de type surveillance.
71
Chapitre 5.
pour
Protocole MAC à faible latence
réseaux
de
capteurs
orientés
évènement
Dans le chapitre précédent, nous avons présenté et analysé le protocole d’accès au médium
OBMAC pour les réseaux de capteurs de type surveillance. Dans ce type de réseau de capteurs, le
paramètre le plus important à prendre en compte est la consommation d’énergie. Nous avons
démontré que l’approche de OBMAC peut satisfaire cette condition en réduisant le nombre de
communications redondantes et de ce fait la consommation d’énergie. Cependant, pour les réseaux
de capteurs orientés évènement, le scénario de transmission est différent. Les capteurs envoient
leurs mesures seulement lorsqu’un évènement se produit. Par contre, en condition normale lorsqu’il
n’y a pas d’évènement, les capteurs mesurent les informations ambiantes bien que leur transceiveur
soit éteint. Ils peuvent stocker ces mesures dans la mémoire flash ou supprimer les vielles
informations. Dans les applications critiques (détection d’évènement dans un avion, dans un centre
de production industriel etc.), le critère le plus important à prendre en compte est la latence de
transmission. Lorsqu’un évènement se produit, nous voulons obtenir des informations sur ce qui se
passe dans la zone critique dans le plus bref délai. La consommation d’énergie dans ce type de
réseau est moins importante car ce réseau de capteurs est normalement déployé dans un milieu où il
y a souvent de l’intervention humaine contrairement au réseau de capteurs de type surveillance où
il y a rarement la présence d’êtres humains (sur des îles, au Pôle Nord etc.).
En se basant sur cette approche, nous proposons un protocole d’accès au canal dédié aux réseaux
de capteurs orientés évènement. Nous l’appelons LLMAC (Low Latency MAC) [93], qui est un
protocole MAC à très faible latence de transmission. Nous commençons dans la partie 5.1 du
chapitre en présentant le problème de la latence de transmission pour les protocoles existants
d’accès au canal. Ensuite, dans la partie 5.2 , nous exposons le fonctionnement de LLMAC afin de
résoudre ce problème de la latence de transmission. Pour illustrer l’avantage de LLMAC par
rapport aux autres protocoles existants d’accès au médium, nous utilisons le simulateur OMNet++
dans la partie 5.3 pour simuler un réseau de capteurs orientés évènement. Nous validons notre
proposition avec les capteurs Cyclops pour avoir une vue pratique de notre proposition. Enfin, nous
terminons le chapitre avec un conclusion et des perspectives de LLMAC.
73
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
5.1
Problème de la latence de transmission dans les
protocoles existants d’accès au médium
Les protocoles existants d’accès au médium pour les réseaux de capteurs de type surveillance
utilisent des méthodes pour économiser l’énergie basées sur le changement du mode de
fonctionnement du transceiveur périodiquement entre l’état actif et l’état endormi. La latence de
transmission est très importante dans ce genre de protocole. En effet, lorsqu’un évènement se
produit, si le capteur est dans l’état endormi et il détecte un évènement, il ne peut pas envoyer les
messages car ces nœuds voisins sont dans l’état endormi. Ce nœud doit attendre jusqu’à la
prochaine période active afin de transmettre ses messages pour cet évènement. Pour une
transmission multi-saut, cette latence est encore plus importante. Les propositions existantes pour
les réseaux de capteurs de type surveillance en utilisant les périodes active/endormi ne sont pas
adaptables aux réseaux de capteurs orientés évènement où on s’intéresse plus à la latence de
transmission.
Pour garantir une faible latence de transmission, il faut que les capteurs soient actifs à tous
moments pour pouvoir transmettre l’évènement à la station de base. Un bon exemple de ce
protocole d’accès au médium qui garantit une faible latence de transmission est IEEE 802.11 [31].
Dans IEEE 802.11, les nœuds sont toujours actifs et ils sont toujours prêts à recevoir ou à
transmettre des données. Pour améliorer la latence de transmission, il y a également quelques
propositions existantes [53][54] que nous avons présentées dans la partie état de l’art. Cependant,
ces propositions sont conçues pour les réseaux de capteurs où il y a une communication directe
entre les capteurs et la station de base. Il n’y a pas la communication multi-saut. Nous allons
montrer, dans cette partie, que dans ces protocoles, il existe toujours le problème de la latence de
transmission pour les communications multi-saut dans un réseau de capteurs orientés évènement.
Nous commençons par la présentation d’un scénario simple de réseau de capteurs orientés
évènement dans la partie 5.1.1 . Ensuite, nous allons analyser un schéma de transmission multi-saut
où nous allons montrer le problème de latence de transmission pour le protocole 802.11.
5.1.1 Topologie d’un réseau de capteurs orientés évènement
Dans un réseau de capteurs orientés évènement, il y a généralement un nombre important de
capteurs déployés sur la zone de détection. La distance entre les capteurs et la station de base est
normalement plus longue que la portée radio de transmission. Donc, pour que les capteurs puissent
envoyer les alertes à la station de base, il faut utiliser des transmissions multi-saut.
La Figure 5.1 illustre un scénario simple de transmission d’un réseau de capteurs orientés
évènement. Dans ce réseau, il y a deux capteurs qui détectent un évènement et deux routeurs qui
74
5.1 Problème de la latence de transmission dans les protocoles existants d’accès au médium
routent les messages vers la station de base. Nous supposons que les nœuds transmettent les
messages vers le nœud le plus proche de la station de base. On veut que le réseau applique un
protocole de routage optimal pour minimiser le nombre de transmissions multi-saut. Pour les
nœuds S1 et S2, le nœud voisin qui est le plus proche de la station de base et qui se trouve dans leur
portée radio, est le routeur G1. Ainsi, les trames de données vont être transmises des capteurs S1 et
S2 vers le routeur G1. Ensuite, le routeur G1 fait suivre les trames de données au routeur G2.
Enfin, le routeur G2 fait suivre les trames de données à la station de base. Bien que le routeur G2
ne se trouve pas dans la portée radio des nœuds S1 et S2, il ne peut pas transmettre simultanément
avec les nœuds S1 et S2 à cause du problème de la station cachée [25]. Plus précisément, si
pendant le temps où le capteur S1 transmet au routeur G1, le routeur G2 transmet à la station de
base, cette transmission va interférer la réception du nœud routeur G1. Dans ce scénario, il y a
seulement un nœud qui a le droit de transmettre, tous les autres doivent rester silencieux. Si deux
nœuds accèdent au canal en même temps, il y aura de collisions. Ainsi les quatre nœuds dans la
Figure 5.1 partagent le médium de transmission alors qu’ils ne sont pas forcément dans la même
portée.
S1
évènement
G1
G2
S2
Station de base
Routeur
Capteur
Figure 5.1 - Scénario de transmission d’un réseau de capteurs orientés évènement
5.1.2 Schéma de transmission multi-saut d’un évènement
Observons le scénario de transmission de la Figure 5.1. Lorsqu’un évènement se produit, deux
capteurs S1 et S2 détectent cet évènement en même temps et veulent envoyer une alerte à la station
de base en même temps via des nœuds routeurs. Dans tous les protocoles d’accès au médium
existants, pour garantir l’équité dans le réseau, tous les nœuds accèdent au canal aléatoirement avec
75
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
la même probabilité après chaque transmission d’une trame de données. Nous ne pouvons pas
savoir à priori l’ordre de transmission des trames de données dans le réseau.
Comme les nœuds accèdent au canal aléatoirement, il y a différents scénarios de transmission pour
les trames de données. La Figure 5.2 et la Figure 5.3 illustrent les chronologies de transmission
pessimiste et optimiste pour le scénario de transmission de la Figure 5.1. Un scénario de
transmission pessimiste est le cas où on reçoit le premier évènement en plus long délai et un
scénario de transmission optimiste est le cas où on reçoit le premier évènement en plus bref délai.
Dans chaque figure, la transmission d’une trame est illustrée par un rectangle gris et la réception
d’une trame est illustrée par un rectangle blanc. Le numéro dans chaque rectangle représente le
paquet qui vient du nœud avec son identifiant. En observant les deux figures, nous pouvons voir
qu’à un moment donné, il y a seulement un nœud qui transmet et tous les autres doivent rester
silencieux. Une alerte doit être routée par deux nœuds routeurs consécutivement avant d’arriver à la
station de base. Un évènement que nous observons peut être composé de plusieurs paquets de
données : la variation de la température des dernières 10 minutes, une image prise sur une partie
particulière d’une machine ou du son enregistré dans la zone surveillée. Pour ce genre
d’application, nous nous intéressons à la latence de transmission qui est mesurée entre le moment
où l’évènement s’est produit et le moment où la station de base reçoit tous les paquets concernant
un évènement. Pour simplifier, nous supposons que chaque évènement détecté est composé de deux
paquets. Quand un évènement se produit, chaque nœud S1 et S2 détecte cet évènement et envoie à
la station de base deux paquets via deux nœuds routeurs. La transmission de chaque trame de
données prend ∆t temps.
∆t
S1
1
2
S2
G1
1
1
2
2
1
2
1
2
1
1 2
11*∆t
G2
Station de base
1
2
2
1
2
1
2
1
2
1
2
12*∆t
transmission
temps
réception
Figure 5.2 - Chronologie de transmission pessimiste
76
5.1 Problème de la latence de transmission dans les protocoles existants d’accès au médium
∆t
S1
1
1
S2
G1
G2
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
6*∆t
Station de base
12*∆t
transmission
temps
réception
Figure 5.3 - Chronologie de transmission optimiste
En appliquant les protocoles MAC existants basés sur la contention, les nœuds accèdent au canal
aléatoirement. Les nœuds S1, S2, G1, G2 ont la même probabilité d’accès au canal de transmission.
La Figure 5.2 illustre un scénario de transmission pessimiste où la station de base reçoit
l’évènement avec une latence importante. Cette figure illustre le cas où le routeur n’a pas de chance
car il perd toujours le canal lorsqu’il veut accéder au canal en contention avec les nœuds S1 et S2.
Pendant ce temps, les nœuds S1 et S2 accèdent au canal consécutivement. Le nœud routeur G1
reçoit tous les paquets qui viennent des nœuds S1 et S2 avant de gagner le canal pour faire suivre
les paquets au nœud routeur G2. Autrement dit, les paquets sont bloqués aux nœuds routeurs avant
d’être transmis à la station de base. Dans ce scénario pessimiste, la station de base reçoit le premier
évènement envoyé après 11*∆t temps. Elle reçoit la totalité de deux évènements après 12*∆t
temps.
La Figure 5.3 illustre un scénario de transmission optimiste pour la latence de transmission. Après
avoir transmis une trame de données, le capteur S1 continue à occuper le canal jusqu’à la fin de la
transmission de tous ces paquets pour un évènement. Nous voyons que les nœuds transmettent
toujours par blocs de 2 trames, ce qui est la taille équivalente d’un évènement. Comme dans ce cas,
chaque évènement se compose de deux trames, les nœuds transmettent deux trames avant de
commencer une nouvelle période d’accès au canal. Après avoir reçu les trames qui viennent d’un
capteur, un nœud routeur gagne le canal et fait suivre les paquets immédiatement. La Figure 5.3
illustre le cas où le capteur S1 gagne le canal pour transmettre un évènement au nœud routeur G1.
Ensuite, le nœud routeur G1 prend le canal immédiatement pour faire suivre cet évènement au
nœud routeur G2. A son tour, le nœud routeur G2 prend le canal immédiatement et fait suivre les
77
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
deux trames à la station de base. En appliquant ce scénario, la station de base reçoit le premier
évènement après 6*∆t temps. Ensuite, le capteur S2 commence à transmettre son évènement à la
station de base et cette dernière reçoit le deuxième évènement après 12*∆t temps.
Dans un réseau de capteurs orientés évènement, les capteurs peuvent détecter les données
similaires. Par exemple, deux capteurs d’image sont déployés dans une salle pour surveiller le
fonctionnement d’une machine. Des parties d’images de deux capteurs peuvent être identiques.
Pour certaines applications, nous n’avons pas besoin de recevoir tous les évènements envoyés par
tous les nœuds afin de savoir ce qui se passe sur la zone surveillée. Supposons que lorsqu’un
évènement se produit, N nœuds détectent cet évènement et veulent l’envoyer à la station de base.
La station de base a besoin de recevoir seulement R évènements (R<N) afin d’avoir une bonne
information sur l’évènement dans la zone surveillée. Donc, dans ce type de réseau de capteurs
orientés évènement, la latence de transmission des premiers R (R<N) évènements est le critère le
plus important.
Revenons aux schémas de transmission ci-dessus. Nous avons un réseau de capteurs avec deux
capteurs et deux nœuds routeur. Le nombre d’évènements auquel nous nous intéressons est R=1
(N=2) où chaque évènement se compose de 2 paquets. Dans le scénario optimiste, la station de
base reçoit le premier évènement après 6*∆t ; dans le scénario pessimiste, la station de base reçoit
le premier évènement après 11*∆t, ce qui est presque le double par rapport au scénario optimiste.
En général, la topologie d’un réseau est beaucoup plus large et cela implique des communications
multi-saut plus longues. Chaque évènement peut être composé de plusieurs paquets : une image
prise par les capteurs d’image ou du son enregistré par les capteurs sonores. Dans ces exemples, la
latence du scénario optimiste est beaucoup plus courte que celle du scénario pessimiste.
La cause principale d’une latence importante du scénario pessimiste est que les données sont
bloquées dans les nœuds routeurs et durant ce temps, la station de base n’a aucune information sur
l’évènement. La probabilité d’accès au canal des nœuds routeurs joue un rôle très important pour la
latence des transmissions. Dans les protocoles d’accès au canal par écoute de porteuse, les nœuds
accèdent au canal en contention et avec la même probabilité (pour garantir l’équité). Dans le
schéma de la Figure 5.1, si un des nœuds S1, S2 ou G1 gagne le canal, la station de base ne reçoit
aucune donnée. La probabilité que le nœud routeur G2 gagne le canal est plus basse que la
probabilité qu’un des trois nœuds S1, S2 et G1 gagne le canal (selon la théorie des probabilités).
Donc, la probabilité que les données soient bloquées dans les nœuds routeurs est élevée ce qui
implique une plus grande probabilité du scénario pessimiste par rapport au scénario optimiste.
Nous trouvons que l’équité n’optimise pas la latence de transmission, particulièrement dans les
réseaux de capteurs orientés évènement avec des communications multi-sauts. Afin de réduire la
latence de transmission, nous devons trouver une méthode pour que le scénario de transmission soit
toujours optimiste.
78
5.2 LLMAC : un protocole d’accès au médium à très faible latence
5.2
LLMAC : un protocole d’accès au médium à très
faible latence
Dans cette partie, nous allons présenter le fonctionnement du protocole LLMAC [93], un protocole
d’accès au canal garantissant une faible latence de transmission pour les réseaux de capteurs
orientés évènement. Nous commençons par une introduction du contexte des réseaux de capteurs et
prenons un réseau de capteurs avec les 5 hypothèses ci-dessous :
•
Nous traitons un réseau de capteurs orientés évènement où la latence de transmission est le
critère le plus important.
•
Chaque évènement se compose d’un nombre de paquets importants : une image, du son
etc.
•
Les réseaux sont organisés sous forme d’arbre en utilisant les techniques existantes
[50][84][85]. Lorsqu’un évènement se produit, les capteurs envoient les alertes à la station
de base via les nœuds routeurs.
•
Les capteurs sont dans la même zone et détectent les informations similaires. Lorsqu’un
évènement se produit et que N capteurs l’ont détecté, la station de base a besoin de recevoir
l’information de seulement R capteurs (R<N) afin de savoir ce qui se passe sur la zone
surveillée et d’avoir des réactions appropriées. L’objectif de ce type de réseau est de
recevoir l’information de R nœuds dans le plus bref délai.
•
Les capteurs sont alimentés par des piles et sont sensibles à la consommation d’énergie. La
proposition doit prendre en compte la consommation d’énergie afin d’optimiser la durée de
vie de réseau.
En nous basant sur ces hypothèses, nous proposons LLMAC, un protocole d’accès au médium qui
garantit une faible latence de transmission et une faible consommation d’énergie pour les réseaux
de capteurs orientés évènement. Avec LLMAC, nous garantissons que le scénario optimiste vu
dans la partie précédente est toujours réalisé et de ce fait nous obtenons une latence de transmission
de R évènements dans un délai très bref (sur N évènements détectés). LLMAC fait partie de la
famille des protocoles d’accès au canal basés sur la contention. Les nœuds utilisent la méthode
d’écoute de porteuse pour accéder au canal en évitant les collisions. Dans LLMAC, nous utilisons
également les paquets de contrôle et les intervalles inter-trame afin de différencier la priorité entre
les paquets de contrôle et les paquets de données. En effet, nous améliorons le protocole existant
802.11 afin de mieux l’appliquer aux réseaux de capteurs orientés évènement. La Figure 5.4 illustre
79
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
le fonctionnement du protocole LLMAC. Nous allons détailler LLMAC dans les parties qui
suivent.
Rafale des trames pour un évènement
DIFS
occupé
FIFS
PIFS
SIF
BO
RTS CTS Trame1
ACK
Trame2
ACK
…
TrameN
ACK
SIFS: Short Interframe Spacing
FIFS: Forward Interframe Spacing
PIFS: PCF Interframe Spacing
DIFS: Distributed Interframe Spacing
Figure 5.4 - Fonctionnement de LLMAC
5.2.1 Transmission niveau évènement
Dans un protocole d’accès au canal par écoute de porteuse, les nœuds écoutent le canal avant d’y
accéder. Si un nœud perd le canal, il doit attendre jusqu’à la fin de la transmission du nœud
gagnant. En effet, le nœud gagnant doit lâcher le canal et retenter d’accéder au canal après chaque
transmission d’une trame de données. Cela évite l’occupation du canal indéfiniment. En plus, il
permet aux autres nœuds d’accéder au canal et de garantir l’équité entre les nœuds. Comme le
médium de transmission est un dispositif commun, l’équité donne la même probabilité d’accès au
canal à tous les nœuds. Le critère de l’équité répond au besoin de partage de médium des réseaux
sans fil traditionnel où les nœuds ont des scénarios de transmission différents. Dans un réseau de
capteurs, tous les nœuds coopèrent pour faire un seul scénario de transmission : router des
messages de capteurs vers la station de base. Donc, le critère d’équité ne s’adapte pas aux réseaux
de capteurs orientés évènement car nous nous sommes intéressés par la latence de transmission
d’un évènement mais pas une trame de donnée.
La latence de transmission pour un évènement est l’intervalle de temps entre le moment où
l’évènement se produit et le moment où la station de base reçoit l’information de cet évènement. Si
un évènement se compose de P trames de données, la station de base n’a aucune information si elle
ne reçoit pas les P trames. Supposons qu’un capteur d’image envoie une photo de taille 1Moctets
de type jpeg à la station de base, si la station de base reçoit 0.9Moctets, elle ne peut pas visualiser
l’image pour comprendre ce qui se passe sur la zone de surveillance. Donc, le critère le plus
important dans ce genre d’application est la transmission de P trames d’un évènement pour un
nœud quelconque avec la latence la plus courte. Nous proposons une règle de transmission de
LLMAC du niveau évènement.
Règle 5.1 : Après avoir gagné le canal, un nœud continue à transmettre ses trames de données
jusqu’à ce que toutes les trames concernant un évènement soient transmises.
80
5.2 LLMAC : un protocole d’accès au médium à très faible latence
Dans LLMAC, nous voulons qu’un nœud puisse terminer sa transmission concernant un évènement
avant de relâcher le canal. La Figure 5.4 illustre ce niveau de transmission. Après avoir reçu un
évènement sur l’information ambiante, un capteur veut transmettre cet évènement à la station de
base. Il commence par tenter d’accéder au canal. S’il gagne le canal, il échange tout d’abord les
paquets RTS/CTS avec le nœud récepteur (la station de base dans le cas d’une transmission un-saut
et un nœud routeur dans le cas d’une transmission multi-saut). Lorsqu’il reçoit la permission du
nœud récepteur, il commence à transmettre sa première trame de données sur l’évènement. Cette
trame de données se termine par un accusé de réception du nœud récepteur. Dans LLMAC, au lieu
de relâcher le canal après la transmission de cette trame de données, ce nœud continue à
transmettre une rafale de trames de données. Les autres nœuds ne peuvent pas interrompre cette
transmission car ce nœud continue de transmettre avant l’expiration de l’intervalle DIFS. Cette
rafale de trames peut se composer de plusieurs informations ambiantes : température, vibration,
image, sons, etc. La longueur de cette rafale de trame est équivalente à la longueur d’un évènement.
La transmission de ce nœud se termine lorsqu’il termine la dernière trame de son évènement. En
appliquant LLMAC, lorsqu’un nœud gagne le canal, nous pouvons assurer qu’il peut envoyer son
évènement dans le délai le plus court. Selon chaque type d’application, le nombre de trames par
évènement est différent et c’est un paramètre du protocole d’accès au médium.
En effet, en utilisant une rafale de transmissions pour un nœud, les autres nœuds perdent le droit
d’accès au canal pendant la transmission de cette rafale de données. Nous ne pouvons pas garantir
l’équité entre les nœuds. Cependant, nous constatons que dans les réseaux de capteurs, les nœuds
coopèrent pour atteindre un seul objectif qui est de router les messages à la station de base. Ils ne
fonctionnent pas d’une manière indépendante comme le cas d’un réseau sans fil traditionnel et
l’équité est peu importante. Dans LLMAC, en changeant la transmission du niveau trame de
données au niveau évènement, nous avons fait un compromis entre l’équité et la latence des
évènements. Comme la latence est le critère le plus important dans ce type de réseau, il est
préférable de pénaliser l’équité pour obtenir une latence plus faible pour chaque évènement. La
solution de LLMAC est bien adaptée pour les réseaux de capteurs orientés évènement.
5.2.2 Intervalle Inter-trame de Continuité (Forward Inter-frame
Spacing)
En utilisant la règle 5.1 pour transmettre une rafale de trames de données, nous pouvons garantir
une faible latence de transmission pour un évènement dans la configuration un-saut (transmission
directe à la station de base). Cependant, un réseau de capteurs orientés évènement aura des
transmissions multi-saut. Après chaque transmission de niveau évènement, un nœud réussit à
transmettre cet évènement au nœud routeur. A la fin de la transmission, tous les nœuds dans leur
portée radio tentent d’accéder au canal. Si un autre capteur gagne le canal et fait suivre un autre
évènement dans le nœud routeur, ces évènements sont tous bloqués au nœud routeur. La règle 5 .1
n’améliore pas la latence de transmission dans cette situation car durant le temps où les évènements
81
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
sont bloqués dans les nœuds routeur, la station de base n’a aucune information sur l’évènement
dans la zone surveillée.
Dans le fonctionnement de 802.11, tous les nœuds utilisent le même intervalle DIFS et la même
valeur de fenêtre de contention afin de garantir l’équité. Cette équité augmente la probabilité que
les capteurs gagnent le canal et les évènements sont bloqués au nœud routeur car le nombre de
nœuds capteurs qui veulent transmettre est plus nombreux que le nombre de nœuds routeurs.
Afin de résoudre ce problème, nous devons nous assurer que le nœud routeur peut gagner le canal
immédiatement après avoir reçu un évènement. Dans ce cas, les évènements sont envoyés en multisaut et ne sont pas bloqués aux nœuds routeurs. Dans LLMAC, nous définissons un nouvel
intervalle inter-trame que nous l’appelons FIFS (Forward Inter-frame Spacing). Cet intervalle est
illustré dans la Figure 5.4, il est plus court que DIFS et plus long que SIFS et PIFS.
Règle 5.2 : Après avoir reçu un évènement, le nœud routeur accède au canal après l’expiration de
l’intervalle inter-trame de continuité (FIFS).
Selon le fonctionnement de 802.11, nous savons que les intervalles inter-trame servent à distinguer
les niveaux de priorités pour accéder au canal. Le SIFS est utilisé pour les paquets de contrôle car
ces derniers ont la priorité la plus élevée. Lorsque deux nœuds échangent les paquets de contrôle,
aucun nœud ne peut intercepter cette transmission car ces deux nœuds utilisent l’intervalle intertrame le plus court. Les autres nœuds commencent la période de contention après DIFS. Dans le
cas normal de 802.11, à la fin de chaque transmission d’une trame de données, tous les nœuds
attendent la fin de DIFS et commencent la période de contention. Chaque nœud choisit une valeur
aléatoire dans la fenêtre de contention. Donc, ils ont la même probabilité pour accéder au canal. Si
le nœud routeur perd le canal, il sera toujours le récepteur et recevra encore un autre évènement.
En utilisant la règle 5.2, le nœud routeur peut accéder au canal après l’expiration de FIFS. En fixant
la valeur de FIFS plus courte que DIFS, nous donnons la priorité d’accès au canal pour le nœud
routeur. Comme tous les nœuds accèdent au canal après DIFS, le nœud routeur peut accéder au
canal avant tous les autres. Lorsqu’un nœud reçoit une trame de données pour un évènement, il
vérifie s’il doit faire suivre cette trame de données à la station de base (un scénario typique d’un
réseau de capteurs). Si c’est le cas, il va mettre son intervalle intertrame à FIFS à la fin de la
réception de l’évènement. Ceci donne la priorité au nœud routeur pour accéder au canal après avoir
reçu toutes les trames de données pour un évènement. Lorsque le transmetteur termine sa
transmission d’un évènement, tous les nœuds tentent d’accéder au canal après DIFS sauf le nœud
routeur qui possède le FIFS. Quand FIFS expire, le nœud routeur peut faire suivre l’évènement
immédiatement. Il peut transmettre sans collision avec les autres nœuds car il occupe le canal avant
que les autres commencent la période de contention. Lorsque ce nœud routeur termine sa
transmission, il remet son intervalle inter-trame à DIFS comme tous les nœuds normaux. Le nœud
82
5.2 LLMAC : un protocole d’accès au médium à très faible latence
suivant devient le nœud routeur pour l’évènement et il va mettre son intervalle inter-trame à FIFS
pour avoir une priorité supérieure que les autres nœuds. Cette méthode garantit qu’il n’y a qu’un
seul nœud dans la zone influencée par le problème de la station cachée possédant la priorité de
FIFS. Ce processus est répété jusqu’à ce que l’évènement arrive à la station de base. Il réalise un
effet de vague où la priorité circule au cours de la transmission des nœuds capteurs jusqu’à la
station de base. La règle 5.2 garantit qu’un évènement n’est jamais bloqué au nœud routeur et peut
être envoyé en multi-saut avec une latence plus faible.
5.2.3 Economie d’énergie
Dans les deux parties précédentes, nous avons décrit le fonctionnement de LLMAC en prenant en
compte la latence de transmission pour les évènements dans les réseaux de capteurs orientés
évènement. Nous avons également mentionné que les méthodes d’accès au canal en mettant les
nœuds dans l’état actif et endormi périodiquement, ne sont pas adaptables pour les réseaux de
capteurs orientés évènement car cela augmente la latence de transmission. C’est pour cette raison
que nous avons proposé que les transceiveurs des nœuds soient toujours dans l’état actif pour que
les nœuds soient toujours prêts à transmettre. Cependant, cette méthode gaspille beaucoup énergie
car la plupart du temps, les nœuds sont dans l’état écoute non-active pour attendre une éventuelle
transmission [33][34]. Comme un réseau de capteurs se compose de plusieurs nœuds avec une
capacité d’énergie limitée, nous avons besoin d’une méthode afin de garantir toujours une faible
latence et une consommation d’énergie faible afin de prolonger la durée de vie. Dans cette section,
nous allons discuter le problème de la consommation d’énergie et nous allons décrire une méthode
efficace pour économiser l’énergie dans LLMAC.
Afin de mieux faire comprendre notre proposition, nous analysons le scénario de transmission avec
la topologie illustrée dans la Figure 5.1. En utilisant les deux règles 5.1 et 5.2, nous assurons que
lorsqu’un évènement se produit, la station de base reçoit les premiers évènements avec la latence la
plus faible. Donc, nous sommes sûrs que le scénario de transmission suit toujours le scénario
optimiste de la Figure 5.3. Observons cette figure, nous constatons que le capteur S2 ne peut pas
accéder au canal pendant le temps où le nœud S1 transmet son évènement au nœud routeur G1 et le
temps où les nœuds routeurs G1 et G2 font suivre l’évènement à la station de base. La règle 5.1
donne au capteur S1 le droit d’occuper le canal pendant le temps de la transmission de son
évènement. La règle 5.2 donne aux deux nœuds routeurs G1 et G2 la priorité pour gagner le canal
juste après la transmission de S1. Le capteur S2 ne peut pas accéder au canal car il utilise un
intervalle intertrame plus long que le nœud routeur. Le capteur S2 se trouve dans la portée de
transmission de S1 et G1, il ne peut pas transmettre durant la transmission du capteur S1 et du
routeur G1. Même lorsque le routeur G2 transmet, le capteur S2 ne peut pas transmettre car le
routeur G1 est dans la portée radio du routeur G2. Cela à cause du problème de la station cachée
[25] que nous avons mentionné dans les parties précédentes. Pour la même raison, le capteur S1 ne
peut pas accéder au canal durant le temps où les routeurs G1 et G2 font suivre son évènement à la
83
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
station de base même s’il a encore d’autres évènements à envoyer. Pour les capteurs S1 et S2,
quand ils ne peuvent pas accéder au canal, il serait préférable de mettre leur transceiveur dans l’état
endormi pour économiser l’énergie. Partant de cette observation, nous proposons les règles 5.3 et
5.4 pour le protocole LLMAC afin d’économiser l’énergie.
Règle 5.3 : Les capteurs se réveillent si et seulement si, ils détectent un évènement.
Règle 5.4 : Après avoir perdu ou relâché le canal, un capteur dort durant le temps où l’évènement
est transmis dans les deux sauts suivants.
Dans un réseau de capteurs orientés évènement, il y a souvent deux types de nœuds : les capteurs et
les routeurs. Les capteurs mesurent des informations ambiantes et envoient leur mesure à la station
de base via des nœuds routeurs. Ils ne doivent pas router les données pour les autres nœuds. Les
nœuds routeurs peuvent mesurer des informations ambiantes et router les données pour les autres
nœuds. Dans le scénario de transmission de la Figure 5.1, les capteurs S1 et S2 sont toujours dans
l’état actif même s’ils n’ont pas d’évènement à envoyer. En plus, durant le temps où les routeurs
G1 et G2 font suivre un évènement, les capteurs S1 et S2 ne peuvent pas accéder au canal.
Comme l’opération de transceiveur est une activité qui est plus coûteuse en terme de
consommation d’énergie, la règle 5.3 aide les nœuds capteurs à économiser l’énergie car les
capteurs se réveillent si et seulement si, ils détectent un évènement. En effet, les nœuds capteurs
peuvent s’endormir pendant tout le temps car ils ne doivent pas router les données pour les autres.
Ils activent seulement la carte “senseur” pour capter des informations ambiantes. Ces mesures sont
comparées avec un seuil afin de savoir s’il y a un évènement. Un évènement peut être : la
température qui dépasse une certaine valeur ; la lumière qui n’est pas suffisamment intense, le
niveau de vibration qui est trop élevé, etc. Selon le type d’application, ces informations sont
stockées dans la mémoire locale ou effacées pour libérer la mémoire. Nous constatons que les
nœuds capteurs ne consomment pas beaucoup l’énergie car l’opération de mesure de la carte
senseur n’est pas coûteuse en terme de consommation d’énergie. Les capteurs consomment
l’énergie seulement lorsqu’ils détectent un évènement et activent leur transceiveur. Ils se mettent
dans l’état endormi lorsqu’ils ont transmis leur évènement à la station de base.
Lorsqu’un nœud capteur veut accéder au canal en contention, il n’est pas sûr de pouvoir accéder au
canal immédiatement car il se peut qu’un autre nœud occupe déjà le canal. Normalement, quand les
capteurs n’arrivent pas encore à transmettre leur évènement, ils restent toujours dans l’état actif.
Cependant, nous avons vu que durant le temps où l’évènement est transmis par les nœuds routeurs,
les capteurs ne peuvent pas accéder au canal. La règle 5.4 permet aux nœuds capteurs d’économiser
l’énergie dans ce cas en mettant leur transceiveur dans l’état endormi durant le temps où
l’évènement est transmis dans les deux nœuds routeurs suivants.
84
5.2 LLMAC : un protocole d’accès au médium à très faible latence
La Figure 5.5 illustre comment les capteurs peuvent économiser l’énergie en utilisant les règles 5.3
et 5.4. Avant qu’un évènement se produit, tous les capteurs S1 et S2 sont dans l’état endormi (règle
5.3). Ils font des mesures pour détecter un évènement. Ils se réveillent lorsqu’ils trouvent un
évènement. Dans ce cas, les deux nœuds S1 et S2 sont en contention pour accéder au canal.
Supposons que le capteur S1 gagne le canal et fasse suivre l’évènement au nœud routeur G1. Cet
évènement est transmis comme le suivant : S1 → G1 → G2 → SdB. Supposons que ∆T soit le
temps de transmission pour un évènement. En appliquant la règle 5.4, le capteur S2 sait qu’il ne
peut pas accéder au canal pendant 3∆T : la transmission du nœud capteur S1 et des deux routeurs.
Donc, il se met en veille pendant 3∆T pour économiser l’énergie. Il se réveille après cette période
afin de retenter d’accéder au canal. Pour le nœud S1, après avoir transmis son évènement, il doit
attendre que son évènement soit transmis dans les deux sauts suivants. Il ne peut pas accéder au
canal pendant 2∆T. Alors, il se met en veille pendant 2∆T pour économiser l’énergie s’il a encore
d’autre évènement à envoyer. Sinon, il reste dans l’état endormi en utilisant la règle 5.3. Une fois
que l’évènement est transmis, tous les capteurs reviennent à l’état endormi pour économiser
l’énergie en utilisant la règle 5.3.
Un évènement se produit
S1
S2
endormi = 2∆T
endormi
période de
contention
endormi
Se reveille s’il a encore
des évènements
endormi = 3∆T
endormi
endormi
G1
G2
Sink
temps
transmission
réception
Figure 5.5 - Economiser l’énergie dans LLMAC
Les deux règles 5.3 et 5.4 permettent aux nœuds capteurs d’économiser l’énergie mais pas aux
nœuds routeurs. Nous ne pouvons pas mettre les nœuds routeurs dans l’état endormi car ils ne
savent pas quand ils vont recevoir un éventuel évènement envoyé par les capteurs. Nous avons
plusieurs scénarios pour fournir l’énergie aux nœuds routeurs d’une manière efficace. Prenons
l’exemple du train TGV où nous voulons déployer des capteurs pour mesurer le fonctionnement
des moteurs. Les capteurs sont obligés d’être petits et consommer peu d’énergie car ils sont
85
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
déployés sur le moteur où nous ne pouvons pas faire des interventions souvent. Les nœuds routeurs
servent juste à router les évènements, ils peuvent être branchés sur une prise électrique quelconque
dans une voiture pour avoir de l’énergie. Il faut seulement économiser l’énergie pour les nœuds
capteurs, et ce problème est résolu par les règles 5.3 et 5.4.
En appliquant ces deux règles avec LLMAC, nous pouvons économiser l’énergie pour les nœuds
capteurs et prolonger leur durée de vie. En plus, nous constatons que la latence des transmissions
est toujours optimale car nous mettons les capteurs dans l’état endormi seulement quand ils n’ont
pas d’évènement à envoyer ou qu’ils ne peuvent pas accéder au canal. LLMAC est un bon candidat
pour les protocoles d’accès au médium dans le cas de réseaux de capteurs orientés évènement où il
y a des communications multi-saut. La station de base reçoit toujours les premiers évènements de
la zone surveillée avec la plus faible latence. De plus, LLMAC est efficace en terme de
consommation d’énergie.
5.3
Evaluation de performance
…
N capteurs
H sauts
Station de base
Routeur
Capteur
Figure 5.6 - Topologie de simulation
Dans cette partie, nous allons prouver l’efficacité de notre proposition LLMAC par rapport à IEEE
802.11. Comme LLMAC est développé pour les réseaux de capteurs orientés évènement, le critère
le plus important à prendre en compte est la latence de transmission de R premiers évènements (sur
N évènements détectés). La consommation d’énergie est également prise en compte mais en critère
86
5.3 Evaluation de performance
secondaire. Comme le protocole OBMAC présenté dans la partie précédente, nous utilisons
OMNet++ [86] et les modules complémentaires [89][90] pour valider notre proposition LLMAC.
5.3.1 Scénario de simulation
Nous simulons un réseau de capteurs multi-saut orientés évènement avec la topologie illustrée dans
la Figure 5.6. Lorsque les capteurs détectent la présence d’un évènement, N capteurs envoient leur
mesure à la station de base via H sauts. Chaque mesure pour un évènement se compose de P trames
de données. La taille de chaque trame de données correspond à la taille maximale d’une trame de
donnée de 802.11. Tous les autres paramètres sont identiques à la norme 802.11. La valeur de
l’intervalle intertrame FIFS est la valeur moyenne entre SIFS et DIFS. Une liste des paramètres
importants de simulation est illustrée dans le Tableau 5.1.
Zone de déploiement
500 x 500
Nombre de nœuds
1-32
Nombre de sauts
1-5
Nombre de trames par évènement
1-24
SIFS
10E-6 s
FIFS
30E-6 s
DIFS
50E-6 s
Energie un pile AA
2900 mAh
Processeur (Actif/Endormi)
8mA / 15µA
RF transceiveur (Tx/ Rx/ Endormi)
27mA/ 10mA/ 1µA
Temps de simulation
10s
Tableau 5.1 - Paramètre de simulation
Le réseau est déployé aléatoirement dans un rectangle de taille 500x500. Chaque capteur utilise les
caractéristiques d’un capteur Mica2 [10]. Pour illustrer, nous simulons un évènement composé
d’une image envoyée par un capteur d’image Cyclops [95]. Un capteur d’image Cyclops est une
caméra spéciale qui fonctionne en faible consommation d’énergie. Pour la transmission sans fils, ce
type de capteurs fournit une interface qui permet d’utiliser le transceiveur des capteurs Mica2. La
Figure 5.7 montre une caméra Cyclops branchée sur un capteur Mica2.
Les photos prises par la caméra Cyclops sont transmises via un connecteur à la mémoire du capteur
Mica2. Ensuite, le capteur Mica2 utilise son transceiveur pour faire suivre les photos à la station de
base ou à un nœud routeur quelconque. Une caméra Cyclops peut donner plusieurs résolutions
87
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
différentes : 32x32, 64x64 et 128x128 pixels. La Figure 5.8 illustre des images prises par le capteur
Cyclops sur une chaine de transfert au sein du laboratoire Automatique et Système MicroMécatronique (AS2M). Pour chaque résolution, nous pouvons obtenir une image en monochrome
ou en couleur. Comme chaque image est de type bitmap, la taille d’une image de qualité maximum
est 128*128*3 = 48Koctets (un pixel en couleur est représenté par trois octets correspondants à
trois couleurs : rouge, vert, bleu). Comme la taille maximale d’une trame de données de 802.11 est
2KOctets, le nombre de trames pour l’évènement est 48/2 = 24 trames.
Figure 5.7 - Caméra Cyclops branchée sur Mica2
64x64
128x128
32x32
Figure 5.8 - Exemples des images prises par le capteur Cyclops
En utilisant le scénario de simulation ci-dessus, nous allons faire varier les paramètres afin de voir
la performance de LLMAC dans des conditions différentes. Comme LLMAC est une extension de
88
5.3 Evaluation de performance
802.11, nous comparons la performance de 802.11 et LLMAC afin de bien montrer l’efficacité de
notre proposition.
5.3.2 Variation du nombre R d’évènements
Dans le premier résultat de simulation, nous nous intéressons à la latence de la transmission des R
premiers évènements. Comme nous l’avons constaté dans les parties précédentes, dans un réseau de
capteurs orientés évènement, nous nous intéressons seulement aux R premiers évènements transmis
à la station de base mais pas à tous les évènements détectés par les N capteurs.
Figure 5.9 - Latence en faisant varier la valeur R
La Figure 5.9 illustre la latence de transmission depuis le moment où l’évènement se produit
jusqu’au moment où la station de base reçoit R évènements. Pour cette simulation, nous fixons le
nombre de sauts H=3 ce qui correspond à la limite du problème de la station cachée. Lorsqu’un
évènement se produit, 12 capteurs prennent une image de taille maximum (128x128 pixels ~
48KOctets) et l’envoient à la station de base. Observons les deux courbes de latence de
transmission entre LLMAC et 802.11. Nous voyons que LLMAC garantit toujours une faible
latence par rapport à 802.11 dans tous les cas. LLMAC est plus avantageux lorsque la valeur R est
petite. Lorsqu’il y a plusieurs nœuds dont certains sont routeurs, LLMAC donne la priorité aux
nœuds routeurs qui font router un évènement en direction de la station de base. Par contre dans
802.11, tous les nœuds sont en contention pour chaque trame de données. Lorsqu’on augmente la
valeur de R, le résultat de LLMAC se rapproche de ceux de 802.11. Cependant, même dans le cas
d’une transmission complète où tous les évènements sont envoyés à la station de base (R=N),
LLMAC donne toujours un meilleur résultat par rapport à 802.11. Cela est expliqué par le fait que
LLMAC utilise seulement un échange de paquet RTS/CTS pour la transmission d’un évènement
tandis que 802.11 utilise un échange de paquet RTS/CTS pour la transmission de chaque trame de
89
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
données. De ce fait, nous réduisons le surcoût des paquets de contrôle dans LLMAC et la latence
de transmission de LLMAC est toujours améliorée. Cependant, n’oublions pas que nous sommes
dans un réseau de capteurs orientés évènement, et que nous nous sommes intéressés seulement à
une petite valeur de R. Dans ce cas, nous voyons que LLMAC est très avantageux par rapport à
802.11.
5.3.3 Variation du nombre d’évènements détectés
Dans le modèle de simulation utilisé de la Figure 5.6, il y a N capteurs qui détectent chacun un
évènement. Donc, le nombre d’évènements détectés est identique au nombre de capteurs. En
faisant varier le nombre de capteurs du réseau, nous obtenons des résultats de performance
différents. Dans cette simulation, nous allons voir l’influence de ce paramètre (nombre de nœuds)
en faisant varier de 1 à 32 capteurs. Nous nous intéressons à la latence de transmission du premier
évènement (R=1).
Figure 5.10 - Latence en faisant varier le nombre de nœuds capteurs
Observons la figure ci-dessus, nous voyons que la latence de transmission pour le premier
évènement de LLMAC reste presqu’une valeur constante. Cependant, lorsqu’on augmente le
nombre de capteurs dans le réseau, la latence de transmission de 802.11 augmente rapidement. En
effet, quand il y a seulement un capteur dans le réseau, lorsqu’il détecte un évènement, il envoie cet
évènement à la station de base via des nœuds routeurs sans contention (il y a seulement un nœud
qui veut transmettre). Donc, LLMAC et 802.11 donnent le même résultat de latence de
transmission. Lorsqu’on augmente le nombre de capteurs, le nombre de nœuds qui veulent
transmettre augmente et le niveau de congestion est plus élevé. Dans 802.11, les trames de données
ont tendance à être bloquées aux nœuds routeurs avant d’être transmises à la station de base. Dans
LLMAC, les nœuds travaillent d’une manière coopérative, si un nœud ne gagne pas le canal, il
90
5.3 Evaluation de performance
laisse le canal de transmission pour les nœuds voisins et les nœuds routeurs pour transmettre un
évènement. Nous garantissons toujours une faible latence de transmission jusqu’à la station de base
pour les premiers évènements. Au contraire de LLMAC, dans 802.11, lorsqu’on augmente le
nombre de nœuds dans le réseau, le nombre de nœuds qui veulent transmettre augmente, le niveau
de congestion est plus élevé. Alors, les nœuds rentrent en contention pour accéder au canal et
transmettre les données. Il faut plus de temps pour que la station de base reçoive le premier
évènement.
5.3.4 Variation du nombre de sauts vers la station de base
Comme nous l’avons précisé dans les parties précédentes, LLMAC est conçu principalement pour
un réseau de capteurs multi-saut. Il diffère des solutions existantes [53][54] où les auteurs se sont
intéressés à la latence de transmission de chaque trame pour un saut. Pour le problème de la station
cachée, les nœuds situés à deux sauts ne peuvent pas transmettre en même temps. Pour mieux
illustrer l’avantage de LLMAC par rapport à 802.11, nous simulons un scénario de transmission
multi-saut en faisant varier le nombre de sauts de 1 à 5 sauts.
Figure 5.11 - Latence en faisant varier le nombre de sauts à la station de base
La Figure 5.11 présente ce résultat d’évaluation en prenant en compte la latence de transmission
pour le premier évènement. Dans cette figure, nous voyons que LLMAC offre toujours un meilleur
résultat par rapport à 802.11 en terme de latence de transmission. Même dans le cas d’un scénario
de transmission un-saut où chaque nœud a une transmission directe à la station de base, la latence
de transmission de LLMAC est 4 fois moins que celle de 802.11. Cela est évident car dans 802.11,
tous les nœuds sont en contention pour accéder au canal après chaque transmission d’une trame de
données. Dans LLMAC, le canal est pris par un nœud durant le temps de transmission de toutes les
trames pour un évènement. Nous obtenons donc une plus faible latence de transmission pour le
premier évènement.
91
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
Lorsqu’on augmente le nombre de sauts vers la station de base, la contention est augmentée car il y
a également les nœuds routeurs qui veulent accéder au canal. Comme les nœuds routeurs sont
moins nombreux, la probabilité que les trames de données soient bloquées aux nœuds routeurs est
plus importante dans 802.11. Dans LLMAC, nous donnons la priorité de transmission aux nœuds
routeurs, et de ce fait nous éliminons le cas où l’évènement est bloqué sur les nœuds routeurs.
Donc, lorsqu’on augmente le nombre de sauts, LLMAC donne toujours la meilleure latence de
transmission pour le premier évènement.
5.3.5 Variation du nombre de trames par évènement
Dans un réseau de capteurs orientés évènement, un évènement peut se composer d’une image, du
son etc. Comme nous voulons simuler un évènement par un capteur d’image Cyclops, nous faisons
varier la taille d’une image avec différentes résolutions (32x32 pixels à 128x128 pixels) où chaque
image peut être en monochrome ou en couleur. Ce paramètre est configurable au niveau du
protocole d’accès au médium
Figure 5.12 - Latence en faisant varier le nombre de trames par évènement
La Figure 5.12 illustre la latence de transmission en faisant varier le nombre de trames par
évènement correspondant à différents résolutions de capteurs d’image Cyclops. Lorsque l’image
est petite (il s’agit d’une trame de donnée par évènement), nous ne voyons pas nettement la
différence de latence de transmission entre les deux protocoles d’accès au médium. Lorsqu’on
augmente la résolution et la qualité d’image, le nombre de trame de données par évènement
augmente. Nous voyons que la latence de transmission augmente dans les deux protocoles. C’est
un comportement normal car il faut plus de temps pour transmettre un volume de données plus
important. Cependant, la latence de transmission pour le premier évènement de 802.11 augmente
beaucoup plus vite que LLMAC. En effet, dans 802.11, plus on augmente le nombre de trames par
évènement, plus les trames sont bloquées sur les nœuds routeurs avant d’arriver à la station de
92
5.3 Evaluation de performance
base. Dans LLMAC, même si on augmente le nombre de trames par évènement, il n’y a pas de
trames de données bloquées sur les nœuds routeurs. Toutes les trames de données pour un
évènement sont transmises en multi-saut à la station de base avec la plus faible latence. Pour une
image 128x128 pixels en couleur (24 trames), LLMAC donne une latence 7 fois plus faible que
802.11 pour le premier évènement. Plus on augmente le nombre de trames de données par
évènement, plus LLMAC est avantageux.
5.3.6 Fiabilité
Lorsqu’un évènement se produit, plusieurs nœuds sont en contention pour accéder au canal
simultanément. Cela augmente le niveau de congestion dans le réseau. Si un nœud ne gagne pas le
canal après un certain nombre d’essais pour accéder au canal, il va abandonner sa transmission et la
station de base ne reçoit jamais cette trame de données. Dans la simulation de la Figure 5.13, nous
allons analyser cet aspect en montrant le pourcentage d’évènements reçus à la station de base. Un
évènement est arrivé à la station de base quand cette dernière reçoit toutes les trames de données
concernant cet évènement.
Figure 5.13 - Pourcentage d’évènement reçu
Dans cette figure, l’axe horizontal illustre le nombre d’évènements détectés. Rappelons que c’est
également le nombre de nœuds capteurs dans le réseau car nous simulons le fait que chaque capteur
détecte un évènement et veut l’envoyer à la station de base en multi-saut. L’axe vertical illustre le
pourcentage d’évènement que la station de base reçoit. Lorsque le nombre de nœuds capteurs dans
le réseau est faible, il n’y a pas beaucoup de congestion et tous les évènements sont transmis à la
station de base sans perte de données avec 802.11 et LLMAC. Quand le nombre de nœuds qui
veulent transmettre un évènement augmente jusqu’à 4, il y a des pertes de données. Dans ce cas, le
protocole 802.11 garantit seulement la moitié du nombre d’évènements qui arrivent à la station de
base, tandis que LLMAC garantit 100% d’évènements qui arrivent. Lorsqu’on augmente le nombre
93
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
de nœuds capteurs, la congestion est plus élevée et nous ne pouvons pas assurer que tous les
évènements soient transmis à la station de base. En faisant varier le nombre d’évènements détectés
de 8 à 32, le pourcentage d’évènement reçu par la station de base diminue car la congestion est plus
élevée et il y a plus de transmissions qui terminent en collision. En plus, après un certain nombre
d’essais pour accéder au canal, si un nœud ne peut pas gagner le canal, il va abandonner la
transmission pour cette trame, et la station de base ne reçoit jamais cet évènement. Nous avons vu
que dans LLMAC, nous donnons la priorité de transmission aux évènements et réduisons la
congestion du réseau. Ainsi, LLMAC génère moins de collisions dans le réseau et permet d’obtenir
de meilleures performances (en pourcentage de réception) par rapport à 802.11.
5.3.7 Consommation d’énergie
Dans les résultats de simulation précédents, nous avons montré que LLMAC donnait une latence de
transmission plus faible que le protocole 802.11 dans presque tous les cas. Comme nous avons
aussi donné une méthode pour améliorer la consommation d’énergie, nous allons montrer son
efficacité dans la suite. Nous allons mesurer la consommation d’énergie de chaque nœud capteur
individuel et donner la somme totale de l’énergie consommée de tous les capteurs.
La Figure 5.14 illustre la consommation d’énergie pour 16 nœuds capteurs. Nous voyons les
différents niveaux de consommation d’énergie pour chaque nœud car il y a des nœuds qui doivent
essayer de transmettre plusieurs fois, tandis qu’il y a des autres qui peuvent gagner le canal
rapidement. Observons la figure, les nœuds qui utilisent LLMAC consomment toujours moins
d’énergie que 802.11. Dans LLMAC, les nœuds se mettent dans l’état endormi après la
transmission d’un évènement (nous simulons que chaque nœud veut transmettre un évènement).
Lorsqu’un nœud perd le canal, il se met en veille pendant 3 fois plus de temps qu’il faut pour
transmettre un évènement. C’est le temps de transmission d’un évènement par un capteur et son
routage dans deux nœuds suivants. Comme 802.11 ne propose pas des méthodes pour économiser
l’énergie dans le mode DCF (technique pour les réseaux ad-hoc), nous pouvons facilement montrer
que la consommation d’énergie de 802.11 est plus élevée que LLMAC dans chaque nœud. Mais,
nous ne voyons pas une grande différence car nous mesurons la consommation d’énergie seulement
durant la transmission d’un évènement. Si nous simulons la consommation d’énergie pendant une
longue période, alors nous allons voir une différence très importante car les capteurs en utilisant
LLMAC s’endorment tout le temps tandis que les capteurs en utilisant 802.11 ne s’endorment
jamais. Ainsi, ils consomment beaucoup d’énergie en mode d’écoute non-active.
Ce résultat d’évaluation a été réalisé avec 16 capteurs composant le réseau. Comme le nombre de
capteurs joue un rôle important pour le fonctionnement du réseau, nous allons comparer la
consommation d’énergie globale de LLMAC et 802.11. Nous prouvons que dans différents
scénarios, en faisant varier le nombre de capteurs, nous garantissons toujours un niveau de
consommation d’énergie plus faible dans LLMAC par rapport à 802.11.
94
5.3 Evaluation de performance
Figure 5.14 - Consommation d’énergie de chaque nœud avec N = 16
Figure 5.15 - Consommation d’énergie totale en faisant varier N
La Figure 5.15 illustre ce résultat d’évaluation. L’axe horizontal donne le nombre de nœuds
capteurs. L’axe vertical montre la consommation d’énergie totale de tous les nœuds dans le réseau.
Lorsqu’on augmente le nombre de nœuds capteurs dans le réseau, il y a plus de nœuds qui
transmettent et la consommation d’énergie totale augmente. Cependant, comme LLMAC donne
aux nœuds l’occasion de s’endormir pendant la transmission d’un évènement, plusieurs nœuds
peuvent économiser l’énergie durant cette période. La consommation d’énergie de LLMAC est
évidemment toujours inférieure à celle de 802.11 car ce dernier ne possède pas de méthodes pour
économiser l’énergie. Plus on augmente le nombre de nœuds dans le réseau, plus le protocole
LLMAC est avantageux.
95
5.2 LLMAC : un protocole d’accès au médium à très faible latence
5.4
Résultats d’expérimentation
Dans la partie précédente, nous avons analysé les performances de LLMAC par simulation. Dans
cette partie, nous allons concrétiser la validation de LLMAC avec les capteurs d’image Cyclops
réels.
5.4.1 Scénario de test d’expérimentation
Camera 1
Deux caméras transmettent
simultanément
Camera 2
Figure 5.16 – Scénario de test d’expérimentation
Nous établissons un scénario de test comme illustré dans la Figure 5.16. Nous utilisons 2 caméras
Cyclops et un ordinateur portable qui joue le rôle de la station de base. Lorsqu’un évènement se
produit, les deux caméras sont activées en même temps et envoient une image à la station de base
simultanément. Pour déclencher un envoi en même temps sur les deux caméras, la station de base
émet une requête et cette requête représente un évènement critique. Quand les deux caméras
reçoivent la requête, elles vont renvoyer une image simultanément. Sur la station de base, nous
mesurons le temps entre le moment où nous envoyons la requête et le temps de réception des
images des deux caméras.
Les caméras Cyclops utilisent les capteurs MicaZ [10] pour leur interface de transmission sans fil.
Les capteurs MicaZ se basent sur la norme IEEE 802.15.4 [12] et le protocole d’accès au médium
utilisé est CSMA. En utilisant le système d’exploitation TinyOS [48], les capteurs MicaZ peuvent
96
5.4 Résultats d’expérimentation
transmettre les paquets de taille maximale à 27 octets. Selon la qualité d’image prise par les
caméras Cyclops, nous obtenons une taille d’image différente. Le Tableau 5.2 illustre la taille
d’image et le nombre de trames par image en fonction de la résolution de chaque image. Le nombre
de trames par image est calculé à partir de la taille de l’image et la taille maximale d’une trame de
données (27 octets). Par exemple, le nombre de trames pour une image 32x32 noir et blanc est
1024/27 ~ 38 trames. Il faut qu’un capteur transmette 38 trames pour que la station de base reçoive
une image complète.
Taille d’image (Octets)
Nombre de trames par image
32x32 noir et blanc
1024
38
32x32 couleur
3072
114
64x64 noir et blanc
4096
152
64x64 couleur
12288
456
128x128 noir et blanc
16384
607
128x128 couleur
49152
1821
Tableau 5.2 - Nombre de trames par évènement en fonction de la taille des images
Nous avons fait varier la qualité d’image afin de faire varier le nombre de trames par image.
Comme chaque image représente un évènement, ce test correspond au scénario de simulation dans
la Figure 5.12 où nous faisons varier le nombre de trames par évènement.
5.4.2 Latence de transmissions de chaque image
La Figure 5.17 illustre la latence de transmission de la première et la deuxième image transmise par
les caméras Cyclops en faisant varier la qualité d’images en utilisant CSMA. C’est évident que
lorsqu’on augmente la qualité d’image, il faut plus de temps pour transmettre un volume de
données plus important. Cependant, ce qui est intéressant à observer est que le temps de latence de
la première image est différent par rapport à la deuxième image.
Lorsque deux caméras reçoivent une requête, elles transmettent simultanément une image de P
trames de données. On peut connaître le nombre de trames pour chaque taille d’image en
consultant le Tableau 5.2. Comme ces deux caméras sont en contention pour accéder au canal pour
chaque trame de données en utilisant CSMA, les trames de données de chaque image venant de
deux caméras se chevauchent à la réception de la station de base. Par exemple, la caméra 1 gagne le
canal et transmet une trame de données, ensuite la caméra 2 gagne le canal et transmet une trame
de données et ainsi de suite. Le protocole CSMA garantit l’équité dans le réseau. Ainsi la caméra 1
et caméra 2 ont la même probabilité d’accès au canal lorsqu’elles sont en contention. En théorie, il
faut qu’on reçoive presque la même latence de transmission de la caméra 1 et caméra 2. Cependant
97
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
lorsqu’on observe la transmission réelle, nous voyons que lorsqu’une caméra gagne le canal, elle
occupe le canal durant la transmission de quelques trames (20-30 trames) avant de relâcher le canal
à la deuxième caméra. Donc, on reçoit une latence de transmission différente entre la première et la
deuxième image.
N&B : noir et blanc
Figure 5.17 – Latence de transmissions en fonction de type d’images
5.4.3 Comparaison entre LLMAC et CSMA
N&B : noir et blanc
Figure 5.18 – Latence de transmission en comparaison entre CSMA et LLMAC
Dans cette expérimentation, nous implémentons LLMAC sur les caméras Cyclops et nous
comparons la latence de transmission entre LLMAC et CSMA. Comme dans un réseau de capteurs
orientés évènement, nous nous intéressons à la latence de transmission des premiers évènements et
nous mesurons la latence de transmission pour la première image. Dans LLMAC, une caméra peut
garder le canal pendant le temps de transmission d’une image sans interruption de la deuxième
98
5.5 Conclusion
caméra. Pour les images de petites tailles : 32x32 N&B, 32x32 couleur et 64x64 N&B, LLMAC et
CSMA donne la même latence de transmission. En effet, en utilisant CSMA par défaut fourni dans
le kit de développement, une caméra peut garder le canal pendant la transmission de plusieurs
trames de données (un nombre aléatoire) avant de lâcher le canal à la deuxième caméra. Pour les
images de petites tailles, nous avons le même comportement entre CSMA et LLMAC où chaque
caméra transmet son image sans interuption. Cependant, lorsqu’on augmente la qualité d’image,
nous obtenons les résultats différents entre LLMAC et CSMA. Dans CSMA, les trames de données
de deux images commencent à se chevaucher et la latence de transmission pour la première image
augmente. Dans LLMAC, nous garantissons qu’une caméra peut transmettre l’intégralité de son
image sans interuption de la deuxième caméra. Ainsi, on observe une latence de transmission avec
LLMAC plus faible que CSMA.
En comparant avec le résultat de simulation (Figure 5.12), nous voyons que LLMAC donne un
meilleur résultat en terme de latence de transmission pour le premier évènement. Plus on augmente
la qualité d’image, plus LLMAC est avantageux. Cependant, nous remarquons une différence entre
le résultat d’expérimentation et la simulation. Dans la simulation, nous trouvons un avantage de
LLMAC même avec un nombre de trames par évènement petit. Par contre, dans
l’expériementation, LLMAC ne montre son avantage que si la qualité de l’image est de taille 64x64
couleur.
5.5
Conclusion
Dans cette partie, nous avons présenté et analysé le fonctionnement d’un nouveau protocole
d’accès au médium que l’on appelle LLMAC pour les réseaux de capteurs orientés évènement. A
l’inverse des protocoles d’accès au médium dans les réseaux de capteurs de type surveillance où le
critère le plus important à prendre en compte est la consommation d’énergie, dans les réseaux de
capteurs orientés évènement, nous nous intéressons principalement au critère de latence de la
transmission. Comme les critères de performance entre ces deux types de réseaux de capteurs sont
différents, nous ne pouvons pas appliquer un protocole d’accès au médium de l’un pour l’autre et
cela nécessite donc un protocole d’accès au médium spécifique pour réduire la latence de
transmission pour les réseaux de capteurs orientés évènement.
Dans LLMAC, nous avons changé le critère de performance en prenant la latence comme premier
paramètre tandis que la consommation d’énergie est considérée comme le deuxième paramètre.
Sachant que l’équité n’optimise pas la latence des transmissions pour les réseaux de capteurs
orientés évènement, nous avons fait un compromis entre l’équité et la latence afin de garantir un
faible délai de transmission pour les premiers évènements. Nous avons favorisé la transmission au
niveau évènement pour qu’un nœud puisse transmettre un évènement sans interruption des autres.
Nous avons également proposé un niveau de priorité FIFS qui donne aux nœuds routeur la priorité
99
Chapitre 5. Protocole MAC à faible latence pour les réseaux de capteurs orientés évènement
d’accès au canal. Ces modifications pénalisent l’équité dans le réseau car on donne la priorité aux à
certains nœuds (routeurs). Pourtant, comme les capteurs fonctionnent d’une manière coopérative, le
fait de laisser le canal aux autres réduit la latence de transmission et la congestion dans le réseau.
En mesurant les résultats d’évaluation avec le simulateur OMNet++, nous avons prouvé que le
protocole LLMAC améliore nettement la latence de transmission par rapport à 802.11 en prenant
en compte la consommation d’énergie dans un réseau de capteurs multi-sauts orientés évènement.
Nous avons également validé notre protocole LLMAC sur les capteurs réels. Le résultat montre que
LLMAC donne toujours des meilleurs performances en terme de latence de transmission même
dans les expérimentations réelles.
100
Chapitre 6.
données
Méthode
distribuées
de
pour
stockage
de
réseaux
de
capteurs
Dans les deux chapitres précédents, nous avons présenté deux protocoles d’accès au médium pour
les réseaux de capteurs. L’objectif de ces deux protocoles est de réduire la consommation d’énergie
et la latence de transmission. Nous avons vu qu’en modifiant le mode de fonctionnement du
transceiveur, les protocoles d’accès au médium peuvent beaucoup influencer la consommation
d’énergie des capteurs. Cependant, comme les traitements locaux des données sont beaucoup
moins coûteux que les transmissions [32], dans certains scénarios, il est préférable de stocker les
données localement plutôt que d’envoyer périodiquement à la station de base. La méthode de
stockage de données joue donc également un rôle important pour la consommation d’énergie et la
durée de vie globale du réseau de capteurs.
Différents modèles de stockage de données ont été présentés dans la partie état de l’art. Chaque
modèle est normalement optimisé pour un scénario précis de réseau de capteurs. Le modèle de
stockage de données data-centric (DCS) est privilégié dans le cas d’un réseau de capteurs à large
échelle où plusieurs évènements sont détectés, mais peu sont récupérés. Cependant, cet axe de
recherche est encore récent et le nombre de travaux existants n’est pas très riche d’où notre
motivation pour rechercher et proposer des améliorations afin de les optimiser et avoir ainsi de
meilleures performances. Dans cette partie, nous allons présenter une méthode de stockage de
données distribuées basée sur une architecture de regroupement que nous appellerons C-DCS
(Clustered Data Centric Storage). Notre proposition améliore la consommation d’énergie totale du
réseau et réduit le taux de perte de données dans le cas d’un réseau mobile.
Nous commençons ce chapitre par une présentation des problèmes existants de DCS dans la partie
6.1 . Ensuite, nous donnons des solutions en proposant une structure de regroupement de DCS dans
la partie 6.2 . Nous évaluons les résultats de performance de notre proposition en utilisant le
simulateur OMNet++ [86] pour simuler un réseau de capteurs à très large échelle (N = 10.000
nœuds) dans la partie 6.3 . Enfin, nous terminons le chapitre avec une conclusion sur notre
proposition.
101
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
6.1
Problème de stockage de données data-centric
dans les réseaux de capteurs
Le modèle de stockage de données data-centric est bien approprié dans le cas d’un réseau de
capteurs à large échelle car il y a plusieurs évènements détectés mais peu d’évènements récupérés.
Cependant, il existe encore des problèmes de routage dans DCS. Comme nous avons vu dans la
partie état de l’art, DCS utilise le protocole de routage GPSR [72] pour router les messages dans le
réseau. Pour que GPSR puisse fonctionner, les nœuds doivent connaître les adresses de tous leurs
voisins directs. En plus, GPSR est conçu pour le routage où l’adresse du nœud source et du nœud
destinataire sont connus. La technique de partage de données de DCS utilise la fonction de hachage
pour distribuer les données uniformément dans le réseau. Cette fonction de hachage garantit une
distribution uniforme des clés dans le réseau, mais elle ne peut pas garantir que la valeur d’une clé
corresponde à la position d’un nœud. Lorsqu’un nœud possède un évènement à partager, il hache
cet évènement pour obtenir une clé (une position dans le réseau). Ensuite, il transmet un message
d’avertissement à cette position en utilisant le protocole de routage GPSR en espérant qu’il y ait un
nœud quelconque qui se trouve à cette position. Cependant, il est probable qu’il n’y ait aucun nœud
qui se trouve à cette position. Dans ce cas, la solution de GHT [70][71] est de chercher le nœud le
plus proche de cette position (appelé le “home node”). Le parcours que le paquet doit traverser
forme un périmètre que l’on appelle “home perimeter”. Le nombre de nœuds dans un “home
perimeter” n’est pas très important (~3 nœuds). Cependant, comme pour chaque routage, il faut
traverser tous les nœuds dans un “home perimeter”, cela peut créer des surcoûts importants car il
est fortement probable que la valeur de hachage ne corresponde à aucun nœud dans le réseau.
La Figure 6.1 illustre le routage du nœud A vers la position Y. Lorsque le paquet arrive au nœud D,
il doit continuer à circuler car il ne sait pas encore si le nœud D est le nœud le plus proche de la
position Y. Dans cette figure, le rectangle dans le “home perimeter” est la zone où il y a un
gaspillage d’énergie. Les nœuds gaspillent l’énergie pour chercher le nœud “home node” à chaque
routage. Si nous pouvons trouver une méthode pour éviter cette recherche, nous pourrons réduire le
nombre de transmissions dans le réseau.
Dans un réseau de capteurs, il y a souvent des nœuds mobiles. Ce sont les capteurs déployés sur
des objets mobiles : un animal dans une forêt, un robot dans une usine etc. Ces nœuds mobiles
peuvent créer de mauvais comportements de routage pour GPSR. La Figure 6.1 illustre un
problème posé par le nœud mobile B. Le nœud A veut transmettre un message à la position Y, il
cherche dans la liste des ses voisins le nœud qui est le plus proche de la position Y. Il trouve que le
nœud B est le plus proche de la position Y, il transmet le paquet au nœud B. Si le nœud B est
toujours dans la portée radio du nœud A, il peut recevoir le paquet et le faire suivre au nœud C,
ainsi de suite jusqu’au nœud D. Le problème survient quand le nœud B est un nœud mobile. Il peut
102
6.2 Regroupement de capteurs pour optimiser le routage de DCS
se déplacer à la position B’, qui se trouve à l’extérieur de la portée radio du nœud A. Le nœud A ne
peut pas mettre à jour cette information immédiatement, il essaie de transmettre au nœud B mais le
paquet ne peut jamais arriver au nœud B. En plus, si le nœud B est le nœud qui stocke les données
pour un type d’évènement, le nœud A ne peut pas récupérer ces informations. A partir de cette
observation, nous voyons que les nœuds mobiles ont moins d’intérêt pour stocker ou router des
paquets car lorsqu’ils se déplacent, ils perturbent le réseau et les autres nœuds ne peuvent pas
récupérer les données stockées dans ces nœuds.
Gaspillage d’énergie
Home node
D
C
Y
A
B
B’
Home perimeter
Figure 6.1 - Gaspillage d’énergie dans le routage GPSR de GHT
6.2
Regroupement de capteurs pour optimiser le
routage de DCS
Dans cette partie, nous allons décrire en détail notre proposition C-DCS, une méthode de
regroupement de capteurs pour éviter le problème de routage que nous avons analysé ci-dessus.
Nous supposons un réseau de capteurs déployé aléatoirement, ce qui signifie que les capteurs sont
distribués uniformément dans la zone de déploiement. Au début, tous les capteurs ont la même
capacité de stockage et d’énergie. En utilisant les dispositifs de localisation (Ex : GPS) [73][74], les
nœuds connaissent toujours leur position dans le réseau.
Nous présentons d’abord la méthode pour organiser le réseau en clusters dans la partie 6.2.1 .
Ensuite, nous décrivons le fonctionnement du réseau en utilisant la structure de regroupement
proposée dans la partie 6.2.2 . Ensuite, nous profitons de la structure de regroupement pour
103
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
proposer un niveau d’agrégation de données supplémentaire afin de réduire le nombre de
transmissions dans le réseau. Enfin, nous discutons du problème de la tolérance aux fautes en
utilisant les techniques de réplications de données et réélection des cluster-heads.
6.2.1 Organisation du réseau
Dans C-DCS, nous organisons le réseau en clusters. Pour cela, nous divisons l’espace du réseau en
C clusters de la même taille (Figure 6.2). Nous estimons la taille d’un cluster pour qu’il y ait
toujours au moins un nœud dans chaque cluster. Puisque chaque nœud connaît sa position dans le
réseau, il sait de quel cluster il fait partie. Dans chaque cluster, un nœud est élu en tant que cluster
head. Son rôle est de gérer le fonctionnement du cluster. Plusieurs travaux existants sur les
méthodes de regroupement de nœuds ont été proposés [96][97]. Chaque méthode a un critère
spécifique pour sélectionner le cluster head. Comme les capteurs sont sensibles à la consommation
d’énergie et que les capteurs mobiles sont une source de perturbation du réseau, nous prenons le
niveau d’énergie restante et la mobilité des nœuds comme critères pour sélectionner le cluster head.
Nous classons les nœuds en deux types principaux : les nœuds statiques et les nœuds mobiles.
Cependant, comment savoir si un nœud est statique ou mobile ? Dans le cas où les nœuds sont
équipés d’un dispositif qui leur permet de connaître leur position à tout moment, un nœud peut
mesurer la variation de sa position dans le temps afin de savoir son niveau de mobilité. Lorsque ce
niveau dépasse un seuil prédéfini, un nœud sait s’il est mobile ou statique.
C1
C2
Cluster head
Nœud stable
C3
C4
Nœud mobile
Figure 6.2 - Organisation du réseau
Cependant, puisque les dispositifs de localisation (Ex : GPS) sont relativement chers, nous pouvons
prendre une autre méthode de localisation sans utiliser ces dispositifs [6]. Dans un réseau, il y a
seulement quelques nœuds qui sont dotés de dispositifs de localisation, appelé des nœuds “seed”.
Les autres nœuds peuvent estimer leur position dans le réseau en mesurant la distance avec
104
6.2 Regroupement de capteurs pour optimiser le routage de DCS
différents nœuds “seed” en utilisant la méthode de triangulation. Cette méthode est moins coûteuse
que des dispositifs GPS [75], mais elle est moins précise et elle requiert des communications
supplémentaires. De plus, les nœuds ne peuvent pas connaître la variation de leur position pour
savoir s’ils sont mobiles. Pour cela, ils peuvent utiliser la technique MOBIC [98], pour calculer
leur niveau de mobilité. Dans MOBIC, les nœuds mesurent la puissance du signal émise par leurs
nœuds voisins. Le niveau de mobilité est défini par la différence de niveau de puissance du signal
entre les différents moments. Lorsqu’un nœud est statique, sa distance avec les nœuds voisins ne
change pas car il obtient toujours le même niveau de puissance du signal de ses voisins. Par contre,
lorsqu’un nœud est mobile, sa distance avec ses nœuds voisins change et il obtient une variation de
puissance du signal venant de ses voisins. Lorsqu’un nœud reçoit une variation importante, il sait
qu’il est un nœud mobile et vice versa.
La mesure du niveau de mobilité est relative et le choix du seuil pour définir un nœud mobile ou
statique dépend fortement du type d’application. Pour chaque type d’application, il existe un seuil
différent. Par exemple, dans une application de surveillance de la forêt, un capteur qui change sa
position durant plus de la moitié de la journée est considéré comme un nœud mobile. De ce fait, les
capteurs qui sont sur le corps des animaux sont considérés comme des capteurs mobiles parce que
leur position change lorsque les animaux bougent.
Une fois que les capteurs sont déployés, on mesure leur niveau de mobilité afin de savoir s’ils sont
mobiles ou statiques. Comme les capteurs sont regroupés en cluster, le cluster head est élu parmi
les capteurs qui se trouvent dans une zone. Nous avons mentionné dans la partie précédente que les
capteurs mobiles causent des problèmes lors du routage. Pour éviter cet aspect, nous excluons les
nœuds mobiles de l’étape d’élection des cluster head. Seul les nœuds statiques ont le droit de
participer à l’élection pour le cluster head. Nous appliquons la règle d’élection de CLA [96] où
chaque nœud prend un identifiant selon un critère donné et le nœud qui possède l’identifiant le plus
petit devient le cluster head. Comme le niveau d’énergie restant sur les capteurs est un critère très
important pour la durée de vie du réseau de capteurs, nous utilisons ce paramètre pour calculer
l’identifiant des nœuds. Plus précisément, nous voulons qu’un nœud ayant une capacité d’énergie
plus importante prenne une valeur d’identifiant plus petite. Cela oblige le nœud qui possède le plus
énergie à prendre en charge le cluster head pour gérer le cluster. Au début du déploiement, tous les
nœuds ont la même capacité d’énergie, chaque nœud prend une valeur aléatoire pour son identifiant
(pour éviter le cas où tous les nœuds ont le même identifiant). Ensuite, les capteurs consomment de
l’énergie pour faire des communications, le niveau d’énergie est différent entre des nœuds et la
méthode d’élection ci-dessus va donner un résultat précis. La Figure 6.3 illustre en détails le
pseudo code de cette méthode d’organisation du réseau.
105
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
Méthode d’organisation du réseau
Pour chaque nœud dans le réseau faire
Evaluer le niveau de mobilité
Choisir une valeur identifiant aléatoire
/* Seuil α est le niveau qu’on déclare pour les nœuds mobiles */
Si le niveau de mobilité < seuil α alors
Diffuser un message d’avertissement avec l’identifiant aux nœuds voisins
Si l’identifiant est minimal alors
Déclarer entant que cluster head
Figure 6.3 – Pseudo code sur la méthode d’organisation du réseau
6.2.2 Stockage et récupération de données dans le réseau
Dans cette section, nous allons décrire comment la structure de regroupement présentée
précédemment peut éviter les problèmes de routage dû à la recherche du “home node” et à la
perturbation engendrée par les nœuds mobiles. Nous allons voir en détail les méthodes de stockage
et de récupération de données en utilisant la structure de regroupement.
Dans C-DCS, les nœuds mobiles ne peuvent pas participer au processus d’élection des cluster
heads. En plus, comme ils sont source de perturbation du réseau, nous voulons qu’ils ne participent
pas au protocole de routage et de stockage dans le réseau. Seuls les nœuds statiques stockent et
routent les données dans le réseau. A l’initiation du réseau où les nœuds envoient des messages
pour connaître les nœuds voisins, les nœuds mobiles ne répondent pas et les nœuds statiques ont
l’information seulement de leurs voisins statiques. De ce fait, quand les nœuds statiques veulent
transmettre un message, ils ne vont trouver dans la liste de leurs voisins que des nœuds statiques.
Lorsqu’un nœud statique détecte un évènement et qu’il veut transmettre cette information, il hache
le type d’évènement pour obtenir l’adresse du nœud responsable de ce type d’évènement. En
utilisant le protocole de routage GPSR [72], ce nœud route le message vers les nœuds qui se
trouvent plus proches de la position destinataire. Les nœuds mobiles sont exclus de ce routage car
les nœuds statiques n’ont aucune information sur la position des nœuds mobiles. De plus, comme
on a précisé auparavant, le problème de routage de GPSR survient lorsque la position destinatrice
106
6.2 Regroupement de capteurs pour optimiser le routage de DCS
ne correspond à aucun nœud dans le réseau. Dans la structure de regroupement de C-DCS, nous
pouvons éviter ce problème. Nous appliquons GPSR jusqu’à ce que le paquet arrive à un nœud
quelconque dans le cluster de la position destinataire. Ce nœud n’est pas à l’adresse de la position
destinataire, mais il connaît l’adresse du cluster head et il va faire suivre cette information
directement au nœud cluster head.
10 C1
C2
Cluster head
23
Hacher(température
A
=100) = (7,2)
C3
Nœud statique
1
2
1
C4
1
1
3
Nœud mobile
C
Station de base
B
Une valeur de hachage
(7, 2)
1
10
Figure 6.4 - Stockage et récupération de données dans le réseau.
La Figure 6.4 illustre cette procédure de stockage de données dans un réseau de capteurs déployé
dans une zone de taille 10*10. Lorsque le capteur statique A détecte un évènement X (Ex : la
température = 100°C), il va hacher la valeur de X. Supposons que la valeur de hachage de X soit Y
= hache(“température =100”) = (7,2). Le nœud A fait suivre son paquet aux nœuds les plus proches
de la position Y sans prendre en compte les nœuds mobiles. Sur la figure, nous voyons un nœud
mobile dans le cluster C1 qui se trouve le plus proche de la position Y, mais le nœud A ne transmet
pas son paquet à ce nœud mobile car ce nœud mobile ne figure pas dans sa liste des voisins. Le
routage suit le lien noté 1 dans la Figure 6.4. Rappelons qu’il n’y a aucun nœud à la position Y =
(7,2). Dans GHT, il faut traverser un “home perimeter” pour trouver le “home node” afin de
stocker la donnée. Dans C-DCS, lorsque le paquet arrive au nœud B, ce dernier n’est pas à la
position, il connaît que la valeur (7,2) est responsable par le cluster head de C4 (tous les nœuds
connaissent l’adresse de leur cluster head). Ainsi, le nœud B fait suivre le message directement au
nœud C sans traverser de “home perimeter”.
La récupération de données est réalisée d’une manière symétrique de la procédure de stockage de
données. La station de base est positionnée quelque part dans le réseau afin d’accéder aux
informations dans le réseau. Lorsqu’un utilisateur veut chercher une valeur X (Ex : l’endroit où la
température était 100°C), la station de base va hacher la valeur X pour obtenir la position Y =
107
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
hache("température =100") = (7, 2). La station de base utilise GPSR pour router la requête en
suivant le chemin noté 2 vers le nœud C qui est le cluster head du cluster C4 (Figure 6.4). Le
cluster head utilise le chemin inverse pour renvoyer la réponse à la station de base en suivant le
chemin noté 3.
Quelqu’un peut faire
suivre mon message ?
REQ
APV
M
message S
message Y
Figure 6.5 - Nœud mobile envoie une donnée
Le processus de stockage et de récupération de données ci-dessus néglige l’existence des nœuds
mobiles. Ces nœuds ne participent ni au protocole de routage ni au stockage de données.
Cependant, comme ils sont dans le réseau pour mesurer des informations ambiantes, ils doivent
partager les informations qu’ils ont observées. En effet, les nœuds mobiles ne connaissent pas
l’adresse de leurs voisins car s’ils gardent une liste de leurs voisins, ils doivent mettre à jour cette
liste tout le temps lorsqu’ils se déplacent et cela est un gaspillage d’énergie.
Pour que les nœuds mobiles puissent transmettre les données, nous avons conçu une méthode
d’avertissement. La Figure 6.5 illustre le cas où un nœud mobile détecte un évènement et veut
transmettre. Le nœud mobile M détecte un évènement X, il hache la valeur de X pour obtenir la
position Y pour stocker cette information. Comme un nœud mobile ne connaît pas l’adresse de ses
voisins, il ne peut pas savoir qui peut l’aider pour router le message. Donc, le nœud mobile M doit
diffuser un message REQ (REQUEST) pour demander aux nœuds autour de l’aide pour router le
message. Lorsqu’un nœud statique reçoit un message REQ, s’il reste encore de l’énergie et qu’il est
prêt à donner de l’aide, il va renvoyer un message APV (APPROVE) en mettant sa position dans le
réseau. Comme le nœud mobile peut recevoir plusieurs message APV, il va sélectionner le nœud
voisin qui se trouve le plus proche de la position Y pour faire router son message. Dans la Figure
6.5, le nœud M reçoit des messages APV et sélectionne le nœud S pour router leur message à la
position Y.
En effet, dans un réseau de capteurs, un capteur mobile reste souvent mobile durant toute sa vie.
Par exemple, un capteur qui est attaché sur le corps d’un animal ou dans un robot, est toujours
mobile. Cependant, comme nous classons les capteurs en deux types : capteur statique et capteur
108
6.2 Regroupement de capteurs pour optimiser le routage de DCS
mobile, nous pouvons envisager le cas où les capteurs changent d’état de statique à mobile ou vice
versa. Lorsqu’un nœud passe de l’état mobile à l’état statique, il change sa caractéristique et
annonce aux nœuds voisins ce changement. Maintenant, il peut participer au routage, au stockage
et à l’élection de cluster head. Au contraire, lorsqu’un nœud passe de l’état statique à l’état mobile,
il annonce ce changement aux nœuds voisins pour que ces nœuds sachent qu’il ne va pas participer
au routage et stockage de données dans le réseau. Si ce nœud est un cluster head, il va déclencher le
processus d’élection du nouveau cluster head et laisser les données à ce nouvel élu cluster head.
6.2.3 Agrégation de données à deux niveaux
Dans la partie précédente, nous avons présenté la structure de regroupement C-DCS afin d’éviter
les problèmes de routage dû à la recherche de “home node” et des nœuds mobiles. Dans cette
partie, nous allons profiter de la structure de regroupement pour proposer un niveau
complémentaire d’agrégation de données dans le réseau de capteurs. En fait, dans certaines
applications, les utilisateurs sont intéressés seulement par des informations agrégées : la valeur
totale, max, min et moyenne etc. Par exemple, un utilisateur veut connaître seulement la
température maximale dans un réseau. Dans ce cas, nous faisons une petite modification du
protocole de routage par rapport au protocole de routage présenté ci-dessus. Lorsqu’un nœud
possède une mesure à transmettre, il doit tout d’abord transmettre le message à son cluster head. Ce
dernier est le seul qui peut faire suivre le message aux autres. En modifiant le routage via des
nœuds cluster head, nous pouvons appliquer deux niveaux d’agrégation de données afin de réduire
le nombre de transmissions.
Routage et agrégation de données
Pour chaque évènement faire
Hacher la valeur de l’évènement et envoyer au cluster head
Pour chaque paquet reçu dans la position P(x,y) faire
Si P dans mon cluster alors
Transmettre le paquet au cluster head
Sinon
Chercher le nœud le plus proche de la position P(x,y) et transmettre à ce
nœud
Si un nœud est cluster head alors
Agréger les données
Figure 6.6 – Pseudo code sur le routage et agrégation de données
109
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
Le premier niveau d’agrégation de données est dans chaque cluster. En effet, après avoir reçu
toutes les données des nœuds dans un cluster, le cluster head agrège les données et n’envoie qu’une
seule donnée agrégée. Supposons qu’il y ait 5 nœuds dans un cluster, au lieu d’envoyer 5 paquets
vers le nœud responsable de ce type d’évènement, le cluster head agrège les données et n’envoie
qu’une seule donnée. Dans un cluster, nous économisons 4 transmissions multi-sauts.
Le deuxième niveau d’agrégation de données est au niveau du nœud qui stocke les données.
Exemple : les nœuds qui stockent toutes les températures maximales de tous les clusters dans le
réseau. Lorsque la station de base envoie une requête, le nœud responsable pour ce type
d’agrégation fait un deuxième niveau d’agrégation de données et renvoie la réponse agrégée à la
station de base. Une fois de plus, nous pouvons économiser l’énergie en transmettant seulement un
résultat agrégé à la station de base. La Figure 6.6 illustre un pseudo code pour le routage et
agrégation de données des nœuds dans le réseau. Nous détaillons ce procédure de routage et
agrégation de données de deux niveaux dans la figure suivante.
10 C1
hache("max(temp
érature ")=(9,1)
C2
Cluster head
2 3
A
Mobile node
1
2
Premier niveau
d’agrégation
C3
1
3
C4
1
Access point
A position
1
Y=(9,1)
1
Stable node
Deuxième niveau
d’agrégation
10
Figure 6.7 - Deux niveaux d’agrégation de données
La Figure 6.7 illustre un exemple d’agrégation de données à deux niveaux. Supposons qu’on
s’intéresse seulement à la température maximale dans le réseau. Chaque capteur mesure la
température et l’envoie au cluster head pour que ce dernier agrège les données. Dans le cluster C1,
tous les nœuds (statique et mobile) envoient leur mesure au nœud cluster head (le nœud noir) pour
que ce dernier fasse le premier niveau d’agrégation de données. Ces transmissions sont illustrées
par les flèches pointillées. Le cluster head hache le type d’agrégation (max) et le type d’évènement
(température) pour obtenir la clé Y=hache (“max (température)”) = (9,1). Cette valeur de hachage
est différente de la valeur de hachage “type d’évènement” qu’on a vu dans la partie précédente
(hacher(température=100) = (7,2)). Puisque cette position se trouve dans le cluster C4, le cluster
head de C1 choisit la valeur maximale de température et envoie cette valeur au nœud cluster head
du C4. Ce routage est illustré par les flèches labellisées 1. Le cluster head du C4 devient le
110
6.2 Regroupement de capteurs pour optimiser le routage de DCS
responsable de toutes les températures maximales des clusters dans le réseau. Lorsque ce dernier
reçoit une requête venant de la station de base, il choisit encore la valeur maximale de toutes les
données qu’il a reçues (deuxième niveau d’agrégation de données) et renvoie la réponse en suivant
le chemin labellisé 3 vers la station de base.
6.2.4 Technique de réplication de données
Dans la structure de regroupement que nous avons vue ci-dessus, il y a seulement un nœud dans un
cluster qui est responsable de toutes les données. Ce nœud devient un goulot étranglement et un
point d’accès unique dans le cluster. Lorsqu’il tombe en panne, nous perdons toutes les données
stockées dans ce cluster. C’est pour cette raison que nous proposons une technique de réplication
de données pour la tolérance aux pannes. En effet, chaque cluster head possède un nœud répliqué
qui garde une copie de ses données. Lorsqu’un nœud est élu comme cluster head, il diffuse
également un paquet "demande d’aide" à tous les nœuds dans son cluster pour trouver un nœud qui
est prêt à donner de l’aide. Lorsqu’il trouve un nœud volontaire, il le prend comme son assistant.
Périodiquement, il transmet les données qu’il gère à ce nœud répliqué afin de sauvegarder une
copie de ses données. Lorsque le cluster head tombe en panne, il y a toujours un nœud répliqué qui
prend en charge toutes les données dans le cluster. Un nœud répliqué prend le rôle de cluster head
s’il trouve que le cluster head est tombé en panne. En effet, il suffit que le nœud répliqué constate
que le nœud cluster head ne répond pas aux requêtes certaines fois, il peut considérer que le nœud
cluster head a tombé en panne et reprend le rôle de cluster head automatiquement. Ce mécanisme
garantit une sauvegarde des données sur un nœud répliqué. Il peut arriver le cas où ces deux nœuds
tombent en panne en même temps. Mais, il arrive rarement ce cas et il reste négligeable. Donc,
notre proposition garantit que les données ne sont pas perdues même dans le cas d’un réseau de
capteurs mobiles où les nœuds tombent en panne.
Les autres propositions GHT [70][71] et R-DCS [77] utilisent également une méthode de
réplication de données. Cependant, la technique de réplication de données utilisée dans GHT n’est
pas une réplication réelle. Elle est juste une distribution de données sur les zones rectangles afin de
réduire la charge pour les évènements importants. De ce fait, lorsqu’un nœud tombe en panne, il est
impossible de récupérer toutes les données. Dans R-DCS, les nœuds répliqués sont les nœuds qui
stockent réellement les données. Les nœuds moniteurs stockent seulement les informations
agrégées. Si les nœuds répliqués tombent en panne, les données réelles sont perdues et il ne reste
que les données agrégées. Dans C-DCS, nous répliquons réellement les données et même dans le
cas de panne, nous possédons toujours des données sur les nœuds répliqués pour récupérer
l’intégralité des données dans le réseau.
111
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
6.2.5 Réélection des cluster-heads
Comme dans n’importe quel système de regroupement des nœuds, C-DCS a un inconvénient
majeur : le cluster head doit travailler plus que les autres nœuds dans le cluster. Il épuise son
énergie plus rapidement et il va s’arrêter de fonctionner lorsqu’il n’aura plus d’énergie. Comme un
réseau est opérationnel si tous les nœuds dans les réseaux sont opérationnels, il est donc nécessaire
de distribuer la charge sur les différents nœuds pour éviter de surcharger les nœuds clusters head.
Nous appliquons une méthode de réélection des cluster head. Périodiquement, après un intervalle
de temps T, tous les nœuds recalculent leur identifiant selon leur énergie restante pour une nouvelle
élection de cluster head. La valeur de l’identifiant est inversement proportionnelle au niveau
d’énergie restant dans chaque nœud. Un nœud possédant moins d’énergie va prendre une valeur
d’identifiant plus grande pour éviter d’être élu cluster head. Un nœud possédant plus d’énergie va
prendre une valeur d’identifiant plus petite pour avoir plus de chance d’être élu cluster head. En
utilisant cette technique, le rôle cluster head est échangé entre les nœuds dans le même cluster et
nous pouvons prolonger la durée de vie des réseaux de capteurs.
6.3
Evaluation de performance
Dans cette partie, nous allons analyser les performances de notre proposition et nous allons
comparer C-DCS avec les autres techniques existantes. Afin de faire des comparaisons, nous
reprenons les mêmes hypothèses pour les calculs de coût de transmission présentées dans le
Tableau 3.1. Nous commençons tout d’abord par une analyse théorique du coût de transmission de
C-DCS dans la partie 6.3.1 . Ensuite, nous allons concrétiser ces résultats théoriques par des
résultats de simulation dans un réseau à très large échelle dans la partie 6.3.2 .
6.3.1 Analyse théorique
C-DCS offre deux avantages par rapport à GHT : il évite le parcours de “home perimeter” et il a
deux niveaux d’agrégation de données. Dans GHT, le coût pour une transmission est O( N + X ) où
N est le nombre de nœuds et X est le nombre de capteurs dans un “home perimeter”. Dans, C-DCS,
le coût pour une transmission est O( N ) car on peut éviter la recherche du “home node”. En terme
de complexité, ces deux protocoles donnent le même résultat car O( N + X ) = O( N ) . Cependant,
le fait de parcourir dans un “home perimeter” pour tous les évènements détectés peut générer
beaucoup de messages supplémentaires.
Dans C-DCS, en appliquant deux niveaux d’agrégation, nous pouvons réduire nettement le nombre
de transmissions. Supposons que M soit le nombre moyen de nœuds dans un cluster. Au lieu
d’envoyer tous les évènements détectés par tous les nœuds, le cluster head agrège les données et
112
6.3 Evaluation de performance
envoie seulement un seul paquet. Le nombre de transmissions total comprend le nombre de
requêtes, le nombre de transmissions pour le stockage et le nombre de réponses. Ainsi, on a une
valeur Totale = Q N + Dtotal N / M + Q N . Plus le nombre de nœuds dans un cluster est
important, plus le nombre de transmissions total est faible. Comme dans un système de stockage
DCS, la valeur Dtotal est la valeur la plus importante, en réduisant M fois cette valeur, nous
réduisons beaucoup de communications dans le réseau.
6.3.2 Résultat de simulation
Dans cette partie, nous concrétisons le résultat théorique de la partie précédente par les simulations.
Nous utilisons le simulateur OMNeT++ [86] pour simuler un réseau de capteurs à large échelle.
Comme le but de ce travail est d’optimiser le nombre de transmissions et le hotspot (la charge sur
le nœud le plus sollicité) dans le réseau, nous simplifions la simulation en négligeant la couche
MAC et la couche physique. Nous supposons que les capteurs peuvent transmettre sans collisions,
sans erreur. Lorsqu’un nœud transmet un paquet, il est sûr que le paquet arrivera à destination. Le
but est d’avoir une simulation légère qui permette de simuler un réseau de capteurs à très large
échelle.
a)
Paramètres de simulation
Paramètre
Valeur
Zone de déploiement
1 km2
Portée radio
40 m
Nombre de nœuds
10.000
Densité
1 nœud / 100 m2
Nombre de clusters
1.000
Nombre de type d’évènement
100
Nombre de requêtes
0-100
Nombre de données pour chaque type d’évènement
100
Tableau 6.1 - Paramètres de simulation
Nous simulons un réseau de capteurs de taille 10.000 qui sont distribués uniformément dans une
zone de taille 100x100. Supposons que l’unité de distance soit de 10 m, nous avons une zone de
déploiement de 1 km2. La station de base est placée au coin de la zone de déploiement. Au début,
tous les nœuds génèrent un évènement ; ils hachent leur évènement et l’envoie au cluster head du
cluster responsable de la valeur de hachage. Nous fixons le nombre de type d’évènement à 100
113
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
comme les mesures effectuées dans GHT[71]. La station de base génère aléatoirement des requêtes
et les envoie dans le réseau. Nous faisons varier le nombre de requêtes de 0 à 100. Si un nœud
reçoit une requête et qu’il possède des données pour le type d’évènement de la requête, il renvoie
une liste de réponses ou juste une donnée agrégée à la station de base selon les cas. Le Tableau 6.1
illustre en détail les paramètres de simulation que nous utilisons pour valider le fonctionnement de
C-DCS.
b)
Agrégation à deux niveaux
Dans cette première simulation, nous voulons montrer l’avantage de C-DCS avec deux niveaux
d’agrégation par rapport aux autres modèles de stockage de données que nous avons présentés dans
la partie état de l’art. Ainsi, nous mesurons le nombre de transmissions total et le hotspot du réseau
en faisant varier le nombre de requêtes Q. Pour ne pas être influencé par les nœuds mobiles, nous
mettons tous les capteurs à l’état statique pour isoler la performance de C-DCS avec deux niveaux
d’agrégation.
Figure 6.8 - Nombre de transmissions total en faisant varier la valeur de Q
La Figure 6.8 illustre le nombre de paquets transmis par tous les nœuds dans le réseau en faisant
varier le nombre de requêtes entre [0 ; 100]. Le modèle LS (stockage local) offre un meilleur
résultat lorsqu’il n’y a aucune requête ou lorsqu’il y a peu de requête dans le réseau. Cela est un
résultat attendu car tous les nœuds stockent leurs mesures localement. Lorsqu’il n’y a aucune
requête, il n’y aura aucune transmission. Pourtant, lorsqu’on augmente le nombre de requêtes, le
nombre de transmissions total du modèle LS augmente très rapidement car chaque requête est
diffusée à tous les nœuds dans le réseau. Comme le nombre de nœuds dans le réseau est important,
cette méthode de diffusion est coûteuse et elle rend le modèle LS inutilisable pour un nombre de
requêtes important.
114
6.3 Evaluation de performance
Au contraire du modèle LS, dans le modèle de stockage ES (stockage externe), tous les évènements
sont envoyés à la station de base quelque soit le nombre de requêtes. Le coût des requêtes et des
réponses est 0 car tous les évènements sont déjà dans la station de base. Dans la Figure 6.8, nous
obtenons une ligne horizontale pour le modèle ES car le nombre de messages total est une valeur
constante.
Comparativement aux deux modèles LS et ES, le modèle DCS donne un meilleur résultat dans le
cas d’un nombre de requêtes moyen. Par contre, lorsqu’il n’y a pas beaucoup de requêtes, le
modèle LS est le plus avantageux. Lorsqu’il y a beaucoup de requêtes, c’est le modèle ES qui est le
plus avantageux car tous les évènements sont utiles pour les utilisateurs. Le modèle DCS donne un
meilleur résultat seulement dans l’intervalle [30 ; 40] (Figure 6.6). Mais, en utilisant la variante de
DCS, S-DCS avec l’agrégation de données, on obtient de meilleurs résultats. S-DCS utilise
seulement un niveau d’agrégation qui est sur le nœud qui stocke les données pour chaque type
d’évènement. Lorsqu’un nœud reçoit une requête, au lieu d’envoyer la liste des évènements qu’il a
reçu (100 évènements pour chaque requête), ce nœud agrège les données et n’envoie qu’une seule
réponse à la station de base. Ce modèle donne un meilleur résultat par rapport aux modèles ES, LS
et DCS dans tous les cas. En effet, on obtient une courbe presque horizontale pour ce modèle car
lorsqu’on augmente le nombre de requêtes, le nombre de réponses n’augmente pas beaucoup.
Notre proposition C-DCS utilise deux niveaux d’agrégation de données : un niveau pour chaque
cluster et un niveau pour les nœuds responsables de chaque type d’évènement. Comme nous avons
fixé le nombre de nœuds dans chaque cluster à 10, nous obtenons un nombre de transmissions de
C-DCS 10 fois inferieur à S-DCS. Plus le nombre de nœuds dans chaque cluster est important, plus
on économise le nombre de transmissions.
En réduisant le nombre de transmissions, le modèle de stockage C-DCS réduit également le hotspot
dans le réseau. Nous utilisons le même scénario de transmission que pour la simulation précédente,
mais nous mesurons le nombre maximal de messages envoyés de chaque nœud dans le réseau. La
Figure 6.9 illustre ce résultat de simulation. Nous pouvons constater que le modèle ES donne le
plus mauvais résultat car toutes les données sont envoyées à la station de base quelque soit le
nombre de requêtes. Comme la station de base se trouve dans la zone de déploiement, le nœud
proche de la station de base doit router tous les messages pour la station de base (y compris les
requêtes et les réponses). Alors, ce modèle est illustré par une ligne constante où le nœud hotspot
doit toujours transmettre environ 5000 paquets.
Dans les modèles LS et DCS, lorsqu’on augmente le nombre de requêtes, le nombre de réponses
augmente rapidement et la charge sur le nœud à côté de la station de base augmente rapidement.
Ces deux modèles donnent le même hotspot par rapport au modèle ES dans le cas où le nombre de
requêtes est égal à 100 et toutes les données dans le réseau sont envoyées à la station de base. Nous
obtenons deux courbes linéaires pour le nombre de requêtes de la station de base.
115
Chapitre 6. Méthode de stockage de données distribuées pour les réseaux de capteurs
Le modèle S-DCS améliore nettement le nombre de hotspot car un nœud envoie seulement une
donnée agrégée. Le nombre de réponses est identique au nombre de requêtes. C-DCS utilise deux
niveaux d’agrégation de données et il améliore encore plus le hotspot dans le réseau. La Figure
6.9a illustre le hotspot de tous les modèles de stockage. Cependant, les résultats de S-DCS et CDCS sont trop petits et nous ne voyons pas très bien la différence. Alors, nous détaillons la
différence de S-DCS et C-DCS dans la Figure 6.9b. Lorsqu’on augmente le nombre de requêtes, le
hotspot de S-DCS et C-DCS augmente, mais nous voyons que C-DCS donne toujours un meilleur
résultat que S-DCS.
a) Tous les modèles de stockage
b) Détails de S-DCS et C-DCS
Figure 6.9 - Hotspot en faisant varier le nombre de requêtes Q
6.4
Conclusion
Dans cette partie, nous avons présenté une méthode de regroupement des nœuds pour les modèles
de stockage de données distribuées que l’on appelle C-DCS (Clustered DCS). Notre proposition
améliore les modèles existants de stockage de données distribuées en particulier pour le routage
vers les positions où il n’y a pas de nœud. Nous avons profité de la structure de regroupement de
C-DCS pour faire un deuxième niveau d’agrégation de données pour les types de requête agrégée
afin de réduire le nombre de transmissions et ainsi prolonger la durée de vie du réseau de capteurs.
En analysant la complexité en nombre de transmissions, nous avons vu que notre proposition donne
un nombre de transmissions plus faible que les autres modèles de stockage de données. Par
simulation, nous avons montré qu’il y a moins de transmission dans C-DCS avec deux niveaux
d’agrégations de données
116
6.4 Conclusion
117
Chapitre 7.
Conclusion
Les réseaux de capteurs constituent un axe de recherche très fertile et peuvent être appliqués dans
plusieurs domaines différents. Cependant, il reste encore de nombreux problèmes à résoudre dans
ce domaine afin de pouvoir les utiliser dans les conditions réelles. Pour les réseaux de capteurs de
type surveillance, la problématique majeure est la consommation d’énergie car les capteurs sont
des petits composants avec une faible capacité d’énergie. Le but des recherches dans ce type de
réseau est de concevoir des protocoles de communication qui permettent de prolonger la durée de
vie d’un réseau de capteurs à quelques années sans changer les piles des capteurs. Pour les réseaux
de capteurs orientés évènement, la problématique majeure est différente. Il s’agit de la latence de
transmission des évènements pour les applications critiques. La recherche dans ce type de réseau se
focalise sur les méthodes pour réduire la latence de transmission des évènements dans le réseau.
Chaque type de réseau de capteurs a des caractéristiques et des contraintes différentes. Cela
nécessite donc de concevoir des protocoles spécifiques pour chaque type de réseau.
Dans cette thèse, nous avons présenté un état de l’art des différents protocoles MAC et des
protocoles de stockage de données dans les réseaux de capteurs. Nous avons vu l’évolution des
différentes techniques de gestion d’accès au canal et des différents modèles de stockage de
données. Ces propositions utilisent les techniques existantes des réseaux sans fil et des réseaux
pair-à-pair pour être adaptés dans les réseaux de capteurs en prenant en compte les caractéristiques
spécifiques de ces derniers. Nous avons montré que cette adaptation n’est pas toujours optimale et
il subsiste souvent des inconvénients dans les travaux existants ce qui donne une motivation
supplémentaire pour notre recherche. Les contributions principales de cette thèse concernent des
améliorations de la couche MAC et un protocole de stockage de données distribuées dans les
réseaux de capteurs.
Dans la couche MAC, nous avons travaillé avec deux types de réseau : réseaux de capteurs de type
surveillance et réseaux de capteurs orientés évènement. Pour le premier type, nous avons proposé
le protocole OBMAC afin de réduire la consommation d’énergie et prolonger la durée de vie. Nous
avons montré que l’écoute passive n’est pas toujours une source de gaspillage d’énergie. Au
contraire, elle peut être une bonne technique pour réduire les communications redondantes. Nous
avons également proposé la notion de la "portée influente" afin d’affiner le protocole OBMAC
pour garantir l’exactitude du système. Pour les réseaux de capteurs orientés évènement, nous avons
proposé le protocole LLMAC afin de réduire la latence des transmissions pour les applications
critiques. Nous avons montré que les protocoles MAC existants dans les réseaux sans fil
garantissent l’équité entre les nœuds et cette caractéristique ne favorise pas la latence de
119
Chapitre 7. Conclusion
transmission. Dans LLMAC, nous avons réalisé un compromis entre la latence de transmission et
l’équité pour que les nœuds fonctionnent d’une manière coopérative et la station de base reçoive
des évènements avec la plus faible latence. Selon le type d’application des réseaux de capteurs,
nous pouvons appliquer les protocoles MAC différents afin d’optimiser les performances.
Dans les protocoles de stockage de données distribuées, nous avons proposé une structure de
regroupement des capteurs dans le modèle de stockage de données data-centric. Notre protocole est
appelé C-DCS (Clustered Data-Centric Storage). Notre proposition améliore le routage des
données dans les modèles de stockage de données existants car nous pouvons éviter des recherches
inutiles dues à l’adaptation du routage dans les réseaux pair-à-pair au routage dans les réseaux de
capteurs. Nous avons également utilisé une méthode de classification des nœuds afin de bien isoler
les nœuds mobiles des tâches importantes dans le réseau car les nœuds mobiles sont une source de
perturbation dans le réseau. Profitant de la structure de regroupement des capteurs, nous proposons
une technique "deux-niveaux" d’agrégation de données pour les applications où nous avons besoin
seulement des résultats agrégés (min, max etc.). Nous avons montré que C-DCS offrait de
meilleures performances par rapport aux autres protocoles existants en terme du nombre de
transmissions, particulièrement dans le cas de deux niveaux d’agrégation de données.
Perspectives du travail de thèse
Dans cette thèse, nous avons présenté des propositions sur la couche MAC et le stockage de
données distribuées. Pourtant, ces propositions ne sont pas encore optimales et il nécessite donc
encore des améliorations. Au niveau des protocoles MAC, nous traitons principalement le partage
le médium afin de réduire la congestion et les transmissions dans le réseau. Cependant, la couche
MAC est liée directement à la couche réseau et la couche physique et il faut donc prendre en
compte ces aspects afin de pouvoir analyser la performance du réseau au niveau global de toutes
les couches. Au niveau du stockage des données distribuées, nous optimisons le routage et
l’agrégation de données pour réduire le nombre de transmissions dans le réseau. Les travaux
existants dans ce domaine ne prennent pas en compte la capacité de stockage de données sur la
mémoire de chaque capteur. Ils prennent comme hypothèse que les capteurs peuvent stocker ce
qu’ils ont dans leur mémoire ou supprimer les données si leur mémoire est pleine. La future
direction de ce travail de recherche pourrait être de traiter la capacité de stockage de données sur la
mémoire de chaque capteur pour garantir la disponibilité des données dans le réseau même dans le
cas où la mémoire est pleine.
Parmi les résultats de recherche que nous avons présentés dans cette thèse, la plupart sont obtenus
avec le simulateur OMNeT++. Nous avons également travaillé sur une plateforme des réseaux de
capteurs réels MicaZ de Crossbow. Nous avons obtenu des résultats réels sur les capteurs et ces
résultats correspondent aux résultats que l’on obtient via le simulateur. Cependant, comme la
plateforme des réseaux de capteurs MicaZ est une plateforme d’expérimentation, nous avons des
120
Chapitre 7. Conclusion
limitations : le code source n’est pas bien commenté, le programme ne fait que des tâches simples.
Il reste encore des validations sur les capteurs réels que nous ne pouvons pas encore réaliser. Un
des travaux futurs est d’implémenter les fonctionnalités qui manquent dans le kit de développement
afin d’enrichir les résultats d’expérimentation de recherche que nous avons présentés dans cette
thèse. Ensuite, il faut valoriser ces travaux de recherche dans une application réelle. Nous voulons
appliquer notre proposition dans le domaine de transport, par exemple, sur les moteurs de TGV
dont nous voulons surveiller le fonctionnement et générer une alerte à plus faible latence si un
évènement critique se produit.
121
Bibliographie
[1]. I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, A survey on sensor networks.
IEEE Communications Magazine, vol 40, pp. 102-114, August, 2002.
[2]. G. J. Pottie and W. J. Kaiser, Wireless Integrated Network Sensors, Communications of the
ACM, vol 43, pp. 51- 58, 2000.
[3]. S. Tilak, N. B. Abu-Ghazaleh, and W. B. Heinzelman, A taxonomy of wireless micro-sensor
network models, ACM SIGMOBILE Mobile Computing and Communications Review, vol. 6,
no. 2, pp. 28-36, April 2002.
[4]. J. Hill, M. Horton, R. Kling and L Krishnamurthy, The Platforms Enabling Wireless Sensor
Networks, Communications of the ACM, vol. 47 no. 6, June 2004.
[5]. H. Karl and A. Willig, Protocols and Architectures for Wireless Sensor Networks, Wiley, April
2005
[6]. Ivan Stojmenovic, Handbook of Sensor Networks, Wiley, September 2005.
[7]. S. Kumar, V. S. Raghavan and J. Deng, Medium Access Control Protocols for Ad-Hoc
Wireless Networks: A Survey, Elsevier Ad-Hoc Networks Journal, vol. 4, no. 3, pp. 326-358,
May 2006.
[8]. I. Demirkol, C. Ersoy and F. Alagöz, Mac Protocols For Wireless Sensor Networks: A Survey,
IEEE Communications Magazine, vol. 44, no. 4, pp. 115-121, April 2006.
[9]. Spec Specification, http://www.jlhlabs.com/jhill_cs/spec/index.htm.
[10].
Mica Sensors Specification , http://www.xbow.com.
[11].
Imote Specification, http://www.intel.com/research/exploratory/motes.htm.
[12]. Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for
Low-Rate Wireless Personal Area Networks (LR-WPANs), IEEE Std. 802.15.4. October 2003.
[13].
Specification of the Bluetooth System, http://www.bluetooth.org/.
[14]. T. He et al., Energy-Efficient Surveillance Systems Using Wireless Sensor Networks,
Proceeding of the ACM MobiSys, Boston, USA, June 2004.
[15]. A. Mainwaring, J. Polastre, R. Szewczyk, D. Culler, and J. Anderson, Wireless Sensor
Networks for Habitat Monitoring, First ACM Workshop on Wireless Sensor Networks and
Applications, Atlanta, GA, USA, September 2002.
123
Bibliographie
[16].
N. Xu, S. Rangwala, K. K. Chintalapudi, D. Ganesan, A. Broad, R. Govindan, and D.
Estrin, A wireless sensor network for structural monitoring. In Proceedings of the 2nd
international conference on Embedded networked sensor systems, November 2004.
[17]. M.J. Whelan, M.V. Gangone and K.D. Janoyan, Integrated Smart Wireless Sensors for
Bridge Structural Health and Homeland Security Monitoring, The 3rd International
Conference on Structural Health Monitoring of Intelligent Infrastructure, Vancouver, Canada,
November 2007.
[18].
Wireless Medical Sensor Networks, http://www.cs.virginia.edu/wsn/medical/.
[19].
A. Tanenbaum, Réseaux, 4ème édition, 2003.
[20].
G. Pujolle, Les Réseaux, édition 2008.
[21].
S. Kumar, V. S. Raghavan, J Deng, Medium Access Control Protocols for Ad-hoc Wireless
Networks: A Survey, Elsvier, pp. 326-358, November 2004.
[22].
N. Abramson, The Aloha System - Another Alternative for Computer Communication, in
AFIPS, pp. 295–298, 1970.
[23]. L. G. Roberts, ALOHA packet system with and without slots and capture, ACM
SIGCOMM Computer Communication Review, vol. 5, pp. 28 – 42, April 1975.
[24]. L. Kleinrock, F. Tobagi, Packet Switching in Radio Channels: Part I--Carrier Sense
Multiple-Access Modes and Their Throughput-Delay Characteristics, IEEE Transactions on
Communications, December 1975.
[25].
F. A. Tobagi and L. Kleinrock, Packet switching in radio channels: PartII - the hidden
terminal problem in Carrier Sense Multiple-Access and the busy-tone solution, IEEE Trans.
Commun., vol. 23, no. 12, pp. 1417–1433, 1975.
[26].
P. Karn, MACA - a new channel access method for packet radio, in Proc.of the 9th
ARRL/CRRL Computer Networking Conference, pp. 134–140, Ontario, Canada, Sept. 1990.
[27].
G. Sidhu, R. Andrews, A. Oppenheimer, Inside Apple-Talk, Addison-Wesley, Reading,
USA, 1989.
[28].
V. Barghavan, A. Demers, S. Shenker, and L. Zhang, MACAW: A media access protocol
for wireless LAN's, in Proc. of ACM SIGCOMM '94, pp. 212-225, 1994.
[29]. K.C. Chen, Medium access protocols of wireless lans for mobile computing, IEEE
Network 8, pp. 50–63, 1994.
[30]. B.P. Crow, I. Widjaja, J.G. Kim, P.T. Sakai, IEEE 802.11, wireless local area networks,
IEEE Commun. Mag. , 1997.
[31]. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification,
IEEE Std. 802.11-1999 edition.
124
Bibliographie
[32].
G.J Pottie and W. J. Kaiser. Embedding the Internet: Wireless Integrated Network Sensors.
Communications of the ACM, vol. 43, no. 5, pp. 51-58, 2000.
[33]. W. Ye, J. Heidemann, and D. Estrin. An Energy-Efficient MAC Protocol for Wireless
Sensor Networks. In Proceedings of IEEE Infocom, pp. 67-76, New York, NY, July 2002.
[34]. W. Ye, J. Heidemann, D. Estrin, Medium Access Control With Coordinated Adaptive
Sleeping for Wireless Sensor Networks, Networking, IEEE/ACM Transactions, vol. 12, no. 3,
pp. 493-506, June 2004.
[35].
S. Singh, M. Woo, and C. S. Raghavendra, Power-aware with Routing in Mobile Ad Hoc
Networks, Proceedings of Mobicom 1998, Dallas, TX, 1998.
[36]. T. van Dam and K. Langendoen. An adaptive energyefficient MAC protocol for wireless
sensor networks. In 1st ACM Conf. on Embedded Networked Sensor Systems (SenSys 2003),
pp. 171–180, Los Angeles, CA, November2003.
[37].
Y. Li, W. Ye, and J. Heidemann. Energy and Latency Control in Low Duty Cycle MAC
Protocols. In Proceedings of IEEE WCNC, New Orleans, LA, March 2005.
[38].
P. Lin, C. Qiao and X. Wang. Medium Access Control with a Dynamic Duty Cycle for
Sensor Networks. In Proceedings of IEEE WCNC, Atlanta, GA, March 2004.
[39]. G. Lu, B. Krishnamachari, C.S. Raghavendra, An adaptive energy efficient and lowlatency MAC for data gathering in wireless sensor networks, Proceedings of 18th International
Parallel and Distributed Processing Symposium, pp. 224-236, April 2004.
[40].
ITU-R Recommendation M.584-2 (11/97), Codes and formats for radio paging.
[41]. B. Mangione-Smith, Low power communications protocols: paging and beyond, in Proc.
IEEE Symposium on Low Power Electronics, pp. 8 -11, 1995.
[42].
A. El-Hoiydi. Aloha with Preamble Sampling for Sporadic Trafic in Ad Hoc Wireless
Sensor Networks. In Proc. IEEE Int. Conf. on Communications, pp. 3418-3423, New York,
USA, April 2002.
[43]. A. El-Hoiydi. Spatial TDMA and CSMA with Preamble Sampling for Low Power Ad Hoc
Wireless Sensor Networks. In Proc. IEEE Int. Conf. on Computers and Communications
(ISCC), pp. 685-692, Taormina, Italy, July 2002.
[44].
A. El-Hoiydi and J.-D. Decotignie. WiseMAC: An Ultra Low Power MAC Protocol for
Multi- hop Wireless Sensor Networks. In Proceedings of the First International Workshop on
Algorithmic Aspects of Wireless Sensor Networks (ALGOSENSORS 2004), pp. 18-31, July
2004.
[45].
C. Enz, A. El-Hoiydi, J.-D. Decotignie, and V. Pereis. Wisenet: An Ultra Low Power
Wireless Sensor Network Solution. IEEE Computer, vol. 37, no. 8, pp. 62-70, August 2004.
125
Bibliographie
[46].
W. Ye, F. Silva and J. Heidemann. Ultra-Low Duty CycleMAC with Scheduled Channel
Polling. In Proceedings of ACM SenSys, Boulder, CO, November 2006.
[47]. J. Polastre, J. Hill and D. Culler. Versatile Low Power Media Access for Wireless Sensor
Networks. In Proceedings of ACM SenSys, 2004.
[48].
TinyOS Community Forum. http://www.tinyos.net
[49].
R. Jurdak, P. Baldi, and C. V. Lopes. Energy-Aware Adaptive Low Power Listening for
Sensor Networks. In Proceedings of INSS, pp. 24–29, San Diego, CA, June 2005
[50].
Zigbee Alliance. http://www.zigbee.org
[51].
M. Buettner, G. V. Yee, E. Anderson, and R. Han, X-MAC: A Short Preamble MAC
Protocol for Duty-Cycled Wireless Sensor Networks, in Proc. ACM SenSys’06, pp. 307–320,
November 2006.
[52]. S. Mahlknecht, and M. Rötzer, CSMA-MPS: A Minimum Preamble Sampling MAC
Protocol for Low Power Wireless Sensor Networks, IEEE WFCS, Vienna, Austria, 2004.
[53].
K. Jamieson, H. Balakrishnan, and Y. C. Tay. Sift: A MAC protocol for event-driven
wireless sensor networks. Third European Workshop on Wireless Sensor Networks (EWSN),
February 2006.
[54]. Y.C. Tay, K.Jamieson, H. Balakrishnan, Collision-minimizing CSMA and Its Applications
to Wireless Sensor Networks, IEEE Journal on Selected Areas in Communications, vol. 22, no.
6, pp. 1048 – 1057, August 2004.
[55].
L. Bao and J.J. Garcia-Luna-Aceves, A New Approach To Channel Access Scheduling For
Ad Hoc Networks, Seventh Annual International Conference on Mobile Computing and
Networking, pp. 210–221, 2001.
[56].
V. Rajendran, K. Obraczka, and J. Garcia-Luna-Aceves, Energy-efficient, collision-free
medium access control for wireless sensor networks, in 1st ACM Conf. on Embedded
Networked Sensor Systems, pp. 181-192, Los Angeles, CA, November 2003.
[57]. E. Shih, S.-H. Cho, N. Ickes, R. Min, A. Sinha, A. Wang, and A. Chandrakasan, Physical
layer driven protocol and algorithm design for energy-efficient wireless sensor networks, in
International Conference on Mobile Computing and Networking, Rome, Italy, 2001.
[58].
B.H. Liu, C.T. Chou, J. Lipman, S. Jha, Using Frequency Division to Reduce MAI in
CDMA Wireless Sensor Networks, IEEE Wireless Communications and Networking
Conference (WCNC), pp. 657-663, New Orleans, LA, March 2005.
[59]. M. Liu, C.-T Chou, On the Fading and Shadowing Effects for Wireless Sensor Networks,
IEEE Proceedings of MASS 2006, October 2006
126
Bibliographie
[60].
W.R. Heinzelman, J. Kulik, and H. Balakrishnan. Adaptive Protocols for Information
Dissemination in Wireless Sensor Networks. Proceedings of the 5th Annual International
Conference on Mobile Computing and Networking, pp 174-185, Seattle, WA, August 1999.
[61]. C. Intanagonwiwat, R. Govindan, and D. Estrin. Directed Diffusion: A Scalable and
Robust Communication Paradigm for Sensor Networks. In Proceedings of the Sixth Annual
International Conference on Mobile Computing and Networking (MOBICOM), August 2000.
[62]. B. Krishnamachari, D. Estrin, and S. Wicker. The impact of data aggregation in wireless
sensor networks. IEEE International Workshop on Distributed Event-Based Systems (DEBS),
pp. 575-578, July 2002
[63].
H.-C. Le. Rapport stage Master recherche. Université Pierre et Marie Curie, September,
2005.
[64].
FIPS 180-1. Secure Hash Standard. U.S. Department of Commerce/NIST, National
Technical Information Service, April 1995.
[65]. M. Abdallah, H.-C. Le. Scalable Range Query Processing for Large-Scale Distributed
Database Applications. In Proc. of the International Conference on Parallel and Distributed
Computing and Systems (PDCS), Phoenix, USA, November 2005.
[66].
S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A Scalable Content-
Addressable Network. In Proc. of the ACM SIGCOMM 2001 Conference, August 2001.
[67].
I. Stoica, R. Morris, D. Karger, F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-
to-peer lookup service for internet applications. In Proc. of the ACM SIGCOMM 2001
Conference, August 2001.
[68].
Y. B. Zhao, J. Kubiatowicz, and A. Joseph. Tapestry: An infrastructure for fault-tolerant
wide-area location and routing. Technical Report UCB/CSD-01-1141, University of California
at Berkeley, 2001.
[69].
P. Druschel and A. Rowstron. Pastry: Scalable, distributed object location and routing for
large-scale peer-to-peer systems. In Proc. of the 18th IFIP/ACM International Conference on
Distributed Systems Platforms (Middleware), November 2001.
[70].
S. Ratnasamy, B. Karp, L. Yin, F. Yu, D. Estrin, R. Govidan, and S. Shenker. GHT: A
geographic hash table for data-centric storage. In First ACM International Workshop on
Wireless Sensor Networks and Applications, 2002.
[71]. S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu, DataCentric Storage in Sensornets with GHT, A Geographic Hash Table, in Proc. of Mobile
Networks and Applications (MONET), March 2003.
127
Bibliographie
[72].
B. Karp and H. T. Kung. GPSR: greedy perimeter stateless routing for wireless networks.
In Proceedings of the 6th annual international conference on Mobile computing and
networking (MobiCom ’00), pp. 243–254, New York, USA, 2000.
[73]. Jinyang Li, John Jannotti, Douglas S. J. De Couto, David R. Karger, and Robert Morris, A
scalable location service for geographic ad hoc routing, In Proceeding of ACM Mobicom,
Boston, MA, 2000.
[74]. N. Bulusu, J. Heidemann, and D. Estrin, GPS-Less Low Cost Outdoor Localization for
Wireless Sensor Networks, IEEE Personal Communications Magazine, October 2000.
[75].
B. Hofmann-WeUenhof, H. Lichtenegger, and J. Collins. Global Positioning System,
Theory and Practice. Springer-Verlag, 1993.
[76]. J. Newsome and D. Song. GEM: Graph Embedding for Routing and Data-Centric Storage
in Sensor Networks without Geographic Information. In Proceedings of First International
Conference on Embedded Networked Sensor Systems (SenSys’03), Los Angeles, California,
USA, November, 2003.
[77].
A. Ghose, J. Grossklags, and J. Chuang, Resilient Data-Centric Storage in Ad-Hoc
Wireless Sensor Networks, Proceedings of 4th International Conference on Mobile Data
Management (MDM2003), Melbourne, Australia, January 2003.
[78]. K. Seada, A. Helmy. Rendezvous Regions: A Scalable Architecture for Service Location
and Data-Centric Storage in Large-Scale Wireless Networks. IEEE/ACM IPDPS 4th Int'l
Workshop on Algorithms for Wireless, Mobile, Ad Hoc and Sensor, Santa Fe, New Mexico,
April 2004
[79]. D. Dudkowski, P.-J Marron, and K. Rothermel. An Efficient Resilience Mechanism for
Data Centric Storage in Mobile Ad Hoc Networks. Proceedings of the 7th International
Conference on Mobile Data Management (MDM'06), May 2006
[80].
C.-T Ee, S. Ratnasamy, S. Shenker: Practical Data-Centric Storage. In 3rd Symposium on
Networked Systems Design and Implementation, San Jose, USA, May 2006
[81]. H.-C Le, H. Guyennet and N. Zerhouni. Over-hearing for Energy Efficient in Event-Driven
Wireless Sensor Network. In First IEEE International Workshop on Intelligent System
Techniques for Wireless Sensor Networks(IST-WSN), Vancouver Canada, October 2006
[82].
H.-C Le, H. Guyennet and N. Zerhouni. Redundant Communication Avoidance for Event-
Driven Wireless Sensor Network. In International Journal of Computer Science and Network
Security (IJCSNS) vol. 7, no. 3 March 2007
[83]. H.-C Le, H. Guyennet and V. Felea. OBMAC: An Overhearing Based MAC Protocol for
Wireless Sensor Networks. The International Conference on Sensor Technologies and
Applications (SENSORCOMM07), Valencia, Spain, October 2007
128
Bibliographie
[84].
A. Woo, T. Tong, and D. Culler, Taming the Underlying Challenges of Reliable Multihop
Routing in Sensor Networks. In Proceedings of the First ACM Conference on Embedded
Networked Sensor Systems (SenSys 2003), Los Angeles, CA, November 2003.
[85]. B. Krishnamachari, D. Estrin and S. Wicker, The impact of data aggregation in wireless
sensor networks, in International Workshop on Distributed Event-based Systems, 2002
[86].
OMNeT++ Community Site. http://www.omnetpp.org
[87].
The Network Simulator NS2. http://www.isi.edu/nsnam/ns/
[88].
Opnet Technologies. http://www.opnet.com/
[89].
Mobility Framework for OMNeT++. http://mobility-fw.sourceforge.net
[90].
BatteryModule for MF2.02. http://inf.unisi.ch/projects/mics/downloads/BatteryModule.zip
[91].
Silicons Laboratories. http://silabs.com
[92].
2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver,
http://focus.ti.com/lit/ds/symlink/cc2420.pdf
[93]. H.-C Le, H. Guyennet, V. Felea and N. Zerhouni. A Low Latency MAC Scheme for
Event-Driven Wireless Sensor Networks. In the 3rd International Conference on Mobile Adhoc and Sensor Networks (MSN2007), Bejing, China, December 2007
[94].
H.-C Le, H. Guyennet and N. Zerhouni. LLMAC: An Efficient MAC Protocol for Event-
Driven Wireless Sensor Networks, International Journal of Distributed Sensor Networks
(submitted 2008)
[95].
Cyclops Camera, http://www.cyclopscamera.com
[96]. A. Ephremides, J. Wieselthier, and D. Barker, A Design concept for reliable mobile radio
networks with frequency hoping signaling. In proceedings of the IEEE, pp. 56-73, 1987
[97]. M. Gerla and J.-C. Tsai. Multicluster, mobile, multimedia radio network. ACM/Baltzer
Journal of Wireless Networks, vol. 1, no. 3, pp. 255-265, July 1995
[98].
P. Basu, N. Khan, and T. Little. A Mobility Based Metric for Clustering in Mobile Ad Hoc
Networks. In Distributed Computing Systems Workshop (DISC), Lisbon, Portugal, October
2001.
[99]. I. Dedun et M. Seville, Les systèmes d’information interorganisationnels comme
médiateurs de la construction de la collaboration au sein des chaînes logistiques : Du partage
d’information aux processus d’apprentissages collectifs. Proc. du 6ième congrès international
du Génie Industriel, Besançon, Juin, 2005.
[100]. Association Française de Normalisation. http://www.afnor.org
129
Bibliographie
[101]. I. Rasovska, B. Chebel -Morello, N. Zerhouni. Process of s-maintenance : decision support
system for maintenance intervention. 10th IEEE International Conference on Emerging
Technologies and Factory Automation, Catania, Italy, september 2005.
[102]. A Sensor Network Deployment in AS2M. http://lifc.univ-fcomte.fr/moteview/
130
Bibliographie personnelle
1. Maha ABDALLAH, Hung-Cuong LE. Scalable Range Query Processing for Large-Scale
Distributed Database Applications. In Proc. of the International Conference on Parallel and
Distributed Computing and Systems (PDCS), pp.433-439, Phoenix USA, November 14-16,
2005
2. Hung-Cuong Le, Herve Guyennet and Noureddine Zerhouni. Over-hearing for Energy
Efficient in Event-Driven Wireless Sensor Network. In First IEEE International Workshop
on Intelligent System Techniques for Wireless Sensor Networks (IST-WSN), pp. 633-638,
Vancouver Canada, Oct, 2006
3. Hung-Cuong LE, Herve Guyennet and Noureddine Zerhouni. Redundant Communication
Avoidance for Event-Driven Wireless Sensor Network. In International Journal of
Computer Science and Network Security (IJCSNS) Vol. 7, No. 3, pp. 193-200, March
2007
4. Hung-Cuong Le, Herve Guyennet and Noureddine Zerhouni. A New Contention Access
Method for Collision Avoidance in Wireless Sensor Networks. In the Sixth International
Conference on Networking (ICN), pp. 27-34, Martinique, 21-28 April 2007
5. Hung-Cuong Le. A Clustered Data-Centric Storage for Wireless Sensor Networks. In the
Third International Workshop on Distributed Framework for Multimedia Applications
(DFMA), Paris, France, 5-6 July 2007
6. Hung-Cuong LE, Hervé Guyennet and Noureddine Zerhouni. Mobile Effect Reduction in
Data-Centric Storage for Wireless Sensor Networks. The Third IET International
Conference on Intelligent Environments (IE'07), pp. 304-311, Ulm, Gemany, September
2007
7. Hung-Cuong LE, Hervé Guyennet and Violeta FELEA. OBMAC: An Overhearing Based
MAC Protocol for Wireless Sensor Networks. The International Conference on Sensor
Technologies and Applications (SENSORCOMM),pp.547-553, Valencia, Spain, October
2007
8. Hung-Cuong LE, Hervé Guyennet, Violeta Felea and Noureddine Zerhouni. A Low
Latency MAC Scheme for Event-Driven Wireless Sensor Networks. In the 3rd
International Conference on Mobile Ad-hoc and Sensor Networks (MSN), pp. 291-301,
Bejing, China, December 2007
9. Hung-Cuong LE, Herve Guyennet and Noureddine ZERHOUNI. LLMAC: An Efficient
MAC Protocol for Event-Driven Wireless Sensor Networks, International Journal of
Distributed Sensor Networks (submitted 2008)
131
Bibliographie personnelle
132
Annexe A : Déploiement d’un réseau de
capteurs pour la e-maintenance
Dans cette thèse, nous avons abordé des différentes problématiques des réseaux de capteurs tels
que la consommation d’énergie, la latence de transmission et le stockage de données distribuées.
Comme le contexte de la thèse est d’appliquer un réseau de capteurs pour la e-maintenance, nous
allons analyser le rôle d’un réseau de capteurs dans la e-maintenance et présenter une plateforme de
test d’un réseau de capteurs que nous déployons au sein du laboratoire Automatique et Systèmes
Micro-Mécatroniques (AS2M) de l’Université de Franche Comté à Besançon. Nous commençons
par une présentation de l’architecture de la e-maintenance dans la partie A.1. Ensuite, nous
analysons le rôle d’un réseau de capteurs dans la e-maintenance. Les parties A.3 et A.4 présentent
la plateforme de test d’un réseau de capteurs MicaZ de Crossbow et un outil de gestion du réseau
de capteurs pour la gestion et la notification les informations dans la e-maintenance.
A.1 L’architecture de e-maintenance
Figure A.1 - Classification de différentes architectures en maintenance
Dans cette partie, nous présentons la définition de la maintenance et une classification de différents
types de maintenance. Nous proposons une terminologie caractérisant les différents systèmes
informatiques en maintenance et nous les classons selon deux axes : le type d’information utilisée
dans le système et l’intensité d’une éventuelle relation avec d’autres systèmes informatiques
(Figure A.1). Plus la relation est intense plus les systèmes sont reliés et intégrés et nous parlons
133
Annexe A : Déploiement d’un réseau de capteurs pour la e-maintenance
d’architectures communes qui seront implémentées à travers des plates-formes. Elles sont classées
sur une exponentielle car la collaboration entre ces systèmes est atteinte plus tôt que le niveau de la
compétence partagée. Le volume d’informations gérées automatiquement est concrétisé par la
surface du carré de chaque système et augmente avec l’intensité de collaboration et aussi avec la
complexité de l’information partagée. Nous tenons à signaler qu’il y a une parallèle entre notre
classification des systèmes et la classification des entreprises telle qu’elle est présentée dans
plusieurs travaux [99]. Il s’agit de l’entreprise traditionnelle, distribuée, coopérative et étendue.
- Le système de maintenance comprend un seul système informatique présent sur le site de
production et utilisé sur le site de maintenance. Ce système est autonome sans échange de données
avec d’autres systèmes. En parallèle avec la classification des entreprises, cela correspond à
l’entreprise traditionnelle, donc nous parlons d’une architecture traditionnelle d’un système
d’information.
- Le système de télémaintenance est constitué d’au moins deux systèmes informatiques : un
émetteur et un récepteur de données et d’informations qui échangent à distance. Selon la définition
d’AFNOR [100] la télémaintenance est “la maintenance d’un bien exécutée sans accès physique du
personnel au bien”. Nous parlons d’une architecture distribuée, basée sur la notion de distance qui
permet de transférer les données par une radio, une ligne téléphonique ou par l’intermédiaire d’un
réseau local.
- Avec l’extension d’Internet, les systèmes de télémaintenance émergent vers le concept d’emaintenance.
Le système d’e-maintenance sera implémenté sur une plateforme distribuée coopérative intégrant
différents systèmes et applications de maintenance. Cette plateforme doit prendre appui sur le
réseau mondial d’Internet (d’où le terme e-maintenance) et la technologie web permet d’échanger,
de partager et de distribuer des données et des informations et de créer ensemble des
connaissances. Ici le concept de la maintenance intelligente peut être exploité et les stratégies de
maintenance proactives et coopératives sont mises en place.
- La s-maintenance (où “s” signifie sémantique)
L’architecture d’une plateforme de s-maintenance [101] prend appui sur l’architecture d’emaintenance où l’interopérabilité des différents systèmes intégrés dans la plate-forme est garantie
par un échange de connaissances représentées par une ontologie. Afin que le partage de
l’information dans le réseau coopératif d’e-maintenance soit sans difficulté, nous formaliserons
cette information d’une façon à pouvoir l’exploiter dans les différents systèmes faisant partie du
réseau.
134
A.2 Le rôle d’un réseau de capteurs dans la e-maintenance
La coordination entre les partenaires du réseau sera approfondie et une base ontologique du
domaine de partage de l’information sera élaborée.
Les systèmes partageront ainsi la sémantique créée pour l’architecture commune de la plateforme
d’e-maintenance. Cette base terminologique et ontologique modélisera l’ensemble des
connaissances d’un domaine. Elle jouera le rôle de mémoire permettant de mettre en place un
système de gestion et de capitalisation des connaissances dans l’objectif d’améliorer le
fonctionnement de système de maintenance.
A.2 Le rôle d’un réseau de capteurs dans la e-maintenance
En amont de l'opération de maintenance préventive, il est nécessaire de collecter les informations
sur le fonctionnement des différents mécanismes. Cette collecte se fera à partir de capteurs dont le
rôle est de prévenir un éventuel dysfonctionnement en permettant de suivre en temps réel sur une
longue période les différents indicateurs de température, vibration, humidité, etc. Ces capteurs
intégrés dans le système sont soumis à des contraintes d'utilisation assez rudes en termes de
température, de vibrations et de champs magnétiques.
Dans le laboratoire, nous travaillons en particulier sur la mise en réseau des capteurs qui permet
d'augmenter la portée et la valeur des observations, de router les informations recueillies et
d'assurer la tolérance aux fautes. Une structure hiérarchique de capteurs offre la meilleure
souplesse pour s’adapter aux diverses missions de chaque élément du réseau : un nœud de
complexité croissante se traduit par une consommation croissante d’énergie et un coût de plus en
plus élevé. Nous envisageons donc une hiérarchie de capteurs distribués qui pourront être
géolocalisés (GPS).
Pour une performance de surveillance globale, le système doit permettre d’obtenir des informations
fiables et exploitables aussi bien en ligne (pour la détection et la localisation de défaillances
pendant la phase d’exploitation) qu’en hors-ligne. En effet, une autre partie de l’équipe développe
un système d’aide au diagnostic et à la réparation modélisant la connaissance experte dans le
domaine, et prenant appui sur les données capteurs observées. Ce système d’aide est basé sur le
raisonnement à partir de cas (RàPC), approche de l’intelligence artificielle pour l’apprentissage par
expériences.
Le RàPC [101] met en œuvre une base de cas contenant des expériences de problèmes résolus où
l’on peut rechercher des expériences passées similaires au problème à résoudre. Ces cas sont
mémorisés et organisés en fonction de critères bien déterminés permettant de les retrouver
efficacement. Le cas représente la synthèse de toute l’activité de résolution d’une situation sous une
forme économique. Il est ainsi possible d’y faire référence à l’avenir et de réutiliser directement la
135
Annexe A : Déploiement d’un réseau de capteurs pour la e-maintenance
méthode de résolution sans avoir à la redécouvrir. Un cas se définit comme “un ensemble de
connaissances contextualisées représentant une expérience porteuse d’enseignement en relation
avec un but précis d’un utilisateur potentiel du système”. Cet outil permet aux opérateurs de
maintenance de capitaliser la connaissance de leur métier et de la partager afin d’améliorer la
performance et l’efficacité de l’intervention du service de maintenance.
A.3
Plateforme de réseau de capteurs MicaZ de
CrossBow
Figure A.2 - Architecture d’un réseau de capteurs MicaZ
Dans le cadre de mon travail de thèse, j’ai utilisé le kit de développement professionnel fourni par
l’entreprise américain Crossbow [10] pour développer un outil permettant une gestion des capteurs
pour la e-maintenance. Ce kit contient 6 capteurs MicaZ et une station de base. Il fournit également
le protocole XMesh pour la communication des capteurs en réseau maillé, un outil de contrôle des
capteurs et un logiciel pour gérer la compilation et l’installation des programmes sur les capteurs.
Ce kit est un outil complet de point de vue matériel et logiciel permettant un développement et un
déploiement un réseau de capteurs. La Figure A.2 illustre l’architecture d’un réseau de capteurs
MicaZ où on voit l’interaction des capteurs, les composants dans le réseau et les logiciels
permettant la surveillance des capteurs. Nous allons décrire les compositions des matériels et des
logiciels du kit dans la partie A.3.1 et A.3.2 respectivement.
136
A.3 Plateforme de réseau de capteurs MicaZ de CrossBow
A.3.1 Les compositions des matériels du kit
Comme on le voit dans la figure ci-dessus, ce kit de réseau de capteurs contient : 6 capteurs MicaZ
et une station de base.
a)
Capteur MicaZ
Chaque capteur MicaZ se compose de deux modules : une carte MPR2600 et une carte MTS400
(Figure A.3). La carte MPR 2600 contient un microcontrôleur et un transceiveur. Le
microcontrôleur contient une mémoire flash de 128kB, une mémoire vive de 4kB et un processeur
de 4MHz. C’est la partie de calcul et de traitement des informations des capteurs. Sur la carte, il y a
également un module transceiveur à fréquence radio de 2.4 GHz allant jusqu’à 250kbps. Ce dernier
est le module de communication permettant des transmissions sans fil entre les capteurs et de
capteurs vers la station de base.
+
MPR2600
=
MTS400/420
MicaZ
Figure A.3 - Composition d’un capteur MicaZ
Une partie indispensable pour un capteur est le module “senseur”. En effet, c’est le module qui
permet de convertir des valeurs ambiantes en valeurs numériques tel que la température, les
vibrations etc. Pour les capteurs MicaZ, la carte MTS400 donne des mesures assez complètes de
différents facteurs environnementaux : la température, l’accélération, la pression, la luminosité et
l’humidité. Cette carte est dotée un connecteur spécifique afin de connecter avec la carte MPR2600
pour transmettre les mesures ambiantes. Une nouvelle génération de carte “senseur” MTS420 est
également fournie chez Crossbow avec une fonctionnalité supplémentaire. Elle donne toutes les
mesures de MTS400 et elle offre également la position géographique GPS du capteur qui permet de
les utiliser dans les applications où on a besoin de la localisation de capteurs.
137
Annexe A : Déploiement d’un réseau de capteurs pour la e-maintenance
b)
Station de base
La station de base contient deux composants dont un pour récupérer les mesures transmises sans fil
par les capteurs et un pour envoyer les données à l’ordinateur (Figure A.4). Le premier composant
est une carte MPR2600 qui permet la récupération de données transmises par les capteurs via des
ondes radio. Le deuxième composant est une carte MIB520 qui est dotée d’une liaison filaire vers
l’ordinateur via un câble USB. Cette carte reçoit des données de la carte MPR2600 et fait suivre
ces données à l’ordinateur via le câble USB. L’ensemble de la carte MIB520 et MPR2600 forme
une station de base permettant la récupération de données des capteurs dans le réseau. Mis à part la
tâche de relai des messages, la carte MIB520 sert également à injecter les programmes sur les
capteurs MicaZ afin de faire des tâches définies.
+
MIB520
=
MPR2600
Station de base
Figure A.4 - Station de base MIB520
A.3.2 Les logiciels fournis par Crossbow
Dans l’architecture des réseaux de capteurs MicaZ que nous voyons dans la Figure A.2, il y a trois
niveaux de logiciels :
•
XMesh : un programme installé sur les capteurs afin de prendre des mesures, faire des
communications multi-saut en réseau maillé vers la station de base
•
XServe : un programme installé sur le serveur de la station de base afin de stocker les
mesures venant des capteurs dans le réseau.
•
MoteView : Un programme installé sur les machines des utilisateurs finaux afin de
visualiser et diagnostiquer les résultats stockés dans la station de base.
138
A.4 Accès à distance pour le réseau de capteurs via Internet
Ces trois niveaux de logiciels nous permettent de déployer rapidement un réseau de capteurs
fonctionnels afin de surveiller une zone et donner des mesures pour la maintenance. Cependant,
MoteView est un logiciel assez lourd et il ne facilite pas l’accès aux données du réseau de capteurs.
Comme nous travaillons sur un réseau de capteurs appliqué à la e-maintenance, il nécessite donc un
accès à distance via Internet au réseau de capteurs. Il s’agit d’un portail web permettant la
consultation et l’interaction avec le réseau de capteurs via un navigateur web. En plus, il faut
ajouter une gestion des évènements pour définir le type d’évènement à gérer et une méthode de
notification telle qu’email ou SMS. Ces fonctionnalités n’existent pas encore dans le kit de
développement de Crossbow et nous les avons implémentées.
A.4 Accès à distance pour le réseau de capteurs via
Internet
Figure A.5 - Interface de gestion d’un réseau de capteurs
Dans cette partie, nous détaillons le développement que nous avons réalisé afin de construire un
portail web permettant un accès à distance pour le réseau de capteurs. En effet, parmi les trois
logiciels fournis par Crossbow, il n’y a que XMesh qui est open-source. Il nous faut donc
développer un programme de récupération de données comme XServe. Ce programme insère les
mesures dans une base de données. Ensuite, il faut écrire une page web dynamique afin de
visualiser les mesures des capteurs et gérer les évènements. Cette page web accède aux données
dans la base de données et visualise les résultats sur un navigateur web.
139
Annexe A : Déploiement d’un réseau de capteurs pour la e-maintenance
La Figure A.5 illustre cette interface de gestion d’un réseau de capteurs déployés au sein du
Département Automatique et Systèmes Micro-Mécatroniques (AS2M) à Besançon [102]. Dans
cette interface, nous trouvons la position de différents capteurs situés aux différentes positions sur
la chaîne de transfert. Nous pouvons également voir les mesures de chaque capteur ainsi qu’un
tableau récapitulatif de toutes les mesures de tous les capteurs. La fenêtre à droite donne toutes les
mesures prises par un capteur : la température, l’accélération, la pression, la luminosité et
l’humidité.
A partir de ces mesures, un utilisateur peut définir les évènements qu’il veut surveiller. Un
évènement se compose d’un type de mesure (la température, la luminosité etc.), une valeur pour ce
type de mesure et le type d’opérateur (inférieur, supérieur). La Figure A.6 illustre cette interface de
gestion des évènements où on crée un évènement lorsque la température dépasse 30°C. Cette
interface est protégée par un identifiant et un mot de passe. Elle permet la saisie de différents types
d’évènement. Nous avons également développé le module de notification qui permet d’envoyer
automatiquement un SMS ou un email lorsqu’un évènement prédéfini se produit.
Figure A.6 - Interface de gestion des évènements
A.5 Conclusion
Dans cette annexe, nous avons décrit une plateforme de réseaux de capteurs MicaZ déployés au
sein du laboratoire Automatique et Systèmes Micro-Mécatroniques (AS2M) afin d’avoir un outil
pour réaliser la e-maintenance. Notre plateforme offre de possibilité d’un accès aux informations
dans le réseau de capteurs et un module de notification des évènements via SMS et email. Nous
développons actuellement l’optimisation de la durée de vie et la sécurité dans le réseau de capteurs.
140
Annexe B : Abréviation et terminologie
RdC
Réseaux de capteurs
MAC
Multiple Access Control
CSMA
Carrier Sense Multiple Access
BTMA
Busy Tone Multiple Access
TDMA
Time Division Multiple Access
FDMA
Frequency Division Multiple Access
CDMA
Code Division Multiple Access
RTS
Request To Send
CTS
Clear To Send
MACA
Multiple Access Collision Avoidance
DCF
Distributed Coordinate Function
PCF
Point Coordinate Function
SIFS
Short Interframe Spacing
DIFS
DCF Interframe Spacing
FIFS
Forward Interframe Spacing
PAN
Personal Area Network
141
FFD
Full Function Device
RFD
Reduced Function Device
RSSI
Received Signal Strength Indicator
Piggyback
superposer
Overhearing
Ecoute passive
Idle
Ecoute non-actif
Preamble Sampling
Préambule d’échantillonnage
Broadcast
Diffusion
Greedy Forwarding
Routage glouton
Perimeter Forwarding
Routage par périmètre
Deaf listening
Envoi sourd
142
Optimisation d’accès au médium et stockage de données distribuées dans les
réseaux de capteurs
Les réseaux de capteurs constituent un axe de recherche très fertile ces dernières années. Cette
technique se développe dans différents domaines comme l’environnement, l’industrie, le
commerce, la médecine, l’armée etc. Selon le type d'application, les problématiques peuvent être
différentes.
Dans cette thèse, nous nous sommes intéressés à deux problématiques: les protocoles d'accès au
canal et le stockage de données distribuées. Le document est divisé en deux parties où la première
partie est un état de l'art de différentes techniques existantes et la deuxième partie décrit notre
contribution dans ces deux problématiques.
Dans la première contribution, nous avons proposé deux protocoles d'accès au canal. Le premier
optimise la durée de vie des réseaux de capteurs de type surveillance et le second réduit la latence
de transmission dans les réseaux de capteurs orientés événements pour les applications critiques.
Dans la deuxième contribution, nous nous sommes focalisés sur le modèle de stockage de données
data-centric. Nous avons proposé une structure de regroupement des capteurs afin d'améliorer le
routage et réduire le nombre de transmissions afin de prolonger la durée de vie d'un réseau de
capteurs.
Mot clés: économie d'énergie, latence de transmission, protocoles d'accès au canal, réseaux de
capteurs, stockage de données distribuées
143
Optimization of MAC protocols and distributed data storage in wireless sensor
networks
Wireless sensor network is a very hot research topic tendency for the last few years. This
technology can be applied into different domains as environment, industry, commerce, medicine,
military etc. Depending on the application type, the problems and requirements might be different.
In this thesis, we are interested in two major problems: the medium access control and the
distributed data storage. The document is divided to two parts where the first part is a state of the
art of different existing works and the second part describes our contribution.
In the first contribution, we have proposed two MAC protocols. The first one optimizes the
wireless sensor networks lifetime for surveillance applications and the second one reduces the
transmission latency in event-driven wireless sensor networks for critical applications.
In the second contribution, we have worked with several data storage models in wireless sensor
network and we focus on the data-centric storage model. We have proposed a clustering structure
for sensors to improve the routing and reduce the number of transmissions in order to prolong the
network lifetime.
Keywords: Energy save, Transmission latency, MAC protocol, Sensor networks, Distributed data
storage
145
146

Documents pareils