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 / Amoretti, Michele; Zanichelli, Francesco. - In: PEER-TO-PEER NETWORKING AND APPLICATIONS. - ISSN 1936-6442. - 11:3(2018), pp. 518-547. [10.1007/s12083-017-0551-y]

P2P-PL: A pattern language to design efficient and robust peer-to-peer systems

AMORETTI, Michele;ZANICHELLI, Francesco
2018

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 / Amoretti, Michele; Zanichelli, Francesco. - In: PEER-TO-PEER NETWORKING AND APPLICATIONS. - ISSN 1936-6442. - 11:3(2018), pp. 518-547. [10.1007/s12083-017-0551-y]
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11381/2823294
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 6
  • ???jsp.display-item.citation.isi??? 4
social impact