🤖 AI Summary
This work addresses the limited observability and programmability of device actions in existing IoT systems, which hinder effective management of heterogeneous operations with varying durations. To overcome this, the authors propose RASC (Request-Acknowledge-Start-Complete), a four-phase action abstraction that explicitly models key stages of IoT actions beyond conventional RPC, enabling fine-grained observation and control for the first time. A prototype implementation built on Home Assistant demonstrates capabilities including precise completion-time prediction, rapid fault detection, fine-grained dependency programming, and efficient scheduling. Experimental results show that, while meeting latency service-level objectives (SLOs), the proposed approach improves scheduling performance by 10%–55% over the state-of-the-art for typical IoT actions lasting several minutes.
📝 Abstract
While RPCs form the bedrock of systems stacks, we posit that IoT device collections in smart spaces like homes, warehouses, and office buildings--which are all"user-facing"--require a more expressive abstraction. Orthogonal to prior work, which improved the reliability of IoT communication, our work focuses on improving the observability and programmability of IoT actions. We present the RASC (Request-Acknowledge-Start-Complete) abstraction, which provides acknowledgments at critical points after an IoT device action is initiated. RASC is a better fit for IoT actions, which naturally vary in length spatially (across devices) and temporally (across time, for a given device). RASC also enables the design of several new features: predicting action completion times accurately, detecting failures of actions faster, allowing fine-grained dependencies in programming, and scheduling. RASC is intended to be implemented atop today's available RPC mechanisms, rather than as a replacement. We integrated RASC into a popular and open-source IoT framework called Home Assistant. Our trace-driven evaluation finds that RASC meets latency SLOs, especially for long actions that last O(mins), which are common in smart spaces. Our scheduling policies for home automations (e.g., routines) outperform state-of-the-art counterparts by 10%-55%.