Despite that peer-to-peer systems have experienced an interest loss over the last years, enterprises in the technical sector are still introducing applications using these concepts. Besides having less scalability issues when extending their user base, such services also benefit from the lack of a single point of failure. Due to the high number of enterprises working with teams spread over different locations, the need of sharing documents emerges. But also individuals tend to own multiple electronic devices on which data must be kept consistent. To avoid centralised services on which data ownership is not guaranteed, users make use of peer-to-peer systems for synchronising documents among multiple devices.
The goal of this thesis aims at improving the previously developed peer-to-peer synchronisation and file sharing library Hive2Hive. This work develops a modularisation scheme to decouple existing functionality and uses direct communication to exchange files between participants of a network. Meta information about documents are kept directly on the peers itself whereas some data in relation to shared elements is persisted in a Distributed Hash Table.
On the one side, the built library abstracts the underlying storage implementation, allowing to develop storage adapters for different file system types to persist the synchronised data; on the other side, communication and exchange processes between multiple nodes are integrated, providing a simple developer interface for creating distributed file sharing applications.
Description:
Abstract
Despite that peer-to-peer systems have experienced an interest loss over the last years, enterprises in the technical sector are still introducing applications using these concepts. Besides having less scalability issues when extending their user base, such services also benefit from the lack of a single point of failure. Due to the high number of enterprises working with teams spread over different locations, the need of sharing documents emerges. But also individuals tend to own multiple electronic devices on which data must be kept consistent. To avoid centralised services on which data ownership is not guaranteed, users make use of peer-to-peer systems for synchronising documents among multiple devices.
The goal of this thesis aims at improving the previously developed peer-to-peer synchronisation and file sharing library Hive2Hive. This work develops a modularisation scheme to decouple existing functionality and uses direct communication to exchange files between participants of a network. Meta information about documents are kept directly on the peers itself whereas some data in relation to shared elements is persisted in a Distributed Hash Table.
On the one side, the built library abstracts the underlying storage implementation, allowing to develop storage adapters for different file system types to persist the synchronised data; on the other side, communication and exchange processes between multiple nodes are integrated, providing a simple developer interface for creating distributed file sharing applications.