• Aucun résultat trouvé

En considérant les protocoles épidémiques, il est possible de faire un parallèle entre (i) les différences de caractéristiques des protocoles de population et de communauté, et (ii) la nécessité d’identifier les nœuds dans les protocoles épidémiques. Cette observation nous a permis de proposer une première classification : PENA et PENI (représentant les protocoles épidémiques sur des nœuds anonymes et identifiables – cf. paragraphe 6.1.3, page 119).

Afin d’établir un parallèle précis entre ces protocoles et les modèles de population et de communauté, il est nécessaire d’étendre cette classification à une granularité plus fine.

6.3.1 Entre synchronisme et asynchronisme

Pour chacune des deux classes sus-citées, nous considérons deux sous-classes de proto- coles, caractérisées par le canal de communication. Nous considérons deux types complémen- taires que nous dénotons synchrone et asynchrone par la suite.

Dans notre modélisation, le canal synchrone est modélisé par des délais de transmission de messages bornés. Ainsi, nous pouvons considérer les communications comme atomiques i.e. le temps de transmission d’un message entre l’émetteur et le récepteur est négligeable. Dans ce cas, il est possible de considérer que l’exécution de l’échange d’information (i.e. exécu- tion parallèle des processus passif et actif lors d’un échange épidémique) est atomique égale- ment. Dans ce type de communication, il est donc possible de tirer profit de la périodicité des échanges (cf. description de l’algorithme épidémique, paragraphe 6.1, page 117).

À l’inverse, un canal de communication asynchrone ne conditionne pas le délai de transmis- sion d’un message. Ainsi, un message émis par un nœud peut être reçu par le nœud destinataire après un temps excessivement long. L’unique hypothèse imposée à ce modèle consiste en un délai de transmission fini. Tout message envoyé ne peux être différé indéfiniment.

Dans le cadre asynchrone, un nœud engageant un processus actif ne peut déterminer une borne de temps d’exécution de ce processus. Ainsi, il est nécessaire de décrire le comportement d’un nœud recevant une nouvelle requête d’échange alors qu’il est déjà engagé dans un autre échange. Étant donné que les nœuds sont représentés par des machines à états finis, nous ne pouvons considérer une temporisation de délivrance des messages dans ce contexte. En effet, la mémoire tampon permettant de stocker les messages en attente est également de taille finie.

6.3. Une classification des protocoles épidémiques 123

Algorithme 6.2 : Gestion des communications asynchrones

échangeCourant = faux;

1

tant que vrai faire

2

À la réception de la requête d’échange d’un nœud faire

3 si échangeCourant alors 4 Envoyer (Refus); 5 sinon 6 échangeCourant = vrai ; 7 Envoyer (Accept); 8

À la réception de la fin d’un échange faire

9

échangeCourant = faux ;

10

Ainsi, les délais de transmission pouvant être potentiellement élevés, cette mémoire tampon représente une source de débordement possible, et a fortiori de perte de message.

Afin de simplifier le cadre d’étude, et en présence d’une perte potentielle de message, nous modélisons les échanges des protocoles épidémiques comme exclusifs. Ce comportement est formalisé par l’algorithme 6.2. Ainsi, lorsqu’un nœud est en cours d’échange (i.e. échange- Courant = vrai), toute tentative de communication sera ignorée jusqu’à l’aboutissement de la procédure d’échange. Le refus ou l’acceptation de la procédure d’échange est envoyé au nœud initiateur afin que celui-ci ne reste pas en état d’attente indéfiniment. Comme nous ne considé- rons pas les défaillances dans notre modèle, tout message envoyé sera irrémédiablement reçu dans un temps fini par le nœud destinataire, et ainsi, aucun nœud ne restera indéfiniment en attente.

6.3.2 Puissances des classes de protocoles épidémiques

Cette différence de canal de communication entre les nœuds induit une inégalité des puis- sances de calcul des protocoles épidémiques, en fonction de la présence de synchronisme ou non. Ainsi, nous obtenons donc une nouvelle classification, plus fine que celle présentée au paragraphe 6.1, composée de quatre classes de protocoles distinctes :

syncPENA Communication synchrones et nœuds anonymes ; asyncPENA Communication asynchrones et nœuds anonymes ;

syncPENI Communication synchrones et nœuds identifiables ; asyncPENI Communication asynchrones et nœuds identifiables.

La figure 6.1 représente les ordres de puissances de ces quatre modèles, en fonction de l’anonymat des nœuds et du modèle de communication considéré.

D’une part, il est évident que la puissance de la classe des protocoles épidémiques avec identifiants est plus forte que celle sans identifiants. En effet, l’utilisation d’identifiants de nœuds permet de résoudre des calculs répartis impossibles dans un contexte d’anonymat (e.g. calcul d’exponentielle, construction de voisinage logique, etc.). Ainsi, nous avons :

Avec identifiants Sans identifiant Communications Asynchrones Communications Synchrones syncPENA asyncPENA syncPENI asyncPENI

FIG. 6.1 – Schématisation des relations de puissance des protocoles épidémiques.

D’autre part, au sein de la classe des protocoles épidémiques sans identifiant, il est possible de tirer profit de la périodicité des échanges afin d’augmenter la puissance de calcul de ces protocoles. Par exemple, il est possible avec syncPENA d’instaurer une notion de temps global du système, grâce à la structure en cycle, mais pas avec asyncPENA. Ainsi, il est trivial de conclure que :

asyncPENA ≺ syncPENA

Enfin, dans le cadre de PENI, nous montrons dans la preuve du lemme 6.4 (page 128) que l’identification des nœuds permet de simuler le synchronisme du canal de communication. D’où, nous avons :

asyncPENI ∼= syncPENI

Cette classification et les relations de puissance en résultant sont ainsi résumées en figure 6.1. Nous allons à présent montrer les liens des classes présentées ci-avant avec les protocoles de population et de communauté.

6.4 Combler le fossé entre les protocoles épidémiques et les proto-

coles de population

Pour résumer, dans PENA, l’échantillonnage de nœuds (PS) fournit un nœud destinataire, avec qui communiquer, à tout nœud initiant un processus actif d’échange, sans tenir compte des identifiants. Si le résultat du PS garantit que tout couple d’interaction peut indéfiniment advenir, alors un protocole de PENA ressemble à un protocole de population issu du modèle de base.

6.4. Combler le fossé entre les protocoles épidémiques et de population 125