1 Introduction

A general architecture of heterogeneous wireless mobile network (HWMN) (as shown in Fig. 1) comprises an integration of multiple wireless technologies, e.g., Cellular and WLAN, aiming to support seamless mobility as well as seamless services. Such services shall support various traffic types, for example VoIP and video streaming (probably with different video resolutions). To support seamless mobility, HWMN is required to be able to shift mobile devices’ connections from a home network to a foreign network in HWMN environment. The two networks may or may not have the same characteristics, but may offer different advantages. As an example, a foreign network may offer a lower usage price when compared to a home network. As shown in Fig. 1, if a mobile device moves across overlapping service areas, it needs to perform a handover process which may be vertical or horizontal handovers. In general, a horizontal handover triggering is mainly dependent on a single decision parameter such as received signal strength (RSS). In case of a vertical handover, a triggering may rely on a number of parameters, e.g., data rate and RSS [1]. Therefore, a vertical handover decision is far more complex when compared to a horizontal handover decision.

Fig. 1
figure 1

An illustration of integrated wireless technologies in HWMN network

Under the circumstances, an adequately intelligent handover decision mechanism deems necessary to perform an optimal vertical handover decision procedure. Several intelligent techniques have been proposed in the past years to enhance the intelligence of handover decision system (HDS) [2, 3]. Fuzzy logic is among those techniques and it has been widely utilized to strengthen the intelligence of decision mechanisms in several areas, for example sensor networking [4], stock trading [5] and health care [6]. The relevant vertical handover decision algorithms based on fuzzy logic were presented in the literature [7, 8]. However, the proposed fuzzy-based HDSs are mainly based on an inflexible design (also referred to as a monolithic design). Such design contains only one fuzzy engine and assumes fixed FMFs as well as a single set of fuzzy decision rules. Consequently, a monolithic design poses two critical drawbacks; (a) the algorithm execution time \((\tau )\) is unacceptable when the number of decision parameters to be considered is large (a large number of fuzzy decision rules are required), and (b) if one set of fuzzy decision rules is utilized, a performance will degrade when different traffics are to be dealt with.

A multi-fuzzy engines design (also referred to as a modular design) philosophy [9] was proposed to minimize \(\tau\), and an adaptive behavior [10] was incorporated to enhance the network selection capability in our previous work [also known as adaptive modular fuzzy-based HDS (AMHDS Design I)]. In this paper, an enhanced version of AMHDS Design I (also known as AMHDS Design II, which was originally introduced in [11]) is presented. The Design II has been further extended with revised fuzzy decision rules (also known as AMHDS Design II-rfr) aiming to further achieve a better performance in terms of network selection capability. The performance evaluation of the proposed work for various traffic types with different service options were conducted. The AMHDS Design II-rfr was developed and simulated assuming a HWMN environment and two traffic types; (1) VoIP streaming traffic and (2) video streaming traffic with two resolutions.

AMHDS Design II-rfr has shown to improve the network selection capability by 1.84% for VoIP traffic, and by 1.38 and 1.73% for video streaming traffics with resolutions of 360p and 720p, respectively, when compared with AMHDS Design II [11]. Additionally, AMHDS Design II-rfr outperforms non-fuzzy-based algorithms, namely Simple Additive Weighting (SAW) and Analytic Hierarchy Process (AHP), in terms of network selection capability. In addition to that, \(\tau\) was also evaluated and the result shows that AMHDS Design II-rfr achieves a reduction of 26.3% in the value of \(\tau\) when compared to AMHDS Design I [10] due to the fact that the total number of fuzzy decision rules required is reduced from 99 rules to just 54 rules.

The rest of the paper is organized as follows. The related handover decision techniques are presented and discussed in Sect. 2. The design and development of AMHDS Design II with revised fuzzy decision rules are given in Sect. 3. Section 4 presents the simulation environment, procedure and results. Section 5 gives a conclusion and future work.

2 Related Work

Existing vertical handover decision algorithms have varying degree of complexity and intelligence ranging from simple weighting functions to heuristic-based decision algorithms. Fuzzy logic is known to have the capability to intensify intelligence in decision processes and has been used to improve decision making procedures in many areas such as power management [12]. For a specific research related to handover decision in HWMN, fuzzy-based algorithms are deployed in various ways; a triggering algorithm for handover [13] and imprecise data pre-processing for mathematical-based algorithms in [14, 15]. However, the usage of fuzzy logic in the previously cited works is only to reinforce HDSs (not actual fuzzy-based HDSs).

With regard to the application of fuzzy logic for HDS, several researchers have proposed various fuzzy-based handover decision mechanisms in recent years. In [16], a fuzzy logic technique has been used in conjunction with one of the Multiple Attribute Decision Making (MADM) methods called Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) aiming to reduce the handover latency, handover blocking probability and the number of unnecessary handovers between 4G and WiMAX networks. Four fuzzy controllers with their associated fuzzy decision rules for RSS, QoS, battery life and mobile velocity are developed. The outputs from individual fuzzy controllers are then fed into TOPSIS method in order to determine the most suitable wireless network for a handover. The results show that the proposed fuzzy-based TOPSIS method outperforms the classical TOPSIS method. Bayrakdar et al. [17] has utilized fuzzy logic to develop fuzzy-based spectrum handover strategy in cognitive radio networks. Three decision parameters, namely data rate, channel usage and priority, are considered in their work. According to the proposed strategy, the repetitive handovers for secondary users (to secondary networks) are remarkably decreased considering different data rates and priority classes for different traffics. In [18], a handover triggering technique based on fuzzy logic has been proposed to trigger a handover in a timely manner (to reduce handover latency) and to reduce unnecessary handovers in Long-Term Evolution (LTE) network. An adaptive mechanism enabling FMFs and fuzzy decision rules to be adapted in response to the changing environment is utilized. A training algorithm based on neural network is incorporated into fuzzy logic-based handover algorithm (FLHA) and is based on pattern learning. Three parameters, namely reference signal received power (RSRP), block error rate (BLER) and quality of service (QoS), are considered in this work. The training algorithm fine-tunes these parameters in order to cope with the environment changes. The results show that the proposed adaptive-FLHA minimizes the handover latency (resulting in sustainable connections achieving a lower number of dropped calls) and impressively reduces the number of unnecessary handovers while maintaining the throughput required by the application.

In another area, which requires guaranteed QoS in a network selection process, efforts are directed towards QoS-aware fuzzy-based HDS [19] and fuzzy-related (i.e., ANFIS) HDS [20]. However, the proposed fuzzy-based HDSs are developed based on a monolithic design. The said design uses unchanging fuzzy membership functions (FMFs) and untailored fuzzy decision rules, which contribute to two main drawbacks. The first drawback is related to the algorithm execution time (\(\tau\)). The value of \(\tau\) becomes unacceptable when the number of decision parameters taken into consideration is high. A high value of \(\tau\) is an undesirable factor in a handover decision process as it contributes to a high handover latency. As a result, mobiles’ connection may be terminated or data be lost during the handover procedure. Another major drawback is that the network selection capability degrades when dealing with different types of traffic since a monolithic design uses untailored fuzzy decision rules. From our past experience, to achieve an optimal network selection capability, FMFs and fuzzy decision rules need to be tailored to suit different traffics’ requirements.

Generally, it is possible to selectively use a small number of handover decision parameters resulting in a small number of fuzzy decision rules. For example, a fuzzy decision engine considering three handover decision parameters (corresponds to three fuzzy sets), each fuzzy set having three FMFs, requires as much as 27 fuzzy decision rules. However, under certain circumstances, three handover decision parameters may not be adequate to achieve an optimal handover decision performance. Assume that six handover decision parameters are considered, the required number of fuzzy decision rules can be as high as 729 rules. Consequently, the design and development of fuzzy decision engine becomes a much more complex task, especially with a large number of fuzzy decision rules. It has been found that a modular design philosophy is able to minimize the execution time of fuzzy-based algorithms. In [21] two fuzzy engines are used to separately evaluate two decision parameters groups. The output score of each engine is further calculated to determine the final score. However, the said work only focuses on the network selection capability. There is no reference to \(\tau\). The modular design philosophy has been fully utilized in [9] considering six handover decision parameters, and it has been shown that a modular design (three fuzzy engines working in collaboration) gives a remarkable reduction in the value of \(\tau\) due to the fact that the number of fuzzy decision rules is reduced from 729 rules to just 99 rules.

Another drawback is due to the fact that a fixed set (untailored) of FMFs used in a fuzzy decision engine (in monolithic design) is not likely to perform well for different traffic types and wireless technologies. This is because different traffic types have different QoS constraints, and different wireless technologies have different characteristics. An adaptive mechanism philosophy has been exploited within the decision process in order to address the second drawback. In [1], different FMFs sets are developed for data rate and RSS for different wireless technologies. As a result, the number of unnecessary handovers is reduced. In a similar fashion, an adaptive mechanism has been exploited by developing dedicated FMFs sets for different applications, resulting in a reduction in the number of unnecessary handovers [22]. An alternative approach has been proposed to realize an adaptive behaviour in HDS [23, 24]. An adaptive and modular design philosophies have been fully utilized in [10, 11]. Dedicated FMFs and tailored fuzzy decision rules are developed to match with different traffic types. As a result, a promising performance in terms of network selection capability is observed. Although the modular and adaptive mechanisms contribute to an improvement of network selection capability and a reduction in \(\tau\). However, further minimizing \(\tau\) is considered a major challenge for fuzzy-based HDSs when a large number of handover decision parameters are necessary.

3 AMHDS Design and Development

This section presents a general principle of fuzzy system and the design and development of an enhanced AMHDS (AMHDS Design II) with revised fuzzy decision rules (AMHDS Design II-rfr).

3.1 Fuzzy System

A fuzzy system, which comprises five components, is illustrated in Fig. 2. Fuzzifier converts crisp inputs into fuzzified data. Fuzzy decision rules are contained in Rule Base. The rules are used by Fuzzy Inference System (FIS). Database defines fuzzy membership functions. FIS generates aggregated fuzzified data. Defuzzifier changes the aggregated fuzzified data into a crisp output (score). In this work, the score is used to rank wireless networks in the final stage of handover decision process.

Fig. 2
figure 2

General architecture of a fuzzy system

Table 1 summarizes the notation used in this paper. Rule Base contains a set of fuzzy decision rules expressing all relationships between parameters, which are handover decision parameters in this work, in a form of IF-THEN rules. The total number of fuzzy decision rules, \(T_{r}\), required for fuzzy decision engine can be determined as follows:

Each input fuzzy variable is represented by an input fuzzy set comprising a number of membership functions, e.g.,

$$\begin{aligned} \tilde{A} &= (a_{1}, a_{2}, a_{3},\ldots , a_{n}) \\ \tilde{B} &= (b_{1}, b_{2}, b_{3},\ldots , b_{n})\\&\quad :\\ \tilde{M} &= {} (m_{1}, m_{2}, m_{3},\ldots , m_{n}) \\ \end{aligned}$$

where \(\tilde{A}\), \(\tilde{B}\) and \(\tilde{M}\) represent fuzzy sets for input variables A, B and M, respectively. \(a_{1}, a_{2}, a_{3},\ldots , a_{n}\), \(b_{1}, b_{2}, b_{3},\ldots , b_{n}\) and \(m_{1}, m_{2}, m_{3},\ldots , m_{n}\) are fuzzy membership functions of fuzzy sets A, B and M, respectively, each with n fuzzy membership functions.

The value of n may or may not be the same in each input fuzzy set. Assume the same n for all fuzzy sets, the total number of decision rules, \(T_{r}\), is calculated using:

$$\begin{aligned} T_{r} = n^u \end{aligned}$$
(1)

where n is a number of FMFs in the input fuzzy sets and u is the total number of fuzzy sets.

Fuzzy decision rules are represented in IF-THEN form and is given as follows:

$$\begin{aligned} \hbox {IF }a_{p}\hbox { and }b_{p}\hbox { and }\ldots \hbox { and }m_{p}\hbox { THEN }z_{q} \end{aligned}$$

where p = 1, 2,…, n and q = 1, 2,…, i. p and q are the number of FMFs in input and output fuzzy sets, respectively. \(z_{1}, z_{2}, z_{3},\ldots , z_{i}\) are FMFs of the output fuzzy set Z, \(\tilde{Z}\), which is given by:

$$\begin{aligned} \tilde{Z} = (z_{1}, z_{2}, z_{3},\ldots , z_{i}) \end{aligned}$$

In this study, an output decision for each individual fuzzy decision rule is obtained using expert knowledge. Note that an alternative approach is available to obtain fuzzy decision rules using learning mechanisms guided by numerical information. This technique is known as fuzzy rule learning (FRL). In addition, a number of methods (e.g., ad hoc data covering, neural networks, genetic algorithm and ant colony optimization) are proposed to automatically generate fuzzy decision rules from numerical data. One of the major constraints is that these algorithms require reliable and accurate training data sets, which may or may not be available in each and every situation. To the best of our knowledge, the training data sets that are suited to our research work are not readily available.

For the next component, namely Database, it defines a mathematical function, f(x), which embodies the mathematical representation of FMFs in fuzzy sets. The simplest FMFs are formed using straight lines (e.g., triangular and trapezoidal membership functions). These straight line FMFs have the advantage of computational simplicity and are easy to fine-tune FMFs of a fuzzy system.

Table 1 Table of notation

Fuzzifier converts crisp inputs into fuzzified data. In order to determine fuzzified data, fuzzy sets (as original described in [25]) and the associated FMFs must be firstly defined. Each fuzzy set comprises a number of states of a variable (a range such as Low, Medium, High), and each state is represented by a function called FMF. For example, FMF (Very Low) of fuzzy set A, \(\tilde{A}\), maps an input value, x, to an appropriate fuzzified data, \(\mu \tilde{A}(x)\).

In fuzzification process, if crisp inputs \(x_{1}\), \(x_{2}\), …, \(x_{m}\) are memberships of fuzzy set \(\tilde{A}, \tilde{B},\ldots , \tilde{M}\), respectively, then the degree of membership of \(x_{1}\), \(x_{2}\), …, \(x_{m}\) in fuzzy set \(\tilde{A}, \tilde{B},\ldots , \tilde{M}\) (fuzzified data) is given by:

$$\begin{aligned} \begin{aligned} \mu \tilde{A}(x_{1}) \in [0,1]\\ \mu \tilde{B}(x_{2}) \in [0,1]\\ :\\ \mu \tilde{M}(x_{m}) \in [0,1]\\ \end{aligned} \end{aligned}$$

Two well-known fuzzy inference methods, namely Sugeno [26] and Mamdani [27], are widely used in a fuzzification process of fuzzy system. Mamdani method is widely accepted that it works well with expert knowledge, therefore enabling us to describe the expertise in more intuitive and human-like manner. Since in this work the decision output for each decision rule is obtained based on expert knowledge, hence Mamdani method is utilized.

With regards to Mamdani inference method, a fuzzy system with m inputs (\(x_{1}\), \(x_{2}\), …, \(x_{m}\)) and one output (y) is described by a collection of IF-THEN rules in the Mamdani form.

$$\begin{aligned} \hbox {IF } x_{1} \hbox { is } \tilde{A}_p^k \hbox { and }x_{2}\hbox { is }\tilde{B}_p^k\hbox { and }x_{m}\hbox { is }\tilde{M}_p^k\hbox { THEN }y\hbox { is }\tilde{Z}_q^k \end{aligned}$$

for \(k^{\rm th}\) rule, where k = 1, 2, 3,…, \(T_{r}\). This IF-THEN form can be expressed by means of membership function.

$$\begin{aligned} \tilde{Z}^k(y) = min[\mu \tilde{A}^k(x_{1}), \mu \tilde{B}^k(x_{2}),\ldots , \mu \tilde{M}^k(x_{m}) ] \end{aligned}$$
(2)

where \(\tilde{Z}^k(y)\) is a degree of membership of y in output fuzzy set \(\tilde{Z}\) of \(k^{\rm th}\) rule.

The next stage of the process is the aggregation of the fuzzified data. An aggregated fuzzified data, \(\mu \tilde{Z}(y)\), for the total number of \(T_{r}\) rules is given by:

$$\begin{aligned} \mu \tilde{Z}(y) = max_k[min[\mu \tilde{A}^k(x_{1}), \mu \tilde{B}^k(x_{2}),\ldots , \mu \tilde{M}^k(x_{m})]] \end{aligned}$$
(3)

where \(\mu \tilde{Z}(y)\) is an aggregated fuzzified data of y in output fuzzy set \(\tilde{Z}\).

Defuzzifier converts an aggregated fuzzified data into a crisp output, which is later used by applications. There are several defuzzification methods available as presented in [28]. In this work, a centroid method (which is known to best capture expert knowledge [28]) is used and is given by:

$$\begin{aligned} z^*= \frac{\int \mu \tilde{Z}(y).ydy}{\int \mu \tilde{Z}(y)dy} \end{aligned}$$
(4)

where \(z^*\) is the defuzzified value (crisp output).

3.2 AMHDS Design II with Revised Fuzzy Rules (AMHDS Design II-rfr)

AMHDS Design II was firstly proposed in [11]. Here, its fuzzy decision rules are revised aiming to further improve the performance of network selection capability when HDS needs to handle traffics with various service options.

Fig. 3
figure 3

Architecture of AMHDS Design II

Figure 3 illustrates AMHDS Design II architecture. It is part of the handover decision stage of the handover decision framework [9]. As mentioned in Sect. 2, several parameters, especially QoS-related parameters, deem necessary to be included in a handover decision process. Therefore, six decision parameters, which include data rate (DR), three QoS parameters [latency (LA), jitter (JI) and packet loss (PL)], battery life (BA) and usage price (PR), are taken into consideration in this work. As opposed to the AMHDS Design I [10], the fuzzy engine, namely NQ, is fed with two inputs only in Design II. The two inputs are data rate (DR) and \(AQ_{value}\), which is obatined from a new fuzzy engine, namely aggregated QoS (AQ). AQ fuzzy engine turns the individual values of three QoS parameters into an aggregated single value (\(AQ_{value}\)). NQ engine determines a network quality of a wireless network by evaluating data rate and \(AQ_{value}\), and calculating an output score (\(Q_{value}\)), which is used by another fuzzy engine, namely Degree of Satisfaction (DS), shown in Fig. 3.

The efficiency (EF) engine evaluates two inputs, namely battery life and usage price, in order to determine the efficiency (e.g., how long the battery lasts and how low the usage price is) of wireless networks and calculates a score (\(E_{value}\)), which is also fed into the DS fuzzy engine. By evaluating the two inputs; \(Q_{value}\) and \(E_{value}\), DS calculates a final score, \(D_{value}\), for each individual candidate wireless network discovered by a mobile device. In the last step, a Network Ranking and Selection (NRS) engine ranks wireless networks in accordance with their scores. The NRS chooses a wireless network with the maximum score as a target wireless network (a foreign network). Then a mobile device enters a handover execution stage and executes a handover procedure to transfer its connectivity to a foreign network.

3.3 Design and Development of AQ Fuzzy Engine

An exploitation of aggregated QoS (AQ) fuzzy engine was introduced in [10]. Figure 4 illustrates a general architecture of AQ fuzzy engine. Internally, it contains two fuzzy engines, which are AQ-CBR and AQ-VBR.

Fig. 4
figure 4

Architecture of AQ engine

Two fuzzy engines deal with two different traffics (AQ-CBR for VoIP and AQ-VBR for video streaming). Each engine has a tailored FMFs set to match the QoS requirements corresponding to the traffic. Additionally, fuzzy decision rules for the two AQ fuzzy engines in this work have been revised (AMHDS Design II-rfr) with the aim to achieve a better network selection capability. Another important component in AQ engine is Engine Selector (ES), which identifies active traffic types. The traffic type can be determined by checking a flag received from applications. After the traffic type is identified, ES selects the fuzzy engines corresponding to the traffic. As an example, AQ-CBR engine is selected if VoIP application is active. Three QoS parameters, gathered from individual wireless networks, are then fed into the selected fuzzy engine.

The input fuzzy sets for LA, JI and PL are denoted by \(\widetilde{LA}\), \(\widetilde{JI}\) and \(\widetilde{PL}\), respectively, each with three FMFs (Low, Medium, High). Hence, the fuzzy decision rules required are 27 using Eq. (1). Then each rule is assigned a decision output, which is derived from an expert knowledge. For the output fuzzy set, \(\widetilde{AQ}\), it has five FMFs (Low, Medium–Low, Medium, Medium–High, High). For the design of input fuzzy sets, trapezoidal and triangular functions are used to develop FMFs. The triangular function is used to develop FMFs for output fuzzy set. Figures 5 and 6 show FMFs of the two engines. A complete set of fuzzy decision rules for the two engines is shown in Table 2.

Fig. 5
figure 5

Fuzzy membership functions for AQ-CBR

Fig. 6
figure 6

Fuzzy membership functions for AQ-VBR

Table 2 Fuzzy decision rules for AQ-CBR and AQ-VBR engines

With regard to the decision output of fuzzy rules, for AQ-VBR engine, it evaluates the two QoS parameters (jitter is negligible for video streaming traffic), the output decision is set to High (corresponds to high score, \(AQ_{value}\)) when the values of latency and packet loss are a member of Low FMF. If the input values of latency and packet loss are ranging from moderate to high, the decision outputs are set to either Medium–High or Medium (depending on input values of latency and packet loss, forcing AQ-VBR engine to generate a lower score when compared to the previous case). If the value of either latency or packet loss is high, the output decision is set to Very-Low, making AQ-VBR engine to generate a very low score. In case of AQ-CBR engine, it evaluates all the three QoS parameters as QoS requirement for VoIP traffic is more stringent than video streaming traffic. To define decision output for individual fuzzy decision rules, the same philosophy is applied, but is more strict than the decision output of individual fuzzy decision rules for AQ-VBR engine.

The inputs (three QoS parameter values) are fuzzified. Then FIS engine generates aggregated fuzzified data. Mamdani FIS is used in this work. The aggregated fuzzified data, \(\mu \widetilde{AQ}\), is calculated using Eq. (3) and is given by:

$$\begin{aligned} \mu \widetilde{AQ}(y) = max_{k_{AQ}}[min[\mu \widetilde{LA}^{k_{AQ}}(latency),\mu \widetilde{JI}^{k_{AQ}}(jitter), \mu \widetilde{PL}^{k_{AQ}}(packet loss)]] \end{aligned}$$
(5)

where \(k_{AQ}\) is the total number of rules for AQ fuzzy engine and is 1, 2, …, 27.

Defuzzifier changes \(\mu \widetilde{AQ}\) into a crisp value, \(AQ_{value}\), which is calculated using Eq. (4) and is given by:

$$\begin{aligned} AQ_{value} = \frac{\int \mu \widetilde{AQ}(y).ydy}{\int \mu \widetilde{AQ}(y)dy} \end{aligned}$$
(6)

where \(AQ_{value}\) is a defuzzified data generated by AQ fuzzy engine.

3.4 Design and Development of NQ, EF and DS Fuzzy Engines

The three engines (NQ, EF and DS) shown in Fig. 3 work as a group to identify the final score, \(D_{value}\), of individual wireless networks. Data rate (DR) and \(AQ_{value}\) are evaluated by NQ engine with input fuzzy sets \(\widetilde{DR}\) and \(\widetilde{AQ}\). Usage price (PR) and battery life (BA) are evaluated by EF engine with input fuzzy sets \(\widetilde{PR}\) and \(\widetilde{BA}\). NQ and EF engines generate \(Q_{value}\) and \(E_{value}\), respectively. Then DS engine is fed with \(Q_{value}\) and \(E_{value}\) with corresponding input fuzzy sets \(\widetilde{DQ}\) and \(\widetilde{DE}\), respectively. All input fuzzy sets have three FMFs. Hence, the number of fuzzy decision rules required for each engine is 9 [using Eq. (1)]. The aggregated fuzzified data of NQ engine, \(\mu \widetilde{NQ}(y)\), and EF engine, \(\mu \widetilde{EF}(y)\), are given by:

$$\begin{aligned} \mu \widetilde{NQ}(y) = max_{k_{NQ}}[min[\mu \widetilde{DR}^{k_{NQ}}(data rate), \mu \widetilde{AQ}^{k_{NQ}}(AQ_{value})]] \end{aligned}$$
(7)

where \({k_{NQ}}\) is the total number rules for NQ fuzzy engine and is 1, 2, …, 9.

$$\begin{aligned} \mu \widetilde{EF}(y) = max_{k_{EF}}[min[\mu \widetilde{PR}^{k_{EF}}(price), \mu \widetilde{BA}^{k_{EF}}(battery)]] \end{aligned}$$
(8)

where \({k_{EF}}\) is the total number of rules for EF fuzzy engine and is 1, 2, …, 9.

The two crisp outputs \(Q_{value}\) and \(E_{value}\) calculated by NQ and EF engines, respectively, are given by:

$$\begin{aligned} Q_{value} &= \frac{\int \mu \widetilde{NQ}(y).ydy}{\int \mu \widetilde{NQ}(y)dy} \end{aligned}$$
(9)
$$\begin{aligned} E_{value} &= \frac{\int \mu \widetilde{EF}(y).ydy}{\int \mu \widetilde{EF}(y)dy} \end{aligned}$$
(10)

Similarly, the aggregated fuzzified data, \(\mu \widetilde{DS}\), associated with DS engine, is given by:

$$\begin{aligned} \mu \widetilde{DS}(y) = max_{k_{DS}}[min[\mu \widetilde{DQ}^{k_{DS}}(Q_{value}), \mu \widetilde{DE}^{k_{DS}}(E_{value})]] \end{aligned}$$
(11)

where \({k_{DS}}\) is the total number of rules for DS fuzzy engine and is 1, 2, …, 9.

The final score, \(D_{value}\), for individual candidate wireless networks is given by:

$$\begin{aligned} D_{value} = \frac{\int \mu \widetilde{DS}(y).ydy}{\int \mu \widetilde{DS}(y)dy} \end{aligned}$$
(12)

Figure 7 presents FMFs for NQ engine. The associated FMFs for EF and DS engines are given in Fig. 8. Fuzzy rules for NQ, EF and DS engines are provided in Tables 3, 4 and 5, respectively.

Fig. 7
figure 7

Fuzzy membership functions for NQ engine

Fig. 8
figure 8

Fuzzy membership functions for EF and DS engines

Table 3 Fuzzy rules for NQ engine
Table 4 Fuzzy rules for EF engine
Table 5 Fuzzy rules for DS engine

Fuzzy rules for NQ engine is developed based on the principle that if the \(AQ_{value}\) value is small (corresponds to a poor network QoS), the decision output is set to Low, regardless the value of data rate. As a result, the fuzzy-based HDS is unlikely to select that network for a handover. On the other hand, if the values of data rate and \(AQ_{value}\) are high, the decision output is set to High, resulting in a high score, \(Q_{value}\). EF engine evaluates battery life and usage price. For these two parameters, the engine prefers a network that allows a mobile device to stay longer, with the lowest usage price. If the value of battery life is high and that of usage price is low, the decision output is set to High (corresponds to high score, \(E_{value}\)). In contrast, the output decision is set to Low (corresponds to low score) if the value of battery life is low and that of usage price is high. Lastly, DS engine evaluates the two scores; \(Q_{value}\) and \(E_{value}\). It generates a final score, \(D_{value}\). The output decision is set to High if both scores are high. The fuzzy-based HDS is likely to select the network with high \(Q_{value}\) and \(E_{value}\) for a handover. In contrast, if both scores are low, the output decision is set to Low, resulting in a low \(D_{value}\).

3.5 NRS Engine

After \(D_{value}\) for individual candidate wireless networks is determined, NRS engine will rank wireless networks based on their \(D_{value}\). A wireless network having the highest \(D_{value}\) is chosen for a handover and NRS engine proceeds with a handover execution process, which is in handover execution stage as described in [9]. The actual handover execution process is governed by the protocol shown in Fig. 9.

Fig. 9
figure 9

Execution of handover decision

4 Simulation Results and Discussion

This section presents the simulation environment and procedure used in this work. The performance evaluation of AMHDS Design II-rfr, Design II and Design I together with non-fuzzy algorithms [i.e., Simple Additive Weighting (SAW) and Analytic Hierarchy Process (AHP)] are presented and discussed.

4.1 Simulation Environment

To evaluate the performance of the proposed HDS in terms of network selection capability and \(\tau\), we assumed the following traffic models and network conditions in the simulation environment:

  1. (a)

    Three different wireless technologies, Cellular, WiMAX and WLAN, are assumed in heterogeneous wireless networking environment.

  2. (b)

    Five WLANs, two WiMAX and one Cellular networks to represent a more realistic networking as a mobile device is subject to discover a number of WLAN access point in real life usage. Whether mobile or stationary, a mobile device is assumed to discover eight wireless networks when it triggers a handover decision process. The mobility model is not the focus of this paper.

  3. (c)

    Two traffic types; (1) VoIP traffic with G.711 codec (64 kbps) and (2) non-real-time video streaming traffic with bit rates of 1 and 4 Mbps for 360p and 720p resolutions, respectively.

In the simulation, the actual value for all decision parameters, except usage price, are randomly chosen based on the ranges given in Tables 6 and 7 for VoIP and video streaming traffics, respectively . The randomness is a discrete uniform probability distribution. The usage price is a fixed value. The range of values in Tables 6 and 7 are from [10]. Commonly used QoS recommendations (rec.) for two traffic types are also given in the Tables.

Table 6 Parameters for VoIP
Table 7 Parameters for video streaming

4.2 Simulation Procedure

AMHDS Design I [10], Design II [11] and a new Design II-rfr are simulated and compared. Fuzzy engines of all AMHDS designs are developed using MATLAB Fuzzy Logic Toolbox. Non-fuzzy HDSs using AHP and SAW techniques are developed and simulated for comparison. In case of SAW-based HDS, uniform weight is used for individual decision parameters. For AHP-based HDS, the preference values used for constructing a pair-wise comparison matrix (for DR, LA, JI, PL, PR and BA) are 7, 9, 9, 9, 5 and 3, respectively. After having been through the AHP process, the parameter weights are 0.08, 0.29, 0.29, 0.29, 0.03 and 0.02.

The evaluation criterion chosen is percentage success (PS). It is calculated using the number of times a HDS selects a wireless network that can fully satisfy two requirements (data rate and QoS). All HDSs (fuzzy-based and non-fuzzy-based) are simulated on MATLAB platform with the procedure described in [11] and is briefly explained below.

  1. (a)

    A number of simulation runs (1000 runs in each trial) is carried out and the average value of several trials (10 trials) is calculated as the output score generated is dependent on a random process. Note that input parameter values for each run are randomly generated.

  2. (b)

    Out of 1000 outcomes, the number of successes, \(N_s\), and the number of failures, \(N_f\), are determined, and the average of the 10 trials is calculated to represent the final outcome.

\(N_s\) is counted when HDSs select a wireless network that satisfies the two requirements (data rate and QoS). \(N_f\) is counted when HDSs select a wireless network that is not fully satisfied. Each trial of 1000 runs generates a value for PS, which is calculated using:

$$\begin{aligned} PS = \frac{N_s}{N_s + N_f}\times 100 \end{aligned}$$
(13)

For the said simulation procedure, a total of 10,000 runs were attempted to evaluate the network selection capability of the proposed HDS. Since the values for individual input parameter values are randomly generated with discrete uniform probability distribution, various network conditions with varying data rate and QoS values ranging from low to high are emulated. This partially reflects the network conditions with different traffic loads in the networking environment.

4.3 Simulation Results

The network selection capability of AMHDS Design II-rfr is compared with Design II, Design I, AHP and SAW for VoIP and video streaming traffics. In case of video streaming traffic, two service options (360p and 720p resolutions) are tested. For VoIP traffic (in Fig. 10), the results show that the performance of Design II [11] is 10.99% better than Design I, and is 37.97% and 49.1% better than AHP and SAW, respectively. A significant improvement has been observed between fuzzy-based and non-fuzzy-based techniques. As mentioned earlier, fuzzy decision rules of Design II have been revised aiming to achieve a better performance. With AMHDS Design II-rfr, the network selection capability is marginally 1.84% better than Design II.

Fig. 10
figure 10

Network selection performance—VoIP traffic

Fig. 11
figure 11

Network selection performance—video streaming traffic (320p resolution)

For video streaming traffic with 360p resolution, in Fig. 11, the improvement of 2.7% is observed when compared Design II with Design I. Comparing with SAW and AHP, Design II performance is 33.67 and 21.87% better than SAW and AHP, respectively. Consistent result is observed when compared Design II with Design II-rfr. The result shows that Design II-rfr achieves a slight improvement of 1.38%.

It is interesting to understand whether the three AMHDS designs are able handle a video streaming traffic with high resolution option (720p). Figure 12 shows that AMHDS Design II-rfr still achieves a better performance when compared with AMHDS Design II and Design I. Note that the performance of SAW and AHP are not presented since it has been shown that the AMHDS designs outperforms both techniques as shown in Fig. 11. It is also observed that AMHDS Design I suffers a significant degradation in network selection capability as the fuzzy decision rules for AMHDS Design I are not developed to support a video streaming traffic with high resolution (high data rate required).

Fig. 12
figure 12

Network selection performance—video streaming traffic (720p resolution)

The performance improvement achieved when compared AMHDS Design II-rfr with Design I is from the fact that, in Design II-rfr (also Design II), three QoS parameters are evaluated to generate an aggregated QoS value (by AQ fuzzy engine). The influence of data rate is independent in the evaluation process of QoS parameters. Note that, in Design I, three QoS parameters and data rate are evaluated together by NQ fuzzy engine.

The \(\tau\) for Design II-rfr and Design I is also compared using MATLAB platform. The results show that the values of \(\tau\) are 562 ms and 414 ms for Design I and Design II-rfr, respectively. A reduction of 26.3% in the value of \(\tau\) is achieved. Note that \(\tau\) for Design II and Design II-rfr is identical as both designs have exactly the same total number of fuzzy decision rules. For a reduction in the value of \(\tau\), it is clearly see that AMHDS Design II-rfr (also Design II) requires just 54 fuzzy whereas 99 rules is needed in Design I. Furthermore, It is likely that in real life a mobile device may use a dedicated/embedded hardware instead of software. Hence, a further reduction in \(\tau\) can be realized. It is discovered that \(\tau\) for AHP and SAW techniques is significantly lower than fuzzy-based techniques, however the performance of fuzzy-based techniques is more superior to AHP and SAW techniques. The results suggest that adaptive and modular design approaches have the potential to enhance the intelligence of HDS for HWMN.

5 Conclusion and Future Work

Adaptive and modular design philosophies for fuzzy-based HDS were exploited in our previous work. It has been shown that an integration of two design philosophies shows a promising performance improvement in network selection capability and a reduction in \(\tau\). In this paper, AMHDS Design II is presented introducing a new fuzzy engine together with revised fuzzy decision rules (Design II-rfr). The network selection capability of AMHDS Design II-rfr is slightly better than Design II, but significantly better than non-fuzzy-based techniques (i.e., AHP and SAW). The consistent achievements are observed for both VoIP and video streaming traffics. A promising reduction in the value of \(\tau\) is also observed.

As seamless mobility is among major goals in a future heterogeneous wireless mobile network, it becomes interesting and challenging to include mobility-related parameters (for example velocity, movement pattern, etc.) to order to further enhance the intelligence of HDS. Considering too many decision parameters could result in an unacceptable algorithm execution time. Hence, an adaptive approach to choosing a relevant number of decision parameters to be included in a handover decision process is on the focus. Additionally, it is observed that a certain number of fuzzy decision rules can be removed as some fuzzy decision rules may contribute to the same decision output, leading to a further reduction in the value of \(\tau\).