# A Semantic and Knowledge-Based Approach for Handover Management
## 3 SIM-Know
### Operation  
Figure 3 presents how SIM-Know operates in WLAN. First, \(KBP_{S}\), \(KBP_{M}\) and \(KBP_{N}\) collect their _Static Context_. Second, \(KBP_{M}\) monitors and updates the _Dynamic Context_ information related to, for instance, end-user speed, APs in range and RSSI. In parallel, \(KBP_{M}\) requests from \(KBP_{N}\) the _Dynamic Context_ information, which includes the associated and in range end-user devices. Third, based on the _Static Context_ and _Dynamic Context_, every KBP generates its local knowledge. For example, the local knowledge in \(KBP_{M}\) can be \(HighMobility\) and in \(KBP_{N}\) can be \(LargeRange\). Fourth, \(KBP_{M}\) launches the handover process. Fifth, the _Collaboration_ process starts between the corresponding \(KBP_{M}\) and \(KBP_{N}\) and ends with sending knowledge to \(KBP_{S}\). Sixth, \(KBP_{S}\) builds up the global network view, generates a handover policy for selecting candidate APs according to the rules defined in its _Reasoning Layer_, and sends those candidates to \(KBP_{M}\). Seventh, \(KBP_{M}\) selects the _Target KBP\({}_{N}\)_ by using the rules defined in its _Reasoning Layer_. Eighth, \(KBP_{M}\) sends a Handover Request to the _Target KBP\({}_{N}\)_, which sends back an acknowledgment to \(KBP_{M}\). Ninth, \(KBP_{M}\) sends disconnection requests to the current _Serving KBP\({}_{N}\)_, which, in turn, sends a disconnection acknowledgment to \(KBP_{M}\). Tenth, every \(KBP\) executes the _Adaptation_ process to handle the context variations dynamically. Figure 4 shows the data format used in \(KBP_{S}\) to store the global knowledge built with the information coming from \(KBP_{N}\) and \(KBP_{M}\). The format follows the triplet (Subject, Predicate, Object) encoded in Entity Notation [37], which enables a lightweight knowledge representation for resource-constrained environments. The Subject identifies a class in SIM by the combination of ClassId (e.g., ceu101) and ClassType (e.g., _User_). Each Subject is related to various pairs, Predicate-Object. The Predicate identifies a property (e.g., UserSpeed) of the Subject while the Object provides the value of such a property  
Figure 3: SIM-Know Operation. (e.g., HighMobility). The Object can also be a ClassId, to represent relationships among Subjects. Figure 5 illustrates how SIM-Know can operate in 5G by running \(KBP_{M}\) in the User Equipment (UE), \(KBP_{N}\) in gNodeB (gNB), and \(KBP_{S}\) in the Core Network (CN). The handover in 5G, according to the specification 3 GPP TS38.300 [38], consists of three phases: preparation (steps 0-5), execution (steps 6-8), and completion (steps 9-12). The steps are as follows:  
* Step 0: Each KBP gathers the _Static_ context. * Step 1: \(KBP_{M}\) and \(KBP_{N}\) initialize measuring procedures to collect the _Dynamic_ context, generate local knowledge, and exchange Measurement Reports by way of the _Collaboration_ process. Source \(KBP_{N}\) builds up its local knowledge. * Step 2: Source \(KBP_{N}\), based on its local knowledge, makes handover decisions. gNBs are responsible for making handover decisions. Figure 4: \(KBP_{S}\) Data Format. Figure 5: SIM-Know in 5G Intra-AMF/UPF Handover. Step 3: Source \(KBP_{N}\) sends a handover request message to Target \(KBP_{N}\). * Step 4: Target \(KBP_{N}\) executes the admission control procedure based on its local knowledge. * Step 5: Target \(KBP_{N}\) sends a handover request acknowledgment to Source \(KBP_{N}\). * Step 6: Source \(KBP_{N}\) sends a handover command to \(KBP_{M}\) for handover initiation. * Step 7: Source \(KBP_{N}\) sends the sequence number status transfer message to Target \(KBP_{N}\). Source \(KBP_{N}\) may initiate data forwarding. * Step 8: \(KBP_{M}\) detaches from Source \(KBP_{N}\) and synchronizes with Target \(KBP_{N}\). * Step 9: Target \(KBP_{N}\) informs \(KBP_{S}\) that \(KBP_{M}\) has changed the cell by way of the path switch request message. * Step 10: \(KBP_{S}\) switches the data path towards Target \(KBP_{N}\).