# QoS-Aware Downlink Traffic Scheduling for Cellular Networks with Dual Connectivity
## 4 Proposed QoS Downlink Data Dispatching (QDD) Method
\begin{split}& C1:r_{sp}(b_{i})\leq r_{in}(b_{i}),\forall b_{i} \in B^{C}\\ &\quad r_{sp}(b_{i})\leq 0,\forall b_{i}\in B^{M}\\ & C2:\mathcal{D}_{p}^{M}(u_{i})\leq R_{eff}^{M}(u_{i})\times I_{t }+D_{r}^{M}(u_{i}),\forall u_{i}\in U\\ & C3:\mathcal{D}_{p}^{S}(u_{i})\leq R_{eff}^{S}(u_{i})\times I_{t }+D_{p}^{S}(u_{i}),\forall u_{i}\in U^{C}\\ & C4:\sum_{\begin{subarray}{c}u_{i}\in U^{c}\\ h_{i}\in B^{c}\end{subarray}}\{r_{sp}(b_{i})|M_{i2s}(u_{i})=s_{k}\}\leq R_{bh }(s_{k}),\forall s_{k}\in S\\ & C5:\sum_{u_{i}\forall U}Rb^{M}(u_{i})\leq Rb_{\max},\text{ for the MeNB}\\ & C6:\sum_{u_{i}\forall U}\{Rb^{S}(u_{i})|M_{i2s}(u_{i})=s_{k}\}\leq Rb _{\max}(s_{k}),\forall s_{k}\in S\\ & C7:\mathcal{Q}_{d}(b_{i})\geq\frac{r_{sp}(b_{i})\times I_{t}}{R_{bh }(M_{i2s}(u_{i}))}+\frac{r_{sp}(b_{i})\times I_{t}+D_{r}^{S}(u_{i})}{\hat{O}_{ s}(u_{i})},\forall b_{i}\in B^{C}\cap\forall u_{i}\in U^{C}\end{split} \]  
In the following, we discuss the constraints of the above formulation. First, in constraint C1, if the bearer \(b_{i}\in B^{C}\), this means that UE \(u_{i}\) connects to the MeNB and a SeNB simultaneously, and thus, the data flow of \(b_{i}\) can be split. Therefore, \(r_{sp}(b_{i})\) must be less than or equal to the \(b_{i}\)'s input data rate \(r_{in}(b_{i})\). On the other hand, if \(b_{i}\in B^{M}\), it means that UE \(u_{i}\) only connects to the MeNB, and thus, \(r_{sp}(b_{i})\leq 0\). Second, in constraint C2, for any UE \(u_{i}\in U\), the amount of downlink data \(\mathcal{D}_{p}^{M}(u_{i})\) that can be consumed by the MeNB in the next \(I_{t}\) interval must be less than or equal to the sum of (i) the amount of data that can be transmitted by the MeNB in the next \(I_{t}\) interval, i.e., \(R_{eff}^{M}(u_{i})\times I_{t}\), and (ii) the amount of \(u_{i}\)'s remaining data amount \(D_{r}^{M}(u_{i})\) in the MeNB. Third, in constraint C3, for the UE \(u_{i}\in U^{C}\) (i.e., \(u_{i}\) connects both to the MeNB and a SeNB at the same time), the amount of downlink data \(\mathcal{D}_{p}^{S}(u_{i})\) that can be consumed by the SeNB in the next \(I_{t}\) interval must be less than or equal to the sum of (i) the amount of data that can be transmitted by the SeNB in the next \(I_{t}\) interval, i.e., \(R_{eff}^{S}(u_{i})\times I_{t}\), and (ii) the amount of \(u_{i}\)'s remaining data amount \(D_{r}^{S}(u_{i})\) in the SeNB. Fourth, in constraint C4, for a SeNB \(s_{k}\), the total data rates that split from the MeNB to \(s_{k}\) should be less than or equal to the X2 link capacity \(R_{bh}(s_{k})\). Fifth, constraints C5 and C6 specify that the number of RBs allocated to UEs that connect to the MeNB and the corresponding SeNB \(s_{k}\) should not be larger than \(Rb_{\text{max}}\) and \(Rb_{\text{max}}(s_{k})\), respectively. Sixth, constraint C7 requires that if the flow of the bearer \(b_{i^{\prime}}\) is split to the SeNB, the corresponding packets handled by the SeNB should be delivered to the UE \(u_{i}\) before the delay constraint \(\mathcal{Q}_{d}(b_{i})\). When dispatching data to the SeNB, the possible delay includes: (i) The transmission delay caused by the X2 interface, which is the total amount of data dispatched to SeNB in the next \(I_{t}\) interval \(r_{sp}(b_{i})\times I_{t}\) divided by the corresponding X2 interface link capacity \(R_{bh}(M_{\text{a2s}}(u_{i}))\). (ii) The processing time of the SeNB. For a UE \(u_{i}\in U^{C}\), the SeNB needs to process \(u_{i}\)'s remaining data \(D_{r}^{S}(u_{i})\) and the upcoming data \(r_{sp}(b_{i})\times I_{t}\) in the next \(I_{t}\) interval. The processing time can be estimated by the total amount of data divided by the \(u_{i}\)'s estimated transmission capability \(\hat{O}_{s}(u_{i})\). According to the above formulation, unknown variables include \(Rb^{M}(u_{i})\) and \(Rb^{S}(u_{i})\), \(\forall u_{i}\in U\), and \(r_{sp}(b_{i})\), \(\forall b_{i}\in B\). We can see that the number of unknown variables is less than the total number of equations. Thus, we can find an optimal solution using a linear programming solver.