Skip to Main Content
The essence of the peer-to-peer design philosophy is to design protocols for end hosts, or “peers”, to work in collaboration to achieve a certain design objective, such as the sharing of a large file. From a theoretical perspective, it has been recognized that the peer-to-peer design paradigm resembles gossip protocols, and with appropriate algorithmic design, it maximizes the network flow rates in multicast sessions. Over the past ten years, research on peer-to-peer computing and systems, a unique and intriguing category of distributed systems, has received a tremendous amount of research attention from academia and industry alike. Peer-to-peer computing eventually culminated in a number of successful commercial systems, showing the viability of their design philosophy in the Internet. The peer-to-peer design paradigm has pushed all design choices of innovative protocols to the edge of the Internet, and in most cases to end hosts themselves. It represents one of the best incarnation of the end-to-end argument, one of the frequently disputed design philosophies that guided the design of the Internet. Yet, research on peer-to-peer computing has recently receded from the spotlight, and suffered from a precipitous fall that was as dramatic as its meteoric rise to the culmination of its popularity. This article presents a cursory glimpse of existing results over the past ten years in peer-to-peer computing, with a particular focus on understanding what has stimulated its rise in popularity, what has contributed to its commercial success, and eventually, what has led to its precipitous fall in research attention. Our insights in this article may be beneficial when we develop our thoughts on the design paradigm of cloud computing.