Abstract—Due to security issues and incremental user requirements, software in IoT devices needs to be changed frequently. Recently, advanced IoT devices employ the component-based software architecture in which components can be updated at run-time. In such IoT networks, devices can download updated components from neighbor nodes, enabling quick deployment of updates in the entire network. A key operation which consumes a significant amount of energy in the update process is flash rewriting, in which the order of re-writing components into the memory is decisive for energy consumption. In this paper, we propose a mechanism that schedules updates on all devices in an IoT network to minimize the energy consumption, taking into account the deadline constraint for updating the entire network. We introduce a novel energy model of the update process, then propose an algorithm to approximate the optimal schedule for updating all devices in the network. Simulation results show that our algorithm can obtain a near optimal which is, on average, 7.1% different from the global minimum.

Keywords: energy efficiency; software update; IoT device; component-based IoT software