Document Type

Theses, Masters


This item is available under a Creative Commons License for non-commercial use only


Peer-to-peer systems have existed since the first incarnation of the Internet. In recent times the Internet has taken on a more hierarchical form, power has been taken away from the individual and placed in the hands of operators of large servers. However, with the re-emergence of p2p the individual is gaining more freedom. End users attached to the Internet now have the power to host and publish content through the user of p2p technologies. Peer-to-peer systems present significant design challenges and have opened up a floodgate of research in an effort to overcome some of the fundamental problems. This thesis details a conceptual peer-to-peer design solution to some of the fundamental problems facing p2p systems today. A prototype is developed as a proof-of-concept. The prototype demonstrates how by enabling users to join communities of other like-minded users in order to exchange files, the p2p environment becomes more structured. It is argued that this structuring of the network into communities leads the way for a more scalable p2p system. Utilising the routing capabilities of the latest p2p algorithms, the prototype includes an indexing service that facilitates the creation of virtual rendezvous points for users with similar interests (manifested by shared keywords). Users are described by the content they store. By using state of the art Information Retrieval techniques users can be grouped together to content sensitive communities. It is intended that this system be used as the basis of a distributed archive of research papers. The concept presented seeks to improve the efficiency of file searches associated with p2p file sharing applications. This can be achieved by incorporating a novel content community service layer in order to organise nodes based on the content they store. This has the potential to improve on existing systems such as Gnutella where nodes are organised in a somewhat random fashion. Initial findings suggest that the system has better scalability properties giving the user better search results that reflect the true content available within the system. Search results are more comprehensive; as search queries on semantic meaning rather than literal matching.