Préservation des Intentions et Maintien de la Cohérence des Données Répliquées en Temps Réel. (Intention Preservation and Consistency Maintenance for Real-Time Replicated Data)

L'edition collaborative en temps reel permet a plusieurs utilisateurs d'editer un meme document simultanement grâce a des outils informatiques. Les applications d'edition collaborative en temps reel, telles GoogleDocs ou Etherpad, repliquent les donnees editees chez chaque utilisateur, pour garantir une edition des donnees reactive et possible a chaque instant. Les conflits d'edition sont frequents, et doivent etre geres automatiquement par l'application. L'application doit faire converger toutes les repliques vers un document commun, qui contient toutes les modifications exprimees par tous les utilisateurs. Les algorithmes actuels fonctionnent de maniere satisfaisante pour des types de donnees simples (des documents lineaires) et des possibilites d'edition minimes (inserer ou supprimer du texte). Lorsque le document est plus complexe (document XML, texte structure), ou qu'il peut etre edite avec un ensemble elargi d'operations (deplacement de texte, styliser du texte), lors de la resolution de conflits d'edition, les algorithmes echouent a proposer un contenu qui convienne aux utilisateurs. Les intentions des utilisateurs ne sont pas respectees. L'objectif de cette these est de proposer des algorithmes d'edition collaborative en temps reel qui respectent mieux les intentions des utilisateurs que les algorithmes actuels. La premiere contribution de cette these est un algorithme base sur l'approche des transformees operationnelles (OT), qui permet d'editer et de styliser du texte hierarchise tout en respectant les intentions de style, de deplacement ou d'insertion de texte ou de paragraphes. Cet algorithme a donne lieu a un transfert technologique pour un de nos partenaires industriels. La deuxieme contribution est basee sur l'approche des modeles de donnees repliquees commutatives (CRDT), et propose un algorithme capable de respecter l'intention de mise a jour d'un element, tout en ameliorant les performances globales de l'approche par rapport aux autres CRDTs. Notre algorithme a debouche sur la creation d'une application web d'edition collaborative en temps reel, en continuelle amelioration par notre equipe de recherche.

[1]  Wentong Cai,et al.  Transparent adaptation of single-user applications for multi-user real-time collaboration , 2006, TCHI.

[2]  David Sun,et al.  Leveraging single-user applications for multi-user collaboration: the coword approach , 2004, CSCW.

[3]  Ali A. Zaffer NetEdit: A Collaborative Editor , 2001 .

[4]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[5]  Pascal Molli,et al.  Wooki: A P2P Wiki-Based Collaborative Writing Tool , 2007, WISE.

[6]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[7]  Joonwon Lee,et al.  Parallel Distrib , 2022 .

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  Kjeld Schmidt,et al.  Proceedings of the international ACM SIGGROUP conference on Supporting group work: the integration challenge , 1997 .

[10]  Rui Li,et al.  A performance study of group editing algorithms , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[11]  Claudia-Lavinia Ignat,et al.  Evaluating CRDTs for real-time document editing , 2011, DocEng '11.

[12]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[13]  Jean Ferrié,et al.  Serialization of concurrent operations in a distributed collaborative environment , 1997, GROUP.

[14]  Pascal Molli,et al.  Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems , 2006, 2006 International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[15]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[16]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

[17]  Yves Robert,et al.  Parallel and distributed algorithms , 1989 .

[18]  Madhu C. Reddy,et al.  Proceedings of the 16th ACM international conference on Supporting group work , 2010, GROUP 2010.

[19]  Weihai Yu A string-wise CRDT for group editing , 2012, GROUP '12.

[20]  Tom Rodden,et al.  Proceedings of the 2002 ACM conference on Computer supported cooperative work , 2002 .

[21]  Arthur J. Bernstein,et al.  Efficient solutions to the replicated log and dictionary problems , 1984, PODC '84.

[22]  Matthias Ressel,et al.  An integrating, transformation-oriented approach to concurrency control and undo in group editors , 1996, CSCW '96.

[23]  Wendy A. Kellogg,et al.  Proceedings of the 2000 ACM conference on Computer supported cooperative work , 2000 .

[24]  Pascal Molli,et al.  Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

[25]  Claudia-Lavinia Ignat,et al.  Collaboration over Wiki Content , 2012 .

[26]  Joan Manuel Marquès,et al.  A Commutative Replicated Data Type for Cooperative Editing , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems.

[27]  Claudia-Lavinia Ignat,et al.  Supporting adaptable granularity of changes for massive-scale collaborative editing , 2013, 9th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[28]  Moira C. Norrie,et al.  Tree-based model algorithm for maintaining consistency in real-time collaborative editing systems , 2002 .

[29]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[30]  Nicolas Vidot,et al.  Copies convergence in a distributed real-time collaborative environment , 2000, CSCW '00.

[31]  David Sun,et al.  Context-Based Operational Transformation in Distributed Collaborative Editing Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[32]  G. Schnitger,et al.  Parallel and Distributed Algorithms , 2009 .

[33]  Pascal Molli,et al.  Logoot-Undo: Distributed Collaborative Editing System on P2P Networks , 2010, IEEE Transactions on Parallel and Distributed Systems.

[34]  Junwei Lu,et al.  Generalizing operational transformation to the standard general markup language , 2002, CSCW '02.

[35]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[36]  Achour Mostéfaoui,et al.  LSEQ: an adaptive structure for sequences in distributed collaborative editing , 2013, ACM Symposium on Document Engineering.

[37]  Michaël Rusinowitch,et al.  Proving Correctness of Transformation Functions in Real-Time Groupware , 2003, ECSCW.

[38]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

[39]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[40]  原田 秀逸 私の computer 環境 , 1998 .

[41]  M. AdelsonVelskii,et al.  AN ALGORITHM FOR THE ORGANIZATION OF INFORMATION , 1963 .

[42]  Carl Gutwin,et al.  The effects of workspace awareness support on the usability of real-time distributed groupware , 1999, TCHI.

[43]  Pascal Molli,et al.  Data consistency for P2P collaborative editing , 2006, CSCW '06.

[44]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[45]  Claudia-Lavinia Ignat,et al.  The twelfth international workshop on collaborative editing systems , 2012, CSCW.