Abstract
Internet of Things (IoT) is characterized by the large volumes of data collection. Since IoT devices are themselves resource-constrained, this data is transferred to cloud-based systems for further processing. This data collected over a period of time possesses high utility as it is useful for multiple analytical, predictive and prescriptive tasks. Therefore, it is crucial that IoT devices transfer the collected data to network gateways before exhausting their storage to prevent loss of data; this issue is referred to as the “data offloading problem”. This paper proposes a technique for fault tolerant offloading of data by IoT devices such that the data collected by them is transferred to the cloud with a minimal loss. The proposed technique employs opportunistic contacts between IoT and mobile fog nodes to provide a fault tolerant enhancement to the IoT architecture. The effectiveness of the proposed method is verified through simulation experiments to assess the reduction in data loss by use of proposed data offloading scheme. It is demonstrated that the method outperforms a state-of-art method.
Introduction
An ever-increasing number of devices ranging from household appliances and cars to refined industrial components are being embedded with sensors, related hardware and software. This allows these devices to capture data about their use and their environment. Once these devices are connected to the internet, data collected by them can be transferred to cloud-based storage systems and processed for further use. The digitally connected system of physical devices embedded with sensors or other hardware and provided with internet connectivity for communication is referred to as the Internet of Things (IoT) [1, 2].
Rapid growth in IoT technology has been made possible due to wide availability of low-cost sensors, easy access to cloud computing platforms and development of artificial intelligence-based data analytics technologies. Examples of IoT systems are abundantly available in our vicinity. These include smart appliances such as smart refrigerators and smart washing machines; smart homes and smart cities; self-driving cars; wearable health and fitness devices; industrial IoT applications in manufacturing, transportation and logistics etc. Sensors built in devices capture data regarding to their functionalities and transfer this data to a cloud-based Internet of Things platform. On this platform, data collected from various devices over a period of time is integrated to extract useful information from it. This information can be useful for detection of usage patterns, prediction of future trends or even making recommendations. Numerous applications in varied domains such as security, air quality and pollution monitoring; traffic management; power management etc. are based on such uses of the extracted information [3, 4].
The increase in IoT applications has also resulted in the creation of a data deluge comprising of physical quantities extracted from the environment. However, IoT devices are, in general, resource-constrained and therefore, it is not possible for them to store large volumes of data for long periods or to locally process this data [5, 6]. As a consequence, IoT applications often depend on cloud-based resources for storage as well as analysis. It is crucial that an IoT node transfer its data to the network gateway, for further transfer to the cloud, before exhausting its storage. This is known as the data offloading problem [6]. However, transfer of data to cloud puts forth a requirement of an energy-hungry wireless Internet connection that may in some instances, also have bandwidth issues. Therefore, there has been an impetus to enhance IoT architecture with a fog layer in order to provide storage and computing capabilities closer to the IoT nodes. Fog refers to a network fabric that extends from the edges of the network in which data is created to the final location where it is required to be stored [7]. Thus, fog is a layer of a distributed network that lies between IoT and cloud and connects IoT nodes, i.e., location of data creation to the cloud, i.e., location of data storage. A fog layer can be utilized to provide additional storage and processing capabilities to the IoT nodes at a much lower latency than the cloud since the fog servers are in proximity of the IoT nodes.
A fog node can be any device with computing, storage, and network connectivity, such as switches, routers, gateways, embedded servers etc. In the context of this paper, fog layer nodes can be used to offload the data captured by IoT devices and hold it until it is transferred to the cloud. This provides multiple benefits. Firstly, an IoT device can offload its data to fog nodes with a smaller data drop-off rate than the cloud. Secondly, a fog node with processing capability can perform some data processing or aggregation tasks locally in order to reduce or refine the data that needs to be stored at the cloud. Further, being closer to the IoT devices, a lower bandwidth will be required to offload data to these nodes. However, a fog layer is susceptible to failures due to heterogeneous and dynamic nature of its constituent nodes and network. Failures may be caused by multiple issues related to hardware, software, network connectivity etc. It is important that fault tolerance be integrated into the system so that vital data sensed by the IoT devices is not lost before its being transferred to the cloud.
This paper presents an architecture and method for fault tolerant data offloading in a fog enhanced IoT system. A fraction of fog nodes is assumed to be mobile (such as, smartphones and tablets) and an opportunistic fog is formed by a network between these mobile devices and the IoT devices present in the same physical area at the same time. The method utilizes on the fly opportunistic contacts between the mobile and IoT nodes when they come in contact with each other to expedite the transfer of data to cloud. This prevents failures from causing loss of data. Thus, the key contributions of the paper are as follows:
An enhancement to IoT architecture using fog nodes Use of mobile fog nodes’ opportunistic contacts for data offloading problem.
The rest of the paper is structured as follows: Section 2 elaborates the work done in the field of IoT data offloading and fog computing. We describe the proposed system architecture in Section 3. Data offloading scheme is presented in Section 4. Results of simulation are discussed in Section 5. Lastly, we conclude the article.
Decreasing costs and increasing availability of processors and wireless network connections have allowed billions of physical devices in the world to connect to the internet through which they can share the data collected by them. This has led to availability of huge volumes of data that can be used to develop intelligent applications involving the ‘things’ of the physical world. The vision for IoT developed in the first decade of this century when it was envisaged that any object can possess a unique identification and can be addressed resulting in connection with other objects in the world. The Internet was correctly expected to become the Internet of Things [8] and allow communication between things, apart from humans and things.
The rise of IoT can be attributed to the integration of multiple technologies and communications paradigms. These include wireless sensor and actuator networks, techniques for identification and tracking of objects, big data and artificial intelligence technologies. The visions of Internet of Things and related technologies are extensively reviewed in [9, 10]. Some authors have focussed on a set of useful IoT applications of Internet of Things (IoT) such as the industrial IoT (IIoT) applications. The important technologies, research challenges and applications of IIoT are systematically discussed in [11].
From literature review, the problem of data offloading was identified as being a significant challenge in Internet of Things (IoT) systems since loss of data limits the usefulness of IoT [12]. The problem lies majorly in transporting the large volumes of IoT data from a remote site to the cloud servers. Two categories of data offloading solutions have been presented in literature; firstly, the schemes that depend on infrastructure between IoT nodes and cloud servers for transferring the data and secondly, a few schemes that are opportunistic-based, i.e., not dependent on infrastructure.
Authors of [13] emphasize that though efficient data collection has been researched for networks with static topologies, IoT systems present a unique set of challenges. Devices in IoT systems may be shared by different applications and hence, concurrent data collection processes are usual. They present concurrent data collection trees specifically designed for smooth and efficient data collection by IoT applications. Importance of data offloading for real-time applications has been emphasized in [14]. The authors have considered challenges posed by unstable channel state to the data offloading and have proposed models for task reliability, energy consumption and device reliability. An energy-efficient data offloading scheduling algorithm-DEED has been presented to reduce the energy consumed during offloading. Fog networks are used to develop a multi-tier data offloading protocol for urban data oriented IoT scenarios in [15]. The proposed approach requires the sensors to collaborate in the data offloading process so that data reaches mobile gateways without loss. The proposed scheme is evaluated by assessing the amount of data transferred successfully to the cloud. It is shown that the fog-based solution is capable of decreasing the data drop-off.
Authors of [16] show that the problem is NP-hard and present offloading heuristics to transfer data from sensors to mobile devices. The work in [17] addresses the concerns related to reliability of communications from mobile devices to the infrastructure. A data offloading scheme based on cooperative actions by mobile devices is presented in [18] with the aim to enhance the probability of data delivery within a specified time limit. The scheme gives an estimate of probability of successful delivery of data from mobile devices to intermittently connected network of nodes. A fog assisted system for secure collection and aggregation of healthcare data, referred to as Efficient Healthcare Data Aggregation (EHDA), has been presented in [19]. The system utilizes peer-to-peer communication to collect data from healthcare sensing devices. The devices are arranged in groups or clusters and the data collected from the devices is aggregated at a special node in the cluster, referred to as the Aggregator Node (AN). The AN further shares the data with a Fog server, if in its communication range or may transfer to another AN which is in contact with the Fog server. The shared data is encrypted for maintaining the data security as well as compressed for reducing the communication overhead. The fog server extracts the required values from the collected data and uploads to the cloud. However, mobility of Fog server is not considered. A directed path-based authentication scheme (DPAS) for security of IoT architecture was presented in [20]. The proposed scheme ensured data confidentiality, integrity and anonymity with low overhead and is thus, suitable for the IoT applications.
There have been few attempts at solutions that do not burden the infrastructure and instead make use of opportunistic networking. Authors of [12] suggest a terminal-to-terminal (T2T) network that uses opportunistic contacts between mobile users in place of any backbone infrastructure for transferring IoT data. They present offloading solutions based on mobility patterns and temporal contacts of nodes. Optimal data offloading schemes for systems with opportunistic contacts between users are explored in [15]. The work underlines that opportunistic offloading is currently being employed for (i) downloading popular contents by mobile nodes through the cellular network for further transmission of these contents to other subscriber nodes (ii) offloading computations from mobile devices to other nodes for supporting the execution of computationally complex applications. Other attempts to use opportunistic offloading have also been directed either towards offloading cellular traffic load [21], large scale IoT applications.
The present work differs from the previous works by leveraging mobile nodes as fog nodes and using their opportunistic contacts with IoT nodes for data offloading from the IoT nodes. The proposed framework can be extended to utilize the fog nodes for extended data related operations. This is, to the best of our knowledge, a novel attempt of utilizing opportunistic networks between fog and IoT nodes for preventing loss of data collected by the IoT nodes.
System architecture
Nodes are arranged in a three-tier architecture for the proposed fault tolerant data offloading from an IoT system (Fig. 1).
The lowest tier is the perception layer that is comprised of the IoT devices possessing sensors to capture environmental data. The IoT devices may be stationary or mobile, depending on the application they are used for. These devices are battery powered and have limited computing capabilities. They sense data from the environment using short or medium-range communication technologies (such as Bluetooth Low Energy, Zigbee etc.) The IoT devices are assumed to possess only a small amount of storage and may run out of storage if the data collected by them is not offloaded frequently enough. In the proposed system, IoT nodes are connected to gateways through which they can transfer their data to cloud. Apart from gateways, they can also connect to fog node through opportunistic contacts. The various fog nodes form the second layer of the architecture. These nodes are assumed to have computing as well as storage capabilities. They receive data from the IoT nodes; store and optionally process the data before forwarding it to its destination, i.e., the cloud. Some of the fog nodes may be mobile (such as mobile phones, vehicles etc.) and come in contact with each other as well as the IoT nodes periodically. Their mobility can be leveraged for data offloading such that any node (IoT or fog) that is reaching its maximum storage capacity can offload its data to a node holding more resources than it.
Proposed IoT architecture with fog nodes.
A fog node can also be used for performing multiple tasks related to the collected data; for example, data aggregation and summarization, data formatting and pre-processing; acting as temporary storage in case a network connection to cloud is not available for some duration etc. The paper proposes the use of opportunistic contacts between fog nodes for fault tolerant data offloading. All fog nodes can connect with the cloud servers through internet connection. A static fog node is connected to a network gateway while a mobile fog node is assumed to exhibit random movement in the system and thus, may come in contact with IoT devices, other fog nodes and gateways as well.
The topmost layer is the cloud computing layer. The fog nodes are connected to cloud-based servers with Internet connections (e.g., using WiFi, Long Term Evolution etc). They transfer the data collected from the IoT nodes to the application which stores and processes the received data. The IoT applications may be related to smart home, smart city, smart heath, smart car, smart transportation etc. These applications use the received data for varied analytical, predictive and prescriptive tasks. The data and results derived from this data may be retained in the cloud over a period of time based on the IoT application’s requirements.
An IoT device continually captures data from its environment and stores it in its buffer. It transfers the data from its buffer to network gateways through which the data is transferred to the cloud. However, data may be lost if a device’s connection to gateway is lost temporarily and its buffer overflows meanwhile. Data loss may also occur if a gateway node’s storage is exhausted while cloud is temporarily unavailable. Hence, the current work utilizes mobile nodes as fog layer nodes which come in contact with both IoT devices as well as the gateways over a period of time. These mobile nodes, such as smart phones, laptops etc. also have direct connection to the cloud server. The pair-wise contacts between (a) IoT and mobile nodes (b) mobile fog nodes with other fog nodes are used for the fault tolerant transfer of captured data to the cloud despite intermittent node connectivity or network partitioning. A mobile fog node stores and carries the data received from an IoT device till it comes in contact with a gateway or can establish a connection with the cloud server. Usually a mobile node will buffer the data as received and set up a connection periodically with the cloud to transfer the data at one go.
This system ensures two ways in which data may be fetched from an IoT node: firstly, through the gateways and secondly through the fog nodes. One gateway is the data sink for multiple IoT nodes and thus its bandwidth and storage are contended by these nodes. Therefore, an IoT node prefers to send data to fog node, if possible, by opportunistic contact since this will reduce contention at a gateway.
The actions performed at the IoT nodes and mobile fog nodes are described in Algorithm 1 and Algorithm 2 respectively:
The fault tolerant data offloading mechanism of Algorithms 1 and 2 is illustrated using the sequence diagram in Fig. 2.
Data offloading mechanism.
In this section, we compute the probability of data loss occurring at an IoT node.
If an IoT node has buffer size of b units and data is captured at the rate
There is loss of connection between IoT node and gateway G No mobile node is in vicinity of the IoT node
We assume the loss of connection between an IoT node and gateway G follows an exponential distribution, with an average failure rate
Therefore, probability of loss in connection when an IoT node needs to transfer data to the gateway is given by the probability that connection does not exist at time
The probability that a connection is available is given by
A mobile node’s contact with an IoT node over an infinite duration of time can be modelled as a Poisson Process since the contacts are independent of each other and the occurrence of one contact does not affect the probability another contact.
Next, we determine the time an IoT node has to wait until the next mobile node comes in its contact. Probability of arrival of a mobile node, with arrival rate as
The probability of meeting a mobile node
where
If there are
Assume there are
or
Therefore
Therefore, we can express reliability of a data offloading scheme as the condition of absence of failure and compute it as
The proposed data offloading scheme is evaluated using simulation experiments. These simulations have assessed the data loss in the following scenarios:
Impact of number of IoT nodes and mobile fog nodes on data loss Impact of increased mobility rates on data loss Impact of increase in failure rate on data loss
In each of the above case, we have calculated the percentage of data lost due to absence of data sink at an IoT node when it requires offloading the data. The proposed scheme is also compared with the EHDA scheme presented in [19]. The architecture of EHDA clusters the IoT nodes into groups which have one special node acting as the Aggregator of data and responsible for sending the aggregated data to the Fog server. This is in contrast with the proposed architecture where a fraction of fog nodes is assumed to be mobile and can come in direct contact with the IoT nodes. The simulations have been done by implementing the algorithms in C
Simulation parameters
The first experiment assumed a fixed ratio of IoT to mobile fog nodes and calculated the data loss. This loss was then compared to the base case where no mobile fog nodes are assumed. It is also compared to EHDA, an Aggregator node-based data collection scheme [19]. The experiment was repeated by increasing the number of mobile nodes. Results in Fig. 3 illustrate that the data loss in presence of mobile fog nodes is lower for all the simulated cases as compared to the case where mobile fog nodes are not present. This result can be expected since presence of mobile nodes introduces redundancy of data sink and thus provides fault tolerance in the system. The data loss is observed to be comparable to that of EHDA. However, since an Aggregator Node is responsible for data collection of the nodes in its cluster in [19], data drop at an aggregator node results in a bigger data loss as compared to that where an individual node loses its data.
Impact of mobile fog nodes on varying number of IoT nodes.
The proposed scheme employs opportunistic contacts between the IoT nodes and fog nodes to transfer the collected data. This entails a single hop transmission of data from the IoT node to fog node. However, EHDA uses contacts between IoT node and Aggregator node and optionally between Aggregator nodes before reaching the Fog server. The number of additional hops or links that are traversed in sending data from varying number of IoT nodes to the Fog server in EHDA are depicted in Fig. 4.
Additional links traversed in EHDA [19].
Next, the effect of increasing the arrival rates of fog nodes on data loss was assessed. The number of IoT nodes in this experiment was taken as 100 and a constant failure rate of network connections was assumed. For this experiment, we randomly increased the arrival rate of mobile fog nodes at the IoT nodes. It was observed (Fig. 5) that an increase in arrival rates of fog nodes reduces the data loss. However, after increase to a certain percentage, there is no significant impact on the data loss. This can be taken to be an optimal arrival rate of fog nodes.
Impact of increasing arrival rate of mobile fog nodes on data loss.
Subsequently, we varied the rate at which an IoT node loses connection to the gateway. Number of IoT nodes is taken as 100 and the values indicated in the graph of Fig. 6 are average values of rate for these 100 nodes. It is observed that data loss is lower in all cases where mobile fog nodes are present. EHDA causes a higher data loss in comparison since loss of connection of an Aggregator Node (AN) is equivalent to loss of connection for its cluster. A similar result was obtained when the schemes were simulated over a period of 1 to 30 days (Fig. 7). Up to 16% decrease is observed in data loss due to proposed scheme as compared to EHDA.
Impact of varying failure rates on data loss.
Data loss over a period of time.
Thus, the simulation results indicate that presence of mobile fog nodes can decrease the probability of data loss in IoT systems. An important advantage of the proposed scheme is that unlike existing schemes and architectures [12, 14, 19], it does not rely upon either any fixed topology of the underlying system nor does it require any collaboration between resource constrained devices. The use of opportunistic contacts between fog and IoT nodes makes it suitable for the considered systems.
The unprecedented growth of Internet of Things has given an impetus to effectively utilize the data collected by the IoT devices. However, the devices are resource constrained and usually operate in fragile environments due to which they are vulnerable to hardware, software and networking failures. It is imperative that a fault tolerance mechanism of IoT data offloading be employed to prevent loss of data. This paper proposes a mobile fog enhanced data offloading scheme that addresses the loss in network connections between IoT devices and network gateways. The proposed scheme utilizes the opportunistic contacts between fog and IoT nodes for offloading the latter’s data. Simulation experiments have verified that the proposed scheme is successful in reducing the data loss when fog node mobility rates increases. Further, an increase in connection failure rates and network sizes results in a lower increase in data loss in comparison to other schemes. Additionally, the benefit of the proposed scheme is more pronounced over longer time durations as up to 16% decrease in data loss is observed as compared to a contemporary method.
Footnotes
Author’s Bio
