1 Une architecture de contrôle de mobilité pour le routage de messages dans un réseau ad hoc de...

Preview:

Citation preview

1

Une architecture de contrôle de mobilité pour le routage de messages

dans un réseau ad hoc de grande taille

Pirro BRACKA

Directeurs:Jacques DÉSARMÉNIEN

Llukan PUKA

Encadré par:Gilles ROUSSEL

2

Plan

• Introduction du problème

• Présentation de l’approche

• Modélisation et propriétés

• Améliorations de la solution

• Simulations et implantations

• Routage et mobilité

• Conclusions et perspectives

3

Introduction

• Réseaux ad hoc– Ensemble de nœuds mobiles organisés en réseau

sans l'aide d'infrastructure fixe

– Communication pair-à-pair

– Offre de services dépendants du lieu

• Réseaux ad hoc de grande taille– Très grand nombre de nœuds

– Topologie très étendue géographiquement

4

Introduction

• Problèmes dans les réseaux ad hoc– Chemins longs entre source et destination de

message• Chemins vulnérables aux ruptures de liens• Information obsolète à l'arrivée

– Connectivité• Variable à cause de l'étendue du réseau et de la

mobilité des nœuds

– Surcoût des protocoles de routage• Bande passante, énergie et calcul de chemins

5

Introduction

• Résoudre ces problèmes:– Augmenter la zone de transmission radio (difficile

voire impossible dans certains cas)

– Utiliser la mobilité

6

Routage et mobilité

• Protocoles de routage

• Modèles de mobilité pour l'évaluation des protocoles

• La plupart des travaux sur le routage n'utilisent pas la mobilité des nœuds

• Routage et mobilité très liés

• Comment contrôler efficacement la mobilité et la mettre au service du routage?

7

Routage et mobilité

Les algos de contrôle de mobilité doivent aborder les problématiques suivantes (Goldenberg et al.)

– Nature du contrôle dépendante des applications

– Pas d'entité centrale calculant les mouvements des nœuds

– Schéma distribué capable d'optimiser les performances en satisfaisant d’autres contraintes

8

Notre solution

• Mettre en place un mécanisme de rendez-vous pour assurer une communication fiable

• Mécanisme utilisé pour communiquer

9

Environnement

• Réseaux de grande taille avec topologie divisée en zones

• Zones = polygones du diagramme de Voronoï

• Dans chaque zone un seul nœud

• Communication seulement avec les nœuds des zones adjacentes

10

Exemple

11

Modélisation

• Points de rendez-vous entre zones

• Déplacement entre les points de rendez-vous

• Communication asynchrone dans les points de rendez-vous

• Graphe non-orienté des points de rendez-vous

– sommets = nœuds

– arêtes = points de rendez-vous

12

Contrainte

Le premier nœud qui arrive sur un point de rendez-vous, attend son voisin avant de continuer son déplacement

13

Exemple

14

Ordonnancement

• Ordonnancer les mouvements

– numéroter aléatoirement des points de rendez-vous

– initialiser les nœuds à leur point de rendez-vous minimum

– parcourir les points rendez-vous dans l'ordre croissant

– attendre le voisin et communiquer avant de quitter le point de rendez-vous

• Un premier algorithme d'ordonnancement des mouvements

15

Modélisation

16

Modélisation• Associer à chaque nœud un automate fini

– état = point de rendez-vous

– transition = déplacement entre 2 points rdv

– état initial = point rdv avec le plus petit numéro

17

Propriétés

• Prouver l'absence de blocage

– non-blocage global

– non-blocage local

– transmission en temps borné des messages

• Preuve des propriétés:

– par la construction de l'automate produit

18

Propriétés

L'automate produit possède 24 x 32 x 4 = 576 états mais seulement 9 états sont accessibles

19

Propriétés

Autre numérotation

39 états

20

Routage

Source Dest. Rdv. Longueur du chemin

a.1 b a.1 1

a.1 e a.1 5

... ... ... ...

a.9 b a.1 2

a.9 e a.9 4

... ... ... ...

21

Améliorations• Augmenter le degré du parallélisme

– rencontres et déplacements en parallèle de plusieurs couples de nœuds

• Réduction de la consommation d'énergie

– amélioration de la numérotation pour réduire les déplacements

• Tolérance aux défaillances

– gestion des pannes

– gestion du rétablissement d'un nœud après une panne

22

Améliorations

• Réduction de consommation de l'énergie

• Parallélisme- Coloration des arêtes du graphe des points de rendez-vous selon l'algorithme de Vizing

23

Améliorations

• Tolérance aux défaillances

– état stable permet de prévoir :

• premier nœud à atteindre un point de rendez-vous

• temps d’attente avant l’arrivée de son voisin

– conception d'un nouvel algorithme tolérant aux pannes

• Que faire lorsqu'un nœud tombe en panne?

• Comment se rétablir après une panne?

24

Améliorations• Que faire lorsqu'un nœud tombe en panne?

– Routage dynamique

– Utilisation d'un protocole à état de liens

– Un seul message annonce la panne de tous les liens du noeud

• Comment se rétablir après une panne?

– Se diriger vers le point de rdv le plus proche

– Annoncer le rétablissement par un message

– Apprendre dans quel état se trouve son voisin

– Déduire le temps d'attente avant de commencer à exécuter l'algo. d'ordonnancement

25

Simulations

Validation de la solution par simulation

– conception d'une plate-forme de simulation

– 2 paquetages Java

– environnement 2500m x 2500m

– vitesse de noeuds constante à 5m/s

– comparaison de l'algo. des points de rdv avec une diffusion

26

Longueur des chemins

Chemins plus courts pour l'algorithme des points de rendez-vous

27

Les déplacements des noeuds

Le nombre de déplacements pour aller dans un point de rdv et prendre un message

Le nombre de déplacements pour aller dans le point de rdv approprié et transmettre un message

28

Le délai de bout en bout

Le délai par rapport au nombre de nœuds Le délai par rapport à la vitesse des nœuds

29

L'efficacité

Efficacité = 1 – temps perdu en attente

délai de bout en bout

30

Anomalie

Le nombre moyen de points de rendez-vous par nœud

31

Implantation

Validation de la solution par implantation

– Robots Lego Mindstorm

– leJOS, une JVM pour les programmer• Prog. Orientée Objet

• Threads préemptives

• Tableaux multidimensionnels

• Récursivité

• Synchronisation

• Opération sur les flottants

• Classe java.lang.Math

32

Robots

33

Conclusion• Une solution basée sur le contrôle de la mobilité

– Algorithme tolérant aux pannes

– Mécanisme de rendez-vous

– Schéma des mouvements distribué– Communication en temps borné avec contraintes

• Développement d'une plate-forme de simulation– Tests faits pour valider notre solution

• Implantation dans des robots– Preuve de la faisabilité de la solution

34

Perspectives

• Problème de transmission multicast

• Évaluation comparative des protocoles de routage ad hoc en utilisant le mécanisme des rendez-vous

• Modélisation à base de files d'attente

• Applications dans les VANET (Vehicular Ad hoc NETworks)

35

36

Algorithme d'un noeud nk

initialiser nk dans son point de rendez-vous avec le plus petit numéro

For chaque point de rendez-vous de nk dans l'ordre et en boucle do

If (un noeud est en attente dans ce point de rendez-vous)

echanger des messages s'il y en a;

notify(); // déclenche le mouvement vers le point de rendez-vous suivant

If (un message m est reçu)

If (la destination de m est nk)

traiter m;

else

conserver m pour le routage;

EndifEndif

continuer le mouvement vers le point de rendez-vous suivant;

Elsewait(); // reste en attente de l'autre noeud dans ce point de rendez-vous

Endif

EndFor

37

Algorithme d'un noeud nk

initialiser nk dans son point de rendez-vous avec le plus petit numéro

For chaque point de rendez-vous de nk dans l'ordre et en boucle do

If (un nœud est en attente dans ce point de rendez-vous)

échanger des messages s'il y en a;

notify(); // déclenche le mouvement vers le point de rendez-vous suivant

If (un message m est reçu)

If (la destination de m est nk)

traiter m;

else

conserver m pour le routage;

Endif

Endif

ajouter le reste du temps d'attente à la tâche suivante;

continuer le mouvement vers le point de rendez-vous suivant;

Else

while (temps d'attente de nk pas expiré) do

wait(); // reste en attente de l'autre nœud dans ce point de rendez-vous

endwhile

ajouter le reste du temps d'attente à la tâche suivante;

continuer le mouvement vers le point de rendez-vous suivant;

Endif

EndFor

Recommended