Keywords

Introduction

Nowadays, mobile phones are becoming smarter with a wide variety of advanced applications that are hungry for bandwidth resources. Mobile phone industry is witnessing a rapid growth in both number of subscribers and traffic consumption per subscriber. Mobile subscribers are currently running multiple applications, simultaneously, on their smart phones. Network providers are moving from single service (e.g., Internet access) to multiple service offering (e.g., multimedia telephony, mobile-TV, etc.) [16]. In order to meet this strong demand for wireless resources by mobile users, more spectrum resources are needed [40]. However, due to the scarcity of the dedicated cellular spectrum, it is difficult to have a single frequency band fulfilling this demand. Therefore, the dedicated cellular frequency bands are not sufficient to satisfy demands of this industry, and sharing other frequency bands is necessary for pushing further advances in the mobile phone industry.

The National Broadband Plan (NBP) and the findings of the President’s Council of Advisors on Science and Technology (PCAST) spectrum study have recommended that underutilized federal spectrum be made available for secondary use [19, 36]. Furthermore, National Telecommunications and Information Administration (NTIA) findings revealed that not efficiently sharing radar band can result in large exclusion zones that reach up to tens of kilometers from the west and east coasts [34]. Hence, this excludes millions of mobile users living within tens of kilometers from the west and east coasts from aggregating additional secondary band to their existing primary spectrum. Additionally, the Federal Communications Commission (FCC) recommended the use of small cells, i.e., low-power wireless base stations, to operate in the 3.5 GHz radar band efficiently [21]. Hence, radar band can be shared by cellular networks similar to previous sharing examples, e.g., Wi-Fi, Bluetooth, wireless local area network (WLAN), etc. [20].

Making more spectrum available will certainly provide opportunities for mobile broadband capacity gains, but only if those resources can be aggregated efficiently with the existing commercial mobile system [35, 49, 50]. The efficient sharing and aggregation of federal spectrum with the existing cellular network is a challenging task. The challenges are both in hardware implementation and sharing and allocation of spectrum resource from multiple carriers with different bands. Hardware implementation challenges are in the need for multiple oscillators, multiple RF chains, more powerful signal processing, and longer battery life [5]. For sharing of spectrum resources from multiple base stations, e.g., macro cells and small cells, with multiple bands, e.g., dedicated cellular bands and secondary radar bands, a distributed resource allocation and aggregation algorithm is needed to optimally allocate these spectrum resources from different carriers operating using different frequency bands. Hence, the problem boils down to optimally allocating resources from different carriers with different frequency bands. In other words, it is a resource allocation optimization problem with carrier aggregation. This problem holds for sharing federal or commercial spectrum from various network providers as well [39].

The area of resource allocation optimization has received significant interest since the seminal network utility maximization problem presented in [28]. The network utility maximization problem allocates the resources among users based on bandwidth proportional fairness and using Lagrange multiplier methods of optimization theory. An iterative algorithm based on the dual problem has been proposed to solve the resource allocation optimization problem in [32]. The utility functions used in early research work, as in [28] and [32], are logarithmic utility functions that are good approximations of elastic Internet traffic for wired communication networks. Therefore, all utility functions are strictly concave functions, and hence the optimization problem is convex and converges to the global optimal solution.

Nowadays, there has been an increasing demand for wireless adaptive real-time applications. The utility functions that approximate real-time applications are non-concave functions. Applications with utility functions that are not strictly concave are presented in [41]. For example, voice-over-IP (VoIP) can be approximated as a step function where the utility percentage is zero below a certain rate threshold and is 100% above that threshold, while rate-adaptive applications, e.g., video streaming, have utility functions that can be approximated as a sigmoidal-like function according to [41]. The sigmoidal-like function is a convex function for rates below the curve inflection point and is a concave function for rates above that inflection point. Hence, there is an urgent need to provide an optimal sharing and allocation algorithm that is aware of different applications running on mobile devices. The developed algorithm has to allocate shared spectrum resources based on the characteristics of the applications running on users’ devices and the impact of that on users’ experience. In other words, an application-aware spectrum sharing solution is needed.

In this chapter, a single carrier resource allocation optimization problem that includes users with non-concave utility functions (i.e., sigmoidal-like functions) and users with strictly concave utility functions (i.e., logarithmic utility functions) is discussed first. The optimization problem is formulated to ensure application awareness and fairness when allocating available evolved Node B (eNodeB) resources to all users. A resource allocation algorithm is developed to give priority to real-time application users who have non-concave utility functions approximated by sigmoidal-like functions with different parameters for different real-time applications. The algorithm and corresponding optimization problem inherently guarantee by construction that all users are assigned a fraction of the resources. This satisfies the objective of cellular system to provide a minimum quality of service (QoS) for all the users subscribing for the mobile service.

This developed rate allocation algorithm converges to the optimal rate only when the maximum available rate by the eNodeB exceeds the mid-utilization point for all the real-time application users as shown in section “Convergence Analysis”. So, this algorithm does not converge for eNodeB with scarce bandwidth resources with respect to the number of users. This situation is a realistic situation during peak network traffic hours. Therefore, a modified algorithm to solve this problem is presented in section “A More Robust Algorithm”. The modified algorithm provides a more robust algorithm that converges for both scarce and abundant bandwidth resources. Additionally, this robust algorithm provides traffic-dependent pricing. This pricing approach can be utilized by network providers to incentivize users to use the mobile service during less congested times [25].

By extending the single carrier optimization problem, an application-aware spectrum sharing optimization problem is formulated. In this problem multiple spectrum bands are shared by solving for resource allocation of multiple carriers. This resource allocation optimization problem with joint carrier aggregation is casted into a convex optimization framework. Application awareness is augmented by usage of logarithmic and sigmoidal-like utility functions to represent delay-tolerant and real-time applications, respectively. This model supports both contiguous and noncontiguous carrier aggregation from one or more frequency bands. The corresponding distributed algorithm allocates resources from one or more carriers to provide the lowest resource prices for mobile users. In addition, this algorithm uses utility proportional fairness policy to be aware of the priority of real-time applications over delay-tolerant applications when allocating resources.

Related Work

A distributed power allocation algorithm for mobile cellular system is presented in [30]. The authors used non-concave sigmoidal-like utility functions. The proposed algorithm approximates the global optimal solution but could drop users to maximize the overall system utilities; therefore, it does not guarantee minimum QoS for all users. In [7, 46, 47], the authors presented novel algorithms for different scenarios of power allocation in cellular systems that are optimal based on the optimality proof in [24].

A weighted aggregation of elastic and inelastic utility functions in each user equipment (UE) is presented in [29]. These aggregated utility functions are then approximated to the nearest concave utility function from a set of functions using minimum mean-square error. That approximate utility function is used to solve the rate allocation problem using a modified version of distributed rate allocation algorithm presented in [28]. In [24], the authors showed that sigmoidal-like and logarithmic utility functions are suitable for representing real-time and delay-tolerant applications, respectively.

In [43] and [44], the authors presented a non-convex optimization formulation for the maximization of utility functions in wireless networks. They used both elastic and sigmoidal-like utility functions and proposed a distributed algorithm to solve it when the duality gap is zero. But the algorithm does not converge to the optimal solution for a positive duality gap. A fair allocation heuristic is included to ensure network stability which resulted in a high aggregated utility.

In [26], the authors proposed a utility max-min fairness resource allocation for users with elastic and real-time traffic sharing a single path in the network. In [45], the authors proposed a utility proportional fair optimization formulation for high-SINR wireless networks using a utility max-min architecture. They compared their algorithm to the traditional bandwidth proportional fair algorithms [33] and presented a closed form solution that prevents oscillations in the network.

In [25], the authors conducted a pilot trial with 50 iPhone or iPad 3G data users, who were charged according to time-dependent pricing algorithms. Their results show that time-dependent pricing benefits both operators and customers. The algorithms flatten demand fluctuations over time. It also allows users to choose the time and volume of their usage and hence save money. However, this method lacks application awareness which is essential in advancing mobile service industry.

A Round Robin packet scheduling method which distributes the load among multiple component carriers across the network is proposed in [48]. A collaborative scheme, where users covered by multiple base stations are allocated resources from the base station with the best channel, is presented in [15]. The problem of spectrum sharing of resources using carrier aggregation for LTE Advanced is addressed in [42]. The authors consider modulation and coding scheme (MCS) selection and mobile users’ MIMO capabilities. These proposed methods in [15, 42, 48] are not application-aware and hence are less efficient in maximizing user’s satisfaction and quality of experience. In this chapter, we address quality of experience by including application-awareness into spectrum sharing problem.

Our Contributions

Our contributions in this chapter are summarized as:

  • An application-aware utility proportional fairness optimization problem that solves for utility functions that are both strictly concave and non-concave (i.e., sigmoidal-like [24]) is formulated. In addition, the optimization problem inherently gives priority to real-time application users (i.e., with sigmoidal-like utility functions) while allocating resources.

  • The proposed application-aware optimization problem is convex, and therefore the global optimal solution is tractable. A distributed rate allocation algorithm is presented.

  • The convergence of the distributed rate allocation algorithm is analyzed. A modified distributed rate allocation algorithm that converges to the optimal rates for high-traffic and low-traffic periods is identified.

  • A pricing policy is proposed for service providers to charge to service subscribers that can flatten traffic load on the network.

  • Extension of the application-aware optimization problem to include spectrum sharing with carrier aggregation between multiple different frequency bands is formulated.

  • Simulation results for one- and two-carrier scenarios are explored.

The chapter is organized as follows. Section “Single-Carrier Scenario” presents the single-carrier problem formulation. Section “Optimality” shows that the single-carrier optimization problem is convex, and section “UE and eNodeB Subproblems” provides the corresponding distributed subproblems. Section “Distributed Algorithm for Single-Carrier Scenario” presents a single-carrier algorithm. Section “Simulation Example: One Carrier” explores the simulation results for a single-carrier scenario setup. Section “Convergence Analysis” analyzes the algorithm convergence. Section “A More Robust Algorithm” constructs a more robust single-carrier algorithm, and the corresponding simulation results are shown in section “Simulation Example: One Carrier (Cont.)”. The multiple-carrier optimization problem is formulated in section “Multiple-Carrier Scenario”, its optimality shown in section “Optimality and Subproblems”, corresponding algorithm developed in section “Distributed Algorithm for Multiple-Carrier Scenario”, and its simulation results provided in section “Simulation Example: Two Carriers”. Section “Conclusion and Future Direction” concludes the chapter with future direction.

Single-Carrier Scenario

A single-cell system consisting of a single eNodeB and M UEs is considered as our system model. The bandwidth allocated by the eNodeB to ith UE is given by r i. Each UE has its own utility function U i(r i) that corresponds to the type of traffic being handled by it. Our objective is to determine the bandwidth the eNodeB should allocate to the UEs. We assume the utility functions U i(r i) to be strictly concave or a sigmoidal-like functions. The utility functions have the following properties:

  • U i(0) = 0, and U i(r i) is an increasing function of r i.

  • U i(r i) is twice continuously differentiable in r i.

In our model, we use the normalized sigmoidal-like utility function, as in [24, 30], that can be expressed as

(1)

where \(c_i = \frac {1+e^{a_ib_i}}{e^{a_ib_i}}\) and \(d_i = \frac {1}{1+e^{a_ib_i}}\). So, it satisfies U(0) = 0 and U() = 1. In Fig. 1, the normalized sigmoidal-like utility function with a = 5 and b = 10 is a good approximation for a step function (e.g., VoIP), and a = 0.5 and b = 20 is a good approximation to an adaptive real-time application (e.g., video streaming). In addition, we use the normalized logarithmic utility function, as in [18, 45], that can be expressed as

(2)

where \(r_{\max }\) is the required rate for the user to achieve 100% utility percentage and k i is the rate of increase of utility percentage with the allocated rate r i. So, it satisfies U(0) = 0 and \(U(r_{\max })=1\). The logarithmic utility functions with k = 15 and k = 0.1 are shown in Fig. 1. We consider the utility proportional fairness objective function given by

(3)

where r = {r 1, r 2, …, r M} and M is the number of UEs in the coverage area of the eNodeB. The goal of this resource allocation objective function is to allocate the resources for each UE that maximize the total mobile system objective (i.e., the product of the utilities of all the UEs) while ensuring proportional fairness between individual utilities. This resource allocation objective function ensures nonzero resource allocation for all users. Therefore, the corresponding resource allocation optimization problem guarantees minimum QoS for all users. In addition, this approach allocates more resources to users with real-time applications providing improvement to the QoS of cellular system.

Fig. 1
figure 1

The sigmoidal-like utility functions (representing real-time traffic) and logarithmic utility functions (representing delay-tolerant traffic)

The basic formulation of the utility proportional fairness resource allocation problem is given by the following optimization problem:

(4)

where R is the total rate of the eNodeB covering the M UEs, and r = {r 1, r 2, …, r M}.

We prove in section “Optimality” that there exists a tractable global optimal solution to the optimization problem (4).

Optimality

In the optimization problem (4), since the objective function is equivalent to , then optimization problem (4) can be written as:

(5)

In section “Single-Carrier Scenario”, we assume that all the utility functions of the UEs are strictly concave or sigmoidal-like functions. In the strictly concave utility function case, recall the utility function properties in section “Single-Carrier Scenario”; the utility function is positive , increasing, and twice differentiable with respect to r i. Then, it follows that and . It follows that, the utility function in the optimization problem (5) has and . Therefore, the strictly concave utility function natural logarithm is also strictly concave. It follows that the natural logarithm of the logarithmic utility function in equation (2) is strictly concave.

In the sigmoidal-like utility function case, the utility function of the normalized sigmoidal-like function is given by equation (1) as . For 0 < r i < R, we have \(0<1-d_i({1+e^{-a_i(r_i-b_i)}})<\frac {1}{1+c_id_i}\). It follows that for 0 < r i < R, we have the first and second derivative as

Therefore, the sigmoidal-like utility function natural logarithm is strictly a concave function.

All the utility functions in the optimization problem presented in equation (5) have strictly concave natural logarithms. For visualization, an example of four users is shown in Fig. 1 where two users run applications with sigmoidal-like utility functions and the other two users run application with logarithmic utility functions. The sigmoidal-like utility functions parameters are a = {5, 0.5} and b = {10, 20}, respectively. The logarithmic utility functions parameters are k = {15, 0.1} and \(r_{\max }= 100\). The natural logarithms of the utility functions of Fig. 1 are shown in Fig. 2, and the derivatives of natural logarithms of the utility functions are shown in Fig. 3. It follows that for all UEs, utility functions are strictly concave. Therefore, the optimization problem (5) is a convex optimization problem [10]. The optimization problem (5) is equivalent to optimization problem (4); therefore it is also a convex optimization problem. For a convex optimization problem, there exists a unique tractable global optimal solution [8].

Fig. 2
figure 2

The natural logarithm of sigmoidal-like and logarithmic utility functions

Fig. 3
figure 3

The first derivative of the natural logarithm of sigmoidal-like and logarithmic utility functions

UE and eNodeB Subproblems

The key to UE and eNodeB subproblems from the primal problem in (5) is to convert to the dual problem, similar to [28] and [32]. The optimization problem (5) can be divided into two simpler problems by using the dual problem. We define the Lagrangian

(6)

where z ≥ 0 is the slack variable and p is Lagrange multiplier or the shadow price (i.e., the total price per unit bandwidth for all the M channels). Therefore, the ith UE bid for bandwidth can be given by w i = pr i, and we have \(\sum _{i=1}^{M}w_i = p \sum _{i=1}^{M}r_i\). The first term in equation (6) is separable in r i. Hence, the dual problem objective function can be written as

(7)

The dual problem is given by

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{{p}}{\text{min}} & & D(p) \\ & \text{subject to} & & p \geq 0. \end{aligned} \end{aligned} $$
(8)

Hence,

$$\displaystyle \begin{aligned}\frac{\partial D(p)}{\partial p} = R-\sum_{i=1}^{M}r_i -z = 0 \end{aligned} $$
(9)

substituting by \(\sum _{i=1}^{M}w_i = p \sum _{i=1}^{M}r_i\) we have

$$\displaystyle \begin{aligned} p = \frac{\sum_{i=1}^{M}w_i}{R-z} \end{aligned} $$
(10)

Now, divide the primal problem (5) into two simpler optimization problems in the UEs and the eNodeB. The ith UE optimization problem is given by:

(11)

The eNodeB optimization problem is given by:

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{p}{\text{min}} & & D(p) \\ & \text{subject to} & & p \geq 0. \end{aligned} \end{aligned} $$
(12)

The minimization of shadow price p is achieved by the minimization of the slack variable z ≥ 0 from equation (10). Therefore, the maximum utility percentage for the available eNodeB bandwidth is achieved by setting the slack variable z = 0. In this case, we replace the inequality in primal problem (5) constraint by equality constraint, and so we have \(\sum _{i=1}^{M}w_i = p R\). Therefore, we have \(p = \frac {\sum _{i=1}^{M}w_i}{R}\) where w i = pr i is transmitted by the ith UE to the eNodeB. The utility proportional fairness in the objective function of the optimization problem (4) is guaranteed in the solution of the optimization problems (11) and (12).

Distributed Algorithm for Single-Carrier Scenario

The distributed application-aware resource allocation algorithm for optimization problems (11) and (12) is an iterative algorithm for allocating the network resources with awareness of applications running on UEs. For the Algorithm in (1) and (2), each UE starts with an initial bid w i(1) which is transmitted to the eNodeB. The eNodeB calculates the difference between the received bid w i(n) and the previously received bid w i(n − 1) and exits if it is less than a prespecified threshold δ. Note that w i(0) = 0. If the value is greater than the threshold δ, eNodeB calculates the shadow price \(p(n) = \frac {\sum _{i=1}^{M}w_i(n)}{R}\) and sends that value to all the UEs. Each UE receives the shadow price to solve for the rate r i that maximizes . That rate is used to calculate the new bid w i(n) = p(n)r i(n). Each UE sends the value of its new bid w i(n) to the eNodeB. This process is repeated until |w i(n) − w i(n − 1)| is less than the prespecified threshold δ.

Algorithm 1 UE algorithm for a single-carrier scenario

Algorithm 2 eNodeB algorithm for a single-carrier scenario

Simulation Example: One Carrier

In this section, the Algorithm in (1) and (2) is applied to the cell in Fig. 4 with six utility functions corresponding to six UEs shown in Fig. 5. We use real-time applications represented by equation (1) with different parameters, a = 5, b = 10, which is an approximation to VoIP application at rate r = 10, a = 3, b = 20 which is an approximation of a standard definition video streaming application with inflection point at rate r = 20, and a = 1, b = 30 which is also an approximation of a high definition video streaming application with inflection point at rate r = 30. We use three logarithmic functions that are expressed by equation (2) with \(r_{\max }\) =100 and different k i parameters which are approximations for delay-tolerant applications (e.g., browsing, FTP, emails). We use k = {15, 3, 0.5}, and eNodeB has R = 100 [23].

Fig. 4
figure 4

System model with one carrier and six users

Fig. 5
figure 5

The users utility functions [or U i(r 1i + r 2i) for section “Simulation Example: Two Carriers”] used in the simulation (three sigmoidal-like functions and three logarithmic functions)

In Fig. 6, the allocated rates for each users per iteration are shown. The real-time applications have priority over delay-tolerant applications. In Fig. 7, the corresponding bids per iteration are shown. Note that the distributed algorithm avoids the situation of allocating zero rate to any user (i.e., no user is dropped).

Fig. 6
figure 6

The users allocated rate convergence r i(n) with number of iterations n for eNodeB rate R = 100

Fig. 7
figure 7

The users bid convergence w i(n) with number of iterations n for eNodeB rate R = 100

Convergence Analysis

In this section, the convergence analysis of Algorithms (1) and (2) for different values of R is explored.

For the sigmoidal-like function , let be the slope curvature function. Then,

$$\displaystyle \begin{aligned} \begin{aligned}{} \frac{\partial S_i}{\partial r_i} &= \frac{-a_i^2d_ie^{-a_i(r_i-b_i)}}{c_i\Big(1-d_i(1+e^{-a_i(r_i-b_i)})\Big)^2} - \frac{a_i^2e^{-a_i(r_i-b_i)}}{\Big(1+e^{-a_i(r_i-b_i)}\Big)^2}\\ \text{and}\\ \frac{\partial^2 S_i}{\partial r_i^2}& = \frac{a_i^3d_ie^{-a_i(r_i-b_i)}\left(1-d_i(1-e^{-a_i(r_i-b_i)})\right)}{c_i\Big(1-d_i\left(1+e^{-a_i(r_i-b_i)}\right)\Big)^3} \\ +& \frac{a_i^3e^{-a_i(r_i-b_i)}(1-e^{-a_i(r_i-b_i)})}{\Big(1+e^{-a_i(r_i-b_i)}\Big)^3}. \end{aligned} \end{aligned} $$
(13)

By inspection, \(\frac {\partial S_i}{\partial r_i}<0 \:\:\:\forall \: r_i\). The first term \(S^1_i\) of \(\frac {\partial ^2 S_i}{\partial r_i^2}\) in equation (13) can be written as

$$\displaystyle \begin{aligned} S^1_i = \frac{a_i^3e^{a_ib_i}(e^{a_ib_i}+e^{-a_i(r_i-b_i)})}{(e^{a_ib_i}-e^{-a_i(r_i-b_i)})^3} \end{aligned} $$
(14)

and hence

$$\displaystyle \begin{aligned} \lim_{r_i \rightarrow 0} S^1_i = \infty, \:\: \text{and} \:\:\lim_{r_i \rightarrow b_i} S^1_i = 0 \:\:\text{for} \:\:b_i \gg \frac{1}{a_i}. \end{aligned} $$
(15)

For second term \(S^2_i\) of \(\frac {\partial ^2 S_i}{\partial r_i^2}\) in equation (13), the following properties are satisfied

$$\displaystyle \begin{aligned} S^2_i (b_i) = 0, \:\:S^2_i (r_i>b_i) > 0, \:\: \text{and} \:\:S^2_i (r_i<b_i) < 0. \end{aligned} $$
(16)

From equations (15) and (16), S i has an inflection point at \(r_i = r_i^{s} \approx b_i\). In addition, the curvature of S i changes from a convex function close to origin to a concave function before the inflection point \(r_i = r_i^{s}\) then to a convex function after the inflection point. Therefore, the first remark is that for sigmoidal-like utility functions , the slope curvature function has an inflection point at \(r_i = r_i^{s} \approx b_i\) and is convex for \(r_i > r_i^{s}\) .

For the sigmoidal-like function , the optimal solution is achieved by solving the optimization problem (5). In Algorithms (1), an important step to reach to the optimal solution is to solve the optimization problem for every UE. The solution of this problem can be written using Lagrange multipliers method in the form

(17)

From equation (15) and (16), the curvature of is convex for \(r_i > r_i^s \approx b_i\). The Algorithm in (1) and (2) is guaranteed to converge to the global optimal solution when the slope of all the utility functions natural logarithm is in a convex domain, similar to the analysis of logarithmic functions in [27] and [12]. Therefore, the natural logarithm of sigmoidal-like functions converges to the global optimal solution for \(r_i > r_i^ \approx b_i\). The inflection point of sigmoidal-like function is at \(r_i^{\text{inf}} = b_i\). For \(\sum _{i=1}^{M}r_i^{\text{inf}} \ll R\), Algorithms (1) and (2) allocate rates r i > b i for all users. Since is convex for \(r_i>r_i^s \approx b_i\), then the optimal solution can be achieved by Algorithm (1) and (2). We have from equation (17), and is convex for \(r_i > r_i^s \approx b_i\), that \(p_{ss}< S_i(r_i =\max b_i)\) where \(S_i(r_i =\max b_i) = \frac {a_{i_{\max }} d_{i_{\max }} }{1-d_{i_{\max }} }+\frac {a_{i_{\max } }}{2}\) and \(i_{\max } = \arg \max _i b_i\). Therefore, the second remark is that if \(\sum _{i=1}^{M}r_i^{\text{inf}} \ll R\) then Algorithms ( 1 ) and ( 2 ) converge to the global optimal rates which corresponds to the steady state shadow price \(p_{ss}< \frac {a_{i_{\max }} d_{i_{\max }} }{1-d_{i_{\max }} }+\frac {a_{i_{\max } }}{2}\) where \(i_{\max } = \arg \max _i b_i\) .

For \(\sum _{i=1}^{M}r_i^{\text{inf}}>R\) there exists i such that the allocated rates \(r_i^{\text{opt}} < b_i\). Therefore, if \(p_{ss} \approx \frac {a_id_i e^{\frac {a_ib_i}{2}}}{1-d_i(1+e^{\frac {a_ib_i}{2}})} + \frac {a_ie^{\frac {a_ib_i}{2}}}{(1+e^{\frac {a_ib_i}{2}})}\) is the optimal shadow price for optimization problem (5), then a small change in the shadow price p(n) in the nth iteration can lead to rate r i(n) (root of ) to fluctuate between the concave and convex curvature of slope curvature for the ith user. Hence, this causes fluctuation in the bid w i(n) sent to eNodeB and fluctuation in the shadow price p(n) set by eNodeB. Then, the iterative solution of Algorithms (1) and (2) fluctuates about the global optimal rates \(r_i^{\text{opt}}\). Therefore, the third remark is that for \(\sum _{i=1}^{M}r_i^{\text{inf}}>R\) and the global optimal shadow price \(p_{ss} \approx \frac {a_id_i e^{\frac {a_ib_i}{2}}}{1-d_i(1+e^{\frac {a_ib_i}{2}})} + \frac {a_ie^{\frac {a_ib_i}{2}}}{(1+e^{\frac {a_ib_i}{2}})}\) , then Algorithms ( 1 ) and ( 2 ) fluctuate about the global optimal solution.

From the first, second, and third remarks, the Algorithm in (1) and (2) does not converge to the global optimal solution for all values of R.

Oscillation example:

An example of four users with the utilities shown in Fig. 1 and the assumption that eNodeB maximum rate is R = 25, i.e., \(\sum _{i=1}^{4} r_i^{\text{inf}} = 30> R=25\). Therefore, we cannot guarantee convergence with Algorithms (1) and (2), as stated in section “Convergence Analysis”. In Fig. 8, the shadow price p(n) oscillates between a concave and convex curvature of the curve. The oscillation in the shadow price p(n) causes an oscillation in the allocated rates and hinders the convergence to the optimal rates, and therefore the optimal rate allocation is not achievable by Algorithm in (1) and (2).

Fig. 8
figure 8

The diff log of sigmoidal-like utility function and shadow price p(n) in algorithm (1) and (2) for R = 25

A More Robust Algorithm

In this section, a robust algorithm is developed to ensure the proposed rate allocation algorithm converges for all values of the eNodeB rate R. For \(\sum {r_i^{\text{inf}}> R}\), the algorithm must avoid fluctuations in the non-convergent region discussed in section “Convergence Analysis”. This is achievable by adding a convergence measure Δw(n) that senses the fluctuations in the bids w is. In case of fluctuations, this robust algorithm decreases the step size between current and previous bid w i(n) − w i(n − 1) for each user i using fluctuations decay function. The fluctuations decay function could be in the following forms:

  • Exponential function: It takes the form \(\varDelta w(n) = l_1 e^{-\frac {n}{l_2}}\).

  • Rational function: It takes the form \(\varDelta w(n) = \frac {l_3}{n}\).

where l 1, l 2, l 3 can be adjusted to change the rate of decay of the bids w is. The fluctuations decay function can be included in Algorithm (3) of the UE or Algorithm (4) of the eNodeB. In this model, the decay part is added to Algorithm (3) of the UE. The example of four users with the utilities shown in Fig. 1 and R = 25 is executed with fluctuation decay functions as shown in Fig. 9.

Fig. 9
figure 9

The diff log of sigmoidal-like utility function and p(n) for Algorithm in (3) and (4) with \(\varDelta w = 5 e^{- \frac {n}{10}}\) and \(\varDelta w = \frac {10}{n}\) and R = 25

Algorithm 3 Modified UE algorithm for a single-carrier scenario

Algorithm 4 Modified eNodeB algorithm for a single-carrier scenario

Simulation Example: One Carrier (Cont.)

In this section, simulation setup and parameters are similar to section “Simulation Example: One Carrier” with the exception of R = 45 for a comparison between Algorithm in (1) and (2) and Algorithm in (3) and (4). Here, we choose the eNodeB rate R to be less than the sum of real-time application user inflection points \(\sum b_i\). As expected Algorithm in (1) and (2) does not converge in this region as shown in Fig. 10 for rates and in Fig. 11 for bids. On the other hand, Algorithm in (3) and (4) behavior is more robust due to the fluctuation decay function. It damps the fluctuations with every iteration for rates as shown in Fig. 12 and for bids as shown in Fig. 13. Figure 14 shows the oscillatory shadow price p(n) of Algorithm in (1) and (2) and the damping shadow price p(n) of Algorithm in (3) and (4).

Fig. 10
figure 10

The rate convergence r i(n) of Algorithm in (1) and (2) with number of iterations n for different users and R = 45

Fig. 11
figure 11

The bid convergence w i(n) of Algorithm in (1) and (2) with number of iterations n for different users and R = 45

Fig. 12
figure 12

The rate convergence r i(n) of Algorithm in (3) and (4) with number of iterations n for different users and R = 45

Fig. 13
figure 13

The bid convergence w i(n) of Algorithm in (3) and (4) with number of iterations n for different users and R = 45

Fig. 14
figure 14

The shadow price p(n) convergence with the number of iterations n

For δ = 10−3 and R changing between 5 and 100 with step of 5, the final rates and the corresponding final bids of different users with different eNodeB rate R are shown in Figs. 15 and 16, respectively. Note that the eNodeB allocates the majority of its resources to the UEs running adaptive real-time application until they reach their inflection rates r i = b i. When the total rate R exceeds the sum of the inflection rates \(\sum b_i\) of all the adaptive real-time applications, eNodeB allocates more resources to the UEs with delay-tolerant application. Additionally, real-time application users bid higher when the resources are scare, and their bids decrease as R increases. Therefore, the pricing which is proportional to the bids is traffic-dependent. This gives the service providers the option to increase the service price for subscribers when the traffic load on the cellular system is high. In other words, service providers can motivate subscribers to use the network when the traffic is lower as they pay less for the same QoS. Figure 17 shows the shadow price p(n) with eNodeB rate R. The price is high for high-traffic case (i.e., fixed number of users but less resources, R is small) which decreases for low traffic (i.e., same number of users but more resources, R is large).

Fig. 15
figure 15

The allocated rates r i for different values of R and δ = 10−3 for Algorithm in (3) and (4)

Fig. 16
figure 16

The final bids w i for different values of R and δ = 10−3 for Algorithm in (3) and (4)

Fig. 17
figure 17

The final shadow price p for different values of R and δ = 10−3 for Algorithm in (3) and (4)

Multiple-Carrier Scenario

In this scenario, UEs share the spectrum of K carriers eNodeBs. These carriers could be forming macro or small cells, i.e., K cells, with M UEs distributed in these cells. The rate allocated by the lth carrier eNodeB to ith UE is given by r li where l = {1, 2, …, K} and i = {1, 2, …, M}. Each UE has its own utility function U i(r 1i + r 2i + … + r Ki) that corresponds to the type of traffic being handled by the ith UE. The objective is similar to section “Single-Carrier Scenario” which is to determine the optimal rates that the lth carrier eNodeB should allocate to UEs under its coverage. The utility functions U i(r 1i + r 2i + … + r Ki) are assumed to be a strictly concave or a sigmoidal-like functions. Hence, the utility functions satisfy the following properties:

  • U i(0) = 0 and U i(r 1i + r 2i + … + r Ki) is an increasing function of r li for all l.

  • U i(r 1i + r 2i + … + r Ki) is twice continuously differentiable in r li for all l.

In our model, we use the normalized sigmoidal-like utility function, as in [37], that can be expressed as

$$\displaystyle \begin{aligned} U_i(r_{1i}+r_{2i}+ \ldots+r_{Ki}) = c_i\Big(\frac{1}{1+e^{-a_i(\sum_{l=1}^{K}r_{li}-b_i)}}-d_i\Big) \end{aligned} $$
(18)

where \(c_i = \frac {1+e^{a_ib_i}}{e^{a_ib_i}}\) and \(d_i = \frac {1}{1+e^{a_ib_i}}\). So, it satisfies U i(0) = 0 and U i() = 1. We use the normalized logarithmic utility function, as in [38], that can be expressed as

$$\displaystyle \begin{aligned} U_i(r_{1i}+r_{2i}+ \ldots+r_{Ki}) = \frac{\log(1+k_i\sum_{l=1}^{K}r_{li})}{\log(1+k_ir_{\mathrm{max}})} \end{aligned} $$
(19)

where \(r_{\max }\) is the required rate for the user to achieve 100% utilization and k i is the rate of increase of utilization with allocated rates. So, it satisfies U i(0) = 0 and \(U_i(r_{\max })=1\). We consider the utility proportional fairness objective function given by

$$\displaystyle \begin{aligned} \underset{\textbf{r}}{\text{max}} \prod_{i=1}^{M}U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}) \end{aligned} $$
(20)

where r = {r 1, r 2, …, r M} and r i = {r 1i, r 2i, …, r Ki}. This resource allocation objective function has a similar goal which is to allocate the resources that maximizes the total system utility while ensuring proportional fairness between utilities (i.e., the product of the utilities of all UEs). This construction of resource allocation objective function ensures nonzero resource allocation for all users. Therefore, the corresponding resource allocation optimization problem provides minimum QoS for all users. In addition, this approach allocates more resources to users with real-time applications which improves QoS for cellular system.

Hence, the formulation of application-aware resource allocation with spectrum sharing is given by the following optimization problem:

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{\textbf{r}}{\text{max}} & & \prod_{i=1}^{M}U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}) \\ & \text{subject to} & & \sum_{i=1}^{M}r_{1i} \leq R_1, \sum_{i=1}^{M}r_{2i} \leq R_2, \ldots\\ & & & \ldots\:\:, \:\:\sum_{i=1}^{M}r_{Ki} \leq R_K,\\ & & & r_{li} \geq 0, \;\;\;\;\;l = 1,2, \ldots,K, i = 1,2, \ldots,M. \end{aligned} \end{aligned} $$
(21)

where R l is the total available rate at the lth carrier eNodeB.

Optimality and Subproblems

Similar to the analysis in section “Optimality”, the optimization problem (21) can be written as:

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{\textbf{r}}{\text{max}} & & \sum_{i=1}^{M}\log \Big(U_i(r_{1i} + r_{2i} + \ldots + r_{Ki})\Big) \\ & \text{subject to} & & \sum_{i=1}^{M}r_{1i} \leq R_1, \sum_{i=1}^{M}r_{2i} \leq R_2, \ldots\\ & & & \ldots\:\:, \:\:\sum_{i=1}^{M}r_{Ki} \leq R_K,\\ & & & r_{li} \geq 0, \;\;\;\;\;l = 1,2, \ldots,K, i = 1,2, \ldots,M. \end{aligned} \end{aligned} $$
(22)

For strictly concave utility function in section “Multiple-Carrier Scenario”, the utility function is positive U i(r 1i + … + r Ki) > 0, increasing, and twice differentiable with respect to r li. Then, it follows that \(\frac { \partial U_i(r_{1i} + \ldots + r_{Ki})}{\partial r_{li}} > 0\) and \(\frac {\partial ^2 U_i(r_{1i}+ \ldots + r_{Ki})}{\partial r_{li}^2} < 0\). It follows that the utility function \(\log (U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}))\) in the optimization problem (22) has and Hence, the strictly concave utility function U i(r 1i + r 2i + … + r Ki) natural logarithm \(\log (U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}))\) is also strictly concave. It follows that the natural logarithm of the logarithmic utility function in equation (19) is strictly concave.

In the sigmoidal-like utility function case, the utility function of the normalized sigmoidal-like function is given by equation (18) as \(U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}) = c_i\Big (\frac {1}{1+e^{-a_i(\sum _{l=1}^{K}r_{li}-b_i)}}-d_i\Big )\). For \(0<\sum _{l=1}^{K}r_{li}<\sum _{l=1}^{K}R_l\), we have

$$\displaystyle \begin{aligned} 0 < 1-d_i\left({1+e^{-a_i\left(\sum_{l=1}^{K}r_{li}-b_i\right)}}\right) < \frac{1}{1+c_id_i}. \end{aligned}$$

It follows that for \(0<\sum _{l=1}^{K}r_{li}<\sum _{l=1}^{K}R_l\), we have the first and second derivative as \(\frac {\partial }{ \partial r_{li}}\log U_i(r_{1i} + \ldots + r_{Ki}) >0\) and \(\frac {\partial ^2}{\partial r_{li}^2}\log U_i(r_{1i} + \ldots + r_{Ki}) < 0\). Hence, the sigmoidal-like utility function U i(r 1i + … + r Ki) natural logarithm \(\log (U_i(r_{1i}+\ldots +r_{Ki}))\) is strictly concave function. Then, all the utility functions in our model have strictly concave natural logarithm. Therefore, the optimization problem (22) is a convex optimization problem [10]. The optimization problem (22) is equivalent to optimization problem (21); therefore it is a convex optimization problem. For a convex optimization problem, there exists a unique tractable global optimal solution [9].

Similar to section “UE and eNodeB Subproblems”, the optimization problem (22) can be divided into simpler subproblems by using the dual problem. We define the Lagrangian

$$\displaystyle \begin{aligned} \begin{aligned} L(\textbf{r},\textbf{p}) = & \sum_{i=1}^{M}\log \left(U_i\left(r_{1i} + r_{2i} + \ldots + r_{Ki}\right)\right)\\ & -p_1\left(\sum_{i=1}^{M}r_{1i} + z_1 - R_1\right) - \ldots\\ & - p_K\left(\sum_{i=1}^{M}r_{Ki} + z_K - R_K\right) \end{aligned} \end{aligned} $$
(23)

where z l ≥ 0 is the lth slack variable and p l is Lagrange multiplier or the shadow price of the lth carrier eNodeB and p = {p 1, p 2, …, p K}. Therefore, the ith UE bid for rate from the lth carrier eNodeB can be written as w li = p l r li, and we have \(\sum _{i=1}^{M}w_{li} = p_l \sum _{i=1}^{M}r_{li}\). The first term in equation (23) is separable in r i. Hence, the dual problem objective function can be written as

$$\displaystyle \begin{aligned} D(\textbf{p})= \sum_{i=1}^{M}\underset{{{\mathbf{r}}_i}}\max \left(L_i\left({\mathbf{r}}_i,\textbf{p}\right)\right) + \sum_{l=1}^{K} p_l(R_l-z_l) \end{aligned} $$
(24)

and the corresponding dual problem is given by

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{{\textbf{p}}}{\text{min}} & & D(\textbf{p}) \\ & \text{subject to} & & p_l \geq 0, \;\;\;\;\;l = 1,2, \ldots,K. \end{aligned} \end{aligned} $$
(25)

By differentiating \(\frac {\partial D(\textbf {p})}{\partial p_l}\) and substituting by \(\sum _{i=1}^{M}w_{li} = p_l \sum _{i=1}^{M}r_{li}\), we have

$$\displaystyle \begin{aligned} p_l = \frac{\sum_{i=1}^{M}w_{li}}{R_l-z_l}. \end{aligned} $$
(26)

Now, divide the primal problem (22) into simpler optimization problems in the UEs and the eNodeBs. The ith UE optimization problem is given by:

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{{r_i}}{\text{max}} & & \log(U_i(r_{1i} + r_{2i} + \ldots + r_{Ki}))-\sum_{l=1}^{K}p_lr_{li} \\ & \text{subject to} & & p_l \geq 0\\ & & & r_{li} \geq 0, \;\;\;\;\; i = 1,2, \ldots,M, l = 1,2, \ldots,K. \end{aligned} \end{aligned} $$
(27)

The second problem is the lth eNodeB optimization problem for rate proportional fairness that is given by:

$$\displaystyle \begin{aligned} \begin{aligned} & \underset{p_l}{\text{min}} & & D(\textbf{p}) \\ & \text{subject to} & & p_l \geq 0. \end{aligned} \end{aligned} $$
(28)

The minimization of shadow price p l is achieved by the minimization of the slack variable z l ≥ 0 from equation (26). Therefore, the maximum utilization of the lth eNodeB rate R l is achieved by setting the slack variable z l = 0. In this case, replace the inequality in primal problem (22) constraints by equality constraints and so \(\sum _{i=1}^{M}w_{li} = p_l R_l\). Accordingly, \(p_l = \frac {\sum _{i=1}^{M}w_{li}}{R_l}\) where w li = p l r li is transmitted by the ith UE to lth eNodeB. The utility proportional fairness in the objective function of the optimization problem (21) is guaranteed in the solution of the optimization problems (27) and (28).

Distributed Algorithm for Multiple-Carrier Scenario

In this section, a distributed algorithm for multiple-carrier scenario using optimization problems (27) and (28) is presented. The algorithm provides a share spectrum mechanism from multiple carriers simultaneously with an application awareness policy. The algorithm is divided into the ith UE algorithm shown in Algorithm (5) and the lth eNodeB carrier algorithm shown in Algorithm (6). In Algorithms (5) and (6), the ith UE starts with an initial bid w li(1) which is transmitted to the lth carrier eNodeB. The lth eNodeB calculates the difference between the received bid w li(n) and the previously received bid w li(n − 1) and exits if it is less than a prespecified threshold δ. We set w li(0) = 0. If the value is greater than the threshold, the lth eNodeB calculates the shadow price \(p_l(n) = \frac {\sum _{i=1}^{M}w_{li}(n)}{R_l}\) and sends that value to all the UEs in its coverage area. The ith UE receives the shadow prices p l from the in-range carrier eNodeBs and compares them to find the first minimum shadow price \(p_{\min }^{1}(n)\) and the corresponding carrier index l 1 ∈ L where L ∈{1, 2, …, K}. The ith UE solves for the l 1 carrier rate \(r_{l_1i}(n)\) that maximizes \(\log U_i(r_{1i}+\ldots +r_{Ki}) - \sum _{l=1}^{K}p_l(n)r_{li}\) with respect to \(r_{l_1i}\). The rate \(r_{i}^{1}(n) = r_{l_1i}(n)\) is used to calculate the new bid \(w_{l_1i}(n)=p_{\min }^{1}(n) r_{i}^{1}(n)\). The ith UE sends the value of its new bid \(w_{l_1i}(n)\) to the l 1 carrier eNodeB. Then, the ith selects the second minimum shadow price \(p_{\min }^{2}(n)\) and the corresponding carrier index l 2 ∈ L. The ith UE solves for the l 2 carrier rate \(r_{l_2i}(n)\) that maximizes \(\log U_i(r_{1i}+\ldots +r_{Ki}) - \sum _{l=1}^{K}p_l(n)r_{li}\) with respect to \(r_{l_2i}\). The rate \(r_{l_2i}(n)\) subtracted by the rate from l 1 carrier \(r_{i}^{2}(n) = r_{l_2i}(n) - r_{i}^{1}(n)\) is used to calculate the new bid \(w_{l_2i}(n)=p_{\min }^{2}(n) r_{i}^{2}(n)\) which is sent to l 2 carrier eNodeB. In general, the ith UE selects the mth minimum shadow price \(p_{\min }^{m}(n)\) with carrier index l m ∈ L and solves for the l m carrier rate \(r_{l_mi}(n)\) that maximizes \(\log U_i(r_{1i}+\ldots +r_{Ki}) - \sum _{l=1}^{K}p_l(n)r_{li}\) with respect to \(r_{l_mi}\). The rate \(r_{l_mi}(n)\) subtracted by l 1, l 2, …, l m−1 carrier rates \(r_{i}^{m}(n) = r_{l_mi}(n) - (r_{i}^{1}(n)+r_{i}^{2}(n)+\ldots +r_{i}^{m-1}(n))\) is used to calculate the new bid \(w_{l_mi}(n)=p_{\min }^{m}(n) r_{i}^{m}(n)\) which is sent to l m carrier eNodeB. This process is repeated until |w li(n) − w li(n − 1)| is less than the threshold δ.

This application-aware spectrum sharing algorithm ensures no user is dropped. Additionally, the UE chooses from the nearby carrier eNodeBs the one with the lowest shadow price and request spectrum resources from that carrier eNodeB. If the allocated rate is not enough or the price of the resources increases due to high demand on that carrier eNodeB resources from other UEs, the UE switches to allocate the rest of the required resources from another nearby eNodeB carrier with a lower resource price. This is done iteratively until an equilibrium between demand and supply of resources is achieved and the optimal rates are allocated in the mobile network.

Algorithm 5 The ith UE algorithm for multiple-carrier scenario

Algorithm 6 The lth eNodeB algorithm for multiple-carrier scenario

Simulation Example: Two Carriers

In this section, Algorithm in (5) and (6) is used to simulate spectrum sharing of frequency bands of two carriers and 18 UEs shown in Fig. 18. The UEs are divided into three groups. The 1st group is connected to 1st carrier eNodeB only (index i = 1, 2, 3, 4, 5, 6), the 2nd group is connected to 2nd carrier eNodeB only (index i = 7, 8, 9, 10, 11, 12), and the 3rd group is connected to both 1st and 2nd carrier eNodeBs (index i = 13, 14, 15, 16, 17, 18). Hence, the 3rd group of users experiences spectrum sharing from 1st and 2nd carrier eNodeBs. Similar utility functions as in section “Simulation Example: One Carrier”, shown in Fig. 5, are used. UEs with indexes i = {1, 7, 13} have utility parameters a = 5 and b = 10, indexes i = {2, 8, 14} have utility parameters a = 3 and b = 20, and indexes i = {3, 9, 15} have utility parameters a = 1 and b = 30, while UEs with indexes i = {4, 10, 16} have utility parameters k = 15 and \(r_{\max } =100\), indexes i = {5, 11, 17} have utility parameters k = 3 and \(r_{\max } =100\), and indexes i = {6, 12, 18} have utility parameters k = 0.5 and \(r_{\max } =100\).

Fig. 18
figure 18

System model with three groups of users and two carriers. The 1st group with UE indexes i = {1, 2, 3, 4, 5, 6} (red), 2nd group with UE indexes i = {7, 8, 9, 10, 11, 12} (blue), and 3rd group with UE indexes i = {13, 14, 15, 16, 17, 18} (green)

The simulation setup is δ = 10−3, the 1st carrier eNodeB rate R 1 takes values between 20 and 300 with step of 10, and the 2nd carrier eNodeB rate is fixed at R 2 = 100. In Fig. 19, the final rates of different users with different 1st carrier eNodeB total rates R 1 are shown. In Fig. 19a, c, the increase in the rate allocated to the users of 1st and 3rd groups is due to the increase in R 1 (i.e., in range carrier). In Fig. 19b, the increase in the rate allocated to the users of 2nd groups is associated with the increase in R 1 (i.e., out of range carrier). This is due to the decrease in the number of users requesting resources from the 2nd carrier eNodeB (the users of the 3rd group allocate most of their rates from the resources of 1st carrier eNodeB and so decrease the load/demand on the 2nd carrier eNodeB). In spite of fixed 2nd carrier eNodeB rate at R 2 = 100, an increase in the allocated rates in the 2nd group is observed with the increase in R 1. This is more clear when monitoring the change in the rates allocated to the 3rd group of users from the 1st carrier eNodeB in Fig. 20a and from the 2nd carrier eNodeB in Fig. 20b. In Fig. 20a, b, when the resources available at the 2nd carrier is more than that at 1st carrier, most of the 3rd group rates are allocated by the 2nd carrier. With the increase in R 1, a gradual increase in the 3rd group rates allocated from the 1st carrier is observed as well as a gradual decrease from the 2nd carrier eNodeB resources. This shift in the resource allocation increases the available resources to be allocated to 2nd group of users by 2nd carrier eNodeB.

Fig. 19
figure 19

The rates r li of the 3rd group of users verses 1st carrier rate 20 < R 1 < 300 with 2nd carrier rate fixed at R 2 = 100. (a) The rates allocated r 1i from the 1st carrier eNodeB to users of the 1st group (i.e., i = 1, 2, 3, 4, 5, 6). (b) The rates allocated r 2i from 2nd carrier eNodeB to users of the 2nd group (i.e., i = 7, 8, 9, 10, 11, 12). (c) The rates allocated r 1i + r 2i from 1st and 2nd carriers eNodeBs to users of the 3rd group (i.e., i = 13, 14, 15, 16, 17, 18)

Fig. 20
figure 20

The allocated rates r li from the lth carrier eNodeB to the 3rd group of users with 1st carrier eNodeB rate 20 < R 1 < 300 and 2nd carrier eNodeB rate fixed at R 2 = 100. (a) The allocated rates r 1i from the 1st carrier eNodeB to the 3rd group of users. (b) The allocated rates r 2i from the 2nd carrier eNodeB to the 3rd group of users

The final bids of different users with different values of R 1 are shown in Fig. 21. It is observed that the users bid high when the resources are scarce and their bids decrease as R 1 increases. Hence, pricing in this model is traffic-dependent (i.e., demand by users increase the price increase and vice versa). In Fig. 21a, c, the decrease in the 1st and 3rd group users’ bids with the increase in R 1 is noticeable. The supply increases, and the demand is still the same. In Fig. 21b, the decrease in the 2nd group users’ bids with the increase in R 1 (which is an out-of-range carrier) is observable. This is due to the decrease in the demand on 2nd carrier eNodeB resources with fixed supply from 2nd carrier. In Fig. 22, the shadow price of the 1st carrier eNodeB is higher than that of 2nd carrier eNodeB for R 1 ≤ 50, approximately equal for 60 < R 1 ≤ 200, and lower for R 1 > 200. This shows how it is very efficient to have joint carrier aggregation on the pricing of the user. In addition, provided this traffic-dependent pricing, the network providers can flatten the traffic specially during peak hours by setting traffic-dependent bandwidth resource price, which gives an incentive for users to use the network during less-congested hours.

Fig. 21
figure 21

The users final bids w li (i.e., network provider pricing) for the three group of users vs 1st carrier eNodeB available rate 20 < R 1 < 300 with 2nd carrier rate fixed at R 2 = 100. (a) The bids w 1i of users of the 1st group (i.e., i = 1, 2, 3, 4, 5, 6). (b) The bids w 2i of users of the 2nd group (i.e., i = 7, 8, 9, 10, 11, 12). (c) The bids w 1i + w 2i of users of the 3rd group (i.e., i = 13, 14, 15, 16, 17, 18)

Fig. 22
figure 22

The 1st carrier shadow price p 1 and 2nd carrier shadow price p 2 with the 1st carrier eNodeB rate 20 < R 1 < 300 and the 2nd carrier eNodeB rate R 2 = 100

Conclusion and Future Direction

In this chapter, an application-aware optimization problem for UEs with delay-tolerant and real-time applications in cellular networks is presented. Two scenarios are discussed, i.e., one-carrier scenario and multiple-carrier scenario. Starting with one-carrier scenario, the global optimal solution exists and is tractable for the resource allocation optimization problem for UEs with logarithmic (delay-tolerant applications) and sigmoidal-like (real-time application) utility functions. A distributed algorithm for allocating the eNodeB resources optimally to the UEs is presented. Additionally, convergence analysis is discussed. A solution for ensuring convergence for different network traffic conditions is discussed. Hence, this modified robust algorithm converges for high and low traffic loads. The algorithm is aware of different applications and ensures fairness in the utility percentage achieved by the allocated resources for all the users. Therefore, the algorithm gives priority to the users with real-time applications over delay-tolerant applications. In addition, a minimum resource allocation for users with elastic or inelastic traffic is guaranteed to satisfy a minimum QoS for all service subscribers. Simulations provide that the robust algorithm converges to the optimal rates and allocates the eNodeB resources with priority to users running real-time applications. For multiple-carrier scenario, spectrum sharing through carrier aggregation is presented. The assumptions of applications running on smart phones are similar to one-carrier scenario. But in this case, users share multiple bands in an application-aware scheme. Optimality is shown for this scenario as well, and robustness of convergence is considered in the resource allocation algorithm design. Simulations provided for the two-carrier scenario for a proof of concept. The algorithm guarantees allocating resources from the carrier with the lowest resource price for the user. Hence, the algorithm converges to the optimal rate allocation with the lowest possible resource price.

The algorithms discussed in this chapter can be extended to include cellular system features such as frequency reuse [6]. Additionally, resource block allocation problems for an application-aware spectrum sharing can be included in the mathematical model presented in this chapter. Some preliminary examples are shown in [17, 23]. The algorithm, presented in this chapter, provides a pricing approach for network providers to flatten network traffic over time. Hence, it provides a traffic-dependent pricing approach. This could be utilized to give the subscribers the incentive to decrease the cost of using the network by choosing to access the network at low-cost low-traffic load time. Additionally, the provided algorithm in this chapter can be extended to a centralized method rather than distributed to minimize overheads; more details are in [24].

The presented techniques could be used for allocating resources for smart grids and power system as well, for example, the extension of the research work in [31] to include sigmoidal-like utilities. Additionally, the pricing incentive used in the presented model could be extended to improve smart grid current models, e.g., [11]. Finally, this work can provide a platform for sharing radar spectrum with communication systems. For instance, carrier aggregation between radar and communication bands can improve the overall user QoS as shown in [22], radar transmitters can be utilized as auxiliary network base stations as shown in [4], and cooperative radar and communications signaling schemes can be considered as shown in [13, 14].