Structured peer-to-peer systems are popular solutions for large scale distributed computing and query processing. Heterogeneity
among peers calls for peer virtualization to maintain a simple, yet powerful peer-to-peer overlay network. Nevertheless, peer
virtualization generates a huge number of virtual peers and causes the unnecessary communication overhead in the routing process.
In this paper, we propose a new peer-to-peer routing algorithm that reduces the number of hops of message forwarding and improves
the performance of routing. We study the new and previous algorithms from the analytical perspective and through simulations.
It shows that the average number of hops per query is improved by 15% to 25% in our algorithm. In addition, we propose a Top-k
peer selection algorithm for load balancing to find out the top k best available nodes in the P2P network with 2(N-1) messages
within 2O(logN) hops. (N is the number of physical nodes.) The load balancing scheme is based on multiple factors which could
be optimized on cost, proximity, reputation and other factors.