## 4 Proposed Resource Allocation Scheme
### Incoming Request Prioritization  
The proposed _Request Prioritizer (RP)_ prioritizes the incoming requests on a certain scheduling interval based on the attribute values, extracted by the _Request Receiver (RR)_. We assume that the _Attribute Value Extractor_ residing in the _Request Receiver (RR)_ is capable of extracting the requirements from the incoming baseband processing requests, as exhibited in Figure 3. The considered attributes of a request, \(r\in R\), which defines the QoE are:  
* Amount of data to be processed, \(d_{r}\)
* The tolerable service delay, \(q_{r}\)
* Received signal strength of the connected device, \(n_{r}\). \begin{table}
\begin{tabular}{l l} \hline \hline
**Symbol** & **Definition** \\ \hline R & Set of all incoming computational resource requests \\ \(H\) & Set of all remote radio heads (RRHs) \\ \(B\) & Set of all base band units (BBUs) in a BBU Pool \\ \(\Lambda_{r}\) & Set of attributes of a request, \(r\in R\) \\ \(d_{r}\) & Incoming data of a request, \(r\in R\) to be processed \\ \(q_{r}\) & The QoS requirement of an incoming request, \(r\in R\) \\ \(n_{r}\) & The received signal strength of the connected device associated with a request \\ \(w_{r}\) & The priority of an incoming request \\ \(O_{r}\) & Set of objective parameters considered for executing a request, \(r\in R\) \\ \(\rho_{r,b}\) & Cloud service providers’ profit for executing a request, \(r\in R\) on a BBU, \(b\in B\) \\ \(\tau_{r,b}\) & Total time requires a RRH, \(h\in H\) to get first response from a BBU, \(b\in B\) after executing a request, \(r\in R\) \\ \(\Gamma_{r,b}\) & The number of scheduling intervals required for a request, \(r\in R\) to be assigned to BBU \\ \(\overline{\Delta}_{s(i)}\) & Scheduling interval of the system for allocating resources \\ \(h_{b}\) & BBU rental cost for executing a request \\ \(u_{b}\) & Monetary cost for other resource usage \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Notations. The values acquired by the _Attribute Value Extractor_ in the _Request Receiver (RR)_ of each incoming request, \(r\in R\), are sent to the _Attribute Repository_, which keeps the attribute values in reserve. As the values of the considered attributes differ in terms of norms and units, the _Normalization_ function normalizes the values within a range in association with the _Attribute Repository_, so that the heterogeneity of the attributes can be alleviated. The normalized values of each attribute of a request are then fed into the _Priority Generator_, which enumerates the priority of the incoming requests in a specific scheduling interval. The resource requests are then sent along with the priority values to the _BBU Pool Manager_. Let \(\Lambda_{r}\) denote the set of considered attributes of a request \(r\in R\), where \(\Lambda_{r}=\{d_{r},\,q_{r},\,n_{r}\}\). Each attribute \(\Lambda_{r}^{i}\in\Lambda_{r}\) of a request \(r\in R\) from the corresponding RRH, \(h\in H\) can be scaled between 0 and 1 using the Min-Max normalization technique as in Equation (1):  
\[\hat{\Lambda}_{r}^{i}=\frac{cur(\Lambda_{r}^{i})-\min(\Lambda^{i})}{\max( \Lambda^{i})-\min(\Lambda^{i})}, \tag{1}\]  
where \(cur(\Lambda_{r}^{i})\) represents the current value of the corresponding attribute, \(\Lambda_{r}^{i}\in\Lambda_{r}\) of one incoming request \(r\in R\). In addition, \(\max(\Lambda_{r}^{i})\) and \(\min(\Lambda_{r}^{i})\) denote the maximum and minimum values of an attribute \(\Lambda_{r}^{i}\in\Lambda_{r}\), which can be determined by the historical data analysis of the previous requests arrived on the previous scheduling periods stored in the _Attribute Repository_. The considered number of previous scheduling periods can be determined by the system based on the data. Using Equation (1) we get the normalized values of \(d_{r},\,q_{r},\,\)and \(n_{r}\) which are denoted as \(\hat{d}_{r},\,\hat{q}_{r},\,\)and \(\hat{n}_{r}\), respectively.