Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Syncpal: A simple and iterative reconciliation algorithm for file synchronizers

: Shekow, M.


Pereira, J. ; International Federation for Information Processing -IFIP-:
Distributed Applications and Interoperable Systems. 19th IFIP WG 6.1 International Conference, DAIS 2019. Proceedings : Held as Part of the 14th International Federated Conference on Distributed Computing Techniques, DisCoTec 2019, Kongens Lyngby, Denmark, June 17-21, 2019
Hannover: IFIP, 2019 (Lecture Notes in Computer Science 11534)
ISBN: 978-3-030-22495-0 (Print)
ISBN: 978-3-030-22496-7 (Online)
ISBN: 3-030-22495-3
International Conference on Distributed Applications and Interoperable Systems (DAIS) <19, 2019, Lyngby>
International Federated Conference on Distributed Computing Techniques (DisCoTec) <14, 2019, Lyngby>
Fraunhofer FIT ()

Today file synchronizers are tools often used to facilitate collaboration scenarios and data management across multiple devices. They replicate the file system, e.g. from a cloud storage to a device disk, achieving convergence by only transmitting detected changes. A popular variant available in a plethora of products are state-based file synchronizers such as the Dropbox client. They detect operations by computing the difference between a previously persisted state and the respective current state. However, state-based synchronization is difficult because we need to detect and resolve conflicting operations as well as the propagation order of non-conflicting operations. This work presents Syncpal, an algorithm that reconciles two divergent file systems using an iterative approach. It first handles conflicts, one at a time, making sure that resolving one conflict does not negatively affect other ones, while avoiding conflicts whenever possible. It then finds order dependencies (and breaks cycles) between the remaining non-conflicting operations to avoid the violation of operation preconditions during propagation. This work is relevant for file synchronizer researchers and developers who want to improve their products with an algorithm whose iterative nature reduces the overall complexity and the probability of bugs. In addition to our proposed algorithm and a formal analysis of the underlying problem, our validation approach for the proposed algorithm includes the presentation of a full-scale implementation of an exemplary file system model.