Several Peer-to-Peer (P2P) protocols and applications have been developed to allow file distribution/sharing, video and music streaming, and data and information dissemination. These P2P systems are regularly used by a large number of users, both in desktop and mobile environments, and they generate a remarkable portion of the overall Internet traffic. However, many common P2P protocols and applications were designed neglecting the energy problem. In fact, they often require always-on devices in order to work properly, thus producing significant energy waste. The problem is even more relevant in the mobile context, since the battery lifetime of mobile devices is limited. Therefore, energy efficiency in P2P systems is a highly debated topic in the literature. New P2P approaches—more energy efficient than traditional client/server solutions—have been proposed. In addition, several improvements to existing P2P protocols have been introduced to reduce their energy consumption. In this article, we present a general taxonomy to classify state-of-the-art approaches to the energy problem in P2P systems and applications. Then, we survey the main solutions available in the literature, focusing on three relevant classes of P2P systems and applications:
file sharing/distribution
,
content streaming,
and
epidemics
. Furthermore, we outline open issues and provide future research guidelines for each class of P2P systems.