Peer-to-Peer computing principles and applications (Springer, 2010)