Adaptive resource location and query processing for Peer-to-Peer Networks