In a peer-to-peer (P2P) system, nodes typically connect to a small set of random nodes (their neighbors), and queries are
propagated along these connections. Such query flooding tends to be very expensive. We propose that node connections be influenced
by content, so that for example, nodes having many “Jazz” files will connect to other similar nodes. Thus, semantically related
nodes form a Semantic Overlay Network (SON). Queries are routed to the appropriate SONs, increasing the chances that matching
files will be found quickly, and reducing the search load on nodes that have unrelated content. We have evaluated SONs by
using an actual snapshot of music-sharing clients. Our results show that SONs can significantly improve query performance
while at the same time allowing users to decide what content to put in their computers and to whom to connect.