{'fraction_non_alphanumeric': 0.0322061191626409, 'fraction_numerical': 0.0, 'mean_word_length': 5.2462311557788945, '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}}
Survey of Locating & Routing in Peer-to-Peer Systems

Peer-to-peer computing is a term used to describe the current trend toward utilizing the full resources available within a widely distributed network of nodes with increasing computational power. These resources include the exchange of information, processing cycles, cache storage, and disk storage for files. Routing, locating and transmitting of resources, becomes an extremely important issue then. First steps toward robust peer-to-peer systems include extensions of centralized models of resource sharing (e.g. Napster), but more recent attempts acknowledge the limitations of such systems and also address issues of performance, reliability, scalability, maintenance, and usability. We focus on the problem of sharing data and in the context of these issues offer a survey of the following systems: Napster, Gnutella, TRIAD, Pastry, Plaxton, Tapestry, Chord, and CAN. The upshot is that we isolate what we see as both the crucial issues and solutions to the challenge of routing in the peer-to-peer environment, give a comparative summary for all systems. Finally based on framework and analysis, we propose some further questions and potential approaches for future investigation.