Peer-to-peer systems represent a radical shift from the classical client-server paradigm in which a centralized server processes requests from all clients. In a peer-to-peer (P2P) system, every "peer" can play the role of a client and a server at the same time, hence sharing responsibilities among all parties. As in practice some peers or connecting links may be heavily loaded in comparison to others, load balancing algorithms are necessary to ensure a fair distribution of the load among participating peers. In this survey, we present load management solutions in P2P systems. According to the level at which they operate, we classify the different approaches into three categories: object placement, routing protocol, and underlay. The first two approaches tackle information lookup and retrieval in the overlay network, while the last one addresses traffic imbalance at the level of the underlying network.
['Pascal Felber', 'Peter Kropf', 'Eryk Schiller', 'Sabina Serbu']
Survey on Load Balancing in Peer-to-Peer Distributed Hash Tables