Abstract
Edge computing (EC) has emerged as an attractive and interesting topic for research. It is an extension of cloud computing, used for non-centralized computing with various new features and solutions. In particular, edge computing deals with Internet of Things (IoT) based applications and services. Fog, which sometimes is also referred as edge, is basically a type of EC model, and its features can support a wide range of applications and services of IoT. In this article, we shall explore importance of Fog in IoT applications. In this paper, we shall provide a comprehensive comparison between Fog and cloud. In the process, we shall also provide practical examples to explain the importance of exploiting each of the properties or attributes of Fog which play critical role in facilitating new applications. In addition, we have proposed some novel applications of Fog for protecting the privacy in IOT based applications.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Internet of Things (IoT) has matured over with the passage of time. Now we can see IoT applications in many areas of computing and technology. In particular, IoT plays a critical role in the making of smart cities, which are now implemented on a large scale in the developed economies on the planet earth. A snapshot of IoT application is shown in Fig. 1. Basically, IoT is an information technology infrastructure which consists of sensors, actuators and advanced services for interconnecting physical and virtual world with the help of sophisticated communication technologies [1, 2]. Ubiquitous aspects of IoT have been studied with various perspectives in [3, 4].
Most of the IoT based devices such as Smart-phones, Smart-watches, health monitoring, and drug delivery wireless devices are of limited power, storage, and computing capabilities. Therefore they rely heavily on the cloud data centers to collect huge amounts of sensed data and for analyzing it, in addition, to providing many of services and features to end user like accessibility, scalability, mobility, providing resources for storage and computation functions with low cost, etc. [5, 6].
With the ongoing research and innovations. Various weaknesses of the clouds data center have been exploited by various articles including [7, 8]. This research shows that the clouds based computing and data centers will not satisfy the increasing requirements of smart objects whose number is expected to exceed 50 billion by 2020. This explosion in the IoT objects adds to the delay and latency in applications, which will affect the quality-of-service (QoS) and the range of supported applications in use. Edge computing concept with several models has been proposed to overcome the limitations of Cloud and to expand the scope of services and applications that will be supported [9, 10]. The most important models are shown in Fig. 2 [11,12,13], some of whose details are as follows.
-
Local/Edge is a small cloud close to the end user in a specific area, which allows them to avoid dealing with a remote one like in Clouds. This type of system only has distributed overhead on the central cloud to few clouds where each one serves in a specific area.
-
Mobile Edge Computing (MEC) depends on servers dedicated to the Cellular Devices Stations to provide some new features and computing services for mobile subscribers. This type relies on the radio network.
-
Mobile Cloud Computing (MCC) is a model that relied on the new features and capabilities in the smartphones to do some processes on the local side, but if there is need to more power, the phone will send this task to middle layer (lightweight cloud servers named Cloudlet) between mobile computing (Smartphone) and cloud computing (the Central Cloud)..
-
The last model is the Fog Computing which is different and based on the new idea of the dense distribution of several Fog nodes close to end users to do some computation and storage tasks, and to be a broker between central cloud and smart objects.
All previous models are found to offload the jobs of the cloud to the edge of the network to enhance the quality of services, lift the performance, decrease the latency, boost the connectivity, and support different types of projects which are sensitive to the time and critical cases [14]. Contributions of this research are:
-
Provide a brief introduction of Fog computing.
-
Provide realistic cases for using Fog with IoT apps.
-
Proposed a novel application of Fog for protecting the privacy of IoT based applications.
-
Discuss challenges and future trends.
Rest of this article is divided into five sections. In the Sect. 2, we discuss the details of Fog including its definition, properties, roles, applications in addition to comparison with the cloud. In Sect. 3, we shall show some real applications which are enhanced by Fog whereas. In Sect. 4, we shall focus on challenges in Fog technology and propose a new idea about using Fog for privacy protection, and in Sect. 5, we shall provide concluding remarks with future possibilities in this area.
2 Fog computing
-
A.
Definitions
Fog is a recent distributed computing model, it was introduced by Cisco in 2012 as assistant to the cloud computing to enhance QoS and to develop different kinds of supported applications in IoT [8]. The meaning of Fog word explains the nature of this term, where the clouds are far in the sky, the Fog comes down on the ground close to people [15].
Actually, there are many definitions for Fog focused on the same ideas, [8] said, Fog is new computing paradigm could be seen as an extension to cloud computing near network edge to reduce the burden on the cloud. Whereas the researchers in [11] defined Fog as a new computing model found to exceed the cloud problems, and in [7] defined Fog as an extension to cloud computing and services proximity to the user in the edge. In [10], Fog is a term coined to distribute data processing to the edge.
Briefly, the Fog computing is a small cloud in the edge of network near to end user to do some preprocessing of data, applying some roles and policies, filtering some things, performing some issue, or caching some info before sending to the cloud to store it and make full analyzes. This neutrality for Fog has allowed it to provide new features and solve many limitations comparing to the cloud computing [16, 17].
-
B.
Comparison between cloud and Fog
Cloud provides enormous amount resources and services to a client with low cost through three types/levels of services (levels of control) which are [8, 12]:
-
Software as a Service (SaaS) allows the user to get services from the cloud if it existed e.g. Software applications online, these applications are provided from the third party and the user only can use this service as manage your docs online.
-
Platform as a Service (PaaS) allows user to set and run his own application on the cloud to be accessed from anywhere at any time, as some companies applications will be deployed on the cloud to be available for their employees or customers without concern about resources, data security, and backups, management, etc.
-
Infrastructure as a Service (IaaS) user has control on specific parts of resources as operating system, network, and storage virtually by the Internet, e.g. some applications need High-Performance Computing (HPC) requirement to test their functions on big data, so they need direct control (Virtual) and privileges on some part of resource to manage and do what they want.
-
However, all these service levels worked on raw data after it reaches to cloud, and this data is very big, so that will adversely affect the link capacity, bandwidth, performance, etc.
For previously mentioned reasons, the Fog computing as edge model provided many methods to address these issues and contribute to enhance the quality of cloud and expand the range of services that can be introduced to end user [18, 19].
The main key features of Fog computing are:
-
Dense deployment for Fog nodes in the edge of network near to user enabled them to do some preprocessing on data (filtering, removing repetition, dealing conflict, aggregating, classifying) to convert it from raw data to smart data, that reduces the size of data and that will move on the link and offload the burden for cloud and provide location awareness [20].
-
Fog can take speed decision in the emergency cases before the data sent to the cloud and without delay or latency [21].
-
The Fog nodes can contribute to providing more mobility and availability of service even in the scenarios where an Internet connection is down [22].
-
Fog can apply the specific policy to data or encrypt data before sending to cloud, this is done to increase the security [23].
-
Fog can support new types of applications such as virtual reality and real-time applications [17].
We proposed new dimension of Fog which is related to its role in the privacy protection (more details will follow) [3, 24]. The structure of Fog and cloud is depicted in the Fig. 3.
Generally, Fog computing consume less power than central computing in clouds. However, the main advantages of Fog, as shown in Table 1, is it’s with integration with cloud. By this cooperation, we save a lot of energy consumption [25, 26]. There are many companies, for example IBM, Google, Samsung, Intel, ARM, AWS, Azure IoT, which provide platforms for IoT applications and services. However the most of these platforms are cloud-based. Recently, most of them have also started to consider the fog as the dominant element in the platforms like Google, Microsoft, Amazon, IBM, and Cisco. The reason for doing this is to facilitate more services, reduce the cost of communication, and reduce the delay in response. The main services of all these platform are to manage devices and connectivity, data and storage, analysis and visualization, etc. At the same time the main applications are remote control facility and provide PaaS applications, ubiquity services, IB, and healthcare, and environment system [27, 28].
Further comparison between both (Fogs vs. Cloud) is also presented in Table 1. Examples are provided in the next section to explain these differences, features, and properties [29].
3 Cases and examples of Fog usage
-
A.
E-health system
It is one of the most important applications in the smart city. It tries to provide more high standards of healthcare and in emergency conditions using IoT infrastructure. This system asks the patient to wear special clothes or gadgets with sensors that monitor the heart rate, blood pressure, sugar rate, level of pollution in the air, temperature, etc.[30].
All these information have to send to the cloud (server provider) to be collected and analyzed to detect any potential danger in advance. If there is any abnormal case, or health emergency is predicted, the patient will be notified in advance. Even some emergency calls will be done by calling family or ambulance.
However, this system is very sensitive or latency, because it is related to people lives. Unfortunately, the cloud can’t achieve this requirement due to the scheduling of a huge number of functions which come to cloud in short period of time. For this, the Fog computing and serve an unlimited number of patients at the same time without affecting the latency.
Fog nodes will be distributed densely in the city (smart city) and the patient can connect to any nearest node locally by wireless connection, and all this sensed data will send to Fog which will aggregate this data and classify it [31].
Then it will collect statistical values for all cached data and then it will send only the aggregated values to the cloud to save permanently for historical analyses instead of sending huge details of data. This will save the bandwidth and capacity of the link, and enhance the performance; moreover, if there is an emergency case, the Fog can detect it directly without delay and take the right decision without the need to contact to the central cloud.
3.1 Face recognition system
Some companies use this system which relies on the cloud which contains all data about their employees to do the computation functions, return the result and record attendance instead of buying their own system. So each employee will send his image to the cloud to process it and which will apply an algorithm and then return the result [32].
However, if there are a big number of employees and each one will send his image on a link that will cause a lot of latency and overhead on the network and cloud itself. Using Fog will solve this problem by performing some functions on the image before sending. Fog node will do a features extraction task on the image and then send these few values to the cloud instead of the whole image. That will save the resources of the network and offload the tasks from the cloud. Similar ideas can be used in video conference systems, virtual reality, e-learning, etc.[33].
-
B.
Traffic organization system
These systems need speed response and tools to collect data and calculate traffic in each street quickly and then notify the automobiles about the best path. That system will be inactive without Fog nodes, which can be set in the traffic light or in the smart cars. The cars will send the signals continuously to the nearest traffic light (Fog node) [34].
This node will calculate the objects number, and then it will send this value to the cloud which aggregates all values, takes a decision and resends notifications to Fog nodes. Finally, Fog nodes pass them to vehicles. Another scenario in similar systems is, the smart vehicles can cooperate together to perform the same goal [3].
-
C.
Energy control system
In the smart home, all devices send a signal in every few seconds to the server provider (cloud) to calculate the rate of consumption of energy, but that causes congestion on the networks and enables cloud to aggregate very specific information about the lifestyle of users to give him reports about his devices and their usage energy [5, 35].
Fog node also can be used here to cache data and finding the average amount of consuming for each device and then send it to the cloud without sending all values with specific times which isn’t required and maybe reveal sensitive information about the user. That will enhance the performance and save the network and cloud resources.
Actually, there are many other applications that Fog can have positive effects and make them more sophisticated as Mobile-Learning [36, 37], Decision-Making [38], E-government [39], Shopping [40], Management in Crowded Event [41], etc.
4 Fog computing, challenges and opportunities
-
A.
Challenges
Actually, there are many of challenges inherited from the cloud computing and other related to nature of Fog itself [8, 20, 23, 42]. Some of the main challenges are:
-
Security challenge.
-
How to protect the Fog node from an outside attacker, or from malicious Fog node.
-
Heterogeneity of devices that connect to Fog created a real challenge on it.
-
Creating a standard framework and protocols to manage the Fogs and IoT objects.
-
Managing the collaboration between Fog nodes themselves.
-
Programming Fog and finding standard programming language to enable the developer to achieve their tasks easily.
-
Privacy of users and objects data, where the most of researches considered Fog as a reason for violation privacy, while we proposed many scenarios employed Fog properties to protect privacy as a new dimension of using Fog computing.
The concept of privacy is different from security and it is more complex, the security concerns about protecting data on the link between two sides user and server provider, or protect user and server provider themselves, while in the privacy, user sends his data to server provider and at the same time he doesn’t trust the server provider, so wants to protect his sensitive data from it [3].
Many traditional approaches have been provided in this domain as K-Anonymity, Obfuscation, Dummies, Cooperation, etc. but these approaches had some open problems until now in performance, the accuracy of results, and need to trust in a third party. In addition, they are not suitable for many of smart city applications [24, 43].
-
-
B.
Opportunities
As we mentioned in the previous sections, the Fog has to integrate with the cloud to enhance the provided services, and to pave the road for creating new services in various major areas. Also, we proposed a novel idea of using Fog computing to find new techniques to protect privacy.
First technique can be used in case of E-Healthcare systems [44, 45]. It is dependent on the Fog’s capability to be a blind broker between users and cloud to hide user’s identity. Where user encrypts his data plus his random key and sends it to Fog to hidden his identity from the cloud without disclosing his information, also the response will be encrypted by using a random key.
Second technique depended on the capability of Fog to perform some processing as (B- face reorganization system), where Fog calculates the features of the image and sends them instead of the original image that means preserving personal information from the cloud [45, 46].
Third technique depended on the cooperation between Fogs themselves to protect user location without affecting the quality of system as (C- traffic system), here each two Fog nodes can exchange the locations of two users and then send it to cloud which will collect false information about each user without changing the total number of vehicle in each area [47, 48].
Fourth technique depended on the caching property in Fog node, so it is can store some of the users’ query answers to use them in answering future queries without connecting to server provider [49, 50]. Finally, the last idea can integrate with any of other previous ideas to form new effective methods.
5 Conclusion and future trends
In this paper, we have presented an overview of IoT and computing models especially the Fog computing, its properties and features. We have also provided a comparison between cloud computing and Fog in some important applications. Our discussion of cases of applications using Fog clearly demonstrates benefits of Fog in IoT based applications.
Finally, we have listed and discussed most of the limitations of Fog computing with a focus on privacy. In addition, we have floated some ideas of using Fog to enhance new methods of preserving privacy.
In summary, some of the future trends in Fog computing can listed as:
-
Create a standard framework to manage IoT objects, Fog nodes, Cloud, and relations among them.
-
Find uniform protocol for connecting between users and objects, and Fog nodes.
-
Develop new approaches to enhance security and privacy protection which is considered the biggest challenge faced by IoT based applications.
-
Enhance the resources of Fog nodes and employing them in new applications.
-
Find simulation tool, and Fog dedicated programming language to deal with Fog nodes and manage the cooperation between these nodes.
References
Da Xu L, He W, Li S (2014) Internet of things in industries: a survey. IEEE Trans Ind Inf 10(4):2233–2243
Bandyopadhyay D, Sen J (2011) Internet of things: applications and challenges in technology and standardization. WirelPersCommun 58(1):49–69
Abi Sen A, Albouraey F, Jambi KA (2017) Preserving privacy of smart cities based on the fog computing. Smart societies infrastructure technologies and applications (SCITA). Springer, Berlin
Alam F, Mehmood R, Katib I, Albogami N, Albeshri A (2017) Data fusion and IoT for smart ubiquitous environments: a survey. IEEE Access
Deshmukh UA, More SA (2016) Fog computing: a new approach in the world of cloud computing. Instructional Technology, New York, p 49
Aazam M, Huh EN (2016) Fog computing: the cloud-IoT\/ioe middleware paradigm. IEEE Potentials 35(3):40–44
Yi S, Li C, Li Q (2015) A survey of fog computing: concepts, applications and issues. In: Proceedings of the 2015 workshop on mobile big data, ACM. pp. 37–42
Saharan KP, Kumar A (2015) Fog in comparison to cloud: a survey. Int J Comput Appl 122(3):1
Roman R, Lopez J, Mambo M (2016) Mobile edge computing, fog et al: a survey and analysis of security threats and challenges. FuturGener Comput Syst 78:680–698
Gonzalez NM, Goya WA, de Fatima Pereira R, Langona K, Silva EA, de BritoCarvalho TCM, Sefidcon A (2016) Fog computing: data analytics and cloud distributed processing on the network edges. In: Computer Science Society (SCCC), 2016 35th international conference of the Chilean, IEEE. pp. 1–9
Yi S, Hao Z, Qin Z, Li Q (2015) Fog computing: platform and applications. In: Hot topics in web systems and technologies (HotWeb), 2015 3rd IEEE workshop on IEEE. pp. 73–78
Firdhous M, Ghazali O, Hassan S (2014) Fog computing: will it be the future of cloud computing?. The third international conference on informatics and applications (ICIA2014).
Sun X, Ansari N (2016) EdgeIoT: mobile edge computing for the internet of things. IEEE Commun Mag 54(12):22–29
Suryawanshi R, Mandlik GANESH (2015) Focusing on mobile users at edge and Internet of Things using fog computing. Int J Sci Eng Technol Res 4(17):3225–3231
Tordera EM, Masip-Bruin X, Garcia-Alminana J, Jukan A, RenGJ, Zhu J, Farre J (2016) What is a fog node a tutorial on current concepts towards a common definition. arXiv preprint. arXiv:1611.09193
Dastjerdi AV, Gupta H, Calheiros RN, Ghosh SK, Buyya R (2016) Fog computing: principles, architectures, and applications. arXiv preprint. arXiv:1601.02752
Singh M, Kaur R (2016) Integration of IoT and fog: need of the hour. Int J Adv Res Comput Sci 7(6):1
Hosseinpour F, Plosila J, Tenhunen H (2016) An approach for smart management of big data in the fog computing context. In: Cloud computing technology and science (CloudCom), 2016 IEEE international conference on IEEE. pp. 468–471
Bonomi F, Milito R, Natarajan P, Zhu J (2014) Fog computing: a platform for internet of things and analytics. Big data and Internet of Things: a roadmap for smart environments. Springer, Berlin, pp 169–186
Mahmud R, Kotagiri R, Buyya R (2018) Fog computing: a taxonomy, survey and future directions. Internet of everything. Springer, Singapore, pp 103–130
Alrawais A, Alhothaily A, Hu C, Cheng X (2017) Fog computing for the Internet of Things: security and privacy issues. IEEE Internet Comput 21(2):34–42
Chiang M, Zhang T (2016) Fog and IoT: an overview of research opportunities. IEEE Internet Things J 3(6):854–864
Lee K, Kim D, Ha D, Rajput U, Oh H (2015) On security and privacy issues of fog computing supported Internet of Things environment. In: Network of the future (NOF), 2015 6th international conference on the IEEE. pp. 1–3
Yamin M, Sen AAA (2018) Improving privacy and security of user data in location based services. Int J Ambient Comput Intell (IJACI) 9(1):19–42
Jalali F, Hinton K, Ayre R, Alpcan T, Tucker RS (2016) Fog computing may help to save energy in cloud computing. IEEE J Sel Areas Commun 34(5):1728–1739
Albouq SS, Abi Sen AA, Namoun A, Bahbouh NM, Alkhodre AB, Alshanqiti A (2020) A double obfuscation approach for protecting the privacy of IoT location based applications. IEEE Access 8:129415–129431
Asemani M, Abdollahei F, Jabbari F (2019) Understanding IoT platforms: towards a comprehensive definition and main characteristic description. In: 2019 5th international conference on web research (ICWR) IEEE. pp. 172–177
Puliafito C, Mingozzi E, Longo F, Puliafito A, Rana O (2019) Fog computing for the internet of things: a survey. ACM Trans Internet Technol (TOIT) 19(2):1–41
Tang B, Chen Z, Hefferman G, Wei T, He H, Yang Q (2015) A hierarchical distributed fog computing architecture for big data analysis in smart cities. In: Proceedings of the ASE bigdata and socialinformatics ACM. p 28
Sun L, Yamin M, Mushi C, Liu K, Alsaigh M, Chen F (2014) Information analytics for healthcare service discovery. J Healthc Eng 5(4):457–478
Chakraborty S, Bhowmick S, Talaga P, Agrawal DP (2016) Fog networks in healthcare application. In: Mobile Ad Hoc and sensor systems (MASS), IEEE 13th international conference on IEEE. pp 386–387
Chetty G, Yamin M (2015) Intelligent human activity recognition scheme for ehealth applications. Malays J Comput Sci 28(1):59–69
Hu P, Ning H, Qiu T, Zhang Y, Luo X (2017) Fog computing-based face identification and resolution scheme in internet of things IEEE. Trans Ind Inf 13(4):1910–1920
Al-Doghman F, Chaczko Z, Ajayan AR, Klempous R (2016) A review on Fog computing technology. In: Systems, man, and cybernetics (SMC), 2016 IEEE international conference on IEEE. pp 001525–001530
Yamin M, Al Amri AS (2016) Mobile applications and customers satisfaction in saudi electricity company. Int MultilingAcad J 2(1):1
Al-Ismail M, Gedeon T, Yamin M (2017) Effects of personality traits and preferences on M-learning. Int J InfTechnol 9(1):77–86
Mehmood R, Alam F, Albogami NN, Katib I, Albeshri A, Altowaijri SM (2017) UTiLearn: a personalised ubiquitous teaching and learning system for smart societies. IEEE Access 5:2615–2635
Mohammadian M, Yamin M (2017) Intelligent decision making and analysis using fuzzy cognitive maps for disaster recovery planning. Int J InfTechnol 9(3):225–238
Basahel A, Yamin M (2017) Measuring success of e-government of Saudi Arabia. Int J InfTechnol 9(3):287–293
Yamin M, Al Harbi O (2016) Online shopping adoption in saudiarabia: an empirical research. Int MultilingAcad J 2(1):1
Yamin M (2015) Health management in crowded events: Hajj and Kumbh. BIJIT-BVICAM's. Int J InfTechnol 7(1):791–794
Aazam M, Huh EN (2014) Fog computing and smart gateway based communication for cloud of things. In: Future internet of things and cloud (FiCloud), 2014 international conference on IEEE. pp 464–470
Alrahhal MS, Ashraf MU, Abesen A, Arif S (2017) AES-route server model for location based services in road networks. IJACSA 8:8
Fouz F, Sen AA (2016) Performance and scheduling of HPC applications in cloud. J Theor Appl Inf Technol 85(3)
Yamin M, Basahel AA, Abi Sen AA (2018) Managing crowds with wireless and mobile technologies. Wirel Commun Mob Comput
Al-Rahal MS, Abi Sen ADNAN, Basuhil AA (2016) High level security based steganoraphy in image and audio files. J Theor Appl Inf Technol 87(1)
Basahel AM, Sen AAA, Yamin M, Alqahtani S (2019) Bartering method for improving privacy of LBS. IJCSNS 19(2):207
Yamin M, Alsaawy Y, Alkhodre BA, Sen A, Ahmed A (2019) An innovative method for preserving privacy in Internet of Things. Sensors 19(15):3355
Sen AAA, Eassa FA, Jambi K, Yamin M (2018) Preserving privacy in internet of things: a survey. Int J Inf Technol 10(2):189–200
Sen AAA, Eassa FB, Yamin M, Jambi K (2018) Double cache approach with wireless technology for preserving user privacy. Wirel Commun Mob Comput
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sen, A.A.A., Yamin, M. Advantages of using fog in IoT applications. Int. j. inf. tecnol. 13, 829–837 (2021). https://doi.org/10.1007/s41870-020-00514-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41870-020-00514-9