Reliable Real-Time Operating System for IoT Devices

2020 
Internet of Things (IoT) technologies have so deeply penetrated our daily lives that IoT devices have been everywhere. Not only do IoT devices provide basic means to convenient living but they also offer intelligent services tailored to diverse user needs. For instance, beyond remotely turning ON and OFF small gadgets, such as lamps and switches, users can now control appliances via smartphones and also interact with them verbally. In the backdrop of multifarious, complex IoT applications, their reliability becomes of paramount importance. This article focuses on achieving user-level reliability in an IoT operating system (OS) that executes both real-time (RT) and non-real-time (NRT) tasks concurrently. For example, smart appliances typically run RT tasks such as a motor controller, as well as NRT tasks such as Wi-Fi-based network functions, concurrently. In general, RT tasks are critical and should be protected from error-prone tasks. Otherwise, a motor controller failure may cause appliances to malfunction. To this end, we propose a novel, reliable IoT OS, called TizenRT that achieves user-level reliability through two key features, namely, fault isolation and fast recovery , while maintaining RT constraints. Our evaluation shows that TizenRT can isolate faulty tasks in memory space, while guaranteeing normal RT tasks to complete their missions within a required time, e.g., 50 $\mu \text{s}$ . Moreover, corrupted tasks can be recovered within a few milliseconds, e.g., 10 ms, without the need for a system reboot. This makes TizenRT a preferred choice for mission-critical IoT applications.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    22
    References
    2
    Citations
    NaN
    KQI
    []