QoS-aware Resource Allocation for Live Streaming in Edge-Clouds Aided HetNets Using Stochastic Network Calculus

Mobile edge computing (MEC) is a key feature of next generation mobile networks aimed at providing a variety of services for different applications by performing related processing tasks closer to the user equipment. Edge clouds can be installed as an interface between the cellular networks and the core to provide the required services based on the known concept of the MEC networks. Nonetheless, the problem of green networking will be of great importance in such networks. This paper presents an energy-efficient stochastic network calculus (SNC) framework to control MEC data flows. In accordance with the entrance processes of different QoS-class data flows, closed-form problems were formulated to determine the correlation between resource utilization and the violation probability of each data flow. Also, in the access layer, this paper proposes a dynamic user association and resource allocation approach which maximizes the overall energy efficiency of cache-enabled cellular networks in addition to provide the superior fairness level for UEs. In this energy-cooperative approach, the power can be shared among the cells using a grid network. This model also performs routing in the multi-hop backhaul to efficiently use the existing infrastructure of small cell networks for simultaneous dual-hop transmissions. The simulation results exhibit that the proposed approach can effectively increase the user throughput and the total power efficiency while guaranteeing the acceptable fairness level for uniform and hotspot UE distribution models. It also proved that the energy utilization index and the system data rate can be significantly improved.


II. METHODS/EXPERIMENTAL
The system model is a cache-enabled cooperative heterogeneous network including a macro base station (MBS) and numerous small cells, so that each base station is empowered with caching capability. Indicators U and B represent the set of UEs and the set of base stations respectively. and indicate respectively the cache size of each small cell and macro cell. In this scenario, the energy of each base station is provided by both renewable resources and smart grids in which base stations can share their power through a grid network. Based on this scenario, the configuration of the caching-enabled HetNet exhibited in Fig. 1.

A. Caching Strategy
In this caching strategy, it's assumed that there is a limited number of data frame demonstrated as ℱ = {ℱ 1 , ℱ 2 , … , ℱ , … , ℱ }, in which, ℱ and F denote the -th data frame and the number of frames respectively. Each data frame has specific size and the probability that a UE requests data frame is represented as In this paper we applied the stochastic caching strategy. The probability that cell caches a specific data frame f is 0 ≤ ≤ 1 in which shows the cache size of cell . Note that { } for cell should meet the following constraint [12]: If the serving cell is macro cell, we have = , and for small cells = .

B. Energy Model
The main energy resources for the base stations are renewable energy and smart-grid. In each time slot, the transmission power of cell denoted as ( ∈ ), the smart-grid power used by cell is , and the power harvested by cell is expressed by . In the cooperation mode, the transferred power from base station to base station ′ shown by ′ , in which ∈ [0,1] represents the power-transfer efficiency index among cells. Hence, (1 − ) indicates the power loss percentage during the power sharing process. The transmission power at the -th base station must meet the following constraint.
Based on this formulation, the total smart-grid power utilization is directly dependent on the harvested power, shared power and the transmission power of base stations.

C. Problem Formulation
In order to guarantee fairness, we considered the proportionally throughput balancing among users [13] in which the sum of the logarithmic utilities over all user equipment should be considered to decrease the data rate unbalancing. In this formulation ( ∈ ℬ, j ∈ ) demonstrates the binary user association index, for example, if = 1 user is associated to base station and otherwise it will be equal to zero. So, = ∑ j∈ denotes the number of UEs served by cell , and (∑ =1 ) shows the probability that associated users are able to be served by cell which the base station caches their requested data frames. If = 1 , the utility of the -th UE is expressed as = log( ) with the throughput . Here, the throughput (in bits/s) of the -th UE is obtainable as.
The signal to interference-noise ratio is obtained as (5) = ℎ ∑ ′ ℎ ′ + 2 ′ ∈ℬ, ′ ≠ (5) In which, the bandwidth is shown as , ℎ demonstrated the channel gain between user and the associated base station , ℎ ′ exhibits the interfering channel gain between user and base station ′ , and 2 indicates the noise power. We can claim that the performance level is related to carrier quality and hit probability, which the hit probability is a very effective parameter on the throughput in the energy cooperative HetNets, as is shown by (4). The target is to maximize the system performance while decreasing the total grid power utilization. The goal function can be formulated as , indicates a weighted variable as energy efficiency index, and indicates the minimum signal to noise/interference needed by a user equipment. Also, C1 represents the throughput constraints; C2 and C6 guarantee that a user is not able to be connected to multiple base stations at the same time; C3 is relevant to the power utilization limitation; C4 and C5 represent stochastic caching rules, which were applied in (2); constraint C7 mentions that the applied power and the shared power should be positive values, and C8 indicates the upper bound of allowed transmit power. Note that in this scenario, the multi-hop backhauling configuration of the mobile edge computing HetNet demonstrated in Figure 2.

III. RESOURCE ALLOCATION AND USER ASSOCIATION IN CACHE-ENABLED HETNETs
In this part we present our resource allocation and user association approach which can be considered as a solution for problem P1. Considering = ∑ j∈ , this problem can be expressed as P2: max , , , ,

A. User association and Content Caching
Problem P2 which is a − , − problem, can be defined as a in which a subgradient method has been applied to find its optimal solution. Lemma 1 can be applied in order to find the optimal solution for subproblem P2.1, Considering { , , }, the user association problem is expressed as the following: Proof 1: as it is obvious, the goal of solving subproblem P2.1 is maximizing the probability function ∑ =1 , regardless of the user association pattern. In accordance with the constraints 4 and 5, the requested payload can be divided to categories ℱ ( = 1, … , ) at base station , in which the request probability ℱ will be higher compared to ℱ +1 . Hence, Therefore, considering formulation (9), Lemma 1 is proved. Which based on the proved Lemma, we can express problem P2.1 as We can also represent problem P2.1 as a combination of some sub-problems and to find the optimal solution, it's better to work on its dual problem. Based on the Lagrange concepts, the goal function of P2.1 can be formulated as the following. . . 2, 6.
Considering and as the dual variables, the optimal value for the goal function will be obviously achieved where * = arg (log( ) + − ). With respect to , the 2 ℎ degree derivative of the Because ∑ ( ) =1 ≤ 1, consequently, 2 ℒ 2 is equal to a negative value. This fact represents that the goal function will be a concave function of . Considering 2 ℒ 2 equal to zero, the optimal value of can be expressed as * * = − (−2 (∑ ( ) =1 In this equation, ( ) is the Lambert-W function demonstrating the solution of = . According to (14), we can claim that the optimal solution ( * , * ) is not obtainable via differentiable function of ( , ). Hence, we have to apply the sub gradient method as the following In this formulation, [ ] + = max{ , 0}, ( ) denotes the step size, and represents the number of iterations. It should be noted that ( ) and ( ) are updated during each iteration based on equations (14) and (16).
In accordance with the presented analysis, this paper proposes a decentralized cache-enabled user association approach, its functionality has been exhibited through Algorithm 1. The convergence of this algorithm can also be guaranteed because the proposed user association algorithm meets all of the required convergence constraints introduced in [14]. Each base station computes ( ) based on (15) 5: Lemma 1 is utilized to estimate the hit probability 6: Each base station takes the updated user association .

B. Resource Allocation
In this section the focus is placed on resource allocation and effective power optimization. After presentation of the proposed user association algorithm, { , } was obtained with utilizing Algorithm 1. The second main problem, P2, is shown as the following:  Subproblem P2.2 is NP-hard with respect to { }. We applied a sub gradient method in order to obtain the optimal value for this problem. So, at the first stage, considering and , we try to optimize the power allocation procedure with finding the optimal value for . Here, the sub problem of P2.2-1 is defined as the following. It should be noted that obtaining the general optimal solution for subproblem 2.2-1 will be very complicated. Hence, a tractable suboptimal framework based on the Newton-Raphson's approach was suggested. It has been proven that the achieved solution is not only efficient, but also quickly converged [15]. As the first stage, with respect to the throughput constraint 1 , the dual function of the main subproblem 2.2-1 is formulated as (21) } was extracted based on constraints 3 and 8 . It should be emphasized that the optimal is achievable utilizing the introduced iterative sub-gradient method according to (17). In continuation, this paper proposes a resource allocation and power optimization solution considering as a fixed index.
In the problem formulation, ( ) illustrates the goal function of subproblem P 2.2-1. The 1 and 2 degrees of derivatives of function ( ) with respect of are obtained as (22) and (23) respectively.
In order to guarantee achieving the optimal solution, we utilized the customized form of the Newton-Raphson's method as ∆ = ( ) / | 2 ( ) 2 |. Therefore, the power optimization formulation will be updated as the following.
In this formulation, ( ) represents the size of each stage that can be calculated via backtracking constrained minimization [16]. Index ϱ denotes the iteration number, and the optimal value for the power parameter P i * will be achieved after the algorithm's convergence in the last round of iterations.
After achieving the solution for subproblem P2.2-1, the pair of (ε, G) will also be renewed via solving the following linear program.
CVX introduced in [17] as a linear programming method for solving iterative problems like 2.2−2.
Such convex-based tools can also be applied to find the optimal solution for the main problem 2.2.

C. Joint Power Allocation and User Association
According to the described framework, an effective joint user association and power optimization approach has been developed to achieve the network's optimal utility in addition to minimize the system's total power consumption, which is summarized in Algorithm 2. Here it should be emphasized that the convergence of the algorithm is guaranteed as long as we have a distinct goal function relevant to both the user association and the power optimization simultaneously, in each iteration [18].

IV. DATA-FLOW CONTROL IN MOBILE EDGE COMPUTING HETNETs: USING SNC
In Section III we proposed an energy efficient joint user association & resource allocation algorithm to significantly enhance the system throughput and the total power efficiency of the access network. But, in order to guarantee SLA for content-based services, in the second stage of the paper we suggested an effective content-based approach to improve the end-to-end performance of QoS-aware data-flows in mobile edge computing platforms with random routing. Update based on (24). Continue to convergence. b) Update using dual subgradient approach Continue to convergence. 7: According to the updated power index , Update and ℰ ′ through finding the optimal solution for subproblem . − using convex tools CVX. 8: if 2.2-2 converges 9: Return the best power optimization strategy ( * , * , * , * , * ) 10: break 11: elseif 12: → + 1 13: end if 14: end if As exhibited in Figure 3, the agents, that are responsible for connection among the edge clouds, include smart components like edge computing servers. In this model, some of the agents relevant to a distinct route can be applied for multiple streams e.g. agent 1 can be decidated to both the throughflow and interference-flow (a). Although, agents 4 and 7 can be responsible for DPS of through-flow and interference-flow (b). In this scenario we considered 3 types of data-flow each of which is corresponding to a specific QoS-class based on its degree of importance: ( 3)] with decreasing priority, respectively. We applied a dynamic priority scheduling approach to effectively schedule various QoS-aware data-flows. For example, if we face to a Q1 service (the high priority) demand, when the agent is busy with a Q2 or Q3 data-flow processing, the agent should rapidly suspend the lower priority services and supply the service processing for the Q1 service. It should be noted that services with the identical priority will be processed based on the First-In-First-Out scheduling procedure. The KPI evaluation of mobile edge computing services can be an effective criterion for the network power utility and routing strategies. The current paper proposes an approach for the point-to-point performance analysis of data streams in mobile edge computing networks in accordance with the SNC concepts. Taking into account the random routing in mobile edge computing systems, probability indices were embedded in the proposed assessment framework to consider the randomness characteristics in the evaluation model. Three practical communication scenarios were utilized to analyze the point-to-point functionality of the network data streams. The exclusive priority-scheduling method was employed to analyze these various types of data streams. The data entrance processes of these three streams were taken into account to assess the interference impact on their key performance indicators, service capacity of every node, and data packet transfer model in order to illustrate the correlation between latency, upper bounds of backlogs (UBB), and violation probability (VP) of data streams' QoS indices. According to the analyses and the simulation results, the number of intermediate hops and probability parameters of the interference affected the backlog performance and data stream's latency.

A. System Model
This subsection proposes a hybrid dualhop/multihop scheme for the mobile edge computing network with probability factors and random routing. Figure 4 demonstrates the network data-streaming pattern. Different data streams reach the edge clouds through macro cells or near small cells. The clouds are also interconnected via agents. Moreover, edge clouds are connected to the core cloud.
The data streams of three type of services were submitted by various network entities, including UEs, routers, access points, etc. In this scenario, every network entity is known as a network node. The communication path between two nodes might include one hop (singlehop) or multiple hops (multihop). Each node may have several adjacent nodes which can be employed to create a link if they are on the transmission route. The through-flow represents the intended data transmitted through a determined route and interference-flow indicates other shared streams which apply this route. In addition, the services supplied by the network nodes in that route are shared, but it should be noted that the interference flow has a harmful impact on through-flow performance. With the advent of software-defined networking in mobile edge computing, every pair of source and destination nodes can use multiple paths to communicate. Every through-flow selects a random path to the receiver node. In other words, every hop is selected randomly.
In actual scenarios, there are several couples of transmitters/receivers and all of these couples utilize several communication routes which can be selected randomly. The amount of required data for various services of every agent is also random. The interference-flow has no constant effect on the through-flow performance. We considere several major interference scenarios in this paper.

B. Mathematical Modeling of Data-Flows and Service Processes
Based on the proposed framework, stochastic network calculus is employed to develop a mathematical model to analyze the data entrance and service processes in the MEC System. The agent nodes were recognized as service components and the route chosen by the through-flow is configured as service strings in the system's mathematical framework. In this scenario, one of the three data types is regarded as the through-flow, and the other two types are considered as the interference-flow. The performance of every data type is assessed, considering each of them as a through-flow in a specific order. For instance, voice over IP was considered the through-flow in Figure 4, which demonstrates the data flows and network interference.
The moment-generating function was also employed to model the packet transfer state to assess the relevance between end-to-end latency, backlog upper bounds, and violation probability of SLA constraints of different applications in mobile edge computing networks with random routing. These evaluations were done in accordance with the uncomplicated consecutive network topologies demonstrated in Figure 3. As the streaming model illustrated in Figure 4, the method was employed to analyze the through-flow performance is defined as follows: If the Q1-stream is through-flow, the cumulative traffic arriving into the system during [ , ] is denoted as 1 ( , ) in which the arrival process of the Q1 stream has Poisson distribution. We indicated the average arrival rate of the Q1-flow as 1 . Based on [19], the moment generating function of 1 ( , ) can be expressed as: Now, the Q2-stream is through-flow with the entrance rate ( Q2 ). If we consider it fixed, we denote it by . The cumulative arrival traffic during [ , ] is expressed as 2 ( , ). Also, the moment generating function of 2 ( , ) is formulated as below.
Because the service type relevant to the Q3 data stream is non-bursty, we can consider Poisson distribution for the flow process. Subsequently, if the Q3-flow is through-flow, the cumulative arrival traffic during [ , ] will be denoted by 3 ( , ) . Furthermore, the average arrival rate is denoted as 3 . The moment generating function of 3 ( , ) is obtained as (28): To interference analysis of flow process, the probability parameter set of R-flow on j can be defined as ( ℛ( ) , ℛ( ) , ℛ( ) ), where ℛ -flow is interference-flow. So, if Q1, Q2, or Q3 flows are interference-flow, their probability parameter sets will be indicated as ( 1 , 1 , 1 ), ( 2 , 2 , 2 ), and ( 3 , 3 , 3 ), respectively. When Q1-flow is considered as the through-flow, its functionality isn't affected by Q2 and Q3 flows, because it has the topmost priority.
(29) Theorem 1. If the Q2 data stream is through-flow, the cumulative traffic which interferes with its performance on j during [ , ] is obtained as: (30) Proof: The data-flow Q2 has higher importance than Q3 and less than Q1-flow, so its functionality may only be influenced by Q1 stream. The mathematical framework was proposed to analyse the accumulative volume of Q1 stream which should be considered on j during [ , ] .
• Case 1: For node 1: It should be noted that the constraint lim →∞ ( ) ≥ lim →∞ ( ) should be met to guarantee the robustness of the network. The total stream of the interference-flow and the service process meet the formula ⊗ ≤ ⋀ [20]. Hence, (32) can be expressed as: Theorem 2. If we consider the Q3 stream as the through-flow, the cumulative traffic on node j, is obtained via (36). (36) Proof: When the Q3 data stream is through-flow, the Q1 and Q2 data streams concurrently play an interference role for the quality of the Q3-flow. In order to study the interference effect of Q1-flow on the functionality of Q2-flow, the cumulative traffic of Q1 data stream should be processed on relay j during [ , ] which is shown as (35). Likewise, the cumulative traffic of Q2 data stream required to be processed on j during [ , ] can be calculated as: Hence, based on the superposition property, the cumulative traffic that affects the utility of Q3-flow will be achievable as the following. The cumulative service provided by during [s, t] is demonstrated by ( , ). Note that the service data rate of all agents is considered to be the same for all three types of streams, which is denoted by a fixed value 'C'. Based on [21], the service process of node j will be as the following. (40) Now, the service process of the three QoS-class data streams can be analyzed. Each data-flow is constant as through-flow. • Q1-flow: When the Q1 data stream is through-flow with the best priority, other data-flows cannot affect this service. The service process of this data flow on relay j can be obtained by the following: And its moment generating function is shown as: • Q2-flow: suppose that the Q2-flow is the through-flow. In this condition, Q3 data flow cannot affect this service but it can be affected by Q1 data stream. Based on this rule, the service process of Q2 data stream on node j is obtained as (43): If Q1-flow is an interference-flow, the entrance rate of Q1 data stream at node j can be calculated as ̃1 . Based on (27), the MGF of ̃1 ( , ) is equal to: Based on (29) and (44), we obtained the moment generating function of 2 ( , ), Hence, the moment generating function of (42) can be converted to the following.
Likewise, the Q3 data stream with the worst priority is affected by the Q1 and Q2 data streams. If the Q3-flow is the through-flow, the service process will be formulated as the following: If we consider Q2-flow as interference-flow, the arrival rate ̃2 at node is fixed and it can be indicated by ̃ . Based on (28), we can extract the Moment Generating Function of ̃2 ( , ) as (48): According to (37)  (51)

C. Data-Flow Control Performance: Network KPI
To evaluate the data-flow performance of this model, we considered some key performance indicators such as delay upper bound (DUB) and backlog upper bounds (BUB) for all of the defined data streams with different QoS requirements. In order to exhibit the relationship between these KPIs, we derived the closed-form formulation of services in accordance with their arrivals and processes. Theorem 3. If we consider ℜ as the through-flow, the total traffic of this data stream during [0, t] is indicated as ℜ ( ) , and the overall service provided by the system is denoted by ℜ ( ) . Furthermore, the total traffic of the ℜ stream going out from the network during [0, t] is equal to ℜ * ( ). So, If we define as the number of network entities on the service chain, the relationship between the DUB and the VP meets the following formulation. In accordance with [22], the moment generating function can be converted to deconvolution form as Where ∅ ℜ () = 1 ≤ ≤ {( ̅ ℜ (, , )) 1 − } Hence, the relationship between the DUB and the VP of the three data streams with different QoSclass requirements are expressed as follows: • Q1-flow: The Q1-data stream has the best priority compared to the other two data-flows.
• Q2-flow: The priority of Q2-data stream is more than Q3-flow and lower than Q1-flow.
• Q3-flow: as mentioned before, the priority of Q3-data stream is lower than two other data flows.  Based on the Chernoff theory, we can conclude that the relationship between the BUB and VP is equal to: (58) Subsequently, relationship between the BUB and VP of the three data streams is formulated as below.

V. RESULTS
In this section the simulation scenarios are presented and the results are interpreted to evaluate the performance of the proposed algorithms and to exhibit the effectiveness of different optimization approaches. In this regard, some of the main key performance indicators like total energy efficiency, network utilization, network data rate and fairness index are assessed under different scenarios.

A. Simulation Scenarios
The simulation scenarios were implemented in Python so that the optimal solution can be achieved by applying CPLEX as a powerful flexible optimizer for high-performance mathematical programming. After obtaining the optimal solution, the deep-learning outputs (decision variables) determine UE association, small cell activity pattern (which small cells are required to turn on or off), and the backhaul routing mechanism for every UE demand, as well as other deployment items.
In the simulation scenarios, the macro base station was placed in the center of the macro cell, the radius of which was set at 300 m, and the radius of every small cell was 15 m. The total network bandwidth was considered 40 MHz, so the operational frequency was set to 3.5 GHz, and the system included 30 independent carriers. The small cells were also random distributed within the macro cell range. Table 1 illustrates the simulation characteristics in which all of the parameters are based on 3GPP standard introduced in [23]. The user throughput threshold ( ℎ ℎ ) was defined considering (0) = , whereas (0) = 0 and = 1 were considered for ease of use. Although ℎ ℎ can be relevant to the SC positions and user distribution, it is applied only to test the sensitivity of the proposed algorithm to the UE throughput limitations. The threshold can also be adjusted based on the circumstances.
To verify the proposed user association and power optimization algorithms in terms of EE, the simulations were done based on a HetNet layout comprising numerous small cells, one macro base station, and 150 pieces of user equipment in addition to several backhaul links (for connecting baseband unit (BBU) and the core network) in a line-of-sight communications. The length of every backhaul link ranges between 50 m and 350 m. The small cells were scattered in a 10×10 grid with a 250-m inter-site distance. In this model, small cells were able to apply multiple-orthogonal carriers to avoid cross-tier interference, although this presumption cannot be very precise considering the limited number of existing carriers in a dense environment with numerous small cells. The frequencyreuse technique will be analyzed in future works, in which the cross-tier interference among small cells can be calculated based on the on/off status of the cells. The user equipment are distributed based on two distinct distribution patterns within the macro cell coverage area, 1) uniform (U) and 2) hotpot (Hs) [24], in which 70% of the user equipment are concentrated within a 100-m radius surrounding the two random small cells. In addition, regardless of the distribution pattern, 20 random drops are assumed for each scenario, without any severe blockage probability. The two user distribution patterns were deployed as:  Hotspot (Hs) user distribution: The user equipment are distributed randomly in a circular area within a 10-30 m radius of a small cell and a 30-50 m radius of the macro base station.  Random (Rn) user distribution: The user equipment are scattered randomly within the macro cell coverage area. In this paper, the channel gain included line-of-sight pathloss, log-normal shadowing, and fast Rayleigh fading. The propagation model is crosswave which is compatible with a dense urban profile. The Rayleigh fading model is appropriate for cellular radio propagation due to the existence of many reflection points of multipath connections. The channel gain is considered as an independent variable with unit-mean and exponential distribution. The required users' data rate ranged between 2-25 MB/s, whereas the bandwidth of every millimeter-wave backhaul link is 3.  Table 1 shows the rest of the simulation variables. The outcomes show the average results of less than 1000 independent simulations. The performance indices used in these analyses include the total energy efficiency, network utilization, system data rate and fairness index. In addition, all of the assessment indexes have been analyzed under the maximum-transmission-power conditions. The proposed approach called "Energy Efficient Dynamic Flow control for User association & Power optimization (EEFUP)" was compared with some other energy efficient flow control and resource optimization algorithms which we briefly introduce them as the following: Table 1. Main simulation parameters Random Allocation (RA)-which is a discrete resource allocation scheme without any optimality in which the resource allocation is done merely based on the received demands. Fixed Power Allocation (FPA)-in this scheme, all base stations equally share their maximum transmission power to all the associated user equipment and backhaul links and subsequently, each user equipment and backhaul link applies all the allocated resources. User Grouping and Fractional Transmit Power Control (UG-FTPC)-This algorithm acts upon user grouping and fractional MTP control. Based on the UG-FTPC scheme, the UEs are categorized as groups in accordance with their channel gains, and each UE can only share subchannels with the UEs which are not in the same group with it. In this power allocation scheme, more power can be assigned to the UEs with poor channel quality to guarantee fairness consideration [25]. Successive Codebook Ordering Assignment (SCOA)-to better evaluate the performance of our proposed algorithms, the functionality of EEFUP was also compared to SCOA. The hybrid power domain sparse code NOMA (PD-SCMA) that applies both power domain NOMA (PD-NOMA) and sparse code MA (SCMA) for an uplink hierarchical heterogeneous network. The functionality of SCOA is based on channel quality ordering criterion includes opportunistic MUE-SUE pairing (OMSP) for UE pairing (UP), and a QoS-aware resource allocation (QARA) for resource management (RM) [26]. Figure 5 illustrates the network's power efficiency performance with respect to the number of small cells by estimating the error variance at 0.05 for the channel gain with 5 to 25 users associated to each small cell and 10 to 50 small cells per macro cell. The upper bound of power for every small base station is equal to 23 dB/mWatt. Accordingly, the system's energy efficiency increases with the number of small cells and UEs. The system's energy efficiency is clearly 2.5 and 2 times greater for 50 small cells than the energy efficiency for 20 and 30 small cells, respectively. In other words, the larger the number of base stations and UEs are, the better the performance of the proposed algorithm will be. In this scenario, the power efficiency curve EEFUP has a steeper slope, and the power efficiency improvement is more evident. According to this figure, EEFUP outperformed other optimization algorithms, because SOCA and UG-FTPC failed to use completely all of the accessible cooperative resources.  In this scenario, the proposed algorithm was compared with three other algorithms, the first of which was SCOA algorithm which optimizes the transmission power and cell association bias to maximize total energy efficiency. The second algorithm is UG-FTPC in which the UEs are categorized as groups in accordance with their channel gains, and each UE can only share subchannels with the UEs which are not in the same group with it. This algorithm only optimizes the transmission power of small cells without considering throughput requirements. The Random Power Allocation as the third algorithm makes no change in transmission energy or cell association bias. According to the figure, EEFUP algorithm outperformed the other algorithms in terms of energy efficiency. Furthermore, when the maximum transmission power limitation is below 20 db/mmWatt, there is an upward trend in the EEFUP. In other words, users receive more energy with respect to the maximum transmission power limitation within this range; therefore, more users are handovered from macro cells to small cells, which leads to more spectrum resources and improves the network's sum rate. At the same time, power can be saved by changing the power transmission and turning off some small cells. It is evident that increasing the transmission power threshold doesn't have any positive effect on the total energy efficiency performance due to increased imposed interference to the network.  Figure 7 represents the throughput evaluation for different algorithms. According to the simulation results, the throughput of EEFUP increased until the transmission power threshold reached 25 db/mmWatt. It then remained constant, because the simultaneous optimization of carrier matching and transmission power kept the network interference low. In addition, more macro users can be allocated to small cells by optimizing the cell association bias; therefore, they will have wider spectra resources to utilize. Nevertheless, increasing the maximum transmission power (MTP) can intensify intercellular interference; as a result, the throughput remains constant. According to Figures 6 and 7, if the range of MTP is below 25 db/mmWatt, the throughput gain will be higher than the power consumption gain. This causes improvement of the energy efficiency performance. Nevertheless, when the upper bound of the transmission power exceeds 25 db/mmWatt, the throughput gain does not increase in parallel with the power consumption; therefore, the energy efficiency performance remains constant. In this scenario β = 0.85 and UE density is considered variable from 1 to 100 per small cell. As it is obvious, the average network utilization and the energy queue length increase with increasing the number of UEs. In this simulation, the average network utilization index of EEFUP is rapidly converged to its optimal value. Considering the same UE density, not only the average network utilization index of EEFUP is higher than RPA but also its average energy queue length is significantly less than RPA. This is relevant to the energy cooperation and effective power utilization capabilities of EEFUP compared to the Random Power Allocation. In this scenario we considered Jain fairness method [27] in which the user throughput should be monitored within 60 various time slots. According to the achieved results, EEFUP has higher fairness than UG-FTPC, which itself has higher fairness than the Successive Codebook Ordering Assignment (SCOA) method. Therefore, EEFUP can provide higher throughput for UEs located in poor coverage areas than the values obtained from UG-FTPC and SCOA methods. The reason is that the proposed approach with high levels of fairness in the system will probably allocate a considerable part of resources to the UEs whose channel status is worse than others. Accordingly, the UG-FTPC algorithm was fairer than SCOA, because most of the transmission energy is allocated to the cell-edge users whose channel statuses are worse than others. Based on UG-FTPC scheme, the UEs are categorized to groups in accordance with their channel gains, and each UE can only share subchannels with the UEs which are not in the same group with it. In this power allocation scheme, more power can be assigned to the UEs with poor channel quality to guarantee fairness consideration.

Funding
No specific funding has been provided for this paper.