Les éditeurs collaboratifs permettent à des utilisateurs éloignés de collaborer à une tâche commune qui va de l'utilisation d'un agenda partagé à la réalisation de logiciels. Ce concept est né avec SCCS en1972 et connait un engouement récent (ex: Wikipedia). L'absence de centralisation et l'asynchronisme sont des aspects essentiels de cette approche qui relève d'un modèle pair-à-pair (P2P). D'un autre côté,le format XML est devenu une référence pour la manipulation et l'échange de documents. Notre travail vise à la réalisation d'un éditeur collaboratif P2P pour l'édition de documents semi-structurés qui sont une abstraction du format XML. Le problème est difficile et de nombreuses propositions se sont révélées erronées ou ne passant pas à l'échelle. Nous rappelons les concepts et l'état de l'art sur l'édition collaborative, les modèles centralisés et le P2P. Ensuite, nous explorons deux approches différentes : les transformées opérationnelles et le CRDT (Commutative Replicated Data Type) avec différentes structures de données arborescentes. L'objectif est de réaliser les opérations de base (ajout, suppression et ré-étiquetage) tout en garantissant la convergence du processus d'édition. Nous proposons un algorithme générique pour l'approche CRDT basée sur une notion d'indépendance dans la structure de données. Nous avons étendu nos travaux afin de réaliser l'opération de déplacement d'un sous-arbre et de prendre en compte le typage XML. Peu de travaux abordent ces deux points qui sont très utiles pour l'édition de documents. Finalement, nous donnons les résultats expérimentaux obtenus avec un prototype permettant de valider notre approche. / Collaborative editors allow different users to work together on a common task. Such tasks range from using a shared calendar to realizing software programmed by users located at distant sites. This concept was invented in 1972 with SCCS. In the last years, this paradigm became popular (ex. Wikipedia). Decentralization and asynchronicity are essential in this approach, leading to peer-to-peer (P2P) models. Meanwhile, the XML format has arrived as the de facto standard for editing and exchanging documents. Our work aims at defining a collaborative editor for semi-structured documents, which provide an abstraction of the XML format. The problem is difficult since many previous approaches are flawed or not scalable. Firstly,we describe the basic concepts on collaborative edition and network models and we give the state of the art of this topic. Then, we investigate two different approaches : the operational transformation(OT) approach and the Commutative Replicated Data Type (CRDT) approach for different (tree-like) data structures. Our goal is to ensure the convergence of the editing process with the basic operations (Add, Deland rename a node. We have proposed a new generic algorithm based on semantic independence in data structure for CRDT approach. We have extended our results by dealing with the operation that moves a subtree and with XML schema compliance. Few works have been devoted to these extensions which are useful in collaborative edition. Finally, we provide experimental results obtained from our implementation that validate our approach.
Identifer | oai:union.ndltd.org:theses.fr/2011AIX10063 |
Date | 08 September 2011 |
Creators | Martin, Stéphane |
Contributors | Aix-Marseille 1, Lugiez, Denis |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0021 seconds