1 Introduction
2 Related works
3 System model
3.1 Using utility functions to calculate utility values of network attributes for different applications
Bandwidth | Utility function |
a
|
b
|
c
|
---|---|---|---|---|
uvoice(b) | Sigmoid function | 1000 | 10 | \ |
uvideo(b) | Sigmoid function | 2500 | 5 | \ |
udata(b) | Exponential function | \ | \ | 0.0003 |
Delay | Utility function |
a
|
b
|
---|---|---|---|
uvoice(d) | Sigmoid function | 50 | 4 |
uvideo(d) | Sigmoid function | 100 | 3.5 |
udata(d) | Sigmoid function | 150 | 2 |
Jitter | Utility function |
d
|
e
|
f
|
g
|
h
|
---|---|---|---|---|---|---|
uvoice(j) | Logarithm function | − 2.67 | 0.75 | 35 | \ | \ |
uvideo(j) | Logarithm function | − 1.35 | 0.5 | 15 | \ | \ |
udata(j) | Linear function | \ | \ | \ | 1/100 | 0 |
Loss | Utility function |
g
|
h
|
---|---|---|---|
uvoice(l) | Linear function | 1/30 | 0 |
uvideo(l) | Linear function | 1/30 | 0 |
udata(l) | Linear function | 1/30 | 0 |
Price | Utility function |
i
|
j
|
---|---|---|---|
uvoice(p) | Linear piecewise function | 10 | 70 |
uvideo(p) | Linear piecewise function | 15 | 80 |
udata(p) | Linear piecewise function | 20 | 90 |
3.2 Using the entropy method to calculate the objective weights of network attributes
-
Step 1: Based on the type of the user’s application and the utility function of its network attributes, obtain the utility values and construct these values into a normalized matrix R = (uij)m × n, where m is the number of candidate networks and n is the total number of network attributes. In this paper, m = 4 and n = 5.
-
Step 2: Calculate the information entropy of each network attribute using Formula (7).
-
Step 3: Calculate the objective weight of each network attribute using Formula (8).
3.3 Using the FAHP to calculate the subjective weights of network attributes
-
Step 1: Analyze the relationship between factors in access selection for HWNs and divide the analysis object into a target layer, criterion layer, and scheme layer, among which the target layer is the best access network, the criterion layer comprises network attributes (i.e., bandwidth, delay, jitter, packet loss ratio, and price), and the scheme layer is composed of candidate networks (i.e., UMTS, LTE, WLAN, and WiMAX) (Fig. 9).
-
Step 2: According to different applications (i.e., voice application, video application, and data application), the importance of each attribute of the criterion layer on the previous level (i.e., the target layer) is compared by two pairs. By comparing the element xi and the element xj, obtain the level of importance rij (Table 6). Then, construct the fuzzy consistent matrix based on rij (Tables 7, 8, and 9). At the same time, check the consistency of the matrix according to Formula (9).
Level | Interpretation |
---|---|
0.5 | Both are equally important |
0.6 | The former is slightly more important than the latter |
0.7 | The former is obviously more important than the latter |
0.8 | The former is strongly more important than the latter |
0.9 | The former is extremely more important than the latter |
0.1, 0.2, 0.3, and 0.4 | If xi is compared with xj, then rij is obtained. xj and xi can be compared to the results in rji = 1 − rij. 0.55, 0.65, 0.75, and the like represent the median value of adjacent levels. |
Voice | Bandwidth | Delay | Jitter | Loss | Price | Weight |
---|---|---|---|---|---|---|
Bandwidth | 0.5 | 0.45 | 0.15 | 0.4 | 0.1 | 0.1100 |
Delay | 0.55 | 0.5 | 0.2 | 0.45 | 0.15 | 0.1350 |
Jitter | 0.85 | 0.8 | 0.5 | 0.75 | 0.45 | 0.2850 |
Loss | 0.6 | 0.55 | 0.25 | 0.5 | 0.2 | 0.1600 |
Price | 0.9 | 0.85 | 0.55 | 0.8 | 0.5 | 0.3100 |
Video | Bandwidth | Delay | Jitter | Loss | Price | Weight |
---|---|---|---|---|---|---|
Bandwidth | 0.5 | 0.15 | 0.4 | 0.55 | 0.6 | 0.1700 |
Delay | 0.85 | 0.5 | 0.75 | 0.9 | 0.95 | 0.3450 |
Jitter | 0.6 | 0.25 | 0.5 | 0.65 | 0.7 | 0.2200 |
Loss | 0.45 | 0.1 | 0.35 | 0.5 | 0.55 | 0.1450 |
Price | 0.4 | 0.05 | 0.3 | 0.45 | 0.5 | 0.1200 |
Data | Bandwidth | Delay | Jitter | Loss | Price | Weight |
---|---|---|---|---|---|---|
Bandwidth | 0.5 | 0.85 | 0.95 | 0.55 | 0.75 | 0.3100 |
Delay | 0.15 | 0.5 | 0.6 | 0.2 | 0.4 | 0.1350 |
Jitter | 0.05 | 0.4 | 0.5 | 0.1 | 0.3 | 0.0850 |
Loss | 0.45 | 0.8 | 0.9 | 0.5 | 0.7 | 0.2850 |
Price | 0.25 | 0.6 | 0.7 | 0.3 | 0.5 | 0.1850 |
-
Step 3: Calculate the subjective weight of each network attribute using Formula (10).
3.4 Using the FAHP to calculate the user preference values
-
Step 1: Calculate the importance ranking of the middle layer (i.e., criterion layer) with respect to the highest layer (i.e., target layer). In the previous section, the weights of each network attribute in the criterion layer are obtained with respect to the target layer. Therefore, according to the weight vector obtained in the previous section (Tables 7, 8, and 9), the relationship matrix is built between different applications and network attributes (Table 10).
-
Step 2: Based on the pairwise comparison of the importance of each candidate network at the lowest layer (i.e., scheme layer) with respect to the network attributes at the middle layer (i.e., criterion layer), a fuzzy consistent matrix is constructed, and the weights are calculated using Formula (11) (Tables 11, 12, 13, 14, and 15). Then, the relationship matrix between different netwomethods based on utility function and reputation rk attributes and candidate networks is constructed according to the weight vectors in Tables 11, 12, 13, 14, and 15 (Table 16).
-
Step 3: Multiply the matrix in step 1 (Table 10) by the matrix in step 2 (Table 16) and calculate the ranking of the lowest layer (i.e., scheme layer) with respect to the highest layer (i.e., target layer), that is the user preference values of different applications for candidate networks (Table 17).
Bandwidth | Delay | Jitter | Loss | Price | |
---|---|---|---|---|---|
Voice | 0.1100 | 0.1350 | 0.2850 | 0.1600 | 0.3100 |
Video | 0.1700 | 0.3450 | 0.2200 | 0.1450 | 0.1200 |
Data | 0.3100 | 0.1350 | 0.0850 | 0.2850 | 0.1850 |
Bandwidth | UMTS | LTE | WLAN | WiMAX | Weight |
---|---|---|---|---|---|
UMTS | 0.5 | 0.45 | 0.1 | 0.25 | 0.1333 |
LTE | 0.55 | 0.5 | 0.15 | 0.3 | 0.1667 |
WLAN | 0.9 | 0.85 | 0.5 | 0.65 | 0.4000 |
WiMAX | 0.75 | 0.7 | 0.35 | 0.5 | 0.3000 |
Delay | UMTS | LTE | WLAN | WiMAX | Weight |
---|---|---|---|---|---|
UMTS | 0.5 | 0.2 | 0.45 | 0.4 | 0.1750 |
LTE | 0.8 | 0.5 | 0.75 | 0.7 | 0.3750 |
WLAN | 0.55 | 0.25 | 0.5 | 0.45 | 0.2083 |
WiMAX | 0.6 | 0.3 | 0.55 | 0.5 | 0.2417 |
Jitter | UMTS | LTE | WLAN | WiMAX | Weight |
---|---|---|---|---|---|
UMTS | 0.5 | 0.35 | 0.8 | 0.75 | 0.3167 |
LTE | 0.65 | 0.5 | 0.95 | 0.9 | 0.4167 |
WLAN | 0.2 | 0.05 | 0.5 | 0.45 | 0.1167 |
WiMAX | 0.25 | 0.1 | 0.55 | 0.5 | 0.1499 |
Loss | UMTS | LTE | WLAN | WiMAX | Weight |
---|---|---|---|---|---|
UMTS | 0.5 | 0.7 | 0.25 | 0.65 | 0.2667 |
LTE | 0.3 | 0.5 | 0.05 | 0.45 | 0.1333 |
WLAN | 0.75 | 0.95 | 0.5 | 0.9 | 0.4333 |
WiMAX | 0.35 | 0.55 | 0.1 | 0.5 | 0.1667 |
Price | UMTS | LTE | WLAN | WiMAX | Weight |
---|---|---|---|---|---|
UMTS | 0.5 | 0.9 | 0.85 | 0.75 | 0.4167 |
LTE | 0.1 | 0.5 | 0.45 | 0.35 | 0.1500 |
WLAN | 0.15 | 0.55 | 0.5 | 0.4 | 0.1833 |
WiMAX | 0.25 | 0.65 | 0.6 | 0.5 | 0.2500 |
UMTS | LTE | WLAN | WiMAX | |
---|---|---|---|---|
Bandwidth | 0.1333 | 0.1667 | 0.4000 | 0.3000 |
Delay | 0.1750 | 0.3750 | 0.2083 | 0.2417 |
Jitter | 0.3167 | 0.4167 | 0.1167 | 0.1499 |
Loss | 0.2667 | 0.1333 | 0.4333 | 0.1667 |
Price | 0.4167 | 0.1500 | 0.1833 | 0.2500 |
UMTS | LTE | WLAN | WiMAX | |
---|---|---|---|---|
Voice | 0.3004 | 0.2555 | 0.2315 | 0.2125 |
Video | 0.2414 | 0.2867 | 0.2504 | 0.2215 |
Data | 0.2450 | 0.2035 | 0.3194 | 0.2321 |
3.5 Calculating scores of candidate networks by using SAW, MEW, and TOPSIS
4 Evaluation of the proposed algorithm
4.1 Verification method
Bandwidth (Kbps) | Delay (ms) | Jitter (ms) | Loss (%) | Price | |
---|---|---|---|---|---|
UMTS | 1100 (700–2000) | 60 (30–200) | 15 (10–30) | 4 (2–10) | 20 (5–40) |
LTE | 2500 (800–4000) | 45 (20–150) | 20 (15–40) | 10 (6–20) | 30 (10–45) |
WLAN | 7200 (1000–8000) | 120 (80–300) | 60 (30–80) | 6 (4–15) | 10 (0–35) |
WiMAX | 4300 (900–6000) | 80 (50–250) | 30 (20–50) | 15 (8–20) | 40 (15–50) |
Voice | UMTS | LTE | WLAN | WiMAX |
---|---|---|---|---|
Bandwidth | 0.7217 | 0.9999 | 1.0000 | 1.0000 |
Delay | 0.3254 | 0.6038 | 0.0293 | 0.1324 |
Jitter | 0.7360 | 0.6645 | 0.2546 | 0.5392 |
Loss | 0.8667 | 0.6667 | 0.8000 | 0.5000 |
Price | 0.8333 | 0.6667 | 1.0000 | 0.5000 |
Video | UMTS | LTE | WLAN | WiMAX |
---|---|---|---|---|
Bandwidth | 0.0162 | 0.5000 | 0.9950 | 0.9377 |
Delay | 0.8567 | 0.9424 | 0.3457 | 0.6859 |
Jitter | 0.6494 | 0.5723 | 0.1913 | 0.4467 |
Loss | 0.8667 | 0.6667 | 0.8000 | 0.5000 |
Price | 0.9231 | 0.7692 | 1.0000 | 0.6154 |
Data | UMTS | LTE | WLAN | WiMAX |
---|---|---|---|---|
Bandwidth | 0.2811 | 0.5276 | 0.8847 | 0.7247 |
Delay | 0.8621 | 0.9174 | 0.6098 | 0.7785 |
Jitter | 0.8500 | 0.8000 | 0.4000 | 0.7000 |
Loss | 0.8667 | 0.6667 | 0.8000 | 0.5000 |
Price | 1.0000 | 0.8571 | 1.0000 | 0.7143 |
4.2 Network ranking in static network attribute value environment
4.3 Network ranking in dynamic network attribute value environment
Voice | Video | Data | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
UMTS | LTE | WLAN | WiMAX | UMTS | LTE | WLAN | WiMAX | UMTS | LTE | WLAN | WiMAX | |
Algorithm1 | 0.6356 | 0.6133 | 0.568 | 0.5367 | 0.5593 | 0.5889 | 0.5555 | 0.5243 | 0.7014 | 0.6846 | 0.6397 | 0.6270 |
Algorithm2 | 0.4442 | 0.4932 | 0.2601 | 0.3128 | 0.3623 | 0.5155 | 0.3967 | 0.4316 | 0.6531 | 0.6602 | 0.5914 | 0.6026 |
Algorithm3 | 0.6188 | 0.5681 | 0.4682 | 0.4017 | 0.4297 | 0.5537 | 0.5133 | 0.4783 | 0.5594 | 0.5707 | 0.4666 | 0.4581 |
Algorithm4 | 0.4692 | 0.448 | 0.417 | 0.3872 | 0.3865 | 0.4492 | 0.4114 | 0.3791 | 0.4883 | 0.4542 | 0.5167 | 0.4473 |
Algorithm5 | 0.3698 | 0.3827 | 0.2511 | 0.2658 | 0.2807 | 0.4076 | 0.3237 | 0.3256 | 0.4626 | 0.4407 | 0.4936 | 0.4347 |
Algorithm6 | 0.4393 | 0.4193 | 0.3701 | 0.3097 | 0.3099 | 0.4320 | 0.3864 | 0.3541 | 0.3952 | 0.3604 | 0.4448 | 0.3396 |