# Fog Computing for Smart Cities' Big Data Management and Analytics: A Review
## 2 Background
### Edge and Fog Computing
Its reference architecture for fog computing, released in February 2017, affirms that: (i) fog nodes are organized hierarchically, with a three-tier architecture, although n-tiers can be used for specific scenarios, and (ii) fog computing provides computation, networking, storage, and control anywhere from cloud to IoT and sensing devices, while edge computing provides limited computing resources at the edge [10]. Its first tier, near the edge of the network, typically involves getting data from edge devices, normalizing data, and controlling sensors and actuators. The second tier involves the filtering, compression, and transformation of data. The third level is where the aggregation of data and the transformation of those data into knowledge occur. Fog nodes represent the backbone of the fog computing infrastructure. They can be physical devices such as gateways, switches, routers, servers, or software components like virtual machines and cloudlets connected with edge devices and access networks to provide them with data storage and computing resources. For example, Cisco network devices such as routers, switches, and Unified Computing System (UCS) servers could serve as fog nodes. These servers include computing hardware, virtualization support, switching fabric, and management software. Organizations can develop and enhance their IoT applications in the cloud to finally deploy them in fog nodes or cloud servers [11]. The fog computing layer lies between the edge layer, where the end devices reside, and the cloud computing layer, where unlimited computing power and storage are available. Fog nodes can operate in a stand-alone mode or can be configured to work in a cluster to provide the service to their users [12]. \"Fog nodes... can be deployed anywhere with a network connection: on a factory floor, on top of a power pole, alongside a railway track, in a vehicle or on an oil rig\", according to Cisco. A fog node implementation is described in [13] and a fog architectural design and implementation are discussed in [14]. [PERSON] et al. [15] focused on identifying the basic functionality of a fog node and the associated opportunities and challenges. They summarized and compared the concepts and the lessons learned from the implementation of advanced fog computing technologies. Moreover, they showed how a unified definition of fog nodes could emerge from a conceptual framework. Additionally, they discussed some of the open issues and challenges that arise when fog nodes expose abstract and virtualized views of their physical resources to the upper layers in a fog-cloud scenario. There is almost unanimity in the literature that fog computing is not meant to replace cloud computing, but rather it is an extension. Many cloud computing technologies, such as virtualization, also apply to fog computing [16]. Furthermore, data processing can be done on a single fog node or multiple nodes working together. When more processing power is needed, additional fog nodes might be deployed, improving the scalability and providing the elasticity required by multiple enterprise applications.