Table of Contents
Fetching ...

AERO: Adaptive and Efficient Runtime-Aware OTA Updates for Energy-Harvesting IoT

Wei Wei, Jingye Xu, Sahidul Islam, Dakai Zhu, Chen Pan, Mimi Xie

TL;DR

EH IoT devices face unreliable power that complicates OTA firmware updates. AERO embeds update tasks into the device's runtime DAG and uses a dependency-driven packet format to identify update-affected blocks, perform runtime DAG adjustments, and apply a unified scheduling policy that respects energy and deadline constraints. The approach defines mutually dependent update groups and update-affected blocks, enabling safe, non-disruptive updates with zero error rates in simulations, and achieves competitive or superior completion times and deadline adherence compared with live and intermittent baselines. This DAG-centric design generalizes across hardware and EH conditions, enabling practical, long-lived, energy-efficient OTA maintenance for distributed EH-IoT deployments.

Abstract

Energy-harvesting (EH) Internet of Things (IoT) devices operate under intermittent energy availability, which disrupts task execution and makes energy-intensive over-the-air (OTA) updates particularly challenging. Conventional OTA update mechanisms rely on reboots and incur significant overhead, rendering them unsuitable for intermittently powered systems. Recent live OTA update techniques reduce reboot overhead but still lack mechanisms to ensure consistency when updates interact with runtime execution. This paper presents AERO, an Adaptive and Efficient Runtime-Aware OTA update mechanism that integrates update tasks into the device's Directed Acyclic Graph (DAG) and schedules them alongside routine tasks under energy and timing constraints. By identifying update-affected execution regions and dynamically adjusting dependencies, AERO ensures consistent up date integration while adapting to intermittent energy availability. Experiments on representative workloads demonstrate improved update reliability and efficiency compared to existing live update approaches.

AERO: Adaptive and Efficient Runtime-Aware OTA Updates for Energy-Harvesting IoT

TL;DR

EH IoT devices face unreliable power that complicates OTA firmware updates. AERO embeds update tasks into the device's runtime DAG and uses a dependency-driven packet format to identify update-affected blocks, perform runtime DAG adjustments, and apply a unified scheduling policy that respects energy and deadline constraints. The approach defines mutually dependent update groups and update-affected blocks, enabling safe, non-disruptive updates with zero error rates in simulations, and achieves competitive or superior completion times and deadline adherence compared with live and intermittent baselines. This DAG-centric design generalizes across hardware and EH conditions, enabling practical, long-lived, energy-efficient OTA maintenance for distributed EH-IoT deployments.

Abstract

Energy-harvesting (EH) Internet of Things (IoT) devices operate under intermittent energy availability, which disrupts task execution and makes energy-intensive over-the-air (OTA) updates particularly challenging. Conventional OTA update mechanisms rely on reboots and incur significant overhead, rendering them unsuitable for intermittently powered systems. Recent live OTA update techniques reduce reboot overhead but still lack mechanisms to ensure consistency when updates interact with runtime execution. This paper presents AERO, an Adaptive and Efficient Runtime-Aware OTA update mechanism that integrates update tasks into the device's Directed Acyclic Graph (DAG) and schedules them alongside routine tasks under energy and timing constraints. By identifying update-affected execution regions and dynamically adjusting dependencies, AERO ensures consistent up date integration while adapting to intermittent energy availability. Experiments on representative workloads demonstrate improved update reliability and efficiency compared to existing live update approaches.
Paper Structure (29 sections, 9 figures, 2 tables, 2 algorithms)

This paper contains 29 sections, 9 figures, 2 tables, 2 algorithms.

Figures (9)

  • Figure 1: Motivating Examples of Mixed-Version Execution: (a) No Impact, (b) Incorrect Computation, (c) Execution Failure, (d) Unintended Interaction.
  • Figure 2: AERO Update Packet Structure
  • Figure 3: Overview of the AERO Update Process. Update Receiving Task (urt): collects incoming packets; Update Decoding Task (udt): decodes packets and reconstructs update tasks; Dependency Processing Task (dpt): identifies the update-affected block; DAG Updating Task (dut): inserts update tasks and adjusts affected dependencies in $G$.
  • Figure 4: AERO Update Cases: (a) Modifying Existing Tasks $t_4$ and $t_8$; (b) Inserting New Task $t_9$; (c) Removing Obsolete Task $t_8$
  • Figure 5: Graphical Illustration of Tasks Selection Process
  • ...and 4 more figures