{'fraction_non_alphanumeric': 0.015777610818933134, 'fraction_numerical': 0.0, 'mean_word_length': 5.594059405940594, '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}}
Atomic Data Access in Content Addressable Networks A Position Paper

While recent proposals for content addressable networks address the crucial issues of communication efficiency and load balancing in dynamic networks, they do not guarantee strong semantics of concurrent data accesses. Given that many of these proposals involve aggressive data replication without a strategy for concurrency control, they admit the possibility of returning stale data, or falsely reporting certain data as unavailable, if certain sequences of joins, leaves, and updates/lookups occur. While it is well known that guaranteeing availability and consistency in an asynchronous and failure prone network is impossible, we believe that guaranteeing atomic semantics is crucial for establishing CANs as a robust middleware service, and this property should not depend on the timing of the underlying system. In this paper, we describe a simple CAN algorithm that maintains the atomicity property regardless of timing, failures, or concurrency in the system. The liveness of the algorithm, while not dependent on the order of operations in the system, does require that node failures are masked (through state machine replication or through recovery from persistent storage) and that the network eventually delivers all messages to intended recipients.