Réseaux de Capteurs Sans Fils
CoursOutils transverses

Evitement des collisions dans la propagation de la requête de construction

Lessons de la version précédente

Dans la version précédente, la couverture du réseau est très faible.

Ceci signifie que la requête ne parvient pas à tous les noeuds du réseau.

Comme les noeuds propagent la requête de construction simultanément, des collisions sont provoquées et donc des requêtes sont perdues durant la propagation par "broadcast".

Pour éliminer ce phénomène, une solution consisterait à introduire un délai aléatoire avant le relayage de la requête par les noeuds qui reçoivent cette requête.

Evitement des collisions par attente aléatoire

Pour mettre en oeuvre cette solution nous aurons besoins de deux nouveaux éléments dans notre application HTC :

1/ Attendre un délai avant de relayer la requête

2/ Ce délai doit être aléatoire

Pour tirer profit de la programmation par composant utilisée dans TinyOS nous allons utiliser deux composants de TinyOS qui permettent d'implémenter ces deux comportement :

1/ TimerC : ce composant implémente une interface qui permet d'attendre et lancer un événement après le délai d'attente

2/ RandomLSFR : permet de générer des nombres aléatoires.

Etudiez ces deux composants en prenant connaissance de leurs fonctionnalités dans la libraire de TinyOS

Rajouter ces composants dans la configuration de l'application HTC.nc

Rajouter les liaisons nécessaires entre ces composants et notre composant TreeBuilderM

Rajouter dans le module TreeBuilderM le fait que le composant nécessite les interfaces Timer et Random

Mettre à jours l'implémentation de TreeBuilderM de telle sorte que chaque noeud attende un délai aléatoire à la réception de la requête de construction avant de faire appel à la tâche relayTreeReq pour relayer la requête à d'autres noeuds.

Relancer la compilation et l'exécution de HTC

Quel est le nouveau taux de couverture du réseau par l'arbre ainsi construit

Tolérance aux pannes par reconstruction de l'arbre de routageLoop free routing protocol
Accueil Yacine CHALLAL creativecommons : by-ncRéalisé avec SCENARI