# Handover Management for D2D Communication in 5G Networks
## 4 Proposed Approach
### Choosing Handover Target  
According to the current 3 GPP handover standard, each device can amend its transmission quality by connecting to the eNB with the best-received signal status. However, in the realistic urban environment, there are obstacles such as buildings and trees. When a user is moving around in the overlapped area of multiple eNBs, the ping-pong effect may still happen due to possible shadow fading. This effect introduces additional transmission latency and further decreases system performance. Therefore, we should carefully choose the handover target, considering not only each user's received signal condition but also its movement. Moreover, since both devices of the same D2D pair may connect to different eNBs at the cell boundary, which results in additional transmission latency, it is beneficial to let both users of the same D2D pair connect to the same eNB. Therefore, to meet these goals, we would jointly consider the movements and the received signal of both users of the same D2D pair in order to choose the most appropriate eNB for each D2D pair as its potential handover target. Thus, by forcing both users of the same D2D pair to consider the same eNB as their handover target, we alleviate the latency caused by unnecessary handovers and avoid additional overhead generated between different eNBs. Consequently, in this section, we will propose a criterion for choosing the potential handover target for each D2D pair. First, there may be multiple eNBs that can be the prospective handover targets for a mobile device during its movement. At each time slot, we have to maintain a list of candidate target eNBs and select the best of them to be the potential handover target for each D2D pair. Thus, we define a directional counter \(D_{counter}^{m,i}(t)\) as a counting value for \(i\)-th D2D pair with respect to \(m\)-th eNBs at time slot \(t\). Also, we use \(\Gamma_{i}\) to denote a set that consists of candidate targets for \(i\)-th pair of D2D users. Users may report their locations back to their serving eNBs at each time slot by utilizing the global positioning system (GPS) or other network-assisted positioning services. We can find out whether a user is approaching a neighbor eNB by merely observing the distance changes between this user and the eNB. Specifically, at time slot \(t\), when a user \(k\) (where \(k\in\left\{DUE_{i}^{1},DUE_{i}^{2}\right\}\)) is approaching eNB \(m\), the corresponding \(D_{counter}\) value will be added by one (i.e., \(D_{counter}^{m,i}(t)=D_{counter}^{m,i}(t-1)+1\)). Note that \(D_{counter}^{m,i}(0)=0,\ \forall i\in\{1,2,\cdots,d\},\ \forall m\in\{1,2,\cdots,n\}\). Also, eNB \(m\) will be added to \(\Gamma_{i}\) if it has not been added yet. Therefore, for an eNB with maximum \(D_{counter}\) value with reapect to a D2D pair, the connection quality between them is supposed to be the most stable among all connections between other eNBs and that D2D pair. Thus this eNB would consequently be chosen as the handover target. Second, assuming that there may be multiple eNBs in the set of candidate targets for a D2D pair with the same largest \(D_{counter}\) value, another criterion is given for choosing the best target among them. In this aspect, we define a utility function in which the received signal conditions of both devices of the same D2D pair are considered. Specifically, the best target eNB should allow the shortesttransmission time for both users of the same D2D pair to transmit their control signals. As each device will periodically report its received signal condition in terms of RSRP from all neighbor eNBs back to its serving eNB, we can denote the reported set of RSRPs for a device as follows:  
\[RSRP_{k}^{report}=\left\{RSRP_{k}^{1},RSRP_{k}^{2},\cdots,RSRP_{k}^{n}\right\} \tag{4}\]  
where \(k\in\left\{DUE_{j}^{1},DUE_{j}^{2}\right\}\) and \(i\in\{1,2,\cdots,d\}\). Note that for each device, if the received signal power from certain eNB is too low to be detected, the corresponding RSRP value would be set to zero.