There are currently no more open position in the context of the STREAMS project.
Reconciliation of Structured Documents in Real-Time Peer-to-Peer Environments
Nowadays we are faced with an explosion of real-time and social software such as wikis, blog, micro-blogs, and social networks services (Facebook, LinkedIn, Twitter, etc.). Real- time information delivery is emerging as one of the most important elements of our online experience. One of the representative social software offering the real-time feature is Google Wave, the new communication service developed by Google, that defines the wave as being equal parts conversation and document, where people can communicate and work together with richly formatted text, photos, videos and maps. All these social software are based on a centralised architecture. Besides issues of limited scalability, lack of shared administration costs and limited fault tolerance, data centralisation in the hands of a single vendor is an inherent threat to privacy. Our vision is to move away from centralised authority-based collaboration towards a distributed trust network where each user can decide with whom to share their data. Users define their network of trust containing people that they trust and with whom they wish to collaborate. Peer-to-peer networks support very well this model of collaboration. Structured model such as XML is a general model of representation of collaboration in social software. In order to provide a high responsiveness, data availability, reliability, scalability and fault tolerance, data is replicated. Optimistic replication approaches are used to maintain consis- tency of the different copies of the same data. These approaches tolerate divergence between copies after they have been modified and ensure that they will eventually converge.
The goal of this research project is to propose an efficient algorithm for the reconciliation of structured documents in real-time peer-to-peer environments. Concurrent edits in the structured documents might generate conflicts and cannot guarantee to maintain a correct structure. The reconciliation mechanism must detect and handle conflicts. The following steps are required:
- Study existing algorithms for maintaining consistency of linear structured documents in real-time collaboration in peer-to-peer networks (e.g. operational transformation and CRDT algorithms)
- Propose a novel efficient approach for the reconciliation of XML documents
- Define the notion of conflict in structured documents and extend the reconciliation approach to deal with conflicts
- Test the reconciliation mechanism in peer-to-peer network simulators and using traces of human produced collaboration
Replication and Consistency Maintenance for Real-time Editing in Peer-to-Peer Social Applications
Real-time social web applications are now central to our economies and every day life.
Real-time information delivery is fast emerging as one of the most important elements of our online experience. No more waiting for the Pony Express to deliver a parcel cross-country, no more waiting for web services to communicate from one polling instance to another. This is information being available to you at nearly the moment itís produced, whether youíre watching for it or not.
Source: Introduction to the Real-Time Web, ReadWriteWeb
Currently, all real-time social applications rely on a centralised architecture or on clouds. In some way clouds infrastructures give a solution to scalability issues but their support for collaborative editing of the same data remain very limited. Moreover privacy concerns on clouds are growing. Data that users have to put in the cloud are potentially locked out. Our objectives is to deploy real-time social applications on open peer-to-peer networks.
The goal of this PhD thesis is to build efficient replication and consistency maintenance algorithms for social real-time web applications. To achieve this objective we propose the following work plan:
- Literature survey on optimistic replication, with a focus on Commutative Replicated Data Types (CRDTs) and on the Operational Transformation (OT) approach.
- Collecting of requirements from inputs of industrial actor such as our XWiki partner but also from sources available on the web. The PhD student should expect to collect executions traces from public platform such as GoogleWave and GoogleBuzz.
- Design of novel consistency algorithms. These algorithms should be suitable regard- ing the peer-to-peer constraints (no central coordinator, huge amount of participants, large amount of data and updates of these data) but also the real-time aspect of the context (updates might be of different granularity, algorithm must permit a high- responsiveness of the system).
- Theoretical analysis of the proposed algorithms.
- Implementation of the proposed algorithms.
- Experimentation on different testbeds (Gridí5000, PlanetLab, etc.) with traces illus- trating real use cases.