{'fraction_non_alphanumeric': 0.017973856209150325, 'fraction_numerical': 0.016339869281045753, 'mean_word_length': 5.218274111675127, '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}}
Normalization of Application Performance in IEEE 802.11 Networks

The IEEE 802.11 standards define a distributed scheme for Wi-Fi access points and stations to fairly share the wireless medium. Even if fully standard-compliant, Wi-Fi devices from different vendors have implementation differences that lead to disparities in their ability to access the medium. Erratic upper-layer behaviors become manifest when devices that exhibit such disparities inter-operate within one network. In this paper we show examples of those behaviors based on common use cases. We find that a primary cause of performance inconsistency for most network applications is the uneven ability of different IEEE 802.11 devices to access the shared medium for transmission of TCP acknowledgments, further aggravated by the excessive size of the buffers where those packets are queued before transmission. We devise and validate in a real network an effective solution for Linux hosts that is based on the link-layer priorities of IEEE 802.11e. This solution allows researchers conducting Wi-Fi experiments to collect device-independent results, and application providers to guarantee a consistent experience to their users across different devices.