{'fraction_non_alphanumeric': 0.024975984630163303, 'fraction_numerical': 0.0009606147934678194, 'mean_word_length': 4.887005649717514, '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}}
Binary Search Tree: An Efficient Overlay Structure to Support Range Query

Finding an efficient and scalable solution for range query to discover the contents in the presence of transient node populations and heterogeneity among them is a well-known challenging problem in peer-to-peer (P2P) systems. Transient node population results in high churn rate and hence requires frequent updates in routing table, while heterogeneity causes unfair distribution of resources as well as responsibilities among nodes. We propose an overlay structure based on m- binary search tree (BST) that provides an efficient and scalable solution for point and range query. We arrange the whole key space in lexicographic order and divide it into different key intervals. Each key interval is assigned to a BST. We have achieved intra-group and inter-group query processing in O(log |Gj|) messages, where |Gj| is the number of nodes in the destination group. Our approach results in less overhead to update the routing table even in the case of high churn rate.