{'fraction_non_alphanumeric': 0.021998166819431713, 'fraction_numerical': 0.00458295142071494, 'mean_word_length': 5.348837209302325, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Budget-based Popularity-aware Search mechanism in unstructured P2P networks

Traditional searching mechanisms in Gnutella-like unstructured P2P networks consume a large amount of network resources. Many observations and proposals have existed to improve search efficiency. It's well known that object popularity information plays an important role in allocating optimum recourse for each query. Budget-based search mechanism is good at obtaining finer-grain control of search scope in comparison with TTL-based search mechanisms. To combine these two aspects together, we propose a Budget-based Popularity-aware Search mechanism(BPS) in this paper. BPS utilizes a modified LogLog algorithm to count the number of replicas of an object in high accuracy, and the initial budget of each query is determined with the aid object popularity information. The results of simulation experiments show a significant performance improvement. BPS can reduce the average query traffic cost by up to 54.4% while achieving the same user satisfaction level, compared with native search mechanism in Gnutella.