### 3.1 System framework overview

Figure 1 shows the proposed QoE-oriented system framework. As shown in Fig. 1, it consists of three modules, which are QoE-sensing module, flow monitoring module, and the strategy scheduling module.

The QoE-sensing module is responsible for collecting the original data. Compared to the traditional data collecting method, this architecture leverages the mobile terminals to collect QoE-related data, which provides a reliable data basis for QoE evaluation. The flow monitor module recognizes the traffic flow of various services and records them in log server, then all data is uploaded to the strategy-scheduling module eventually. The strategy-scheduling module consists of data analysis platform, the Agent for QoE control, and strategy template library [31]. The data analysis platform is responsible for statistical analysis of log data, computing the QoE-related information of the entire network. The Agent plays a core part in our QoE-oriented optimization framework. It consists of data interface, service interface, and control interface. The data interface receives the data stream to ensure that the Agent can master the global network state in dual-band environment. Then, the data stream of multi-service will be further analyzed and compared in service interface. The result is helpful for the Agent to quickly confirm the service scenarios and accurately match the optimization strategies that satisfies the service requirements [32]. The control interface of the Agent delivers a policy-mapping table to the wireless access controller (AC) so as it can schedule the strategies in template library. Thus, the strategies for load threshold adjustment and band switching can be scheduled to implement adaptive optimization of the wireless network [33].

### 3.2 System functional architecture

In order to better illustrate the main functions of our architecture, we divide the architecture into small function modules, which is described in Fig. 2.

#### 3.2.1 The QoE-sensing module

In our architecture, the proposed framework formulates the optimization strategies based on QoE, and the collection of QoE-related parameters becomes the most important work. As the direct carriers of data services in wireless network, mobile terminals can be used to capture service data from user side [34], which can reflect the quality of each specific application more accurately. However, this method may involve the actual user behavior, leaking parts of privacy and data security of users to some extent [35,36,37,38]. Therefore, in our framework, the QoE-sensing module extracts KQI data by simulating current mainstream services like webpage browsing, video watching, and file downloading. The module can further divide its functions into logic service processing part and data service processing part according to a service processing type. In the logic service processing part, a simulating mobile terminal will first collect central frequency information of Wi-Fi signals and then decide whether it will connect to the 2.4 GHz frequency band or the 5 GHz band. Later, the terminal will finish different simulations under different types of network services in this frequency band. In data service part, the sensing module will collect the KQI data during the simulation in real time and then processes and calculates the KQI parameters in the backstage. Finally, the QoE evaluation results are uploaded to the strategy scheduling module for further analysis.

#### 3.2.2 Flow monitoring module

The flow monitoring module is responsible to identify and classify the flow of multi-services in mobile terminals of in the network [39], which can map the service throughput into QoE in real time. The original methods detecting and classifying the service flow are always according to the network layer metrics, such as IP address and communication ports. This is because the fixed well-known ports, especially below 1024, are widely used by many traditional application protocols. For example, the HTTP protocol uses the port 80 for communication. Therefore, the traffic distribution which uses different protocols in application layer can be analyzed through the communication ports below 1024. However, to avoid being detected by the network access control policy enforced by the firewalls, a large number of application software no longer use fixed ports. For example, the Skype uses the ports 80 and 443 for communication so that the flow detected through port 80 may not all come from the HTTP protocol. Therefore, the flow detection method based on the network layer metrics cannot be fully applied to current Internet technologies.

In our proposed framework, the framework uses DPI technology and Deep Flow Inspection (DFI) [40] to accurately identify service flow in wireless LANs. DPI is a flow detection method in application layer, and it can recognize various protocols in application layer through the content detection of the network packet. Moreover, it can capture the raw data packet based on application layer metrics such as feature values, application protocols, and behavior patterns. However, DPI cannot identify encrypted application protocols. To solve this problem, we leverage DFI which is based on flow behavior to identify applications in networks, which identifies a session-based application through behavioral characteristics and is suitable for detecting encrypted application protocols. Different applications have different data flow status. For instance, the IP voice flow has features that the packet length ranges between 130 and 220 bytes, and the flow rate reaches 20~84 kbit/s. However, the flow behavior of P2P-based application includes four aspects: the average packet length is greater than 450 bytes, the download duration is long, the link speed is fast, and the preferred transport protocol is TCP. In our framework, we use the DFI to construct the feature model based on the flow behavior and to identify the application types [41], the behavior of session flow is analyzed, which includes the packet length, link speed, the amounts of transmitted bytes, and the packet interval. Then, the analysis results are compared with the feature model [42]. In summary, the DPI and DFI work together in this module can identify different service flow, and the identified flow data are recorded in the SysLog Server and transmitted to the strategic scheduling module for further analysis.

#### 3.2.3 Strategy-scheduling module

The strategy-scheduling module is the core function in our proposed architecture. It is mainly responsible for analyzing the flow data, scheduling optimal strategies, and distributing optimal strategies to AC. Initially, the data analyzing platform deployed on the strategy-scheduling module extracts different the throughout data of different applications from the network and individual terminals and then send the analyzed results to the Agent [43]. The Agent masters the global QoE information according to the mapping relationship between the throughput and QoE test results in mobile terminals, and then, the optimization strategies from the template library formulated before is selected [44]. To ensure the overall QoE being maintained above moderate level in different service scenarios, if the overall QoE of the network is lower than the MOS mid-level, the load threshold of the frequency band will be decreased; otherwise, the load threshold of the frequency band will be increased, and in this way, the overall network QoE is guaranteed, as well as allowing the number of connected users is as many as possible. Furthermore, for some terminals which have already connected in a certain band, the Agent will sort their priority for band switching based on their own QoE, and the mobile terminals with poor QoE value will be preferentially switched to another band. To accomplish dynamic load threshold adjustment and frequency band switching of the terminal in the dual-band network environment, all the optimization strategies are sent to the wireless controller automatically through the Hyper Terminal in the Agent.

### 3.3 The QoE evaluation model based on AHP

#### 3.3.1 The construction of QoE evaluation model

We proposed a QoE evaluation model based on analytic hierarchy process (AHP) [45] for multi-service scenario. As shown in Fig. 3, our three-layer model consists of the target layer, the criterion layer, and the indicator layer. The target layer represents the overall QoE of all related services in the network. In the criterion, each element represents the QoE of a specific service, and the children of which the indicator layer are the key quality indicators (KQIs) related to its service [46].

In our proposed QoE evaluation model, the overall QoE in the target layer is the weighted sum of different sub-QoEs in the criterion layer [47], that is:

$$ Q\mathrm{o}E={\omega}_1\ast Q\mathrm{o}{E}_1+{\omega}_2\ast Q\mathrm{o}{E}_2+\cdots +{\omega}_n\ast Q\mathrm{o}{E}_n $$

(1)

where *ω*_{i} is the weight of a sub-QoE. The *QoE*_{i} corresponding to a service is calculated as follows:

$$ Qo{E}_i={\omega_1}^{\hbox{'}}\ast KQ{I}_1+{\omega_2}^{\hbox{'}}\ast KQ{I}_2+\cdots +{\omega_n}^{\hbox{'}}\ast KQ{I}_n $$

(2)

where *ω*_{i}^{'} is the weight of the KQI.

The weights of the sub-QoE in Eq. (1) and the weights of the KQIs in Eq. (2) can be calculated by constructing an AHP matrix [46]:

$$ A=\left[\begin{array}{cccc}{a}_{11}& {a}_{12}& \cdots & {a}_{1j}\\ {}{a}_{21}& {a}_{22}& \cdots & {a}_{2j}\\ {}\vdots & \vdots & \ddots & \vdots \\ {}{a}_{i1}& {a}_{i2}& \cdots & {a}_{ij}\end{array}\right] $$

(3)

where *a*_{ij} represents the importance of each element pair. By calculating the maximum eigenvalue *λ*_{max}, the normalized eigenvector of *λ*_{max} corresponds the weights of the elements (the sub-QoEs or the KQIs) constructing the overall QoE of the sub-QoE.

#### 3.3.2 The KQI scoring mechanism

The KQIs cannot be compared directly with each other, as each has its own physical meanings. For instance, although the units of both DNS resolution delay and the first packet delay are millisecond, they express different physical meanings. Therefore, it is necessary to implement non-dimensional treatment of KQIs for different services. The common non-dimensional method is to calculate score of each KQI *H*(*x*_{m}) through the standardized processing of measurement value. In this paper, the measured indicators were normalized by the method of maximum and minimum values.

### Determination of the evaluation thresholds

Normalized results of KQI can be mapped between 0 and *N*, where *N* is the full score of KQI and corresponds to the value 5 in the MOS evaluation method. As shown in Fig. 4, the *Th*_{max} denotes the upper limit value of the measured indicators and the *Th*_{min} is the lower limit value. To determine the measurement threshold, the measurement data of a KQI are arranged in the ascending linear order (same numerical values are eliminated) and then divided into five parts according to MOS level. The first part is corresponding to the lower limit value and the fourth part is corresponding to the upper limit value.

### Mapping from measured values to KQI scores

The KQIs can be further divided into the positive indicators and negative indicators. The former one refers to KQIs that, the higher of its value, the better meaning it represents, such as download success rate. The later one refers to KQIs that, the higher of its value, the worse meaning it represents, such as delay time.

The mapping relationship for positive indicators is that, if KQI *T* is higher than the *Th*_{max}, it will be scored with a value *N*, and if KQI is lower than the *Th*_{min}, it will be scored with a value 0. Moreover, when the numerical value of KQI ranges from *Th*_{min} to *Th*_{max}, it will be mapped into the interval of [0, *N*] according to the linear ratio, and the mapping function can be expressed as:

$$ H\left({x}_m\right)=N-\frac{N}{T{h}_{\mathrm{max}}-T{h}_{\mathrm{min}}}\times \left(T{h}_{\mathrm{max}}-T\right) $$

(4)

The mapping relationship for negative indicators is that if KQI *T* is higher than the upper limit value, it will be scored with a value 0, and if the KQI does not reach the lower limit value, it will be scored with a value *N*. When the numerical value of KQI ranges from *Th*_{min} to *Th*_{max}, it will be mapped into the interval of [0, *N*] according to the linear ratio, and the mapping function can be expressed as:

$$ H\left({x}_m\right)=N-\frac{N}{T{h}_{\mathrm{max}}-T{h}_{\mathrm{min}}}\times \left(T-T{h}_{\mathrm{min}}\right) $$

(5)

### Deal with the extreme deterioration of indicator

According to (4) and (5), when the measured value of KQI is far more than the range of the threshold, the result of *H*(*x*_{m}) will be an approximate constant. Actually, the extremely deteriorated indicators will have a great impact on the scoring result. To avoid such problem, the *H*(*x*_{m}) has to be corrected.

For positive indicators, the corrected results are expressed as:

$$ H\left({x}_m\right)=\Big\{{\displaystyle \begin{array}{l}-k,\kern0.4em T{h}_{\mathrm{min}}\ge kT,\kern0.4em k=1,2,3\cdots, N\\ {}N-\frac{N}{T{h}_{\mathrm{max}}-T{h}_{\mathrm{min}}}\times \left(T{h}_{\mathrm{max}}-T\right),T{h}_{\mathrm{min}}\le T\le T{h}_{\mathrm{max}}\\ {}N,\kern0.3em T>T{h}_{\mathrm{max}}\end{array}} $$

(6)

where the result of *H*(*x*_{m}) is −*k*, when the measured value *T* is far lower than *Th*_{min}.

For negative indicators, the corrected results are expressed as:

$$ H\left({x}_m\right)=\Big\{{\displaystyle \begin{array}{l}-k,\kern0.4em T\ge kT{h}_{\mathrm{max}},\kern0.4em k=1,2,3\cdots, N\\ {}N-\frac{N}{T{h}_{\mathrm{max}}-T{h}_{\mathrm{min}}}\times \left(T-T{h}_{\mathrm{min}}\right),T{h}_{\mathrm{min}}\le T\le T{h}_{\mathrm{max}}\\ {}N,\kern0.3em T<T{h}_{\mathrm{min}}\end{array}} $$

(7)

where the result of *H*(*x*_{m}) is −*k*, when the measured value *T* is far higher than *Th*_{max}.

Then, the standardized value of KQI can be used to calculate the QoE directly, thus getting the final assessment result.