{'fraction_non_alphanumeric': 0.022903162443527796, 'fraction_numerical': 0.004910626595953644, 'mean_word_length': 5.053745541022592, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Framework for a flexible comprehensive multiple-criteria network selection for mobile heterogeneous networks

In the last decade, a rapid growth of mobile communication networks based on technologies like UMTS, LTE, WLAN, WiMAX resulted in a heterogeneous communication environment consisting of networks with overlapping coverage. Additionally, the variety and number of mobile multimedia applications having multiple requirements with respect to net-work characteristics have increased. These two factors boosted research activities in the area of multiple-criteria (MC) network selection during handover. The studies investigating this topic applied different techniques mostly like Multiple-Criteria Decision Making (MCDM), game theory, fuzzy logic and Artiﬁcial Neural Networks (ANN). Proposed algorithms and approaches reveal following gaps with respect to the conﬁguration of the decision phase: weak ﬂexibility, poor application sensibility, lack of consideration of the perspectives of different actors like user and service provider. In this study, we propose a solution addressing these gaps we called Flexible Application-Sensitive Handover Decision (FLASHED) framework. This framework enables a comprehensive conﬁguration of network selection in a structured and ﬂexible way.


Introduction
An intensive development of modern mobile communication networks primarily like UMTS, LTE, WLAN and WiMAX has resulted in a heterogeneous communications environment including different networks with overlapping coverage. At the same time, the variety and number of multimedia mobile applications with requirements towards different network characteristic like QoS-related criteria, security, monetary cost and others have increased. Traditional network selection paradigms, which are mainly based on the evaluation of just single criterion, namely received signal strength, cannot fulfil the needs of such an environment. Consequently, the research area dealing with the MC network selection has gained a high level of actuality, and a large number of studies have been published over the last decade.
An extensive overview about existing approaches and algorithms is given in studies [1,2]. Researchers apply different techniques for the problem of MC network selection mainly like MCDM, game theory, fuzzy logic and ANN. One of the most widely used techniques is MCDM, which provides decision maker with multiple supportive tools. The existing network selection approaches pay low attention to the configuration of the decision phase, namely to the definition and structuring of information required for the decision phase. To our best knowledge, there are only some studies like [3][4][5] proposing data structures for the information management. Analysis of these proposals revealed a couple of limitations, which we address in our proposal.
In this study, we propose a framework for the configuration of the decision phase in a highly flexible way by taking into account application requirements and optimization objectives of the involved actors like user and service provider. In the context of this study, we use the term service provider for the owner of the network infrastructure.
The remainder of this paper is built as follows. In Section II, background information about MCDM is presented. Section III gives an overview about existing MC-based handover decision algorithms and approaches for the configuration of the decision phase. Section IV explains the proposed FLASHED framework in detail. The implementation of the FLASHED framework is presented in Section V. Finally, possible directions of further research and a summary are given in Sections VI and VII, respectively.

Background
MCDM is a research area dealing with decision problems while taking into consideration multiple criteria. An extensive overview about MCDM is given in ref. [6,7]. MCDM assists decision makers by providing a range of supportive tools like process, components and methods. MCDM breaks each decision problem down into multiple steps and defines a process shown in Figure 1 based on these steps. Furthermore, a range of components describing information sets required for decision making was introduced within MCDM. The components can be divided into different types. The main component types are alternatives, goals and criteria. Alternatives represent possible problem solutions. The optimization objectives of the decision maker are referred to as goals. Further, alternatives are characterized by criteria, which are mapped to goals. There are two important criteria-related operations: normalization and weighting. By means of normalization, criteria-specific value ranges are transformed to a common scale, usually to [1] which is referred to as utility scale. The weighting enables the decision maker to express his priorities with respect to certain criteria. Additionally, so-called feasible range is used for each criterion to set the acceptable value range. Another value range

Proposed Framework
This section describes the FLASHED framework which addresses the gaps of existing solutions identified in the previous section. First, we present logical component types, which are partly derived from the MCDM process. As next, a database structure based on logical components is explained. In the following subsection, for the sake of clearness, we show the FLASHED framework filled with example data. Thereafter, we present the FLASHED decision algorithm and application aware parameterizing of goals and criteria. Finally, two network selection algorithms implemented in the FLASHED framework are described.
The proposed FLASHED framework was developed to fulfil the following set of requirements: a handover including flexible definition and parameterizing of information sets relevant for the decision making

Logical component types
In context of this study, a logical component type is a container for a piece of logically associated information, which is relevant for network selection procedures. The definition of logical component types for the FLASHED framework is shown in Figure 1 On the left hand side, the steps of the MCDM process mainly based on [17] are depicted. In the middle, the components derived from the MCDM process and the components additionally defined by the authors of this study are shown. Afterwards, for the sake of better flexibility, the components Criterion, Algorithm and Application were divided in subcomponents. Finally, all component types defined for the FLASHED framework are listed on the right.

Flashed database
For the logical component types from the previous section, a relational database was developed, where for each component type a database table was constructed. The structure of the database tables and their relationships are presented as enhanced entity-relationship (EER) model in Figure 2 x -x r = , ,

FLASHED database filled with example data
To present the FLASHED database in a more descriptive way, we filled them with example data presented in Figure 3 as object diagram. Furthermore, these data will be used for the simulations in Section VI. For the sake of simplification, the tables User, Criterion basic and Algorithm were omitted in the object diagram. Two perspectives were configured for this example, namely the perspectives of user and service provider, which are characterized by goals like QoS and cost (monetary cost), and load balancing, respectively. QoS is indicated by the criteria delay and Load Balancing Algorithm (LBA) were configured, respectively. These algorithms are explained in Section IV-F. Additionally, goals and criteria were configured specifically with respect to two applications the fulfilment of the requirements on the FLASHED framework listed at the beginning of this section. The purpose of the tables and their relationship are explained below. The table attributes are not explained, since their names are self-descriptive.
The table User is designed to hold the information of system users like both users (customers) and service provider administrators. The table Perspective is a container for the information related to involved actors. Most relevant actors are considered to be user and service provider. The table Goal was constructed for objectives of different perspectives. The goals are characterized by criteria, which can be stored in the tables Criterion basis and Criterion specific. The table Criterion basis is designed for the basic configuration of different criteria, which then can be used by different users for different goals for the definition of specific criteria in the table Criterion specific. The attribute uf Type of the table Criterion basic describes the type of normalization technique. In this study, we used absolute max min normalization technique from [18] as shown in eqns (1) and (2) for benefit and cost criteria respectively . In these eqn (1) is the Set of alternative networks, J is the set of criteria, xij is the value of the j-th criterion for the i-th network, xmin and xmax are minimum and maximum values of a certain criterion. In the table Algorithm, network evaluation algorithms are defined. Additionally, the algorithms are associated with the goals by means of the table Algorithm and goal. The section Application related tables contain the tables for the configuration of goals and criteria depending on applications and application types. Eqs (1) and (2)    YouTube and Skype Voice. In the following, the setting of the attribute values for the logical components is explained (Figure 3).
For the weights of the perspectives, two variables user and wSP were defined as shown in the object diagram.
They will be set to the appropriate values according to the simulation modes in Section VI. For this example scenario, we assumed the user's optimization objectives (QoS and cost) to be equally important. Therefore, the weights of QoS and cost were set to equal values. Since the criteria defined in the table Criterion specific are not application-specific, the weights for the QoS goal were configured with equal values. Feasible ranges for these criteria were set in the way to fulfil the most demanding application type according to ref.
[19], which is conversation type. Therefore, the feasible range for delay was specified in accordance to ITU G.114 [20] and for the remaining QoS criteria according to ref. [21]. The feasible range for the criterion cost was configured approximately according to the current data rates. The maximum of the feasible range of ABR was set based on assumption that 18 [Mbps] is the maximum bitrate among all available PoAs.
The weights for the criteria PoA load and network balance coefficient is not required since LBA does not use these two criteria directly for the evaluation of alternative networks but for the computation of the load balancing (LB)-index.
Furthermore, the criteria-specific configuration of goals and criteria is presented in Figure 3, where two applications YouTube and Skype Voice were considered. For these two applications, specific weights of criteria were specified based on the guide lines from standard [19] and study [22]. The criteria's feasible ranges were configured according to refs. [21][22][23][24][25]. The definition of saturated ranges for ORA (explained in Section IV-F and in ref. [8]) was carried out based on the assumed maximum data rate of applications and the maximum bitrate of PoAs.

Flashed decision algorithm
The data configured in the FLASHED database are used for network evaluation by the FLASHED decision algorithm. In Figure 4, a traditional MCDM algorithm and the proposed decision algorithm are presented. For the sake of better clearness, the steps are divided into three sections.
In the following, the steps of the FLASHED decision algorithm are described. In the first section, the input data like user name, active applications and criteria values are delivered. The second section deals with the determination of configuration data for the input data from the FLASHED database. The data for perspectives, goals, criteria and algorithms are extracted from the database here. In the last section, the evaluation of the alternative networks is carried out based on the configuration data from the second section. In the steps 10 and 11, the attribute values of application specific goals and criteria are aggregated among all active applications following the procedure described in IV-E. In the steps 12 and 13 normalization and prioritization of criteria values are carried out. Thereafter, for each available network a score is calculated by means of each active algorithm from the database table Algorithm and goal. These scores are then aggregated to a sum score according to eqn (3), where w and S are the weights and scores of the currently implemented algorithms ORA and LBA, and I is the set of alternative networks. For a fair impact of each algorithm on the sum score, the scores calculated by each algorithm must have the same value range and a similar value distribution (Eqn (3)).

Application-aware parameterizing of goals and criteria
The design of the FLASHED database enables an applicationspecific configuration of goals and criteria. A special algorithm was developed in Java, which computes goals and criteria configuration for active applications based on data from the FLASHED database. This algorithm presented as block diagram in Figure 5 consists of steps described in the following. As a first step, a list of goals and a list of criteria are extracted for each active application from the database from the tables Goal and Criterion specific. Next, for each goal, the algorithm looks for the goal configuration in the following order: applicationspecific configuration in Goal per app, application type-specific configuration in Goal per app and basic configuration in table goal. The data from the first found database entry is saved into the goal object and then added to the goal list. Finally, the goal objects with identical names are combined by averaging their weights. The determination of the application-specific criteria configuration is performed in an identical way. The aggregation of the attributes of criteria objects are carried out according to the rules presented in Table 1.
For the calculation of the bottom borders of feasible and saturated ranges for ABR, a coefficient addABR was defined. The values of the bottom borders of feasible and saturated ranges are multiplied by addABR. By means of this coefficient the values of bottom borders of feasible and saturated ranges can be increased, to provide additional ABR to be used by signalling traffic and to cope with traffic fluctuations. The value of addABR is to be defined for each network environment individually depending on amount of signalling traffic and on bitrate fluctuations. For our simulations in Section VI, we will set addABR to the value of 1.3 assuming that the additional ABR of 30% is required as a buffer (Table 1).

Implemented algorithms
The algorithms ORA and LBA for network evaluation from the perspectives of user and network provider, respectively, were designed and implemented within the FLASHED frame-work.  based network evaluation procedure explained in details in ref. [8], whose purpose is the optimization of unbounded criteria due to an oversaturation or surplus reduction of bounded criteria according to application requirements. A bounded criterion is a network characteristic with a limited optimization level with respect to a certain application requirement. For example, for a Skype voice application with generated data rate of 100 kbps, the bounded criteria would be the available bitrate with the optimization bound of 100 kbps. Consequently, the criteria without an optimization bound, e.g. monetary cost, are referred to as unbounded criteria in the context of ORA. We also introduced the term saturated range for utility functions for bounded criteria. In a saturated range, the utility is constant. Generally speaking, the main novelty of ORA compared to traditional MCDM algorithm consists in the enhancement of the utility function with the saturated range for bounded criteria. ORA comprise steps like normalization, weighting and alternative evaluation. Different MCDM methods can be utilized by ORA. ORA produce a score for each alternative network in the range [0-1]. The network with the highest score is the most preferable choice in the context of ORA.

Oversaturation reduction algorithm (ORA): ORA is an MCMD-
Load balancing algorithm (LBA): LBA was developed during this study to represent the load balancing optimization objective of service provider. LBA evaluates each alternative network i 2 I based on the relative balancing index relLBI. The relLBI is computed for each network according to eqn (4), where a 2 I is the identifier of the associated network, L is the current load on the PoA, BRmax is the maximum bitrate of the PoA and BRreq is the bitrate required by the application. The relLBIs has a value range [0-1]. The alternative network with the highest relLBIs is considered to be the most preferable choice in the context of LBA (Eqn (4)).

Framework Implementation
The FLASHED framework described in the previous sec-tions was implemented during this study. The FLASHED framework presented in Figure 6 can be logically divided in two parts. The first part is the FLASHED database which was described in Section IV-B and was implemented as a mySQL database. The FLASHED backend is the second part of the system designed for a comprehensive evaluation of alternative networks based on the data from the FLASHED database. The FLASHED backend was implemented in Java and comprises of multiple functional blocks. The purpose of the functional block OMNeT Connector is the data exchange with the network simulator OMNeT++/ INET. The steps 1-3 from the FLASHED decision algorithm ( Figure  4) are implemented there. The block Database Connector deals with the determination of configuration data from the FLASHED database for the input data and contains the implementations of steps 4-9 from the FLASHED decision algorithm. The block Network Evaluation performs the calculation of scores for alternative networks and includes steps 10-16 of the FLASHED decision algorithm. Currently, the algorithms ORA and LBA are implemented there. The block Scores Aggregation performs an aggregation of scores calculated by ORA and LBA as a weighted sum according to eqn (3). Additionally, the FLASHED Framework Connector was implemented in INET to enable the interaction between INET and the FLASHED framework. In Figure  6, processing steps and example data for each step are presented.

Simulation
To show the possibilities of the FLASHED framework for the analysis of comprehensive network selection procedures, the simulations described in this section were conducted. At the beginning of this section, the further development of the INET library essential for the simulation of MC network selection procedures is explained. Thereafter, simulations con-figuration and results are presented.

Further development of INET
The simulation environment OMNeT++ 4.6 along with INET 3.0.0 was chosen for the evaluation of our proposed framework. INET was enhanced with the following function-alities required for the planned simulations: passive regular scan for WLAN stations (STAs), calculation of the LB in-dex, adaptivity of applications bitrate, collection of values ( Figure 6).
The FLASHED framework and its functional blocks including the OMNeT++/INET part for the criteria delay, jitter, PL, ABR, cost, required bitrate, maximum bitrate of PoA and current bitrate on PoA. This further developed version of INET is available in ref. [26]. A preconfigured working simulation can be found in examples/-wireless/ handover/MCDM Handover.ini ( Figure 6).

Configuration of simulation scenario
The basic configuration of simulation in INET was per-formed according to Table 2. Six Access Points (APs) and seven STAs were configured. Two applications YouTube and Skype Voice were simulated on each STA with the data rates listed in Table 2. One STA was defined as STA under test, on which various metrics data were collected. The remaining six STAs were used for the generation of background traffic. Afterwards, three simulation modes were defined as shown in Table 3. The baseline modus is based on the traditional MCDM procedure and the modes oversaturation reduction and load balancing make use of the algorithms ORA and LBA, respectively. For the modes baseline and oversaturation reduction, five submodes based on different MCDM methods were defined. Moreover, ten configuration sets with different costs and maximum bitrates of APs were defined for each submodus. Next, the FLASHED framework was filled with the data from the object diagram shown in Figure 3. The criteria parameterizing computed for that data across applications YouTube and Skype Voice is presented in Table 4. This computation was performed by means of the algorithm described in Section IV-E.

Results
Ten runs were carried out for each submodus with different AP costs and maximum bitrates. As evaluation metrics, we used the decision criteria and LB index. The data for these metrics were collected on the STA under test each 1.5 second (Tables 2 and 3).
The LB index was calculated for the whole WLAN infrastructure based on the relative loads of six simulated APs as per eqn (5) derived from ref. [27] where N is the number of APs. The collected values for each submodus were averaged and put into eqn (5)   First, we will compare results among different submodes. In the baseline mode, the results for the criteria cost and the LB index of the GRA-and VIKOR-sub modes differ substantially from the results of other sub modes. Differences between sub modes in oversaturation reduction modus are insignificant.
Next, we compare the results among modes. The value differences of the metrics delay, jitter and PL are insignificant. This can be explained with a small variance of the values for these metrics generated in OMNeT++/INET. The differences in results among three modes for the metrics ABR, cost and LB index follow the expected pattern. In the oversaturation reduction modus compared to the baseline a reduction of ABR and costs can be observed, which an expected behaviour of ORA is. The modus load balancing delivered a better LB index compared to other modes as expected. The only exception here is the LB index computed in the GRA submodus in oversaturation reduction modus, which is better than the LB index of LB modus. This is not an expected behaviour and will be investigated in further research (Figure 7). This can be explained with a small variance of the values for these metrics generated in OMNeT++/INET. The differences in results among three modes for the metrics ABR, cost and LB index follow the expected pattern. In the oversaturation reduction modus compared to the baseline a reduction of ABR and costs can be observed, which an expected behaviour of ORA is. The modus load balancing delivered a better LB index compared to other modes as expected. The only exception here is the LB index computed in the GRA submodus in oversaturation reduction modus, which is better than the LB index of LB modus. This is not an expected behaviour and will be investigated in further research (Table 5).

Outlooks
The following topics can be considered as directions for further research in terms of further development of the FLASHED framework. First, the investigation of further appropriate network evaluation algorithms representing different perspectives can be seen as a worthy   Utility in sat. range 0.0361 Table 4: Criteria parameterizing for the modes baseline and oversaturation reduction computed based on data from Figure 3 by means of the procedure from Section IV-E.

Summary
The rapid development of modern mobile networks and the increasing number of mobile applications with demanding requirements brought the topic of MC-based network selection during handover to a new level of actuality. A massive number of studies dealing with MC-based network selection has been published in the last decade. However, the subject of handling the information needed for the network selection procedure is poorly investigated. In our study, we proposed a solution, named FLASHED framework, for a flexible comprehensive network selection in modern mobile heterogeneous networks. The framework is partly based on the ideas from MCDM and enables a perspectives-and applications-aware configuration of network selection. The main part of the framework is a hierarchical structure constructed out of logical component types and implemented as a relational database. Logical component types serve as containers for the information sets required for the network evaluation. Additionally, two different algorithms for evaluation of alternative networks from the perspective of user and of service provider were integrated in the FLASHED framework. The design of the FLASHED framework enables a highly flexible configuration of network selection by freely defining and parameterizing logical components and by bringing them into the required relationship. The framework was implemented and connected to the simulation environment OMNeT++/INET. A simulation was carried out to demonstrate the benefits of proposed framework.