1 Introduction

With the use of a technology-based healthcare approach, there is possibly an excellent opportunity to improve the quality and efficiency of medical treatment, increasing patient well-being [1]. One of the biggest problems for governments, healthcare companies, and related professionals is the cost of healthcare [2]. Throughout the world, with increased health spending and the occurrence of many diseases, it has become a necessity to focus on the person-centered environment, not just the hospital [3].

In many healthcare monitoring systems, cloud computing servers have been used to store and process a vast amount of data collected from sensor nodes [4]. Cloud computing is an architecture model that can provide convenient access to the network for a set of fast, configurable computing capabilities for delivery and release with low management effort or interaction with the service provider [5].

Despite the benefits of this technology, for many healthcare applications, a sensor-based cloud architecture may not be viable [6]. For example, applications for healthcare are considered latency-sensitive. They generally process vital data that is monitored by Internet of Things (IoT) devices [7]. To design real-time healthcare applications, we need to address the latency drawback [8]. Also, conventional IoT systems still have several limitations in terms of reliability, communication bandwidth, and accessibility [9].

One possible approach to addressing these gaps between IoT devices and analytics in healthcare applications is fog computing. The concept of fog computing was coined by industry [10] as a metaphor for the idea that fog is a location between the cloud (data centers) and the ground, where end-user devices are located. The use of fog computing for monitoring IoT devices has been pointed out by the scientific community as a possibility for addressing the cloud computing limitations [7].

Mokhtari defines fog computing as a technology that provides a scalable solution for cloud computing, which provides storage and computation close to the end [11]. The application of fog computing principles can benefit a large number of computing tasks in healthcare [6]. For instance, there is an increased probability of processing and transmission errors as health datasets become larger and more complex, and may lead to wrong treatment decisions [4].

Since fog can provide storage and computing services closer to the end devices, it can aggregate, process, and store a vast amount of information, enabling real-time analysis. Because medical sensors generate data frequently, the performance of the real-time analysis may be improved, supporting intelligent data analysis and decision making based on local policies and network resources of the end-users [12].

Recently, some articles are advocating for the use of fog computing in health care. The work of [6], presents a review on fog computing within healthcare, exploring different applications through use cases presented in the literature. Another relevant survey is the article of [13], introducing the concept of the Internet of Things to the medical audience by exploring the state of the art of IoT based technology for primary healthcare in the hospital environment. All of these articles explore the fog computing within the health field of study, but they do not propose a taxonomy for the area. Besides, some of them are much specific, not supporting the whole possible applications of fog computing in the healthcare area.

Due to this lack of compilation of recent articles, we have been motivated to propose this study focusing on the development of a fog computing taxonomy based exclusively on the specifics of the health area. We also discuss the leading applied technologies, services, and application of a fog computing architecture for healthcare.

This article is divided into five subsequent sections. In Section 2, we explain the main concepts and concerns regarding Fog computing and healthcare. Section 3, Materials and Methods, describes the process and methodology applied in this research. In the section of Results and Discussion, we go deeper into presenting the challenges, issues, and future directions in this field of study. Finally, in Section 5, we summarize the main conclusions of this work.

2 Fog computing and healthcare

Cloud computing can provide ubiquitously, on-demand, and convenient network access to computing resources (such as servers, storage, networks, applications, and services), which can be shared and provisioned quickly, with minimal interaction effort or service provider management [5]. These platforms possess characteristics of both clusters and Grids, with its particular attributes and capabilities, such as strong support for virtualization and dynamically composable services with web service interfaces. As a result, such environments enable the creation of third-party, value-added systems by leveraging compute, storage, and application services while abstracting the required hosting infrastructure [14].

In many health care monitoring systems, remote cloud servers have been used to store and process a vast amount of data collected from sensor nodes [4]. However, there are many challenges regarding access latency, location definition, and large data transmissions. There is an increased probability of processing and transmission errors as health datasets become larger and more complex, where a single error in the data analyzed may lead to imprecise treatment decisions and crucially affect the life of a human being [4]. One possible approach to addressing the gap between sensors and analytics in healthcare applications is fog computing.

The concept of fog computing was coined by industry [10] as a metaphor for the idea that fog is a location between the cloud (data centers) and the ground, where are the devices belonging to users. Mokhtari defines Fog computing as a technology that provides a scalable solution for cloud computing, which provides storage and computation close to the end [11].

The applying of fog computing principles can benefit a large number of computing tasks in healthcare [6]. Since fog can provide storage and computing services closer to the end devices, it can aggregate, process, and store a vast amount of information, enabling real-time analysis. Since medical sensors generate data frequently, the performance of the real-time analysis may be improved, supporting intelligent data analysis and decision making based on local policies and network resources of the end-users [12].

Fog-computing provides a scalable solution for cloud computing, which provides storage and computation close to the end devices [11]. These tasks may be to support essential network functions or new services and applications that run in a sandbox environment. Users who make available part of their devices to host these services receive incentives to do so [15]. More recently, Iorga et al. [16] defined fog computing as a layered model to allow ubiquitous access to a shared continuum of scalable computing resources. This idea facilitates the deployment of latency-aware distributed systems and services, and it is based on physical or virtual fog nodes located between smart devices and centralized services.

With the use of fog computing in healthcare, there is an unprecedented opportunity to improve the quality and efficiency of the medical treatment and consequently promote patient wellness, as well be a better application of government financial resources[1]. For instance, since fog can provide storage and computing functionality closer to the end devices, it can aggregate, process, and store information locally, executing real-time analysis. Because medical sensors generate data with high frequency, the performance of the real-time analysis can be improved, providing intelligent data and decision making according to local policies and the network resources available to the end-users [12].

The number of publications in the field of study of fog computing is increasing, especially in the area of healthcare. Currently, due to the large number of healthcare applications proposed in the literature, it is difficult to perceive all possible strengths and weaknesses in different strategies of fog architectures. Similarly, we cannot imagine the mix of components of a possible fog architecture without a literature review. The work [17] proposes a three-layer patient-driven healthcare architecture for real-time data collection, analyzing the challenges and open issues of this area. The article [6] lists the architecture, key technologies, applications, and related open issues. The work of [18], deals with the challenges of IoT in medicine and healthcare. The work [19] proposes an architecture and lists the key technologies, applications, and open issues. The article [8] reveals some research challenges in healthcare and state-of-the-art of fog computing. Finally, the work of [20] describes some challenges implementing fog computing networks in the area of healthcare.

Different from related work, our approach was to propose a taxonomy based on characteristics and features such as services types, challenges, open questions, and possible layers that a healthcare application with fog can be built. We also review different aspects of fog computing for healthcare, including challenges, types of services, and technologies used in each fog layer. In the following section, we describe the method used to develop this taxonomy.

3 Material and methods

This work presents a systematic literature review designed to provide a research overview of fog computing being applied to the health area. We propose to verify and quantify research evidence on these topics [21]. We used this type of literature review approach because our goal is to summarize the technology regarding fog computing being applied to the health and identify promising directions, which does not require an in-depth analysis and synthesis. Moreover, to increase the reproducibility of our results, we follow the well-documented study protocol as proposed by Biolchini et al [22].

The method that we did the systematic literature review was based on the original work of Kitchenham [23], which defines the following activities:

  1. 1.

    Research questions: introduce the research questions investigated;

  2. 2.

    Search strategy: outline the strategy and libraries explored to collect data;

  3. 3.

    Article selection: explain the criteria for selecting the studies;

  4. 4.

    Distribution of studies: present the chronological distribution of the studies;

  5. 5.

    Quality assessment: describe the quality assessment of the selected studies;

  6. 6.

    Data extraction: compare the selected studies and research questions.

The following sections describe how we performed this process.

3.1 Research questions

One of the essential processes of any systematic review is the selection of research questions [24, 25].

In this way, we try to map and classify the technologies that are related to Fog Computing and healthcare, such as the characteristics, challenges, issues, and solutions that are today considered and the existence of possible research opportunities.

We separate the questions into two groups: general research questions (GRQ) and specific research questions (SRQ). The goal of general research questions is to address broader concerns about fog computing applied in the healthcare field of study. In turn, the specific research questions explore particular challenges, being more focused on the architecture of fog computing technologies applied for the healthcare area.

Therefore, we formulate two general research questions, one focused on a taxonomy for Fog computing applied to healthcare, and other dealing respective research challenges. Also, we created four specific research questions. The first concerns applications and services, and the remaining three regard technologies used in fog, cloud, and client layers, respectively. Table 1 describes all the research questions studied.

Table 1 Research questions proposed

3.2 Search strategy

The main objective of the search strategy was to find relevant works regarding Fog Computing and Health Care. We had defined the search scope and keywords according to the work of [23]. In this way, we selected all the words related to the topic of research for more accurate results. We also applied the PICOC (population, intervention, comparison, outcome, and context) method, from Petticrew [25], as a guideline to define the strategy.

The search strategy consisted of constructing keywords for querying related works in the field of fog computing and health care. The variants and synonyms, such as “healthcare” and “health” were also considered for use as keywords. Following, we present the resulting search string used to select articles.

(“fog computing” ) and (“health” or “healthcare” )

We used the following terms to better filter studies in line with our focus: “health”, “fog computing” and “healthcare”. We analyzed the context of fog and healthcare information coverage in terms of standardization, information grouping, security, and privacy. In the search scope phase, the data were obtained from electronic databases applying the created keywords.

3.3 Article selection

To select the articles, we removed all those that were not relevant to the topics of fog computing and healthcare. Thus, we removed articles that did not report the fog explicitly. To use the exclusion criteria, we use the population terms and intervention criteria as follows:

  • Exclusion criterion 1: article does not address “fog” or related acronyms (population criterion I).

  • Exclusion criterion 2: article does not address “health” or “healthcare” or related acronyms (intervention criterion II).

The steps of the filtering process are as follows:

  1. 1.

    impurity removal;

  2. 2.

    filter the title and abstract;

  3. 3.

    removal of duplicates;

  4. 4.

    filter the entire text content;

  5. 5.

    article must have a minimum of 6 pages.

First, we have removed the impurities of the search results. These include, for example, conference abstracts correlated to the search keywords, academic thesis or dissertation, books, or articles not related to fog and healthcare fields of research.

Second, we excluded articles that the title and abstract did not mention the fog Computing and healthcare terms. Third, we have grouped the remaining articles and have removed the duplicates. Fourth, we carefully read the articles looking for architectures related to computing and healthcare. Those articles deemed not relevant to our focus were removed from the corpus. Finally, we only kept six pages or more articles.

3.4 Quality assessment

This criterion was proposed to verify that the article is a relevant study being necessary to evaluate the quality of the selected works [23]. We assessed the selected articles considering the purpose of research, contextualization, literature review, related work, methodology, the outcome, and the conclusion according to objectives and indication of future studies. We present the quality assessment in the Table 2.

Table 2 Quality criteria used to analyze the articles

3.5 Data extraction

In order to get information about the studies and the sections where we found answers to general and specific research questions, an evaluation form for the selected articles was developed, as showed in Table 3.

Table 3 Article sections related to proposed research questions

4 Results and discussion

In this section, we discuss the recruitment of the article, the selection process, and present the main results of this work.

4.1 Recruitment

We present the outcomes correlated with the research topic from the 44 articles studied. We try to answer each question of the research proposed in the following subsections, through the synthesis of information elaborated. As an outcome, we have also proposed a new taxonomy and a renovated overview of the key challenges and issues, as well as an updated survey on data types, patterns, user types, profiles, and entry techniques for the Fog Computing and healthcare field of study.

4.2 Conducting the search strategy

We have selected Please confirm if figure 1 is captured correctly. the following electronic databases as our research scope: Google Scholar, ACM, IEEE, Science Direct, Elsevier, and Springer. These online databases cover the most significant journals and conferences within the computer science and healthcare area. We employed Manual filtering to eliminate duplicate results from different databases in the study selection. To limit our search, we have set the search range from 2008 to 2018.

4.3 Proceeding with article selection

Figure 1 describes the selection process, demonstrating how the filtering process works. We found 1070 papers in the preliminary search before using the exclusion criteria; of these, 843 (78.79%) papers were considered as impurities. After applying a filter by title and abstract, 115 (10.75%) was irrelevant. Therefore, 8 (0.75%) articles were considered as duplicates and were very similar. Next, exclusion criterion 2 was used to the text content and excluded 24 (2.24%) articles. Finally, all the 36 (3.36) articles with six pages or less were dropped. Therefore, the final selection was of 44 articles (4.11%). Table 4 describes the final corpus of articles. Additionally, we provide in Fig. 2, a list of articles per year grouped by their respective publishers.

Fig. 1
figure 1

Number of articles removed by the filtering process

Fig. 2
figure 2

Number of articles per year grouped by publishers

Table 4 Final list of selected articles

4.4 Data extraction and answers to the research questions

Now, we answer, in this section, the proposed research questions. Both, General Research Questions (GRQ) and Specific Research Questions (SRQ) are addressed.

GRQ1: How would the taxonomy classification relative to the intersection of fog and health area should be?

We have investigated a number of current questions in the field of fog computing and healthcare. Therefore, we have been able to develop a taxonomy to gather and organize the various possibilities of architectures to be used. The proposed taxonomy is described in Fig. 3.

Fig. 3
figure 3

Proposed taxonomy

These groups have been inspired from the article “The NIST definition of fog computing” [16].

GRQ2: What are the main challenges and open questions relative to the intersection of fog computing and health area?

We have made a study of main challenges, open questions, aspects, and common concerns related the use of fog Computing intersected with health area. We present the results in Table 5. The importance of enumerating this challenges is fundamental to being aware of the research topics that are currently wide studied by the academic community. The selected challenges are Data Management, Scalability, Interoperability, Security and Privacy, as we can visualize in Fig. 4 and described textually below.

Fig. 4
figure 4

Subset of proposed taxonomy

Table 5 Challenges and related articles

Data management, means how the cloud integrates data from multiple sources, captures the data from many fog nodes and stores the data safe and secure. The scalability is the ability of a network, system or process to deal with a increasing amount of work, or its potential to be increased to adapt that growth [68]. Interoperability is typically considered as the ability to easily move workloads and data from one cloud provider to another or between private and public clouds [69]. Security and Privacy are always considered in context of computing and information security, in this work.

For the question GQ2, we tried to find out the main challenges and questions of the use of Fog computing applied to healthcare area. The overviewed challenges found in the majority of articles are related the question of security (40 articles) and privacy (26 articles). Thus, Interoperability of the system was the next big challenge followed by the problem of scalability (19 articles) and data management (111 articles).

SRQ1: What are the main types of applications or services relative to the intersection of fog and health area? The types of applications are considered important because the classification in groups should help the researchers focus in a topic or a group of topics of investigation. The main types of applications selected are: mHealth, Medication, Recommender Service, Real-time health analytics, Continuous monitoring of health, Prognostics & health management (PHM) and, Ambient Assisted Living (AAL), and are summarized in Table 6 and Fig. 4.

Table 6 List of Applications and related articles

The m-Health type of application consists of health applications that use mobile devices. Medication is an application considered usually to support the process of a doctor medicate a patient. A recommender service is an application that can suggest some service or information for a person in this context applied in the health area. A real-time health analytic application can process and analyze health data in real-time. Continuous monitoring of health consists of applications that have the function of support this type of monitoring of a patient. Prognostics & health management applications help doctors predict the health of a patient and manage them. Finally, the Ambient Assisted Living application is which can enable elderly and people with some limitations to be assisted in their daily routine, independently and safely [70]. With the question SQR1, we tried to set a general classification of application categories. We observed that real-time data analytics is a great representative (10 articles).

The m-Health (8 articles) and Ambient Assisted Living (8 articles) applications appear commonly in the selected papers. The Medication application type (7 articles) and Continuous monitoring of health (6 articles) are also a standard solution using fog computing. Other types of applications, such as Recommender Service (1 article) and Prognostics & Health Management (2 articles) have been identified.

SRQ2: What types of technologies are commonly used in device layer relative to the intersection of fog and health?

The device layer is the closest layer from the perspective of a user. In this taxonomy, it consists of the following groups: int erface protocols and sensors, as listed in Table 7 and Fig. 5. The environment of the application forms the interface group: Wearable / Anywhere, Smart home, or Smart City. The protocols group is related to Data Format and Application Layer. The date format can be plain text or binary. In most of the cases, these text formats are JSON, XML, and CSV, being able to a person read it with no concerns. Transport Layer, Network Layer, Link Layer, which consists of know protocols for each one. The Sensor can be Physical, Virtual, or Logical types.

Fig. 5
figure 5

Device Layer subset of proposed taxonomy

Table 7 Device Layer articles

In the device layer, we have found a significant number of wearable (38 articles) and personal (35 articles) interfaces identified, showing us that smart cities and smart homes are the minority. In the group of protocols, in the application layer, we have found that MQTT is predominant. And TCP, for the transport layer, within the 6LoWPAN network protocol. In the link layer, RFID (15 articles) and ZigBee (12 articles) are cited regularly. Finally, the physical sensors (30 articles) are commonly used.

In terms of interface, hospitals, clinics, smart homes, and sensors are the most common of them [18]. Hospitals regularly rely on advanced technologies in order to run their operations smoothly. One advantage of clinics interface in IoT, the doctors could virtually access the lab reports of their patients before they visit, and clinic receptions could check the insurance coverage in real-time. In Smart homes, can reduce the number of visits to hospitals and clinics, especially for patients who are elderly with chronic conditions or disabilities, it becomes vital to establish a technical infrastructure in their homes.

The sensors, for instance, medicals devices with a wired / wireless interface, can be used in the eHealth ecosystem. Generally, to track patients’ physical wellness, and digitally monitor their health, collecting user’s data from various sensors, i.e., health sensors, environmental sensors, and location sensors [26]. Besides sensors, which produces data, actuators can consume it in the form of commands to generate physical outcomes [40].

Some of the most common date captured by sensors from health applications are respiratory rate, heart rate, blood pressure, body temperature, blood glucose, electrocardiogram (ECG), electroencephalogram (EEG), user’s personal, environmental, meteorological, social contact and health-related data [27, 34, 56, 59]. Generally, the data is transmitted for being processed in a fog environment via consumption APIs [43].

The data generally is managed by an acquisition and transmission phases [28, 31, 45, 59] . The use of mobile devices to acquire data from the medical sensors are common [46]. For connecting a network of IoT sensors to the Internet through a smartphone, a model can take advantage of 6LoWPAN protocol [47]. Stores data for a short period implements some pre-processing techniques [62]. Data acquired by these IoT devices are heterogeneous as it comprises of numeric, and non-numeric values [30]. The data format from mobile apps is generally serialized as a text string, which is posted to the server.

Another strategy used is the fact that some parameters are collected in textual, graphical, and numeric form and converted into an adequate format by fog nodes before sending for further analysis in the cloud layer [31]. At the server-side, data have to be deserialized, stored in a database, and shown to the user through a web interface [57]. One common approach is the use of context-aware and ubiquitous computing in the device layer [30, 31]. For example, the emergency call takes into account device capabilities (e.g., TV, tablet, PDA) and end-users profile (e.g., disabled person hearing, vision and cognitive impairments), advanced features such as automatic routing for end-users language preferences, automatic routing of emergency calls, emergency services mapping, location information retrieval, and support for people with disabilities [49]. Therefore, communication protocols can be used, such as Bluetooth, Wi-Fi, ZigBee, or 6LoWPAN. [29] The Data about vital health signs of the person are acquired by smart wearables, smartwatches, and bio-sensors embedded in the ambient environment of a person [30].

One crucial issue is that wearable sensors possess limited memory and computing resources. Consequently, these cannot accumulate the data acquired in real-time. For accumulating the data resulting from continuous monitoring of patients, fog data architecture has services providing flexible software routine that perform on-demand, real-time accumulation of data, processing of data for extracting clinically relevant features, or mining pattern in acquired data [66] .

SRQ3: What types of technologies are commonly used in fog layer relative to the intersection of fog and health?

The fog layer is the central part of this taxonomy. The following groups form it: Interoperability, Data Manipulation, Technologies, Fog nodes, Interface, Service, and Task, as listed in Table 8 and Fig. 6. The Interoperability represents how the fog can operate between different types of protocols. The included items are Protocol translator, Network layer, Messenger layer, and Data Annotation layer. The Data Manipulation consists of operations and transformations that can be applied to data: Aggregation, Filtering, Formatting, Encoding, and Decoding. The Technologies items are represented by the Context-aware, Mobility, Big Data, QoS, Database, Web Service, and Real-time Analytics items.

Fig. 6
figure 6

Fog Layer subset of proposed taxonomy

Table 8 Fog layer articles

The Fog Nodes are sometimes characterized as: Database, Security, Processing, Analytics, Event, and Format. The interface can be multi-standard or standard interfaces. Multi-standard interfaces are compatible with various PAN and WSN protocols (such as RFID, BLE, Zigbee, Wi-Fi, 3G/4G, and Ethernet), wired protocols (such as Ethernet) as well as different serial protocols (such as UART, SPI, and USB) [18]. Thus, standard interfaces support only one protocol. The resource means the use of a strategy of Communication, CPU, or storage, as well. Finally, the item Tasks represent the Assessments, Notifications, Decision Making, and Data Processing that can be used in a Fog. The main technologies commonly in the device layer are described in Table 7 and Fig. 5.

The fog layer concentrates on high complexity on taxonomy. In terms of interoperability, the network layer (37 articles) is a hot topic. For data manipulation, Aggregation(10 articles), filtering (8 articles), and Encoding (8 articles) are widely used. Real-time analytics (24 articles), Big Data (31 articles), and Mobility (26 articles) applications are technologies commonly used with fog computing applied for health. For the fog nodes, security (35 articles), processing (37 articles), and analytics (28 articles) are highly cited in the articles. The communication service (39 articles) of the fog is an issue. The CPU (14 articles) and storage (37 articles) are also very used in its solutions. Finally, decision making (22 articles) and data processing (21 articles) tasks are widely needed.

Fog computing has the potential to offer services such as low latency, location awareness, quality of service assurance, and immediate notification services for real-time applications [26] . In the fog computing approach, the fog node is a network edge device that can be depicted as an enhanced access point such as a multilayer switch or router, which is equipped with networking and computing capabilities to facilitate the execution of dynamic runtime self-reconfiguration mechanisms [41].

Fog computing can be suitable for supporting human health monitoring WBAN-based systems, which have features of low energy, low bandwidth, low processing power, and include hardware constrained nodes. To this end, a combination of the WBAN-based system, cloud computing, and fog computing can be a sustainable solution for challenges in the current IoT healthcare systems [4]. In one possible approach, the Fog device notifies the Edge device of its intention to read data and then begins to transmit read requests cite masouros2017 . One of the potential areas that fog computing could be useful is the eHealth one. In this are, we can use fog nodes in order to speed up the real-time processing in an emergency case and the cloud platform in order to maintain available the patient history available for a long time [65].

One important question is the Interoperability, IoT eHealth enables different technologies to work together seamlessly without concerning the complexity of technology integration [18]. Interoperability plays a vital role in the success of Health-IoT systems [29]. In terms of Big Data, IoT eHealth can effectively process, analyze, and manipulate data of multi-scale, multi-modal, distributed, and heterogeneous datasets produced by connected sensors in a fair amount of time. Therefore, it can be extracted useful, actionable information from health data [18].

One issue is Ability to personalize and tailor content/service: IoTandbig data analytics can vastly expand the possibilities to fulfill the necessity of personalized healthcare and treatments In terms of fog nodes, one advantage is analyzed the time-sensitive data, and make the extremely time-sensitive decision on the fog nodes [18]. In a fog environment, CPU, Storage, Communication are resources commonly used for optimizing the processing of data [40]. Data classification components can help to categorize user’s health and other data that can be processed by an algorithm of Machine Learning [26]. Data filtering or pattern recognition can be implemented with fog for the most efficient way of employing hardware-accelerated algorithms [40]. Furthermore, to employ FPGAs in the fog at both infrastructure and application level, highlighting how the most recent FPGA programming paradigms could be exploited to provide rich Fog applications with maximum power efficiency [40].

The quick development of IoT-based healthcare applications is followed with the privacy and security risks. Since private data regarding health are especially sensitive, they must be protected in appropriate manners. The necessity of generation, processing, and sharing health-related data with the appropriate level of security and privacy is an important goal that must be accomplished. Therefore, the security and privacy issues of IoT-driven healthcare systems. Privacy - Fog nodes at the edge of the network usually gather sensitive data generated by sensors and end devices, in healthcare applications particularly.

Fog computing enables the analyzing and processing data at the edge, and thus minimize the transmission of sensitive data to the cloud, which contributes to privacy preservation. Storing data in the Fog layer contributes to better protection of data. In order to protect data privacy, sensitive data from end-users have to be encrypted before outsourcing it to the Fog node. There are various privacy-preserving techniques (e.g., differential privacy, homomorphic encryption) that can be applied between the fog and the cloud to preserve data privacy [47].

Among data privacy, usage privacy, and location privacy are also pressing challenges that must be considered and accomplished. Authentication – The Fog level holds the potential to enable authentication in IoT devices or the appliance of light-weight encryption algorithms between Fog nodes and IoT devices to improve the authentication. Networking security – Fog nodes, deployed at the edge of the network, bring numerous challenges regarding network management. The solution for overcoming challenges related to the implementation and management, alongside increased network scalability and decreased costs, can be found in the employment of SDN (Software Defined Networks). Attack detection – Fog computing enables the improved detection of unusual behavior or malicious attacks, on both the IoT device and the Cloud sides.

Attack detection on the Fog node side can be performed by monitoring and analyzing log files, access control policies, and user login data. In this way, fog nodes are able to identify threats or attacks faster and mitigate them before they are passed through to the system. At the fog network side, malicious attacks such as denial-of-service (DoS), port scanning, among others, can be detected. Challenges to implement attack detection in the geo-distribution, large-scale, high-mobility fog computing environment, and simultaneously satisfy the low-latency requisite. Access control -fog level facilitates the adoption of many standard access control models and creates an opportunity for designing new access control models. A policy-based resource access control in Fog computing can be developed to support secure collaboration and interoperability between heterogeneous resources. However, the access control design spanning end user-Fog-Cloud, satisfying designing goals, and resource constraints is challenging [37].

Security services between Fog and Cloud computing can be used for protecting and preventing big data against intruders and unauthorized access. One approach is storing big data in different cloud data centers based on data classification and functions. For example, the data is in Sensitive, Critical, and Normal focus. Hence, the proposed system initially classifies the data according to the type of data. This variety of data is stored in different cloud data centers and retrieved based on the importance [27]. Security can be considered as one of the essential requirements in Health-IoT applications on the ground that unsecured systems can have severe vulnerabilities in order to provide a high level of security [29].

For security and privacy, the various fog nodes can cooperate to achieve privacy by encrypting collected health profiles. They could use threshold homomorphic encryption in order to permit particular operations to be performed on encrypted data without the need for prior decryption and then submit these encrypted aggregates to the cloud [41]. The deployment, scheduling, elasticity, and basic reasonable defaults for the quality of service (QoS) are core runtime mechanisms to support executing the actions initiated by the fog layer [43]. In some approaches, the sensor can be connected to the LoRaWAN gateway so that the information generated by these end devices can be sent directly to the Fog nodes [44]. On the network layer, this model capitalizes the advantages of the 6LoWPAN Border Router (6LBR), which is used with the Wi-Fi interface [47] with the fog. Two important principals from fog computing are distributed analytics and edge intelligence [64].

The work of [48] proposes to manage and share EHRs among multiple fog nodes maintaining the cloud. The low capabilities of storage and computing of fog nodes considered, focusing on decreasing the storage and processes in fog nodes to attend the availability of the fog, to increase its performance and effectiveness. Processing data in the fog layer can be supported by Data filtering, Data compression, and Data Analysis. In Data Filtering, Receiving data from various sensors makes it essential to implement appropriate pre-processing at the edge before any more advanced processing such as data analysis is performed. Bio-signals (e.g., ECG, EEG, and EMG) collected from users’ bodies are the primary sources of information for assessing patient health status. Data compression can be used for reducing communication latency and energy consumed during a transaction. Data Analysis can assist the system to detect and predict emergencies. For instance, in the case of fall detection for older people, the fog layer can locally offer fall-detection related processing rather than sending parameters to a cloud and waiting for the responses. Consequently, the system reacts to the emergency faster and more reliable and implements real-time responses. In addition to the sensitivity of the system, utilizing data analysis in the fog layer enables the system to minimize the processing latencies of critical parameters [29]. The mining Layer performs the task of information extraction from the cloud database. Various data sets are stored in the form of temporal instances. Therefore in the current scenario, information mining is performed by Temporal Mining Technique. Fog-based severity analysis Information mined from the data comprises of a pattern of events in terms of temporal instances.

These include events belonging to severity class and non-severity class. Therefore, they must be analyzed over the severity scale. Performing severity analysis of time series pattern for various events will 1) determine the effects on the health of the person in the ambient office environment 2) provides an insight about the context of the person in terms of level of severity 3) aids in efficient decision making with respect to health-oriented problems. Based on these aspects, severity analysis for various events is performed in terms of a probabilistic parameter, termed as Severity Index [30]. For connectivity, the edge user’s device can be connected to health centers via LoRa, and hospitals are connected to health centers via the internet or just LoRa. In the proposed system, the edge users are equipped with wearable devices, WBS, medical devices, or sensors. Depending on the type of device, they are capable of sensing various health measurements [50].

In the work of [51] is proposed a hierarchical health system within subsets of shared health data between the centralized part in the cloud and the distributed part in the fog nodes. The main idea of this approach is to improve health monitoring services at the edge by reducing response time and improved availability.

SRQ4: What types of technologies are commonly used in cloud layer?

The Cloud Layer of the taxonomy consists of the following groups: Service Model, Deployment Model, Security, and Big Data, which are described in in the Table 9 and Fig. 7.

Fig. 7
figure 7

Cloud Layer subset of proposed taxonomy

Table 9 Cloud layer articles

This layer is the heavyweight part of the architecture. This layer justifies the creating of a fog strategy, generally because of the low latency, deal with a massive amount of data, or low bandwidth founded there. In terms of service model, the studied alternatives are Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). The Deployment Model is composed of community Cloud, hybrid cloud, private cloud, and public cloud. The security is divided into Privacy, Confidentiality, Integrity, Availability, Accountability, Access Control, Law / Compliance, and Data Protection. Finally, the Big Data group consist of Data Analytics, Machine Learning, and Deep Learning Applications.

The results founded in the cloud layer show us that the service model most used is Software as Service - SaS (9 articles) with a predominance of public (5 articles) and private cloud(4 articles). The main security topics are privacy (27 articles) and availability (21 articles) and questions related to Access Control (8 articles) and law/compliance (12 articles). In terms of Big Data, The data analytics are well required (20 articles) The machine learning (18 articles) also is cited regularly. However, only one citation of Deep learning (1 article).

Cloud computing can be categorized into three service models. IaaS, PaaS, and SaaS. The difference between them is the focus of the application. In the IaaS service model, the infrastructure does not depend on the hardware being executed. In PaaS, users are provided with an underlying software and services platform to develop and use software applications without software installation. In the SaaS service model, the focus is on being able to use software applications that they do not need to install on their computers, offering them as a service over the Internet.

Cloud computing can be categorized into four deployment models: public cloud, private cloud, community cloud, and hybrid cloud. In the public cloud model, people buy or rent resources from specific service providers. In the private cloud, the asset is owned or rent by the company. In community clouds, some closed communities share the resources of the cloud between them. Finally, the hybrid cloud is characterized by being formed by two or more deployment models. [42].

IoT and cloud-based applications generate a considerable amount of data, and it is difficult for the cloud system to process it in real-time due to communication overhead. Cloud computing is not able to provide low latency, location awareness, and high quality of service for real-time applications [26]. One possible approach for security of cloud in a healthcare environment is increasing reliability and security with flexible policies for data transfer and encryption [40].

In the work of [4], distributed databases contain static look-up storage, general-purpose storage, and synchronized storage. The static look-up storage contains static and essential data required for several services and algorithms (e.g., security with username and password, references for data accessing, and access management); therefore, the static database is kept intact for all cases except for the case of system administrators. The general-purpose storage, which stores high data rate input data, is used for both the fog computing service and the graphical user interface. This fog server follows near edge technology to connect health monitoring devices in a smart healthcare application [27].

For security proposes, usually the architecture uses security terminologies as the public key and private key, encryption and decryption, cryptography identity access management, and KI certificates authority for securing data and applications in the cloud [27]. In the study of [41], the cloud healthcare recommender service interacts with the fog node to obtain a secret key for accessing the globally concealed profile and then it performs different filtering techniques on the group profile, which return a list of personalized lifestyles that are correlated with such a profile. Since this list is encrypted with the distributed threshold cryptosystem, a private key needs to be reconstructed by the fog nodes. The fog node sends back the decrypted list on the reverse path to the personal gateway of the patient.

In a cloud environment, user profiling algorithm [42] can help to determine whether a user is legitimate or not based on certain parameters, such as the user-search behavior, amount of downloaded data, nature of operations, division of tasks, and IP address. Knowing how a legitimate user deals with his / her cloud data based on these parameters will help determine whether or not the user is malicious [39]. There are three different types of user profiling, each with different advantages and disadvantages based on the techniques used. The type that we will use in our system is the hybrid user profile, which is a combination of explicit and implicit user profiles. The explicit user profile typically contains high-quality information because it is gathered from the user him/herself, but it requires a lot of effort from the user to update his/her profile information.

On the other hand, the implicit user profile is automatically updated with minimal user effort; however, a large amount of interaction between the user and the content is required before an accurate user profile can be created. Thus, combining the two types into a hybrid user profile should reduce the weak points and enhance the strong points of each technique used to monitor the cloud data access and detect any unusual data access pattern.

Data Collection Component [45], in a traditional way, once the data is collected and processed by the Fog servers, it is transmitted to the cloud for in-depth analysis. Cloud storage provides a smooth, flexible, and secure way to share information among users, doctors, hospitals, and governmental agencies. Generally, all data on a central server can be accessed only after a prior authentication. When transmitting data to the central server, security issues appear in two points. The first point regards the transmission of data by the mobile device [46]. The primary function of a Server layer is providing storage and critical analysis of the data. The data can be stored and managed through a database from where it can be further utilized to generate periodic reports [47].

In most Cloud layer infrastructure, a simple but efficient scaling and smooth integration with existing systems is designed without the need to expose technical details of the lower layers of our system. For example, the work of [39] developed a RESTful web service using the Java Servlet API, in order to receive data from the Fog layer and manage the database transactions of our server. User health status classification is an essential tool for taking a decision in various medical diagnoses. This component provides an initial diagnosis to users In a cloud environment, long-time result processing and storage encompass cloud deployment [59]. In this architecture, it is responsible for storing large amounts of data, processing output streams for analysis of data collected over a long period of time.

4.5 Limitations

This research is limited to aspects related only to Fog computing applied to the healthcare area. In this sense, this paper focuses only on articles that address the characteristics of fog computing architectures directly related to healthcare, disregarding models withing only pure cloud computing or articles on fog computing without healthcare context. The search for articles was limited in the following scientific databases: ACM, Google Scholar, IEEE, Science Direct, Elsevier, and Springer. Finally, this paper sought to answer the research questions for an overview of the current literature on Fog Computing applied to the healthcare area. It is based only on scientific articles and did not address commercial or more technological solutions.

4.6 Future directions

Fog computing is a trend in a cloud computing environment. Increasingly, applications require the intensive use of the cloud. Although hardware has dramatically increased its capacity, health applications need for information to be obtained as soon as possible. Fog computing can help substantially to address this issue.

Soon, artificial intelligence services such as filtering, data mining, and data prediction will become part of day-to-day life in hospitals. Besides, the services will be available to outdoor patient homes, through the increased mobility of devices and the enhancement of their communication technologies, and the health professional or medical center may be anywhere in the world at any time. Fog computing can reduce the latency of these applications, enabling medical services in real-time and in a massive way, with the possibility of positively impacting the most impoverished population, who do not yet have access to quality health in the world. Interoperability, privacy, security, data processing, CPU management, memory and disk resources, and big data issues are still weaknesses in architectures that require a large number of heterogeneous devices such as healthcare applications. We believe that the above challenges will soon be overcome and that a better quality of life and social well-being will be achieved with the support of fog computing technologies.

5 Conclusions

This study aimed to raise and discuss the main issues regarding Fog Computing and identify the concepts of the technology of this area related to healthcare application. In this study, we try to identify a quantitative and qualitative sample of studies that enabled us to obtain a clear overview of the technology regarding Fog Computing and health in the last ten years. This work also tries to find out common aspects of the area by answering generals and specific research questions. As a result, we were able to propose a Fog Computing applied to Health taxonomy and identifying challenges and issues of recent years in this field of study.

These aspects are related to problems regarding Fog computing adoption in the health area. Besides, we have identified essential parts of a fog computer architecture such as model type, protocols, formats, and the challenges related to applying to a healthcare environment. For the conclusion of this work, we propose a general taxonomy for fog computing in the healthcare area, which was developed from the result of analysis of the relevant works in the last years.

The main contribution of this work is the proposal of a taxonomy for the Fog Computing and Health field o study. We were able to identify and group several types and Fog Computing architecture classifications since from challenges, applications, technologies, requirements, fog, cloud, and device layers. Also, we have recognized several patterns of fog computing applied to healthcare, identifying the most relevant in the current context. In the future, we will focus on technologies related to privacy, security, interoperability, and big data applied to fog computing and healthcare. We also plan to study other possible protocols involved in fog computing that could be applied to the health area.