A content-oriented approach to topology evolution and search in peer-to-peer systems