{'fraction_non_alphanumeric': 0.022533022533022532, 'fraction_numerical': 0.006216006216006216, 'mean_word_length': 5.252427184466019, '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}}
Simple reading, implicit rejection and average function for fault-tolerant physical clock synchronization

In the literature, several fault tolerant physical clock synchronization algorithms have been developed. A physical clock synchronization algorithm is a succession of four functions: a remote clock reading function, a fault value rejection function, a convergence function, and a clock adjustment function. For algorithms using simple reading, implicit rejection and average function, there exist two algorithms: the H. Kopetz (1987) algorithm in which the average function is applied to all values of the clock value reference set and the Lundelius algorithm (J. Lundelius-Welch and N. Lynch, 1988) and in which the average function is applied to only two values of the reference set. In this later algorithm, Lundelius doesn't explain why precisely these two values and not others. We study all possible synchronization algorithms using simple reading, implicit rejection and average function applied to some values in certain positions of the reference set. We show that the maximum skew and the number of faults depend on the positions of the values used in the clock value reference set. We propose a paradigm to deal with fault tolerance in clock synchronization algorithms.