Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title File synchronization with distributed version lists
Organization Unit
Authors
  • Alon Dolev
Supervisors
  • Abraham Bernstein
  • Matthew Cook
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 40
Date 2012
Abstract Text Many modern computer users have multiple storage devices and they would like to keep the most up-to-date versions of their documents on all of them. In order to solve this problem, we require a mechanism to detect changes made to files and propagate the most preferable one: A file synchronizer. Many existing solutions need a central server, depend on constant network connectivity, can only synchronize in one way and bother the user with already- resolved version conflicts. We present a novel algorithm which allows for an optimistic, peer-to-peer, multi-way, asynchronous and optimal file synchronizer. It thus allows for changes in disconnected settings, does not require a central server, may synchronize any subset of the synchronization network at any time and it will not report false-positive conflicts. The algorithm improves on the well-known concept of version vectors presented by Parker et al. by allowing for conflict-resolution propagation. We do so by storing an additional bit of information for every version vector element. It is a more space-efficient solution to this propagation problem than the “vector time pairs” presented by Cox et al. and further, it is not restricted to one-way synchronization. We additionally present a novel user interface concept allowing for convenient handling of synchronization patterns. Based on these ideas we developed the file synchronizer McSync in order to show the feasibility of our approach.
Zusammenfassung Viele Computer-Nutzer sichern ihre Daten heutzutage auf mehreren Geräten und möchten diese stets auf dem neusten Stand halten können. Die Lösung dieses Problems benötigt einen Mechanismus, welcher Änderungen in Daten erkennen kann und dann jeweils nur jene auch aktualisiert. Viele solcher Daten-Abgleichungs-Tools, auch Filesynchronizer genannt, benötigen einen zentralen Server, sind netzabhängig, können nur in eine Richtung abgleichen und melden wiederholt bereits gelöste Versionskonflikte. Wir haben einen neuen Algorithmus entwickelt, welcher ein optimistisches, peer-to-peer, multidirektionales, asynchrones und optimales Filesynchronizing erlaubt. Ein solcher Filesynchronizer lässt Änderungen im unverbundenen Zustand zu, benötigt keinen zentralen Server, ist jederzeit in der Lage auch nur Teile der Daten abzugleichen und meldet keine falschen Versionskonflikte. Unser Algorithmus verbessert das bekannte Konzept der Versionenvektoren, welche von Parker et al. eingeführt wurde, dadurch, dass es bereits gelöste Versionenkonflikte übertragen kann. Dies wird mit Hilfe eines zusätzlichen Bits per Vektoreintrag erreicht. Die existierende Lösung dieses Problems - die Vektoren-Zeit-Paare («vector time pairs») - benötigt mehr Speicher und ist zudem beschränkt auf unidirektionale Abgleichung. Zusätzlich präsentieren wir ein neues Konzept für Benutzerschnittstellen eines solchen Filesynchronizers. Basiert auf den eben vorgestellten Ideen haben wir den Filesynchronizer «McSync»entwickelt und so die Machbarkeit der hier neu vorgestellten Konzepte gezeigt.
PDF File Download
Export BibTeX