46 research outputs found
Scalable XML Collaborative Editing with Undo short paper
Commutative Replicated Data-Type (CRDT) is a new class of algorithms that
ensures scalable consistency of replicated data. It has been successfully
applied to collaborative editing of texts without complex concurrency control.
In this paper, we present a CRDT to edit XML data. Compared to existing
approaches for XML collaborative editing, our approach is more scalable and
handles all the XML editing aspects : elements, contents, attributes and undo.
Indeed, undo is recognized as an important feature for collaborative editing
that allows to overcome system complexity through error recovery or
collaborative conflict resolution
Research report : Collaborative Peer 2 Peer Edition: Avoiding Conflicts is Better than Solving Conflicts
Collaborative edition is achieved by distinct sites that work independently
on (a copy of) a shared document. Conflicts may arise during this process and
must be solved by the collaborative editor. In pure Peer to Peer collaborative
editing, no centralization nor locks nor time-stamps are used which make
conflict resolution difficult. We propose an algorithm which relies on the
notion or semantics dependence and avoids the need of any integration
transformation to solve conflicts. Furthermore, it doesn't use any history file
recording operations performed since starting the edition process. We show how
to define editing operations for semi-structured documents i.e. XML-like trees,
that are enriched with informations derived for free from the editing process.
Then we define the semantics dependence relation required by the algorithm and
we present preliminary results obtained by a prototype implementation.Comment: 12 page
Proving Correctness of Transformation Functions in Real-Time Groupware
Colloque avec actes et comité de lecture. internationale.International audienceOperational transformation is an approach which allows to build real-time groupware tools. This approach requires correct transformation functions. Proving the correction of these transformation functions is very complex and error prone. In this paper, we show how a theorem prover can address this serious bottleneck. To validate our approach, we have verified the correctness of state-of-art transformation functions defined on Strings with surprising results. Counter-examples provided by the theorem prover have helped us to define new correct transformation functions for Strings
Improving Textual Merge Result
International audienceIn asynchronous collaborative systems, merging is an essential component. It allows to reconcile modifications made concurrently as well as managing software change through branching. The collaborative system is in charge to propose a merge result that includes user's modifications. The users now have to check and adapt this result. The adaptation should be as effort-less as possible, otherwise, the users may get frustrated and will quit the collaboration. The objective of this paper is to improve the result quality of the textual merge tool that constitutes the default merge tool of distributed version control systems. The basic idea is to study the behavior of the concurrent modifications during merge procedure. We identified when the existing merge techniques under-perform, and we propose solutions to improve the quality of the merge. We finally compare with the traditional merge tool through a large corpus of collaborative editing
On Coordinating Collaborative Objects
A collaborative object represents a data type (such as a text document)
designed to be shared by a group of dispersed users. The Operational
Transformation (OT) is a coordination approach used for supporting optimistic
replication for these objects. It allows the users to concurrently update the
shared data and exchange their updates in any order since the convergence of
all replicas, i.e. the fact that all users view the same data, is ensured in
all cases. However, designing algorithms for achieving convergence with the OT
approach is a critical and challenging issue. In this paper, we propose a
formal compositional method for specifying complex collaborative objects. The
most important feature of our method is that designing an OT algorithm for the
composed collaborative object can be done by reusing the OT algorithms of
component collaborative objects. By using our method, we can start from correct
small collaborative objects which are relatively easy to handle and
incrementally combine them to build more complex collaborative objects.Comment: In Proceedings FOCLASA 2010, arXiv:1007.499
A Constraint-based Approach for Generating Transformation Patterns
Undoing operations is an indispensable feature for many collaborative
applications, mainly collaborative editors. It provides the ability to restore
a correct state of shared data after erroneous operations. In particular,
selective undo allows to undo any operation and is based on rearranging
operations in the history thanks to the Operational Transformation (OT)
approach. OT is an optimistic replication technique allowing for updating the
shared data concurrently while maintaining convergence. It is a challenging
task how to meaningfully combine OT and undo approaches. Indeed, undoing
operations that are received and executed out-of-order at different sites leads
to divergence cases. Even though various undo solutions have been proposed over
the recent years, they are either limited or erroneous.
In this paper, we propose a constraint-based approach to address the undo
problem. We use Constraint Satisfaction Problem (CSP) theory to devise correct
and undoable transformation patterns (w.r.t OT and undo properties) which
considerably simplifies the design of collaborative objects.Comment: In Proceedings FOCLASA 2015, arXiv:1512.0694
An efficient consistency management algorithm for real-time mobile collaboration
Real time mobile collaboration involves two or more co-workers operating concurrently on a shared document using independent mobile devices. The replicated architecture is attractive for such applications since it does not rely on a central server and a user can continue to work on his or her own local document replica even during disconnection period. Several consistency management algorithms have been proposed, however the resource usage of such algorithms, which is critical in a mobile environment, has not been formally studied. Mobile devices are constrained in terms of memory and processing power, and operate in networking environments with limited bandwidth and transient connectivity. Therefore, algorithms that use resources more effectively improve the quality of the user experience in a mobile environment. ISO 9126-1 considers software to be efficient if it provides a balance between performance, and resource utilisation while performing its function. Therefore, this paper evaluates the efficiency of existing techniques, and proposes a more efficient consistency management algorithm. The new algorithm leverages existing techniques which are shown to be efficient and incorporates a novel history management strategy called partial history copy. Different combinations of these techniques are tested and compared to determine which one is most efficient and thus suitable for mobile usage
Edition collaborative sur réseau pair-à -pair à large échelle
http://www.ece.fr/cdur2005Un éditeur collaboratif synchrone permet à plusieurs utilisateurs d'éditer les mêmes données au même moment depuis différents sites répartis sur Internet. Pour garantir un temps de réponse minimum, les données sont répliquées de manière optimiste. Il n'y a ni verrou, ni protocole de sérialisation. Si les utilisateurs génèrent des opérations concurrentes, le système doit assurer que les répliques convergent vers le meilleur état possible. WOOT est un algorithme de réplication optimiste adapté aux éditeurs collaboratifs. Il assure la convergence des répliques et préserve les intentions. WOOT est plus simple et plus efficace que les approches existantes. WOOT ne nécessite pas de vecteur d'horloges et peut être déployé massivement sur un réseau P2P
Keynote: From groupware to large-scale trustworthy distributed collaborative systems
International audienceDistributed collaborative systems allow users to collaborate on a set of shared documents from any place, at any time and from any device. Examples of collaborative systems are wikis, version control systems or GoogleDrive. While 30 years ago when these collaborative systems were firstly developed they were used in scenarios involving only a small set of users such as for the writing of a research article, nowadays we notice a change in the scale from several users to a community of users. The large-scale collaboration is now possible due to advances in mobile and ubiquitous communication that enable users to be continuously connected and to the appropriation of existing tools by the users. However, existing collaborative systems face several challenges including privacy issues as personal user information is placed in the hands of large corporations and users have little control over the usage of their data, performance and coordination issues in the large-scale context. In this talk we will illustrate the evolution of collaborative systems in the past years and describe our vision of trustworthy distributed collaborative systems where communities of users can safely and confidently collaborate without the use of a central authority. We will focus on envisaged solutions for replicated data consistency, security, trust and awareness in this context. As human factor is a key issue in the design of trustworthy distributed collaborative systems, we call for the need of evaluation of these systems with user studies