# An Overview of Fog Data Analytics for IoT Applications
## 5 Research Challenges
### Resource Scheduling and Allocation  
Cloud computing can be thought of as an infinite warehouse of resources. Still, latency is always an issue due to the plethora of devices connected to the cloud, limited bandwidth available, and geographical separation of the cloud from devices. To tackle this, we introduced the concept of fog computing. However, due to the geographical vicinity of the edge devices, fog nodes are generally less powerful than the cloud. Moreover, they contain limited resources compared to the cloud. This makes achieving maximum throughput through scheduling and resource allocation challenging. When the term resource management is discussed, it is an amalgamation of load balancing, task offloading, resource provisioning, and allocation. Here, we discuss resource scheduling and resource allocation. Resource scheduling can be thought of as the optimization of the assignment of various tasks submitted by the edge devices to the fog by meeting the required QoS levels while also ensuring time complexity. Thus, resource scheduling is an optimization solution for scheduling a set of submitted tasks T1, T2, T3,..., Tk, to a set of fog nodes F1, F2, F3,..., Fp, with various QoS requirements, such as cost, time minimization, or the availability and optimization of the optimization function for scheduling time [115]. The resource-scheduling problem is considered an NP-hard problem and uses meta-heuristic algorithms to find feasible and near-optimal solutions in linear time. The resource scheduling approach is divided into three categories based on the time when the scheduling takes place. Static scheduling takes place when tasks simultaneously reach the fog nodes, and the decisions for scheduling are made before submitting tasks [116; 117; 118; 119]. Thus, there should be prior knowledge of the demands and available resources for this type of schedule to take place, which is not always the case, as obtaining all knowledge beforehand is not possible in all cases in the fog environment. However, the dynamic scheduling algorithms [76; 83; 120; 121; 122; 123; 124] do not require all prior knowledge, and the scheduling of the tasks takes place after the tasks get submitted to the fog nodes, thus allowing for more flexibility for scheduling algorithms. Some authors [57] used a hybrid approach involving both static and dynamic scheduling according to the use case. Table 5 recapitulates all different scheduling techniques. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Author** & **Network Architecture** & **Type** & **Unique Feature** \\ \hline [PERSON] et al. [111] & & & Security-oriented, in charge of turning on/off applications that deal with security issues. \\ \hline [PERSON] et al. [108] & SDN-based & & Migration of virtual machines between different network domains. \\ \hline [PERSON] et al. [112] & & Orchestration-focused & Hierarchical SDN architecture for heterogeneous wireless and optical networks. Also introduces end-to-end provisioning and recovery procedures in a multi-domain network. \\ \hline [PERSON] [110] & NFV-based & & Focused on extending the European Telecommunications Standards Institute (ETSI) NFV reference architecture to manage and orchestrate security functions. \\ \hline [PERSON] et al. [113] & - & & Uses middleware for choreography able to automatically deploy and execute services. The middleware is also responsible for monitoring the service composition execution and for performing automatic resource provisioning and service reconfiguration to achieve agreed QoS levels. \\ \hline [PERSON] et al. [114] & SDN-based & & Studies the impact of using orchestration and choreography in wireless sensor and actuator networks (WSANs) using mathematical analysis and also application experiments. \\ \hline [PERSON] et al. [107] & - & Hybrid approach & Uses orchestration along with choreography to achieve distributed as well as centralized management simultaneously. \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Comparison of various works on orchestration.