The subject under discussion in my dissertation was Peer-to-Peer. I decided to approach it from two points of view. Firstly I wanted to uncover exactly what is happening in the world of peer-to-peer programming today. Who are the people that are designing P2P systems that will change the way we use our PC's and what is happening that may or may not affect the future direction of P2P network programming. I tackled this side of my project by looking at three distinctly unique yet similar programs ... Napster, Freenet and JXTA from Sun. All three of the above programs are very much in the public eye at the moment and I wanted to show how each is directly affecting or has affected P2P programming and how we already do and will in the future use it. Secondly I wanted to explore P2P programming myself, which is why I have spent 7 months working on a program that mimics (in a very basic fashion) a program like Freenet's. To this end I wrote a small program in Java called 'The Peernet Project' to help me better understand exactly how P2P works and also better my knowledge of the Java language.