A decentralized file synchronization tool
Nástroj pro decentralizovanou synchronizaci souborů
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/90457Identifiers
Study Information System: 177535
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Hušek, Radek
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
General Computer Science
Department
Department of Applied Mathematics
Date of defense
6. 9. 2017
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
synchronizace souborů, set reconciliation, fanotifyKeywords (English)
file synchronization, set reconciliation, fanotifyV práci zkoumáme problém synchronizace souborů s cílem zlepšení efek- tivity, škálovatelnosti, robustnosti, flexibility a bezpečnosti současných syn- chronizačních nástrojů. Vyřešíme několik podstatných podproblémů, které tomuto mohou pomoci, zejména v oblasti sledování změn souborového systému (online i offline) a peer-to-peer synchronizace souborových metadat. Ukážeme techniky pro rychlejší a spolehlivější hledání změn v souborových systémech. Rozšíříme fanotify, rozhraní linuxového jádra pro oznamování změn v sou- borovém systému, tak, aby dokázalo oznamovat více druhů událostí, zejména přejmenování souborů. Představíme originální řešení několika variant problému set reconciliation (synchronizace množin) a aplikujeme je na synchronizaci metadat. 1
We explore the problem of file synchronization, with the goal of improving on the efficiency, scalability, robustness, flexibility and security of current file synchronization tools. We solve several important subproblems that may help this, especially in the areas of filesystem change detection (both online and offline) and peer-to-peer synchronization of file metadata. We show techniques to make scanning a file system for changes faster and more reliable. We extend the Linux kernel's 'fanotify' filesystem change notification API to report more events, especially renames. We present several original solutions to the set reconciliation problem and its variants and apply them to metadata synchronization. 1