SEARCH, REPLICATION AND GROUPING FOR UNSTRUCTURED P2P NETWORKS