Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The Internet of Things is a topic that has been growing and becoming important in the technical, social and economic areas [17]. This growth has driven the advancement in research and projects related to assisted environments and healthcare, since IoT offers great potential for continuous and reliable remote monitoring due to its ubiquitous nature, allowing freedom of movement for individuals [14].

Healthcare environments are widely used for monitoring the elderly, the disabled or children and are composed of intelligent objects such as sensors for monitoring the environment and vital signs, as well as actuators and mobile devices. These objects are characterized by being heterogeneous and distributed, by communicating through light protocols to save energy and by requiring low latency in data transmission. Fog Computing has been used in this type of environment because it is an intermediate layer between end devices and the cloud that provides processing, storage and analysis of data closer to smart objects, thus providing low latency [7].

Low latency is one of the main requirements for healthcare [2] environments since in cases of emergencies such as falls or cardiac arrest the fast notification enables the specialty user responsible for the assisted user to act fast and efficiently. Therefore, in this article, we propose a hardware and software infrastructure, based on Fog computing, capable of storing, processing and presenting data received from sensors embedded in a healthcare monitoring environment in real-time. We understand as real-time a system that presents the results within a time constraint.

The proposed hardware infrastructure consists of 3 layers, the Edge layer (sensors, actuators and mobile devices), the Fog layer (Fog nodes and Fog server) and the Cloud layer (data centers). On the other hand, the software infrastructure consists of Foglet (software agent), Scheduling algorithms (Earliest Deadline First), and Healthcare application (the logic of healthcare environment).

This paper is organized as follows. In Sect. 2 we present some explanation about related conceptions. Some related works are discussed in the Sect. 3. Our proposal is described in Sect. 4. Finally, our conclusions and indications for future work are presented in Sect. 5.

2 Overview

In this section we present some explanation about related conceptions to this article.

2.1 Healthcare Environment

Healthcare is a smart environment where a health monitoring system is set up. It provides e-health services to monitor and evaluate the health of assisted users, which are elders, people with disabilities, children or patients. The health monitoring of these users is carried out by specialty users such as doctors, nurses or caregivers.

The healthcare environment configuration is composed of three main components: sensors, communication, and processing system [13]. Sensors are deployed in environments or user accessories such as belts, clothes, glasses, and they are responsible for data acquisition. The acquired data by sensors are transmitted through an access point or base station to a server or portable devices via network communication technologies. The data are stored, processed in the server and presented to specialty users so that they can act in case of abnormality or emergency.

In the next subsections, we presented some conceptions e characteristics related to sensors and communication technologies implemented in a healthcare environment.

2.1.1 Sensors

Physical sensors are the most common types of sensors in a healthcare environment and are responsible for collecting data about user physiology and user environment [10]. There are three main classes for monitoring the assisted user and the environment: Personal Sensor Networks, Body Sensor Networks, and Multimedia Devices [13].

  • Personal Sensor Networks (PSN): usually are sensors deployed in the environment whose goal is to detect daily activities of human and to measure environmental conditions.

  • Body Sensor Networks (BSN): composed of sensors embedded in personal accessories such as clothes, belts or glasses. These sensors have the role of monitoring vital signs and health conditions of the assisted user [23].

  • Multimedia Devices (MD): are audio and video devices responsible for monitoring the movements and promote greater interaction between the assisted user and the healthcare application.

The data collected by sensors can be classified according to the frequency of their receipt in three types of events: constant, interval and instant.

  • Constant: the data are transmitted continuously.

  • Interval: the data are transmitted periodically, following a uniform time interval.

  • Instant: the data are instantaneously transmitted when an event occurs.

The Table 1 presents some examples of sensors most used in monitored environments.

2.1.2 Communication Technology

Various communication technologies are used to perform integration between applications, services, and sensors in a healthcare environment. The technologies most popular are wireless protocol such as ZigBee, Bluetooth, WiFi and Bluetooth Low Energy [22]. On the other hand, others technologies such as Radio Frequency Identification Devices (RFID) and Ultra Wideband (UWB) stand out because they have the role of tracking and identifying people and objects, as well as allowing communication between the sensors or the devices [10, 16].

Table 1. Health monitoring sensors [13, 16]
  • ZigBee technology (IEEE 802.15.4): is an efficient protocol for the sensed environment, since it has low cost, low power, and long battery life. It has a low transmission rate with a maximum data rate of 250 Kbps and a range up to 20 m.

  • WiFi technology (IEEE 802.11): is the most popular communication protocol. It has an average range of 100 m and transmission rate up to 54 Mbps. However, it has a disadvantage of consuming much energy.

  • Bluetooth technology (IEEE 802.15.1): is used by connecting a variety of devices for data and voice transmission. It has the maximum data transmission rate of 1 Mbps and ranges up to 10 m.

  • Bluetooth Low Energy technology (BLE): recent technology that provides ultra-low energy consumption and cost. It represents an efficient technology by transferring various small data packages and by offering small connections with the minimum of delay (latency).

2.2 Edge Computing and Fog Computing

According to [20] Edge Computing is a paradigm in which the resources of communication, computational, control and storage are placed on the edge of the Internet, close to mobile devices, sensors, actuators, connected things and end users. An Edge device is not a datacenter neither a simple sensor that converts analog to digital and collects and sends data. An Edge device can be conceptualized as any computational or network resource that resides between data sources and cloud data centers.

On the other hand, Fog computing can be conceptualized as computational elements intermediates, located between Edge devices and cloud, which typically provide some way of data management and communication service between Edge devices and cloud [9]. The main goal of this intermediate layer is to reduce the latency and response time since data do not have to reach the cloud to be processed.

Bonomi et al. [4] present temporal requirements of Fog computing environments. They defend that some data generated by the sensor and device grid require real-time processing (from milliseconds to sub-seconds). All interactions and processes occur throughout the Fog computing environment are seconds to minutes (to real-time analyses) and until days (transactional analyze).

Despite its increasing use, Fog computing is often called Edge computing. However, these approaches have key differences [9]:

  • Fog computing has hierarchical layers while edge tends to be limited to a small number of layers;

  • Unlike the Edge, Fog works with the cloud;

  • Beyond computing, Fog also covers network, storage, control and data processing.

2.3 Real-Time

With the advent of Big data and the use of data stream, the concept of real-time presented in most current researches has distanced from the one proposed in the classical literature. The survey of Gomes et al. [8] presents a classification of articles that propose the use of the real-time approach in big data environments that use data stream. It can be noted that most articles use the term real-time as fast response and low latency.

In this article, we consider the concept presented by [6, 18, 21], which define that a real-time system depends not only on the logical result of the computation but also the time in which the results are produced. For authors, it is a common misconception to consider only fast computation to a real-time system, since the purpose of these systems is to meet the temporal requirements of each task.

The real-time system tasks can be classified:

  • As for the consequences of the missed deadline

    • Hard: for the system to work correctly the results have to be produced within the time constraint.

    • Firm: results produced after the time constraint are useless for the system.

    • Soft: results produced after the time constraint are accepted and still useful for the system, although it causes degradation of its performance.

  • As for the regularity of activation

    • Periodic: are identical tasks regularly activated at a constant rate.

    • Aperiodic: are the same tasks that are activated irregularly.

For the system to be able to generate a response within a time constraint, it is necessary to implement scheduling policies and algorithms. In the following subsections are briefly described two scheduling algorithms for real-time systems.

2.3.1 Earliest Deadline First Algorithm (EDF)

EDF is a scheduling algorithm with dynamic rules which selects tasks according to the absolute deadlines. Tasks with shorter deadlines have higher execution priority.

It executes the tasks in the preemptive mode, that is, a task in execution is withdrawal from the processor if another task with a shorter deadline becomes active. This algorithm can be used for periodic and aperiodic tasks [5].

2.3.2 Rate Monotonic Scheduling (RM)

RM is an algorithm with simple rules which assigns priorities for the tasks according to the request rates. Tasks with higher request rates have higher priorities. Tasks with high request rates have high priorities. Priorities are assigned to tasks before execution and are not modified over time.

This algorithm executes tasks in preemptive mode since a running task leaves the processor if a task newly arrived has the highest priority [5].

3 Related Works

In this section, we present some studies that address the use of Fog Computing for Healthcare environments.

Sood and Mahajan [19] propose a cloud-based healthcare system developed to predict and prevent the Chikungunya virus through the use of wearable sensors, decision tree and temporal network analysis (TNA). The architecture of the proposed system is composed of 3 layers: Data Accumulation layer, responsible for collecting user data from health, environmental and location sensors; Fog layer is responsible for processing and diagnosing the category of infection in the user in real-time, in addition to generating an immediate alert for the mobile phone of users to take preventive; the information and analyzes generated by the Fog layer are stored in the Cloud layer so that disinfection alerts are generated for the citizens.

Rahmani et al. [15] exploit the strategic position of such gateways at the edge of the network with the aim of providing high-level services such as local storage and real-time processing, as a result, the authors present a Smart e-Health Gateway. Besides that, they propose to explore the concepts of Fog computing in Healthcare IoT systems to form an intermediate layer of intelligence between the sensors and the Cloud. Besides, an IoT-based Early Warning Score (EWS) health monitoring is implemented to show the efficiency and relevance of the proposed system, based on medical problems for the case study.

Gia et al. [1] propose a low-cost health monitoring system that provides continuous remote ECG monitoring and automatic reporting and analysis. The system consists of energy-efficient sensor nodes and a fog layer to take advantage of IoT. The sensors collect and transmit ECG, respiration rate and body temperature information to a smart gateway that can be accessed by caregivers. Also, the system performs automatic decision making and provides advanced services such as real-time notifications for immediate attention.

Mahmud et al. [12] propose an architecture for the integration and orchestration of Cloud and Fog infrastructure from the interoperable perspective of IoT-Healthcare solutions. The performance evaluation of Fog-based IoT Healthcare solutions carried out through simulation studies with the iFogSim simulator, was concerning the delivery of services with satisfactory terms, cost, energy use, and service distribution.

Our proposal is differentiated since the cited papers offer a fast response (real-time) without assurance that the system response will respect a deadline. Besides, the papers do not present a classification of the data nor the users, unlike our proposal.

4 Proposed Platform

In this article, we proposed a hardware and software infrastructure for healthcare environments which can process data and present results within a time constraint. Our hardware infrastructure is based on the paper present by [11], that is composed of three layers, as depicted in the Fig. 1: Edge Layer, Fog Layer, and Cloud Layer.

  1. 1.

    Edge Layer: this layer is composed of sensors, actuators, and mobile devices.

    • Sensors: as described in the Sect. 2.1, sensors are devices responsible for capturing data, and they are used in the healthcare environment to monitor the daily activities, and vital signs of the assisted users. The sensors used lightweight communication protocols such as ZigBee, Bluetooth or Bluetooth Low Energy to connect with mobile devices.

    • Actuators: are devices inserted in the monitored environment to act when necessary. For example, turning on the heater when the room temperature is too low or switching off the gas if a leak is detected. The actuators use lightweight communication protocols such as ZigBee, Bluetooth or Bluetooth Low Energy to connect with mobile devices.

    • Mobile Devices: are devices that have the processing power, are located close to sensors and actuators and have the ability to communicate through lightweight protocols and over the WLAN. Examples of such devices are smartphones, notebooks, and tablets. The main function of mobile devices is to receive and filter the data delivered by the sensors. Besides, they can play the role of sending commands to the actuators when necessary.

  2. 2.

    Fog Layer: this layer is composed by Fog Nodes and a Fog Server.

    • Fog Nodes: are devices responsible for the temporary storage, communication, processing and presentation of the data for the specialty user. They use the WLAN communication network to receive data from mobile devices and the wired LAN network for communication with other Fog Nodes and Fog Server.

    • Fog Server: is responsible for managing the Fog Computing environment and for communicating between the environment and the external network (communication between Fog and the Cloud). It has all the physical and logical information about the Fog Nodes belonging to the environment. The Fog layer has only one Fog Server, but it can accumulate the server and node function. Scheduling policies are inserted into Fog Server, so it becomes responsible for the migration of a task so that the deadline is fulfilled or for the interruption of the running task to execute another with a higher priority. It uses LAN communication protocols, for communication with Fog Nodes, and WAN for communication with the Cloud.

  3. 3.

    Cloud Layer: this layer consists of data centers that will be responsible for permanently storing the received data, and present them when requested. This data may be used to conduct research or survey of the health history of the assisted user activity. Actors such as researchers, doctors, nurses or caregivers may have access to these data (respecting the authorization release of views of this data by the assisted user).

Fig. 1.
figure 1

Fog computing infrastructure

On the other hand, the software infrastructure consists of Foglet, scheduling algorithm and healthcare application (Fig. 1).

  • Foglet: is a software agent that is present in each of the Fog Nodes [3]. They are responsible for monitoring the physical state and the services assigned to each machine. This information is analyzed locally and also sent for global processing, in other words, sent to Fog Server.

  • Scheduling Algorithms: are the scheduling algorithms chosen so that the system can generate results respecting a temporal constraint. Initially, we chose to implement the EDF and RM algorithms, due to the periodicity of the tasks. In addition, a fixed priority mechanism is used to be used if the tasks have the same absolute deadline.

  • Healthcare Application: responsible for the logic of the healthcare environment. It has the function of comparing the data obtained with normal or standard data, sending commands to the actuators, issuing alerts, presenting the data to the specialty user, as well as sending the data to be stored in the cloud. The development of this application requires prior knowledge of the assisted user so that it is possible to know, for example, what the standard pressure is. In other words, the application is customized and adapted to each environment (home or hospital) and user.

The data is acquired by the PSN, BSN or MD sensors and is sent to the mobile devices through the ZigBee or Bluetooth communication protocol. Mobile devices filter incoming data to exclude noise and inconsistencies. The data are then sent to the Fog Nodes via the WiFi communication network. In Fog Nodes the data is temporarily stored and processed, respecting the priority given to the task and the time constraint.

Foglets, present throughout the environment, periodically send Fog Nodes information to each other and Fog Server. Fog Server, in turn, applies scheduling policies, verifies the need to migrate the task to another Fog Node so that the deadline is met, or stops the execution of the task so that another one with a higher priority can execute. The communication performed by Fog layer components is via the wired LAN network, due to the stability. After processing, the data is presented to the expert user through a graphical interface, generating alerts if the health situation of the assisted user is abnormal. An example of an abnormal health situation is much higher than acceptable pressure, or fall detection. It should be noted that in this article we do not care about the graphical user interface. Data processing may still return commands to the mobile devices so that they will send them to the actuators.

Finally, after processing and analyzing the data, they are sent to the cloud by Fog Server over the Internet. The purpose of sending data to the cloud is for permanent storage. Once stored in the cloud, the data can be analyzed by researching users or who have some interest in historical data on the health of the users assisted.

5 Conclusions

In this article, we proposed a hardware and software infrastructure based on Fog computing that meets the temporal requirements imposed by the healthcare environment, that is, a real-time monitoring system. The purpose of the proposal is to provide a system that receives, stores, processes and presents results within a hard deadline. To do this, we use a hardware platform that already exists, and we adapted it to the proposed healthcare environment. Besides, we have developed a software infrastructure with the necessary components (Foglets, scheduling algorithms and healthcare application) for the results to be presented to specialty user in real-time.

Because it is initial research and therefore a theoretical proposal, we intend as future works to carry out the implementation of the software structure. Then, we intend to build a computational platform that supports real-time systems to perform tests to verify the efficiency of the Foglets and the scheduling algorithms chosen, based on the proposed environment.