Tradeoff between User Quality-Of-Experience and Service Provider Profit in 5G Cloud Radio Access Network

In recent years, the Cloud Radio Access Network (CRAN) has become a promising solution for increasing network capacity in terms of high data rates and low latencies for fifth-generation (5G) cellular networks. In CRAN, the traditional base stations (BSs) are decoupled into remote radio heads (RRHs) and base band units (BBUs) that are respectively responsible for radio and baseband functionalities. The RRHs are geographically proximated whereas the the BBUs are pooled in a centralized cloud named BBU pool. This virtualized architecture facilitates the system to offer high computation and communication loads from the impetuous rise of mobile devices and applications. Heterogeneous service requests from the devices to different RRHs are now sent to the BBUs to process centrally. Meeting the baseband processing of heterogeneous requests while keeping their Quality-of-Service (QoS) requirements with the limited computational resources as well as enhancing service provider profit is a challenging multi-constraint problem. In this work, a multi-objective non-linear programming solution to the Quality-of-Experience (QoE) and Profit-aware Resource Allocation problem is developed which makes a trade-off in between the two. Two computationally viable scheduling algorithms, named First Fit Satisfaction and First Fit Profit algorithms, are developed to focus on maximization of user QoE and profit, respectively, while keeping the minimum requirement level for the other one. The simulation environment is built on a relevant simulation toolkit. The experimental results demonstrate that the proposed system outperforms state-of-the-art works well across the requests QoS, average waiting time, user QoE, and service provider profit.


Introduction
The concept of next-generation cellular networks such as fifth-generation (5G) is becoming popular, since they can help to accommodate the indomitable increase of data traffic currently being experienced by the mobile network operators (MNOs) [1][2][3]. The leading MNOs are highly motivated to incorporate the virtualization concept of cloud computing in their networks, giving birth to the Cloud Radio Access Network (CRAN) [4]. In CRAN, the traditional base station (BS) is split into the radio frequency (RF) unit, referred to as the remote radio head (RRH) and the baseband processing unit (BBU) that provides the computational resources [4,5]. Although the RRHs are distributed over a wide geographic region located at each cell site, the BBUs are now pooled and moved into a centralized cloud named the BBU pool, where the RRHs and BBUs are connected via fronthaul link. The virtualization of Radio Access Networks (RANs) is acknowledged as one of the important use cases of network function virtualization (NFV). It is considered to be the best candidate solution for supporting the next generation mobile communication network (5G) [1,6], which embodies real-time cloud-computing, collaborative radio and centralized baseband processing features in cellular networks.
By virtualization, the computing resources in the BBU pool can be dynamically shared among all the cells in the network. However, due to the heterogeneity of the incoming service requests from the RRHs to BBU pool, mapping an appropriate computational resource in the BBU pool to a particular request is still an important research challenge for the next-generation CRAN systems. Since in the CRAN architecture, mobile operators are dependent on cloud service providers for computational resources, service providers' profit must also be taken into account. The maximization of user Quality-of-Experience (QoE) in the competitive market must also be addressed. In this paper, we have developed a resource allocation scheme for mapping heterogeneous requests from RRHs to BBUs so that user QoE and service providers' profit is maximized under optimal resource utilization. Figure 1 shows the CRAN service architecture and its components. Resource allocation and the RRH-BBU mapping problem in 5G CRAN has been addressed in a number of research works in the literature [6][7][8][9]. However, focusing on the Quality-of-Service (QoS), Khan et al. [6] developed a dynamic RRH-BBU mapping algorithm in CRAN architecture where the service provider's profit is not a focus of attention. By employing the news-vendor game model, a resource allocation problem with a bargaining solution is investigated in [9] with the ability to reconfigure its resources with varying traffic conditions. This scheme requires additional time for resource reconfiguration, which can cause violation of QoS requirements. A renewable energy-based user association and power allocation is proposed in [10]. They have addressed the QoS requirement in terms of achievable rate, and completely disregard user QoE and service provider profit. Meeting up the QoS requirements of heterogeneous requests with the limited computational resources as well as enhancing service provider profit should be the prerequisite of a working CRAN environment.
Motivated by the aforementioned discussions, we have developed a QoE and Profit-Aware optimal Resource Allocation scheme in a 5G Cloud Radio Access Network. The novelty of this work lies in formulating a multi-constraint resource allocation problem so as to meet the heterogeneous user QoS requirements as well as to provide high profit to the operator. At first, weighted priority is calculated for each arrived task from RRHs to BBU pool so that the service requests can be scheduled according to their priorities and requirements. Here, the mapping problem of incoming service requests to the BBUs is formulated as a multi-objective non-linear programming (MONLP) optimization problem. Focusing on the QoE maximization of mobile operators as well as the subscribers and the service provider's profit, requests are selected in a scheduling slot and BBUs are allocated for the selected incoming requests. The main contributions of this paper can be summarized as: • An integrated priority metric is developed so that the priority of an incoming request to a suitable BBU can be identified. • Computational resource allocation problem for incoming requests is formulated as multi-objective non-linear programming optimization problem focusing on maximization of end-user QoE as well as service provider profit. • Tradeoff between profit and customer satisfaction while selecting the BBUs for service provisioning in CRAN is made by two scheduling algorithms which are computationally viable to be deployed. • To enhance system performance and resource utilization, the duration of the scheduling interval is determined dynamically according to the incoming requests and available resources.

•
The results of our extensive simulation experiments, carried out on CloudSimSDN [11], depict that significant performance improvements in terms of user QoE, QoS satisfaction, average waiting time, and service provider profit have been achieved by the proposed system compared to the state-of-the-art works.
The rest of the paper is organized as follows. Section 2 describes some related works in our topic of interest. In Section 3, the system model and assumptions for execution environment of different requests are presented. The functional components of the proposed system architecture are described in detail in Section 4. In Section 5, the performance of our proposed scheduling system is analyzed, and Section 6 concludes the paper.

Related Works
CRAN technology is one suitable candidate for 5G systems; the advantages and challenges for various candidate architectures and their performance capacities are reviewed in [1]. Provisioning and allocation methods of virtual base stations (VBSs) in the base band unit (BBU) are proposed in [5]. The advantages, challenges, and future directions of CRAN technology are also studied in this survey paper. However, in [12], using integer linear programming (ILP) cells are optimally assigned to different BBU pools. It focuses on minimizing the capital expenditure (CAPEX) of CRAN deployment, although the operational expenditure (OPEX) is not taken into account. In [13], the Virtual Radio Access Networks (VRAN) Placement and Assignment Problem (VRAN-PAP) is formulated as a binary integer linear program (BILP) where the center of attention is only to minimize the server and front haul link setup cost rather than considering other cost issues.
Cooperative interference mitigation and handover management issues are addressed in [14], which did not analyze user QoS requirement and resource allocation schemes. The authors of [8] address the RRH to BBU assignment problem as a bin-packing problem which requires a significant amount of computational complexity, where the end-user QoE is not traced. In [6], even though QoS of requests are considered, service provider profit is not studied. In [15], the authors introduce a clustering mechanism to maximize user satisfaction and enhance network energy efficiency. Another noteworthy study [10] proposes a user association, and power allocation in mmWave-based ultra-dense bands is considered with load balancing and energy efficiency. Nevertheless, in both of the mentioned contributions, service provider profit in terms of executing a request on the cloud server is not discussed.
To exploit next-generation CRAN operations, a main challenging issue is how to properly control system resources. To address this, one article [9] employs the news-vendor game model for resource allocation. Here, the two-stage game-based resource management approach can practically adapt current system conditions. However, an optimal tradeoff between service provider profit and customer satisfaction are not concentrated here as well as in the state-of-the-art works.
In our proposed work, a QoE and Profit-Aware optimal Resource Allocation scheme in a Cloud Radio Access Network has been developed. Here, focusing on maximization of user QoE and service provider profit, the computational resource allocation problem for the incoming requests is formulated as a multi-objective non-linear programming optimization problem. While allocating resources, the amount of data to be processed, the maximum allowable service delay per request, and received signal strength of the connected device of the user are also taken into account for identifying the priority. In this work, a tradeoff is made between profit and customer satisfaction for service provisioning in 5G CRAN architecture. For efficient resource utilization and enhancement of system performance, the scheduling interval of the system is dynamically determined according to the request arrival rate and service rate. To the best of our knowledge, this work is the first to address the problem of maximizing user QoE as well as service provider profit under optimal resource utilization.
A comparative study among the state-of-the-art works focusing on different aspects of CRAN and our proposed Quality-of-Experience and Profit-aware Resource Allocation scheme or QEPRA system is given in Table 1. In the literature, several mechanisms [12,13,16] basically focus on infrastructure development of CRAN architecture. Another noteworthy paper [6] addresses QoS-aware scheduling and based on the service provider profit [9] allocates resources for incoming requests. However, our proposed system makes a tradeoff between user QoE as well as service provider profit while utilizing resources efficiently.

System Model and Assumptions
In this section, the overall system architecture and the assumptions as well as the system components which make the allocation of computational resources for the incoming requests more efficient are well explored.
The 5G Cloud Radio Access Network (CRAN) refers to the virtualization of base station (BS) functionalities by means of cloud computing [17]. In this work, a fully centralized CRAN architecture [4] is assumed where all the baseband functions are assembled in BBUs (base band units) and the signals are centrally processed. The request management and resource allocations of BBUs of macro-cell and small-cell are co-located in the BBU pool. Remote radio heads (RRHs) integrate the radio functionalities where the RRHs and BBU pool communicate over CPRI (Common Public Radio Interface) protocol. We are considering that the overall system supports 2G, 3G, and 4G networks, and is designed for future 5G network.
In CRAN architecture, the mobile subscribers are directly connected to the RRHs of the mobile operators with heterogeneous service requests and Service Level Agreements (SLA), via supported mobile network communication protocols (e.g., GSM-Global System for Mobile communication, 3GPP-3rd Generation Partnership Project, LTE-Long Term Evolution, LTE Advanced, etc.). With the help of BBUs, residing in a BBU pool, the incoming workloads of the RRHs are processed. As a consequence, these computational resource requests are sent from RRHs to a Request Receiver (RR) located in the cloud service provider (CSP)'s side, as shown in Figure 2. The RR receives all the incoming requests with the corresponding service requirements. It then extracts the major attributes (data size, tolerable service delay, signal strength) of the requests from the requirements and sends those to the Request Prioritizer (RP). The RP calculates the weight for each arrived request according to the requirements which denote the priority of each incoming request in a certain scheduling interval. The RP then sends the requests with their weights to the BBU Pool Manager which is responsible for managing the resource allocation process. The optimal mapping of incoming requests to BBUs in a pool is done by the QoE and Profit-aware Resource Allocator. With the help of Pricing Policy Maker and Resource Manager, the QoE and Profit-aware Resource Allocator allocates BBUs for selected requests from the incoming requests in a scheduling interval in order to maximize the total user QoE and service provider profit. As limited computational resources are available for heterogeneous incoming requests with various requirements, these resources are allocated with the help of several scheduling intervals. The scheduling interval can be defined as in [18]. Here, the Resource Monitor monitors the incoming load and the Resource Manager creates appropriate virtual base stations (VBSs) according to the requirements. In addition, the Pricing Policy Maker provides the per-unit prices according to the work load and priority of incoming service requests. These unit prices are dynamically adjustable, as explained in [19,20]. After that, the Request Executor executes a particular request on the allocated computational resource, provided by the BBU Pool Manager. The execution result of each request is then sent via the Response Sender to the RRH. The relevant notations and definitions used for modeling the system are listed in Table 2. Set of attributes of a request, r ∈ R d r Incoming data of a request, r ∈ R to be processed q r The QoS requirement of an incoming request, r ∈ 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 ∈ R ρ r,b Cloud service providers' profit for executing a request, Total time requires a RRH, h ∈ H to get first response from a BBU, b ∈ B after executing a request, r ∈ R Γ r,b The number of scheduling intervals required for a request, r ∈ R to be assigned to BBU ∆ 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

Proposed Resource Allocation Scheme
In this section the working principle and functional methodologies of our proposed system are presented in detail. As the mechanisms used in the Request Prioritizer (RP) and the QoE and Profit-aware Request Scheduler greatly control the system performance, we address these two components in the whole system to enhance the efficiency. Here, the Request Prioritizer (RP) helps to identify the priority of the incoming service requests so that resources can be allocated for a request with higher priority first. The multi-constraint problem of resource allocation for the incoming service requests is formulated as a multi-objective non-linear programming (MONLP) optimization problem in the QoE and Profit-aware Resource Allocator. As this is an NP-Hard problem, two heuristic solutions are provided here considering a single objective at a time. Two algorithms called First Fit Satisfaction (FFS) algorithm focusing on the maximization of user QoE while maintaining the unit profit threshold and the First Fit Profit (FFP) algorithm targeting the maximization of service providers' profit while satisfying the QoS requirements are introduced here. As limited computational resources are available for heterogeneous incoming requests with various requirements, these resources are allocated with the help of several scheduling intervals in the whole system. To enhance the system performance, dynamic determination of scheduling intervals for resource allocation is also addressed here.

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 ∈ 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 . Let Λ r denote the set of considered attributes of a request r ∈ R, where Λ r = {d r , q r , n r }. Each attribute Λ i r ∈ Λ r of a request r ∈ R from the corresponding RRH, h ∈ H can be scaled between 0 and 1 using the Min-Max normalization technique as in Equation (1): where cur(Λ i r ) represents the current value of the corresponding attribute, Λ i r ∈ Λ r of one incoming request r ∈ R. In addition, max(Λ i r ) and min(Λ i r ) denote the maximum and minimum values of an attribute Λ i r ∈ Λ 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 asd r ,q r , andn r , respectively. Now, the weight of each incoming request representing the priority can be calculated as: The higher value of w r denotes the higher priority of an incoming request within a specific scheduling interval. Here, we have generated the priority of each incoming service request based on the required data processing load, the connectivity of the device to the network, and the QoS requirement of the service request. This priority generation technique facilitates the faster execution of the requests with higher data rate requirement from a critical device in terms of signal strength and sending back the result within its QoS requirement. For example, if two requests arrive, one with poor connectivity and another with strong RSSI (Received signal strength indication) value, although they have same data rate requirement, our proposed system will give faster access of the BBU to the request with poor RSSI value. The same thing will happen to the request with the QoS requirement of less allowable delay to get response.

Optimal Problem Formulation
The computational resource allocation problem for the incoming requests from RRHs to BBUs is formulated as a multi-objective non-linear programming (MONLP) optimization problem, focusing on maximization of end-user Quality-of-Experience (QoE) as well as service provider profit.
In order to initiate a radio communication service, soon after receiving the service requests from RRHs, a BBU must perform a specific task for each request to commence the corresponding radio access communication. The outcome of such tasks appear to the end users as the respective initial responses to the service requests. In this phase of this work, we target this sort of computation at the BBU pool. After the initialization of the service, radio communication will continue spontaneously. Here, the transmission delay is considered as the time required to send the request and receive the result, which depends on the connected network. Now, let the total time to get first response or the amount of time from when a request is submitted until the first response is produced from a BBU, b ∈ B to a RRH, h ∈ H after executing a request, r ∈ R can be defined as the summation of request processing time and waiting time, as shown in Equation (3): where ζ r,b denotes the time required to process the corresponding submitted request and r represents the waiting time or the time count when a request arrives to the request queue until it goes for service. The QoE and Profit-aware Resource Allocator always tries to allocate a specific BBU for a particular request, which can reduce the total response time to enhance the user's Quality-of-Experience (QoE). Let the total profit achieved by the service provider for executing a request, r ∈ R, on a BBU, b ∈ B, ρ r,b be defined as follows, where h b and u b denote the monetary cost for renting BBU servers and other resource usage for processing a request on the BBU. Let p d r represent price per request with data to be processed d r for executing the corresponding resource request, r ∈ R, and p w r represents the additional unit price for executing a request with priority w r , provided by the Pricing Policy Maker. Theses values can be reactively determined based on the resource requirements as addressed in [19,20]. Thus, the total profit gained by the service provider to allocate resource for requests can be calculated as in Equation (4). This value always ensures higher profit for the request with higher priority, as additional charge is required for executing a request with higher priority. The objective of our proposed methodology is to allocate a BBU, b ∈ B for each selected request, r ∈ R of an RRH, r ∈ R in such a way so that the total user QoE and the service provider's profit is maximized for executing all the selected service requests in a certain scheduling interval. Let O r = {ρ r,b , τ r,b } be the set of objective parameters for executing a request r, which consists of service provider's profit and request response time. As these two values belong to different units, the profit and response time are scaled within a range. Each element O i ∈ O r can be normalized as Equation (5), from which we get the normalized value of the service provider's profit,ρ r,b and response time,τ r,b for executing an incoming request on a BBU: Here, cur(O i r ) represents the current value and the max(O i ) and min(O i ) are the maximum and minimum values of the corresponding objective parameters. Assuming that the execution process of any request, r ∈ R is non-preemptive and all the virtual base stations (VBSs), v ∈ V, in a BBU will be created on demand of the incoming request to the BBU Pool. Computational resources are allocated for the incoming requests with the help of a certain number of scheduling intervals according to the available BBUs and resource requirements. Let Γ r,b denote the number of scheduling intervals required for a request, r ∈ R, to be assigned to a BBU, b ∈ B. This value is incremented by one as the scheduling interval number increases until a BBU is allocated for a request. The objective function of this resource allocation problem is formulated as: which is subject to some constraints that are discussed elaborately in Equations (8)- (13). Equation (6) reveals that the total QoE offered by the system to the end user for all the requests will be maximized through minimization of the total time to get a response. It also ensures the earlier execution of the requests that promise higher profit to the service provider. Furthermore, we also minimize the starvation of any specific request by ensuring a higher chance of execution of requests with a higher number of waiting slots. Here the greater the difference of these considered values, the greater the maximization of Quality-of-Experience (QoE) and profit is achieved without having long starvation on the request queue. Here, α, β, and γ are the system parameters which can be dynamically changed according to the system environment satisfying Equation (7):

Constraints
The constraints of the aforementioned objective function can be listed as follows: • BBU Constraint: The total number of BBUs in a pool must be constrained as where |B| denotes the total number of BBUs in a pool and B max represents the threshold value of the maximum number of BBUs that can be pooled.
• Capacity Constraint: The capacity constraint represents that the sum of the processing capacities of the BBUs in a pool must be constrained by the total capacity of a BBU pool. This can be represented as where η b is the size of each BBU and η is the total capacity of a BBU pool.
• Request Assignment Constraint: It ensures that at a time, each request b r ∈ R of one RRH h ∈ H is always assigned to one BBU b ∈ B of a BBU pool, where ξ r,b is a Boolean variable, equal to 1 if a request r ∈ R is assigned to a BBU b ∈ B of a pool; otherwise, it is 0.
• Virtual BBU Allocation Constraint: The BBU allocation constraint defines that at a given time, one BBU will be allocated for one request, which is represented as where Ψ r,b is a Boolean variable, equal to 1 if a BBU b ∈ B of a BBU pool is allocated for a requested request r ∈ R; otherwise, it is 0.
• Profit Constraint: The profit constraint can be represented as where ρ r,b is the profit that is gained by the cloud service provider for executing a request, r ∈ R on a BBU b ∈ B of a BBU pool and ρ min is the minimum profit that must be gained by the service provider for executing that request.
• QoS Constraint: The QoS constraint can be represented as where τ r,b is the total time to get any response after executing a request r ∈ R on a BBU b ∈ B of a BBU pool, and q r is the required QoS of a request or the maximum allowable time to obtain a result.

Computational Complexity of Resource Allocation Scheme
The Quality-of-Experience (QoE) and Profit-aware Resource Allocation or assignment of requests to the BBUs as formulated in Equation (6) is a multi-objective non-linear programming (MONLP) problem. Here the size of service request or data to be processed, d r , as well as the processing capacity of BBU, η b , vary from one to the other. Any BBU can be allocated to perform any request and processing time, and profit gain may vary depending on the request-BBU assignment. It is required to process all the selected requests by assigning exactly one request to each available BBU in such a way that the total profit of the assignment is maximized and the time delay to get first response is minimized. There exists a nonlinear relationship among the considered variables in Equation (6) and its constraints. Therefore, the resource allocation problem can be identified as a combinatorial optimization problem [21] and modeled as a generalized assignment problem (GAP) [22], which is a proved NP-Hard problem [23]. Thus, our optimal solution is proven to be an NP-Hard one.

Tradeoff between Customer Satisfaction and Service Provider Profit
Two first-fit greedy scheduling algorithms are invoked here for the system, when requests arrive in a scheduling interval; and the cloud service provider wants to maximize one objective parameter while maintaining the other one within a bounded value. In this work, the First Fit Satisfaction (FFS) algorithm is used to expand customer satisfaction while keeping a bound of unit profit, while the First Fit Profit (FFP) algorithm is proposed to escalate profit by affirming a target of customer satisfaction.

Satisfaction Optimization with a Profit Bound
This strategy is for service providers who aim to sustain a minimal unit profit ρ min for each request. This value is predetermined by some market analysis by the service provider for each type of requested task [19]. Algorithm 1 summarizes the steps of the First Fit Satisfaction algorithm for user Quality-of-Experience (QoE) maximization. At first, the incoming requests are sorted in decreasing order according to priority, w r , so that the request with the highest priority gets quicker access to the BBU. The target of this algorithm is to elect that BBU for each request, r ∈ R, which offers the fastest processing of one particular request. The faster execution or processing of a request bestowed by the BBU ensures a higher value of user satisfaction received by end user from a particular BBU. The BBU, Υ b , providing the highest value of satisfaction, κ r , is picked out to be provisioned for one request, r ∈ R. Therefore, the total time required to process a request, r ∈ R, on BBU, b ∈ B, is enumerated by the ratio of total data to be processed of a request, d r , to the processing capacity of the BBU η b as: Algorithm 1 First Fit Satisfaction Algorithm for Maximizing User Satisfaction INPUT: Processing Capacity of all BBUs, η b , ∀b ∈ B, priority of each incoming request, w r , on a scheduling interval and QoS of the incoming requests.
1: Sort the incoming requests in decreasing order according to the value of w r 2: for each incoming request r ∈ R in the sorted array do 3: κ r = 0 and Υ b = 0 4: for each available BBU b ∈ B in the BBU pool do 5: Calculate ζ b,r using Equation (14) 6: Calculate satisfaction of running a request on BBU b 7: if κ r ≤ κ b,r then 9: κ r = κ b,r 10: end if 12: end for 13: Select BBU Υ b for processing the request r ∈ R 14: end for In this FFS algorithm, the BBU is selected focusing on maximizing the value of user satisfaction or user Quality-of-Experience (QoE). It searches for that BBU which can process earlier than the QoS requirement of a particular request. The BBU which provides the maximum distance from the value of QoS of a request, q r to the value of processing time, ζ r b , is selected for a request. A higher value of this distance assures higher satisfaction.

Profit Optimization Under a Satisfaction Target
This strategy is for service providers who aim to maximize profit while maintaining a minimal satisfaction level that is the QoS of the request, q r . Among all incoming requests from the RRHS to a BBU pool, that request will be scheduled or executed on the BBU b ∈ B that ensures the maximum profit by using the computational resources available to the service provider by maintaining a minimum user satisfaction level.
In Algorithm 2, the incoming requests are sorted according to their priorities. After that, each request is assigned to the BBU, focusing on minimizing the cost and maximizing the profit. For that, to reduce the BBU rental cost in the current scheduling interval, this algorithm calculates the remaining time of a BBU to become free after processing the request which was scheduled on the most recent scheduling interval. So, the total time to get a response from a BBU b ∈ B after executing a currently scheduled request, r ∈ R, on that BBU is enumerated as the time required by BBU to become free plus the execution time to execute that request. The time required a BBU to become free after finishing the execution of a running request is calculated as: where t a r−1 denotes the time when the currently running request arrives, ζ (r−1),b is the required time to process the request, and t c represents the current time. If a BBU, b ∈ B, currently does not process any request, then the value of t b f is considered to be 0. As a consequence, the total time to get a response from a BBU is represented as:ζ where d r is the request data to be processed, and η b is the processing capacity of the BBU b ∈ B. If the value ofζ b,r is less than or equal to the corresponding requests QoS requirement, qos r , then the request r ∈ R is assigned to BBU b ∈ B rather than renting another BBU. As a result, the BBU renting cost of BBU for this request r ∈ R, µ r,b becomes 0. After that, using Equation (4), the profit gain from a particular request for executing on a BBU b ∈ B is calculated. Therefore, the request providing highest profit to be executed on BBU b ∈ B is selected to be provisioned. Calculate t b f andζ r,b using Equation (15) and Equation (16 Calculate the profit ρ r,b using Equation (4) 13: if ρ r,b ≥ ρ r then 14: ρ r = ρ r,b 15: end if 17: end for 18: Select request r ∈ R to be executed on the BBU, Υ b 19: end for The complexities of the proposed algorithms are quite straightforward. Firstly, in order to sort the set of incoming resource requests R in descending order in line 2 of both Algorithms 1 and 2, we use a merge sort algorithm which has the worst-case complexity of O(|R| log |R|). The statements in lines 5-12 in Algorithm 1 and lines 5-14 in Algorithm 2 are enclosed in a loop that iterates |B| times. The rest of the statements have constant unit time complexities. Therefore, the worst-case computational complexity of the algorithms is O(|R| B ).

Performance Evaluation
In this section, the efficacy of our proposed scheme is validated through simulation. The performance of the proposed QEPRA and First Fit Satisfaction (FFS) and First Fit Profit (FFP) algorithms are compared with some of the existing schemes in the literature. Here, the proposed system is assimilated with the NvG (news vendor game-based resource allocation) scheme [9] and QoSM (Quality-of-Service-aware dynamic BBU-RRH mapping) methodology [6].

Simulation Environment
The simulation environment of the Quality-of-Experience (QoE) and Profit-aware Resource Allocation framework in CRAN was designed using the CloudSimSDN [11] simulation toolkit. The simulated CRAN environment consists of one BBU pool with five BBUs. The computation speeds of the BBUs vary from 20 to 50 MHz. Through the simulation environment, it has also been imaged that 10 RRHs are geographically distributed to interact with end users directly and that they are supported by the BBUs of the BBU pool. The arrival pattern of the computational resource requests from the RRHs to the virtualized BBU pool is Poisson distributed, and the size of each request ranges from 20 to 600 KB. Heterogeneous attributes (d r , q r and n r ) associated with each request may have random values. Here, a random waypoint mobility model [24] is envisaged in which users with mobile wireless devices move independently to a randomly chosen destination with a random speed. The received signal strength or the RSSI values of the user devices vary due to their mobility pattern. The simulation is run for 500 s. Each data point in the graph corresponds to the mathematical average of the results from 50 simulation runs. In order to emulate a real CRAN system environment and for a fair comparison, application types, attributes, and system parameters are carefully selected for a realistic simulation scenario [25][26][27]. Table 3 shows the system parametric values used in our simulation.

Performance Matrices
The following performance matrices are evaluated for comparing our proposed QEPRA, FFS, and FFP algorithms along with two existing scheduling approaches (NvG, QoSM) in the literature.

Quality-of-Experience
Quality-of-Experience (QoE) is a measure of the overall level of user satisfaction, which can be increased by enhancing the gap between maximum allowable time to get a response (i.e., QoS) and the response time for a request [18]. We measured the average QoE for all requests, R, arriving during the simulation period as follows: where r is the waiting time in the queue and ζ r,b represents the required time to process a request, r, on a BBU, b. The greater the value of κ, the better is the capability of the system to maximize user QoE.

Percentage of Requests Satisfying QoS
The percentage of requests satisfying QoS is calculated as the ratio of the successfully completed services to the total number of arrived requests. A higher value indicates that a higher number of service requests have been processed by the system satisfying the QoS requirements, hence higher user satisfaction.q where R e denotes the number of QoS satisfied requests and R a is the total number of requests.

Average Waiting Time
The waiting time of a request is the time count from its arrival to the request queue until it is assigned to a BBU in the BBU pool. The smaller the average waiting time of the incoming requests, the more quickly users will get a response from the system, which indicates greater user satisfaction. Let a r and l r denote the arrival time to the queue and leaving time from the queue of a request, respectively. The average waiting time of each request is defined as: where R is the set of all requests arrived during the whole simulation period. A lower r value corresponds to better system performance.

Service Provider Profit
The profit gained by the service provider is calculated by the difference between the revenue gained and cost required to execute a request as in Equation (4), and then the average is taken for all requests arrived during the simulation period.
The average profit gained by the service provider for each request can be calculated as: where ρ r,b represents the profit of processing a request gained by the service provider, and R is the total number of assigned requests. The higher the value of ρ r,b , the higher the profit obtained by the service provider for each request.

Results and Discussion
Assessment results attained by implementing the aforementioned simulation framework are described in this subsection. Here, the results and discussion are presented according to the impact of varying the number of requests, as well as the QoS requirements of requests.
The percentage of successfully executed service requests in terms of maintaining QoS level is enumerated here for varying number of arrived requests, and is delineated in Figure 4a. However, the graphs of Figure 4a illustrate that the percentage of successfully executed requests satisfying QoS level sharply declines in all of the studied resource allocation strategies with increasing arrived requests. The growing number of requests augments the waiting time for the requests, which imposes many of the service requests to overstep the maximum allowable delay. However, the rate of decrease is significantly less in the FFS algorithm, as this is especially designed for maximization of user Quality-of-Experience (QoE). In FFS, one BBU which can execute a request with the fastest processing time is allocated for a request. On the other hand, FFP targets on maximization of profit while maintaining the minimum QoS level. As in QEPRA, a multi-objective optimization problem is formulated, the proposed FFS algorithm outperforms QEPRA and FFP. Yet, the QEPRA provides a better result compared to the NvG and QoSM protocols because the proposed QEPRA technique prioritizes the scheduling of requests following their QoS constraints. The rationality for better performance of QEPRA compared to the other two reviewed schemes from the literature can be described by a scenario as, suppose that in the system three requests are being executed using the total system resources. Then, two other requests come one after another. The first request contains flexible QoS requirements, while the second is stringent in terms of QoS. As there is no priority based on the QoS requirements in the NvG approach, generally at first the system will adjust the total system resources for the first application request. After adjusting the request, it may find that the later request cannot be sent for execution since the required adjustment to allocate resources for that request cannot be made in the present system condition. In this circumstance, the QoS of the later service request will be violated. As the number of requests increases in the system, the rate of this type of QoS violation will increase. In this case, our proposed execution scheduler works significantly well, since it prioritizes the newly arrived requests based on their QoS requirements. Moreover, as the number of requests increases in the system, the genetic solution in QoSM consumes much more time than the proposed QEPRA and affects the QoS requirement of the service request. In addition, QEPRA makes a tradeoff between profit and QoE and FFP maintains minimum QoS level. On the other hand, FFS is particularly designed for QoE maximization and thus FFS provides the best result here.

Impacts of a Varying Number of Incoming Requests
The impacts of varying the number of incoming requests of the incoming service requests on the performance of our proposed algorithms are manifested in Figure 4.
The graphs of Figure 4b illustrate that for all the approaches, the average waiting time of the requests will increase as the number of service requests increases. However, for the genetic-based approach (QoSM), it is quite high since the algorithm itself contributes to the waiting time of the requests. On the other hand, to adjust the resources for incoming requests in the news vendor game theory-based approach (NvG), some additional waiting time is observed by each request. Although our proposed approaches schedule the request in priority basis, it also ensures higher probability of the deferred requests to be scheduled in the subsequent scheduling intervals. Due to this consideration, average waiting of the requests in this approach is less compared to the existing works. Moreover, as in our proposed FFP algorithm, minimum QoS requirement is maintained, and waiting time is also reduced. As the FFS algorithm focuses on maximizing the time gap between the maximum allowable delay to get a response and summation of waiting time and processing time, among our proposed QEPRA, FFS, and FFP algorithms, FFS provides the best result in terms of reducing the average waiting time, as shown in Figure 4b.
The performance results of the proposed system in terms of Quality-of-Experience (QoE) are depicted in the graphs of Figure 4c. Our approaches execute the requests according to the priority of the requests which is based on their requirements. As a result, most of the requests get their results much before their deadline, which is eventually reflected in their QoE. As the FFS algorithm is especially designed for QoE maximization, it outperforms the other proposed algorithms as well as the existing works, as illustrated in Figure 4c.
A comparative study of the service provider profit for a varying number of arrived requests is provided in Figure 4d. In our approaches, on a scheduling interval, when an arrived request with higher scheduling priority executes in the system, the corresponding price of the service is also maximized. Our proposed FFP algorithm targets the maximization of service provider profit by reducing the resource rental cost. The per-unit profit gain also remains increasing as the number of incoming requests increases. QEPRA makes a tradeoff between profit and QoE; on the other hand, in the FFS algorithm, minimum per-unit profit is maintained and so this algorithm provides a better result than the others, except FFP. On the other hand, in the news vendor game-based approach, the scope of maximizing profit will be in its bargaining phase when the total service request is larger than the system capacity. As a result, the profit gain remains static for a certain number of requests in NvG. As QoSM does not address the service provider profit, the average per-unit profit gain always remains constant for the execution of an increasing number of requests.

Impacts of Varying Average QoS Requirement per Request
The impacts of average QoS requirement of the incoming service requests on the performance of our proposed algorithms are manifested in Figure 5. As the average QoS requirements of the incoming requests increases, the maximum allowable delay to get the first response time becomes flexible. Hence, the QoS satisfaction percentage is increased in all approaches, as depicted in Figure 5a. However, as the FFS algorithm is specially designed for QoE maximization, it implicitly provides the best result among the studied approaches. Moreover, as it relaxes the time boundary of performing baseband processing, there is a large possibility to execute within a minimal time regarding its QoS requirement. As a result, the QoE also keeps rising in all graphs in Figure 5b for our proposed algorithms as well as to the studied works. In addition, as the increase of average timeline QoS requirement offers a higher number of requests processing successfully, the service provider's profit gain also increases, as in Figure 5c.
Our in-depth look into the simulation trace file reveals that the considered simulation matrices give better performance value for our proposed system compared to the other two reviewed schemes. However, as the BBU pool has limited computational resources, the performance of the QEPRA as well as FFS and FFP decline with the increasing number of requests, which opens a new window for further developments.

Conclusions
In this work, a multi-objective non linear programming solution to the Quality-of-Experience (QoE) and Profit-aware Resource Allocation problem has been developed which makes a trade off between user QoE and service provider profit. The incoming requests have been prioritized based on their required data rates, QoS, and connectivity. Then, an optimal resource scheduling is developed. The dynamic determination of scheduling interval has helped to increase the performance significantly. The greedy FFP and FFS algorithms are proven to be computationally viable and has offered results near to optimal solution. The simulation results depict the effectiveness of our proposed system in terms of QoE, QoS, and profit margin. In the future, we would like to extend our simulation environment with an extensive performance analysis in contrast to the state-of-the-art works.