{'fraction_non_alphanumeric': 0.03106936416184971, 'fraction_numerical': 0.0036127167630057803, 'mean_word_length': 5.238738738738738, '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}}
CSMA/SF: Carrier Sense Multiple Access with Shortest First

Energy efficiency is the main concern in wireless sensor networks (WSNs) due to devices' limited battery power. Because the heavy burden of nodes that near the sink, this "energy hole problem" makes nodes near the sink have faster energy depletion than others. Because of this, the lifetime of WSNs, to some extent, is determined by the power consumption of communication between sink and sensing nodes that near the sink. To address this issue, we propose CSMA/SF (Shortest First) protocol to reduce power consumption of sink-node communication by minimizing energy cost in carrier sense during nodes' channel contention. CSMA/SF modifies existed CSMA/CA MAC protocol. Instead of complete contention-based, CSMA/SF ensures nodes remaining shorter message has higher priority in contention by implementing a distributed scheduling algorithm and incorporating Length Detection scheme. Further, CSMA/SF employs an Anti-Starvation mechanism to solve the starvation problem of shortest-first protocol. CSMA/SF also optimizes channel utilization by reducing the probability of collisions. We have implemented CSMA/SF into USRP2 platform and also conducted comprehensive simulations. The experimental results show that CSMA/SF can reduce overall energy consumption by around 20%. CSMA/SF can improve channel utilization up to 40%.