Optimisation d’énergie dans les algorithmes de routage ... · Pr. Azzedine Bilami Membre...
Transcript of Optimisation d’énergie dans les algorithmes de routage ... · Pr. Azzedine Bilami Membre...
Année universitaire 2012‐2013
Ministère de l’enseignement supérieur et de la recherche scientifique
Université Constantine 2
Faculté des Nouvelles Technologies de l’Information et de la Communication
Département d’Informatique Fondamentale et ses Applications
Thèse pour l’obtention du grade de Docteur en Sciences
Présentée et soutenue publiquement par :
Melle Samia Chelloug
Le 21 / 03 / 2013
Titre :
Optimisation d’énergie dans les algorithmes de routage pour réseaux mobile
Directeur de thèse:
Pr. Mohammed Benmohammed
Jury :
Pr. Allaoua Chaoui Président Université Constantine 2
Pr. Mohammed Benmohammed Rapporteur Université Constantine 2
Dr. Salah Merniz Examinateur Université Constantine 2
Dr. Smain Maazouzi Membre Université de Skikda
Pr. Azzedine Bilami Membre Université de Batna
Remerciements
J’exprime ma profonde gratitude à mon directeur de thèse Pr. Mohammed Benmohammed pour ses conseils, sa disponibilité, son écoute et ses encouragements.
J’adresse mes sincères remerciements aux membres du jury pour m’avoir fait l’honneur de juger mon travail. Mes remerciements s’adressent en particulier à Monsieur le Professeur Allaoua Chaoui, pour avoir accepté d’être président du jury. Un grand merci à Monsieur le Docteur Salah Merniz, Dr. Smail Mazouzi et Pr. Azzedine Bilami pour avoir accepté de participer dans le jury.
Je souhaite aussi remercier Madame le Professeur Touraya Boumaza (département d’électronique, Université de Constantine) pour son soutien qui m’a permis de mener à terme mon travail de recherche.
Je remercie également Pr.Reza Mohammed Soleymani (Université Concordia, Canada) et Pr. Jean-Claude Konig (Université Montpellier 2, France) pour leurs invitations et leurs bonnes collaborations.
Je tiens également à remercier tous les auteurs qui m’ont assisté à distance et m’ont clarifié divers aspects liés à leurs papiers.
Merci aux : Pr. Samia Bouhedja, Dr. Mounia Benyamina, Mme. Afifa Benazouz, Mme. Nadia Boucheham, Melle Huda Sobhi, Melle Dua Odeh, … Je n’oublierai jamais les moments passés ensemble.
Enfin, un merci particulier à Mr.Nelson Clara Moller pour ses conseils judicieux et son aide précieuse.
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…
بسم اهللا الرحمن الرحيم
و يسألونك عن الروح قل الروح من أمري ربي و ما أوتيتم من العلم
)85:اإلسراء(إال قليال
العظيم اهللا صدق
Résumé
Les réseaux de capteurs constituent un nouveau thème de recherche offrant l’opportunité de
développer de nouvelles applications et posant ainsi le challenge de la conception d’objets autonomes.
Une des thématiques les plus intéressantes consiste à minimiser le temps d’achèvement nécessaire à la
transmission des paquets des données dans un réseau de capteurs contenant une seule source et une
seule destination et dont les liens sont soumis à des erreurs de transmission. Pour cela, le routage
opportuniste qui fonctionne avec le codage réseau linéaire aléatoire s’avère une idée intéressante. Le
routage opportuniste tire profit de la diffusion et le codage réseau linéaire aléatoire permet de
combiner les paquets avant de les envoyer évitant ainsi toute coordination entre les noeuds. D’autre
part, la récupération d’énergie représente le présent enjeu pour la prolongation de la durée de vie d’un
réseau de capteurs. Cette thèse concerne donc principalement la consommation énergétique dans les
algorithmes de routage pour les réseaux de capteurs. Une grande partie de ce travail a porté sur la
proposition d’un modèle pour la minimisation du temps d’achèvement nécessaire au décodage réseau
linéaire aléatoire dans un réseau de capteurs opérant sous l’hypothèse de récupération d’énergie et
exploitant l’idée de l’opportunisme pour acheminer les données. Pour parvenir à résoudre le modèle
proposé, F-Lipschitz a été utilisée. Cette méthode est adéquate aux modèles qui ne soient pas
convexes et assure l’existence d’une solution. De plus, le calcul par intervalles a été exploité pour
tenir compte de l’incertitude lors du calcul des dérivées. D’un point de vue avantage, cette
arithmétique assure que le résultat calculé se trouve toujours dans l’intervalle en sortie. Les résultats
de simulation ont été menés par Matlab et Omnet++ et représentent une évaluation du modèle en
termes de l’énergie, débit, et temps de terminaison. Ils suggèrent d’augmenter la densité réseau pour
diminuer la probabilité d’effacement. Associer des probabilités de réception aux noeuds capteurs et
prolonger la durée de vie sous routage opportuniste est une contribution connexe à la première. Dans
ce cadre, les métaheuristiques s’avèrent un outil puissant qui converge vers une solution optimale. Le
modèle considéré garantit une consommation énergétique uniforme entre les différents noeuds
capteurs. L’autre volet de cette thèse concerne le routage économe en énergie dans les réseaux de
capteurs mobiles où la prédiction peut être exploitée conjointement avec une approche de routage par
voisinage afin d’acheminer les données dans un réseau dense avec un bon taux d’acheminement.
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
Chapitre1 : Réseaux de capteurs
1. Introduction 10
2. Qu’est-ce qu’un capteur ? 10
3. Réseaux de capteurs 11
4. Composants d’un capteur 11
5. Plateformes des réseaux de capteurs 13
6. Réseaux de capteurs versus Manet 14
7. Challenge de réseaux de capteurs 14
8. Applications des réseaux de capteurs 15
9. Pile protocolaire d’un réseau de capteurs 16
10. Protocoles de routage dans les réseaux de capteurs 16
10-1. Inondation 17
10-2. Gossiping 17
10-3. Protocole Spin 17
10-4. Protocoles hiérarchiques 18
10-5. Protocoles géographiques 18
10-6. Techniques cross-layer 19
11. Pourquoi la récupération d’énergie dans les réseaux de capteurs ? 20
12. Architecture d’un nœud 20
13. Sources énergétiques 22
14. Gestion de l’énergie récupérée 23
15. Routage avec récupération d’énergie 24
16. Conclusion 24
Chapitre2 : Routage opportuniste et codage réseau1
1. Introduction 26
2. Définition d’un champ 26
3. Champs de Galois 27
4. Addition et multiplication dans GF (2m) 28
5. Codage réseau 29
5-1.Avantages du codage réseau 30
5-2.Théorème du codage réseau 32
6. Codage réseau linéaire aléatoire 32
7. Pourquoi et c’est quoi le routage opportuniste ? 33
7-1. Métrique ETX 34
7-2. Protocole EXOR 34
8. Protocole MORE 35
8-1. Nombre de transmissions 36
8-2. Format des paquets 36
8-3. Test de l’indépendance linéaire 37
9. Protocole SOAR 38
10. Conclusion 39
Chapitre 3 : Optimisation F-Lipschitz
1. Introduction 41
2. Problème d’optimisation 41
3. Classification des problèmes d’optimisation 42
4. Méthodes de résolution 42
4-1. Méthodes par décomposition 43
5. Fonction Lipschitz 43
6. Problème d’optimisation F-Lipschitz 45
7. Problème canonique 47
8. Optimalité de la solution F-Lipschitz 49
2
9. Calcul de la solution optimale 50
10. F-Lipschitz pour les réseaux de capteurs 51
11. Conclusion 52
Chapitre 4 : Contributions pour le routage opportuniste et géographique
1. Introduction 53
2. Contribution principale ‘Système de routage opportuniste avec récupération d’énergie’ 53
2-1. Travaux connexes 53
2-2. Système proposé 55
2-3. Temps de terminaison 56
2-4. Modèle d’optimisation 58
2-5. Formulation F-Lipschitz 63
2-6. Estimation de la probabilité d’effacement 65
2-7. Scénarios d’exécution 66
3. Contributions secondaires 68
3-1. Maximisation de la durée de vie d’un réseau de capteurs sous routage opportuniste 68
3-2. Localisation et routage géographique dans un réseau de capteurs statiques 69
3-2-1. Formulation du problème 70
4. Conclusion 74
Chapitre 5 : Résultats de simulation
1. Introduction 75
2. C’est quoi Omnet++ ? 75
3. Modélisation de la simulation Omnet++ 75
3-1. Composants 77
3-2. Messages et paquets 78
3-3. Configuration de la simulation 79
4. Résultats de simulation 79
3
4-1. Résultats de la contribution principale 79
4-2. Evaluation de la consommation énergétique 82
4-3. Evaluation du débit 82
4-4. Evaluation du temps de terminaison 84
4-5. Impact du nombre des paquets 84
4-6. Résultat du système de la maximisation de la durée de vie 85
4-7. Résultats de localisation et de routage géographique 86
5. Conclusion 90
Conclusion générale et perspectives 92
Annexe : Calcul par intervalles 94
Références bibliographiques 97
4
Liste des figures
Chapitre 1 : Réseaux des capteurs
Figure 1. Principe de l’étalonnage 10
Figure 2. Architecture d’un réseau de capteurs 11
Figure 3. Architecture d’un nœud capteur 13
Figure 4. Pile protocolaire d’un réseau de capteurs 16
Figure 5. Principe du protocole SPIN 18
Figure 6. Principe du routage géographique 19
Figure 7. Zebra Net 21
Figure 8. Architecture d’un système de récupération d’énergie 21
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Figure 1.a. Routage vers R1 30
Figure 1.b. Routage vers R2 30
Figure 1.c. Multicast avec codage réseau 30
Figure 2.a. Echange de x1, x2 sans codage réseau 31
Figure 2.b. Echange de x1, x2 avec codage réseau 31
Figure 3.a. Envoi des données sans codage réseau 31
Figure 3.b. Envoi des données avec codage réseau 31
Figure 4.a. Taille de la coupe au niveau de D 32
Figure 4.b. Taille de la coupe au niveau de E,F 32
Figure 5. Principe du codage réseau linéaire aléatoire 33
Figure 6.a. Exemple d’un réseau 34
Figure 6.b. Métrique ETX de chaque chemin 34
Figure 7. Format d’un paquet MORE 37
Figure 8. Principe du protocole MORE 40
5
Chapitre 3 : Optimisation F-Lipschitz
Figure 1. Processus de décision 41
Figure 2. Optimalité au sens Pareto 50
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Figure 1. Phases et quantités d’énergie récupérées 55
Figure 2. Principe du modèle proposé 57
Figure 3. Algorithme de Prim 61
Figure 4. Chaîne de Markov proposée pour le décodage 65
Figure 5. Figure 5. Principe de la résolution du modèle 66
Figure 6. Scénario 1 67
Figure 7. Scénario 2 67
Figure 8. Algorithme du recuit simulé pour le calcul des probabilités de réception 69
Figure 9. Prédiction des positions des nœuds capteurs 73
Chapitre5 : Résultats de simulation
Figure 1. Topologie des nœuds capteurs 81
Figure 2. Architecture d’un nœud capteurs 81
Figure 3. Consommation énergétique des deux scénarios 82
Figure 4. CDF du débit des deux scénarios 83
Figure 5. Temps de terminaison en fonction de la probabilité d’effacement 84
Figure 6. Effet de la densité et du nombre de paquets sur le deuxième scénario 85
Figure 7. Probabilité de réception moyenne versus le nombre d’itérations 86
Figure 8. Ordonnées prédites versus temps de simulation 88
Figure 9. Abscisses prédites versus temps de simulation 88
Figure 10. Impact du paramètre a’ sur le taux d’acheminement 89
Figure 11. Impact du paramètre a’ sur la consommation énergétique 90
6
Liste des tableaux
Chapitre 1 : Réseaux des capteurs
Tableau 1. Plateformes des réseaux de capteurs 14
Tableau 2. Sources d’énergie et leurs caractéristiques 22
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
Tableau 1.a. Addition dans Z7 27
Tableau 1.b. Multiplication dans Z7 27
Tableau 2. Exemples de polynômes primitifs 28
Tableau 3.a. Représentation polynomiale 29
Tableau 3.b. Addition dans GF (23) 29
Chapitre 3 : Optimisation F-Lipschitz
Tableau 1. Notations et définitions 45
Chapitre 4 : Contributions pour le routage opportuniste et géographique
Tableau 1. Notations du modèle proposé 59
Tableau 2. Notations et définitions 68
Chapitre 5 : Résultats de simulation
Tableau 1. Paramètres de la simulation 80
Tableau 2. Paramètres de la simulation du routage géographique 87
Tableau 3. Meilleures valeurs du paramètre a’ 90
7
Introduction génèrale
LLa démultiplication massive des technologies sans fil a révolutionné les moyens de communication depuis le début du vingt et unième siècle avec notamment l’apparition des réseaux ad hoc. Alors que les hôtes dans un réseau ad hoc ont un intérêt propre, les réseaux de capteurs amènent en supplément la possibilité d’acquérir et de communiquer les données de manière locale. Il s’agit de nier le concept de miniaturisation à la notion de communication pour couvrir une large palette d’applications. Dans un réseau de capteurs, une quantité d’énergie considérable est consommée durant les communications sans fil (mode de transmission et de réception). De plus, les batteries utilisées sont petites et leur remplacement n’est pas toujours pratique. Deux alternatives existent : la première consiste à développer des protocoles maximisant la durée de vie du réseau tout en spécifiant le critère de fonctionnement du réseau. Cependant, l’enjeu actuel consiste à intégrer des systèmes de récupération d’énergie dans chaque capteur afin de garantir une durée de vie infinie. Evidemment, la quantité d’énergie récupérée dépend des caractéristiques de la source employée. D’autres parts, divers travaux ont traité le problème du routage dans les réseaux de capteurs où chaque capteur n’a aucune information a priori à propos du réseau auquel il appartient. L’inconvénient majeur des protocoles de routage traditionnels ; entre autre le routage géographique qui dépend de la localisation est qu’ils ne tiennent pas compte des erreurs de transmission sans fil. Pour cela, le routage opportuniste exploite le concept de diffusion qui caractérise les réseaux sans fil pour acheminer convenablement des paquets.
Au sens large, aucune route n’est établie a priori et les nœuds se mettent en mode de réception si aucune transmission n’est prête ou autorisée. Les nœuds qui ont eu l’opportunité de recevoir un paquet peuvent prendre le rôle de relais. Ce protocole a fait l’objet d’une certaine fascination des chercheurs, qui ont intégré le codage réseau linéaire aléatoire au routage opportuniste. Le focus ici est d’effectuer un routage décentralisé sans aucune synchronisation. De sa part, le codage réseau linéaire aléatoire tire avantage des caractéristiques des champs de Galois et offre ainsi un débit de transmission maximal.
Dans ce contexte, le temps de terminaison nécessaire au décodage des paquets reçus par une ou plusieurs destinations est un problème d’optimisation essentiel. Les études réalisées sont orientées autour des topologies constituées d’une seule source où les communications multi-sauts ne sont pas nécessaires. Elles décrivent le processus de transmission et du décodage par des chaînes de Markov discrètes.
Notre objectif principal dans cette thèse sera donc d’étudier ce problème dans un réseau de capteurs pouvant récupérer l’énergie et acheminer les paquets par routage opportuniste et codage réseau aléatoire tout en ayant la possibilité de changer les puissances de transmissions associées aux capteurs. En d’autre terme, les contraintes liées à la couche réseau et physique sont ainsi modélisées.
La formulation proposée nous a amenés à s’interroger sur une méthode de résolution qui soit adéquate pour un modèle qui n’est pas convexe. En conséquence, une résolution centralisée moyennant la méthode F-Lipschitz a été adoptée. La première étape consiste à vérifier si le problème d’optimisation manipulé respecte la forme F-Lipschitz. Le cas, échant, un certain
8
nombre de conditions doit être vérifié avant de procéder à la transformation du problème en question. Ensuite, le calcul de la solution optimale est obtenu moyennant le gradient des contraintes du modèle et la projection des variables sur un domaine borné.
Une seconde question s’est posée lors du calcul des dérivées sachant que chaque capteur opère selon des phases qui soient différentes celles utilisées par les autres capteurs. Pour cela, nous avons jugé utile l’intégration du calcul par intervalles pour prendre en compte les incertitudes présentes. L’idée du calcul par intervalles consiste à représenter chaque nombre par un intervalle le contenant.
A côté de la contribution principale, deux contributions secondaires ont été mises en œuvre. La première a consisté à étudier un système de routage opportuniste et de trouver la durée de vie maximale assurant sa convergence moyennant une classe de métaheuristique appelée ‘recuit simulé ‘. Enfin, la dernière proposition a consisté à localiser des capteurs mobiles selon une technique prédictive et d’exploiter les positions estimées lors d’un routage géographique économe en énergie.
Cette thèse est organisée en cinq chapitres:
La première partie du premier chapitre intitulé ‘Réseaux de capteurs’ est consacrée à un état de l’art sur les réseaux de capteurs. Des critiques ont porté sur les réseaux de capteurs traditionnels et la seconde partie décrit donc la technologie de récupération d’énergie qui permet d’atteindre une durée de vie approximativement infinie et de dépasser les contraintes énergétiques.
Le deuxième chapitre est intitulé ‘Routage opportuniste et codage réseau linéaire aléatoire’ présente essentiellement l’idée du protocole de routage opportuniste ‘MORE’ qui exploite conjointement la diversité spatiale et le codage réseau linéaire aléatoire. Les champs de Galois constituent la partie introductive de ce chapitre puisque le codage réseau linéaire aléatoire est basé sur ces champs infinis.
Le troisième chapitre est intitulé ‘Optimisation par F-Lipschitz ‘. Il est consacré à la technique d’optimisation F-Lipschitz. Les avantages de cette méthode par rapport aux méthodes d’optimisation existantes sont mis en œuvre et les conditions nécessaires pour transformer un problème en un problème F-Lipschitz sont expliquées.
Le quatrième chapitre est intitulé ‘Contributions pour le routage opportuniste et géographique’ contient nos contributions. Les modèles proposés ainsi que les scénarios de simulation seront présentés au sein de ce chapitre.
Le cinquième chapitre est intitulé ‘Résultats de simulation’. Un aperçu du simulateur Omnet++ est présenté. Les résultats de simulation obtenus tout au long de ce parcours de recherche sont illustrés et expliqués.
Notons que ce manuscrit contient à la fin une annexe sur le calcul par intervalles.
9
Chapitre 1 : Réseaux de capteurs
10
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.
2. Qu’est-ce qu’un capteur?
La surveillance des paramètres physiques, chimiques ou biologiques dans une chaîne de mesure requiert souvent l’utilisation des capteurs. Par définition, un capteur est un dispositif qui génère une image sous forme en général électrique, d’une grandeur physique. De manière plus précise, un capteur peut être vue comme une boite noire qui accepte en entrée une mesurande c’est à dire la quantité que l’on cherche à mesurer (m) et produit en sortie une grandeur électrique notée S pouvant être une charge électrique, un courant, un différentiel de potentiel ou une impédance. Autrement, dit, le rôle d’un capteur est de calculer S= F(m) [1]. Le principe de base repose sur l’opération d’étalonnage. Sachant différentes valeurs m1, m2, …, mi, on relève les signaux S1, S2, …, Si. Le rôle du capteur consiste donc à lire S lorsque m est inconnu [2].
Si
S?
mi m
Figure1. Principe de l’étalonnage
Chapitre 1 : Réseaux de capteurs
11
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].
Figure2. Architecture d’un reseau de capteurs.
4. Composantes d’un nœud capteur
L’architecture de base d’un nœud capteur est illustrée en figure 3 [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
Chapitre 1 : Réseaux de capteurs
12
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 :
Facilité de connexion avec les capteurs.
Faible consommation énergétique.
Possibilité de réduction de la consommation énergétique par la mise dans l’état de veille.
-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.
Chapitre 1 : Réseaux de capteurs
13
Figure3. Architecture d’un nœud capteur.
5. Plateformes des réseaux de capteurs
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’.
Contrôleur
Mémoire
Capteurs/actionners
Source énergétique
Communication
Chapitre 1 : Réseaux de capteurs
14
Type Année Vitesse CPU (MHZ)
Mémoire programmes (Kb)
RAM (Kb) Fréquence (MHZ)
Débit de transmission (Kbps)
Mica 2002 6 128 4 868 10/40
Mica2 2003 16 128 4 433/868/916 38.4Kbaud
Micaz 2004 16 128 4 2.4GHZ 250
TelosB/Tmote 2005 16 48 10 2.4GHZ 250
BTnode 2007 8 128 64 433-915 Varié
Stargate 2005 400 32Mb(SD) 64Mb (SD) 2.4GHZ varié
Tableau1. Plateformes des réseaux de capteurs.
6. Réseaux de capteurs versus Manet
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].
7. Challenge des réseaux de capteurs
-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].
Chapitre 1 : Réseaux de capteurs
15
-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].
8. Applications des réseaux de capteurs
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.
Chapitre 1 : Réseaux de capteurs
16
-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].
9. Pile protocolaire d’un réseau de capteurs
La figure suivante schématise les différentes couches de la pile protocolaire [5].
Figure 4. Pile protocolaire d’un réseau de capteurs.
-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.
Les plans de gestion de l’énergie, de la mobilité et des tâches surveillent la puissance, le mouvement et la distribution des tâches.
10. Protocoles de routage dans les réseaux de capteurs
Liaison
Physique
Réseau
Transport
Application Gestion
de
l’énergie
Gestion
de
la mobilite
Gestion
des
tâches
Chapitre 1 : Réseaux de capteurs
17
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.
-Opérer dans des topologies qui soient même aléatoires.
Les techniques de routage présentées dans la littérature regroupent : l’inondation, routage hiérarchique, géographique et cross-layer.
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
J.Kulik 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
Chapitre 1 : Réseaux de capteurs
18
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
C C C
A A A
D D D
E E E
Figure 5. Principe du protocole SPIN.
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.
10-4. Routage hiérarchique
Considérons un réseau de capteurs contenant plusieurs sources et adoptant l’inondation comme technique de routage. Dans ce cas, les nœuds qui soient proches de la destination consomment une énergie importante et leurs batteries peuvent être épuisées rapidement. Pour cela, on a pensé à regrouper les nœuds capteurs en clusters ; chacun d’entre eux est dominé par un cluster-head. Le problème majeur de cette technique est le manque de robustesse si les clusters heads tombent en panne. Dans Leach [5], les cluster head sont sélectionnés de manière dynamique. Le protocole opère en cycles. Dans chaque cycle, des cluster heads sont élus, les clusters sont formés et la communication est établie entre eux.
10-5.Routage 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
AD
AD
AD
AD
DATA RE
Chapitre 1 : Réseaux de capteurs
19
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
S D
B
Figure6. Principe du routage géographique.
-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.
10-6.Techniques 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
Dis(A,D)
Dis(B,D)
Prog(A,D)
Prog(B,D)
Chapitre 1 : Réseaux de capteurs
20
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,…).
11. Pourquoi la récupération d’énergie dans les réseaux de capteurs ?
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.
12. Architecture d’un nœud
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.
Chapitre 1 : Réseaux de capteurs
21
Figure 7. ZebraNet.
Figure 8. Architectures d’un système de récupération d’énergie
Dans le premier cas illustré en figure 8, le système de récupération d’énergie alimente directement le capteur qui soit opérationnel tant que l’énergie récupérée dépasse le minimum requis pour son fonctionnement.
Dans le second cas, l’énergie récupérée est tout d’abord sauvegardée avant toute éventuelle utilisation. Dans ce contexte, le composant de stockage peut être dupliqué pour servir de backup en cas de problème de décharge. L’avantage majeur de cette architecture est que tout excès d’énergie sera sauvegardé et exploité plus tard. Notons que le composant de stockage (buffer) a généralement une capacité limitée et des mécanismes de gestion de l’énergie sont préconisés [11].
Composant de stockage
Système de récupération
Composant de stockage secondaire
Capteur Système de récupération
Capteur
Chapitre 1 : Réseaux de capteurs
22
13. Sources énergétiques et technologies des batteries
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.
Tableau 2. Sources énergétiques et leurs caractéristiques.
Chaque source énergétique adopte un mécanisme pour la conversion de l’énergie récupérée. On peut citer [13]:
-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
Source énergétique Caractéristiques
Solaire Ambiante, incontrôlable, prédictible
Vent Ambiante, incontrôlable, prédictible
RF Ambiante, partiellement contrôlable
Chaleur du corps et pression du sang Incontrôlable, imprédictible
Enfoncement d’un bouton Contrôlable
Vibrations dans un environnement indoor Ambiante, incontrôlable, imprédictible
Chapitre 1 : Réseaux de capteurs
23
10-100 MW pour une température de quelques Kelvins. ThermoLife a un diamètre de 1cm et une hauteur de 1.4mm.
-Effet vibratoire : génère un potentiel électrique par conversion d’une énergie mécanique. Le mécanisme piézoélectrique est une sous-catégorie qui tire profit des caractéristiques de quelques matériaux dont les cristaux deviennent électriquement polarisés lorsqu’ils sont soumis à une force mécanique. La chaussure générant de l’énergie pendant la marche et qui a été développée par l’équipe MIT Media laboratory représente le prototype le plus marquant qui convertit l’énergie mécanique en une énergie électrique.
Une fois l’énergie a été récupérée à partir d’une source, on a besoin de batteries rechargeables présentant une bonne capacité, durée de recharge et vitesse de rechargement. Les batteries à base du LI-ion constituent un bon choix technologiques.
14. Gestion de l’énergie récupérée
La thématique des réseaux de capteurs classiques concerne la minimisation de la consommation énergétique ou la maximisation de la durée de vie du réseau. Dans les réseaux de capteurs pouvant récupérer de l’énergie à partir de l’environnement externe, deux visions sont possibles : traiter l’énergie récupérée comme un supplément et maximiser donc la durée de vie ou bien trouver des mécanismes pour adapter la puissance de transmission en fonction de l’énergie récoltée. Nous décrivons ci-dessous les règles nécessaires dans le dernier cas [12].
Considérons que la source énergétique fournit une puissance (t)PS et que la puissance consommée est (t)Pc . 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 :
t (t)P(t)P cs ∀≥ (1)
-Buffer idéal :
Dans le cas d’un buffer idéal
0sc dtPdtP Bt
o
t
o+∫ ∫≤ (2)
Tel que 0B représente la quantité initiale d’énergie.
-Buffer non idéal :
B dtP-dt]P-[P-dt ]P-[PηBt
o
t
0
t
0leaksccs0 ∫ ≤∫ ∫+ ++ (3)
Chapitre 1 : Réseaux de capteurs
24
B : Capacité du buffer.
η : Efficacité du chargement.
leakP : Puissance de décharge.
⎩⎨⎧
<=>
=+
0 xsi 00 xsix
[x] (4)
15. Routage avec récupération d’énergie
La récupération d’énergie est un domaine qui se trouve à l’intersection de l’électronique et l’informatique. Cependant, la plupart des travaux s’intéressent à la fabrication de systèmes autonomes qui soient aptes à récupérer et à convertir l’énergie.
La présente section donne un aperçu des travaux de recherche qui se sont focalisés à formuler et à résoudre le problème du routage dans les réseaux de capteurs en considérant la récupération d’énergie.
Dans [14], les auteurs ont proposé une formulation cross-layer qui inclut le routage et l’ordonnancement où plusieurs stations de base sont présentes. Le système fonctionne selon des slots de temps. Chaque nœud capteur peut être actif ou passif dans un slot. Dans l’état passif, un nœud peut uniquement récupérer de l’énergie et ne participe pas dans les transmissions ou les réceptions. La technique de routage adoptée est celle d’inondation limitée (muslticast). Divers paramètres ont permis de conclure les performances de la solution proposée.
Dans [15], le routage considéré s’appuie sur une topologie arbre mais chaque capteur peut avoir plusieurs parents afin de pouvoir sélectionner le meilleur chemin en termes de latence. Chaque nœud contrôle l’énergie consommée par rapport à celle récupérée.
Quelques d’autres travaux ont abordé le routage opportuniste sous l’hypothèse de récupération d’énergie. En fait, la première idée du routage opportuniste a été publiée en 2008 et constitue une bonne solution pour dépasser quelques problèmes de la transmission sans fil. D’ailleurs, le chapitre suivant de ce manuscrit va détailler le principe du routage opportuniste.
16. Conclusion
La consommation énergétique dû aux communications est à l’origine de divers problèmes dans les réseaux de capteurs. Ainsi, plusieurs applications critiques ne tolèrent pas que des capteurs déployés ne maintiennent pas leurs charges. La proposition de protocoles efficaces en énergie est donc l’atout majeur dans les réseaux de capteurs. Plus précisément, les protocoles de la couche réseau, Mac et physique doivent tenir en compte de :
-consommation énergétique.
Chapitre 1 : Réseaux de capteurs
25
-Les capacités limitées en termes de calcul et de mémoire.
D’autre part, la technologie actuelle de récupération d’énergie permet d’augmenter les capacités énergétiques des capteurs mais il est primordial de bien utiliser cette énergie vue les caractéristiques des sources énergétiques.
Après cet état de l’art concernant les réseaux de capteurs et la récupération d’énergie, nous allons se focaliser sur la couche réseau. En particulier, le routage opportuniste est une nouvelle idée qui prend en compte les erreurs de transmission. Le routage opportuniste et le codage réseau linéaire aléatoire feront donc l’objet du chapitre suivant.
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
26
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.
2. Définition d’un champ
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‐ cb)(ac)(ba ++=++ //Associativité de l’addition
2‐ abba +=+ //Commutativité
3‐ Il y a un élément 0 tel que 00a a =+∀
4‐ (-a) a ∃∀ Tel que 0 (-a) a =+
5‐ (a.b).ca.(b.c) = //Associativité de la multiplication
6‐ b.aa.b = //Commutativité de la multiplication
7‐ Il existe un élément 1 diffèrent de zéro tel que a aa.1 ∀=
8‐ 1a0,a −∃≠∀ Tel que 1a.a-1 =
9‐ a.ca.bc)a.(b +=+ //Distribution de la multiplication par rapport à l’addition
L’ensemble des réels et celui des complexes sont des exemples de champs.
La notation pZ réfère à l’ensemble des entiers 1}p,{0,1,2,... − en utilisant l’arithmétique modulo p .
Si p est premier alors pZ est un champ et toutes les propriétés énoncées ci-dessus sont vérifiées.
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
27
Par exemple, les tables suivantes montrent l’opération d’addition et de multiplication dans le champ 7Z .
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é 1)(m − définis dans le champ pZ . La forme générale d’un polynôme est [17]:
⎪⎩
⎪⎨⎧
−∈+++−
−
1}{0,1,...paxaxa...xa
i
00
11
1m1m (1)
Dans la pratique on se limite souvent à 2p= .
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 3,...,10m=
+ 0 1 2 3 4 5 6
0 0 1 2 3 4 5 6
1 1 2 3 4 5 6 0
2 2 3 4 5 6 0 1
3 3 4 5 6 0 1 2
4 4 5 6 0 1 2 3
5 5 6 0 1 2 3 4
6 6 0 1 2 3 4 5
. 0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6
2 0 2 4 6 1 3 5
3 0 3 6 2 5 1 4
4 0 4 1 5 2 6 3
5 0 5 3 1 6 4 2
6 0 6 5 4 3 2 1
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
28
Table2. Exemples de polynômes primitifs.
4. Addition et multiplication dans )GF(2 m
L’opération )p(p 21 + consiste à additionner les coefficients de 1p et 2p .
Pour la multiplication, le résultat peut être en dehors du champ et il est donc nécessaire de considérer )modp.p(p 21 .
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 12 ++ xx , 1+x et 12 +x ainsi que la multiplication de ( 12 +x ) et ( xx +2 ). Ces opérations peuvent être effectuées comme suit [16]:
12 ++ xx 12 +x
10 ++ x xx +2
102 ++x
1 0 0 xx +3
24 xx +
m )(xP
3 31 xx ++
4 41 xx ++
5 521 xx ++
6 61 xx ++
7 731 xx ++
8 84321 xxxx ++++
9 941 xx ++
10 1031 xx ++
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
29
xxxx +++ 234 31 xx ++
xxx ++ 24
3x x
Table3. a. Représentation polynomiale. Table 3.b. Addition dans )2( 3GF .
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 21 S,S et deux destinations 21 R,R sont présentes. Le temps est divisé en slots et chaque canal peut envoyer 1bit/slot. La source 1S peut générer un seul bit/slot qui est dénoté par 1x et la source 2S peut générer un seul bit/slot qui est dénoté par 2x [18].
Si seul 1R utilise le réseau, elle peut obtenir 21 x,x à travers DECBet DA −−−− .
Décimal Binaire Polynomiale
0 000 0
1 001 1
2 010 x
3 011 1+x
4 100 2x
5 101 12 +x
6 110 xx +2
7 111 12 ++ xx
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 0 3 2 5 4 7 6
2 2 3 0 1 6 7 4 5
3 3 2 1 0 7 6 5 4
4 4 5 6 7 0 1 2 3
5 5 4 7 6 1 0 3 2
6 6 7 4 5 2 3 0 1
7 7 6 5 4 3 2 1 0
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
30
Pareil, si seul 2R utilise le réseau, elle peut obtenir 21 x,x à travers FBet FECB −−−− .
Le problème se pose dès que 21 R,R s’intéressent en parallèle à obtenir 21 x,x . Le codage réseau a résolu ce problème en transmettant 213 xxx += de cette manière 1R reçoit ( 31 x,x ) et 2R reçoit ( 32 x,x ) et chacun d’entre elles peut résoudre un système d’équations.
x1+x2
R1 R2 R1 R2 R1 R2
Figure 1. a. Routage vers R1. Figure 1.b. Routage vers R2. Figure 1.c. Multicast avec codage réseau.
5-1. Avantages du codage réseau
A côté de l’amélioration du débit de transmission qui a été montrée à travers l’exemple introductif, deux avantages clés doivent être mentionnés [18].
-Minimisation des ressources énergétiques : soit le réseau ad hoc de la figure 2 où A et C veulent échanger 21 x,x en utilisant B comme relais. Le temps est divisé en slots et chaque équipement peut transmettre ou recevoir dans un slot. Avec le codage réseau, B fait une seule transmission contenant 21 xx + au lieu d’en faire deux et ceci permet un gain énergétique important.
A B
C
F D
E
A B
C
D F
E
A B
C
C F
E
S1 S2 S2 S1 S2 S1
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
31
-Sécurité : supposant qu’un nœud attaquant tente d’écouter les transmissions faites sur le chemin DBA −− ou DCA −− . 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.
x1 x1
x1 x1 x2
x2 x1 + x2 x1+ x2
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.
x1 x1 x1+x2 x1+x2
x2 x2
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.
A CB A B C
A CB A B C
A CB A B C
A CB
A
B
C
DA
B
C
D
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
32
5-2. Théorème du codage réseau
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].
.
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.
6. Codage réseau linéaire aléatoire
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 n21 M,...,M,M générés par une ou plusieurs sources. Chaque paquet est associé à un vecteur de coefficients )g,...,g,(gg n21= 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é )X,(g 11 .
1g Est le vecteur code.
S
T w
D
A B
S
E F
C
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
33
∑==
n
1iii1 MgX (2)
Le nœud C a procédé à une combinaison des deux paquets reçus et a diffusé )g,(X '' tels que :
⎪⎪⎩
⎪⎪⎨
⎧
=
=
∑
∑
=
=
2
1j
jij
2
1j jj
ghg'
XhX' (3)
n21 M,...,M,M
nn221 M...gMgMg1
++ nn221 M...gMgMg1
++
)M...gMgM(gh
)M...gMgM(gh
nn2212
nn2211
1
1
++
+++
Figure 5. Principe du codage réseau linéaire aléatoire.
7. Pourquoi et c’est quoi le routage opportuniste ?
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
A B
S
E F
C
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
34
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
1.1 1.1 1.1 1/1.0 1/1.0
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 ?
-Comment peut-on réduire la complexité des opérations d’additions et de multiplication ?
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].
7-2 Protocol EXOR
S DR S DR
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
35
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é.
8. Protocole MORE ’Mac independant and Opportunistic routing’
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
∑=
=1..ki
iiPCP' tels que KiCi ...1, = représentent des coefficients aléatoires générés à partir d’un
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 ∑=
iiji PCP' , il crée une
combinaison linéaire aléatoire de tous les paquets reçus ∑=j
j'
j'' PRP .
-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.
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
36
⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛−
'k
'2
'1
1
KKk2k1
2k2221
1k1211
k
2
1
P
.
.
.P
P
.
C . . . C C . . .
C . . . C CC . . . C C
P...PP
(4)
A la fin, un acquittement est soumis à la source pour terminer le protocole.
8-1. Nombre de transmissions
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. ji < 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
∑>
−ji
iji )ε(1Z
iZ : Nombre de transmissions faites par le nœud i.
jiε : C’est le taux d’erreur sur le lien (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.
∑>
−+=
jiiji
jjj
)ε(1Z
ZCmpCmp (5)
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.
8-2. Format des paquets
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].
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
37
Type du paquet
IP de la source IP de la destination
Id du flot
N° du batch
Vecteur des coefficients
Nombre de nœuds
Id1 Cmp1
Id2 Cmp2
Figure 7. Format d’un paquet MORE.
8-3. Test de l’indépendance linéaire
Informellement deux vecteurs 21 V,V sont linéairement indépendants si toute combinaison linéaire finie nulle de ces deux vecteurs a nécessairement tous ses coefficients nuls. Cela revient à dire qu’aucun vecteur considéré n’est combinaison linéaire des autres. Prenons l’exemple des vecteurs 1,2)(3,et (1,0,1)1,1),(2, −− . Nous constatons que 1,2)(3, (1,0,1) 1,1)(2, −=+− et les trois vecteurs sont linéairement dépendants. Le test de l’indépendance linéaire est souvent mené par l’algorithme Gauss-Jordan [24]. Soit M la matrice des coefficients. L’objectif de cet algorithme est de maintenir une matrice triangulaire à la réception d’un nouveau paquet de données contenant bien sûr un vecteur de codes. Evidemment, chaque vecteur reçu doit être inséré dans la bonne ligne de la matrice M . Les transformations de l’algorithme Gauss-Jordan peuvent être expliquées à travers l’exemple qui suit.
Si le premier vecteur reçu est 1,1)- , (2 la matrice M devient :
⎟⎠⎞
⎜⎝⎛=
21
21- 1M tel que :
2M(1)M(1) =
Le deuxième vecteur reçu 0,1) , (1 ne pourra pas être inséré en ligne 2. Par contre on peut l’insérer en ligne 3 et matrice M devient :
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
38
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
=
21
21 0
21
21- 1
M , tel que : M(1)M(3)M(3) −=
Le troisième vecteur reçu 2,-1) , (-3 peut être inséré en deuxième ligne. La matrice M a donc la forme suivante :
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
21
21 0
21
21 0
21
21- 1
M , tel que M(1)*3M(2)M(2) +=
Reste à transformer la deuxième ligne.
⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
0 0 021
21 0
21
21- 1
M , tel que : M(2)M(3)M(3) +=
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
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
39
protocole TCP et le compteur de temps est calculé pour estimer l’instant de la prochaine transmission.
10. Conclusion
L’exploitation de la diversité spatiale dans un environnement caractérisé par des erreurs de transmission constitue l’idée clé du routage opportuniste. MORE est le protocole de routage opportuniste le plus populaire. Ce dernier code chaque nouvelle transmission par le biais du codage réseau aléatoire. Aucune synchronisation n’est nécessaire dans ce cas.
Le problème traité dans cette thèse est essentiellement basé sur le protocole MORE. Notre souci est de reformuler ce protocole pour le cas de capteurs ayant des capacités de récupération d’énergie à partir d’un environnement externe tout en minimisant le temps nécessaire pour compléter l’application (terminer le décodage de tous les paquets envoyés). Le but donc du chapitre qui suit est de présenter la technique d’optimisation utilisée avant de passer à la description du système principal de cette thèse.
Chapitre 2 : Routage opportuniste et codage réseau linéaire aléatoire
40
Emission Réception
Figure 8. Principe du protocole MORE.
Autoriser a transmettre et Cmpi>0?
ETX du noeud précèdent>ETX(i)
Créer un paquet
Source?
Cmpi Cmpi-1
Encoder
Envoyer
Incrémenter Cmpi selon (5)
Paquet innovant?
Stocker Rejeter
Destination et nombre des paquets =K ?
Décoder
Chapitre 3 : Optimisation F-Lipschitz
41
1. Introduction
Les applications potentielles de l’optimisation sont diverses. En particulier, les protocoles spécifiques aux réseaux de capteurs définissent souvent une fonction objective à atteindre sous un ensemble de contraintes. Cependant, la forme de la fonction objectif et l’ensemble des contraintes peuvent être différentes d’un problème à un autre et il est toujours question de chercher une méthode de résolution adéquate. Récemment, la méthode d’optimisation F-Lipschitz a été proposée et cette dernière s’adapte bien aux réseaux de capteurs. Son avantage clé est qu’elle peut être appliquée à un problème linéaire, non linéaire, convexe ou non. De plus, il est également possible de calculer la solution de manière distribuée. L’existence de la solution optimale est assurée par cette technique d’optimisation.
L’objectif de ce chapitre est de présenter en premier lieu l’optimisation de manière générale puis de détailler la méthode F-Lipschitz.
2. Problème d’optimisation
Une prise de décision efficace requiert souvent un processus de formulation, modélisation et d’optimisation du problème. Une première version du problème traité est spécifiée dans la première étape. L’accent doit être mis sur les objectifs du problème ainsi que les facteurs qui le caractérisent. La deuxième étape établie un modèle du problème considéré tout en s’appuyant sur les modèles existants dans la littérature. La simplicité du modèle est un paramètre à prendre en charge. La résolution du problème est la troisième étape qui vise à trouver une solution optimale ou sous optimale en fonction des objectifs dressés lors de l’analyse des besoins. Ce processus peut être itératif afin d’atteindre de bonnes performances [26].
Figure1. Processus de prise de décision.
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.
Formulation Modélisation Optimisation Implémentation
Chapitre 3 : Optimisation F-Lipschitz
42
Définition
Soit cette fonction à valeurs réelles :
0}h(x)0,g(x)|F{xCRx
RF:f(x)n
=≤∈=∈
→ (1)
L’objectif de l’optimisation est de déterminer Fx * ∈ qui minimise f(x) tel que : Fxf(x))f(x * ∈∀≤
f Dénote la fonction objective, F est l’ensemble des solutions admissibles et C est l’ensemble des contraintes.
3. Classification des problèmes d’optimisation
Suivant la forme de hg,f, on obtient diverses classes parmi lesquelles on peut citer:
-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
Un ensemble nRC ⊂ est convexe si pour toute paire de points 2Cy)(x, ∈ le segment
1t0, t)y)(1(txy][x, ≤≤−+= est inclut dans C .
Définition
On dit qu’une fonction f est convexe si :
t)f(y)(1tf(x)t)y)(1f(tx [0,1]t,Cy)(x, 2 −+≤−+∈∀∈∀ (2)
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]:
n0,1,...,kf(x(k)),1)x(k ==+ (3)
Où x(k) est un vecteur de dimension n.
Chapitre 3 : Optimisation F-Lipschitz
43
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 :
n0,1,...,i(k)),(k)...x(xf1)(kx n1ii ==+ (4)
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.
F(x(k))γx(k)1)x(k ∇−=+ (5)
Le paramètre γ est très important pour la convergence de l’algorithme.
4-1. Méthodes par décomposition
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].
⎪⎩
⎪⎨
⎧
∈∈
+
22
11
21
CxCx
(x2)f(x1)fmin (6)
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 :
⎩⎨⎧
y),(xfmin y),(xfmin
22
11 (7)
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].
Chapitre 3 : Optimisation F-Lipschitz
44
yxK.f(y)-f(x) :Ey)(x,
RE:f2 −≤∈∀
→ (8)
Soient deux métriques YX d,d , une autre définition plus générale est comme suit :
y)(x,K.df(y)-f(x) (d YY ≤ (9)
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 :
1yet 1x,xyy)f(x, 2 ≤≤= (10)
12
1212
21
22
21
221
y-y1.2
yyyyx
yyxxyxy)yf(x,y2)f(x,
=
−+=
−=−=− (11)
Notation Définition
+R Ensemble des réels strictement positifs
. Valeur absolue d’un réel
. Norme d’une matrice
1A ∑=
=
n
1jji
n1 amax i
∞A ∑=
=
n
1iji
n1 amax i
1 T)(1,1,...,1
∞<<<∞=
imaximin
nmaxnmin2max2min1max1minxx-
]x,[x*...*]x,[x*]x,[xD Vecteur des bornes des contraintes
Chapitre 3 : Optimisation F-Lipschitz
45
⎪⎩
⎪⎨
⎧
>
<∈
=
imaximax
iminimini
iiD
i
xxi,xxx,x
max][min,x,x][x
Projection orthogonale par rapport à la norme euclidienne
∇ Opérateur gradient
(x)]F(x)...F[F(x)alors RR:F(x) Si
n1
nn
∇∇=∇→
Gradient d’une fonction
Tableau 1. Notations et définitions.
6. Problème d’optimisation F-Lipschitz
Un problème d’optimisation F-Lipschitz est de la forme [28]:
n,...1i xR]x,[x*...*]x,[x*]x,[xD
Dxn1,...,li (x)hx
l1,...,i (x)fx(x)fmax
imin
nnmaxnmin2max2min1max1min
ii
ii
0
=∀+∞<<∞−⊂=
∈+==
=≤
(12)
Tels que :
n1,...,li R D:(x)hl1,...,i R D:(x)f
1m RD:(x)f
i
i
m0
+=→=→≥→
(13)
Les conditions suivantes doivent être vérifiées :
1F(x)0(x)f 0
<∇
>∇
(14.a)
Et :
Chapitre 3 : Optimisation F-Lipschitz
46
ji, 0(x)Fij ∀≥∇ (14.b)
Ou :
1F(x)ji, 0jFi(x)Rc x,c1(x)f T
0
<=∞∇
∀≤∇∈= +
(14.c)
Ou :
(x)f max Δ(x)f minδ
ΔδδF(x)
0iDix
0iDix
∇=∇=+
<∇
∈
∈
∞
(14.d)
Notons que :
Tn2l1l
Tl21
(x)]h(x),...,h(x),[hh(x)
(x)]f(x),...,f(x),[ff(x)
h(x)f(x)
F(x)
++=
=
⎥⎦
⎤⎢⎣
⎡=
(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 ix 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] :
⎥⎦
⎤⎢⎣
⎡≤⎥
⎦
⎤⎢⎣
⎡
≤
z
x
x
0
bb
zx
z)(x,fx z)(x,fmax
(16)
Chapitre 3 : Optimisation F-Lipschitz
47
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 :
zz
x
0
bz)(x,fzz)(x,fx z)(x,fmax
=≤≤
(17)
Exemple
Soit le problème F-Lipschitz suivant :
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
≤≤++≤
+≤
+
21a0
1x0)xx0.3(1x2
xax0.7x)2xmax(x
21
211
21
pp
(18)
On a :
00.3 ax0.3 ax
F(x)
021
(x)f
1
2
0
≥⎥⎦
⎤⎢⎣
⎡=∇
>⎥⎦
⎤⎢⎣
⎡=∇
(19)
21aet 1xpour x 1)0.30.3,axaxmax(F(x) 21121
p==<++=∇
7. Problème canonique
Généralement, les problèmes d’optimisation ont la forme décrite par le système suivant [28]:
D xn1,...,li 0(x)p
l1,...,i 0(x)g S.t.(x)gmin
i
i
0
∈+==
=≤
(20)
Chapitre 3 : Optimisation F-Lipschitz
48
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 :
Dxn1,...,li (x)hx
l1,...,i (x)fx(x)fmax
ii
ii
0
∈+==
=≤
(21)
Tels que :
Rμ0,γ(x)pμx(x)h
(x)gγx(x)f(x)g(x)f
ii
iiii
iiii
00
∈>−=−=
−=
(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.
i 0(x)G0(x)g
ii
0∀<∇
<∇
(23.a)
Et :
i∀∇∇
≠∀≤∇
∑≠ij
ijii
ij
(x)G(x)G
ij 0(x)G
f (23.b)
Ou :
i (x)G(x)G
ij 0(x)GRCx,C1(x)g
ijjiii
ij
T0
∀∇∇
≠∀≥∇∈−=
∑≠
+
f (23.c)
Ou :
Chapitre 3 : Optimisation F-Lipschitz
49
i (x)G(x)GΔδ
δRg0(x)
ijjiii ∀∇∇
+
∈
∑≠
f (23.d)
Exemple :
Soit le problème suivant :
}110,110{
565
1243
9ymin x
1010
122
23
2-
≤≤≤≤=
≤−+
≤+
+
−−
−−
yxD
xyx
yx
(24)
Nous constatons que y∇ de la deuxième contrainte n’est pas négative. Si on remplace 1yt −= , nous pouvons obtenir :
}10t1 , 1x{10D
5x6t5x
124t3x
9tmin x
1010
122
23
-1-2
≤≤≤≤=
≤+
≤+
+
−
−−
−
(25)
8. Optimalité de la solution d’un problème F-Lipschitz
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 )(xf(x)f *
00 ≥
Par exemple, la solution C illustrée en figure est dominante par contre A et B sont dominées par C.
Chapitre 3 : Optimisation F-Lipschitz
50
Figure2. Optimalité au sens Pareto.
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]:
⎪⎩
⎪⎨⎧
+==
==
1...nli , )(xhx
1...li ,)](x[fx*
ii
D*i
*i
(26)
9. Calcul de la solution optimale
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.
D1 F(x(k)))](x(k)F(x(k))β(I[x(k)1)x(k −∇−−=+ − (27)
Evidemment, la convergence est assurée lorsque F(x(k))(I ∇− est inversible.
-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 0x
une
solution initiale et (k)x i le vecteur de décision du nœud i à l’instant k.
Chapitre 3 : Optimisation F-Lipschitz
51
(k)](x(k),...,( x(k),([x(k)x i11
i11
i11
i τττ= (28)
(k)ijτ 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.
⎩⎨⎧
+==+==+
1...nl i , (k))(xh1)(kx1...li ,(k))(xf1)(kx
iii
Diii (29)
10. F-Lipchitz pour les réseaux de capteurs
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 iP
Ce problème est formulé comme suit :
maximin
min
ikkiki
iii
T
PPP
SPGσ
PG
P1min
≤≤
≥∑+≠
(30)
P Est le vecteur de puissance et représente le gain de transmission entre le nœud et le récepteur.
Ce problème peut être transformé en un problème F-Lipschitz par la transformation ii Px −=
Chapitre 3 : Optimisation F-Lipschitz
52
minimax
ikkikiminiii
T
PxP-
0)xG(σSxG
x1max
−≤≤
∑ ≤−+≠ (31)
11. Conclusion
La convergence assurée par F-Lipschitz et la possibilité du calcul de la solution de manière distribuée sont des points qui favorisent l’utilisation de cette technique dans le cadre des réseaux de capteurs. Tout le fondement mathématique pour transformer un problème en un problème F-Lipschitz a été établie dans [28, 29]. D’un point de vue avantage, cette méthode peut être appliquée à des problèmes d’optimisation :
-Convexes ou non.
-Ayant même des variables manquantes dans la fonction objectif.
-Dont le nombre de contraintes peut être inférieur par rapport au nombre de variables.
L’inconvénient majeur qu’il faudra noter concerne la complexité de la vérification et la transformation. L’objectif du prochain chapitre est de détailler notre système.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
53
1. Introduction
Le temps minimal nécessaire pour la terminaison d’une application est un problème d’optimisation intéressant. En considérant un réseau de capteurs basé sur des communications multi-sauts, une autre dimension s’ajoute au problème du temps de d’achèvement minimal puisqu’il faudra tenir compte que la destination n’est pas capable d’avoir des données directement à partir de la source. Notre système traite ce problème et adopte le routage opportuniste comme mécanisme de transmission au niveau de la couche réseau. Afin d’échapper un petit peu du problème des contraintes énergétiques, les nœuds capteurs sont supposés munis de systèmes de récupération d’énergie. Mais ceci complique le routage opportuniste puisque chaque transmission est soumise à la contrainte de rechargement des batteries des autres nœuds du réseau. Une formulation du problème est proposée et deux variantes sont considérées : la première suppose que la probabilité d’effacement des paquets sur chaque lien est connue à l’avance tandis que la deuxième estime cette probabilité. La résolution est menée de manière centralisée par le biais de la méthode F-Lipschitz et le calcul par intervalles. La méthode F-Lipschitiz est appropriée vue que le domaine de variation des variables est borné. D’autres parts, le calcul par intervalles est adéquat pour représenter les possibilités de quelques variables vue que la phase de rechargement des batteries diffère d’un nœud capteur à un autre.
Une autre problématique étudiée dans ce chapitre concerne la maximisation de la durée de vie sous routage opportuniste. Dans ce contexte, une métaheuristique simple a été exploitée pour résoudre un modèle non linéaire. Cependant, le dernier système s’intéresse à la thématique de la localisation des capteurs mobiles et du routage géographique sans tenir compte des erreurs de transmission.
2. Contribution principale ‘Système de routage opportuniste avec récupération d’énergie’
2-1. Travaux annexes
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.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
54
[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. K.Zeng [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.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
55
2-2. Système proposé
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 ),( ζNG = . N est l’ensemble des nœuds et ζ est l’ensemble des liens. Le taux d’erreur sur chaque lien ),( ji est dénoté ijε . Le voisinage d’un nœud i est définie par {}{ }1εi/jnb(i) ij p∈= .
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 iE max . L’énergie initiale du nœud i est iE 0 . Les instants de récupération et les quantités d’énergie correspondantes sont { },...S ,S 2
i1
i , { },...E ,E 2i
1i .
respectivement. La longueur d’une phase est égale à 1ki
ki
ki SSl −−= avec 0S 0
i =
Ei0 Ei
1 Ei2 Ei
3 Eik
Si0 Si
1 Si2 Si
3 Sik
Figure1. Phases et quantités d’énergie récupérées.
L’énergie est récupérée au début de chaque phase. k
iPr 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).
- Les nœuds capteurs sont synchronisés et il y a un temps global.
- Les nœuds capteurs peuvent adapter leurs puissances de transmission.
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.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
56
2-3.Temps 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 iSe à l’état jSe ( iSe = jSe ) est décrite par l’équation qui suit :
(1)
Cette expression traduit une disjonction entre les énoncés suivants :
- le nœud capteur i est en train de recharger sa batterie.
-Les liens associés à i ont subi un grand taux d’erreur.
-
i est incapable de décoder des paquets reçus en parallèle.
La probabilité du décodage d’un paquet parmi TA paquets reçus
est obtenue par l’équation (2)
[44].
(2)
Cette expression est obtenue après le calcul de la PDF ‘probability density function’ du SNR associé à chacun des paquets reçus.
Le nœud i
passe de l’état iSe à l’état
jSe ( iSe ≠ jSe ) suivant cette probabilité [43]:
(3)
Il est à mentionner que l’expression rNk1)M(M
rk1)M(M
nb
1r
i i)P(1*)(PrN −
−>−−>−=
−⎟⎟⎠
⎞⎜⎜⎝
⎛∑ représente le fait
qu’au moins un des voisins du nœud i
a reçu au moins un paquet. De plus, le temps de
iiii
Seki
kiavg
ki
Sekiiavg
ki
k)Sei(Se )))PR(1*ε*)Pr((1))PR(1ε)Pr(((1P −−−−++−=>−
k
kiavg
21)1PA(2*
ki γ
12e21)!(TA
TA!PR −−−
=−−−
rNk1)M(M
rk1)M(M
nb
1r
ikSei)(Sei
kSej)i(Se
ii
)P(1*)(PrN
*)P(1P −−>−−>−
=>−>− −⎟⎟
⎠
⎞⎜⎜⎝
⎛−= ∑
Chapitre 4 : Contributions pour le routage opportuniste et géographique
57
Figure 2. Principe du modèle proposé.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
58
terminaison est soumis aux contraintes du routage opportuniste. Soient kijf ,
kjif les flots
envoyés et reçus durant la phase k .
Le flot et la capacité sont calculés par les équations suivantes :
)))ε(1Pr(1Π(1Zx
PR)Prε(1αZf
)Prε(1αZf
ijk
jSjk
ik
Si
ki
kiij
kji
kj
kji
kjij
kij
ki
kij
−−−=
−=
−=
∈ (4)
A la réception d’un paquet, le nombre de transmissions moyen effectué par le nœud i est égale à :
∑ −=
l
kili
kl
kik
i)Prε(1z
zn
(5)
2-.4. Modèle d’optimisation
Soit Tp le temps nécessaire pour envoyer un paquet codé.
(6)
Tel que :
(q)logg 2= (7)
Notation Définition
T
Temps de terminaison k
iPr Probabilité associée au noeud capteur i
kiavg
21)1PA*(2
ki
γ12e2
1)!(TATA!PR −−−
=−−−
Chapitre 4 : Contributions pour le routage opportuniste et géographique
59
Table1. Notations du modèle.
d’être actif dans la phase k.
kip Puissance utilisée par le noeud i durant la
phase k (puissance consommée pour la transmission ou la réception)
kiE Energie récupérée par le noeud i dans la
phase k.
kiZ Nombre de transmissions réalisées par le
noeud i durant la phase k.
inb Nombre de voisins du noeud i.
q Taille du champ utilisé pour le codage
ir Débit utilisé par le nœud i
kjiα Probabilité de transmission associée au
noeud j durant la phase k.
kSejSeiiP )( >−
Probabilité de transition (associée au noeud i) l’état Sei à l’état Sej durant la phase k
kiPR Probabilité associée au noeud i pour
couvrir un paquet durant la phase k.
kiavgγ SNR moyen associé au nœud i durant la
phase k
kil Temps consommé par le nœud i durant la
phase k
ktil Temps consommé par le noeud i pour
recharger sa batterie durant la phase k.
η Bruit
kiavgε Probabilité d’effacement moyenne associée
au nœud i durant la phase k
H La taille de l’en-tête d’un paquet
Chapitre 4 : Contributions pour le routage opportuniste et géographique
60
On peut maintenant formuler le problème de la minimisation du temps de terminaison sous l’hypothèse de la récupération d’énergie et celle du routage opportuniste comme suit :
Tmin (8)
(8.1)
(8.2)
(8.3)
(8.4)
(8.5)
∑∑∑∑
∑ ∑∑
=
++
=
+
∈
++
=
+
= ∈=
≤−+
+
−+−
h
1k
ki
1h'i
1h'i
h'
1k'
k'j
1h'i
nb(i)j
1h'j
1hi
h
1k
ki
1hi
k'i
k'j
k'i
k'jt
k'j
h'
1k' nb(i)j
k'j
h
1k
kiti
ki
ki
EPR*Pr*)l(Tp*ZZ*)l-(T*p
PR*z*Pr*)l(l*p Z*)l(l*p k
))η
plog(121(Pr*)ε(1*α*Z
:nb(i)jk
i1h
1k
1h
1k
kjij
kji
ki +≤−
∈∀
∑ ∑+
=
+
=
hopsij
1j
nb(S)j11
1 nb*)r(S)
))ε(1*Pr(1Π(1*Z(D
−−−−≤−
∈
1hi
1hjji
nb(i)j
1hji
ki
kjji
h
1k nb(i)j
kji
1h'j
1h'i
1h'iji
nb(i)j
1h'ji
h
1k
ki
k'j
k'i
k'iji
h'
1k' nb(i)j
k'ji
Z*Pr*)ε(1*αZ*Pr*)ε(1*α
z*PR*Pr*)ε(1*α
)l-(T z*PR*Pr*)ε(1*α
++
∈
+
= ∈
+++
∈
+
== ∈
−+−
=
−+
+−
∑∑ ∑
∑
∑∑ ∑
1k0)D(1
nb(D)j
kj
k2)M1D(M
nb(D)j
kj
k1)MD(M
nb(D)j
kj1h
1kD]
P
Tp*Z...
P
Tp*Z
P
Tp*Z([T ++++≤
>−
∈
−>−−
∈
−>−
∈+
=
∑∑∑∑
Chapitre 4 : Contributions pour le routage opportuniste et géographique
61
(8.6)
La première contrainte exprime la conservation d’énergie, la deuxième est liée à la capacité au niveau de la couche physique, la troisième décrit le processus de décodage et la quatrième représente la conservation du flot. Le dernier système d’équations exprime le fait que toutes les variables du modèle sont bornées. Revenons maintenant à l’équation (8.3) qui dépend de D1. En fait, D1 est le délai après lequel au moins un des voisins de la destination a pu recevoir au moins un paquet. Il est obtenu par la construction d’un arbre couvrant minimal tel que
hopnb représente sa longueur. L’algorithme de Prim [45] est un algorithme très connu en recherche opérationnelle pour calculer un tel arbre. Son principe est comme suit :
S: source;
D: destination;
Dis(i,j) : distance entre le nœud i et le nœud j ;
Nb : le nombre de nœuds dans le réseau ;
Début
M= ∅;
A=S ;
M=M∪{A} ;
Tant que A ≠ D faire
Pour i = 1 : Nb
Si (i ∉{M}) et Dis(A,i) = min (Dis(A,j)) et j ∉ i alors
M= M∪{i} ;
A=i ;
Fin Si
Fin Pour
Fin Tant que
Figure3. Algorithme de Prim.
max1
max
kji
ki
ki
maxk
i
maxk
i
DD0TT0
1α0k j,i,
1PR0k i,
1Pr0k i,
pp0k i,
ZZ0k i,
≤≤≤≤
≤≤∀
≤≤∀
≤≤∀
≤≤∀
≤≤∀
Chapitre 4 : Contributions pour le routage opportuniste et géographique
62
Une question primordiale de notre modèle est la suivante :
-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).
ij
i1-j
1-i1-j
j1-j
1-i
k'j
kj
SS'
SS'
SS'
]S',[S'sur definieest k'Si],[Ssur definieest k :que tel
Pr ΠPr
≤
≤
≥
=
(9)
ij
i1-j
1-i1-j
j1-j
i1-i
k'j
k'j
kj
SS'
SS'
SS'
]S',[S'sur definieest k']S,[Ssur definieest k :que tel
]pmax ,p[min p
≤
≤
≥
=
(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 :
0 mJ 10mJ 12mJ 9mJ
0s 2s 2.5s 2.9s
Chapitre 4 : Contributions pour le routage opportuniste et géographique
63
0mJ 8mJ 7mJ 8mJ
0s 1.7s 2.3s 2.7s
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 :
Tel que :
[ ] sPPP
20
max2
min2
12 ,= ²
2-5. Formulation F-Lipschitz
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 :
(11)
(12)
TT1 −=
1max T
( ) 11111
1ZC1 Pll t−=∂∂
( ) 12
11
11221
2
PrZC1 PPRll t−=∂∂
( ) ∏=
−=∂∂ 2
02
112121
1
Pr1ZC3
k
kαε
Chapitre 4 : Contributions pour le routage opportuniste et géographique
64
(12.3)
(12.4)
(12.5)
(12.2) )))η
plog(1
21 Pr*)ε(1*α*Z(λZZ
:nb(i)jk
i1h
1k
1h
1k
kjij
kji
kii
1hi
1hi +−−−≤
∈∀
∑∑+
=
+
=
++
)D]P
Tp*Z...
P
Tp*Z
P
Tp*Z([Tλ(TT 1k
0)D(1
nb(D)j
kj
k2)M1D(M
nb(D)j
kj
k1)MD(M
nb(D)j
kj1h
1k111 ++++−−−−≤−
>−
∈
−>−−
∈
−>−
∈+
=
∑∑∑∑
)nb*)r(S)
))ε(1*Pr(1Π(1*Z(Dλ(DD hops
ij1j
nb(S)j11
111−−−
+−−−≤−∈
1hi
1hjji
nb(i)j
1hji
ki
kjji
h
1k nb(i)j
kji
1h'j
1h'i
1h'iji
nb(i)j
1h'ji
h
1k
ki1
k'j
k'i
k'iji
h'
1k' nb(i)j
k'jii
1i
1i
Z*Pr*)ε(1*αZ*Pr*)ε(1*α
z*PR*Pr*)ε(1*α
))l-(-T z*PR*Pr*)ε(1*α(μpp
++
∈
+
= ∈
+++
∈
+
== ∈
−+−
−
−+
+−−≤
∑∑ ∑
∑
∑∑ ∑
∑∑∑∑
∑ ∑∑
=
++
=
+
∈
++
=
+
= ∈=
−−−+
+
−+−≤
h
1k
ki
1h'i
1h'i
h'
1k'
k'j1
1h'i
nb(i)j
1h'j
1hi
h
1k
ki1
1hi
k'i
k'j
k'i
k'jt
k'j
h'
1k' nb(i)j
k'j
h
1k
kiti
ki
kii
1i
1i
)EPR*Pr*)lT(p*ZZ*)l-(-T*p
(12.1)
PR*Z*Pr*)l(l*p Z*)l(l*p ( λ - Z Z k
Chapitre 4 : Contributions pour le routage opportuniste et géographique
65
(12.6)
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.
2-6. Estimation de la probabilité d’effacement
Le second volet de notre travail a consisté à estimer la probabilité d’effacement au lieu de se baser sur des valeurs aléatoires. Pour cela, la chaîne de Markov devient comme suit :
kM)i(MP >−
k1)-M1-i(MP >−
k2)-M2-i(MP >−
k3)-M3-i(MP >−
k0)i(0P >−
Figure 4. Chaîne de Markov proposée pour le décodage.
L’état 0’ correspond à un effacement d’un paquet. C’est un état absorbant de la chaîne de Markov et sa valeur est obtenue par cette équation :
01k r*Q)(Iε −−=iavg (13)
Q : est la matrice de transition entre les états.
maxk
ji
max1h
ji
1hi
maxk
i
maxk
i
maxik
αα N:1j N:1ih :1k
αα N:1j N:1i
pp N:1i N:1i
pp N:1ih :2k
Z ZN:1ih :2k
Zh Z:2k
max
==∀=∀=∀
==∀=∀
==∀=∀
==∀=∀
==∀=∀
==∀
+
+
0’
M‐1 M‐2 0 M‐3 …
Prik
Prik
PrikPri
k
M
Chapitre 4 : Contributions pour le routage opportuniste et géographique
66
r0 : est le vecteur de transition vers l’état 0’.
(14)
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.
2-7. Scénarios d’exécution
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
1. Générer une solution initiale 0x
2. Répéter
Estimer la probabilité d’effacement par (13)
Mise à jour de la solution par (chapitre3.27)
-Si ξ≥−+ kk xx 1 alors allez à l’étape 2
K← K+1
Jusqu’à convergence
Figure 5. Principe de la résolution du modèle.
iiii
Seki
kiavg
ki
Sekiiavg
ki
k)Sei(Se )))PR(1*ε*)Pr((1))PR(1ε)Pr(((1P −−−−++−=>−
k
Chapitre 4 : Contributions pour le routage opportuniste et géographique
67
Ces deux scénarios sont schématisés en figure 6 et 7.
ETXA=1/0.5=2
0.5
0.4 ETXB=1/0.6=1.67
0.6
ETXC=1/0.4=2.5
Figure 6. Scénario 1.
ETXA=1/0.5=2
0.5
0.4 ETXB=1/0.6=1.67
0.6
ETXC=1/0.4=2.5
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.
S
A
B
D
C
E
F
S
A
B
D
C
E
F
Chapitre 4 : Contributions pour le routage opportuniste et géographique
68
3. Contributions secondaires
3.1. Maximisation de la durée de vie d’un réseau de capteurs sous routage opportuniste
En face du coût de la technologie de la récupération d’énergie, la maximisation de la durée de vie reste une thématique d’actualité. Pour cela, la maximisation de la durée de vie sous routage opportuniste dans un réseau de capteurs statiques est une contribution secondaire de notre travail. Les notations du modèle sont données en tableau 2.
Les contraintes du système sont comme suit :
∏∑
∑∑
∑
∈∈
∈∈
∈
∈
−−−≤⊆∀
=+
≤+
Sjjiij
iOjij
iOjij
iOkkii
iOkikki
rii
ti
iNi
fiOS
ffTr
EZEZE
T
)))1(1(1( Z)(
min max
^i
)(
^
)(
^
)(
^
)(
^^
εγ
γ
(15)
Notation Définition iE Energie initiale du nœud
capteur i t
iE Energie consommé par i pour envoyer un seul paquet.
riE Energie consommé par i pour
recevoir un seul paquet. jif Flot du lien ),( ji
ir Débit utilisé par i iZ Nombre de transmissions
effectuées par i T Durée de vie du réseau
^iZ Nombre de transmissions
effectuées par i durant T ^
jif Flot du lien ),( ji Durant T
Table2. Notations et définitions.
(16)
∑∈
+=
)(***
iOkkik
rii
ti
ii ZEZE
ET
γ
Chapitre 4 : Contributions pour le routage opportuniste et géographique
69
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.
3.2. Localisation et routage géographique dans un réseau de capteurs statiques
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
1. Choisir une solution aléatoire pour jiji , ∀γ
Répéter 2. Mise à jour de jiji , ∀γ
ηγγ *() ' randjiji ±=
3. Calculer la probabilité d’acceptation de jiji , ∀γ
0)'(( 1
0)'(( i
))()'(((
exp
) '(
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
≤−
>−
−−
=
jiji
jiji
k
jiji
ij
if
fT
assceptedisP
γγ
γγ
γγ
γ
4. Résoudre (5) et calculer iZ , ijα ji, ∀ Jusqu’à convergence
Fin
Figure 8. Algorithme du recuit simulé pour le calcul des probabilités de réception.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
70
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
,..3,2,1, =kxk d’un problème en tenant compte des données observées ,..3,2,1, =kyk Autrement dit, un filtre particulaire cherche une estimation de la distribution a posteriori ( )yyx kkp ,.../ 0 [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 :
( )∑ =pl
lk
l xw f1 (17)
3-2-1. Formulation du problème
Classée comme étant une approche de type neighborhood-based routing, la contribution proposée s’appuie sur l’idée suivante : à chaque instant, une prédiction de la trajectoire des capteurs voisins d’une source est réalisée. Il s’agit de sélectionner le voisin qui se dirige vers la station de base (celui qui forme un angle minimal avec la station de base) en tenant compte de l’aspect énergétique. A ce stade, nous précisons que le modèle énergétique considéré est le suivant :
( )⎩⎨⎧ ≥≠+
=sinon,0
2aet 0d,cdJ d a
(18)
Chapitre 4 : Contributions pour le routage opportuniste et géographique
71
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 :
x(0) : correspond à l’abscisse prédite.
x(1) : correspond à l’ordonnée prédite.
x(2) : correspond à la vitesse prédite.
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.
( ) ( )( ) ( ) XVV nn 12
11 *1*1* αμαα −+−+= − (19)
( ) ( )( ) ( ) Xdirdir nn 22
21 *1*1* βμββ −+−+= − (20)
Tels que :
μμ 21, : correspondent respectivement à la vitesse et la direction moyenne.
XX 21, : sont deux variables aléatoires.
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.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
72
Formellement, le principe de la prédiction est comme suit :
1. Initialisation :
Générer N particules.
Pour j=1..N faire
Nw j /1=
Fin pour
2. Prédiction :
Pour j=1..N faire
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )dir
dir
xxx
xxx
jjj
jjj
sin*211
cos*200
+=
+=
( ) ( )( ) ( )( ) ( ) Xxx jj 12
1 *1*12*2 αμαα −+−+=
Fin pour
3. Mesure :
Soient vvv 321 ,, 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 :
( )²10 log10 dv kii ηϕ −= ;
ϕ est une constante qui caractérise la puissance de transmission des ancres
vvvh 23
22
21 ++=
Pour j=1..N faire
hww jj *=
Fin pour
Chapitre 4 : Contributions pour le routage opportuniste et géographique
73
Normalisation :
Pour j=1..N faire
∑= www jjj /
Fin pour
Mise à jour :
Pour j=1..N faire
∑ == Nj jj wxx 1
^*
Fin pour
Figure 9. Prédiction des positions des nœuds capteurs.
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.
( ) ( ) ⎟⎠⎞
⎜⎝⎛−+
vE aa
1**1* '''' αα (21)
Tels que:
α ' : L’angle obtenu par prédiction.
E : L’énergie.
v : Vitesse obtenue par prédiction.
Chapitre 4 : Contributions pour le routage opportuniste et géographique
74
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 :
dd
ddd21
23
22
21'
2arccos
−+=α (22)
Enfin, il est à indiquer que les valeurs des termes ( )E*'α et ⎟⎠⎞
⎜⎝⎛
v1*'α ont été normalisées entre 0
et 1.
4. Conclusion
Dans ce chapitre, nous avons présenté un système centralisé de routage opportuniste fonctionnant sous l’hypothèse de récupération d’énergie. Plus particulièrement, le fonctionnement de chaque nœud capteur procède en phases. Une quantité d’énergie peut être récupérée au début de chaque phase puis le nœud capteur peut se mettre en mode actif selon une certaine probabilité. Quelques contraintes ont été posées pour minimiser le temps nécessaire au décodage des données. La méthode d’optimisation choisie est F-Lipschitz. Elle est adéquate aux modèles qui ne soient pas convexes. De plus, les chaînes de Markov ont été exploitées pour modéliser le processus de décodage. Deux systèmes ont été également étudiés : le premier s’intéresse à la maximisation de la durée de vie en impliquant des probabilités de réception et en proposant les métaheuristiques comme outil de résolution. Enfin, le routage dans les réseaux de capteurs mobiles est un problème complexe. Pour cela, nous avons proposé de lancer un processus de prédiction des positions des nœuds capteurs à des instants fixes qui conviennent au modèle de mobilité et d’acheminer les paquets en tenant compte de la dépense énergétique.
Ceci termine donc le présent chapitre. Le chapitre suivant détaille l’implémentation de nos systèmes. Les modèles liés au routage opportuniste ont été implémentés moyennant Matlab, Omnet++ [48] et Intlab [49]. Matlab est approprié pour l’optimisation tandis que Intlab est une boite à outils pour le calcul par intervalles. Les résultats obtenus par Matlab et Intlab constituent l’entrée de la simulation réalisée par Omnet++. Le calcul sur les champs de Galois est réalisé par le biais de [50]. L’outil Omnet++ sera présenté au niveau du chapitre 5 avant l’illustration des résultats obtenus. Cependant, des exemples réalisés par Intlab sont illustrés en annexe. Omnet++ a été largement suffisant pour simuler le routage géographique.
Chapitre 5 : Résultats de simulation
75
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.
2. C’est quoi Omnet++?
Omnet++ est l’acronyme de ‘Objective Modular Tes-Bed in C++”. C’est un outil de simulation permettant de tester des simulations d’évènements discrètes. Cet outil peut être utilisé dans les cas suivants :
-Simulation des protocoles des réseaux informatiques y compris les réseaux sans fil.
-Simulation des architectures multiprocesseurs.
-Evaluation des systèmes complexes.
-Simulation du parallélisme dans quelques systèmes.
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é.
3. Modélisation de la simulation Omnet++
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
Chapitre 5 : Résultats de simulation
76
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:
Node1.port < - - > {datarate=100Mbps ;} < - - > node2.port ;
}
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.
Types:channel C extends ned.Datarate.Channel
{
Datarate = 100Mbps;
}
Connections:
Node1.port < - - > C < - - > Node2.port;
Chapitre 5 : Résultats de simulation
77
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 :
La première déclaration correspond à un module simple et la seconde correspond à un module composé. Dans ce cas, le module node est composé de deux sous modules ; chacun d’entre eux est une instance de mod1 qui possède une porte in1.
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.
Handlemessage(cMessage *msg) invoquée avec le nom du message en paramètre et ceci lorsque le module concerne reçoit un message.
Void Hellomod ::initialize()
Simple node
{
Parameters:
Int: destination;
Gates:
Inout: port ;
}
Module node
{
Parameters:
Int: destination;
Submodules:
Routing: mod1;
Physical:mod1;
Connections:
Routing .in1 < -- >Physical.in1;
Gates:
Inout: port;
Chapitre 5 : Résultats de simulation
78
{
Ev<< “Hello world\n “ ;
}
Lors de l’initialisation, on affiche un simple message “hello world”.
Void Hellomod :: Handlemessage(cMessage *msg)
{
Delete (msg);
}
Tout message reçu est supprimé.
3-2. Messages et paquets
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);
Chapitre 5 : Résultats de simulation
79
L’envoi des messages et paquets peut être effectue par l’une des méthodes suivantes:
Send (cMessage *msg, cGate *gate) ;
cMessage *copy =msg->dup
for (int I = 0 ; I < n; i++)
{
Send (copy,’out’);
}
sendDelayed(cMessage *msg, double delay, cGate *gate)
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.
3-3. Configuration de la simulation
Peut être menée par le biais d’un fichier nomme omnetpp.ini.
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
Fifo.Numhost=15
Fifo.host[*].length = 20
Chapitre 5 : Résultats de simulation
80
4. Résultats de simulation
4-1. Résultats de la contribution principale
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 :
Tableau1. Paramètres de la simulation.
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.
Paramètre Valeur
maxp 20mW
maxZ 5
maxT 15s
β 0.02
η 10-6
M 100
q 256
h 128 bits
max1D 5s
0iE 10MJ
Chapitre 5 : Résultats de simulation
81
Figure1. Topologie des nœuds capteurs.
Figure 2. Architecture d’un noeud capteur.
Chapitre 5 : Résultats de simulation
82
4-1-1. Evaluation de la consommation énergétique
La comparaison de la consommation énergétique des deux scénarios déjà expliqués en chapitre 4 a constitué le premier volet de nos simulations. Dans la figure 3, la consommation énergétique (transmissions et réceptions) mesurée en MJ de chaque nœud capteur est illustrée en barres. Cette consommation est nécessaire au décodage de 100 paquets. En fait, 1 et la source et 10 est la destination. Il est clair d’après la figure 3 que le scénario 2 résulte d’une consommation énergétique uniforme par rapport au scénario 1 (Protocole MORE) puisque chaque nœud capteur qui est dans l’état actif et qui arrive à recevoir correctement un paquet est susceptible d’être relais [43].
0
100
200
300
400
500
1 2 3 4 5 6 7 8 9 10
‐Our scheme ‐More Protocol
MJ
Figure 3. Consommation énergétique des deux scénarios.
4-1. Evaluation du débit
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
Chapitre 5 : Résultats de simulation
83
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%.
Figure 4. CDF du débit des deux scénarios.
Les statistiques concernant la CDF du débit des deux scénarios sont comme suit :
Scénario1 min: 2.019450000000000e+002 max: 3.436620000000000e+002 mean: 2.676452000000000e+002 median: 2.674945000000000e+002 std: 50.220062540152639
Scénario2 min: 3.484160000000000e+002 max: 3.978330000000000e+002 mean: 3.656725000000000e+002 median: 3.614585000000000e+002 std: 12.042599271358585
200 220 240 260 280 300 320 340 360 380 4000
0.2
0.4
0.6
0.8
1
Throughput (packets/s)
CD
F
CDF of the throughput
Our schemeMORE
Chapitre 5 : Résultats de simulation
84
4-1-3. Evaluation du temps de terminaison
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.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
1
2
3
4
5
6
Erasure probability
Com
plet
ion
time
Completion time
Figure 5. Temps de terminaison des deux scénarios en fonction de la probabilié d’effacement.
4-1-4. Impact du nombre des paquets
Chapitre 5 : Résultats de simulation
85
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
Figure 6. Effet de la densité et du nombre de paquets sur le scénario 2.
4-2. Résultat du système de la maximisation de la durée de vie
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.
10 20 30 40 50 60 70 80 90 100 0
1
2
3
4
5
6
Number of data packets
Completion time
Completion time under the average erasure probability
‐25 nodes
‐10 nodes
Chapitre 5 : Résultats de simulation
86
L’impact du paramètre η sur la convergence a fait l’objet de la simulation présentée en figure 7. Plus précisément, le critère d’arrêt de l’algorithme du recuit simulé dépend de la moyenne du vecteur des probabilités de réception dont la convergence nécessite une petite valeur pour le paramètreη. Autrement dit, la figure 7 démontre que la qualité de convergence de la solution optimale dépend de la fonction de décroissance de la température.
0 50 100 150 200 250 300
0.452
0.454
0.456
0.458
0.46
0.462
0.464
Number of iterations
Mea
n re
cept
ion
prob
abili
ty
n=0.2n=0.02
Figure 7. La probabilité de réception moyenne versus le nombre d’itérations.
4-3. Résultats de localisation et de routage géographique
Les simulations du système de localisation et routage géographique exposé en chapitre 4 ont été menées moyennant OMNET++ et ont été réalisées au sein du laboratoire Lirmm (Montpellier 2, France). Notons qu’on a adopté une architecture très simple. Chaque capteur est muni de deux couches : la première est responsable de la mobilité tandis que la seconde est responsable du routage. Le tableau 2 illustre les valeurs des paramètres considérés. Il est à noter que le nombre de particules est 50. On estime bien que ce nombre pourra être réellement supporté par des capteurs ayant de faibles capacités. Les valeurs assignées à la constante c et a sont celles proposées par les auteurs Rodoplu et Meng ayant déjà proposés le modèle énergétique de base. Les autres valeurs des paramètres ont été assignées de façon expérimentale.
Nous signalons également que nous nos simulations sont basées sur les aspects suivants :
Chapitre 5 : Résultats de simulation
87
Un déploiement aléatoire des capteurs.
Une diffusion périodique des messages Hello. Chaque message Hello contient l’identité du capteur et son énergie.
Un rayon démission égal à 60.
N 50
μ1 20
μ2 90
XX 21, Normal (0 , 1)
ϕ 90
A 2
C 2*108
η 3
βα , 0,75
Tableau 2. Paramètres de simulation du routage géographique.
Les figures 8 et 9 illustrent respectivement le résultat de la prédiction des abscisses et des ordonnées. La courbe en bleu correspond au résultat obtenu par le modèle de prédiction et la courbe en rouge correspond au résultat exact associé au modèle de mobilité. Il est très clair qu’au début de la simulation, l’écart entre les deux modèles est important. Cependant, la précision de la prédiction s’améliore en fonction du temps d’exécution.
Chapitre 5 : Résultats de simulation
88
Temps de simulation20 40 60
Abss
ices
100
200
300
400
Figure 8. Abscisses prédites versus 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.
Temps de simulation20 40 60
ordo
nnée
s
0
100
200
300
Figure 9. Ordonnées versus temps de simulation.
Chapitre 5 : Résultats de simulation
89
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.
0
0,2
0,4
0,6
0,8
1
1,2
0 0,2 0,4 0,6 0,8 1
a'
taux
d'a
chem
inem
ent
n=26n=31n=36
Figure 10. Impact du paramètre 'a sur le taux d’acheminement.
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.
Chapitre 5 : Résultats de simulation
90
2,05E+08
2,05E+08
2,06E+08
2,06E+08
2,07E+08
2,07E+08
2,08E+08
2,08E+08
2,09E+08
0 0,2 0,4 0,6 0,8 1
a'
Ene
gie n=26
n=31n=36
Figure 11. Impact du paramètre 'a sur la consommation énergétique.
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.
Nombre de capteurs
'a
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
Chapitre 5 : Résultats de simulation
91
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.
92
Conclusion génèrale et perspectives
LL’objectif principal de cette thèse est de minimiser le temps d’achèvement nécessaire au décodage des paquets envoyés par une source. La plus grande partie de notre travail a consisté à proposer un système où la réception et le décodage des paquets sont modélisés par une chaîne de Markov. Notre système tire profit des avantages du routage opportuniste avec codage réseau linéaire aléatoire et fonctionne sous l’hypothèse de récupération d’énergie. La sortie de notre système détermine la puissance, le nombre de transmissions ainsi que le flot durant chaque phase. Au travers notre modélisation, une question pertinente concernant l’incertitude de la puissance lors du calcul de la dérivée a été relevée. En conséquence, le calcul par intervalles nous a aidés pour trouver une solution au problème rencontré. Le modèle proposé n’est pas convexe et une autre question concernant le choix d’une méthode adéquate a été posée. La méthode F-Lipschitz a assuré l’existence d’une solution optimale pour notre problème. Deux cas ont été étudiés dans cette thèse. Le premier cas suppose une connaissance a priori de la probabilité d’effacement. Dans ce contexte, deux scénarios ont été simulés. Le premier s’appuie sur la métrique ETX tandis dans le second, chaque nœud qui soit actif et qui a pu recevoir un paquet est susceptible de prendre le rôle de relais. Les résultats de simulation obtenus moyennant Matlab et Omnet++ ont montré les performances du deuxième scénario en termes de la consommation énergétique et du débit. D’autre part, les simulations menées ont montré que le temps de terminaison dépend des probabilités d’effacement et du nombre des paquets. Dans le deuxième cas, une autre chaîne de Markov a été conçue et nous a permis de dériver l’expression de la probabilité d’effacement. Dans ce contexte, le temps de terminaison a été évalué en fonction de la densité réseau dont l’augmentation implique un bon SNR lors de la réception.
Un autre résultat intéressant concerne la possibilité d’hybridation entre une méthode de résolution exacte (programmation linéaire) et une métaheuristique (recuit simulé) pour la maximisation de la durée de vie d’un réseau de capteurs adoptant le routage opportuniste et le codage réseau linéaire aléatoire. Dans cette optique, la fonction de décroissance de la température joue un rôle important pour la convergence du système.
Enfin, le dernier volet concerne la mobilité dans les réseaux de capteurs. Pour cela, une fonction de routage géographique a été proposée et dépend de la prédiction. D’après les simulations réalisées, nous précisons que la sélection du voisin dont la direction est plus proche de la destination a donné des résultats encourageants d’un point de vue dépense énergétique et taux d’acheminement en respectant le modèle de mobilité Gauss-Markov.
Au terme de ce cheminement, nous sommes à même de discuter les perspectives suivantes :
93
-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.
Annexe : Calcul par intervalles
94
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 ]15.3 , 14.3[ . 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] :
{ } xx x\ Rx ] x , [][ ≤≤∈== xx .
Le milieu, la largeur, le rayon et la magnitude sont quatre propriétés d’un intervalle et sont définis comme suit :
xxw(x)2
xxmid(x)
−=
+=
x}xmin{(x),mig(x)2
w(x)rad(x)
∈=
=
Les opérations arithmétiques et ensemblistes classiques définies pour les réels sont étendues aux intervalles de cette manière [53]:
y0 , ] ) yx , yx , yx, yxmax( ), yx , yx , yx, yx(min [ ] y , y[ ] x , x[
] ) y*x , y*x , y*x, y*xmax( ), y*x , y*x , y*x, y*x(min [ ] y , y[ * ] x , x[
] y - x , y - x [ ] y , y[ ] x , x[
] y x , y x [ ] y , y[ ] x , x[
∉÷÷÷÷÷÷÷÷=÷
=
=−
++=+
Les caractéristiques des intervalles ont permis d’introduire de nouvelles opérations :
{ }{ }{ }( ){ }
( ) ( ){ }Zyxetyyxxz
yxyxyxyx
∈∈∃∈=
∈∈=
∉∈=∈∈=∪∈∈=∩
,][][Proj
[y]y et [x]xyx, ] [ * ] [ [y]y et [x]x ] [ \ ] [
[y]y ou [x]x ] [ ] [ [y]y et [x]x ] [ ] [
x
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
Annexe : Calcul par intervalles
95
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)
Annexe : Calcul par intervalles
96
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]
>> z1= (x*y + x*q)
intval z1 =
[ 7.0000, 126.0000]
97
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
[2] F. Lepoutre, ‘Capteurs, principes physiques’, CNAM Medias, 2001.
[3] P.Gatt , ‘Capteurs ‘
http://btscira.perso.sfr.fr/page1/page25/page25.html
[4] H. Karl, A.Willig, ‘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
[8] J. Kulik, W.R. Heinzelman, H. Balakrishnan: Negotiation–Based Protocols for Disseminating Information in Wireless Sensor Networks. In: Wireless Networks, Vol 8, pp. 169-185, 2002
[9] C. Saad, ‘Quelques contributions dans les réseaux de capteurs’, Thèse de Doctorat, Université d’Avignon et Des Pays de Vaucluse , 2008.
[10] S. Chelloug, M. Benmohammed, J-C. Konig, “Prédiction de la mobilité pour un routage géographique efficace en énergie dans les réseaux de capteurs mobiles «, in the proceedings of the JDIR’09, pp. 139-144, Belfort, France, 2009.
[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
98
[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] http://designtheory.org/library/encyc/topics/gf.pdf [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 [18] C. Fragouli, E. Soljanin , ‘Network Coding Fundamentals, in Foundations and Trends in Networking’ , vol. Vol. 2, Issue 1, p. 1-133, 2007 [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] http://pages.pacificcoat.net/~cazelais/251/gauss-jordan.pdf
[25] E. Rozner, J. Seshadri, Y-A.Mehta, L.Qiu, ‘SOAR: Simple Opportunistic Adaptive Routing Protocol for Wireless Mesh Networks’ . IEEE Transactions on Mobile Computing 2009.
[26] T. El-Ghazali, Metaheuristics: from design to implementation, ISBN 978-0-470-27858-1
[27] http://en.wikipedia.org/wiki/Lipschitz_continuity
[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.
[29] C. Fischione, “F-Lipschitz optimization”, IR-EE-RT_2010:023, April, 2010. [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
99
[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. [35] S. Chelloug, M. Benmohammed, “Simulated annealing for maximizing the lifetime of sensor networks under opportunistic routing” , in the proceedings of BWCCA, pp.14-20, Victoria, Canada, November 2012. [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. [41] M. Rousignol, “Processus stochastiques”, Master de mathématiques, Universite Paris-Est, 2008.
[42] J. Yang, S.Ulukus, “ 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] A.Tarable, 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.
100
[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.
[48] A. Vargas, ‚’Omnet++’
http://www.omnetpp.org/
[49] S. M-Rump‚’Intlab’
http://www.ti3.tu-harburg.de/rump/intlab/ [50] J.S-Plank http://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/ [51] L.Yan et al. ,’ Architecture Taxonomy for Control and Provisioning of Wireless Access Points (CAPWAP)’ http://www.armware.dk/RFC/rfc/rfc4118.html [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.
Nom du document : Copie‐corrigée1 Répertoire : I: Modèle : C:\Documents and Settings\user\Application
Data\Microsoft\Modèles\Normal.dot 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.)