Introduction
With the rapid development of new mobile applications, such as the Internet of Things (IoT), augmented reality (AR), and autonomous driving, mobile data generated from various distributed sources shows an explosive growth trend [1]. To cope with such an amount of data, cloud computing with beneficial properties such as on-demand self-service, resource pooling, and rapid elasticity, has become a promising approach [2]. However, since the cloud servers are generally located far away from users, the latency introduced by sending/retrieving heavy payloads from/to the cloud can be prohibitive. Edge computing has the potential to alleviate these costs and performance bottlenecks [3]. This computing paradigm enables applications to leverage computing resources in close proximity to data sources to perform data processing before forwarding the results to other nodes and cloud servers, reducing bandwidth usage and speeding up application response.