A comprehensive study of the resource discovery techniques in Peer-to-Peer networks

Resource discovery is an important part of any distributed and resource sharing systems, like Peer-to-Peer (P2P) networks. In this paper we provide a comprehensive study and survey of the state of the art resource discovery techniques which have been used in P2P so far. We analyze and examine the resource discovery techniques into four main categories: unstructured, structured, super-peer and hybrid. We reviewed the major development in these four categories and outlined new challenges. This paper also provides a discussion of differences between considered techniques in terms of scalability, dynamicity, reliability, load balancing, response time and robustness in order to provide insights on the identification of open issues and provide guidelines for future researches.