Handling replication in mobile environments

Network disconnections inherent to wireless networks can lead to divergences between multiple copies of the same data, both in client-server and in collaborative environments. We are designing algorithms and software infrastructure, suited to mobile environments, for solving this problem. Reconciliation algorithms are based on operational transformation paradigm.

Previous work in this area started by the design of a flexible software infrastructure able to support both eager (synchronous) consistency and lazy (asynchronous) consistency, with the same programming interface. In order to do so, we have been designing a generic software switch that can be interposed on the path between a sender entity and one or more receiver entities. This switch may be particularly useful for handling mobile devices, by transparently switching from synchronous communication to asynchronous communication when the target device is unreachable [Buda02a,Buda02c]. A prototype of the synchronous/asynchronous switch has been developed in order to evaluate the benefits of this mechanism [Buda02b,Buda02d,Buda03b,Buda03a].

We are investigating the potential contribution of the operational transformations for designing reconciliation algorithms adapted to the characteristics of mobile wireless computing [Deba03]. To this end, we have been adapting an algorithm used in synchronous mode for collaborative work (the SOCT4 algorithm) to mobile contexts, where network connectivity is not permanently available. The challenge is to behave according to multi-synchronous mode, in which connection phases altern with disconnection phases. We take benefit of connectivity periods for broadcasting local modifications to reachable peers, and to receive from these peers the journal of their modifications. Through operational transforms, the modifications are inserted in the right place in a suitable form, in order to achieve eventually the convergence of the replicas [Chat04c,Chat04a]. This algorithm is fully decentralized, for stamp management as well as for dynamic group management. Moreover, the several logical blocks of the algorithm have been gathered in a Fractal composite component, in order to be integrated in a middleware as a non-functional service, allowing application developers to easily use this service if the application needs it [Chat05]. An implementation in the OpenCCM middelware is ongoing [Chat04d], and a sample demonstrator in the emergency services area is being set up [Chat04b,BA05].

This work is being developed within the french-finnish AMPROS project.

Guy.Bernard@int-evry.fr 2005-03-03