{'fraction_non_alphanumeric': 0.027884089666484417, 'fraction_numerical': 0.0005467468562055768, 'mean_word_length': 5.03960396039604, '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}}
Distinguishing Congestion and Corruption Losses: A Negative Result

On wireless links, the rate of corruption losses can be signiicant, leading to poor TCP performance. The performance gets worse when these losses are mistaken for congestion losses, unduly triggering the TCP congestion control algorithms. To avoid this, techniques to distinguish between corruption and congestion losses without any explicit information from the network (routers or switches) are of interest. In the past, several proposals require TCP sender to reduce its window size when congestion is detected. These schemes use heuristics to detect congestion by using some simple statistics on round-trip delays and/or throughput. If the heuristics developed in the past are good (i.e., accurate much of the time), then one possible mechanism for distinguishing between errors and congestion are as follows: (a) Use a good heuristic that asks TCP sender to reduce window size when congestion is 1 detected. (b) If a packet loss occurs, see what the heuristic said just before the packet was sent. (c) If the heuristic had said reduce window (because congestion was detected), assume that the packet loss is due to congestion, otherwise assume that packet loss is due to transmission error. Take appropriate action depending on the nature of packet loss. The above scheme will work well, if the heuristic is very accurate. Unfortunately, our preliminary measurements suggest that three such heuristics proposed previously do not perform well in practice. The reason, essentially, is that to a well-behaved TCP connection, packet losses seem to appear almost random, without much correlation to the window size or round-trip delays. This is true (and intuitive) when an individual connection represents only a small fraction of load at a router on the path.