# Energy-Optimized Content Refreshing of Age-of-Information-Aware Edge Caches in IoT Systems
## 1 Introduction  
The Internet of Things (IoT) brings internet connectivity to everyday objects and devices, such as wearables, sensors, actuators, etc. These IoT devices generate a large amount of data that is then transmitted to IoT applications, where they are analyzed to make some output decisions. These output decisions are directly related to the freshness of the received data. Indeed, delivering fresh status information of the underlying process is critical for many IoT applications for effective monitoring and control, and the number of these IoT scenarios in which devices send time-stamped status updates to applications is continuously growing. For example, sensor data are analyzed to detect anomalies; environmental sensor data can help to predict and control fires or other calamities; or, asanother example, vehicles share their positions, velocities, accelerations, etc. to assist drivers in an intelligent transportation system. This phenomenon is even more evident in the Industrial IoT (IIoT) context. IIoT applications require continuous updates about the real-time states of a huge volume of devices, e.g., a smart manufacturing application requires receiving fresh telemetry data from the sensors of the assembly line, possibly to determine if an actuation request is needed. Ideally, we would want a device to generate status updates as fast as possible and transmit them to the application; however, the deployment of such systems raises several challenges as the timeliness of this huge amount of status updates is limited by the severe energy, memory, processing, and communication constraints of IIoT devices and networks. In particular, energy is a scarce and crucial resource, as devices may not have a fixed power supply, but they may rely on batteries, or they may harvest energy. So, the generation and the transmission of the device status updates need to be managed effectively to save energy on the device and prolong its lifetime: this is fundamental in massive deployments where human intervention is limited. The energy consumption of the device depends mainly on two factors: the sensing energy consumption, i.e., the energy used to obtain the newest status information, and the transmission energy consumption, i.e., the energy used to transmit the status information [1]. Modern IoT devices can perform complex operations other than the typical simple monitoring tasks. For example, they can use on-device artificial intelligence to pre-process the sensed information, so generating a status update can be very expensive in terms of energy. Moreover, a packet generated by one of these complex tasks, e.g., an artificial intelligence task, can convey more information than a packet generated by a simple monitoring task, so the energy cost for transmitting it can be higher [2]. Finally, even for simple monitoring tasks, the sensing energy cost may vary greatly: for passive sensors, such as temperature sensors, sensing power consumption is negligible in comparison to other devices, while for active sensors, such as gas sensors, sensing power consumption can be significant [3]. The transmission energy cost may also vary depending on the underlying transmission technology: some transmission protocols are more energy-efficient due to LPWAN technologies [4]. Within this context, the objective of IoT-system management is to minimize the energy consumed by the device for sampling the physical process of interest and for transmitting the data, while ensuring the requested level of information freshness is provided. One possible solution is using an information caching system: indeed, caching the data generated by the device can be very effective in reducing the sensing frequency and the transmission frequency. However, caching can lead to the staleness of information, so the cache needs a refreshing scheme, as IoT applications need timeliness of status updates.