1 Introduction
Nowadays, the Internet of Things (IoT) has entered many sections including smart buildings, universities, and cities, intelligent transportation systems, healthcare, and industry [1]. IoT produces a huge amount of data, which is traditionally managed by cloud computing [2].
Cloud computing provides users with various functionalities for storing and processing data [3]. Smart devices typically suffer from resource limitations including storage and processing, problems which are addressed by transferring these operations to the cloud [4]. However, in cloud computing, long and costly communications create a bottleneck around the cloud [5].
With the advancements of IoT and smart devices, real-time management of large amounts of produced data has turned into a fundamental challenge. In order to solve this problem, researchers have proposed the paradigm of fog computing [6].
Fog computing is a distributed infrastructure and a solution for the limitations of cloud computing. In fog computing, data storage and processing is done at the network’s edge [7]. Therefore, latency is negligible, since the location of data collection and processing is close to the user and there is no need for transferring the data to the cloud [8].
Also, by lowering the amount of data sent to the cloud, congestion is reduced and bandwidth is saved [9]. In fact, fog computing layer is situated between cloud computing and end user devices; therefore, it is a bridge with the ability to handle many computational and storage tasks [10].
Context-awareness is one of the fundamental features of systems and applications in new computational models like fog computing [11, 12]. Nowadays, billions of smart devices, which continuously generate data, are connected to the Internet.
Context-awareness plays an important role in making decision about which data should be processed for a specific task as well as how to process it [13].
Hence, collection, modeling, inference, and aggregation of contextual information are important issues in new computational models [14, 15].
Despite the increased importance of fog computing and context-awareness, and the initiation of various related studies in recent years, not any review study has been performed on fog-based context-aware systems. Therefore, this paper proposes a framework for reviewing fog-based context-aware systems, which includes two dimensions of application domain and context-awareness. Then, according to these dimensions, related studies are investigated and classified, and finally, the existing challenges and future research directions are explored.
The structure of the rest of the paper is as follows: Section 2 describes the proposed framework as well as the features of the investigated projects. In section 3, studies are reviewed and classified according to the application domain. Section 4 reviews the projects from a context-awareness perspective. Finally, section 5 presents the conclusion remarks as well as future research directions.
2 Proposed Framework
In this paper, fog-based context-aware studies are reviewed. Figure 1 illustrates the reviewing framework. Most of these articles have been published in the last year, which demonstrates the novelty of the topic. Table 1 shows the general features of the projects being investigated.
Project | Organization | Year | Publication | Implementation | Fog contribution | ||
Journal | Conference | Book section | |||||
S-Environment [14] | Thapar University, India | 2017 | * | Home gateways,Routers, PCs | Providing real-time service | ||
S-E-Health [15] | University of California Irvine, USA | 2018 | * | Gateways | Removing delay | ||
CARDAP [16] | Monash University, Australia | 2014 | * | Smart phones | Reducing energy consumption | ||
PPP-IoV [17] | Guangdong University of Technology, China | 2017 | * | RSU (Road Side Unit), Base stations | Removing delay,Reducing energy Consumption | ||
SoLVE [18] | Federal University of Roraima, Brazil | 2017 | * | Vehicles,RSU,STL(Smart Traffic Light) | Removing delay,Performing real-time processing | ||
LAM [19] | University of Melbourne, Australia | 2018 | * | Set-top boxes,Gateway routers,Smart switches,Proxy-server | Removing delay,Reducing network congestion,Improving quality of service |
They generally exploit fog computing for removing delay and performing real-time processing, reducing energy consumption and network congestion, and improving quality of service. Clouds are a powerful source of processing and storage, but they are very distant from users’ devices.
As a result, running real-time or interactive programs on them is impossible. Therefore, fog computing is widely used for removing delays.
For example, in the PPP-IOV project, an alias design for privacy protection is proposed using the abundant resources at the network’s edge.
Fog computing improves the performance of Internet of vehicles, localizes decision making, and reduces communication delay. Short communications also reduce energy consumption.
The LAM project uses fog computing for reducing network congestion and improving quality of service. As a computational paradigm, fog computing connects cloud datacenters from one side to the IoT devices on the other side, and is accessible as an infrastructure and a platform for providing various software services. Therefore, fog computing reduces network bottleneck by bringing the capabilities of cloud computing to the network’s edge. Reducing network congestion also improves quality of service.
Generally, the advantage of fog computing in the projects being studied includes local data processing and storage. In new computing models, the sensors continuously produce data that is often costly to be stored and processed in dedicated servers or cloud. Therefore, fog computing is used as a local resource of processing and storage.
For example, in the S-E-Health project, the fog layer locally processes the data to be able to quickly detect the fall of the elderly person.
As a result, the system reacts to emergencies more quickly and reliably.In addition, local analysis of data and providing a local feedback from the sensed data increase the reliability and robustness of the system in case of not having access to the Internet.
We need storage of raw data for doing many processes including preprocessing, filtering, compression, encryption, and mining. In fact, in case of disparity at the rates of processing and transferring data, fog acts as a resource for local storage or as a cache for the data stored in the cloud. Computer nodes near the user are generally used as the fog’s infrastructure.
In the projects being studied, home gateways, routers, PCs, smartphones, roadside units, set-top boxes, smart traffic lights, smart switches, and proxy servers are used for physical implementation of fog computing.
In the following sections, the projects are investigated from the two dimensions of domain type and context-awareness. og computing has led to the creation of a new generation of programs and services in different domains [7].
In the next section, the application domains of fog computing will be investigated thoroughly and the projects being investigated are classified, accordingly: “Context is the information used for describing an entity. The entity can be a person, place, or object that is relevant to the interaction between the user and the application” [22].
Context-awareness plays a major role in new computing services [23]. In section 4, services based on fog computing are investigated from the context-awareness perspective.
3 Project Review: Domain
In this section, the most important domains that the new paradigm of fog computing has entered, are investigated. According to the investigations carried out in previous studies, the application domains of fog computing are as follows.
Healthcare: One of the prominent domains that has long attracted the attention of researchers is healthcare [24]. It is among the leading practical domains in which many studies have been carried out. Before the emergence of fog computing, clouds were used for providing healthcare services in the Internet of things technology.
Monitoring systems capable of receiving bio-signals from sensing nodes send this data to the cloud server to be processed, visualized, and recognized [25]. But the daily growth of IoT devices and the large amounts of data generated have caused an increase in network congestion, which may cause some problems including the violation of the real-time feature [26].
The emergence of fog computing has resolved the challenges of the healthcare domain such as requiring real-time interactions [27]. The studies have also shown that using fog computing in this domain will cause more bandwidth saving as well as lower response time [25].
Among the investigated projects, the LAM system assesses the condition of asthma patients and uses fog computing to be able to run large scale programs. In the S-E-Health project, a system for monitoring the conditions of the elderly and patients suffering from chronic diseases is provided, which uses fog computing for processing, compressing and analyzing the data.
Smart Environment: Smart environments are among the most practical domains of IoT solutions. The smart environments domain is very broad and includes smart cities, smart homes, smart schools, among others [28].
A smart city uses various electronic sensors for collecting and analyzing data. The information collected from citizens, devices, and municipal resources are processed in order to improve social services [29].
In this regard, the CARDAP project is designed for crowd sensing in smart city that uses fog computing for processing and analyzing large amounts of data. The S-Environment project proposes a smart home along with its services through fog computing.
A smart home is one in which all devices are connected to one another and controlled with a service, in a way that air conditioners, lights, locks, etc. are easily controlled from anywhere in the house or even away from house [30, 31]. In the S-Environment project, smart environment services include controlling temperature, adjusting brightness, and measuring air quality. For example, the lights are adjusted based on the presence of individuals in different areas of the home. The home air quality is also measured by sensing smoke and LPG levels.
VANET: Considering the increasing number of cars, traffic, and accidents, another important and practical domain of fog computing is VANET [32]. VANET is a type of Adhoc network, which facilitates inter-vehicle communications as well as communications between vehicles and stationary roadside units (RSUs) [33]. The main purpose of VANET is to bring safety and comfort to travelers [34].
In this regard, the PPP-IoV project presents a distributed fog-based alias management system for protecting the privacy of cars. In traditional alias systems, a central approach is employed which leads to delays and high costs. Nowadays, vehicles are equipped with the global positioning system (GPS), which can estimate its own coordinates. However, GPS may be inaccessible in some cases, like tunnels, which are invisible to satellites. In this regard, the SoLVE project presents a real-time framework to locate cars using fog computing. Finally, table 2 summarizes the domain type of the projects being investigated.
4 Project Eeview: Context-Awarness
Nowadays, mobile applications are smart and context-aware and are able to adapt to environmental situation.
Contextual information is an inseparable part of context-aware applications. In this section, the type of contextual information used by fog computing applications is investigated.
Previously, several general categorizations for contextual information have been proposed [12]. However, these classifications may not be suitable to specialized domains. In this study, we classify context into two general and specialized categories. In the following, the projects are discussed, accordingly. Table 3 summarizes the types of contextual information used in the investigated projects.
Project | Context | |
Specialized | Generalized | |
S-Enviroment | - | Season, Presence, Time of Day LPG level, Smoke level Posture, Current Light Level |
S-E-Health | - | Time, Location, Date, Temperature |
CARDAP | - | Location, Time |
PPP-IOV | The number of vehicles that want to change their pseudonym at the same time. | - |
The number of pseudonyms that each vehicle requests. | ||
The time interval after which the pseudonym must be changed. | ||
SoLVE | Signal Strength Indicator, Direction of car, Speed | Time of Arrival, Difference of Arrival |
LAM | Module execution location. | - |
Module storage location. | ||
Network node information. |
General Context: General context refers to the information which is generic, not related to any particular domain, and used by applications of various domains. Among the projects being investigated, time and place are the most common context elements, which are used in most of the projects.
For example, in the SoLVE project, the time distance of vehicles to the next roadside unit (RSU), speed, and the direction of vehicle can be determined using the vehicle’s time of entry to the region of each RSU.
In the S-Environment project, the home temperature can be controlled using the thermostat according to the season of the year, time of day, and presence of individuals in the house. Moreover, in order to observe air quality, the amount of LPG gas and indoor smoke are measured. If this amount is higher than a threshold, the air conditioning system will be activated.
In addition, the level of brightness in the house is controlled according to the presence of individuals, time of day, level of light in that time of day, and the person’s situation (sitting, sleeping, etc.).
In the S-E-Health project, the room temperature, time, location of patient, and the patient monitoring schedule are used to ensure the patient situation is satisfactory.
Finally, in the CARDAP project, a platform for determining the activities of individuals according to their location and time is proposed.
Specialized Context: Some contextual information is related to specific domains. In this regard, in the SoLVE project, the position of vehicles is estimated using signal strength indicator.
The higher the strength of signals received by RSUs from vehicles, the closer the vehicle is estimated to be. In addition, in order to fully protect the privacy of safety messages sent by vehicles to each other, the PPP-IOV project enables vehicles to use aliases. Local authorities (group managers) located at the edge of the network use information, like the number of vehicles trying to simultaneously change their aliases, the number of aliases requested by each vehicle, and the time after which the alias must change, to assist in the process of changing vehicles’ aliases. Finally, in the LAM project, information like the place of running and storing module and other network’s nodes information are used to establish a connection and transfer information between program modules.
5 Conclusion
In this paper, fog-based context-aware systems have been investigated from the perspectives of application domain and context-awareness. Although the main role of fog computing has been reducing delay and providing real-time services, it has also been used for decreasing network congestion and improving quality of service.
Besides, various nodes such as gateways, routers, PCs, laptops, set top boxes, smart switches, proxy servers, vehicles, and RSUs have been utilized for fog infrastructure.
From among various domains, the fog computing has only entered healthcare, VANET, and smart places, which shows that this computing paradigm is still in its initial stages.
Likewise, from various contextual information, only a few of them has been exploited in the corresponding applications that shows we are still far from completely realizing context-awareness vision.
In fact, fog computing is a new paradigm, still in its infancy, that tries to overcome the issues of scalability, reliability, and discovery of resources and provide a platform for aggregating with other computing models such as cloud computing, context-awareness and Internet of things. Investigating new architectures and frameworks that aggregate fog computing into related computing models is a fundamental next research direction.
It is expected to see a large number and more specialized research in fog computing in the future.