• Aucun résultat trouvé

2.2 D´efinitions et m´etriques d´edi´ees au sch´ema CBL

2.2.8 D´efinitions d’un seuil temporel et des coefficients pond´erateurs

L’algorithme CBL est un automate ex´ecut´e par chaque nœud du r´eseau `a la r´eception d’un message HELLO de l’un de ces nœuds voisins. CBL cherche en permanence `a maintenir et prolonger la chaˆıne de nœuds branche et des liens feuille-branche. Une des difficult´es li´ee `a la forte mobilit´e des nœuds des VANETs est de garantir une certaine stabilit´e entre les diff´erents rˆoles des nœuds du r´eseau et leurs inter-relations. Il est en effet important d’offrir `a la couche application des liens stables le temps des ´echanges. Cela n´ecessite en particulier d’att´enuer les effets des acc´el´erations et d´ec´el´erations incessantes des nœuds sur la topologie des VANETs et d’´eviter ainsi des permutations intempestives du rˆole des nœuds (permutation de type, i.e. feuille versus branche) ou encore la recherche par tˆatonnement du meilleur lien entre un nœud feuille et des nœuds branche.

Pour garantir cette stabilit´e, un temporisateur (watchdog timer ), interne `a chaque nœud distribu´e, a ´et´e sp´ecifi´e. Ce temporisateur, ou temps de validit´e Validity time (ou Vtime), intervient pour diff´erer des d´ecisions et v´erifier qu’elles sont encore valides `a l’issu du d´elai d’expiration (timeout). Il permet aux nœuds de prendre des d´ecisions dans leur r´ef´erentiel temporel local : chaque datation de r´eception d’un message est relative `a l’horloge du nœud r´ecepteur. Notons que la notion de temps de validit´e Validity time existe dans les protocoles de routage des r´eseaux ad hoc sur lesquels CBL peut ˆetre mis en œuvre (par exemple OLSR).

Validity time ou Vtime indique la p´eriode de validit´e d’une information contenue dans le dernier message HELLO re¸cu, `a partir de sa date de r´eception. `A l’issue de la p´eriode d’expiration Vtime, algorithme d´eclenche, si les conditions sont satisfaites, les actions suivantes :

− un nœud Ni(feuille ou branche), sans nouvelle r´eception d’un message HELLO en provenance d’un

nœud voisin `a un saut Nj, le supprime de sa table des voisins ;

− un nœud feuille Ni, sans nouvelle r´eception d’un message HELLO en provenance du nœud branche

auquel il est abonn´e (@BranchChoice), se d´esabonne (@BranchChoice=0) ;

− un nœud branche Ni, sans nouvelle r´eception d’un message HELLO en provenance du nœud chaˆıne

d’un de ses chaˆınons NAV ou NAR (@ChainUP ou @ChainDO), supprime l’adresse de ce nœud de

ses choix (respectivement @ChainUP=0 ou @ChainDO=0) ;

− un nœud branche Ni, sans nouvelle r´eception d’un message HELLO en provenance de ses nœuds

feuille abonn´es et de ses deux nœuds branche aval et amont (NAV ou NAR), prend le statut de

feuille ;

Trois coefficients C1, C2 et C3 servent `a pond´erer l’attente d’observation du voisinage `a un saut d’un nœud :

• C1 est un coefficient multiplicateur de HELLO INTERVAL. `A l’issue de la p´eriode d’expiration C1 ∗ HELLO INTERVAL, un nœud feuille Ni, n’ayant pas d´etect´e de nœud branche dans son

voisinage `a un saut, ´elit un nœud feuille voisin Nj au titre de nœud branche.

• C2 est un coefficient multiplicateur de HELLO INTERVAL. `A l’issue de la p´eriode d’expiration C2 ∗ HELLO INTERVAL, un nœud branche Ni, n’ayant pas d´etect´e de nœud branche en amont

dans son voisinage `a un saut, ´elit un nœud feuille voisin Nj au titre de nœud branche de sorte `a

cr´eer un chaˆınon de chaˆıne. Pour pr´evenir les configurations o`u un nœud branche d’une chaˆıne ne choisisse par d´efaut un nœud r´ecemment transform´e en branche par un nœud feuille, la p´eriode d’observation du nœud branche de la chaˆıne doit avoir une dur´ee plus courte que celle d’un nœud feuille : C2 ∗ HELLO INTERVAL < C1 ∗ HELLO INTERVAL, soit C2 < C1.

• C3 est un coefficient multiplicateur de HELLO INTERVAL. C3 ∗ HELLO INTERVAL est une p´eriode de garde qui s’applique `a l’instant o`u un nœud branche devient feuille. Ce nœud feuille ne pourra accepter une requˆete d’´election, au titre de nœud branche, d’un nœud voisin qu’`a expiration de cette p´eriode de garde.

Deux autres coefficients L1 et L2, tiennent compte de la port´ee maximale th´eorique de communication radio P . Cette port´ee est un invariant de la technologie de communication utilis´ee. Un troisi`eme, L3 tient compte de la fr´equence d’envoi des messages HELLO. Un quatri`eme α, est un coefficient de pond´eration des m´etriques ChainTime et Degree.

• L1 intervient dans le crit`ere de changement d’abonnement d’un nœud feuille Ni `a un certain nœud

branche relais. Soient Nr le nœud relais actuel de Ni et CT ri son temps de connexion `a Ni. Soient

Nj un nœud branche du voisinage `a un saut de Ni qui a une liaison sym´etrique avec Ni depuis au

moins Vtime et CTji son temps de connexion `a Ni. Le crit`ere de changement d’abonnement est

d´efini par la formule 2.3.

CTji− CTri>

L1 ∗ P VNi

(2.3) Si le crit`ere 2.3 est satisfait, alors le nœud Nienregistre l’adresse de Njdans @BranchChoice. Ainsi,

le nœud Ni change de nœud branche lorsqu’un nœud branche de son voisinage lui procure un d´elai

• L2 et α interviennent comme crit`eres de d´ecision dans le choix de l’´election d’un maillon de chaˆıne par un nœud branche Ni au titre de nœud branche NAR. Ils servent `a d´epartager deux nœuds

candidats Nj ou Nk. Le crit`ere se d´ecline ainsi :

− si et seulement si un seul des deux candidats `a un ChainT ime sup´erieur au temps que mettrait le nœud `a parcourir la distance L2 ∗ P proportionnelle `a la port´ee maximale P du nœud dans l’hypoth`ese o`u le nœud Ni garde une vitesse constante (ChainT ime >L2∗PV

Ni ), il est choisit ;

− si chacun des ChainT ime des deux candidats est tel que ChainT ime > L2∗P

VNi , alors le candidat

dont le degr´e (Degree) est le plus ´elev´e est choisi ; en cas d’´egalit´e, le candidat dont le message HELLO a ´et´e r´eceptionn´e par Ni en premier est choisi ;

− si les valeurs des ChainT ime des deux candidats sont inf´erieures (ChainT ime < L2∗P VNi ), alors

le coefficient α intervient dans le calcul de la m´etrique de d´ecision Mα(formule 2.4) du choix du

maillon. Le candidat dont la valeur Mα est sup´erieure est choisi ; en cas d’´egalit´e, le candidat

dont le message HELLO a ´et´e r´eceptionn´e par Nien premier est choisi.

Mα(Nj) = α ∗

ChainT imeij

max(ChainT imeij, ChainT imeik)

+ (1 − α) ∗ Degreeij

max(Degreeij, Degreeik)

(2.4) • L3 intervient dans le crit`ere de changement d’abonnement d’un nœud feuille Ni`a son nœud branche

relais Nrou d’un nœud branche Ni `a son nœud branche en amont Nr= NAR.

Soit CT ri le temps de connexion de Nr `a Ni. La connexion entre Ni et Nr est en voie de devenir

caduque si et seulement si CT ri < L3 ∗ HELLO INTERVAL. Une recherche proactive est alors enclench´ee pour ´elire avant rupture un meilleur nœud relais.