EN FR
EN FR


Section: New Results

Evaluation and Design of Consistency Maintenance Algorithms for Complex Data

Participants : Luc André, Quang Vinh Dang, Claudia-Lavinia Ignat, Gérald Oster, Pascal Urso.

Since the Web 2.0 era, the Internet is a huge content editing place on which users collaborate. Such shared content can be edited by thousands of people. However, current consistency maintenance algorithms seem not to be adapted to massive collaborative updating involving large amounts of contributors and a high velocity of changes. This year we continued our work on the evaluation of existing collaborative editing approaches and on the design of new algorithms that overcome limitations of state of the art ones. We designed new optimistic replication algorithms for maintaining consistency for complex data such as wikis and strings and we evaluated existing algorithms in large scale settings.

Wikis are one of the most important tools of Web 2.0 allowing users to easily edit shared data. However, wikis offer limited support for merging concurrent contributions on the same pages. Users have to manually merge concurrent changes and there is no support for an automatic merging. Real-time collaborative editing reduces the number of conflicts as the time frame for concurrent work is very short. We proposed extending wiki systems with real-time collaboration and designed an automatic merging solution adapted for rich content wikis [5]. Our merging solution is based on an operational transformation approach for which we defined operations with high-level semantics capturing user intentions when editing wiki content such as move, merge and split. Our solution is the first one that deals with high level operations, existing approaches being limited to operations of insert, delete and update on textual documents.

Over the last years we designed a CRDT-based consistency maintenance algorithm for strings  [20] for peer-to-peer large scale collaboration that is used by our MUTE collaborative editor which will be integrated in the virtual desktop of the OpenPaaS::NG project. This algorithm called LogootSplit can be seen as an extension for variable-sized elements (e.g. strings) of one of the first basic CRDT algorithms for unit elements (e.g. characters) proposed by our team called Logoot  [32]. Its principles are general and can be applied to other basic CRDT algorithms. This year we proposed another algorithm for strings based on the RGA algorithm [9].

By means of simulations we measured the delays in popular real-time collaborative editing systems such as GoogleDocs and Etherpad [12] in terms of the number of users that edit a shared document and their typing frequency. Delays exist between the execution of one user’s modification and the visibility of this modification to the other users. Such delays are in part fundamental to the network, as well as arising from the consistency maintenance algorithms and underlying architecture of collaborative editors. Results of this study support our team assertion that delay associated with conventional consistency maintenance algorithms will impede group performance.