{'fraction_non_alphanumeric': 0.03013139263015774, 'fraction_numerical': 0.008166759969703955, 'mean_word_length': 4.448152134912092, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Market-based Short-Term Allocations in Small Cell Wireless Networks

Mobile users (or UEs, to use 3GPP terminology) served by small cells in dense urban settings may abruptly experience a significant deterioration in their channel to their serving base stations (BSs) in several scenarios, such as after turning a corner around a tall building, or a sudden knot of traffic blocking the direct path between the UE and its serving BS. In this work, we propose a scheme to temporarily increase the data rate to/from this UE with additional bandwidth from the nearest Coordinated Multi-Point (CoMP) cluster of BSs, while the slower process of handover of the UE to a new serving BS is ongoing. We emphasize that this additional bandwidth is additional to the data rates the UE is getting over its primary connection to the current serving BS and, after the handover, to the new serving BS. The key novelty of the present work is the proposal of a decentralized market-based resource allocation method to perform resource allocation to support Coordinated Beamforming (CB) CoMP. It is scalable to large numbers of UEs and BSs, and it is fast because resource allocations are made bilaterally, between BSs and UEs. Once the resource allocation to the UE has been made, the coordinated of transmissions occurs as per the usual CB methods. Thus the proposed method has the benefit of giving the UE access to its desired amount of resources fast, without waiting for handover to complete, or reporting channel state information before it knows the resources it will be allocated for receiving transmissions from the serving BS.

such as after turning a corner around a tall building, or a sudden knot of traffic blocking the direct path between the UE and its serving BS. Although networks are usually planned such that total radio link failure is unlikely before such a UE is either handed over to a new serving BS or a strong connection to the current serving BS is re-established, the UE does experience a sudden and severe drop in data rate for some time. While this issue has always existed in cellular networks, it takes on new urgency in the age of 5G millimeter wave (mmWave) cells because these cells are small relative to the typical LTE macrocell. Small cells are traversed more quickly than larger cells, but handover to a single small cell serving BS each time means that there is a high rate of handovers with corresponding control signaling overheads in the network. Thus, in the context of small cells, it makes sense to have the UE be served not by a single small cell but by a cluster of small cells that transmit to the UE simultaneously, a method called Coordinated Multi-Point (CoMP) [1].
In this work, we propose to temporarily augment the data rate to and from this UE with a shortterm dose of additional bandwidth from the nearest CoMP cluster. The UE uses this additional bandwidth even as the slower process of handover to a new serving BS is ongoing. Note that this additional bandwidth is indeed additional to the data rates the UE is getting over its primary connection to the current serving BS and, after the handover, to the new serving BS. When the handover process is complete, the additional bandwidth is expected to be no longer necessary and will be relinquished by the UE.
The key novelty of the present work is the proposal of a decentralized market-based resource allocation method to perform resource allocation to support CoMP. It is scalable to large numbers of UEs and BSs, and it is fast because resource allocations are made bilaterally, between BSs and UEs. Once the resource allocation to the UE has been made, the coordinated of transmissions occurs as per the usual CoMP methods. Thus the proposed method has the benefit of giving the UE access to its desired amount of resources fast, without first waiting for handover to complete, or having to report channel state information in order to know the resources that it will be allocated for receiving transmissions from the serving BS.

Resource allocation in a CoMP cluster
A CoMP cluster of BSs can serve UEs in different ways. A baseline version of CoMP is coordinated beamforming (CB) [2,Sec. 5.3] where a BS uses only its own antennas to serve the UEs in its cell, albeit with beamforming across these antennas coupled with coordination across BSs so as to mitigate inter-cell interference. A more sophisticated CoMP system can perform joint transmission (JT) [2,Sec. 6.3] across all BSs in the CoMP cluster, treating all resources (such as bandwidth and antennas) in the CoMP cluster as available to serve all UEs served collectively by the BSs in the cluster. Recently, a third CoMP scheme called dynamic point selection (DPS) was introduced as an alternative to handover to support rapid re-routing of data streams as a means to mitigate rapid signal degradation. In DPS, all coordinating BSs have access to the data streams of all their served UEs, but the specific BS that transmits to that UE can change on a frame-by-frame basis. This is similar to JT in requiring extensive signaling, communication, and synchronization between the BSs of the CoMP cluster, with the difference from JT being that transmission is by just one BS.
In 3GPP, the process of handover has high latency and imposes a high overhead on the (logical) control signaling channels. Hence, it is not advisable to do frequent handovers. Thus, we conceive of a dual-connectivity approach to retaining session quality: after the UE's channel to the present serving BS deteriorates enough to require a handover, we allow the slow and high-overhead handover mechanism to proceed as usual. However, in order to retain session quality, we will also enable the UE to quickly acquire and aggregate bandwidth from the BSs of the local CoMP cluster in whose service area the UE is present. The question therefore arises as to how we decide on the relative fraction of resources deployed at each BS in the cluster to support this UE.
For concreteness, let us consider the case of allocation of just one resource, namely "bandwidth" (strictly speaking, for an LTE or 5G system, this quantity should be measured in terms of Physical Resource Blocks, or PRBs).
The traditional approach, applied to many kinds of similar problems in various fields of engineering, is to frame the resource allocation problem for a given UE as an optimization problem and solve it at a central controller that handles the coordinated transmissions of the CoMP cluster and therefore has the relevant information on resources in use at each BS in the cluster. A recent treatment of this approach is given in the "water-filling" formulation of the resource allocation problem described in [3], especially Example 1 in Section II.C with the quantity p k being the bandwidth allocation and a k the spectral efficiency (in bits/s/Hz). However, if we want to solve this problem simultaneously for multiple UEs, as is likely in the dense urban settings where small cell deployments will exist, the centralized optimization approach does not scale well in terms of computation, storage, or latency.
We note again that this resource allocation from the CoMP cluster is additional to the resources the UE is already getting through its connection to the serving BS, which may itself change as a result of the normal handover process. However, the CoMP resource allocation is designed to complete much faster than the handover from the previous serving BS to the next serving BS (which is probably, though not necessarily, one of the BSs in the CoMP cluster).

Factors hindering conventional CoMP deployment
JT should be capable of delivering greater gains (as measured in total cell throughput and especially the throughputs to UEs that have poor channels to the strongest BS, called "cell edge UEs"), but field trials have been disappointing [4].
JT requires sharing of served UEs' data streams and Channel State Information (CSI) across all BSs in a CoMP cluster that cooperate in JT (called the "cooperation area"), which imposes strict requirements on timing synchronization and severe loads on the signaling and communication between the BSs of the CoMP cluster. As summarized recently in [5], "these requirements are actually constituting the major downfall of JT CoMP in practical cellular networks, rendering hard to achieve its theoretical gains in practice. On top of that, ... imperfect and/or outdated CSI and uncoordinated interference have a very large impact on the performance of conventional JT CoMP schemes. Practical Radio-frequency (RF) components, such as oscillators with phase noise, were also shown to have a similar effect." Note that the above issues with deployment of JT because of its high signaling, communications, and synchronization requirements also apply to DPS. In other words, the problems bedeviling practical deployment of CoMP have remained unchanged for the greater part of a decade, from the time they were enumerated in [2, p. 457]: "... the importance of having precisely synchronized base station oscillators for downlink joint transmission" and "... the fact that ... pilot overhead increases linearly in the cooperation size, limits CoMP to scenarios of moderate cooperation size. Also, ... CoMP gains have to be carefully traded against potentially significant feedback overhead." Note that CB, which does not promise the high gains of JT but at the same time makes fewer demands on signaling and synchronization than JT or DPS, has been identified as a potential candidate for deployment on both LTE [5] and 5G [6,7] networks. However, the tradeoff between CoMP gains and the feedback overhead is a general problem with all CoMP schemes. The unfortunate truth is that in spite of theoretical promise and a fair amount of hooks in successive 3GPP standards to support it, CoMP has not yet been deployed to a significant extent in any cellular network today.
In the present work, we will consider only CB, where the coordinating BSs share the CSI among themselves, but without any need for synchronization. While CB does not require the same heavy signaling loads and stringent synchronization requirements as JT, it is still susceptible to out-of-cluster interference. However, for the particular application scenario of a CoMP cluster in a high-density urban area with urban canyons being considered here, it is expected that the outof-cluster interference will be mitigated merely by the presence of the tall buildings and other obstacles to radio wave propagation.

A new market-based approach to resource allocation
In the present work, we take a market-based approach to the resource allocation problem, which has the advantage of being scalable to large numbers of UEs and BSs in a CoMP cluster. As has been pointed out by several researchers (see, for example, [8]), a market-based approach is by definition both decentralized (matching buyers and sellers) and efficient (both buyers and sellers maximize some version of utility and/or profits). Thus, a market-based approach applied to CoMP resource allocation should be expected to ease some of the signaling load and simplify the synchronization requirements.
We will discuss two market-based resource allocation schemes to support UEs from a CoMP cluster. The important common feature of both markets is they are games with strategic actors (the buyers), i.e., the actions of one buyer influence the actions of other buyers and determine the prices charged by the sellers for the resources sold on the market. There do exist other market-based frameworks where the buyers are mere price-takers, i.e., they cannot influence the prices charged by the sellers (see for example the PSCP scheme in [9]), but we shall not consider such schemes in the present work.
An early market-based approach to bandwidth assignment (by an MNO) to multiple UEs all using a single application (voice calling) with a small number of distinct quality of service satisfaction levels (QSLs) was proposed in [10] and named "Bandwidth Market Price" (BMP). In BMP, each UE has a "QoS profile" with a possibly different budget for each bandwidth allocation. Independently and later, [11] proposed a scheme named "BidPacket" with continuously-valued pricing (and corresponding QSLs and budgets) that adapt to the allocated bandwidth, and applicable to many classes of data applications. BMP may therefore be seen as a special case of BidPacket adapted for voice calling. We will defer the details of BidPacket to Section 6, as our proposed scheme is a modified version of it.
Several market-based resource allocations have been studied in the context of computing resource allocation to processes and users in a cluster of servers. The so-called Proportional Sharing scheme (also called Trading Post or Shapley-Shubik Game) was proposed in [12]. Applied to the CoMP scenario, it means that the prospective buyers (UEs) submit bids for the resources, and each UE gets allocated a fraction of the total available resources which is proportional to its bid. A Nash equilibrium was proved to exist in [12], which was then shown in [13] to approximately maximize the Nash social welfare (i.e., the sum of log-throughputs of the UEs). One advantage of Proportional Sharing is that it can be readily extended to resources of more than one class, e.g., bandwidth and serving BS/antennas in a CoMP cluster. Unfortunately, the allocation in Proportional Sharing always fully exhausts each UE's budget for the resource, which results in overpayment by UEs (or equivalently, inflated bids for resources).
A modified Proportional Share with a penalty term was proposed in [14] to reduce bid inflation by making each bidder pay a cost (to participate in the market) that is proportional to its bid. It was shown in [14] that such a scheme has a Nash equilibrium that also maximizes the Nash social welfare. The scheme in [14] was simplified and applied to resource allocation in a wireless network in [15] 1 . Unfortunately, the iterative allocation algorithm in [14] requires solving a system of nonlinear equations at each step of the iteration, which is computationally expensive (see Appendix A). Moreover, this system of equations involves the bids from all the UEs. Therefore, this scheme is better suited for a centralized allocation scheme, say JT, where the solution of the system of equations is done in the CoMP cluster. We do not discuss Proportional Sharing or its variants in the present work, opting instead to focus exclusively on CB.

Description of the problem
We now describe the details of the CoMP cluster resource allocation problem, followed by our proposed market-based framework to solve the resource allocation problem.
1. Each UE gets, with its subscription to the MNO operating the CoMP cluster, a budget to acquire additional bandwidth when needed in the scenario described above. This budget can be periodically refreshed (say at the start of each MNO billing cycle), or topped up as needed, and leftover budget from the previous billing cycle could be carried over to the next, or converted into a credit toward the MNO's subscription, or into travel miles, vouchers, etc.
from the old CoMP cluster is freed up in anticipation of a bandwidth purchase from the new CoMP cluster.
5. Further, each BS in the new CoMP cluster may be viewed as a seller of bandwidth on the market defined by the BSs in the CoMP cluster and the UEs that are in the area served by that cluster. Note that a single UE may purchase bandwidth from more than one BS in the CoMP cluster, and the aggregated bandwidth will be exploited through coordinated transmissions from these sellers.
6. The bandwidth allocation in the above steps to any UE i is only valid for a pre-defined, fixed, short interval (which could, for example, be selected so as to cover the mean time taken to complete the handover of this UE to the next serving BS). Thus, at the end of this fixed interval, this additional bandwidth that the UE has purchased will be relinquished unless the UE re-enters the market and purchases bandwidth again.
The following analysis is for a single interval after the rapid deterioration of the channel of an arbitrary UE i to its present serving BS or CoMP cluster has triggered a resource purchase. A typical scenario for this analysis is when we: (i) predict that UE i will soon need additional bandwidth from a new CoMP cluster and start the timer T , (ii) then observe, within the sub-interval of duration t at the beginning of interval T , that UE i's channel to its serving BS or old CoMP cluster has worsened by more than some threshold amount, say θ, where θ > 0 is in decibels (dB). Note also that the analysis applies to bandwidth purchases for transmissions in a single direction (i.e., either the uplink from UEs to BSs, or the downlink, from BSs to UEs).

BidPacket resource allocation
BidPacket [11] is a market-based bandwidth allocation scheme originally designed for a collection of user devices seeking to transmit on the uplink (i.e., to an access point). In the original proposal in [11], the sellers and buyers are both WiFi users -a user with nothing to transmit sells its bandwidth to a user that has a file to transmit and wants more bandwidth than the default allocation (which is the same for all users). In the present work, the buyers are the UEs, and the sellers are the BSs of the CoMP.

Utility model for UEs
Let p be the price per unit of bandwidth on the bandwidth market comprising the new CoMP cluster BSs as the sellers, and the UEs in the service area of this CoMP cluster as the buyers. We employ the buyer utility function proposed in [11]: if UE i purchases bandwidth B i , its utility is where w i is the wealth of UE i, and b i ≤ 1 is a measure of the need of UE i for bandwidth. For example, suppose UE i's channel to its serving BS or old CoMP cluster at the end of the sub-interval of length t is τ i > θ (both τ and θ are in dB) worse than at the beginning of this sub-interval. Say τ max (in dB) is the maximum deterioration in the channel to the serving BS or old CoMP cluster that can be tolerated before the session is interrupted. Then we could define b i to be the ratio τ i /τ max in the linear scale, i.e., b i = 10 (τ i −τmax)/10 . In other words, the greater the deterioration of the UE's channel to its serving BS or old CoMP cluster, the greater its need for additional bandwidth in order to maintain the session, and the greater the utility it derives from a bandwidth purchase from sellers in the new CoMP cluster.
As shown in [11], UE i maximizes its utility by spending the fraction b i of its wealth w i to purchase bandwidth, i.e., by purchasing an amount of bandwidth B i given by Note that the price paid by UE i for acquiring bandwidth B i is pB i . Now, paying by bandwidth is not the usual pricing scheme in cellular networks today. MNOs either charge a monthly subscription or price by data usage. The latter is more appropriate for our scenario, since these bandwidth purchases are for short durations of time defined by allocation epochs. In the above, the price p is actually the price per unit of bandwidth per allocation epoch. If the allocation epoch is a unit of time, and S i is the average spectral efficiency (throughput per unit of bandwidth used) to UE i over that unit of time, then the total data to or from UE i over that unit of time is T i = B i S i . Thus, in conventional terms, the charge levied by the MNO for the data transmitted to or from UE i during the allocation period may be seen aspT i =pS i B i = pB i , where the price per unit of data isp = p/S i , the bid price p paid by the UE per unit of bandwidth, divided by the average spectral efficiency S i over the allocation period. Note thatp is precisely the BMP of [10]. Moreover, (2) shows that p is inversely proportional to the demanded bandwidth, exactly as in the QoS profile proposed in [10] without the restriction to finitely many QoS satisfaction levels. Thus, the BMP scheme of [10] may be seen as a special case of BidPacket.

Profit model for BSs in the CoMP cluster
Each BS in the CoMP cluster, being a seller of bandwidth, seeks to maximize its profit from bandwidth sales. Although the BSs (or more precisely, the MNOs operating these BSs) have already paid a fixed price (at an FCC spectrum auction) for the bandwidth that they are selling, it is prudent for each BS not to seek to sell all of its available bandwidth all the time, but to conserve the amount of total bandwidth it sells, i.e., minimize the total bandwidth in use at this BS. This way, the BS could cope with a sudden surge of demand arising from a spike in traffic caused, for example, by an influx of UEs into the service area of this BS and CoMP cluster.
Therefore we shall use the cost function defined in [11]: the cost of selling bandwidth B (j) for BS j in the CoMP cluster is where a j is a measure of the importance of conserving bandwidth at BS j. Note that C(B (j) )/B (j) increases with B (j) , which means that the cost per unit of bandwidth increases with the bandwidth. The profit to BS j from selling bandwidth B (j) on the bandwidth market is therefore the difference between its revenue and its cost: and, as shown in [11], the BS's profit is maximized by selling the amount of bandwidth given by

Equilibrium pricing on the bandwidth market
The utility-maximizing total demanded bandwidth from all UEs in the service area of this CoMP cluster is and the profit-maximizing total supplied bandwidth from all BSs in this CoMP cluster is It follows that at equilibrium, the price per unit of bandwidth on the market is such that the bandwidth supply equals the bandwidth demand [11]: Recall from (2) that at the price (8), each UE i will purchase an amount B i of bandwidth such that the total price it pays is w i b i . In other words, at equilibrium, w i b i is precisely the value of UE i's bid for bandwidth. Thus we may rewrite (8) as Note that BidPacket buyers' budgets may be funded with virtual currency, but they should be linked to some currency or credit (like airline miles or discount coupons) with monetary value in the real world. Otherwise, with a purely virtual currency with no real-world value, it is optimal for the buyers to spend their entire budgets every time for bandwidth purchase, and to overstate their urgency/need in order to spend their entire budget.
In the CoMP scenario, the buyers are the UEs, as stated earlier, and the sellers (under the assumption of coordinated beamforming) are the BSs in the CoMP cluster. The BidPacket scheme is in the form of transactions between individual pairs of buyers and sellers. It thus has the advantage of maximizing both buyer and seller utility at equilibrium, while being scalable to large numbers of buyers and sellers.
BidPacket is really only applicable to a single resource (like bandwidth) whereas in a CoMP cluster the available resources are multi-dimensional (like bandwidth and antenna selection, for example). Lastly, there are no theoretical results on whether or not a Nash Equilibrium exists among the UEs such that no UE can change its bids to improve its utility without decreasing the utility of another UE.
7 Bandwidth allocation algorithm 1. At the start of each epoch, (a) the BSs in the CoMP cluster get assigned a random order for serving UE requests for bandwidth purchases; (b) the UEs submit their total bid amounts to a bid table that is accessible to all BSs in the CoMP cluster.
2. Following the order assigned to the BSs, the UEs' bandwidth requests are served by those BSs, starting from the UE with the highest bid, then the UE with the next highest bid, and so on. If a UE's bandwidth request is too much to be satisfied by a single BS, the next BS satisfies the remaining part of the request. When a BS satisfies the last remaining part of a UE's request, that UE's bid is removed from the bid table.
3. All BSs that together satisfy a UE's bandwidth request now coordinate their transmissions to that UE in the next epoch, following conventional CoMP protocols.
Note that the algorithm requires only a single pass through all UEs requesting bandwidth and all BSs that provide that bandwidth.

Numerical results
We simulate a scenario where 10 UEs are bidding for bandwidth from a CoMP cluster of 4 BSs. Any UE can purchase bandwidth from any of the 4 BSs. Each BS has 25 units of bandwidth, so that the total bandwidth available in the CoMP cluster is 100 units. In this simple scenario we further assume perfect beamforming, so any bandwidth can be used for simultaneous transmissions by multiple BSs. Each UE starts with an initial budget of C units in some virtual currency (where C = 500, 1000, 5000), and a default bandwidth allocation of 100/10 = 10 units.
Note that once a bandwidth assignment is made, the actual transmissions are exactly those of conventional CB CoMP, hence we have simulated only the bandwidth assignments themselves.
The simulation setup follows that in [11]: at each allocation epoch, a UE wants to receive, with fixed probability, a video file with length modeled by a Gaussian random variable with mean 150 units and standard deviation 50 units. For simplicity, we assume that one unit of file length requires a single transmission over one unit of bandwidth, and we ignore any channel imperfections or possibility of packet error. A UE can either use the default bandwidth 10 that it has been originally assigned, or purchase more bandwidth for a certain amount of time as per the utility function described above. In the simulation of the utility, the need b i for bandwidth at UE i is drawn from the uniform distribution on the interval (0, 1). Similarly, the quantity a j for each BS j is also drawn from the uniform distribution on (0, 1), and all a i and all b j are independent. Fig. 1 is a plot of the total data transmitted (in terms of the above units) over 100 and 1000 time periods by the 10 UEs for the three different values of each UE's initially assigned budget C, under the market described above versus the baseline non-market scenario when UEs cannot purchase additional bandwidth and must use their default bandwidth of 10 units. Note that no UE's budget is replenished during 100 or 1000 epochs over which the throughput is aggregated. Thus, if a UE exhausts its budget after a certain number of epochs, it will have to fall back on its default bandwidth for subsequent epochs.
For comparison, note that with the default allocation of bandwidth of 10 units per UE, the total data over 100 epochs is 10, 000 whereas over 1000 epochs the total data is 100, 000. It is clear that the market-based bandwidth purchasing significantly increases the total data transmitted over the baseline which does not permit the UEs to purchase additional bandwidth.
For the small budget of C = 100, we observe that even for 100 epochs, the total data is actually less than that with the default allocation of bandwidth, meaning that the UEs exhaust their budgets earlier than 100 epochs. However, with a relatively modest increase of budget per UE from 100 to 500, we observe that each UE has nonnegative budget at the end of even 1000 epochs. Thus in this simple scenario the concerns about inflated bids with virtual currency do not apply. A Overview of allocation scheme in [14] In [14], a variant of Proportional-Share allocation with a penalty term is proposed and analyzed. Suppose there are a total of R units of bandwidth, and n UEs with bids 2 b = [b 1 , . . . , b n ] T . The penalty term is proportional to the total bid amount, i.e., the utility function of UE i is is the valuation function for UE i (see below for details), and q i is the cost (per unit bid amount) to UE i to participate in the auction, and is set by the seller. The valuation function v i (r) for UE i is the logarithm of the data rate to i when it is served by the CoMP cluster with bandwidth r: where SE i is the spectral efficiency on the downlink to UE i, and is given by the Shannon Formula (10), where P i is the downlink transmit power of the CoMP cluster to UE i (from one or several serving BSs in the CoMP cluster) per unit of bandwidth, H i is the channel gain of UE i, and N 0 is the noise power spectral density.
The following results are proved in [14]: 1. For n > 1, any strictly positive resource assignment r = [r 1 , . . . , r n ] T can be obtained as the Proportional-Share assignment of the unique Nash equilibrium (NE) 3 [b 1 , . . . ,b n ] T for some set of penalties q = [q 1 , . . . , q n ] T , which are themselves unique when normalized by their sum [14,Thm. 5].
In practice, we change (13) to the following discrete version: at the kth iteration, update: where δ is a small positive step size. Let (14), we have x j , and from (10), we have so substituting in (15) yields the following polynomial equation for X: Note that at each step k of the iteration above, we have to solve the polynomial equation (18) that in general is of degree n in X, for a real root X. In general, the complexity of finding the roots of an nth-degree polynomial is O(n 2 ) Boolean (bitwise) operations [16,Thm. 7]. Not only must this computational burden be borne by the CoMP cluster, because only it knows all the terms of (18), but also the root-finding algorithm is iterative, requiring d iterations to approximate the real roots to an accuracy of about 2 −d at each step k of the allocation algorithm (16), (18), (17).
B Problems with the iterative algorithm proposed in [15] In [15], an iterative algorithm is proposed for resource allocation that seemingly avoids the need to solve the nth-degree polynomial equation (18) at each step of the iteration as required by [14]. However, as we shall show below, the algorithm in [15] creates a circular sequence of updates that leads to very undesirable outcomes.
Subsequently, at iteration k, we make the following updates in the order written: A key observation is that the updates (20) and (21) are circular. Its undesirable consequence is that the final assignment depends only on the (random) initial assignment. We prove this below.
First, we note that from (20), we have for all k = 1, 2, . . . , where in the final step we have used (19). It follows from (24) that at each iteration k, the resource allocation to UE i is given by