Vertical Handover Decision for Mobile IoT Edge Gateway Using Multi-Criteria and Fuzzy Logic Techniques

Internet of Things (IoT) is ubiquitous, including objects or devices communicating through heterogenous wireless networks. One of the major challenges in mobile IoT is an efficient vertical handover decision (VHD) technique between heterogenous networks for seamless connectivity with constrained resources. The conventional VHD approach is mainly based on received signal strength (RSS). The approach is inefficient for vertical handover, since it always selects the target network with the strongest signal without taking into consideration of factors such as quality of service (QoS), cost, delay, etc. In this paper, we present a hybrid approach by integrating the multi-criteria based VHD (MCVHD) technique and an algorithm based on fuzzy logic for efficient VHD among Wi-Fi, Radio and Satellite networks. The MCVHD provides a lightweight solution that aims to achieving seamless connectivity for mobile IoT Edge Gateway over a set of heterogeneous networks. The proposed solution is evaluated in real time using a testbed containing real IoT devices. Further, the testbed is integrated with lightweight and efficient software techniques, e.g., microservices, containers, broker, and Edge/Cloud techniques. The experimental results show that the proposed approach is suitable for an IoT environment and it outperforms the conventional RSS Quality based VHD by minimizing handover failures, unnecessary handovers, handover time and cost of service.


Introduction
The growing popularity of Internet of Things (IoT) has opened opportunities for various new application areas. It is estimated that the number of IoT devices will reach 50 billion by 2025 [1]. A definition of IoT is as follows: "Internet of Things envisions a self-configuring, adaptive, complex network that interconnects 'things' to the Internet using standard communication protocols. The things offer services, with or without human intervention, through the exploitation of unique identification, data capture and communication, and actuation capability. The service is exploited by intelligent interfaces and is made available anywhere, anytime, and for anything" [2]. On the other hand, Cloud computing is crucial in enabling IoT scalability and agility. Cloud-based solutions are key reasons to the success of IoT.
Based on the definition and the growing trend of IoT and Cloud, the scope of IoT systems is becoming ubiquitous. Further, the data generated from IoT devices often demand fast or real-time processing and a device could be IoTequipped Mobile Terminals (MTs). The MTs can range from vehicles on the road to ships on water to UAVs/drones in the air. Sensors equipped on these MTs can transmit data, e.g., tracking and monitoring, to the Cloud for further processing and services [3]. As an MT travels, it may switch between different types of available heterogeneous wireless networks, while still need to satisfy the quality of service (QoS) requirements. On the other hand, IoT-equipped MTs may have constrained resources. Hence, intelligent, robust, and efficient handover techniques are essential to fulfill the requirements of diverse QoS demands.
To achieve the seamless connectivity, it often is necessary to execute frequently both of handover techniques: vertical handoff decision (VHD) across heterogeneous networks and a horizontal handoff (HHO) method for handovers using the same network technique, e.g., cellular network.
In [4] [5], the authors proposed the architecture of a mobile IoT Edge Gateway that is capable of performing vertical handovers between Wi-Fi and Satellite networks based on Received Signal Strength (RSS) using Edge computing. Edge computing brings the datacenters (or mini-data centers) closer to the users or MTs to shorten the delay compared to Cloud computing. The concept of containerized microservices on mobile IoT Edge Gateway is presented in [5] [6], as a lightweight and efficient solution, which can be easily deployed and integrated with different development environments. In [7] [8] [9], the authors have discussed the benefits, challenges and performance evaluation of deployment of IoT gateways as a middleware solution at the Edge Gateway. However, their proposed approaches do not have radio or satellite as a secondary way of transmitting the data from the Edge Gateway to the Cloud in case of a network failure or out of the coverage of a Wi-Fi network.
To overcome the potential problem in tracking and monitoring MTs seamlessly for wireless IoT services, the main objective of this paper is to build an efficient vertical handover algorithm for mobile IoT applications and integrate real hardware components and software techniques for a testbed. The contributions of the paper are: First, this paper extends our previous study [4] to cover the Radio network in addition to Wi-Fi and Satellite networks for decision making. Further, most of the previous research efforts concentrate either on the network level parameters or limited to two types of networks, i.e., cellular and Wi-Fi or Bluetooth technologies, and are often limited to a single or only a few decision criteria. We adapt the multi-criteria based VHD (MCVHD) algorithm for diverse parameters related to user's satisfaction, network needs, and service requirements. We also apply fuzzy logic to the vertical handover scheme for heterogeneous networks for real time services.
The second contribution of the paper is the actual design, implementation, and evaluation using a real testbed. Moreover, the IoT system has been integrated with Edge/Cloud computing and advanced software techniques for the prototype. The software techniques adopted in the paper include microservices, containers, and middleware broker that are lightweight and suitable for IoT systems with limited resources. We have also evaluated the proposed approach through an extensive set of experiments for various scenarios using the testbed.
The rest of the paper is organized as follows: Secion 2 describes the background and related work. Section 3 presents the IoT mobility management. Section 4 describes the proposed system for IoT Edge Gateway. Section 5 describes the VHD mechanism. Section 6 presents the testbed designed for proof of concept. The performance evaluation of the proposed fuzzy logic based MCVHD algorithm is presented in Section 7. Finally, Section 8 presents the conclusion and future research.

Background and Related Work
This paper focuses on vertical handover management in heterogenous wireless networks. Various vertical handover schemes have been proposed in the literature. The approach in [10] compares vertical handover algorithms based on QoS. But the approach is limited to only two 3G and WLAN (wireless LAN) networks. The author in [11] presents a survey with a comparison of several vertical handover algorithms, but the research work is limited to only RSS Quality based function.
Approaches in [12] and [13] are based on RSS for VHD. The network with the highest RSS value is selected among available networks. Similarly, both [14] and [15] discuss various handover methods, but they also only consider RSS. The RSS value can fluctuate more and result in unnecessary handovers (UHs) or even handover failures [16]. Thus, the approach based only on RSS value is not effective for vertical handovers. Another handover approach [17] only considers fixed bandwidth as a decision criterion, which is challenging during dynamic bandwidth decision scenarios. The approach presented in [18] considers other criteria like Signal to Interference plus Noise Ratio (SINR), mobile terminal speed, etc. However, the approach lacks in adaptive considerations based on user preferences. Other handover methods, e.g., [19] [20], intend to minimize the cost function of multiple metrics, such as bandwidth, delay, jitter, etc. But they may limit to the user satisfaction level.
Both VHD and HHO are implemented in networks to enhance QoS, save energy, improve network throughput, fulfill user convenience and/or balance traffic load. To carry out such tasks, IoT-equipped MTs with constrained resources must be able to efficiently and seamlessly reconnect to the best access network among several candidates' wireless networks, without interruption to existing connections [20]. In the case of vertical handover between two different types of access networks, the main objective is to minimize data loss and interruption time during the handover period. Besides, the handover replacement of the access network should be transparent to the application and the end user. However, vertical handovers may affect QoS due to the different characteristics of various wireless access networks. Thus, the performance of VHD scheme has a direct impact on user requirements and on the overall network performance. VHD in heterogeneous wireless networks has recently received a great deal of attention [11] [12] [14] [15] [16] [17] [21].
The handover decision based on the Multi-Attributed Decision Making (MADM) method [22] has been adopted by some researchers, as it considers multiple criteria for selecting the current best available network. A similar approach presented in [23] shows a comparison of Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) methods [21] for VHD. It considers criteria such as RSS, round trip time, bandwidth, latency, jitter, range, etc. This method first eliminates the networks which do not meet the requirement and then calculates a score for each network to decide the best network. Though this approach is better than other VHD methods, it requires more resources, e.g., CPU, memory, power, due to heavy computations, which is not suitable for resource constrained IoT devices.
Another VHD method proposed in [24] is based on weighted product model. This method first calculates weights of each criterion and then it generates a decision matrix based on configuration values. After calculating the cross product of the weights and the decision matrix the result is normalized. Finally, the best available network is chosen. Though this approach generates good results, it is imbalanced with respect to the QoS of a network. One of the MADM based methods, called TOPSIS decision model, is a popular VHD method due to its simple calculations, less computation and higher efficiency. The approach reported in [22] is based on the TOPSIS technique. The authors in [25] enhanced the TOPSIS technique by combining two approaches, i.e., M-AHP and E-TOPSIS.
The M-AHP has been used to assign weights to network criteria while E-TOPSIS has been used for ranking the network.
Some approaches make use of artificial intelligence algorithms [21], fuzzy logic, genetic algorithms and neural networks techniques to interpret imprecise information and convert imprecise data into crisp numbers. Research efforts in [26] [27] [28] focus on utility function models to describe the level of satisfaction of the MT according to different services offered by the network technology.
None of the abovementioned schemes supports vertical handovers in a generic scenario. In other words, using a scheme can be better in one particular scenario, but it may be not good in another scenario. We have reviewed those schemes from different perspectives and identified several issues, such as using imbalance parameters for network selection, inappropriate handover triggering, complex computation during handover, incorrect network selection, etc.
Based on this literature review, none of those approaches actually integrate a system using real hardware and software components and techniques, and those approaches are not specifically targeted for IoT systems which often have limited resources. Experimental design and evaluation play a crucial role in validating emerging ideas and advancing technologies.
Moreover, the MADM methods are largely used to optimize the vertical handover problem. Our objectives in this research paper are first to put forward a hybrid approach based on the TOPSIS [21] algorithm. The TOPSIS algorithm is used to calculate the performance concerning each of the candidate networks.
Fuzzy logic is then applied to convert imprecise data into numerical values using conversion scales and the best network based on higher ranking calculated by TOPSIS is selected for handover. The second objective is to devise a lightweight system and integrate it with Edge/Cloud computing for resource-constrained IoT applications.
Fuzzy logic is a useful technique for measuring indeterministic data in form of linguistic term [21]. There are many reasons to adopt fuzzy logic as a possible solution to the selection problem where the criteria are indeterministic. The aim of our approach is to design a scheme by leveraging the strength of MCVHD, which makes use of fuzzy logic to select the best available wireless network, while considering multiple criteria, such as user preference, cost, signal strength, and latency.

IoT Mobility Management
One of the major challenges faced by IoT-equipped MTs is the ability to gain continuous access to the heterogenous networks and to maintain a certain QoS level while traveling. The rest of this section describes critical issues related to IoT mobility management, including handovers, VHD criteria, and VHD algorithms.

Handover
A handover is the process of transferring a connection session without disconnection while MTs moves from one Base Station (BS) or access point to another.
Handovers can be classified into two categories [17]: A handover decision depends on the type of the handover technique which could be based on various factors like RSS, QoS, data rate, network coverage, speed of MTs, latency, service cost, and power utilization. An important factor of the handover process in VHD is selecting best available network among the candidate networks. Contrary to the RSS-based handovers, the MCVHD algorithms consider other criteria to improve network selection and user satisfaction.

VHD Criteria
Multiple criteria need to be considered for VHD. The authors in [34] present a thorough discussion on VHD criteria. The following summaries the important criteria based on a survey of the literature.
Received signal strength (RSS): RSS is a commonly used factor for VHD because of easy measurement and it is directly related to the service quality of signal. RSS quality also depends on the distance from an MT to its point of attachment (POA) [35]. Various horizontal handover algorithms use RSS as the main decision criterion for handover. Evidently, RSS is an important criterion for VHD algorithms as well. Cost of Network Service: Cost of network service should be taken into consideration for VHD, as different network types may have different access cost.
For example, service cost of data transmissions through the satellite network is typically higher than that through Wi-Fi or a cellular network.
Security: Security is important for VHD in applications where confidentiality of data is critical.

Classification of VHD Algorithms
VHD algorithms can be classified based on the handover decision criteria used.
There are four types of VHD algorithms: RSS based algorithms: RSS based VHD algorithms are the conventional in handovers. Many methods have been proposed and developed to select the best network among available alternatives based on highest RSS value. Since the heterogenous networks reveal disparity of the technologies involved [27] with different thresholds which makes comparison difficult. Consequently, other parameter(s) like quality factor and bandwidth are usually combined with RSS for the decision making.
Bandwidth based algorithm: This category of VHD algorithms is primarily based on available bandwidth for an MT [18]. Both bandwidth and RSS are also used in some VHD algorithms [35].
Cost function-based algorithms: These VHD algorithms selects the best network based on a cost function. A cost function typically involves monetary cost, security, bandwidth and power consumption [36]. These metrics are evaluated on the basis of user preferences and network conditions.
Combination algorithms: This type of algorithm involves a larger number of parameters which may make VHD difficult to evaluate. Hence, these algorithms use machine learning techniques to formulate the VHD process [37] [38]. Artificial neural network is also used where a comprehensive set of input-desired output patterns are available [34] [39]. A real-time learning processes may also be applied which can analyze and modify their own structure to improve the efficiency.

Performance Evaluation Metrics for VHD Algorithms
VHD algorithms can be quantitatively assessed under various usage scenarios.
The following describes the commonly used metrics for evaluating VHD algorithms.
Handover time: The duration between the initiation and the completion time of the handover process is referred to as handover time. The initiation corresponds to the instant when the VHD algorithm selects the best network and successfully connects to it. The completion time refers to the time taken by the first acknowledgement packet to be received by the corresponding MT after handover. Reducing handover time is important for delay-sensitive applications.
Ratio of unnecessary handovers: Reducing the number of UHs is often preferred for constrained IoT devices, as frequent UHs will generate processing overhead and cause depletion of network resources. UHs can be defined as handovers initiated from MT's communication link to another MT's communication link then is initiated back to the first communication link within predefined duration of time [16]. The ratio of UHs handovers can be defined as the number of unnecessary vertical handovers over the total number of vertical handovers occurred during a period of time.
Ratio of handover failure: A handover failure occurs when the handover request is initiated but is not successfully completed. There could be several reasons for this, e.g., insufficient resources to complete the handover to the target network or MT moves away from the coverage range of the target network before completion of handover. The ratio of handover failure is the ratio of the number of failures during handover to the total number of vertical handover occurred during a period of time.
Throughput: Throughput is defined as the rate of data transfer to the MT on a connected network. Higher throughput is desirable for VHD decision making.

Design and Implementation of the Proposed Approach for IoT Edge Gateway
This section discusses the conceptual design and implementation of the proposed IoT solution. We first present the system architecture and hardware components used in the proposed solution. Next, we describe the conventional RSS quality based VHD algorithm and introduce the proposed MCVHD algorithm.
After that, we present data processing and transmissions through Wi-Fi, Radio and Satellite networks. The Communication Subsystem contains Wi-Fi, Radio and Satellite modems for streaming data. And the Power Subsystem provides battery power to all Subsystems. Figure 2 shows the design of the IoT system. The Sensor node streams sensor data to Raspberry Pi 3 which acts as an IoT Gateway node with a baud rate of 9600 bps. The Raspberry Pi 3 collects, filters and combines sensor data from multiple streams and then transmits data to the BS server using one of the communication techniques: Wi-Fi (embedded in Raspberry Pi), Radio, or Satellite communications. Each subsystem is further described as follows.  Sensing Subsystem: This subsystem consists of JY901 as a sensor node which integrates high precision gyroscope, accelerometer and geomagnetic sensing capabilities. The sensing subsystem sends the data collected from different sensors to the Processing Subsystem. This type of sensor is suitable to track object movements.

System Architecture and Configuration of IoT System
Processing Subsystem: Its main tasks are to: 1) aggregate and process the data obtained from the Sensing Subsystem; 2) run the MCVHD algorithm (see Section IV); and finally 3) run the rate limiter algorithm (see Section V) and forward the processed data to the Communication Subsystem for transmissions to the BS server.
Raspberry Pi 3 is used as the IoT Gateway data processing node. The Raspberry Pi 3 microprocessor can perform complex tasks [41]. The IoT Gateway node receives the sensor data coming from multiple sensors and stores the data in a local SQLite Database [42], which is a light server-less database for efficient processing.
Power Subsystem: The role of the power subsystem is to provide and distribute power to each component of system, and manage the energy in the attached radio modem, satellite modem and Gateway node (Raspberry Pi 3). An external portable Lithium ion battery has been used to support power requirements.
Communication Subsystem: The role of the Communication Subsystem is to support transmissions of sensor data to the BS. This system consists of various modes of communication, i.e., Wi-Fi, radio modem and satellite modem. The radio and the satellite modems are serially connected to the USB ports of Raspberry Pi 3 (Gateway). Figure 3 shows the proposed IoT system.
The MTs could be any vehicle, e.g., drones, ships, lorries, where the designed portable IoT system could be placed. The IoT testbed uses a Raspberry Pi 3 with Advances in Internet of Things For our design and investigation, XTend RF Modem [44] has been used; one used in the IoT subsystem and other one at the BS. The AT commands have been used to configure the modems to support additional functionalities.
3) Satellite Modem for Data Communications: The RockBLOCK Mk2 [45] has been adopted for our testbed. It is for the Iridium satellite network. Although the satellite modem has a global coverage, compared to the XTend Radio modem, data cost is high as this device depends on the infrastructure, data plan, and subscription services for message transmissions. Another important downside for satellite communications is the high delay (up to 20 seconds to 1 minutes for a single message). Messages sent or received from the RockBLOCK Mk2 satellite modem are transmitted through the Internet, via an email address or HTTP. In our design, the RockBLOCK Mk2 satellite modem is connected to Raspberry Pi 3 [46].

Data Processing
The proposed IoT system is comprised of sensor nodes, energy-efficient communication networks, and the IoT Gateway that transmits data to the BS as shown in  the proposed system. Dweet.io [47], an open source Cloud broker for prototyping an end-to-end solution, is used for visualizing IoT data on a Cloud application. The hardware components as described so far are configured to form an IoT system. IoT system along with the software components is the base for the proposed IoT telemetry solution. The following explains data processing conducted at the Gateway, a key software component, in our design.
IoT Gateway Data Processing: The IoT Gateway, i.e., Raspberry Pi 3, has many functionalities. The first task is the transformation and normalization of the heterogeneous data coming from different sensors (data sources). The generated data sets can vary in structures and formats such as JSON, CSV, and XML. The Gateway accumulates heterogeneous nature of data coming from different types of sensors and converts them to a proper format required for the next step of data processing.
Protocol transformation is another important task of the IoT Gateway, since sensor nodes are low powered and constrained devices that cannot use the Wi-Fi or Ethernet to communicate with the IoT Gateway. Sensors use low-powered communication protocol for data transmissions. The IoT Gateway supports multi-protocol communications for accepting inbound communications, i.e., sensor data sent by sensor nodes and, outbound communications, i.e., Gateway connection to the Cloud through a remote API and using protocols, e.g., MQTT, CoAP, and REST [48].

1) Gateway Data Transmissions through Wi-Fi
The IoT Gateway receives a high volume of data from all sensors and performs filtering and aggregation as per pre-established rules. As Wi-Fi provides highest data rates with low cost, hence the data rate limiter algorithm (discussed in Section V) selects high volume of data to be transmitted through Wi-Fi. A Python-based program is developed to connect the IoT system with the remote BS server.
Sensor data are stored locally into SQLite database, which is a lightweight database suitable for IoT Gateway. The IoT Gateway performs SQL queries to select data from the SQlite DB installed onto Raspberry Pi 3 (Gateway) and transmits the outcome to the nearest BS server through Wi-Fi. The BS is further connected to the Cloud via the Internet. IoT Gateway publishes topic to dweet.io which is a Cloud broker. A freeboard dashboard application has been designed which subscribes to the topic published by IoT Gateway.
2) Data Transmission through XTend Radio The selected radio modem has a communication range up to 40 miles outdoors line of sight and 3000 ft indoors. This 900-MHz radio link provides a cost-free solution for sending data to the BS with data throughput up to 115.2 kbps. The transmit power can be adjusted from 1mW to 1W as per the application requirement. Figure 5 shows RF communications between the Gateway and the BS. The radio modem is serially connected at IoT Gateway and at BS. It is configured with source and destination address using XCTU software for data transmissions. The Python program running at IoT Gateway node transmits sensor data over the serial port. The Ubuntu server at the BS hosts an Apache webserver and makes requests to the IoT Gateway to send sensor data periodically. When a request is received by XTend RF Radio modem at the IoT Gateway, it transmits the sensor data to the BS. 3

) Data Transmission through Satellite
The RockBLOCK Mk2 is an Iridium 9602 SBD satellite modem which can send and receive short messages from anywhere [31]. The modem transmits data to the Iridium constellation which transmits to the Iridium Gateway Ground Station. RockBLOCK server receives data from the Iridium Servers and sends them to the application, e.g., web application, email, etc., as shown in Figure 6.

VHD Mechanism
The VHD algorithm continuously monitors the wireless interface of Raspberry Pi 3 and the serial interface of the RockBLOCK Mk2 satellite (SAT) modem. In the VHD process, various criteria are considered for selecting an available interface (Wi-Fi, Radio or SAT) based on network availability, signal strength, cost, network condition and system performance. The handover process consists of three main steps:   Network discovery: This step is to identify networks that are in the range of the MT. This step is usually done on the Gateway by scanning the different available interfaces of heterogeneous networks. If a network is not reachable then it is removed from the list of the active network interface for decision making.  Network selection and handover decision: A decision is made by the MT to select the best available network to which the terminal can be connected to, which is dependent on multiple criteria (data rate, RSS, delay, cost, etc.).  Handover: The actual process of switching the data session from one network to another network.

Handover Decision Module
This module consists of the main handover decision algorithm. Two methods for deciding the vertical handover are considered. Firstly, conventional RSS Quality based VHD method is described, which only considers RSS Quality. Secondly, the proposed MCVHD method is presented based on multi criteria for decision making.

Conventional RSS Quality Based VHD Method
The conventional VHD is mainly based on RSS. The procedure to calculate RSS for the radio link and the satellite link are different from that of Wi-Fi link. Therefore, separate methods are used for each of the three networks to measure the RSS Quality. For Wi-Fi and Radio networks, the RSS value in dBm is measured and then converted to RSS Quality percentage at a scale of 0% to 100%. The satellite network provides the RSS Quality value in scale of 0 to 5; hence, the value is also converted to RSS Quality percentage from (scale 0 value) 0% to (scale 5 value) 100%. This Quality conversion makes Wi-Fi, Radio and Satellite networks to be evaluated on the basis of RSS Quality percentage (0% -100%), where 50% of RSS Quality is considered medium quality [29]; hence 50% is taken as the threshold limit for handover decision. The RSS values for all the active network interfaces are calculated based on algorithms presented in Algorithms 1-3.

Multi-Criteria Based VHD Method
The proposed MCVHD is used to calculate the priority ranking of the available networks based on multiple criteria, such as link quality, price, bandwidth, battery consumption, etc. During the handover decision making process, the available networks are ranked based on multi-criteria and user preference weights. The network ranked with the highest priority is selected as a target network to handover. MCVHD falls under the domain of MADM method [22]. Currently, this paper considers three heterogenous networks for vertical handover, i.e., Wi-Fi, Radio and Satellite networks, denoted by N1, N2 and N3, respectively. The multi-criteria considered for vertical handover are RSS Quality, data service cost, data rate, latency, reliability, network coverage range, power consumption, mobile terminal speed which are denoted by P1, P2, P3, P4, P5, P6, P7 and P8, respectively as shown in Table 1.
The multi-criteria can be concisely expressed in the form of decision matrix D, where the capabilities of each network, N1 (Wi-Fi), N2 (Radio) and N3 (Satellite) are presented with criteria (P1, P2, ..., P8). The criterion like latency (P4) depends on the routing to the destination terminal and cannot be determined prior to evaluating the network. Hence, a linguistic term, e.g., Low, Medium, or High, could be used for such criterion. An average value of latency can also be used if prior knowledge of the received latency values are available. Those terms are also used for reliability (P5).

P1
If any network is not reachable then it is excluded from the decision matrix D.
The preference on handover criteria is modelled as weights assigned by the designer on the eight criteria as shown below by the weight vector W.
[ ] W High Low Medium Medium High Medium Low Medium = This type of imprecise data expressed in W cannot be efficiently handled by any of the MADM methods, hence our proposed MCVHD mehod enhances the MADM approach by using fuzzy logic to convert each linguistic term into crisp numbers as per fuzzy number conversion scale [21].
Hung and Chen [21] have proposed different conversion scales with different numbers of linguistic terms. The same linguistic term in different conversion scales can have different crisp values. For instance, when six linguistic terms, very low, low, fairly low, fairly high, high and very high are used, the term high will be converted to the crisp number 0.75. This paper uses one of the fuzzy number conversion scale in our MCVHD algorithm to calculate the priority ranking of Wi-Fi, Radio and Satellite networks, as shown in Figure 7, where µ(x) is the degree of membership and x axis represents the fuzzy number range of very low, low, medium, high and very high.
The proposed MCVHD uses the TOPSIS [21] technique as the MADM method for the IoT solution. The TOPSIS technique is enhanced with the fuzzy logic that converts linguistic terms to numerical values. The TOPSIS technique is based on the principle that the chosen alternative should have the shortest distance from the ideal solution and the farthest distance from the negative-ideal solution.

Converting Linguistic Terms Using Fuzzy Logic
The multi-criteria for Wi-Fi, Radio and Satellite networks are converted into decision matrix D, as presented in matrix (1), as an illustration for three networks (N1 -N3) and eight criteria (P1 -P8). Decision matrix D includes linguistic terms for criteria latency (P4) and reliability (P5): Decision matrix D as presented in matrix (1) is then converted using fuzzy number conversion scale, see Figure 7. The resulting decision matrix D' after converting linguistic terms is presented in matrix (2) as shown below.
The designer or operator defined weight vector W, as presented in weight (1), for multi-criteria are also converted to numbers and normalized so that the sum is equal to 1. After conversion, the normalized weight vector W' represented as Weight (2) for multi-criteria parameters is presented in weight (2) (2) After the linguistic terms are converted into numeric values, the TOPSIS technique is used to calculate the ranking of the available networks.

Proposed MCVHD Method Based on Enhanced TOPSIS Technique
Using Fuzzy Logic Below is the procedure for the proposed MCVHD algorithm based on enhancing TOPSIS technique using fuzzy logic: Step 1: Construct the decision matrix using the aforementioned fuzzy logic approach. The decision matrix D, as depicted in matrix (2), is composed of different available heterogeneous networks N1, N2 and N3 by using the different priority-based criteria (P1, P2, P3, …, P8).
Step 2: A normalized decision matrix D' is constructed to transform dimensional attributes into normalized way by Euclidean normalization. Euclidean normalization converts all attributes into dimensionless units which makes easy comparison across multi-criteria, as presented in decision matrix (3). Other normalization technique like Linear Scale Transformation is inefficient as calculated scale transformation is not proportional to outcome [50].
Each element of the normalized decision matrix D' is calculated as r ij . The calculation of r ij is based on Equation (1) Step 3: Construct the weighted normalized decision matrix U using cross product of normalized decision matrix D" as presented in matrix (3) and weight vector W' as presented in weight (2). Each element u ij of the weighted normalized decision matrix U can be calculated by multiplying the normalized decision matrix r ij with its associated weight in normalized weight vector W ′ as presented below in Equation (3): The calculated weighted normalized decision matrix U is depicted in matrix (4).
Step 4: Determine the positive ideal solution S + and the negative ideal solution S − by using matrix (5) and matrix (7), where J is associated with the benefit criteria and is J*associated with the cost criteria. Similarly, Data Service Cost (Price), Latency and Power Requirement are cost criteria. MT Speed could be benefit or cost criteria, depending on how far the MT is from the BS and how fast it is moving. To calculate negative ideal solution, the benefit criteria should be chosen using the minimum values and the cost criteria should be selected with the maximum value from matrix (7). The calculated value is represented by matrix (8).
Step 5: Measure the distance from the ideal solution. The Euclidean alternative distances, in relation to the positive and negative ideal solutions are determined by using Equation (4) and Equation (5)  Calculate the separation of each alternative from the ideal solution, and the negative ideal solution, using the Equation (6) and Equation (7), and the result is presented as matrix in matrix (9) and matrix (10) respectively for Wi-Fi, Radio and Satellite.  (9) The separation from the negative ideal alternative is given by: (7) [ ] 0.2830 0.2830 0.1976 = matrix (10) Step 6: Calculate the relative closeness R(i) of each alternative, which is the relative closeness from the ideal solution and is determined using Equation (8): Equation (8) The resulting matrix of relative closeness to the ideal solution for Wi-Fi, Radio and Satellite networks is [0.578 0.429 0.345].
Step 7: Rank the available networks. The best network with the highest value of Ri is selected as an optimal network for handoff among available networks.

Rate of Data Transmission
This section presents an algorithm for data transmission rate based on the selected interface among the available active heterogeneous networks. Algorithm 5 is used to limit the data rate as per the selected network interface. Algorithm 5 updates data rate limit, which is periodically invoked when any new interface is selected. This algorithm invokes other functions such as Set-Wi-FiDataRate(), SetRadioDataRate() and SetSatDataRate() based on the selection of Wi-Fi, Radio or Satellite network, respectively. After calculating the data rate based on the selected interface then the new data rate is updated with for that selected new interface. Rate limiter function will minimize the data cost by limiting data rate, because the cost of sending the data through the satellite is much higher compared to that of Wi-Fi or Radio link. The second advantage is that this function is executed only when a new interface is selected during handover. Hence, this will reduce memory consumption and run time and its beneficial for small IoT devices which have less processing power as well as memory.

Experiment Testbed
The experiments are conducted outdoor on a moving vehicle. The vehicle is equipped with the developed IoT system comprising of 2 JY901 sensors, and mobile IoT Edge Gateway with on board Wi-Fi, Radio Modem and Satellite Modem. As depicted in Figure 8, the sensors are connected serially to Raspberry Pi 3 which acts as the mobile IoT Edge Gateway. The mobile IoT Edge Gateway runs three applications: Firstly, data processing in which it filters, and aggregates data received from sensors, and stores into the SQLite database for local visualization using the Apache2 web server. Secondly, it performs VHD between the Wi-Fi, the Radio and the Satellite networks. Thirdly, it performs data transmissions according to the data rate limiter network function. For transmitting sensor data, the mobile IoT Edge Gateway is serially connected to the Radio Modem (transmitter) and the Satellite Modem using USB to Serial connection as shown in Figure 8.
The Satellite Modem transmits data to Satellite Iridium Server via Iridium Satellite Constellation. The Satellite Iridium Server sends data to the BS server. The BS is comprised of a Wi-Fi Modem and a Radio Modem as a receiver which are connected to a Server (Ubuntu 14.04). The BS server collects data received from the Wi-Fi, Radio and Satellite Iridium Server, then it sends the data to the Cloud via the Internet. A dashboard cloud application is developed for visualization using freeboard.io [51]. Table 2 exhibits the parameters and their permissible value range used for our proposed MCVHD algorithm. The handover multi-criteria considered here are RSS Quality, data service cost, data rate, network latency, reliability, network coverage, power requirement, mobile terminal speed which are denoted as P1, P2, P3, P4, P5, P6, P7, and P8, respectively.  The user defined weights are presented in Table 3 and the linguistic terms are converted to numeric values using the fuzzy logic conversion scale. User defined weights are then converted to numerical values, as described in Section 4.1.

Wi-Fi RSS Quality Measurement
The RSS Quality of the Wi-Fi network is measured between the IoT Gateway and the router providing the access point at the BS. A command line utility, iwconfig, is used at the IoT Gateway to measure the RSS Quality of the Wi-Fi network. Figure 9 shows the measurement during a period of 2 minutes when moving away from the BS and roaming within a range of 40 meters.
As shown in Figure 9, the RSS Quality for the Wi-Fi network reveals high fluctuations. The maximum RSS Quality is observed around 95% when the vehicle is near the Wi-Fi BS, while the RSS Quality drops to around 28% when the  The RSS Quality of the Radio network shows a less fluctuating behavior as compared to that of the Wi-Fi network (see Figure 9). The maximum RSS Quality is observed around 96% when the vehicle is close to the BS, which is similar to the case for the Wi-Fi network. It also shows that the RSS Quality drops to around 31% when the vehicle moves away from the Radio BS. The mean value of  the RSS Quality is around 70% which is close to the average value for the Wi-Fi network. This experiment is repeated five times and the results show similar pattern in each run. From this experiment we can conclude that the highest and the mean RSS Quality value of Radio network is similar to that of the Wi-Fi network, which makes Wi-Fi and Radio as competitive candidates when the vehicle is close to the BS.

Satellite RSS Quality Measure
The RSS Quality of the Satellite network is measured using the AT command "CSQ" at the IoT Gateway. The signal strength is measured between the satellite Modem (transmitter) at the IoT Gateway MT and the Iridium Satellite constellation as shown in Figure 8. The antenna on the Satellite Modem must be positioned to capture as much of the sky as possible. Since Iridium satellites are not geostationary, they pass over the site at different longitudes. During one pass the Satellite Modem antenna may have a perfect view of the satellites, whereas during another pass, it may not be as good (if there are obstructions in between). This could result in some loss of data. For best signal reception, the Satellite Modem antenna is mounted on top of the vehicle, so that it has an unobstructed view of the sky.
As depicted in Figure 11, the RSS Quality of the Satellite network is observed to be least fluctuating and mainly varies mostly between 70% to 73%. It is interesting to note that the RSS Quality dropped once below the threshold limit down to 28%. The reason for this sharp drop is that during that time the vehicle passed through a densely planted area which restricted the clear view of the sky. During such a low RSS Quality, i.e., below 40%, the Satellite Modem does not transmit data but stores the data in the buffer to be transmitted once the value is achieved more than 40%.
We can conclude that though the RSS Quality of the Satellite is often lower than that of the Wi-Fi network and Radio network, it is least fluctuating and remains close to constant for a wide network coverage. Advances in Internet of Things

Performance Evaluation of the Proposed MCVHD versus Conventional RSS Quality Based VHD
The

Priority Ranking
Priority Ranking is used to select the best option among the available heterogeneous networks using either the RSS Quality or the MCVHD algorithm. The Priority Ranking shows the descending order of the relative closeness value of each network. Hence, the network with the highest value of relative closeness is selected as an optimal network for handoff. As described earlier, the traditional RSS Quality based VHD method only considers the best RSS Quality network, whereas the proposed MCVHD method evaluates the best network based on certain network parameters and given weights, as depicted in Table 2 and Table  3. 1) Network selection ranking when MT is close to BS This experiment is conducted by running both VHD algorithms when the vehicle is stationary and is close to the BS. Figure 12 shows the network selection priority ranking for these three networks using both algorithms. It can be  observed that by using the conventional RSS Quality based method, the ranking of Wi-Fi is 0.885, which is the highest. But the Radio network has a very close value of 0.862. This negligible difference between the Wi-Fi and the Radio networks makes either one an ideal candidate the best network. However, such a result can contribute to more frequent vertical handovers due to fluctuating nature of Wi-Fi. However, using the proposed MCVHD method, the ranking is Wi-Fi first, followed by the Radio and then the Satellite network. Although both the algorithms generate similar results when the vehicle is close to the BS where all the three networks are available in the best capacity, a difference can be observed between the Wi-Fi and Radio networks using MCVHD. This is because MCVHD considers multiple criteria and the RSS Quality only contributes 22% of the weightage, adopted from [52]. RSS Quality calculated weightage, P1 is mentioned in weight matrix W(2) of the experiment. Other important criteria like data rate is always high for Wi-Fi, which distinguishes Wi-Fi from the Radio network, even though the Wi-Fi's RSS Quality value may be lower than that of the Radio network. Also, the ranking of Satellite is always low in both methods mainly due to higher cost of data transmissions.
2) Network selection ranking when MT is moving away from the BS This experiment is conducted by running both the conventional and the proposed algorithms when the vehicle is moving away from the BS. Figure 13 shows the network selection priority ranking for three networks using both algorithms. The priority ranking of Wi-Fi is noticeably lower than that of Radio and Satellite networks, since the range of Wi-Fi network is low for strong RSS, i.e., 30 -50 meters. As the vehicle moves away from the BS, the Wi-Fi RSS Quality decreases significantly.
The results show that the priority ranking of Radio is higher in both algorithms, but it must be noticed that the ranking values of Radio and Satellite networks (0.678 and 0.645, respectively) are close in the conventional RSS Quality based VHD method. In such a situation, any fluctuations in the Radio network could potentially cause UHs to the Satellite network. On the other hand, the MCVHD algorithm also considers the cost of data transmissions as an important factor in addition to the RSS Quality. Even though the RSS Quality of the Radio network could fluctuate, it will still select the Radio network unless the RSS Quality drops to a very low value.
3) Network selection priority ranking when MT is very far from the BS This experiment is conducted when the vehicle is far, at around 6 km from the BS. Figure 14 shows the network selection priority ranking for the Wi-Fi, Radio and Satellite networks. It can be observed that the ranking of the Wi-Fi network is very low as compared to the Radio and Satellite networks. The reason for the low ranking is due to unavailability or limited availability of the Wi-Fi network as the vehicle is very far from the BS.
The ranking value of the Radio network is also low as compared to that of the Satellite network, since the vehicle is moving out of the range of the Radio network which is up to 5 km. The Satellite network shows the highest priority ranking for selection, since it has a higher network range of more than 1000 km and is the only available network when the distance is far.

4) Ratio of Unnecessary Vertical Handover
This experiment has been conducted with vehicle speed of 20 km/h moving away from the BS. As shown in Figure 15, the ratio of UHs is higher in the conventional RSS Quality based VHD method in comparison to the MCVHD method, because the conventional method considers only on the highest RSS Quality.
The proposed MCVHD algorithm is designed to minimize or lower the UHs instances, even though when the speed of the vehicle increases. As illustrated in Figure 16, the results of UHs remain almost at a stable state when the speed is 60 km/h, i.e., the proposed MCVHD algorithm yields much lower ratio of UHs than that of the RSS Quality based VHD method as time goes by. Figure 17 shows that MCVHD outperforms the conventional RSS Quality Advances in Internet of Things    Similar experiments have also been conducted with at speed of 60 km/h. As shown in Figure 18, the proposed MCVHD algorithm yields lower ratio of handover failure as compared to that of the RSS Quality based VHD method.

6) Handover Time
The duration between initiation and completion time of the handover process is referred to as handover time. The initiation corresponds to the instant when the VHD algorithm selects the highest ranked network option and successfully connects to it. The completion time refers to the time taken by the first acknowledgement packet to be received by the IoT Gateway after handover.

a) Handover Time Between Wi-Fi and Radio
The handover time is measured at the IoT Gateway on MT and an average of 20 different runs is computed for the results, as depicted in Table 4. The handover time values are calculated between the Wi-Fi and Radio network transitions. Figure 19 shows the instantaneous values of the handover time as a function of the considered transitions.     Table 4). On the other hand, the transition from the Radio network to Wi-Fi network shows lower performance with a higher average value of 4.76 s and a larger standard deviation. It can be also noticed that the minimum handover time from Radio to Wi-Fi is very small (~1.8 sec). It is because usually MT logs out from a given network once the VHD application selects the other network for handover to save energy. But sometimes the logout fails, and the remote authentication server saves the authentication state for a certain timeout before automatic logout. b) Handover Time Between Radio and Satellite Similar experiment has been conducted on MT to measure the handover time between the Radio and the Satellite networks. This experiment is repeated 20 runs and the result is shown in Figure 20 and statistical information of the experiment in terms of standard deviation and confidence intervals are presented in Table 5.
The handover from Radio to Satellite shows a very high handover time in the range of 26 sec to 64 sec, as shown in Figure 20. The higher handover time accounts for activating the Satellite modem to send data and latency to receive acknowledgement back of the first data packet sent. The average time for handover to the Satellite network is recorded as 38.33 sec with standard deviation of 10.325, as presented in Table 5.

Conclusions and Future Research
This paper proposed a lightweight containerized solution for efficient vertical handover in mobile IoT using MCVHD. In addition, to deal with imprecise data, such as latency and reliability, the paper enhanced TOPSIS by adopting the fuzzy logic-based approach for multi-criteria VHD in IoT system.
We built a testbed for the IoT system using various real hardware devices and efficient software techniques like microservices and containers together with Edge/Cloud computing. Efficient solutions are critical to IoT systems where resources often are limited. A number of experiments were conducted with the testbed to evaluate the performance of the proposed MCVHD algorithm in comparison with the conventional approach. The experimental results showed Figure 20. Handover time between radio and satellite. that the proposed MCVHD algorithm outperformed the conventional RSS Quality based VHD in terms of reduced number of handovers, handover failures and handover delay. This paper also presented a mechanism to manage data flow at the IoT Gateway to limit the data rate according to the network chosen for transmissions.
The proposed MCVHD algorithm takes eight criteria into consideration. As a future work it can be extended for more criteria, e.g., packet loss, jitter, etc. This paper can also be extended by adding more communication links like cellular network capability and low-power wide area network (LPWAN); both have a wide coverage and thus can minimize the handover to costlier network like Satellite.
Other sophisticated or more complex handover schemes proposed in the literature, e.g., [29] [30] [31] [32] [33], could be evaluated and compared against our proposed approach using the testbed in the future, especially for those scenarios where the processing power is not a mainly concern.