With a number of applications, peer-to-peer (P2P) computing is a form of distributed processing that continues to increase in use. This book provides a technical survey of existing P2P applications, various enabling technologies and protocols, and evolving research issues, such as network topology control and incentive providing mechanisms.