Optimisation énergétique en routage mobile
Optimisation énergétique en routage mobile
Université Constantine 2
Titre :
Directeur de thèse:
Jury :
Pr. Allaoua Chaoui Président Université Constantine 2
Année universitaire 2012‐2013
Remerciements
Je dédie ce travail à mes très chers parents, mes frères et mes sœurs ; en
particulier Fatima-Zohra (Chargé de cours, Université Tebessa) pour
ses conseils consistants qui dépassent le nombre de pages de ce
manuscrit…
ﻦ اﻟ ﱠﺮﺣِﻴ ِﻢ
ﺣ َﻤ ِ
ﺑﺴﻢ اﷲ اﻟ ﱠﺮ ْ
ﺻﺪق اﷲ اﻟﻌﻈﻴﻢ
Résumé
Mots clefs : réseaux de capteurs, routage opportuniste, routage géographiques, énergie, codage réseau
linéaire aléatoire, récupération d’énergie, optimisation, F-Lipshitz, métaheuristiques, mobilité,
Omnet++.
Abstract
The new field of wireless sensor networks presents many opportunities and new challenges. One
particularly difficult aspect of wireless sensor networks is minimizing the completion time requires
for sending data packets in an end-to-end session network with lossy links. To enable data routing,
opportunistic routing together with random linear network coding can be used. Thus, opportunistic
routing takes advantage of broadcast transmission and mixing packets before sending them avoids any
coordination between nodes of the network. To allow extending the lifetime of wireless network
composed of a huge number of sensor nodes equipped by small batteries; a technique that harvests
ambient energy is assumed integrated. This thesis concentrates on energy efficient routing protocols
in sensor networks. It mainly proposes a framework for minimizing the completion time in a wireless
sensor network with energy harvesting under opportunistic routing and random linear network coding.
Traditional techniques are not suitable for solving the proposed model since it is non convex. So, F-
Lipschitz method was exploited and demonstrated the existence of a solution for the formulated
problem. To further address the uncertainty during calculation of derivates, interval arithmetic has
been used where the exact result is contained in the computed interval. Simulation results obtained by
Matlab and Omnet++ give an evaluation of the proposed scheme in term of energy, throughput and
completion time. They suggest to operate at high density to decrease the erasure probability. By
another hand, prolonging the lifetime of a sensor network is another contribution of this work. In this
context, sensor nodes are associated with reception probabilities such that uniform energy
consumption among the nodes is guaranteed. The model has been solved with the simulated annealing
and linear programming and yields to convergence.
The other part of this thesis concerns energy efficient routing in mobile sensor networks where the
prediction is used in conjunction with a neighborhood approach for routing data in a dense network.
The delivery rate is good and the localization errors acceptable.
Keywords: sensor networks, opportunistic routing, geographic routing, energy, random linear
network coding, energy harvesting, optimization, F-Lipshitz, Metaheuristics, mobility, Omnet++.
ﻣﻠﺨﺺ
اﻟﺤﻘﻞ اﻟﺠﺪﻳﺪ ﻣﻦ ﺷﺒﻜﺎت اﻻﺳﺘﺸﻌﺎر اﻟﻼﺳﻠﻜﻴﺔ ﻳﻌﺮض اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻔﺮص واﻟﺘﺤﺪﻳﺎت اﻟﺠﺪﻳﺪة .أﺣﺪ اﻟﺼﻌﻮﺑﺎت
ﻟﻠﺸﺒﻜﺎت اﻻﺳﺘﺸﻌﺎر اﻟﻼﺳﻠﻜﻴﺔ ﻳﻜﻤﻦ ﻓﻲ اﻟﺘﻘﻠﻴﻞ ﻣﻦ اﻟﻮﻗﺖ اﻟﻼزم ﻟﺤﻞ اﻟﺮﻣﺰ و إرﺳﺎل ﺣﺰم اﻟﺒﻴﺎﻧﺎت ﻓﻲ ﺷﺒﻜﺔ
ﺗﺘﻤﻴﺰ ﺑﻮﺻﻼت اﻟﻀﻴﺎع ﻣﻊ وﺟﻮد ﻣﻨﺒﻊ و ﺟﻬﺔ واﺣﺪة .ﻟﺘﻤﻜﻴﻦ ﺗﻮﺟﻴﻪ اﻟﺒﻴﺎﻧﺎت ،ﻳﻤﻜﻦ اﺳﺘﺨﺪام اﻟﺘﻮﺟﻴﻪ اﻻﻧﺘﻬﺎزي و
اﻟﺘﺮﻣﻴﺰ اﻟﺸﺒﻜﻲ اﻟﺨﻄﻲ اﻟﻌﺸﻮاﺋﻲ .وهﻜﺬا ،ﺗﻮﺟﻴﻪ اﻻﻧﺘﻬﺎزﻳﺔ ﻳﺴﺘﻔﻴﺪ ﻣﻦ ﺑﺚ اﻹرﺳﺎل واﻟﺨﻠﻂ ﻗﺒﻞ إرﺳﺎل اﻟﺒﻴﺎﻧﺎت
آﻲ ﻳﺘﺠﻨﺐ أي ﺗﻨﺴﻴﻖ ﺑﻴﻦ اﻟﻌﻘﺪ ﻓﻲ اﻟﺸﺒﻜﺔ .ﻟﻠﺴﻤﺎح ﺑﺘﻤﺪﻳﺪ ﻋﻤﺮ ﺷﺒﻜﺔ ﻻﺳﻠﻜﻴﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ﻋﺪد هﺎﺋﻞ ﻣﻦ اﻟﻌﻘﺪ
اﺳﺘﺸﻌﺎر ﻣﺠﻬﺰة ﺑﺒﻄﺎرﻳﺎت ﺻﻐﻴﺮة؛ وﺿﻌﻨﺎ إﻓﺘﺮاض إﺳﺘﺨﺪام ﺗﻘﻨﻴﺔ ﺗﺤﺼﻴﻞ اﻟﻄﺎﻗﺔ اﻟﻤﺤﻴﻄﺔ .هﺬﻩ اﻷﻃﺮوﺣﺔ
ﺗﺮآﺰ ﻋﻠﻰ ﺑﺮوﺗﻮآﻮﻻت آﻔﺎءة اﻟﻄﺎﻗﺔ ﻓﻲ ﺷﺒﻜﺎت اﻻﺳﺘﺸﻌﺎرو ﺗﻘﺘﺮح أﺳﺎﺳﺎ إﻃﺎرا ﻟﺘﻘﻠﻴﻞ وﻗﺖ اآﺘﻤﺎل ﻓﻲ ﺷﺒﻜﺔ
اﺳﺘﺸﻌﺎر ﻻﺳﻠﻜﻴﺔ ﻣﻊ ﺣﺼﺎد اﻟﻄﺎﻗﺔ ﺗﺤﺖ ﺗﻮﺟﻴﻪ اﻻﻧﺘﻬﺎزﻳﺔ و اﻟﺘﺮﻣﻴﺰ اﻟﺸﺒﻜﻲ اﻟﺨﻄﻲ اﻟﻌﺸﻮاﺋﻲ .اﻟﺘﻘﻨﻴﺎت اﻟﺘﻘﻠﻴﺪﻳﺔ
ﻟﻴﺴﺖ ﻣﻨﺎﺳﺒﺔ ﻟﺤﻞ اﻟﻨﻤﻮذج اﻟﻤﻘﺘﺮح ﻷﻧﻪ ﻏﻴﺮ ﻣﺤﺪب .ﻟﺬﻟﻚ ،ﺗﻢ اﺳﺘﻐﻼل ﻃﺮﻳﻘﺔ Fﻟﻴﺒﺸﻴﺘﺰ وأﺛﺒﺘﺖ وﺟﻮد ﺣﻞ
ﻟﻠﻤﺸﻜﻠﺔ اﻟﻤﺼﺎﻏﺔ .و ﻟﻤﻌﺎﻟﺠﺔ ﻋﺪم اﻟﻴﻘﻴﻦ ﺧﻼل ﺣﺴﺎب اﻟﻤﺸﺘﻘﺎت ،ﻗﻤﻨﺎ ﺑﺎﺳﺘﺨﺪام اﻟﺤﺴﺎب اﻟﻔﺎﺻﻞ ﺣﻴﺚ ﺗﺮد اﻟﻨﺘﻴﺠﺔ
اﻟﺪﻗﻴﻘﺔ ﻓﻲ اﻟﻤﺠﺎل اﻟﻤﺤﺴﻮب .ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎآﺎة اﻟﺘﻲ ﺣﺼﻞ ﻋﻠﻴﻬﺎ ﺑﻮاﺳﻄﺔ ﻣﻄﻠﺐ وأﻣﻨﻴﺖ + +ﺗﻌﻄﻲ ﺗﻘﻴﻴﻢ اﻟﺨﻄﺔ
اﻟﻤﻘﺘﺮﺣﺔ ﻣﻦ ﺣﻴﺚ اﻹﻧﺘﺎﺟﻴﺔ ،اﻟﻄﺎﻗﺔ ووﻗﺖ اﻻﻧﺘﻬﺎء .هﺬﻩ اﻟﻨﺘﺎﺋﺞ ﺗﻮﺣﻲ ﻟﻠﻌﻤﻞ ﻓﻲ آﺜﺎﻓﺔ ﻋﺎﻟﻴﺔ ﻟﺘﻘﻠﻴﻞ اﺣﺘﻤﺎل
اﻟﻤﺤﻮ .ﻣﻦ ﺟﻬﺔ أﺧﺮى ،إﻃﺎﻟﺔ ﻋﻤﺮ ﺷﺒﻜﺔ اﻻﺳﺘﺸﻌﺎر هﻮ ﻣﺴﺎهﻤﺔ أﺧﺮى ﻓﻲ هﺬا اﻟﻌﻤﻞ .ﻓﻲ هﺬا اﻟﺴﻴﺎق ،ﺗﺘﻌﻠﻖ ﻋﻘﺪ
اﻻﺳﺘﺸﻌﺎر ﺑﺎﺣﺘﻤﺎﻻت اﺳﺘﻘﺒﺎل ﺑﺤﻴﺚ ﻳﺘﻢ ﺿﻤﺎن ﻣﻮﺣﺪة اﺳﺘﻬﻼك اﻟﻄﺎﻗﺔ ﺑﻴﻦ اﻟﻌﻘﺪ .و ﻟﻘﺪ ﺣﻞ اﻟﻨﻤﻮذج ﺑﺎﺳﺘﺨﺪام
ﺳﻤﻠﻴﺘﺎد أﻧﺎﻟﻴﻦ واﻟﺒﺮﻣﺠﺔ اﻟﺨﻄﻴﺔ وأدى إﻟﻰ اﻟﺘﻘﺎرب .
اﻟﺠﺰء اﻵﺧﺮ ﻣﻦ هﺬﻩ اﻟﺮﺳﺎﻟﺔ ﺗﻌﻠﻖ ﺑﻮﺿﻊ ﺧﻄﺔ ﻟﺘﻮﺟﻴﻪ اﻟﺒﻴﺎﻧﺎت ﻣﻊ ﻣﺮاﻋﺎة اﺳﺘﺨﺪام اﻟﻄﺎﻗﺔ ﻓﻲ ﺷﺒﻜﺎت اﻻﺳﺘﺸﻌﺎر
اﻟﻤﺤﻤﻮﻟﺔ ﺣﻴﺚ ﻳﺘﻢ اﺳﺘﺨﺪام اﻟﺘﻨﺒﺆ ﺑﺎﻟﺘﺰاﻣﻦ ﻟﺘﻮﺟﻴﻪ اﻟﺒﻴﺎﻧﺎت ﻓﻲ ﺷﺒﻜﺔ آﺜﻴﻔﺔ .ﻣﻌﺪل اﻟﺘﺴﻠﻴﻢ ﺟﻴﺪ وأﺧﻄﺎء اﻟﺘﻤﺮآﺰ
ﻣﻘﺒﻮﻟﺔ .
آﻠﻤﺎت اﻟﺒﺤﺚ
ﺷﺒﻜﺎت اﻹﺳﺘﺸﻌﺎر ،اﻟﺘﻮﺟﻴﻪ اﻹﻧﺘﻬﺎزي ،اﻟﺘﻮﺟﻴﻪ اﻟﺠﻴﻐﺮاﻓﻲ ،اﻟﺘﺮﻣﻴﺰ اﻟﺸﺒﻜﻲ اﻟﺨﻄﻲ اﻟﻌﺸﻮاﺋﻲ ،ﺗﺤﺼﻴﻞ اﻟﻄﺎﻗﺔ،
اﻟﺘﺤﺴﻴﻦ F ،ﻟﻴﺒﺸﻴﺘﺰ ﻣﻴﺘﺎ أورﺳﺘﻴﻚ ،اﻟﺘﻨﻘﻞ ،أﻣﻨﻴﺖ + +
Table de matière
Introduction générale 8
1. Introduction 10
3. Réseaux de capteurs 11
10-1. Inondation 17
10-2. Gossiping 17
16. Conclusion 24
1. Introduction 26
3. Champs de Galois 27
5. Codage réseau 29
8. Protocole MORE 35
9. Protocole SOAR 38
10. Conclusion 39
1. Introduction 41
2. Problème d’optimisation 41
4. Méthodes de résolution 42
5. Fonction Lipschitz 43
7. Problème canonique 47
11. Conclusion 52
1. Introduction 53
3. Contributions secondaires 68
3-1. Maximisation de la durée de vie d’un réseau de capteurs sous routage opportuniste 68
4. Conclusion 74
1. Introduction 75
3-1. Composants 77
4. Résultats de simulation 79
3
4-1. Résultats de la contribution principale 79
5. Conclusion 90
Références bibliographiques 97
4
Liste des figures
5
Chapitre 3 : Optimisation F-Lipschitz
Figure 6. Scénario 1 67
Figure 7. Scénario 2 67
7
Introduction génèrale
Notons que ce manuscrit contient à la fin une annexe sur le calcul par intervalles.
9
Chapitre 1 : Réseaux de capteurs
1. Introduction
Les technologies permettant la transmission sans fil des informations sont désormais d’usage
courant. Plus spécifiquement, l’avènement des réseaux de capteurs a révolutionné le monde. Il
s’agit d’unités miniaturisées dotées de capacités d’acquisition et de communication des
informations à une faible portée. Aux contraintes traditionnelles des réseaux ad hoc s’ajoutent
des limites très strictes : capacité de calcul, la mémoire et en particulier l’énergie. L’émergence
de ce champ d’étude impose une sévérité de divers problèmes et de nouveaux protocoles qui
soient efficaces en énergie sont requis. Le problème du routage est ainsi omniprésent dans les
réseaux de capteurs et c’est d’ailleurs un problème d’optimisation bi-objectifs : trouver le chemin
optimal et minimiser la consommation énergétique et/ou maximiser la durée de vie du réseau.
Depuis quelques années, l’accent a été mis sur la conception des capteurs autonomes pouvant
convertir l’énergie récupérée à partir de l’environnement externe afin de prolonger la durée de
vie du réseau.
L’objectif de ce chapitre est de dresser un état de l’art des réseaux de capteurs et la technologie
de récupération d’énergie.
Si
S?
mi m
Figure1. Principe de l’étalonnage
10
Chapitre 1 : Réseaux de capteurs
Dans la littérature, on trouve souvent le terme capteur actif et passif. On parle de capteur passif
lorsque le signal généré S est une différence d’impédance et une source d’énergie est intégrée
pour le lire. En fonction des paramètres que l’on souhaite mesurer et contrôler, une multitude de
capteurs existent dans le marché industriel. Il s’agit des capteurs de température, position,
vitesse,… chacun ayant des caractéristiques de précision, rapidité et de sensibilité [3].
3. Réseaux de capteurs
Traditionnellement, l’emploi des capteurs était limité au prélèvement de la température,
l’humidité, la vitesse,… par la suite on a pensé à rajouter des capacités de communication en
ayant la possibilité d’accéder à distance aux grandeurs mesurées par les capteurs. L’idée consiste
donc à déployer des capteurs dans un champ. Un ou plusieurs nouds capteurs prennent le rôle de
source (entité qui fournit des informations). De plus, on a besoin d’une ou plusieurs stations de
base (entité où l’information est requise). Ça peut être un PDA ou un Gateway à un autre réseau
Internet, satellitaire, wifi, wimax… Dans ce contexte, un ou plusieurs utilisateurs peuvent avoir
accès aux informations collectées et acheminées par les capteurs qui assurent la double fonction
de collecte des données et celle du routage. En particulier, l’interaction avec l’environnement, le
traitement des informations et la communication de manière locale constituent les éléments clés
d’un réseau de capteurs [4].
-Unité de capture : elle a été expliquée dans la section précédente. Pratiquement, chaque unité de
capture est caractérisée par trois rayons: un rayon de communication qui lui permet d’échanger
11
Chapitre 1 : Réseaux de capteurs
des messages et des données avec les autres nœuds capteurs, un rayon d’interférence permettant
de détecter les collisions et un rayon plus large qui constitue le rayon de sensation. Ce dernier est
la portée assurant la détection des évènements. Les technologies matérielles offrent deux choix :
des valeurs fixes ou variables pour les trois rayons. Evidemment, des valeurs assez élevées pour
le rayon de communication et de sensation requièrent une puissance considérable.
-Contrôleur : collecte les données produites par les capteurs associés à un nœud et celles
envoyées par les nœuds capteurs voisins. Il assure également le traitement des données et la prise
de décision concernant leur envoi (quand est ce qu’il faudra envoyer et quand ?). Les réseaux de
capteurs déployés par les entreprises industrielles incluent des microcontrôleurs tels que : Intel(
32 bits RISC, Core, 206 MHZ) , Texas (16 bits RISC Core) et Atmel ( 8 bits et il est équipé par
différentes interfaces).
Trois motivations pour l’utilisation des microcontrôleurs dans le cadre des réseaux de capteurs
sont à mentionner :
-Mémoire : les valeurs lues ainsi que les paquets reçus sont stockés dans la RAM tandis que
l’application du réseau de capteurs réside en ROM. Plus précisément, une EEPROM est requise
afin de servir pour la sauvegarde des données en cas où la RAM n’est pas suffisante.
-Communication : la plupart des réseaux de capteurs s’appuient sur les communications radio
fréquence (RF) puisqu’elles offrent un débit élevé et la distance de communication tolérée est
bonne. A cela s’ajoute le fait que les erreurs sont acceptables et qu’aucune ligne de visée n’est
requise. Pour cela, l’architecture d’un capteur intègre un émetteur/récepteur dont le rôle est de
convertir les trames de bits émises par le microcontrôleur en une onde radio. Il est à noter que le
problème des communications RF est qu’elles requièrent la modulation, le multiplexage, filtrage
et la démodulation des signaux. Ces opérations sont complexes et consomment de l’énergie.
-Source énergétique : la batterie constitue la source d’énergie la plus utilisée mais nous allons
voir au niveau de la deuxième partie de ce chapitre qu’actuellement les capteurs sont capables de
récupérer l’énergie à partir de l’environnement externe. Signalons que les batteries ont des
caractéristiques matérielles (capacité, taux de décharge,…) qu’il faudra prendre en considération.
Les capteurs, le microcontrôleur et l’émetteur/récepteur radio sont les composants qui
consomment une grande partie d’énergie. Les études réalisées confirment que
l’émetteur/récepteur consomme une très grande quantité d’énergie (lorsqu’il est en mode
transmission, réception ou en veille) par rapport aux capteurs et microcontrôleurs [5]. Plus
précisément, 62% de l’énergie est consommée par l’émetteur/récepteur radio d’une architecture
d’un réseau de capteurs typique lorsqu’il est en mode de transmission. Cependant, 19% de
l’énergie est consommée en mode de réception et le reste de l’énergie est consommé par le
microcontrôleur.
12
Chapitre 1 : Réseaux de capteurs
Mémoire
Source énergétique
Diverses plateformes des réseaux de capteurs ont été conçues et peuvent être regroupées en
low-end et high-end. La première classe est caractérisée par des capacités limitées en termes de
traitement de l’information et celle de stockage. Dans ce cas, un nombre important de capteurs
doit être déployé [5]. D’un point de vue architectural, les plateformes de type ‘high-end’ sont
basées sur des composants plus performants. Le tableau 1 donne un aperçu des plateformes
existantes.
A l’issu de l’hétérogénéité des plateformes des réseaux de capteurs, des standards ont été
développés.
-IEEE 802.15.4 offre trois bandes de communication. La bande globale de 2.4 MHZ, la bande de
915 MHZ réservée à l’Amérique et celle de 868 MHZ réservée à l’Europe. Ce standard définit
les protocoles de la couche physique et la couche MAC (medium Access control). Il s’adapte
bien à des réseaux de topologie étoile, mesh, arbre et cluster. IEEE 802.15.4 permet des
communications à une distance de 10-100 m avec un débit de 20-250 Kbps.
-Zigbee est un second standard définit au-dessus du IEEE802.15.4 et spécifie les protocoles de la
couche réseau et application. Les dispositifs Zigbee nécessitent très peu d’énergie pour
fonctionner ; ce qui favorise l’utilisation de ce standard dans le cas des réseaux de capteurs.
Néanmoins, le débit offert par Zigbee est un point critique surtout si le réseau considéré est
dense. Au niveau de la couche réseau, le routage peut être direct si l’adresse réseau est connue ou
indirect (de manière hiérarchique) dans le cas contraire et ceci après une phase de découverte de
la route comme c’est le cas du protocole AODV ‘Ad hoc on demande distance vector’.
13
Chapitre 1 : Réseaux de capteurs
Les réseaux de capteurs et les réseaux ad hoc représentent deux catégories des réseaux sans fil.
La communication sans fil, le fonctionnement sans avoir besoin d’une infrastructure pour la
gestion des échanges et la dépendance de la portée de communication aux capacités de
rayonnement et de la puissance choisie sont des points communs à eux. Les réseaux ad hoc sont
composés d’objets ayant un intérêt propre [6] et sont souvent utilisés directement par des êtres
humains (PDA, portables,…). Par exemple, dans un réseau de téléphonie, chaque hôte désire
joindre un correspondant ou accéder à des services. Les hôtes dans un réseau de capteurs sont
fréquemment déployées dans un environnement hostile, ont une application commune et sont
orientées vers la collecte des données. Elles sont peu mobiles par rapport aux hôtes dans un
réseau ad hoc. Un autre point concerne les capacités de calcul et d’énergie qui sont souvent
limitées dans les réseaux de capteurs. Enfin, il est à noter que les réseaux ad hoc opèrent à un
débit élevé en comparaison au débit utilisé dans les réseaux de capteurs [7].
-Type de service : une fois déployé, un réseau de capteurs doit fournir des informations
significatives et ne doit pas se limiter au transport des bits de données comme dans le cas des
réseaux classiques [4].
14
Chapitre 1 : Réseaux de capteurs
-Qualité de service : le délai des applications temps réel est un facteur crucial. La qualité du
service peut être atteinte en assurant un bon taux de délivrance des messages tout en garantissant
une meilleure qualité des informations mesurées et transportées [4].
-Tolérance aux fautes : ce paramètre est directement lié à l’aspect matériel et software. Divers
points sont à prendre en considération : épuisement de l’énergie des capteurs, interférences et des
capacités de calcul très limitées. La solution pratique consiste à faire un déploiement redondant
[4,5].
-Passage à l’échelle : lors de l’ajout de capteurs, le réseau est sensé fournir le même service [5].
-Durée de vie : la définition la plus connue de la durée de vie c’est l’intervalle de temps qui
sépare l’instant de déploiement de l’instant où le premier capteur épuise son énergie. Elle doit
être maximisée puisque le remplacement des batteries des capteurs n’est pas toujours pratique
[4].
Quelques mécanismes sont disponibles pour atteindre ces objectifs. On peut citer les
communications multi-sauts qui permettent de réduire la consommation énergétique, l’auto-
configuration des paramètres et la collaboration afin de bien décider sur l’apparition d’un
évènement [4].
Les caractéristiques des réseaux de capteurs leur permettent de couvrir une gamme importante
d’applications qui peuvent être orientées temps, évènements, requêtes ou hybrides. On parle
d’applications orientées temps si un instant précis est spécifié pour l’acquisition des données. La
deuxième classe concerne le cas d’envoi des données lorsqu’un évènement spécifique se
produise. Des fois, les nœuds capteurs ont besoin d’envoyer des données seulement si la station
de base le demande. Enfin, on peut envisager une application hybride dont le mode d’envoi des
données combine une ou deux stratégies de celles énoncées auparavant.
-Applications militaires : les réseaux de capteurs sont faciles à déployer et peuvent s’auto-
configurer [7]. De plus, la destruction d’un nœud dans un environnement hostile n’affecte pas les
autres. Ces caractéristiques favorisent l’utilisation des réseaux de capteurs pour la surveillance
des troupes, champs de bataille, guidage des missiles, détection d’attaques nucléaires,… Dans ce
cadre, SmartDust est un projet qui a été financé par DARPA où l’information est obtenue à partir
des mouvements des ennemies et la détection d’agents chimiques [5].
-Applications environnementales : il peut s’agir de la surveillance des animaux ou le suivi des
conditions de l’environnement (telles que la détection des altérations dans une structure d’un
bâtiment [7], la collecte des informations sismiques qui peuvent avoir lieu à côté des volcans en
s’appuyant sur des capteurs sismiques et acoustiques ou la détection des tempêtes de sable). Par
exemple, une recherche sur le microclimat des arbres géants a été menée en déployant un réseau
de capteurs. Les capteurs sont munis de petites stations météorologiques afin d’étudier les
variations microclimatiques suivants les régions d’une forêt.
15
Chapitre 1 : Réseaux de capteurs
-Applications médicales : CodeBlue est un projet à l’université Harvard. Son objectif est le
déploiement des capteurs afin de surveiller la saturation de l’oxygène dans le sang, les activités
électriques et musculaires chez des patients tout en ayant la possibilité d’accéder à ces
informations à travers des PDA [5].
Liaison
Physique
-Couche physique : elle est responsable de la sélection de la fréquence, la détection des signaux
et la modulation.
-Couche liaison : effectue le multiplexage des données, détecte les frames et sert d’accès au
medium.
-Couche réseau : décide du routage des paquets en fonction des requêtes, évènements,…
-Couche transport : elle est requise lorsque le réseau est accessible à travers Internet ou un autre
réseau.
-Couche application : spécifie le code de l’application.
16
Chapitre 1 : Réseaux de capteurs
Acheminer des paquets des données d’une ou plusieurs sources vers une ou plusieurs
destinations est la tâche assurée par la couche réseau de la pile protocolaire. Cependant, diverses
contraintes liées aux réseaux de capteurs impliquent la conception de nouveaux protocoles de
routage qui diffèrent de ceux dédiés aux réseaux ad hoc. En effet, les protocoles de routage dans
les réseaux de capteurs doivent [5]:
-Etre basés sur un échange réduit de messages vue les contraintes énergétiques et celles de calcul
et de capacité mémoire.
-Supporter un nombre élevé de capteurs dont les adresses peuvent être inconnues lors du
déploiement.
-Etre robustes puisque tous les nœuds capteurs peuvent jouer le rôle de routeurs.
10-1. Inondation
L’idée de l’inondation est intéressante dans les réseaux de capteurs denses où il est impossible
d’affecter des adresses aux nœuds capteurs. Dans ce contexte, la source diffuse des paquets à ses
voisins et tout nœud qui reçoit ce paquet doit à son tour le diffuser à ses voisins. Ce processus se
répète jusqu’à ce que la destination puisse avoir les paquets de la source. Le problème de cette
technique est qu’elle nécessite des ressources de calcul importantes. En pratique, on peut penser
à contrôler l’opération de diffusion.
10-2. Gossiping
Un des problèmes de la diffusion est lié à la réception de la même copie du paquet par
plusieurs nœuds capteurs et à un moment donné, on peut observer diverses copies du même
paquet en train de circuler dans le réseau. Le gossiping a résolu ce problème en sélectionnant un
seul nœud pour relayer le paquet. De cette façon, la consommation énergétique sera faible en
comparaison à l’inondation.
10-3. SPIN
[Link] et al. [5] ont développé un protocole de routage dont le principe se base sur la diffusion
et la négociation. Ce protocole fonctionne comme suit : avant de procéder à l’envoie des
données, un nœud avertit ses voisins en transmettant un paquet ADV (advertise) qui contient des
meta-données. Le nœud qui s’intéresse répond par un message request (REQ). Enfin, le paquet
de données est envoyé. Un avantage de ce protocole est lorsqu’un nœud constate que sa batterie
17
Chapitre 1 : Réseaux de capteurs
est au-dessous d’un certain seuil, il cesse de participer dans le protocole. Autrement dit, il ne
répond plus aux ADV reçus.
B B B
AD
C AD C RE C DATA
A A A
AD
D AD D D
E E E
Par exemple la figure ci-dessus montre les étapes du protocole SPIN. Dans cet exemple, seul le
nœud C est intéressé aux données.
[Link] géographique
Cette technique exploite les positions des capteurs obtenues soit par système GPS soit par
localisation. Des règles simples sont utilisées pour acheminer les paquets. L’inconvénient majeur
de cette technique concerne les erreurs de localisation. On trouve deux variantes pour le routage
géographique [9] :
-Routage par voisinage: les algorithmes de routage greedy basent leur raisonnement sur la
trajectoire à vol d’oiseau entre une source et une destination. Le principe consiste à acheminer le
18
Chapitre 1 : Réseaux de capteurs
message par le biais du meilleur voisin qui soit proche de la destination en termes du progrès,
distance ou angle est sélectionné. Ce procédé est répété jusqu’à ce que la destination soit atteinte.
Par exemple, le voisin A minimise l’angle par contre B minimise le progrès et la distance.
L’efficacité de cette technique, en terme du taux d’acheminement des messages est liée à la
densité réseau. De plus, la consommation énergétique est une contrainte inhérente aux réseaux de
capteurs ; d’où l’idée d’envoyer les paquets réseau au voisin qui minimise la dépense
énergétique. Le travail présenté dans [10] traite conjointement deux problèmes complexes qui
sont étroitement liés et dont la résolution simultanée est fonction de diverses contraintes. Il s’agit
de localiser des capteurs mobiles et d’effectuer un routage géographique efficace en énergie.
-Routage par face : définit une forme géométrique afin d’éviter le problème des trous qui se pose
dans le routage greedy. Evidemment, la forme construite doit inclure l’ensemble des nœuds du
réseau. Lorsqu’un nœud capteur envoi un message à une destination, le message sera transmis le
long des faces de ce graphe qui intersectent la droite passant par la source et la destination. Un
problème de complexité de la construction du graphe est à prendre en compte.
A Dis(A,D)
Prog(A,D)
S Prog(B,D) D
Dis(B,D)
B
-CFG (greedy- face-greedy) : cette catégorie a été proposée afin de combiner les avantages des
de techniques citées plus haut. Le principe ici est de procéder par routage greedy et de basculer
au routage par face dès la présence d’un trou.
[Link] cross-layer
Les études récentes ont montré que l’intégration des fonctionnalités de deux ou trois couches
de la pile protocolaire permet de diminuer considérablement la consommation énergétique. La
tendance actuelle consiste à mettre en œuvre des protocoles de routage qui tiennent compte du
19
Chapitre 1 : Réseaux de capteurs
fonctionnement de la couche MAC et/ou physique [5]. Par exemple, acheminer les paquets en
tenant compte du fait que les nœuds capteurs peuvent être mis en veille [6] constitue une
thématique de recherche très intéressante. De plus, l’influence des conditions du canal lors du
routage est un autre problème d’un intérêt important. I-F. Akyildiz et al. [5] ont conçus un
protocole avantageux d’un point de vue latence, énergie et complexité. Un seul module a été
défini tel que chaque nœud possédant des données diffuse un paquet spécial dans le but
d’indiquer à ses voisins qu’il possède un paquet. La décision de la participation d’un voisin
dépend de quatre paramètres : la puissance du signal reçu, la congestion, le dépassement de
capacité au niveau du buffer et l’énergie résiduelle. Ce protocole a été comparé à quelques
configurations s’appuyant sur le routage géographique et l’inondation et adoptant un protocole
MAC (SMAC, CSMA,…).
Par définition, la récupération d’énergie est le processus qui consiste à obtenir l’énergie à partir
de l’environnement externe (lumière solaire et artificielle, mouvements vibratoires, chaleur,
rayonnement électromagnétique,…) et de transformer cette énergie en une énergie électrique
directement exploitée par les nœuds capteurs [11]. Les premiers nœuds capteurs étaient munis de
petites batteries et la durée de vie est ainsi limitée. On a donc pensé à remplacer les petites
batteries par d’autres qui soient plus puissantes mais le coût et de la taille des capteurs étaient
deux paramètres à prendre en charge. D’autre part, quelques réflexions ont abordé les
problématiques liées aux réseaux de capteurs tout en spécifiant la maximisation de la durée de
vie comme fonction objective. Cependant, la durée de vie reste toujours limitée et bornée. Une
autre alternative a récemment émergé et consiste à intégrer un système de récupération d’énergie
dans chaque nœud capteur. Présentement, des solutions spécifiques pour quelques applications
existent mais aucun standard n’a été mis en œuvre. Citons par exemple, ZebraNet qui est un
réseau de capteurs mobiles où les capteurs sont équipés par un système GPS pour le suivi des
zèbres et leur habitat. Il est basé sur des cellules solaires. En d’autres termes, la récupération
d’énergie permet :
-maximiser la durée de vie du réseau.
-Des avantages économiques en évitant les coûts non négligeables de remplacement des
batteries.
-Avoir des capteurs autonomes.
A côte des composants déjà cités en section 3, chaque nœud du réseau doit inclure un système
de récupération et de conversion de l’énergie. Dans ce cas, deux possibilités sont offertes.
20
Chapitre 1 : Réseaux de capteurs
Figure 7. ZebraNet.
Capteur
Composant de Composant de
stockage stockage secondaire
21
Chapitre 1 : Réseaux de capteurs
Différentes sources d’énergie peuvent être exploitées et chacune possède ses propres
caractéristiques. De manière générale, les sources énergétiques peuvent être classées en [12]:
-Contrôlables ou non contrôlables : les sources d’énergie contrôlables fournissent l’énergie des
qu’elle soit requise. Cependant, les sources non contrôlables permettent de récupérer l’énergie
seulement si elle est disponible. Dans ce cas, un modèle de prédiction de l’énergie est nécessaire.
Si le modèle de prédiction est complexe on parle de source non contrôlable et imprédictible. Les
ondes radio fréquences sont partiellement contrôlables puisque la quantité d’énergie produite
n’est pas déterministe et elle dépend des caractéristiques de propagation.
-Ambiante : l’énergie ambiante est celle obtenue à partir de l’environnement externe. Une autre
catégorie représente l’énergie récupérée à partir du corps humain.
-Effet photovoltaïque : les cellules solaires exploitent l’effet photovoltaïque pour convertir la
lumière du soleil en une énergie électrique. Le composant principal de ces cellules est le
silicium. Dès que les cellules sont exposées au soleil, les électrons échappent du silicium puis un
flot est créé.
-Effet thermique : un voltage est créé en présence d’une différence d’énergie entre deux métaux
ou semi-conducteurs. Par exemple, ThermoLife est un petit générateur qui offre une puissance de
22
Chapitre 1 : Réseaux de capteurs
Considérons que la source énergétique fournit une puissance PS (t) et que la puissance
consommée est Pc (t) . Trois cas peuvent être distingués pour modéliser le comportement
d’un système de récupération de l’énergie.
-Aucun stockage de l’énergie : le système peut opérer à tout instant si :
-Buffer idéal :
23
Chapitre 1 : Réseaux de capteurs
B : Capacité du buffer.
η : Efficacité du chargement.
⎧ x si x > 0
[x] + = ⎨ (4)
⎩ 0 si x <= 0
16. Conclusion
24
Chapitre 1 : Réseaux de capteurs
25
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
1. Introduction
Pour assurer des communications dans les réseaux sans fil, de nombreux protocoles de routage
existent et ont été suffisamment testés. Le problème crucial de ces protocoles et qu’ils ne
tiennent pas compte des erreurs de transmission. En exploitant la diversité spatiale et la
caractéristique de diffusion des réseaux sans fil, le routage opportuniste choisit le prochain voisin
en fonction des critères de proximité par rapport à la destination. Le protocole le plus connu
s’appelle MORE. Ce dernier tire profit des avantages du codage réseau aléatoire afin d’éviter la
coordination entre les nouds. Il opère sur les vecteurs de codes, ignore tout vecteur qui ne soit
pas innovant et code chaque nouvelle transmission. Ceci favorise son utilisation dans des réseaux
de capteurs ayant de faibles ressources énergétiques. Ce chapitre porte donc sur le routage
opportuniste et donne en parallèle un aperçu concernant les champs de Galois qui sont souvent
utilisés dans le codage réseau aléatoire.
C’est une structure algébrique munie des opérations (+ ,- , * , /) et préservant les règles
connues. Plus spécifiquement, si F est un champ associé des opérations d’addition (+) et de
multiplication (.) alors [16]:
1‐ a + (b + c) = (a + b) + c //Associativité de l’addition
2‐ a + b = b + a //Commutativité
L’ensemble des réels et celui des complexes sont des exemples de champs.
La notation Z p réfère à l’ensemble des entiers {0,1,2,... , p − 1} en utilisant l’arithmétique modulo p .
Si p est premier alors Z p est un champ et toutes les propriétés énoncées ci-dessus sont vérifiées.
26
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Par exemple, les tables suivantes montrent l’opération d’addition et de multiplication dans le
champ Z 7 .
+ 0 1 2 3 4 5 6 . 0 1 2 3 4 5 6
0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0
1 1 2 3 4 5 6 0 1 0 1 2 3 4 5 6
2 2 3 4 5 6 0 1 2 0 2 4 6 1 3 5
3 3 4 5 6 0 1 2 3 0 3 6 2 5 1 4
4 4 5 6 0 1 2 3 4 0 4 1 5 2 6 3
5 5 6 0 1 2 3 4 5 0 5 3 1 6 4 2
6 6 0 1 2 3 4 5 6 0 6 5 4 3 2 1
Table1.a. Addition dans le champ Z7. Table1.b. Multiplication dans le champ Z7.
3. Champs de Galois
Sont très utilisés dans les opérations de codage et de cryptographie. Les propriétés
fondamentales des champs de Galois ont été découvertes par le mathématicien Français Galois.
Si p est premier alors GF(p m ) est composé des polynômes de degré (m − 1) définis dans le
champ Z p . La forme générale d’un polynôme est [17]:
La construction d’un champ de Galois est obtenue à partir d’un polynôme primitif qui dépend de
m . Ainsi, la table suivante spécifie les polynômes primitifs pour m= 3,...,10
27
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
m P ( x)
3 1 + x + x3
4 1+ x + x4
5 1 + x2 + x5
6 1+ x + x6
7 1 + x3 + x7
8 1 + x 2 + x3 + x 4 + x8
9 1 + x4 + x9
10 1 + x 3 + x 10
Pour la multiplication, le résultat peut être en dehors du champ et il est donc nécessaire de
considérer (p 1 .p 2 )modp .
Nous allons donc expliquer ces deux opérations à travers un exemple dans GF(2 3 ) dont la
représentation des polynômes est donnée en table 3.a et le résultat de l’addition est illustré en
table 3.b. Prenons par exemple l’addition de x 2 + x + 1 , x + 1 et x 2 + 1 ainsi que la multiplication
de ( x 2 + 1 ) et ( x 2 + x ). Ces opérations peuvent être effectuées comme suit [16]:
x2 + x +1 x2 + 1
0 + x +1 x2 + x
x2 + 0 +1
0 0 1 x3 + x
x4 + x2
28
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
x4 + x3 + x2 + x 1 + x + x3
x4 + x2 + x
x3 x
0 000 0 0 0 1 2 3 4 5 6 7
1 001 1 1 1 0 3 2 5 4 7 6
2 010 x 2 2 3 0 1 6 7 4 5
3 011 x +1 3 3 2 1 0 7 6 5 4
4 100 x2 4 4 5 6 7 0 1 2 3
5 101 x2 +1 5 5 4 7 6 1 0 3 2
6 110 x2 + x 6 6 7 4 5 2 3 0 1
7 111 x2 + x +1 7 7 6 5 4 3 2 1 0
5. Codage réseau
Le codage réseau est un nouveau paradigme qui a attiré l’attention des informaticiens et
électroniciens. L’idée principale consiste à permettre aux nœuds du réseau de traiter les paquets
reçus (effectuer une addition binaire) avant de les envoyer. Ceci permet d’accroitre
considérablement le débit des transmissions. Afin d’avoir une idée préliminaire à propos du
codage réseau, nous allons considérer le réseau illustré en figure 1 où les nœuds représentent des
terminaux et les liens représentent des canaux de transmission. Deux sources S1 , S 2 et deux
destinations R 1 , R 2 sont présentes. Le temps est divisé en slots et chaque canal peut envoyer
1bit/slot. La source S1 peut générer un seul bit/slot qui est dénoté par x 1 et la source S 2 peut
générer un seul bit/slot qui est dénoté par x 2 [18].
29
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
A B A B A B
C C C
x1+x2
D F D F C F
R1 R2 R1 R2 R1 R2
E E
E
Figure 1. a. Routage vers R1. Figure 1.b. Routage vers R2. Figure 1.c. Multicast avec codage réseau.
30
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
-Sécurité : supposant qu’un nœud attaquant tente d’écouter les transmissions faites sur le chemin
A − B − D ou A − C − D . Avec le codage réseau, la présence d’un attaquant ne va pas dégrader les
performances du système en termes de sécurité puisqu’il est impossible de décoder n’importe
quelle partie des données.
A x1 B C A x1 B C
x1 x1 x2
A B C A B C
A B x2 C A x1 + x2 B x1+ x2 C
A B C
x2 x2
Figure2.a. Echange de x1 et x2 sans codage réseau. Figure 2.b. Echange de x1 et x2 avec codage réseau.
B B
x1 x1 x1+x2 x1+x2
A D D
A
x2 x2
C C
x1+2x2 x1+2x2
Figure 3.a. Envoi des données sans codage réseau. Figure 3.b. Envoi des données avec codage réseau.
31
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Soit G un graphe. Une coupe est une division des nœuds en deux sous-ensembles. Elle est
caractérisée par sa taille qui est le nombre de liens traversant la coupe. Le théorème du codage
réseau affirme que le débit observé au niveau de chaque nœud du réseau est égal à la valeur de la
coupe minimale entre la source et le nœud concerné. Ce débit peut être atteint par codage réseau
[19].
S
.
S
A B
T w
C
E F
D
Coupe= 3 coupe = 2 coupe =2
Figure 4.a. Taille de la coupe au niveau de D. Figure 4.b. Taille de la coupe au niveau de E et F.
L’un des problèmes du codage réseau est qu’il est difficile de l’utiliser dans des topologies
aléatoires, variables ou denses. Une autre réflexion a été proposée par [20] et consiste à effectuer
des combinaisons linéaires aléatoires des paquets dans un champ fini ; le plus souvent le champ
de Galois. Considérant n paquets M 1 , M 2 ,..., M n générés par une ou plusieurs sources. Chaque
paquet est associé à un vecteur de coefficients g = (g 1 , g 2 ,..., g n ) dans GF(p n ) . Chaque nœud choisit
les coefficients de façon indépendante et décentralisée. De plus, les paquets peuvent être
recombinés par les nœuds intermédiaires. La figure 4 montre que la source a diffusé un paquet
combiné (g 1 , X 1 ) .
32
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
n
X1 = ∑ g i M i (2)
i =1
Le nœud C a procédé à une combinaison des deux paquets reçus et a diffusé (X ' , g ' ) tels que :
⎧ 2
⎪⎪ X' = ∑j=1
h jX j
(3)
⎨ 2
⎪ g' = ∑ h j g i j
⎪⎩ j=1
M 1 , M 2 ,..., M n
g 1 M 1 + g 2 M 2 + ...g n M n g 1 M 1 + g 2 M 2 + ...g n M n
A B
h 1 (g 1 M 1
+ g 2M 2 + ...g n M n ) +
h 2 (g 1 M 1
+ g 2M 2 + ...g n M n )
E F
C’est un nouveau mécanisme de routage dédié aux réseaux mesh dont le taux d’erreur de
transmission est considérable. Dans le routage traditionnel, on sélectionne le prochain voisin
avant la transmission mais ceci implique des problèmes de réception si les liaisons sont soumises
à des erreurs. Le routage opportuniste exploite la diffusion qui existe dans les réseaux sans fil tel
33
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
que chaque nœud qui arrive à surprendre un paquet et soit proche de la destination est apte à
participer dans l’envoi des paquets reçus. La technique la plus récente du routage opportuniste
est basée sur le codage réseau telle que la source diffuse ses paquets et les routeurs créent une
combinaison linéaire aléatoire des paquets reçus. Enfin, la destination envoi un acquittement
suivant le chemin inverse en cas où tous les paquets ont été reçus [21].
0.49 1/0.49
P1,P2 P1
Figure 6.a. Exemple d’un réseau. Figure 6.b. Métrique ETX de chaque chemin.
Dans l’exemple précèdent, on suppose que S a diffusé deux paquets P1, P2. R a reçu P1, P2 par
contre D a uniquement reçu P1. Dans ce cas, R n’a pas besoin de retransmettre P2 mais peut
directement envoyer P1 + P2 . Deux questions principales sont à noter :
-Combien de paquets faut-il envoyer de sorte à garantir qu’au moins un nœud puisse recevoir un
paquet ?
7-1Métrique ETX
Le raisonnement de base du routage opportuniste s’adapte bien à des réseaux sans fil soumis à
des phénomènes physiques entraînant des erreurs de transmission des bits même en absence des
collisions. La solution classique à ce problème s’appuie sur les retransmissions au niveau de la
couche liaison et l’envoi d’un acquittement une fois le décodage est réussi. Ce mécanisme est
inapproprié dans le cas où la diffusion est un principe de base. Pour cela, le routage opportuniste
adopte bien la métrique ETX ‘expected number of transmissions’ pour délivrer un message. En
fait, l’ETX est inversement proportionnelle au taux d’erreur. Par exemple le nombre de
transmissions attendu suivant le chemin (S-R-D) de la figure 4.b est égale a 1/1.0+1/1.0=2 .
Cependant, le nombre de transmissions attendu suivant le chemin (S-D) est 1/0.49=2.04 > 2 [22].
34
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
C’est le premier protocole de routage opportuniste et d’autres voies de réflexions ont été
conçues après sa mise en œuvre. EXOR dépend de la couche Mac et assure ainsi le routage et
l’ordonnancement des transmissions afin d’éviter les problèmes de collision. Partant de
l’exploitation du principe de la diffusion dans un réseau sans fil contenant une seule source et
une seule destination, ce protocole suit les étapes suivantes [23] :
-la source prépare un batch de paquets à diffuser. Elle doit également établir une liste de priorités
concernant les nœuds pouvant participer dans la transmission. La priorité est basée sur la
métrique ETX.
-La réception d’un paquet par un nœud n’appartenant pas à la liste des nœuds concernés par la
transmission provoque son ignorance. Dans le cas contraire, le paquet est stocké dans un buffer
et un ordonnancement est assuré. Le nœud le plus prioritaire est autorisé à transmettre en premier
et chaque nœud maintient un compteur qui lui permet d’estimer l’instant adéquat pour la
transmission. Si un paquet a été déjà transmis par un nœud prioritaire, les autres nœuds doivent
le supprimer de leurs espaces de stockage et donc la possibilité qu’un paquet soit retransmis
plusieurs fois est faible.
-Des que la destination reçois un pourcentage élevé (90%) des paquets du batch, un autre cycle
est déclenché.
C’est un protocole pour les réseaux mesh statiques. Il est situé entre la couche IP et la 802.11.
Son principe peut être résumé par les opérations effectuées au sein de chaque nœud du réseau
[21].
-Source : divise le fichier à transmettre en batchs de K paquets et lorsque la 802.11 autorise
l’envoi des paquets, la source crée une combinaison linéaire aléatoire des K paquets et diffuse
P' = ∑ C i Pi tels que C i , i = 1 ... K représentent des coefficients aléatoires générés à partir d’un
i =1..k
champ de Galois. Chaque paquet envoyé contient l’IP de la source, la destination et la liste des
nœuds pouvant participer dans la transmission en s’appuyant sur l’estimation de la métrique
ETX.
-Nœuds intermédiaires : à la réception d’un paquet, le nœud concerné vérifie s’il appartient à la
liste des nœuds devant participer dans la transmission. Dans ce cas, la vérification du contenu du
paquet est exécutée. Il s’agit de tester si le paquet est innovant (porte une nouvelle information
ou non). Plus particulièrement, un paquet est innovant s’il est linéairement indépendant des
autres. Par la suite, si un nœud j a reçu des paquets de la forme P' = ∑ C ji Pi , il crée une
i
-Destination : de même, la destination vérifie si les paquets reçus sont innovants et lorsque K
nouveaux paquets ont été reçus, le processus de décodage aura lieu par l’inversion de la matrice
des coefficients.
35
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
⎛ P1 ⎞ ⎛ P1' ⎞
⎜ ⎟ ⎜ ⎟
−1 ⎜ ' ⎟
⎜ P2 ⎟ ⎛ C11 C12 . . . C1k ⎞ P
⎜. ⎟ ⎜ C ⎟ ⎜ 2 ⎟
C 22 . . . C 2k ⎟ ⎜. ⎟ (4)
⎜ ⎟ = ⎜ 21
⎜. ⎟ ⎜. . . ⎟ .⎜ ⎟
⎜ . ⎟ ⎜⎜ C ⎟ ⎜. ⎟
C k2 . . . C KK ⎟ ⎜ ⎟
⎜ ⎟ ⎝ k1 ⎠ .
⎜P ⎟ ⎜ ⎟
⎝ k⎠ ⎜P '⎟
⎝ k ⎠
L’heuristique utilisée par MORE est la suivante : le prochain voisin est celui qui soit proche de
la destination en termes du nombre de transmission attendu. i < j Signifie que i est plus proche
de la destination par rapport à j [21]. Le nombre de paquets attendus au niveau du nœud j est
∑ Zi (1 − ε ij )
i> j
Plus précisément, chaque nœud maintient un compteur Cmp initialisé à 0 et il est incrémenté
suivant la formule (5) après chaque réception d’un paquet.
Zj
Cmp j = Cmp j + (5)
∑ Zi (1 − ε ij )
i> j
Si le compteur est positif, le nœud est autorisé à créer une nouvelle combinaison aléatoire des
paquets reçus et lors d’une réception, le compteur est décrémenté de 1.
Les paquets manipulés par le protocole MORE sont de deux types : donnée ou acquittement
pour arrêter le processus de transmission. Chaque paquet contient donc un champ spécifiant son
type, l’adresse IP de la source et l’adresse IP de la destination. A cela s’ajoute l’identificateur du
flot généré et le numéro du batch auquel appartient le paquet. Dans le cas d’un paquet de
données, d’autres champs sont nécessaires : le vecteur des coefficients, le nombre des nœuds
concernés par la transmission, l’identificateur et le compteur de crédit associé à chacun d’entre
eux. Enfin, le résultat du codage réseau aléatoire est inséré [21].
36
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Type du paquet
IP de la source IP de la
destination
Id du flot
N° du batch
Nombre de nœuds
Id1 Cmp1
Id2 Cmp2
⎛ 1 1⎞ M(1)
M = ⎜1 - ⎟ tel que : M(1) =
⎝ 2 2⎠ 2
Le deuxième vecteur reçu (1 , 0,1) ne pourra pas être inséré en ligne 2. Par contre on peut
l’insérer en ligne 3 et matrice M devient :
37
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
⎛ 1 1⎞
⎜1 - ⎟
⎜ 2 2⎟
M=⎜ ⎟ , tel que : M(3) = M(3) − M(1)
⎜ ⎟
⎜⎜ 0 1 1⎟
⎟
⎝ 2 2⎠
Le troisième vecteur reçu (-3 , 2,-1) peut être inséré en deuxième ligne. La matrice M a donc la
forme suivante :
⎛ 1 1⎞
⎜1 - ⎟
⎜ 2 2⎟
⎜ 1 1⎟
M = ⎜0 , tel que M(2) = M(2) + 3 * M(1)
⎜ 2 2 ⎟⎟
⎜0 1 1⎟
⎜ ⎟
⎝ 2 2⎠
⎛ 1 1⎞
⎜1 - ⎟
⎜ 2 2⎟
⎜ 1 1⎟
Reste à transformer la deuxième ligne. M = ⎜ 0 , tel que : M(3) = M(3) + M(2)
⎜ 2 2 ⎟⎟
⎜0 0 0⎟
⎜ ⎟
⎝ ⎠
Nous constatons que la matrice M contient une ligne nulle et le nouveau vecteur reçu n’est pas
linéairement indépendant des autres.
Enfin, la figure 6 explique les principales étapes du protocole MORE.
9. Protocole SOAR
Ce dernier a été présenté dans [25] afin de supporter des flots multiples. C’est un protocole de
routage proactif où chaque nœud maintient une table de routage contenant la destination, la route
sélectionnée par défaut et la liste des nœuds impliqués dans la participation. La sélection de la
route peut être basée sur la métrique ETX ou n’importe quelle autre métrique tout en tenant
compte de la priorité. A la différence de MORE, SOAR permet aux nœuds non sélectionnés et
qui soient proches de la route établie par défaut de participer dans la transmission afin de
minimiser des transmissions inutiles. Cependant, la source doit limiter le nombre de nœuds
concernés. En ce qui concerne les transmissions, SOAR procède de la même manière que le
38
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
protocole TCP et le compteur de temps est calculé pour estimer l’instant de la prochaine
transmission.
10. Conclusion
39
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Emission Réception
Source?
Paquet
innovant?
Cmpi Å Cmpi-1
Rejeter Stocker
Encoder
Destination et
Envoyer nombre des
paquets =K ?
Décoder
40
Chapitre 3 : Optimisation F-Lipschitz
1. Introduction
2. Problème d’optimisation
Dans ce chapitre, on se focalise sur l’optimisation mais avant d’y aller plus loin il est nécessaire
de définir ce concept.
41
Chapitre 3 : Optimisation F-Lipschitz
Définition
f(x) : F → R
x∈Rn (1)
C = {x ∈ F | g(x) ≤ 0, h(x) = 0}
L’objectif de l’optimisation est de déterminer x * ∈ F qui minimise f(x) tel que : f(x * ) ≤ f(x) ∀ x ∈ F
fDénote la fonction objective, F est l’ensemble des solutions admissibles et C est l’ensemble
des contraintes.
-Optimisation linéaire : dans ce cas, la fonction objective et les contraintes d’inégalités sont
linéaires.
-Optimisation convexe : la fonction objectif et les contraintes d’inégalité sont convexes. En fait,
la convexité est une propriété importante pour assurer l’existence et l’unicité de la solution.
Définition
Définition
4. Méthodes de résolution
Résoudre un problème d’optimisation fait souvent appel aux méthodes itératives qui calculent
la solution optimale en procédant comme suit [26]:
42
Chapitre 3 : Optimisation F-Lipschitz
Si cette séquence converge vers une limite x * et f est continue alors x * est un point fixe. La
convergence de ces méthodes peut être accélérée en exploitant le parallélisme. Un système
composé de n agents peut trouver la solution optimale selon l’équation suivante :
L’algorithme de la descente procède par une résolution itérative. Il est très utilisé pour
l’optimisation convexe. Cet algorithme fait décroître la fonction coût en appliquant des itérations
dans le sens contraire du gradient.
L’idée consiste à diviser le problème en sous problèmes et de résoudre chacun d’entre eux.
Leurs solutions doivent être coordonnées pour aboutir à la solution optimale [26].
Par exemple, on introduisant une variable y qui sert d’interfaces entre les deux sous problèmes,
on transforme le problème (6) au problème (7) comme suit :
⎧ min f 1 (x 1 , y) (7)
⎨
⎩ min f 2 (x 2 , y)
Pour cela, on fixe une valeur pour y , on résout le problème puis on met à jour cette variable.
5. Fonction Lipschtiz
Avant de détailler la méthode F-Lipschtiz qui s’appuie sur les notations présentées dans le
tableau 1, il est nécessaire de définir une classe importante de fonctions nommées F-Lipschitiz.
Ces fonctions sont limitées dans leur manière d’évolution. Une fonction Lipschitz est une
fonction tel que tout segment reliant deux points du graphe d’une telle fonction aura une pente
qui soit inférieure à une certaine constante [27].
43
Chapitre 3 : Optimisation F-Lipschitz
f :E → R
(8)
∀ (x, y) ∈ E 2 : f(x) - f(y) ≤ K. x − y
Soient deux métriques d X , d Y , une autre définition plus générale est comme suit :
Pour bien comprendre les fonctions Lipschitz ont peut par exemple penser à la fonction sin(x)
qui a comme dérivée cos( x ) . Cette dernière est toujours bornée par la valeur 1. L’exemple suivant
montre la vérification de la condition Lipschitz de manière plus détaillée.
Soit :
f(x, y) = xy 2 , x ≤ 1 et y ≤ 1 (10)
= 1.2 y 2 - y 1
Notation Définition
n
A 1 max n
i =1 ∑ aij
j =1
n
A ∞ max in=1 ∑ a i j
i =1
1 (1,1,...,1 ) T
D = [x 1min , x 1max ] * [x 2min , x 2max ] * ... * [x nmin , x nmax ] Vecteur des bornes des contraintes
- ∞ < x imin < x imax < ∞
44
Chapitre 3 : Optimisation F-Lipschitz
∇ Opérateur gradient
max f 0 (x)
x i ≤ f i (x) i = 1,..., l
x i = h i (x) i = l + 1,..., n
x∈D
D = [x 1min , x 1max ] * [x 2min , x 2max ] * ... * [x nmin , x nmax ] ⊂ R n
− ∞ < x imin < +∞ ∀ i = 1,... n
(12)
Tels que :
f 0 (x) : D → R m m ≥1
f i (x) : D → R i = 1,..., l
h i (x) : D → R i = l + 1,..., n (13)
∇ f 0 (x) > 0
∇ F(x) < 1
(14.a)
Et :
45
Chapitre 3 : Optimisation F-Lipschitz
∇ j Fi (x) ≥ 0 ∀ i, j
(14.b)
Ou :
f 0 (x) = c1 T x, c∈R +
∇ jFi(x) ≤ 0 ∀ i, j
∇ F(x) ∞ <= 1
(14.c)
Ou :
δ
∇ F(x) <
δ+Δ
∞
δ = min ix ∈D ∇ i f 0 (x)
Δ = max ix ∈D ∇ i f 0 (x)
(14.d)
Notons que :
⎡ f(x) ⎤
F(x) = ⎢ ⎥
⎣ h(x) ⎦
f(x) = [f 1 (x), f 2 (x),..., f l (x)] T
h(x) = [h l +1 (x), h l + 2 (x),..., h n (x)] T
(15)
Un problème F-Lipschitiz peut avoir la forme centralisée ou distribuée. Dans ce cas, chaque
nœud est associé de sa variable de décision x i et la contrainte i appartient au nœud i. Il peut
s’agir également de problème d’optimisation mono ou multi-objectifs. C’est-à-dire la fonction
objectif peut être représentée par un vecteur. Le cas des variables manquantes dans la fonction
objectif n’est pas également un obstacle pour l’emploi de la méthode F-Lipschitz. Il est à noter
que la forme standard requiert une contrainte pour chaque variable. Soit le problème [30] :
max f 0 (x, z)
x ≤ f x (x, z)
⎡ x ⎤ ⎡ b x ⎤ (16)
⎢z ⎥ ≤ ⎢b ⎥
⎣ ⎦ ⎣ z⎦
46
Chapitre 3 : Optimisation F-Lipschitz
La proposition 14 établie dans [30] nous permet d’utiliser cette transformation afin d’avoir un
nombre de variables qui soit égale au nombre de contraintes :
max f 0 (x, z)
x ≤ f x (x, z)
z ≤ f z (x, z) = b z (17)
Exemple
max(x 1 + 2x 2 )
⎧ x 1 ≤ 0.7 + ax 1 x 2
⎪ x2 ≤ 0.3(1 + x + x )
⎪⎪ 1 2
⎨0 ≤ x ≤ 1 (18)
⎪
⎪0 p a p 1
⎪⎩ 2
On a :
⎡1 ⎤
∇ f 0 (x) = ⎢ ⎥ > 0
⎣2⎦
⎡ ax 0.3 ⎤ (19)
∇ F(x) = ⎢ 2 ⎥ ≥ 0
⎣ ax 1 0.3 ⎦
1
∇ F(x) 1
= max( ax 2 + ax 1 , 0.3 + 0.3 ) < 1 pour x 1 = x 2 = 1 et a p
2
7. Problème canonique
Généralement, les problèmes d’optimisation ont la forme décrite par le système suivant [28]:
min g 0 (x)
S.t. g i (x) ≤ 0 i = 1,..., l
p i (x) = 0 i = l + 1,..., n
x ∈D (20)
47
Chapitre 3 : Optimisation F-Lipschitz
Ce problème a la même solution optimale que le problème (12) et peut être transformé en un
problème F-Lipschitz comme suit :
max f 0 (x)
x i ≤ f i (x) i = 1,..., l
x i = h i (x) i = l + 1,..., n
x∈D
(21)
Tels que :
f 0 (x) = − g 0 (x)
f i (x) = x i − γ i g i (x)
h i (x) = x i − μ i p i (x)
γ i > 0, μ i ∈ R
(22)
Le théorème (4.1) dans [28] établie les conditions nécessaires pour vérifier si le problème est F-
Lipschitiz. Ces conditions sont données par les équations suivantes.
∇ g 0 (x) < 0
∇ i G i (x) < 0 ∀ i
(23.a)
Et :
∇ j G i (x) ≤ 0 ∀ j ≠ i
∇ i G i (x) f ∑ ∇ j G i (x) ∀ i
j≠i (23.b)
Ou :
g 0 (x) = − C1 T x, C ∈ R +
∇ j G i (x) ≥ 0 ∀ j ≠ i
∇ i G i (x) f ∑ ∇ i G j (x) ∀ i
j≠ i (23.c)
Ou :
48
Chapitre 3 : Optimisation F-Lipschitz
g0(x) ∈ R
δ
∇ i G i (x) f ∑ ∇ i G j (x) ∀ i
δ+Δ j≠ i (23.d)
Exemple :
5 x − 2 + 6 y − 2 x −1 ≤ 5
D = {10 − 10 ≤ x ≤ 1,10 − 10 ≤ y ≤ 1}
(24)
D = {10 −10 ≤ x ≤ 1 , 1 ≤ t ≤ 10 10 }
(25)
La solution d’un problème F-Lipschitz est une solution Pareto optimale. Ceci est énoncé à
travers le théorème suivant. Rappelons que x * est une solution Pareto optimale s’il n’existe pas x
tel que f 0 (x) ≥ f 0 (x * )
Par exemple, la solution C illustrée en figure est dominante par contre A et B sont dominées par
C.
49
Chapitre 3 : Optimisation F-Lipschitz
Théorème :
Soit un problème d’optimisation F-Lipschitz. Le problème admet une solution Pareto optimale
x * obtenue par l’ensemble des équations suivantes [29]:
⎧⎪ x i * = [f i (x * )] D , i = 1...l
⎨
⎪⎩ x i = h i (x * ) , i = l + 1...n (26)
Le calcul de la solution d’un problème F-Lipschitz peut être mené selon l’une des approches
suivantes :
-approche centralisée : dans ce cas, on peut faire appel à la méthode itérative de Newton. La
solution est obtenue selon l’équation qui suit.
−1 D
x(k + 1) = [x(k) − β(I − ∇ F(x(k)) (x(k) − F(x(k)))] (27)
-Approche distribuée : un problème F-Lipschitz peut être également résolu par une approche
distribuée en utilisant un réseau, une grille de calcul ou un ensemble d’agents. Soit x 0 une
solution initiale et x i (k) le vecteur de décision du nœud i à l’instant k.
50
Chapitre 3 : Optimisation F-Lipschitz
τ ji (k) est le délai nécessaire pour que le noeud j prenne une décision et la fait communiquer au
nœud i.
Dans ce cas, les équations décrites par les équations qui suivent convergent vers une solution
optimale.
⎧x i (k + 1) = f i (x i (k)) D , i = 1...l
⎨ (29)
⎩x i (k + 1) = h i (x i (k)) , i = l + 1...n
Quelques exemples liés aux réseaux de capteurs ont été résolus dans [28]. Les exemples traités
montrent qu’il est possible de tirer profit de cette méthode pour résoudre des problèmes d’ordre
important. Considérons par exemple le problème de l’allocation de la puissance dans un réseau
constitue de n nœuds responsable de l’émission et n nœuds pour la réception. Chaque nœud i
possède une puissance de transmission Pi
Ce problème est formulé comme suit :
min 1T P
G ii Pi
≥ S min (30)
σ i + ∑ G ik Pk
k ≠i
Pmin ≤ Pi ≤ Pmax
51
Chapitre 3 : Optimisation F-Lipschitz
max 1 T x
G ii x i + S min (σ i − ∑ G ik x k ) ≤ 0
k ≠i (31)
- Pmax ≤ x i ≤ − P min
11. Conclusion
-Dont le nombre de contraintes peut être inférieur par rapport au nombre de variables.
52
Chapitre 4 : Contributions pour le routage opportuniste et géographique
1. Introduction
Au travers les travaux de recherche liés aux réseaux de capteurs, différentes problématiques se
sont relevées. La maximisation de la durée de vie d’un réseau de capteurs a gagné une attention
particulière. Nous mentionnons que notre travail est étroitement basé sur les travaux suivants :
[31] Ont formulé le problème de la maximisation de la durée de vie sous l’hypothèse de
l’agrégation des données. Les positions des capteurs et celle de la station de base sont connues à
l’avance. Un algorithme polynomial a été proposé pour résoudre le problème considéré. Ce
dernier est linéaire.
[32] Ont traité le problème du routage par le biais du plus court chemin en considérant des
capteurs ayant des capacités pour adapter leurs puissances de transmission.
Le travail de la maximisation de la durée de vie le plus marquant est celui présenté dans [33].
Les auteurs ont proposé un framework qui tient compte des contraintes de la couche réseau,
MAC et physique. Le framework s’adapte bien à des transmissions orthogonales ou non et a été
évalué pour différentes topologies. Les performances en termes de la durée de vie sont
remarquables.
53
Chapitre 4 : Contributions pour le routage opportuniste et géographique
[34] ont formulé le problème de la maximisation de la durée de vie dans le cas du routage
opportuniste et codage linéaire aléatoire. L’idée consiste à recevoir l’information selon une
certaine probabilité afin d’équilibrer la consommation énergétique entre les nœuds capteurs. Le
modèle proposé n’est pas convexe et tient seulement compte des contraintes de la couche réseau
(contraintes énergétiques, de conservation du flot et de la capacité calculée dans le cas du routage
opportuniste). Le standard IEEE802.11 (couche physique et MAC) a été intégré durant les
simulations.
[35] ont proposé d’utiliser le recuit simulé pour calculer les probabilités de réception dans le
modèle proposé dans [34]. Les résultats de simulation obtenus ont montré que le choix de la
solution voisine a une grande influence pour la convergence du système.
L’activation des liens est une technique ancienne qui assure des transmissions sans interférence.
Elle consiste à construire un graphe de conflit tel que chaque nœud représente un lien dans le
graphe original et un lien existe dans le graphe de conflit si et seulement si les transmissions
associées ne peuvent pas être activées en parallèle. La construction du graphe de conflit peut être
menée selon le modèle protocolaire qui est assez simple et imprécis. Une transmission est activée
dans ce cas si le récepteur se trouve dans le rayon de transmission de l’émetteur. Le modèle
physique permet d’activer une transmission une fois la puissance agrégée au récepteur plus le
bruit soit supérieur à un certain seuil. [Link] [36] a introduit le concept de la CTS ‘conservative
transmission set’ pour l’activation des nœuds (au lieu des liens) sous routage opportuniste. Il a
défini une CTS comme étant un ensemble de nœuds tel que tous (un) liens impliqués peuvent
être activés en parallèle. Le calcul de la CTS est un problème NP-complet et nous montrons dans
[37] notre contribution pour le calcul de la CTS. Supposons que l’ensemble CS des CTS a été
calculé, le modèle proposé dans [37] permet de maximiser la durée de vie en tenant compte de
l’activation des nœuds qui n’engendrent pas d’interférence tout en adoptant le routage
opportuniste comme moyen pour délivrer les paquets à leur destination. En effet, le calcul des
CTS procède en deux étapes. Nous calculons en premier pour chaque nœud du réseau l’ensemble
des nœuds qui peuvent transmettre avec lui. Pour cela, on trie les nœuds selon les valeurs
croissantes de la puissance reçue au niveau du récepteur et on commence par le nœud qui a la
plus petite contribution en termes de puissance. Ensuite, on fixe un seuil Bmax (le nombre
maximum de CTS) et on élimine les ensembles qui soient sous-ensembles des autres. Tant que le
rapport de l’agrégation des puissances bruit est supérieur au seuil fixe on continue l’etape1. Les
simulations réalisées ont considéré différentes densités et ont démontré les performances en
termes de la durée de vie.
[38, 39, 40] ont étudié l’effet de la probabilité d’effacement, l’énergie et la taille du champs de
Galois sur le temps de terminaison en s’intéressant à une seule source qui diffuse des paquets à
plusieurs destinations. Le processus de décodage a été modélisé par une chaîne de Markov. Les
auteurs se sont penchés sur la détermination du nombre optimal des paquets codés avant
d’attendre un acquittement. Rappelons qu’une chaîne de Markov est une chaîne sans mémoire.
Autrement dit, la prédiction de l’état actuel dépend uniquement de l’état précédent et non pas de
tous les états antécédents. Le comportement de la chaîne peut être visualisé en traçant un graphe
orienté contenant les états et la fonction de transition [41].
[42] ont présenté une étude intéressante qui porte sur le temps minimal de terminaison sous
l’hypothèse de récupération d’énergie et ont pu déduire la relation entre la puissance de
transmission à utiliser et la quantité d’énergie récupérée.
54
Chapitre 4 : Contributions pour le routage opportuniste et géographique
On considère un réseau de capteurs contenant une seule source et une seule destination. Le
réseau est modélisé par un graphe G = ( N , ζ ) . N est l’ensemble des nœuds et ζ est l’ensemble des
liens. Le taux d’erreur sur chaque lien (i , j ) est dénoté ε ij . Le voisinage d’un nœud i est définie
par {
nb(i) = j ∈ / {}
i ε ij p 1 }.
La source a M paquets destinés à D . Chaque nœud capteur possède une file pour stocker les
données et un composant de stockage idéal pour conserver l’énergie récoltée. La capacité du
composant de stockage du nœud i est E max
i
. L’énergie initiale du nœud i est E 0i . Les instants de
récupération et les quantités d’énergie correspondantes sont {S i1 , S i 2 ,... }, {E i1 , E i 2 ,... }.
k k
respectivement. La longueur d’une phase est égale à l i = S i − S i
k −1
avec S i 0 = 0
L’énergie est récupérée au début de chaque phase. Pri k est la probabilité pour que le nœud
capteur i soit actif (en émission ou en réception) durant la phase k . À chaque instant, l’énergie
consommée doit être inférieure à celle récupérée [43].
Hypothèses :
- Les nœuds capteurs connaissent leurs positions (soit par GPS, soit par une technique
d’estimation).
Le schéma illustré en figure 2 donne un aperçu du modèle proposé, tandis que le tableau 1
explique toutes les notations utilisées par la suite.
55
Chapitre 4 : Contributions pour le routage opportuniste et géographique
[Link] de terminaison
C’est le temps nécessaire pour décoder tous les paquets envoyés par la source. Le processus de
la transmission et du décodage peut être modélisé par une chaîne de Markov. Cette dernière
permet de modéliser l’évolution dynamique d’un système aléatoire. Les états de la chaîne varient
de M à 0 et chaque état dénote le nombre de paquets manquants afin de lancer l’opération
de décodage. Pour cela, nous considérons que la probabilité de transition durant la phase k de
l’état Se i à l’état Se j ( Se i = Se j ) est décrite par l’équation qui suit :
k k k k k
Pi(Sei −>Sei ) = (((1− Prik ) + εiavg + (1− PRi ))Sei − ((1− Pri ) * εiavg * (1− PRi )))Sei
k
(1)
−(2*PA−1−1)
k TA! − 2 −1
PRi = 2 2 e (2)
(TA − 1)! γiavg
k
Cette expression est obtenue après le calcul de la PDF ‘probability density function’ du SNR
associé à chacun des paquets reçus.
nb ⎛ N ⎞
Pi(Sei −>Sej) = (1 − P(Sei −>Sei) ) * ∑ ⎜⎜ i ⎟⎟(P(M −>M−1) ) r * (1 − P(M −>M−1) ) Ni −r
k k k k (3)
r =1⎝ r ⎠
nb ⎛ N ⎞
Il est à mentionner que l’expression ∑ ⎜⎜ ⎟⎟(P(M − > M −1) k ) r * (1 − P(M − > M −1) k ) N i − r représente le fait
i
r =1⎝ r ⎠
qu’au moins un des voisins du nœud i a reçu au moins un paquet. De plus, le temps de
56
Chapitre 4 : Contributions pour le routage opportuniste et géographique
57
Chapitre 4 : Contributions pour le routage opportuniste et géographique
k k k k
f ij = Z i α ij (1 − ε ij )Pr j
k k k k k
f ji = Z j α ji (1 − ε ij )Pr i PR i
k k k
x i S = Z i (1 − Π j∈S (1 − Pr j (1 − ε ij )))
(4)
A la réception d’un paquet, le nombre de transmissions moyen effectué par le nœud i est égale à :
k
k zi
ni = k k
∑ z l (1 − ε li )Pri
l
(5)
− (2 * PA −1−1)
k TA! − 2 −1
PR i = 2 2 e
(TA − 1)! γ iavg
k
(6)
Tel que :
g = log 2 (q) (7)
Notation Définition
Pr
k
Probabilité associée au noeud capteur i
Temps de terminaison
Ti
58
Chapitre 4 : Contributions pour le routage opportuniste et géographique
pi
k
Puissance utilisée par le noeud i durant la
phase k (puissance consommée pour la
transmission ou la réception)
Ei
k
Energie récupérée par le noeud i dans la
phase k.
Zi
k
Nombre de transmissions réalisées par le
noeud i durant la phase k.
PR i
k
Probabilité associée au noeud i pour
couvrir un paquet durant la phase k.
li
k
Temps consommé par le nœud i durant la
phase k
l ti
k
Temps consommé par le noeud i pour
recharger sa batterie durant la phase k.
η Bruit
59
Chapitre 4 : Contributions pour le routage opportuniste et géographique
min T (8)
h
k k k k' k'
h'
k' k' k' k' (8.1)
∑ p i * (l i − l ti k ) * Z i + ∑ ∑ p j * (l j − l t j ) * Pri * z j * PR i
k =1 k' =1j∈ nb(i)
+
h h' h
h +1 k h +1 h' +1 h' +1 k' h' +1 h' +1 k
pi * (T - ∑ l i ) * Z i + ∑ Zj * pi (T − ∑ l j ) * Pri * PR i ≤ ∑ Ei
k =1 j∈ nb(i) k' =1 k =1
∀j ∈ nb(i) :
k
h +1
k k k
h +1 1 pi
∑ Zi * α i j * (1 − ε ij ) * Prj ≤ ∑ ( log(1 + ))
k =1 k =1 2 η (8.2)
k k k
h +1
∑ Z j * Tp ∑ Z j * Tp ∑ Z j * Tp
T ≤ ∑[(
j∈nb(D)
+
j∈nb(D)
+ ... +
j∈nb(D)
] + D1 (8.3)
k k k
k =1 PD(M−>M−1) PD(M−1−>M−2) PD(1−>0)
1 j∈nb(S) 1
Z1 * (1 − Π (1 − Pr j * (1 − ε ij ))
− D1 ≤ − ( ) * nb hops (8.4)
r(S)
h' h
k' k' k' k' k
∑ ∑ α ji * (1 − ε i j ) * Pri * PR i * z j + (T - ∑ l i )
k' =1 j∈nb(i) k =1
= (8.5)
h
k k k h +1 h +1 h +1
∑ ∑ α i j * (1 − ε i j ) * Pr j * Z i + ∑ α ji * (1 − ε i j ) * Pr j * Zi
k =1 j∈nb(i) j∈nb(i)
60
Chapitre 4 : Contributions pour le routage opportuniste et géographique
k
∀i, k 0 ≤ Z i ≤ Z max
k
∀i, k 0 ≤ p i ≤ p max
k
∀i, k 0 ≤ Pri ≤ 1
k
∀i, k 0 ≤ PR i ≤ 1
k (8.6)
∀i, j, k 0 ≤ α i j ≤ 1
0 ≤ T ≤ Tmax
0 ≤ D 1 ≤ D max
D: destination;
Début
M= ∅;
A=S ;
M=M∪{A} ;
Pour i = 1 : Nb
M= M∪{i} ;
A=i ;
Fin Si
Fin Pour
61
Chapitre 4 : Contributions pour le routage opportuniste et géographique
-Comment peut-on calculer la puissance et la probabilité pour qu’un nœud soit actif durant la
phase associée à un autre ?
Nous avons pensé à exploiter le calcul par intervalles pour tenir compte de l’ensemble des
différentes possibilités. La probabilité est décrite par le système d’équations (9) tandis que la
puissance de transmission est décrite par le système (10).
Soit un réseau qui contient deux nœuds capteurs. Les instants ainsi que les quantités d’énergie
récupérées sont comme suit :
0s 2s 2.5s 2.9s
62
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Le modèle associé continent donc deux contraintes calculées selon l’équation 8.1, deux
contraintes calculées selon l’équation 8.2, une contrainte calculée selon 8.3, une autre contrainte
calculée selon 8.4, deux contraintes calculées selon 8.5 et d’autres contraintes calculées par 8.6.
En effet :
∂ C1
= (l 1 − l t 1 )P11
∂ Z 11
∂ C1
= (l 2 − lt 2 ) Pr11 PR 11 P21
∂ Z 12
Tel que :
[
P21 = P2min , P2max ] 2s
0 ²
∂ C3 2
= (1 − ε 12 )α 12
1
∏ Pr 2
k
∂ Z 11 k =0
Il est clair que le modèle proposé n’est pas convexe à cause du produit des variables. On va
utiliser la méthode F-Lipschitz pour sa résolution vue que les variables sont bornées. Pour cela,
nous devons adopter ce changement de variable :
T1 = − T (11)
63
Chapitre 4 : Contributions pour le routage opportuniste et géographique
h h'
1 1 k k k k' k' k' k' k' k'
Z i ≤ Z i - λ i ( ∑ p i * (l i − l ti k ) * Z i + ∑ ∑ p j * (l j − l t j ) * Pri * Z j * PR i
k =1 k'=1 j∈nb(i)
+ (12.1)
h h' h
h +1 k h +1 h' +1 h' +1 k' h' +1 h' +1 k
pi * (-T1 - ∑ l i ) * Z i + ∑ Zj * pi (−T1 − ∑ l j ) * Pri * PR i − ∑ Ei )
k =1 j∈nb(i) k'=1 k =1
∀j ∈ nb(i) :
k
h +1 h +1
h +1
k k k
h +1 1 p
Zi ≤ Zi − λ i ( ∑ Z i * α i j * (1 − ε ij ) * Pr j − ∑ log(1 + i ))) (12.2)
k =1 k =1 2 η
k k k
h+1
∑ Z j * Tp ∑ Z j * Tp ∑ Z j * Tp
j∈nb(D) j∈nb(D) j∈nb(D)
− T1 ≤ −T1 − λ(−T1 − ∑[( k
+ k
+ ... + k
] + D1 )
k=1 PD(M−>M−1) PD(M−1−>M−2) PD(1−>0)
(12.3)
(12.4)
Z1 * (1 − Π j∈nb(S) (1 − Pr j * (1 − ε ij ))
1 1
− D1 ≤ − D1 − λ( − D1 + ( ) * nb hops )
r(S)
h' h
1 1 k' k' k' k' k
pi ≤ pi − μi ( ∑ ∑ α ji * (1− εi j ) * Pri * PRi * z j + (-T1 - ∑ li ))
k'=1j∈nb(i) k=1
−
h
k k k h+1 h+1 h+1
∑ ∑ αi j * (1− εi j ) * Prj * Zi + ∑ α ji * (1− εi j ) * Prj * Zi
k=1 j∈nb(i) j∈nb(i)
64
Chapitre 4 : Contributions pour le routage opportuniste et géographique
∀ k = 2 : h Z ik = Z max
∀ k = 2 : h ∀ i = 1 : N Z i = Z max
k (12.6)
k
∀ k = 2 : h ∀ i = 1 : N p i = p max
h +1
∀i = 1 : N ∀i = 1 : N p i = p max
h +1
∀i = 1 : N ∀j = 1 : N α i j = α max
k
∀ k = 1 : h ∀ i = 1 : N ∀ j = 1 : N α i j = α max
Ce modèle remplie la condition (23.C) lorsque les valeurs des puissances utilisées sont
inférieures à 1 et les puissances associées sont considérables ou l’inverse.
0’ Prik
k k k k k
Pi(M−>M) Pi(M-1−>M-1) Pi(M-2−>M-2) Pi(M-3−>M-3) Pi(0−>0)
Figure 4. Chaîne de Markov proposée pour le décodage.
= (I − Q) −1 * r0
k
ε iavg
(13)
65
Chapitre 4 : Contributions pour le routage opportuniste et géographique
k k k k k
(14)
Pi(Sei −>Sei ) = (((1− Prik ) + εiavg + (1− PRi ))Sei − ((1− Pri ) * εiavg * (1− PRi )))Sei
k
Autrement dit, la probabilité d’effacement dépend de la valeur moyenne du SNR mais aussi de la
probabilité pour que le nœud concerné soit en état actif.
Pour cela, l’algorithme illustré en figure 5 est préconisé pour calculer la solution finale.
Afin de mener des comparaisons, nous avons suivi la même idée présentée dans [34]. Deux
scénarios sont possibles:
-Dans le premier cas, lorsqu’un nœud diffuse un paquet seul le nœud actif qui minimise la
métrique ETX est susceptible de continuer la transmission.
-Dans le second cas, lors d’une diffusion tout nœud qui soit actif est susceptible de prendre le
rôle de relais.
K← 0
2. Répéter
K← K+1
Jusqu’à convergence
66
Chapitre 4 : Contributions pour le routage opportuniste et géographique
ETXA=1/0.5=2
A
0.5
E
S D
0.4 ETXB=1/0.6=1.67
B
0.6
F
ETXC=1/0.4=2.5
C
Figure 6. Scénario 1.
ETXA=1/0.5=2
A
0.5
E
S D
0.4 ETXB=1/0.6=1.67
B
0.6
F
ETXC=1/0.4=2.5
C
Figure 7. Scénario 2.
On suppose que seuls B et C sont actifs au moment où A fait sa diffusion. Dans le premier
scénario seul le nœud B sert de relais puisqu’il possède la valeur minimale en termes de la
métrique ETX. Dans le second cas, C peut continuer la diffusion.
67
Chapitre 4 : Contributions pour le routage opportuniste et géographique
3. Contributions secondaires
3.1. Maximisation de la durée de vie d’un réseau de capteurs sous routage opportuniste
max min i∈ N T i
^ ^
Ei Z i + Ei ∑ γ ki Z k ≤ E i
t r
k ∈O ( i )
Tr i + ∑ f ki ^ = ∑ f ij ^
k ∈O ( i ) j∈O ( i )
^ ^
∀ S ⊆ O (i ) ∑ f ij ≤ Z i (1 − ∏ (1 − γ ij (1 − ε i j )))
j∈O ( i ) j∈ S
(15)
Notation Définition
Ei Energie initiale du nœud
capteur i
Ei
t
Energie consommé par i pour
envoyer un seul paquet.
Ei
r
Energie consommé par i pour
recevoir un seul paquet.
fi j Flot du lien ( i , j )
ri Débit utilisé par i
Zi Nombre de transmissions
effectuées par i
T Durée de vie du réseau
Zi
^
Nombre de transmissions
effectuées par i durant T
fi j
^
Flot du lien ( i , j ) Durant T
Ti =
Ei (16)
Ei * Z i + Ei * ∑ Z k * γ
t r
ki
k ∈O ( i )
68
Chapitre 4 : Contributions pour le routage opportuniste et géographique
La première contrainte est celle de l’énergie, la seconde exprime la conservation de flot ; tandis
que la troisième est liée au routage opportuniste. Il est clair que le modèle proposé n’est pas
convexe. A la différence de [34], nous avons pensé à introduire une métaheuristique simple
‘recuit simulé’ [46] pour estimer les probabilités de réception de sorte que la solution finale sera
calculée par programmation linéaire ainsi que la métaheuristique impliquée. Le recuit simulé est
paramétré par la température et consiste à effectuer des mouvements dans un espace de
recherche. La figure 8 contient le schéma de la résolution.
Connue comme étant l’un des problèmes considérables lors de la mise en œuvre d’un réseau de
capteurs, la localisation est nécessaire pour accomplir la tâche de surveillance d’une zone. Elle
est indispensable pour les réseaux de capteurs statiques et possède en même temps des
motivations fortes dans un réseau de capteurs mobiles. Le sujet de la localisation des capteurs
pour un routage géographique nous a amenés à proposer une contribution secondaire dans ce
travail de recherche. Informellement, la localisation consiste à affecter ou à déduire les
coordonnées des nœuds capteurs. Dans ce contexte, deux solutions existent. La solution
matérielle concerne l’équipement des capteurs par des GPS. L’inconvénient majeur de cette
technologie concerne sont coût important et l’énergie requise quant à la réception d’un signal.
Début
⎧ ( −((γ i j ' ) − (γ i j ))
⎪exp
⎪ Tk
⎪ if ((γ 'i j −γ i j ) > 0
P (γ ij ' is asscepted ) = ⎨
⎪
⎪
⎪⎩1 if ((γ 'i j −γ i j ) ≤ 0
69
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Pour cela, il était nécessaire de réfléchir sur des solutions software permettant ainsi une
localisation propre. Divers critères peuvent être employés pour classer les approches de
localisation mises en place. La présence des capteurs équipés par des GPS (ancres) conduit
souvent à une localisation globale tandis que leur absence implique une localisation relative. La
mesure de la distance (ou l’angle) par rapport aux autres capteurs ou son estimation est
également un critère de classification des techniques de localisation. Dans un environnement
dynamique, la localisation est un problème ayant d’autres dimensions qu’il faudra prendre en
charge : les positions reçues peuvent être anciennes à cause de la mobilité des noeuds, la
localisation devient gourmande en terme de communication puisque chaque capteur doit de se
localiser et se re-localiser à chaque déplacement,…
De façon générale, les méthodes Monté-Carlo ont démontré leur efficacité pour localiser des
capteurs mobiles. Il s’agit de calculer la future position (éventuellement la vitesse et
l’accélération) sur la base des calculs déjà effectués. Il existe une variété de modèles de
prédiction ; dont l’application est fonction du modèle de mobilité. Signalons que les modèles de
prédiction de la trajectoire peuvent être de type déterministe, stochastique ou basés sur
l’historique. En cas où les mobiles suivent un mouvement uniforme, il est très recommandé de
faire appel à un modèle déterministe pouvant être du premier ou second ordre. Cependant, au cas
où le mouvement des mobiles est aléatoire, ont peut investiguer une approche stochastique ou
une approche basée sur l’historique passant par une phase d’apprentissage des motifs de
mobilité. Parmi les techniques stochastiques, on peut citer les filtres particulaires qui représentent
une variante des méthodes Monté Carlo séquentielles. Il s’agit d’estimer les paramètres
x k , k = 1,2,3,.. d’un problème en tenant compte des données observées y k , k = 1,2,3,.. Autrement
dit, un filtre particulaire cherche une estimation de la distribution a posteriori p (x k / y 0 ,... y k ) [47].
En effet, un ensemble de p particules pondérées par des poids w sont générées telle que
l’approximation de la distribution à posteriori est donnée par :
⎧d a + c, d ≠ 0 et a ≥ 2
J (d ) = ⎨ (18)
⎩0, sinon
70
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Ce modèle traduit le fait que la dépense énergétique J(d) est fonction de la distance d’émission
en suivant une loi de puissance. Dans un objectif d’appliquer une simple méthode de prédiction,
nous nous sommes basés sur l’algorithme de filtrage particulaire présenté dans [47]. Il s’agit
d’un algorithme issu de la méthode Monté Carlo dont l’idée de base est celle de la génération des
nombres aléatoires. De façon générale, on définit N particules. Chaque particule x est un vecteur
ayant trois dimensions tels que :
La première étape consiste à faire une prédiction selon un modèle de mobilité. Le modèle de
mobilité utilisé est celui de Gauss-Markov. C’est un modèle dans lequel, chaque capteur choisit
une vitesse et une direction selon les équations (19) et (20) et réitère ce processus tout au long
de la simulation.
( )
dir n = (β * dir n −1) + ((1 − β ) * μ 2 ) + 1 − β * X 2
2
(20)
Tels que :
En passant par l’état de l’art concernant les modèles de mobilité, nous précisons qu’on a adopté
au départ un modèle de mobilité de type Random-Way point. Dans ce cas, un modèle de
prédiction déterministe du premier ordre est strictement adéquat. Cela nous a poussés pour se
baser sur un modèle de mobilité plus complexe. C’est le cas de Gauss-Markov. Bien sûr, la
prédiction effectuée est mise à jour après avoir réalisé une étape de mesure par rapport à trois
^
ancres. x Représente le résultat final.
71
Chapitre 4 : Contributions pour le routage opportuniste et géographique
1. Initialisation :
Générer N particules.
w j = 1/ N
Fin pour
2. Prédiction :
Fin pour
3. Mesure :
Soient v1 , v2 , v3 les puissances des signaux reçus à partir de trois ancres et d ki la distance séparant le
capteur k et l’ancre i tels que :
vi = ϕ − 10η log10 (d ki )² ;
h = v12 + v 22 + v32
wj = wj * h
Fin pour
72
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Normalisation :
wj = wj / ∑ wj
Fin pour
Mise à jour :
^
x = ∑ Nj=1 x j * w j
Fin pour
Suite à cette phase, vient le routage qui consiste à minimiser la fonction (21) où la variable
'
a attribue une priorité soit à l’angle et l’énergie, soit à l’angle et la vitesse.
a (α * E ) + (1 − a ) * ⎜α * ⎟
' ' ' ⎛ '1⎞
(21)
⎝ v⎠
Tels que:
E : L’énergie.
73
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Supposons que s est la source, u le voisin choisis et t la station de base, le calcul de α ' peut être
mené selon cette équation :
d1 + d 2 − d 3
2 2 2
arccos α ' = (22)
2 d1 d 2
Enfin, il est à indiquer que les valeurs des termes (α ' * E ) et ⎜α ' * ⎟ ont été normalisées entre 0
⎛ 1⎞
⎝ v⎠
et 1.
4. Conclusion
74
Chapitre 5 : Résultats de simulation
1. Introduction
Ce chapitre est réservé à l’explication de l’outil Omnet++ ainsi que les simulations réalisées
dans le cadre de cette thèse. Omnet++ est approprié aux réseaux sans fil et offre diverses
packages de méthodes. Il suffit de bien choisir les méthodes adéquates à une application. Le cas
échant, il faut modifier le code de ces méthodes ou développer de nouvelles procédures.
L’architecture des nœuds capteurs est facile à modéliser par le biais d’Omnet++. De plus, la
flexibilité de cet outil permet de rajouter ou supprimer n’importe quel composant de
l’architecture. L’objectif de nos simulations est de comparer le scénario 1 et 2 du chapitre 4 en
termes de la consommation énergétique, temps de terminaison, débit, probabilité d’effacement et
le nombre de paquets. Les résultats de simulation des contributions secondaires sont également
détaillés dans ce chapitre.
Omnet++ permet de créer l’interface de la simulation et d’écrire le code par le biais du langage
C++. Deux versions de l’outil Omnet++ existent. Une est opérationnelle sous Windows tandis
que la seconde est opérationnelle sous Linux. Omnet++ a été développé après l’apparition de
quelques outils notamment NS2 et OPNET. NS2 est approprié pour les protocoles TCP/IP, le
routage et la communication multicast dans les réseaux filaires. Son utilisation pour les réseaux
sans fil est très limitée. OPNET est un outil commercial pour la simulation de la communication.
Il comprend plusieurs processus basés sur des machines à états finis. Ces dernières sont aptes à
communiquer entre elles. A la différence d’OPNET, Omnet++ est un outil académique gratuit. Il
est basé sur la programmation modulaire qui offre une grande flexibilité.
L’élément de base de la simulation Omnet++ s’appelle un module. Un module peut être simple
ou composé. Un réseau est considéré comme un module composé des nœuds (chacun d’entre eux
est représenté par un module) et d’un canal de transmission. Si l’on souhaite simuler plusieurs
protocoles de la pile protocolaire, chaque nœud sera lui-même considéré comme un module
composé. L’hiérarchie des modules n’est pas limitée. L’envoi des messages est le mécanisme de
75
Chapitre 5 : Résultats de simulation
communication entre les modules. Chaque message contient un certain nombre d’attributs. Les
modules peuvent posséder des interfaces (nommées portes dans Omnet++) pour l’envoi de
messages et peuvent avoir des paramètres (variables locales de type : string, numeric, boolean)
[48].
Le langage NED (Network Description) est utilisé pour créer l’interface de la simulation. Cet
exemple illustre la syntaxe NED.
Network Network
//commentaires
Node1: node;
Node2:node;
Connections:
Cet exemple déclare un réseau composé de deux nœuds appelés Node1 et Node2 qui sont une
instance du module node. Chacun des deux nœuds possède une interface nommée port et sont
connectés par une liaison symétrique pouvant véhiculer un débit de 100 Mbps.
On peut créer un canal de transmission qui encapsule le débit de 100Mbps. Ceci est utile afin
d’éviter de répéter le débit pour chaque transmission si le réseau est composé de plusieurs
nœuds.
Datarate = 100Mbps;
Connections:
76
Chapitre 5 : Résultats de simulation
Le module node peut avoir des paramètres, des portes. On peut également trouver des
connections et des sous-modules (en cas où il est compose). La syntaxe utilisée est la suivante :
{ {
Parameters: Parameters:
Gates: Submodules:
} Physical:mod1;
Connections:
Gates:
Inout: port;
3-1. Composants
Les modules et les canaux sont nommés composants et représentent une instance de la classe
appelée Ccomponent qui possède les méthodes suivantes :
Initialize() : invoquée après la création du réseau et fournit l’espace pour tout code
d’initialisation.
Finish() : appelée à la fin de l’exécution de la simulation et permet par exemple de récolter des
statistiques.
77
Chapitre 5 : Résultats de simulation
Delete (msg);
Les messages et les paquets peuvent être crées de la même façon. Il suffit d’utiliser le mot clé
message à la place de packet pour avoir un message.
Packet mypacket
Int source@;
Int des@
Int data;
Ils sont associés des mêmes méthodes énoncées auparavant. Cependant, les paquets ont des
méthodes supplémentaires. La plus importante est setBitLength (int 64 l ). De plus, les paquets
peuvent être encapsulés. Les méthodes usuelles sont :
Void setName (cosntChar *name) ;
Void getKind(short k) ;
setTimestamp(simtime_t t);
setSchedulingPriority(short p);
78
Chapitre 5 : Résultats de simulation
L’envoi des messages et paquets peut être effectue par l’une des méthodes suivantes:
Send (copy,’out’);
La première méthode envoie le message à travers une porte. La deuxième diffuse le message à
travers toutes les portes associées au module et la troisième méthode permet d’envoyer le
message après un certain délai.
Ce fichier contient une section General qui précise le modèle à simuler et le temps de la
simulation. On peut également assigner des paramètres aux modules ou répéter la simulation
plusieurs fois.
L’exemple qui suit déclare que le modèle de la simulation est Fifo. Il contient 15 nœuds. Le
symbole ‘*’ signifie n’importe quel module dont le nom commence par host.
[General]
Network =Fifo
[Link]=15
[Link][*].length = 20
79
Chapitre 5 : Résultats de simulation
4. Résultats de simulation
Cette section détaille les résultats de simulation obtenus. Nous considérons une topologie de 10
nœuds capteurs comme celle utilisée dans [34] où chaque liaison radio est caractérisée par un
taux fixe d’erreur. La manipulation des champs de Galois a été réalisée moyennant [50]. Les
nœuds peuvent récupérer des quantités d’énergie à des intervalles aléatoires prédis à l’avance et
leurs batteries sont supposées idéales. En effet, l’énergie solaire s’avère un exemple pratique
pour nos simulations. Les paramètres de la simulation sont comme suit :
Paramètre Valeur
p max 20mW
Z max 5
T max 15s
β 0.02
η 10-6
M 100
q 256
h 128 bits
D 1max 5s
E i0 10MJ
Nous précisons que nos simulations ont été réalisées sur la machine Plough du département EEC
(Université Concordia) sous Windows 7 Entreprise. La machine contient 8 processeurs Intel
Core 2.93Ghz et une Ram de 4 GB. Plus particulièrement, les nœuds capteurs simulés sont munis
d’une couche application, de codage réseau linéaire aléatoire, de routage opportuniste, d’accès
aléatoire au médium et une couche physique. A côte de ceci, une batterie est intégrée.
80
Chapitre 5 : Résultats de simulation
81
Chapitre 5 : Résultats de simulation
‐Our scheme ‐More Protocol
MJ
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10
L’évaluation suivante concerne le débit des deux scénarios mesuré en nombre de paquets reçus
par la destination par seconde. La CDF ‘Cumulative Distribution Function’ du débit après 20
exécutions est illustrée en figure 4 qui montre que le débit du premier scénario est inférieur à 280
82
Chapitre 5 : Résultats de simulation
paquets/seconde avec une probabilité de 60%. Par contre, le débit du second scénario est
inférieur à 360 paquets/seconde pour la même probabilité ; ce qui résulte d’un gain de 22%.
0.8
CDF
0.6
0.4
0.2
0
200 220 240 260 280 300 320 340 360 380 400
Throughput (packets/s)
Les statistiques concernant la CDF du débit des deux scénarios sont comme suit :
Scénario1 Scénario2
min: 2.019450000000000e+002 min: 3.484160000000000e+002
max: 3.436620000000000e+002 max: 3.978330000000000e+002
mean: 2.676452000000000e+002 mean: 3.656725000000000e+002
median: 2.674945000000000e+002 median: 3.614585000000000e+002
std: 50.220062540152639 std: 12.042599271358585
83
Chapitre 5 : Résultats de simulation
L’effet de la probabilité d’effacement sur le temps de terminaison a été également étudié. Pour
cela, nous avons considéré que la probabilité d’effacement est la même sur tous les liens. Les
courbes de bas en haut correspondent à un nombre de paquets égal à 10, 20 et 30 respectivement.
La figure 5 montre que la probabilité d’effacement ainsi que le nombre de paquets sont deux
paramètres importants. De plus, le temps de terminaison du scénario 2 est inférieur par rapport
au temps de terminaison du scénario 1. Ceci est directement lié au débit ; résultat qui a été
montré par l’évaluation précédente. Les barres qui apparaissent sur la figure représentent les
intervalles du temps de terminaison. Lorsqu’une barre est absente ceci implique que la valeur
inférieure de l’intervalle coïncide avec la valeur supérieure.
Completion time
6
4
Completion time
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Erasure probability
Figure 5. Temps de terminaison des deux scénarios en fonction de la probabilié d’effacement.
84
Chapitre 5 : Résultats de simulation
Enfin, nous avons considéré le scenario2 tout en estimant la probabilité d’effacement. Dans
cette simulation, nous avons déployé 10 nœuds capteurs dans une zone de 600*600 et puis nous
avons augmenté le nombre de nœuds à 25. Autrement dit, on a augmenté la densité. La courbe en
vert correspond au déploiement de 25 capteurs tandis que la courbe en rose correspond au
déploiement de 10 nœuds capteurs. La figure 6 montre que l’accroissement de la densité permet
de réduire le temps de terminaison
4
3
2
1
0
10 20 30 40 50 60 70 80 90 100
Number of data packets
Le modèle précédent a été testé par le biais de Matlab et Omnet++. Le standard 802.11 a été
utilisé dans ce cas. Pour plus de renseignements à propos du standard 802.11 qui est
généralement employé dans les communications sans fil, le lecteur peut se référer à [51]. Tous
les nœuds capteurs émettent à la même puissance de 10 mW dans la bande passante de 2.4 GHZ.
Ils ont une énergie initiale de 1000 Joule et dépensent 1 Joule pour chaque transmission ou
réception. La température initiale est 14000.
85
Chapitre 5 : Résultats de simulation
0.464 n=0.2
n=0.02
0.462
Mean reception probability
0.46
0.458
0.456
0.454
0.452
86
Chapitre 5 : Résultats de simulation
¾ Une diffusion périodique des messages Hello. Chaque message Hello contient l’identité
du capteur et son énergie.
N 50
μ1 20
μ2 90
X 1, X 2 Normal (0 , 1)
ϕ 90
A 2
C 2*108
η 3
α , β 0,75
87
Chapitre 5 : Résultats de simulation
400
300
Abssices
200
100
20 40 60
Temps de simulation
Vue les capacités limitées des capteurs, on a décidé de ne pas augmenter le nombre de particules
au delà de 50. Par contre, on a préféré lancer l’algorithme de routage après un certain temps
d’exécution de la phase de prédiction. Notons également que nous avons préféré de distinguer le
résultat de la prédiction des abscisses de celui des ordonnées. Cela revient au mouvement
aléatoire des capteurs dont la schématisation n’est pas lisible.
300
ordonnées
200
100
20 40 60
Temps de simulation
88
Chapitre 5 : Résultats de simulation
Le taux d’acheminement des messages est l’un des paramètres importants lors de l’évaluation
d’un protocole de routage. En effet, les figures 10 et 11 représentent respectivement le taux de
délivrance des messages envoyés par les capteurs à une station de base et l’énergie moyenne
consommée pour acheminer ces messages. Chaque figure contient trois courbes obtenues en
faisant varier le nombre de capteurs. Chaque courbe correspond à l’évaluation de notre
contribution en fonction du paramètre a' .
La figure 10 montre que le choix de a' est déterminant puisque le taux de délivrance est
maximale lorsque la valeur de a' est importante. En augmentant a' , on favorise la sélection d’un
capteur voisin qui s’oriente vers la station de base. D’où l’utilité de la prédiction de la trajectoire
des capteurs afin d’augmenter la chance d’acheminement des messages. Notons également que
lorsque le nombre de capteurs augmente ; le taux d’acheminement se rapproche de 1. Cela
justifie bien le passage à l’échelle de notre contribution.
1,2
1
ta u x d 'a c h e m i n e m e n t
0,8
n=26
0,6 n=31
n=36
0,4
0,2
0
0 0,2 0,4 0,6 0,8 1
a'
La figure 11 démontre que a' a un impact sur la consommation énergétique. Plus la valeur de a'
est importante, plus la probabilité de routage efficace en énergie augmente. Par contre, une
diminution de la valeur de a' fait augmenter la dépense énergétique puisque dans ce cas, la
sélection d’un capteur ne tient pas compte de sa position. Néanmoins, le modèle énergétique
utilisé croit de façon exponentielle en fonction de la distance.
89
Chapitre 5 : Résultats de simulation
2,09E+08
2,08E+08
2,08E+08
2,07E+08 n=26
E n eg ie 2,07E+08 n=31
2,06E+08 n=36
2,06E+08
2,05E+08
2,05E+08
0 0,2 0,4 0,6 0,8 1
a'
Une analyse croisée de la figure 10 et 11 permet facilement de déduire la valeur optimale de a' . Il
s’agit de la valeur maximisant le taux d’acheminement des messages et minimisant la
consommation énergétique.
26 0,9
31 0,9
36 0,7
'
Tableau 3. Meilleures valeurs du paramètre a .
5. Conclusion
Les performances de notre système principal ont été étudiées. Notons que les résultats obtenus
dépendent des paramètres de la simulation et ont un grand impact sur la convergence de
90
Chapitre 5 : Résultats de simulation
l’exécution. Fixer les nœuds relais en fonction de la métrique ETX n’est pas une bonne idée en
termes d’énergie, temps de terminaison et du débit surtout que les nouds capteurs basculent entre
l’état actif et passif. La dernière étape de nos simulations a exploité notre contribution pour
l’estimation de la probabilité d’effacement et elle a montré que dans ce cas la densité du réseau
joue un rôle important pour le décodage des paquets envoyés par la source. Notre résultat
secondaire démontre qu’il est possible d’avoir une solution hybride (exacte et approchée) pour
maximiser la durée de vie du réseau.
D’après les simulations réalisées sous Omnet++, le résultat de la prédiction est acceptable par
rapport au modèle de mobilité et ceci ci d’un point de vue erreur de localisation. De plus, le
modèle de prédiction employé s’avère très pratique pour quelques modèles de mobilité tel que
Gauss-Markov. Ainsi, le résultat du taux d’acheminement des messages est encourageant.
A l’issue de cette étude, plusieurs perspectives ont été dressées et seront présentées à la fin de
cette thèse.
91
92
-Le travail démarré dans cette thèse s’est limité à un système centralisé. Sa résolution de manière
distribuée tout en s’appuyant sur des règles simples est une thématique de recherche intéressante.
-Notre contribution dans cette thèse pourra être bien analysée en ayant un model réel pour la
récupération d’énergie (par exemple un modèle de récupération d’énergie solaire).
-L’évanouissement est un problème crucial dans les transmissions sans fil et sa prise en compte
nécessite une réflexion appropriée.
-Notre contribution doit être consolidée dans un certain nombre de directions, notamment la
réalisation d’une étude expérimentale.
-Le résultat de la localisation peut servir au système de routage opportuniste et l’étude de l’effet
des erreurs de location sur le système de routage géographique peut constituer une voie de
recherche intéressante.
-Les performances du routage opportunistes peuvent être évaluées dans un environnement
mobile.
-Enfin, une comparaison entre l’optimisation par métaheuristiques et F-Lipschitz est une
perspective importante qui découle de ce travail de thèse.
93
Annexe : Calcul par intervalles
L’arithmétique par intervalles est un ensemble d’outils basé sur l’idée de manipuler des
intervalles comme une nouvelle classe de nombres réels. Tout nombre est représenté par un
intervalle le contenant et tout calcul fournit un intervalle qui encadre le résultat recherché.
L’avantage de l’arithmétique par intervalles est double : tenir compte des incertitudes sur les
données et pouvoir manipuler des quantités qui ne sont pas exactement représentables. Par
exemple π sera représenté par [3 .14 , 3 .15 ] . De cette façon, on est sûr que cet intervalle contient la
valeur exacte de π .
Un intervalle sur R noté [ x ] est défini comme l’ensemble des nombres réels compris entre les
bornes inférieure x et supérieure x tel que [52] :
{
[ x] = [ x , x ] = x ∈ R \ x ≤ x ≤ x }.
Le milieu, la largeur, le rayon et la magnitude sont quatre propriétés d’un intervalle et sont
définis comme suit :
x+x
mid(x) =
2
w(x) = x − x
w(x)
rad(x) =
2
mig(x) = min{(x), x ∈ x}
Les opérations arithmétiques et ensemblistes classiques définies pour les réels sont étendues aux
intervalles de cette manière [53]:
[x , x ] + [y , y ] = [ x + y , x + y ]
[x , x ] − [y , y ] = [ x - y , x - y ]
[ x , x ] * [ y , y ] = [ min ( x * y , x * y , x * y , x * y ), max( x * y , x * y , x * y , x * y ) ]
[ x , x ] ÷ [ y , y ] = [ min ( x ÷ y , x ÷ y , x ÷ y , x ÷ y ), max( x ÷ y , x ÷ y , x ÷ y , x ÷ y ) ] , 0 ∉ y
Le problème du calcul par intervalles est que certaines propriétés ne sont pas préservées. La
soustraction n’est pas la réciproque de l’addition et la division n’est pas la réciproque de la
multiplication. Une autre propriété perdue concerne la distributivité de la multiplication par
rapport à l’addition. Quelques travaux se sont concentrés sur l’adaptation du calcul par
94
Annexe : Calcul par intervalles
intervalles afin de préserver les propriétés classiques du calcul sur les réels. Nous donnons ci-
dessous quelques exemples qui montrent la création des intervalles et leur manipulation par
Intlab [49].
>> x=infsup(5 , 9)
intval x =
[ 5.0000, 9.0000]
>> y = infsup(-2 , 7)
intval y =
[ -2.0000, 7.0000]
>> z= x + y
intval z =
[ 3.0000, 16.0000]
>> z= x- y
intval z =
[ -2.0000, 11.0000]
>> z=x*y
intval z =
[ -18.0000, 63.0000]
>> z=x/y
intval z =
+/-Inf
>> z=sqrt(x)
intval z =
[ 2.2360, 3.0000]
>> z=log(x)
95
Annexe : Calcul par intervalles
intval z =
[ 1.6094, 2.1973]
>> z=exp(x)
intval z =
1.0e+003 *
[ 0.1484, 8.1031]
>> z1 = x+ y
intval z1 =
[ 3.0000, 16.0000]
>> z1-y
intval ans =
[ -4.0000, 18.0000]
>> q= infsup(5 , 7)
intval q =
[ 5.0000, 7.0000]
>> z=x*(y+ q)
intval z =
[ 15.0000, 126.0000]
intval z1 =
[ 7.0000, 126.0000]
96
Références bibliographiques
[1] K. Beydoune, ‘Conception d’un protocole de routage hiérarchique pour les réseaux de capteurs’,
Thèse de Doctorat, Université Franche Comte, 2009
[Link]
[4] H. Karl, [Link], ‘Protocols And Architectures For Wireless Sensor Networks, ISBN 13-978-0-470-
09510 2,2007
[5] I-F. Akyildiz, M-C. Vuran, ‘Wireless Sensor Networks’ , ISBN 978-0-470-03601-3(H/B), 2010
[6] A. Gallais, ‘Ordonnancement d'Activité dans les Réseaux de Capteurs : l'Exemple de la Couverture de
surface’, Thèse de Doctorat, Université des Sciences et Technologies de Lille, June 2007.
[7] G. Chalhoub, ‘les reseaux de capteurs sans fil’, Workshop Réseaux et Télécommunication de l'IUT,
2010
[9] C. Saad, ‘Quelques contributions dans les réseaux de capteurs’, Thèse de Doctorat, Université
d’Avignon et Des Pays de Vaucluse , 2008.
[11] S. Sudevalayam, P. Kulkarni, ‘Energy harvesting sensor nodes: Survey and implications.
Communications Surveys & Tutorials’ , pages 1–19, 2010.
[12] A. Kansal, J. Hsu, S. Zahedi,, M-B. Srivastava, ‘Power management in energy harvesting sensor
networks’, in ACM Trans. on Embedded Computing Sys., vol. 6, no. 4, pp. 32, ACM, New York, NY,
USA, December 2007
[13] C. Moser, ‘Power Management in Energy Harvesting Embedded Systems’, Phd Dissertation, SWISS
Federal Institute Of Technology, 2009
97
[14] V. Joseph, V. Sharma , U. Mukherji, ‘Joint power control, scheduling and routing for Multihop
Energy harvesting Sensor Networks’, in 4th ACM International Workshop,PM2HW2N in MSWiM,
Spain, October 2009
[15] H. Kwon, D. Noh, J. Kim, J. Lee, D. Lee , H. Shin , ‘Low-Latency Routing for Energy-Harvesting
Sensor Networks’ , Springer Berlin, 2007, vol. Volume 4611, no. 978-3-540-73548-9.
[16] [Link]
[17] S. Dietler, ‘Implementation de codes de Reed-Solomon sur FPGA pour communications spatiales’,
projet de diplome, Hute Ecole d’ingenieur et de gestion du Canton de Vaud, 2006
[19] A. Mahmino, ‘Application du codage reseau aux architectures a garanties de qualitie de service’,
These de Doctorat, Universite de Toulouse, 2009
[20] T. Ho, M. Médard, R. Koetter, D. R. Karger, M. Effros, J. Shi, B. Leong, “A Random Linear
Network Coding Approach to Multicast”, the IEEE Transactions on Information Theory.
[21] S. Chachulski, “Trading structure for randomness in wireless opportunistic routing’, Master’s thesis,
MIT, 2007.
[22] S. Chachulski, M. Jennings, S. Katti, and D. Katabi, “Trading structure for randomness in wireless
opportunistic routing,” in SIGCOMM’07, Kyoto, Japan, Aug. 2007
[23] S. Biswas, R. Morris, ’opportunistic multi-hop routing for wireless networks’, ACMSIG COMM’05
[24] [Link]
[25] E. Rozner, J. Seshadri, [Link], [Link], ‘SOAR: Simple Opportunistic Adaptive Routing Protocol
for Wireless Mesh Networks’ . IEEE Transactions on Mobile Computing 2009.
[27] [Link]
[28] C. Fischione, “Fast-Lipschitz optimization with wireless sensor networks applications”, IEEE
transactions on automatic control, vol 56, NO 10, pp. 2319-2331, October, 2011.
[30] M. Jakobson, ‘‘On some extensions and performance of Fast-Lipschitz optimization’’, Master thesis,
Skotholm, 2011.
[31] K. Kalpakis, S. Tang, ‘’A Combinatorial Algorithm for the Maximum Lifetime Data Gathering with
Aggregation Problem in Sensor Networks’’. In the Proceedings of the 9th IEEE International Symposium
on a World of Wireless, Mobile and Multimedia Networks (WOWMOM 2008), pp. 1-8, Newport Beach,
CA, USA, June 23-26, 2008
98
[32] J.H. Chang and L. Tassiulas, “Maximum lifetime routing in wireless sensor networks,” IEEE/ACM
Trans. Netw., vol. 12, no. 4, pp. 609–619, 2004.
[33] R. Madan, S. Cui, S. Lall, and A. Goldsmith, ‘‘Cross-Layer Design for Lifetime Maximization in
Interference-limited Wireless Sensor Networks’’, IEEE Transactions on Wireless Communications, Vol.
5, No. 11, pp. 3142-3152, November 2006
[34] M. Kaliszan and S. Stanczak , ‘‘Maximizing Lifetime in Wireless Sensor Networks under
Opportunistic Routing ’’ , 44th Asilomar Conference on Signals, Systems and Computers, Nov. 2010.
[36] K. Zeng, ‘‘Opportunistic Routing in Multihop Wireless Networks: Capacity, Energy Efficiency, and
Security’’, Phd dissertation, Worcester Polytechnic Institute, 2008.
[37] S. Chelloug, M. Benmohammed , ‘Maximizing the Lifetime of Sensor Networks under Joint
Opportunistic Routing and Scheduling’ in the proceedings of World Academy of Science,
Engineering and Technology 69 2012, ISSN 2010-3778, pp. 1188- 1192, 2012.
[38] D. Lucani, M. Stojanovic , M. Médard, “Random Linear Network Coding for Time Division
Duplexing: When To Stop Talking And Start Listening," in Proc. INFOCOM 2009, Rio de Janeiro,
Brazil, Apr. 2009.
[39] D. Lucani, M. Medard, M. Stojanovic, “Random Linear Network Coding for Time Division
Duplexing: Field Size Considerations", in Proc. GLOBECOM 2009, Hawaii, USA, Dec. 2009
[40] D. Lucani, M. Medard, M. Stojanovic, “Random Linear Network Coding for Time Division
Duplexing: Energy Analysis," in Proc. ICC 2009, Dresden, Germany, Jun. 2009.
[42] J. Yang, [Link], “ Packet Optimal Scheduling in an Energy Harvesting communication system”,
IEEE transactions on communications, Vol.60, No. 1, January 2012.
[43] S. Chelloug, M. Benmohammed, “Minimizing the completion time in wireless sensor networks with
energy harvesting under opportunistic routing and random linear network coding”, The international
journal of research and reviews in wireless sensor networks (IJRRWSN), Vol. 2, N°. 2, June 2012, ISSN:
2047-0037, pp.93-101.
[44] [Link], I. Chatzigeorgiou, I-J. Wassell, "Randomly Select and Forward: Erasure Probability
Analysis of a Probabilistic Relay Channel Model," 2009 IEEE Information Theory Workshop (ITW 2009),
Taormina, Italy, Oct 2009
[45] Y. Wu, S. Fahmy, N-B. Shroff, "On the Construction of a Maximum-Lifetime Data Gathering Tree
in Sensor Networks: NP-Completeness and Approximation Algorithm," In Proceedings of IEEE
INFOCOM (the conference on computer communications), 9 pp., April 2008.
99
[46] D. Bertsimas, J. Tsitsiklis, ‘‘Simulated Annealing’’, in the proceedings of statistical science, Vol. 8,
N° 1, pp. 10-15, 1993.
[47] L. Mihaylova, D. Angelova, S. Honary, D-R. Bull, C-N. Canagarajah, ‘Mobility tracking in cellular
Networks using particle filtering ‘ , IEEE transactions on wireless communications, Vol.6, N°.10, 2007.
[Link]
[49] S. M-Rump‚’Intlab’
[Link]
[50] J.S-Plank
[Link]
[51] [Link] et al. ,’ Architecture Taxonomy for Control and Provisioning of Wireless Access Points
(CAPWAP)’
[Link]
[52] F. Mourad, H. Snoussi, F. Abdallah, C. Richard, ‘‘Localisation par intervalles basée sur les ancres et
les non-ancres dans les réseaux de capteurs mobiles’’. GRETSI 09, Dijon, France, 8-11 Sep., 2009.
[53] N. Revol, ‘‘Introduction à l’arithmétique par intervalles’’ , rapport de recherche, ISSN 0249-6399,
Université des sciences et technologies de Lille, 2001.
100
Nom du document : Copie‐corrigée1
Répertoire : I:
Modèle : C:\Documents and Settings\user\Application
Data\Microsoft\Modèles\[Link]
Titre : Ministère de l’enseignement supérieur et de la recherche
scientifique
Sujet :
Auteur :
Mots clés :
Commentaires :
Date de création : 06/04/2013 06:34:00
N° de révision : 2
Dernier enregistr. le : 06/04/2013 06:34:00
Dernier enregistrement par : pc
Temps total d'édition : 2 Minutes
Dernière impression sur : 06/04/2013 01:57:00
Tel qu'à la dernière impression
Nombre de pages : 107
Nombre de mots : 26 276 (approx.)
Nombre de caractères : 144 524 (approx.)