PaperSwipe

P2P-PL: A Pattern Language to Design Efficient and Robust Peer-to-Peer Systems

Published 9 years agoVersion 1arXiv:1606.07876

Authors

Michele Amoretti, Francesco Zanichelli

Categories

cs.DC

Abstract

To design peer-to-peer (P2P) software systems is a challenging task, because of their highly decentralized nature, which may cause unexpected emergent global behaviors. The last fifteen years have seen many P2P applications to come out and win favor with millions of users. From success histories of applications like BitTorrent, Skype, MyP2P we have learnt a number of useful design patterns. Thus, in this article we present a P2P pattern language (shortly, P2P-PL) which encompasses all the aspects that a fully effective and efficient P2P software system should provide, namely consistency of stored data, redundancy, load balancing, coping with asymmetric bandwidth, decentralized security. The patterns of the proposed P2P-PL are described in detail, and a composition strategy for designing robust, effective and efficient P2P software systems is proposed.

P2P-PL: A Pattern Language to Design Efficient and Robust Peer-to-Peer Systems

9 years ago
v1
2 authors

Categories

cs.DC

Abstract

To design peer-to-peer (P2P) software systems is a challenging task, because of their highly decentralized nature, which may cause unexpected emergent global behaviors. The last fifteen years have seen many P2P applications to come out and win favor with millions of users. From success histories of applications like BitTorrent, Skype, MyP2P we have learnt a number of useful design patterns. Thus, in this article we present a P2P pattern language (shortly, P2P-PL) which encompasses all the aspects that a fully effective and efficient P2P software system should provide, namely consistency of stored data, redundancy, load balancing, coping with asymmetric bandwidth, decentralized security. The patterns of the proposed P2P-PL are described in detail, and a composition strategy for designing robust, effective and efficient P2P software systems is proposed.

Authors

Michele Amoretti, Francesco Zanichelli

arXiv ID: 1606.07876
Published Jun 25, 2016

Click to preview the PDF directly in your browser