ABSTRACT

The phenomenal growth in IoT devices and systems has opened many new research avenues (Gubbi et al., 2013). This massive growth is leading toward gigantic data production and requires sophisticated systems to perform analytical operation and uncover useful insights from underlying data (Mukherjee et al., 2014; Hassan, 2016a). The topological settings of existing systems are based on three levels, namely, IoT devices, edge servers, and cloud data centers (Figure 11.1) (Satyanarayanan et al., 2015). At the first level, the IoT devices perform data collection operations by monitoring their surroundings using onboard sensors. In addition, the devices perform data filtration and actuation operations to respond in the external environments. At the second level, the nearby edge servers collect data streams from connected IoT devices and perform local data processing to transfer reduced data streams in cloud environments. At the third level, the cloud data centers provide unbounded cloud resources for IoT devices and cloud-based IoT applications. The IoT applications span over all three levels, but control of application execution always remains at the cloud level (Satyanarayanan et al., 2015). This approach increases the dependency over Internet connections and enforces the devices to transfer data streams to cloud data centers prior to any analytics operations.