• Aucun résultat trouvé

Introduction d’arcs virtuels pour la gestion de la dynamique du réseau 62

3.5 Affaiblissement de certaines hypothèses du modèle ADAGRS

3.5.3 Introduction d’arcs virtuels pour la gestion de la dynamique du réseau 62

En règle générale, les messages sont directement traités par la règle de réception et ne sont pas sauvegardés. L’étiquette <Messages reçus> est alors inutile. L’étiquetage devient :

{<Événement>,<État sommet>,<ID sommet>,<Messages à transmettre>}

La représentation de l’exemple donné peut alors être simplifiée en Ei

M

ou simplement en

Ei

m , ne montrant que le dernier message (celui qui est traité par la règle) lorsque ce n’est pas ambigu.

3.5.3 Introduction d’arcs virtuels pour la gestion de la dynamique du réseau

Les nœuds que nous considérons sont mobiles. Ceci implique que des liens de communi-cations potentielles peuvent apparaître et disparaître tout au long du déroulement d’un algorithme. En conséquence, les algorithmes exprimés auront parfois besoin de raisonner sur une estimation (seule disponible puisque nous travaillons en asynchrone) du voisinage d’un nœud.

Pour cela, nous ajoutons au modèle la notion d’arcs virtuels (notés d’un trait bleu épais). Ceux-ci correspondent à l’estimation que se fait un nœud des nœuds capables de lui transmettre un message, et par extension, des nœuds potentiellement dans son voisinage au sens ADAGRS. Ces arcs virtuels ont pour but de permettre l’expression de la réaction d’un sommet à l’apparition (sec. 3.5.3.1, p. 63) et à la disparition (sec. 3.5.3.2, p. 64) d’un autre sommet, tout en masquant le système sous-jacent employé pour la gestion de l’estimation du voisinage. Nous donnons un fonctionnement possible de ce système sous-jacent (sec. 3.5.3.3, p. 65).

En utilisant la notation développée section 4.1.3 (p. 97), nous ajoutons aux ensembles N et N+, décrivant respectivement l’ensemble des arcs sortant et entrant d’un sommet dans un graphe orienté (fig 3.30, p. 54), la différence entre la réalité de la donnée et l’estimation qu’en a un nœud :

– N+R

t (i) : ensemble des liens de communications potentielles entrant dans le sommet i au temps t (fig. 3.30a). C’est sur ceux-ci que le sommet peut lire un éventuel message. – N+E

i,t (i) : estimation que se fait i de son propre voisinage sortant, N+R

t (i). Cette estimation correspond à l’ensemble des arcs virtuels entrant dans i (fig. 3.43, p. 63). La différence réside dans le fait qu’au temps t, certains liens de communications potentiels :

– n’ont pas encore été détectés par le système sous-jacent ;

– sont toujours considérés comme présents alors qu’ils ont en fait disparu. – N−R

t (i) : ensemble des liens de communications potentielles sortant du sommet i au temps t (fig. 3.30b). C’est sur ceux-ci que sont effectivement écrits tous les messages lors d’un envoi.

– N−E

i,t (i) : estimation que se fait i de N−R

t (i). Cette estimation n’existe a priori pas dans le modèle ADAGRS. Elle pourrait néanmoins être construite par un algorithme qui supposerait que les liens sont symétriques (i.e. “les nœuds dont je suis voisin sont également mes voisins”).

a b0 b1 b2 b3 b4 b5

Figure 3.43 – Estimation par a des nœuds au voisinage desquels il appartient au temps t : Na,t+E(a). Le graphe de communication considéré est celui de la figure 3.30 (p. 54). Entre

t − 1 et t, le nœud b0 se rapproche de a (création des liens la→b0 et lb0→a) et le nœud b3

s’éloigne (disparition des liens la→b3 et lb3→a). Les arcs représentés sont des arcs virtuels (vus par a).

3.5.3.1 Apparition d’un sommet

Le système sous-jacent peut informer un sommet, ici étiqueté A, qu’il est potentiellement voisin d’un nouveau sommet.

A

Figure 3.44 – Syntaxe : Apparition d’un lien de communications potentielles.

Cela se traduit par l’apparition d’un arc virtuel qui est symbolisée par un arc bleu épais (fig. 3.44).

A B A’ B

Figure 3.45 – Gestion de l’apparition d’un sommet.

Dans l’exemple de gestion d’apparition d’un sommet proposé figure 3.45, on voit que le sommet étiqueté A réagit à l’apparition du lien de communication potentielle venant du

sommet étiqueté B en se réétiquetant A’. On note qu’ici, le sommet étiqueté A choisit3

d’éviter des “détections multiples”, car il choisit de ne pas conserver l’information “trait épais” de l’arc virtuel.

Il est important de noter qu’un nœud (ici A) ne peut pas directement détecter un de ses voisins au sens ADAGRS du terme (un nœud atteignable). Il détecte seulement qu’il est (ou a été) le voisin d’un autre nœud (ici B). Il est nécessaire de prendre en compte cet aspect lors de la spécification des règles d’un algorithme en ADAGRS. En effet, pour le dire autrement, cette détection implique seulement l’existence (présente ou passée) du lien de communications potentielles lB→A. Elle ne donne aucune information sur un hypothétique lien de communications potentielles lA→B (communications asymétriques). Lors de la détection présentée ici, le nœud A ne peut donc avoir aucune certitude quant à sa capacité à atteindre B (existence du lien de communications potentielles lA→B).

3.5.3.2 Disparition d’un sommet

Symétriquement, le système sous-jacent peut informer un sommet, ici étiqueté A, de la disparition potentielle d’un sommet dont il était voisin.

A

Figure 3.46 – Syntaxe : Disparition supposée d’un lien de communications potentielles.

Tout comme pour l’apparition d’un sommet, sa disparition est symbolisée par un arc bleu épais, mais celui-ci comporte une croix afin de signifier sa suppression (fig. 3.46).

A B A’ B

Figure 3.47 – Gestion de la disparition supposée d’un sommet.

Pour gérer la disparition supposée d’un sommet (fig. 3.47), lorsque le sommet étiqueté A détecte la disparition potentielle d’un sommet étiqueté B dont il était (ou pensait être) voisin, il peut exécuter un traitement particulier (e.g. simplement prendre en compte sa disparition, récupérer tout ou une partie de son travail, . . . ).

Ici encore, le nœud A ne fait qu’être informé de la disparition présumée du lien de communications potentielles lB→A. Cela ne lui donne aucune information concernant un hypothétique lien de communications potentielles lA→B.

3. Bien qu’il s’agisse du comportement généralement souhaité, le système laisse la possibilité de ne pas modifier l’arc virtuel.

3.5.3.3 Exemple de fonctionnement du système sous-jacent

Nous donnons ici une méthode d’implémentation possible du système d’estimation des liens de communications potentielles basée sur un marquage des arcs entrants. Nous manipulons néanmoins des arcs virtuels car :

– ils englobent les différentes implémentations possibles ;

– ils sont plus intuitifs à utiliser que le marquage des arcs entrants ;

– leur singularité graphique rend les règles qui les utilisent plus reconnaissables. Nous décrivons tout d’abord comment le système gère les ruptures de lien de communica-tions potentielles, induisant des changements de topologie dans le graphe de communication. Nous décrivons ensuite une méthode de marquage des arcs entrants permettant de maintenir les arcs virtuels.

Changements de topologie. Il peut arriver que le lien de communications potentielles la→b

t soit rompu (e.g. à cause d’un éloignement) avant que tous les messages envoyés par l’émetteur a ne soient consommés4 par le récepteur b (fig. 3.48a). C’est pourquoi dans notre modèle, l’arc la→b

t est “détaché” de a (fig. 3.48b) pour permettre à ces messages d’être consommés par b ou simplement perdus. L’arc la→b

t n’est supprimé qu’après que tous les messages qu’il porte aient disparu (fig. 3.48c), par perte ou consommation, ou que le nœud récepteur ait lui même disparu.

a

b

Mab

(a) Avant rupture

a a b Mab (b) Après rupture a b (c) Après disparition de tous les messages

Figure 3.48 – Détachement d’un arc après coupure du lien de communication potentielle la→b

t associé. Le nœud b se déplace vers la droite. En (a), la→b

t permet à a d’envoyer des messages vers b. En (b), après un déplacement trop grand, la→b

t n’existe plus mais l’arc correspondant reste présent pour continuer d’acheminer les messages vers b. En (c), tous

les messages de l’arc ont disparu (par consommation ou par perte de message).

Marquage des arcs entrants. Bien que d’autres méthodes de gestion des arcs virtuels que le marquage soient possibles ( e.g. approche événementielle), nous avons choisi de ne présenter que celle-ci. En effet, elle est plus en accord avec les travaux déjà réalisés en DAGRS dans lequel il a été choisi de réagir à l’apparition/disparition d’un voisin grâce à 4. Ces messages peuvent être encore "dans les airs" (si les délais de transmissions sont considérés comme non-nuls) ou éventuellement reçus et bufferisés par le récepteur sans qu’il ne les ait encore réellement consommés (i.e. traités).

un marquage des arêtes.

Le système sous-jacent peut utiliser une des deux stratégies suivantes ou une combinaison des deux :

– se baser sur des timers sur les messages utilisateurs – se baser sur un système de beacon et de timer

Le principe de fonctionnement est le même pour les trois méthodes qui en résultent.

On ajoute sur chaque arc entrant (lien de communications potentielles) un marqueur supplémentaire <link> signifiant l’estimation que se fait le sommet récepteur de l’état du lien :

1 : le système informe le sommet que le lien est estimé “présent”, 0 : le système informe le sommet que le lien est estimé “absent”, 1 : l’estimation “présent” est prise en compte par le sommet, 0 : l’estimation “absent” est prise en compte par le sommet.

Ce sont les modifications des valeurs de ce marqueur qui servent de base aux arcs virtuels.

a Mab b 1 (a) la→b t supposé présent a M′ b ab 0 (b) la→b t supposé absent

Figure 3.49 – Estimation de l’état d’un arc entrant d’un sommet. Par exemple, après plusieurs pertes de messages, un arc supposé présent à un moment donné (a) sera supposé

perdu (b).

Lors de la réception d’un message (beacon ou non) sur un arc dont le sommet est estimé absent (0 ou 0), le système étiquette l’arc entrant à 1 (présent, fig. 3.49a). Pour le passage de présent (1 ou 1) à absent (fig. 3.49b), le système utilise un timer (plus ou moins long) sur la réception d’un beacon ou d’un message sur le lien. Si aucun nouveau message n’a été reçu au moment de l’expiration du timer, le système étiquette l’arc entrant à 0 (absent).

Le tableau 3.6 donne une implémentation possible du système de la gestion de l’estima-tion de l’état des arcs.

node_id last_seen timeout

Table 3.6 – Implémentation possible du système de gestion des arcs virtuels pour un sommet donné

Lors de l’application de la règle de détection d’apparition (resp. de disparition) d’un sommet, manipulant des arcs virtuels, l’étiquette <link> 0 (resp. 1) est modifiée en 0

(resp. 1) de manière à éviter que cette règle de détection ne soit appliquée plusieurs fois. Dans la suite de ce document, l’étiquette <link> n’est pas mentionnée ; seuls les arcs virtuels sont manipulés. En effet seules les modifications sur les arcs virtuels sont

significatives. Leur “implémentation” est, ici, simplement basée sur les passages de 0 à 1 (apparition d’un voisin, sec. 3.5.3.1) et de 1 à 0 (disparition d’un voisin, sec. 3.5.3.2).