• Aucun résultat trouvé

PROTOCOLE DE SESSION SOUS SA VISION GLOBALISÉE

CHAPITRE 4   PROTOCOLE DE SESSION

4.4   PROTOCOLE DE SESSION SOUS SA VISION GLOBALISÉE

Dans cette section, nous décrivons l’algorithme sous sa version globalisée. Cet algorithme est placé au niveau de notre nœud Photographe (présenté dans le chapitre précédent). L’objectif de cet algorithme est d’identifier l’occurrence des fusions ou des scissions des clusters formés au niveau du réseau. Ainsi, grâce au nœud Photographe implémentant cet algorithme il est possible à tout instant k discret de connaître le système d’information global S(k). Attention, il s’agit d’une étape dans laquelle on imagine que le collecteur est capable d’échanger instantanément et simultanément avec l’ensemble des groupes de nœuds. Plus loin, nous présenterons ce protocole de session sous sa vision localisée tel qu’il fonctionnera réellement, c’est-à-dire lorsque le collecteur ne pourra dialoguer qu’avec un seul groupe de nœuds à la fois.

Cet algorithme s’exécute séquentiellement en trois phases distinctes :

Identification ou recherche des sessions : cette phase représente la reconnaissance du réseau. L’algorithme commence par une scrutation du réseau à la recherche des groupes de nœuds.

Recherche des héritages : durant cette phase, l’algorithme cherche l’existence ou non de liens entre l’état discret actuel du réseau (photo du réseau à l’instant !+1) et son état précèdent (photo du réseau à l’instant !).

Identification des attributs de sessions : suite aux résultats obtenus à la phase 2, l’algorithme attribue des identifiants de sessions selon les types de la relation trouvée.

• S’il n’y a pas de liens alors il y a création d’identifiant pour une nouvelle session.

• Si le lien existe et est de type relation héritage total alors il y a transfert des paramètres de l’ancienne session à la nouvelle.

• Si le lien existe et est de type héritage partiel alors l’identifiant de la session actuelle hérite des anciennes sessions vérifiant la relation d’héritage.

Le collecteur créera un nouvel identifiant de session déduit des anciens identifiants de sessions.

!"!"!!#$% (!!!

! , !!!

! ,… …,(!!!

!))→!"!"!!#$%(!!!")

D’un point de vue informationnel, les mesures réalisées par les nœuds d’un groupe seront agrégées par une valeur moyenne. En cas d’héritage (et potentiellement de fusion de groupe de nœuds), ces valeurs seront-elles mêmes agrégées si de nouvelles mesures ne sont pas encore disponibles à l’instant de la visite du collecteur.

(!!"# !1 ,(!!"# !2 ,……..(!!"# !" ) !

 (!!"# !" )

Dès que les différents nœuds auront transmis leur mesure au chef de cluster, celui-ci mettre à jour la nouvelle valeur moyenne pour le groupe.

Au final, nous proposons d’implanter au niveau du nœud photographe (pour cette version global), l’algorithme suivant.

Algorithme 5 /* Algorithme placé au niveau du nœud photographe*/ Pour tout groupe Gi à l’instant (k+1)

 !"#$ !" = !" !" ,!"# !" !" ,! !" ,!!"#,!"# !

⌀!"!"!!#$% !"

Pour tout groupe Gj présent à l’instant k Si ∃ !⊂!"  /  !⊂!" !" │!│≥!│!"│  alors /* !"∈! !+1  ℎé!"#$ !"!#$%&%'! !" !"∈! ! */ !"!"!!#$% !" U !"!"!!#$%(!")!"!"!!#$%(!") Finsi Sinon Si ∃ !⊂!"  /  !⊂!" !" │!│≥!│!"│ Alors /* !"∈! !+1  ℎé!"#$ !"#$%&''&(&)$ !" !"∈!(!)*/ !"!"!!#$% !" U !"!"!!#$%(!")!"!"!!#$% !" Finsi Finpour Si !"!"!!#$% !" =⌀

alors /* perte de contexte */

Create_new (!"!"!!#$% !" ) /*création d’un nouvel identificateur de session !"!"!!#$% !" Finsi

Finpour

Update(!(!+1)) /* Mise à jour de l’ensemble des identificateurs de sessions */

Dans cet algorithme, on note qu’il y a perte de contexte si aucune relation d’héritage n’a pu être identifiée et que par ailleurs, en cas de fusion, le contexte sera enrichi des contextes de chaque parent, qu’il s’agisse d’un héritage total ou partiel.

4.4.1 Exemples

Afin de donner une vision plus concrète tout en sachant que nous ne pouvons pas citer tous les cas possibles et imaginables résultants de la dynamique du réseau, nous utilisons quelques cas de figure pour illustrer les relations d’héritage total, d’héritage partiel et la fusion ou scission de clusters. Dans ce qui suit, nous considérons deux vues du réseau à deux instants différents (! !" !+1). La vue du réseau à un instant ! est supposée comme suit :

!1 = {1 ;{2, 3, 4}} ; !2 = {5 ;{6, 7, 8}} et !3 = {9 ;{10, 11, 12}} et LS* = {1, 5, 9} 4.4.1.1 Exemple 1 : Relation d’équivalence total ou héritage total

La Figure 4-2 illustre le cas d’un changement de chef de cluster au sein du cluster C1 entre les instants (! !" !+1).

Vue du réseau à l’instant (!+1) :

!′1= {2 ;{1, 3, 4}} ; !′2 = {5 ;{6, 7, 8}} et !′3 = {9 ;{10, 11, 12}} et LS = {2, 5, 9}

Figure 4-2 : Changement du chef de cluster au niveau du même cluster

Selon les deux vues du réseau aux instants ! !" !+1 le nœud (2) se déclare chef de cluster et le nœud (1) devient un nœud membre. Ce cas de figure illustre la présence de trois équivalences totales. Et par conséquent, le nouveau chef de cluster (2) du cluster !′1 hérite totalement des paramètres de session du chef de cluster (1) du cluster !1. De même pour les chefs de clusters (5) et (9) des clusters !!2 !" !′3 qui maintiennent leurs paramètres de session.

De même, le cas illustré sur la Figure 4-3 représente aussi un cas d’équivalence totale. Ce cas décrit la migration d’un ancien chef de cluster vers un nouveau cluster où il sera élu comme chef de cluster.

Vue du réseau à l’instant (k+1) :

!′1 = {5 ;{1, 3, 4}} ; !′2 = {1 ;{6, 7, 8}} et !′3 = {9 ;{10, 11, 12}} et LS= {1, 5, 9}

D’après les deux vues du réseau aux instants ! !" !+1, nous remarquons que malgré ce changement de clusters des chefs (1) et (5) la relation d’équivalence totale est toujours satisfaite et donc il y a héritage total des paramètres de session.

Figure 4-3 : Migration d'un ancien chef de cluster vers un nouveau cluster avec maintien de son statut 4.4.1.2 Exemple 2 : Relation d’équivalence partielle ou héritage partiel

La Figure 4-4 présente un cas de scission de clusters. Le cluster !1 se divise en deux clusters !′4 et !′5.

Vue du réseau à l’instant (!+1) :

!′4 = {1 ;{2}} ; !′5 = {3 ;{4}} et !′3 = {9 ;{10, 11, 12}} et LS= {2, 3, 5, 9}

Figure 4-4 : Scission de cluster

Dans ce cas, le collecteur crée de nouvelles sessions pour les nouveaux clusters formés et supprime l’ancienne session attribuée à l’ancien cluster.

4.4.1.3 Exemple 3 : Fusion

Dans l’exemple de la Figure 4-5, nous retrouvons un cas de fusion de deux clusters !1 !" !2 en un nouveau cluster !′4 dont le chef de cluster (5) est celui d’un des deux clusters fusionnés.

Vue du réseau à l’instant (k+1) :

!′4 = {5 ;{1, 3, 4, 2, 6, 7, 8}} et !′3 = {9 ;{10, 11, 12}} et LS= {5, 9}

Figure 4-5 : Fusion de clusters

Dans ce cas l’algorithme détecte la fusion et attribue au nouveau chef de cluster un identifiant de session déduit des anciens identifiants de session attribués aux anciens chefs des clusters fusionnés.