The Client/Server architecture for computing systems was first proposed in the late 1980s as an alternative to conventional mainframes. Processing in the mainframe quickly becomes a bottleneck in any system. Client/server models shift the processing burden to the client computer. Through workload sharing, client/server systems can improve efficiency while reducing costs. Companies are again searching for ways to improve their processing power without further investment in new hardware and software. Many client computers are idle most of the time, and have unused disk space. The next logical step is to maximise the use of these computers. The peer-to-peer (P2P) model is the answer. A new and simple peer-to-peer model will be introduced in this book, which will teach readers to install peer-to-peer systems in which users can share their computing power. The target readers are those who have basic Java knowledge and are interested in building (or testing the performance of) peer-to-peer systems.