{'fraction_non_alphanumeric': 0.02245088868101029, 'fraction_numerical': 0.0, 'mean_word_length': 5.993464052287582, '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}}
Peer-to-peer distributed computing framework

Public-Resource Computing (PRC) is an innovative approach to high performance computing that depends on volunteers who contribute their personal computers, where underutilized computing resources are collected and used for computationally intensive research projects. Existing systems basically operate on centralized clusters of nodes to achieve high performance. However, these centralized clusters of nodes can be unrealistic for users who infrequently have a demand of solving large distributed problems. Therefore, large-scale computation time-sharing systems need a decentralized architecture. Peer-to-peer systems are modelled around the assumption that all peers willingly contribute resources to a global pool. This dissertation presents design requirements of sharing the workload among many computational nodes, peer management, and most importantly peer failure management for improving fault tolerance. It represents a Java based peer-to-peer distributed computing framework that allows cross-platform support.