Les horloges de Lamport sont bien pour des réplications de serveurs (tu garde un pool de serveurs synchronisés), mais pour un fonctionnement sur un réseau asynchrone avec un nombre variable de nœuds, je ne pense pas que ce soit une bonne idée.
Pour la réplication on utilise généralement une diffusion totalement ordonnée. Selon le protocole (séquenceur fixe, mobile ou à base d'historique) on a, ou pas, des horloges de Lamports.
Il faut aussi prendre en compte l'éventualité d'une attaque du réseau. De ce que je crois savoir les horloges de Lamport supportent très mal les pannes byzantines.
Les seuls protocoles que je connais et qui soient tolérants (partiellement en général) aux fautes byzantines utilisent des concepts "way much complex" que les horloges de Lamports.
Ça m'intéresse. Je n'ai étudié que les grandes lignes des réseaux paire à paire (structuré ou non) avec comme problématique la recherche de ressources/documents. Comment fais-tu pour assurer le séquencement des messages ? À moins de s'amuser à modifier l'historique (te rendre compte que tu as un nouveau message qui est apparu 10min avant le dernier message que tu as délivré), je ne vois pas comment.
Alors en pair-à-pair : je n'ai jamais vu d'études la dessus. Et à priori j'ai bien creusé le problème :) Par contre un truc tout con pour délivrer les messages dans le même ordre (en modifiant l'historique localement si message en retard, ce qui ne devrait pas poser de problème pour les norloges) : tu établis un ordre sur les estampilles horaires et tu résous le conflit, en cas d'égalité, en utilisant l'identifiant de l'émetteur (en général un hash de @IP+port qui est donc unique).
[^] # Re: En fait...
Posté par vlamy . En réponse au journal Une tribune décentralisée est-elle possible?. Évalué à 3.
Pour la réplication on utilise généralement une diffusion totalement ordonnée. Selon le protocole (séquenceur fixe, mobile ou à base d'historique) on a, ou pas, des horloges de Lamports.
Alors en pair-à-pair : je n'ai jamais vu d'études la dessus. Et à priori j'ai bien creusé le problème :) Par contre un truc tout con pour délivrer les messages dans le même ordre (en modifiant l'historique localement si message en retard, ce qui ne devrait pas poser de problème pour les norloges) : tu établis un ordre sur les estampilles horaires et tu résous le conflit, en cas d'égalité, en utilisant l'identifiant de l'émetteur (en général un hash de @IP+port qui est donc unique).