Fog computing attempts to bring the computational capabilities of clouds closer to the variety of devices that make up the Internet of Things (IoT) by creating local mini-clouds. It appears to be a very promising way to support large clusters of smart devices, as is the case in so-called “smart cities.” The authors survey the use of fog computing for sustainable smart cities with the idea of determining which features and requirements are needed for this purpose. The authors indicate that this is the first fog survey focusing on platform developers and end user perspectives. The paper provides eight fog use scenarios, with descriptions of the advantages and disadvantages of using fogs to handle them. Those scenarios guide the discussion of the needed fog features to support them.
The paper combines devices with fogs. In most of the literature, fogs are mini-clouds, with their own architecture, leading to a three-layer architecture; here, typical devices such as smartphones or complex sensors can become fogs. The three-layer architectures of [1,2] are not even mentioned; in fact, there is even a pattern describing a fog architecture , also not mentioned. Security is, for them, mostly about the protection of communications using cryptography. Authorization, logging, and intrusion detection are not even mentioned; those interested in fog security should look at . Surprisingly, Cisco is not mentioned, although they introduced the concept of fog computing. Configuration should be related to architecture and governance, but these connections are not considered.
The survey has many references (a strong point) and discusses aspects such as performance, energy efficiency, cost, network protocols, and the like. At times, the paper becomes more of a tutorial than a survey. However, aspects of interest to developers such as architecture, safety, governance, compliance, virtualization, and reliability are not discussed at all. The survey can be valuable to those studying the lower architectural levels of fog-based systems, but certainly not for system developers.