02.06.2013 Views

Implementing a Distributed Peer to Peer File Sharing System ... - Umbc

Implementing a Distributed Peer to Peer File Sharing System ... - Umbc

Implementing a Distributed Peer to Peer File Sharing System ... - Umbc

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHEWBACCA Baker, Fink, Trimm, Whisman<br />

Abstract<br />

We implemented a distributed, peer-<strong>to</strong>-peer file system in Java using the Chord pro<strong>to</strong>col<br />

for efficient location of files s<strong>to</strong>red across a network. Chord is a distributed key lookup<br />

technique that scales logarithmically with an increase in the number of s<strong>to</strong>rage nodes.<br />

Initially, we discovered problems with the Chord algorithms, and pro<strong>to</strong>typed corrections<br />

<strong>to</strong> verify the changes. To implement the file sharing system, a Sockets-based messaging<br />

framework was implemented in Java, using command line interfaces and an FTP-like file<br />

push/pull semantics. The file system enables distributed peers <strong>to</strong> present a virtual single<br />

direc<strong>to</strong>ry <strong>to</strong> users while sharing file load across different platforms. Using the<br />

application, we verified the claimed messaging performance of the basic Chord algorithm<br />

<strong>to</strong> be close <strong>to</strong> Mlog(N) behavior in an average case. The algorithms were modified <strong>to</strong> do<br />

locally-optimal balanced node joins, and experiments showed a 20% improvement in<br />

load balancing fairness over the standard, unbalanced algorithms. We designed<br />

algorithm modifications <strong>to</strong> support concurrent joins and leaves of the Chord cloud using a<br />

variant on Raymond’s tree-based distributed mutual exclusion algorithm, and informally<br />

proved some safety and liveness properties of the implemented balance and proposed<br />

<strong>to</strong>ken-based mutual exclusion algorithms. During the investigation, several<br />

improvements were suggested for the Chord-based file system, including distributed<br />

mutual exclusion with quorum voting, security, replication, and other enhancements.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!