# A Semantic and Knowledge-Based Approach for Handover Management
## 3 SIM-Know
### Knowledge Base Profile
#### 3.2.1 Layers  
The _Context_ layer includes contextual data about the user, network, device, application, and handover. Contextual data are essential for carrying out HM in environments with multiple wireless networks [20]. As in [21; 33], this layer is divided into static and dynamic sublayers. The _Static Context_ sublayer involves data that do not change or rarely do; it plays a vital role in assisting with neighbor network discovery [34]. Examples of static data include the wireless technology supported by the end-user devices and APs, and the wireless network technology coverage area. The _Dynamic Context_ sublayer serves an updated network view, including dynamic data such as the application requirements of a device needing handover and capacity available in a target AP, which enables the upper layers (_Semantic and Reasoning_ layers) to realize knowledge-based handovers. The _Semantic_ layer offers a SIM instance that is nourished by the bottom layer's contextual data. Thus, the _Semantic_ layer structures the information to achieve intelligent, timely and context-aware HM (considering criteria from the Static and Dynamic contexts). For instance, the _DeviceProfile_, _UserPreferences_, _UserSpeed_ and _MobilityPattern_ SIM classes can be used to build up a map of candidate networks; overall, SIM classes provide a structure to contextual data. It is worth noting that we consider three KBP flavors depending on how they instantiate SIM. \(KBP_{N}\), located at any AP or BS, instantiates the superclasses _Network_ and _Handover_. \(KBP_{M}\), located at end-user devices, instantiates the superclasses _Application_, _User_, _UserDevice_ and _Handover_. \(KBP_{S}\) is a complete KBP that can run on a logically centralised entity (e.g., a controller in a software-defined wireless network). The SIM's distribution allows any KBP (SIM-Know) to create and share local knowledge to generate global knowledge. The _Reasoning_ layer triggers the Initiation phase, selects the target network and realizes the handover itself by inferring knowledge from SIM. We use Description Logic (DL) [35] to express in a structured and formal way the rules governing the _Reasoning_ layer and, so, HM; the reasoning rules generate local and global intelligence to make autonomous handover connection decisions. Each rule has a set of conditions and settings. To illustrate how the _Reasoning_ layer operates, next, we present some of the rules that are modeled to realize a policy intended to select candidate networks proactively, considering the coverage of APs and the mobility pattern of end-user devices. For example, the Rule \(AP1 nRange\) (see Listing 1) serves to discover neighboring networks considering RSSI. \(AP1 nRange\equiv User\sqcap\exists isInCell. (\exists covers.AccessPoint)\)  
Listing 2 shows that the Rule \(UserSpeed\) is useful for defining the speed of users. If a User is moving with \(v>th_{u}\), he/she has a \(UserHighSpeed\). If a User is moving with a speed higher than \(th_{l}\) and lower than or equal to \(th_{u}\), he/she has a \(UserModSpeed\). \(UserSlowSpeed\) is when the user moves with \(v\leq th_{l}\). According to [36], \(th_{u}\) can be set to 50 Km/h and \(th_{l}\) to 10 Km/h. Figure 2: Knowledge Base Profile. \(User\,HighSpeed\,\equiv User\,\sqcap(\exists\,hasUserSpeed.HighMobility)\)  
\(User\,ModSpeed\,\equiv User\,\sqcap(\exists\,hasIsserSpeed.ModerateMobility)\)  
\(User\,SolowSpeed\,\equiv User\,\sqcap(\exists\,hasUserSpeed.SolowMobility)\)  
Listing 3 shows that Rule \(APRange\) is helpful for listing the APs by coverage range. \(LargeRange\) is given by \(range>ht_{r}\) and \(ShortRange\) by \(range\leq th_{r}\). According to [14], \(th_{r}\) can be set to 35 m for 802.11 ac. Listing 4 presents Rule \(SoJournTime\), which is useful for determining the time the user stays covered by an AP. If \(UserSlowSpeed\) is moving in \(APLRange\), it results in \(LongSoJournTime\). If \(UserHighSpeed\) is moving in \(APRange\), it results in \(SmallSojournTime\).