I. Introduction
In the Internet of Things (IoT) environment, huge amounts of data have been generated and collected by IoT devices. Traditionally, these data are directly transmitted to the Cloud for processing, because of the limited computing and storage capacities of IoT devices. Nowadays, with more powerful hardware, many IoT devices (e.g., smartphones) can process initial data and send results to the Cloud later.