With the recent growth of available information on the internet and the lack of internal structure linking this data a way of sharing information based not on hierarchy but on equality has to be found. The current situation has renewed interest, both from the scientific community and from the general public, in so called distributed networks. Distributed networks, also referred to as peer-to-peer or p2p networks, supply resources in a decentralized manner, thus acknowledging the fact that no internal hierarchy exists.
Although specific p2p networks have had major attention lately, the general idea is not new. Many proven systems, such as email and internet relay chat, have some form of independence built into their core. The widely popular applications designed specifically for sharing information amongst peers, on the other hand, have only emerged a few years ago. The most widely known implementation is the music sharing network Napster(1).
The strongpoint of Napster was very clear. Many more songs where made available through this network than anywhere else, including live recordings, bootlegs and rare takes. Unfortunately Napster suffered from a severe weakness, namely the chaotic nature of the system. The user had to search through an unordered bag of files.
Napster's irritating shortcomings can be dealt with in many ways. I've started this project about a year ago, when no alternative to the shutdown Napster network had fully emerged yet, with the idea to explore the possible solutions to the problem at hand. Since then many different p2p applications have been created, some of which have also tried to address the problem of ordering their contents. Taking into account both the implementations of others and my own results I'll try to answer the question what methods can be used to improve the usability of large scale p2p networks.