Section: New Results

Distributed Collaborative Systems

Starting with Web2.0 era, the web became easily writable and changeable, and nowadays, it is getting more real-time. Rather than requiring that users or their software check a source periodically for updates, real-time web is a paradigm based on the principle of pushing information to users as soon as it is available. We are faced with an explosion of real-time social software (Twitter, Facebook, etc.). Even if many social software are currently available, most of them rely on collaborative systems with a centralized architecture or authority and consequently suffer of intrinsic problems of centralization: lack of fault tolerance, poor scalability, costly infrastructure, problems of privacy.

Distributed collaborative systems (DCS) ease and coordinate collaboration among multiple users who jointly fulfill common tasks over computer networks without the need of a central architecture or authority .

We continued our work on migrating DCS to pure peer-to-peer architectures. This year we focussed on the real-time aspect of the collaboration. We evaluated replication mechanisms suitable for real-time collaboration over peer-to-peer architectures.

Moreover, peer-to-peer collaborative systems need revisiting traditional security models that prevent users from accessing to data and granted rights are checked before access is allowed. These access control mechanisms are too strict and they do not scale well in a peer-to-peer architecture. We make the assumption that an effective collaboration should rely on a flexible optimistic security model based on trust. This year we proposed a new collaboration model based on contracts where we rely on an optimistic security model. Rather than adopting an a priori strict enforcement of security rules, in this optimistic solution, access is given first to data without control but with restrictions that are verified a posteriori.

Evaluation of algorithms for Peer-to-Peer Real-time collaboration

Participants : Mehdi Ahmed-Nacer, Claudia Ignat, Gérald Oster, Hyun-Gul Roh, Pascal Urso.

Nowadays, real-time collaborative editing systems such as Etherpad or Google Docs became very popular. The operational transformation (OT) approach is a traditional optimistic replication mechanism that was used for real-time collaboration. Recently, Commutative Replicated Data Types (CRDTs) were introduced as a new class of replication mechanisms whose concurrent operations are designed to be natively commutative. CRDTs, such as WOOT, Logoot, Treedoc, and RGAs, are expected to be substitutes of replication mechanisms in collaborative editing systems.

We investigated the suitability of CRDTs for realtime collaborative editing [6] . To reflect the tendency of decentralized collaboration, which can resist censorship, tolerate failures, and let users have control over documents, we collect editing logs from real-time peer-to-peer collaborations. We provided a theoretical evaluation as well as an experimental one by replaying the editing logs on various CRDTs and OT algorithms implemented in the same environment. We found out that CRDT algorithms initially designed for peer-to-peer asynchronous collaboration are suitable for real-time collaboration. Moreover, they outperform some representative operational transformation approaches that were well established for real-time collaboration in terms of generation time, remote integration time and space complexity

Contract-based collaboration

Participants : Claudia Ignat, Hien Thi Thu Truong.

In the push-pull-clone collaborative editing model widely used in distributed version control systems users replicate shared data, modify it and redistribute modified versions of this data without the need of a central authority. However, in this model no usage restriction mechanism is proposed to control what users can do with the data after it has been released to them. We extended the push-pull-clone model with contracts that express usage restrictions and that are checked a posteriori by users when they receive the modified data [18] , [25] . We proposed a merging algorithm that deals not only with modifications on data but also with contracts. A log-auditing protocol [19] was used to detect users who do not respect contracts after they received data and to adjust user trust levels. The associated trust values can be computed by using any existing decentralised trust model. Our proposed contract-based model has been implemented and evaluated by using PeerSim simulator.