Une application de collaboration permet à plusieurs individus de
coéditer un contenu.
Les infrastructures pair-à-pair de collaboration visent à la conception
d’applications hautement disponibles, aux latences faibles, qui tolèrent
les partitions réseaux, et qui passent à l’échelle.
Chaque pair (individu) modifie sa propre copie du contenu.
La modification concurrente des copies conduit à leur divergence.
Les protocoles de réplication sont responsables de la convergence des
copies.
Ces protocoles supposent l’absence de pairs malintentionnés qui
compromettent la convergence des copies.
Pouvons-nous protéger la convergence des copies et préserver les
propriétés des infrastructures pair-à-pair ?
Nous proposons deux protocoles qui protègent la convergence des copies.
Le premier protocole maintient un journal répliqué et infalsifiable qui
enregistre les modifications du contenu.
Les pairs conservent l’intégralité du journal pour déjouer les attaques
des pairs malintentionnés et pour le transmettre à ceux qui rejoignent
la collaboration.
Le second protocole permet aux pairs de tronquer leur journal.
La troncature du journal repose sur le concept de Stabilité.
Une modification devient stable lorsque toute modification intégrée dans
le journal dépend d’elle.
Pour rejoindre la collaboration, un pair récupère une copie et un
journal tronqué.
Il vérifie l’authenticité de la copie à partir du journal tronqué.
Un type de données répliquées (CRDT) encapsule un protocole de réplication.
Les CRDTs séquences supposent généralement un ordre d’intégration causal
des modifications du contenu.
Le retard d’une modification propage des ralentissements dans l’ensemble
du système.
La connexion d’un pair peut engendrer l’intégration de nombreuses
modifications.
Pouvons-nous éliminer ces ralentissements et ces intégrations coûteuses ?
Nous formalisons une famille de CRDTs séquences et nous proposons une
approche qui permet leur synchronisation par différences d’états.
Les différences d’états peuvent être intégrées dans un ordre arbitraire
et résumer plusieurs modifications.
Nous proposons un CRDT séquence qui tire avantage de notre approche.
Jury
—-
Rapporteur·ice·s :
Emmanuelle Anceaume, directrice de recherche IRISA
Pascal Molli, professeur à l’Université de Nantes
Frederik Vercauteren, KU Leuven,
Belgique
Examinateur·ice·s :
Steve Kremer, directeur de recherche Inria Grand Est
Esther Pacitti, professeure à l’Université de Montpellier 2
Superviseurs :
François Charoy, professeur à l’Université de Lorraine
Gérald Oster, maître de conférence à l’Université de Lorraine