{'fraction_non_alphanumeric': 0.020813623462630087, 'fraction_numerical': 0.003784295175023652, 'mean_word_length': 5.187134502923977, '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}}
Maintaining Update Consistency in Replicated Peer-to-Peer Systems

Peer-to-peer (P2P) systems have become a popular medium through which to share huge amounts of data. On the basis of network topology, P2P systems are divided into three types: centralized, structured distribution, and unstructured distribution. Unstructured P2P systems such as Gnutella are novel in the sense that they are extensible and reliable. However, as the number of participating nodes increases, unstructured P2P systems suffer from the high complexity of search operations that have to scan the network to find the required data items. Efficient replication of data items can reduce the complexity, but it introduces another problem of maintaining consistency among replicated data items when each data item could be updated. In this paper, we propose a new update propagation algorithm that propagates an updated data item to all of its replica. The proposed algorithm can reduce the message transfer overhead by adopting the notion of timestamp and hybrid push/pull messaging.