{'fraction_non_alphanumeric': 0.027609427609427608, 'fraction_numerical': 0.0, 'mean_word_length': 4.75968992248062, '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}}
Brief Industry Paper: LiteOS: Managing Sleep for Low-energy IoT

Internet-of-Things (IoT) devices can only afford very small batteries due to the size, weight, power and cost constraints. On the other hand, long battery life is expected for such devices, either for improving user experience or due to charging limitations. Therefore, it is critical to reduce the energy consumption of IoT devices. A good opportunity is to save energy on the system level, by letting the system to sleep occasionally. In this paper, we introduce Image Partitioning and Incremental Loading (IPIL), an operating-system-level sleep mechanism used in Huawei LiteOS to reduce the energy consumption of an IoT device. IPIL powers off both the CPU and the main memory during sleep to save as much energy as possible. Thus, system data have to be reloaded after the system wakes up, which may take a long time and thus reduce real-time responsiveness. To solve this problem, IPIL partitions the system image into clusters and incrementally loads the clusters on-demand, reducing the amount of data loading and time overhead in the wake-up step. Experimental results show that IPIL outperforms two widely adopted sleep approaches in terms of energy consumption. At the same time, IPIL offers satisfactory responsiveness with very short wake-up delay. We also present a case study on smart watch to demonstrate how battery life, as a core value of wearable devices, can be improved with IPIL provided by LiteOS.