A Survey on Fog Programming
Dapeng Lan, Amir Taherkordi, Frank Eliassen, Geir Horn · 2019
With the rapid evolution of the Internet of Things (IoT) and the growth of IoT-generated data, cloud computing platforms have been widely used to store and process this type of data. However, cloud computing cannot handle rapidly emerging smart applications with latency-sensitive, high throughput, and high availability and reliability requirements, such as virtual reality and autonomous vehicles. The fog and mobile edge computing paradigms have been proposed to bring the cloud capacity along the network to end devices to address the above concerns. A key development aspect of fog systems is their programming models. Fog programming models and frameworks face challenges that originated from the unique characteristics of fog systems, such as heterogeneity, scalability, and mobility. In this paper, we first study the main characteristics of fog programming, as well as the design requirements of fog programming models with respect to the fog architecture and application types. Then, we survey fog programming models both from research and industry perspectives. Finally, we point out the issues and future challenges in fog programming. The survey framework, presented in this paper, provides useful insights and outlook for the fog programming research and development, inspires further research on fog programming models, and sheds light on the future of programming in this fast-growing computing paradigm.