Hive2Hive - An Open-Source Library for Distributed File Synchronization and Sharing

Hive2Hive - An Open-Source Library for Distributed File Synchronization ...

Sebastian Golaszewski & Christian Lüthold & Nico Rutishauser

Language: English

url

Published: Mar 6, 2014

BibTeX: thesis
Worte: 33808
Seiten: 65
FRE: 9
GFI: 7
FKGL: 19

Description:

Abstract

Although peer-to-peer systems have found less attraction over the last years, they still account for a large part of the overall Internet traffic. Most of this traffic is related to file sharing activity that is made possible by numerous decentralized services. Another bservable trend is the increasing number of devices connected to the Internet. Since users usually tend to possess multiple devices, the need for synchronization mechanisms is rising. Various services emerged in the last couple of years in order to dissolve this pervasive user requirement. However, these solutions are mostly based on centralized client-server approaches and thus store all user data in external data centers. There, personal and private data is often adversely deposited in an unencrypted manner so that owners cannot know who else might have access to it and thus causing a loss of user control. Furthermore, such centralized systems suffer from the single-point-of-failure property and hence are vulnerable to targeted attacks.

The mission of this project is to develop an open-source Java library that aims at distributed file synchronization and sharing tasks, while ensuring maximum user and data security. The fundamental ambition is to offer the same user experience that is already known from popular, centralized services, while profiting from the advantages of a decentralized peer-to-peer system.

The resulting Hive2Hive project represents the corresponding implementation. It is a free and easy-to-use library that supports all required user and file operations. Total decentralization is achieved by building functionality on top of a distributed hash table. The library takes full responsibility of all network interaction and thus provides the necessary level of abstraction. Moreover, the Hive2Hive library is designed to be easily extendable for other services that intend to profit from decentralized properties and, at the same time, enrich its set of supported operations. So as to provide fundamental documentation and guidance for the library, an appealing project website has been created and published.