The dramatic growth of numerous internet-connected smart devices and frequent service requests generated by the users poses a heavy burden to the network bandwidth. The high network latency between the smart devices and the cloud makes it infeasible for delay-sensitive applications. A distributed computing system of the fog network is essential to reduce the power consumption and meet the latency requirements of the end devices, reduce the burden to the centralized data center, and provide real-time data processing with localized computing resources. With the necessity of improving network performance and efficiency for latency-sensitive applications such as disaster management, smart healthcare, and smart transportation, fog computing has become an emerging modern technology in our daily lives. Fog computing provides potential benefits for the IoT applications such as smart electrical grids, smart traffic light systems, and smart transportation. It has the potential to support the different innovative applications involve smart cities, smart switching systems, and smart home appliances. For instance, to free up the congested road, traffic light sensors in the smart cities divert the traffic to another road. In the example of smart home appliances, if the sensors embedded in the home appliances detect anomalies, the home appliances send an automatic alert to the respective person.