# Fog Computing Enabling Industrial Internet of Things: State-of-the-Art and Research Challenges
## 4 Protocols/Algorithms
### Load Balancing
[65] have explored how fog computing can turn the nodes or edges into virtual machines using Cloud Atomization Technology to improve on this problem. The authors use graph partitioning for developing an efficient load balancing algorithm. Consequently, a flexible network can be built by making fog networking possible after atomizing the cloud and eventually reduce the cost of the system that were high before implementing the load balancing algorithm. [PERSON] et al. [66] investigate power consumption and transmission delay trade-off. Problem of workload allocation is formulated to obtain the minimal power consumption subject to the constraint of service delay. Three sub-problems result after the decomposition of the primal problem. Based on the obtained results, it is shown that cloud performance is enhanced by using fog computing. Moreover, latency is reduced and bandwidth can be saved by sacrificing some of the computational resources. Computational clusters are formed on the basis of cooperation behavior between the Small Cells (SC) to share computational resources. However, the cooperation is dependent upon many factors such as resource availability, resource allocation, delay constraints of the application, distribution of computational load and size of the cluster. The joint distribution of resources for the mobile end-users and the cloud is the main objective problem of this framework. All the data that is being frequently accessed by the edge devices is stored at the Radio Units (RU), which considerably decreases the overall delay in the network of Fog-Radio Access Networks (F-RAN). However, in such systems, the energy efficiency aspect has always been a matter of serious concern due to the addition of extra smart components in the system. In [67], the authors have proposed a novel scheme by designing a green network in which an efficient algorithm is incorporated to optimize the selection of RU. Furthermore, the algorithm also jointly optimizes the formation of clustering and beamforming while maintaining the QoS and balancing the load of each of active backhaul as a measure of its capacity. While copying data from the database, edge devices may interfere with each other. To avoid this mishap, data replication techniques are used for copying data electronically from the main database where the data of all the users is hosted. Uniform distribution of data and processing is crucial over the network which in turn helps in managing the large amount of data and workload with efficiency. Fog computing not only helps in achieving higher efficiency, it also helps in balancing load across distributed platforms and achieving higher energy efficiency due to fewer performance bottlenecks. [PERSON] et al. [68] have focused on making a network that is less dependent on cloud computing and bringing the storage and processing capabilities near the edge devices. The results are simulated with the help of CloudSim by testing different geographically separated servers and their configurations and then make comparisons between cloud and fog computing for various attributes.