# Recent Advances in Evolving Computing Paradigms: Cloud, Edge, and Fog Technologies
## 3 Evolving Computing Paradigms and Related Concepts
### Fog Computing
#### 3.12.2 Architecture
The fog server entails configuration, computation, and storage capabilities, higher comparably in order to handle the fog device and gateway. It further pertains to hardware configuration, devices it can handle, network connectivity, etc., with its role defining it to be distinct or an IoT fragment. A set of virtual and physical sensors are attached to the fog device. In the same manner, a set of fog devices could be attached to a fog server. A specific group of fog devices connected to a particular fog server can interact as and when required. The processing has to be performed at multiple fog servers and devices to determine a proper decision. The level of fog devices and servers is in charge of handling and servicing data on storage and hardware configuration and connectivity for the fog servers and devices. The processing demands of different applications are addressed at this layer. * Monitoring layer  
The system operation, services, resources, and responses are tracked by the monitoring layer, which facilitates identifying appropriate resources in the midst of the operation. If a possibility arises for the fog device as well as the fog server where resource availability  
Figure 10: Typical fog computing architectural layers. becomes negative for processing or storage, assistance from peers may be sought. The system monitoring unit aids in efficient decision making in such unforeseen scenarios and resource failure by tracking the present resource consumption, usage and then estimating resource demands into the future. The performance prediction component tracks and forecasts the performance of the fog system depending on the resource availability and system load. This unit is necessary to keep up with the relevant Quality of Service (QoS) demands in SLA (service level agreements). The occurrence of repeated SLA violations may increase system costs due to penalties for the provider. Even though this issue cannot be completely ruled out, SLA violations can be greatly reduced if the performance prediction component foresees the system's performance and usage. Pre- and post-processing layer  
The multiple components of this layer are distinctly concerned with the data analysis at the basic as well as advanced levels. The data accumulated are subjected to analysis and filtering with trimming alongside a reconstruction performed when needed. Once data processing is accomplished, the component called data flow finalizes the process if the data have to be stored locally or in the cloud. Fog computing insists on stream processing, which processes and stores minimum relevant data at the edge, as all data generated may not be useful. As per the application, requisite data trimming can be performed where the mean value of the data within a minute or hour could be stored if the sensor produces data every second. In instances where data values do not differ significantly over time but tend to affect performance, the number of readings taken can be reduced. Though perfect accuracy would not be achievable, application requisites may be attained. The data reconstruction module reconstructs the data as per the pattern in which data is generated in times of incomplete and faulty data produced by sensors to avoid application failure or an interruption. Storage layer  
The storage module is accountable for data storage by storage virtualization. The unit referred to as the data backup affirms data availability and minimizes data loss caused by system failure by creating a backup of critical data. It also periodically customizes schemes of data backups. By storage virtualization, a collection of storage devices functions as a single device, enabling manageability and maintainability; thus, offering an enterprise-level operation, at low-cost hardware and storage. The resource management layer addresses resource allocation, resource scheduling, and energy saving. The reliability unit at this layer ensures the application of scheduling reliability, system reliability, and the allocation of resources.