Patent Description:
Efficient use of air interface bandwidth enables operators to serve more users (i.e., more terminal devices) with the available radio frequency (RF) spectrum. In the uplink direction, a terminal device is able to provide only limited transmit power (e.g., approximately <NUM> dBm or <NUM> mW). This may restrict the maximum number of PRBs which may be allocated to a given user. Further, this restriction on maximum transmit power of the terminal device coupled with the limit on maximum number of users that can be scheduled in a given slot or mini-slot may lead to some PRBs being left unused in scheduling which, in turn, results in underutilization of the available RF spectrum.

Thus, there is a need for a solution enabling more efficient utilization of the full bandwidth available.

Publication <CIT> discloses a power usage-aware spectral resource allocation in a satellite long term evolution (LTE) communication system. Publication XP033448555 discloses an energy-efficient fragmentation-avoidance uplink packet scheduler for SC-FDMA-based systems.

According to an aspect, there is provided the subject matter of the independent claims. The scope of protection sought for various embodiments is set out by the independent claims.

The embodiments and features, if any, described in this specification that do not fall under the scope of the independent claims may be interpreted as examples useful for understanding various embodiments.

In the following, some example embodiments will be described with reference to the accompanying drawings, in which.

In the following, different exemplifying embodiments will be described using, as an example of an access architecture to which the embodiments may be applied, a radio access architecture based on long term evolution advanced (LTE Advanced, LTE-A) or new radio (NR, <NUM>), without restricting the embodiments to such an architecture, however. It is obvious for a person skilled in the art that the embodiments may also be applied to other kinds of communications networks having suitable means by adjusting parameters and procedures appropriately. Some examples of other options for suitable systems are the universal mobile telecommunications system (UMTS) radio access network (UTRAN or E-UTRAN), long term evolution (LTE, the same as E-UTRA), wireless local area network (WLAN or WiFi), worldwide interoperability for microwave access (WiMAX), Bluetooth®, personal communications services (PCS), ZigBee®, wideband code division multiple access (WCDMA), systems using ultra-wideband (UWB) technology, sensor networks, mobile ad-hoc networks (MANETs) and Internet Protocol multimedia subsystems (IMS) or any combination thereof.

<FIG> shows user devices <NUM> and <NUM> (equally called terminal devices) configured to be in a wireless connection on one or more communication channels in a cell with an access node (such as (e/g)NodeB) <NUM> providing the cell. The physical link from a user device to a (e/g)NodeB is called uplink or reverse link and the physical link from the (e/g)NodeB to the user device is called downlink or forward link. It should be appreciated that (e/g)NodeBs or their functionalities may be implemented by using any node, host, server or access point etc. entity suitable for such a usage.

A communications system typically comprises more than one (e/g)NodeB in which case the (e/g)NodeBs may also be configured to communicate with one another over links, wired or wireless, designed for the purpose. These links may be used for signalling purposes. The (e/g)NodeB is a computing device configured to control the radio resources of communication system it is coupled to. The NodeB may also be referred to as a base station, an access point or any other type of interfacing device including a relay station capable of operating in a wireless environment. The (e/g)NodeB includes or is coupled to transceivers. From the transceivers of the (e/g)NodeB, a connection is provided to an antenna unit that establishes bi-directional radio links to user devices. The antenna unit may comprise a plurality of antennas or antenna elements. The (e/g)NodeB is further connected to core network <NUM> (CN or next generation core NGC). Depending on the system, the counterpart on the CN side can be a serving gateway (S-GW, routing and forwarding user data packets), packet data network gateway (P-GW), for providing connectivity of user devices (UEs) to external packet data networks, or mobile management entity (MME), etc..

The user device (also called UE, user equipment, user terminal or terminal device) illustrates one type of an apparatus to which resources on the air interface are allocated and assigned, and thus any feature described herein with a user device may be implemented with a corresponding apparatus, such as a relay node.

It should be understood that, in <FIG>, user devices are depicted to include <NUM> antennas only for the sake of clarity. The number of reception and/or transmission antennas may naturally vary according to a current implementation.

<NUM> enables using multiple input - multiple output (MIMO) antennas, many more base stations or nodes than the LTE (a so-called small cell concept), including macro sites operating in co-operation with smaller stations and employing a variety of radio technologies depending on service needs, use cases and/or spectrum available. <NUM> mobile communications supports a wide range of use cases and related applications including video streaming, augmented reality, different ways of data sharing and various forms of machine type applications, including vehicular safety, different sensors and real-time control. <NUM> is expected to have multiple radio interfaces, namely below <NUM>, cmWave and mmWave, and also being integradable with existing legacy radio access technologies, such as the LTE. Integration with the LTE may be implemented, at least in the early phase, as a system, where macro coverage is provided by the LTE and <NUM> radio interface access comes from small cells by aggregation to the LTE. In other words, <NUM> is planned to support both inter-RAT operability (such as LTE-<NUM>) and inter-RI operability (inter-radio interface operability, such as below <NUM> - cmWave, below <NUM> - cmWave - mmWave). One of the concepts considered to be used in <NUM> networks is network slicing in which multiple independent and dedicated virtual sub-networks (network instances) may be created within the same infrastructure to run services that have different requirements on latency, reliability, throughput and mobility.

It should also be understood that the distribution of labor between core network operations and base station operations may differ from that of the LTE or even be non-existent.

<NUM> may also utilize unlicensed spectrum, similar to WLAN or Multefire. <NUM> operating in unlicensed spectrum is also referred to as NR-U.

Typically, in multilayer networks, one access node provides one kind of a cell or cells, and thus a plurality of (e/g) NodeBs are required to provide such a network structure.

Typically, a network which is able to use "plug-and-play" (e/g)NodeBs, includes, in addition to Home (e/g)NodeBs (H(e/g)nodeBs), a home node B gateway, or HNB-GW (not shown in <FIG>).

Efficient use of air interface bandwidth enables operators to serve more users (i.e., more terminal devices) with the available RF spectrum and/or to produce further throughput. A good scheduling algorithm and efficient PRB allocation scheme can improve spectral efficiency by scheduling users at an opportune time and with better utilization of the available PRBs. In the uplink direction, a terminal device is able to provide only limited transmit power (e.g., approximately <NUM> dBm or <NUM> mW, depending on several factors such as terminal device capability and power reduction). This may restrict the maximum number of PRBs which may be allocated to a given user. The number of allocated PRBs for a given terminal device may depend on several different factors, such as, the location of the terminal device within the cell, the power control parameters used by the terminal device, the modulation and coding scheme (MCS) allocated for the terminal device. Further, this restriction on maximum transmit power of the terminal device coupled with the limit on maximum number of users that can be scheduled in a given slot or mini-slot may lead to some PRBs being left unused in scheduling which, in turn, results in underutilization of the available RF spectrum. In addition to enabling utilization of the full bandwidth, a resource assignment method can also ensure an improved allocation of bandwidth among the scheduled terminal devices such that a better spectral efficiency and throughput can be achieved or more data can be carried on the same amount of air interface resource.

Certain current PRB allocation algorithms attempt to equally distribute PRBs among eligible terminal devices with similar quality of service (QoS) requirements and buffered data. However, due to the uplink transmit power limitation of terminal devices, an eligible terminal device on the uplink may be assigned a lower number of PRBs than its fair share for being able to sustain the MCS index of <NUM> (or other lowest allowed MCS index value) is achievable. Thus, if in a scheduling opportunity, all eligible terminal devices may be provided an equal share of N available PRBs, and if one of those eligible terminal devices is a power-limited terminal device which is able to utilize only M (< N) of the available N PRBs, N-M PRBs could potentially be further distributed among the other scheduled terminal devices. In fact, assigning power-limited terminal devices many PRBs at the cost of a reduction in MCS may even hurt system performance in more ways than one. On one hand, by assigning terminal devices in poor RF conditions a larger number of PRBs results in assignment of lower MCS and lower bps/Hz for these terminal devices. On the other hand, resources are taken away from terminal devices in good RF conditions that would be able to use a higher MCS and better spectral efficiency or bits per second per hertz value.

Therefore, if terminal devices in poor RF conditions are assigned PRBs such that their power spectral density (PSD) is not lowered, and the extra available PRBs are assigned to terminal devices under better RF conditions, a higher spectral efficiency may be achieved. In addition, to improve the performance of power-limited and/or cell-edge terminal devices, these terminal devices may be scheduled more frequently in the time domain, at least under load conditions where the terminal device in question is not already being scheduled in every slot. The embodiments to be discussed below in detail provide an uplink PRB allocation scheme for implementing said concept(s) and thus overcoming or at least alleviating the problems mentioned above.

<FIG> illustrates a process according to embodiments. The illustrated process may be carried out by an access node such as an access node <NUM> of <FIG> or a particular part (e.g., a computing device for scheduling or other apparatus) comprised in said access node. In some embodiments, the illustrated process may be carried out by a distributed unit of an access node (e.g., DU <NUM> of <FIG>) or a centralized unit of an access node. In the following, the entity carrying out the process is called simply an apparatus without loss of generality.

Initially, it may be assumed that the apparatus is aware of a plurality of terminal devices for which uplink PRB allocation should be performed. The plurality of terminal device may correspond to terminal devices short-listed for current transmission time interval (TTI) scheduling. In some embodiments, the apparatus or another apparatus communicatively connected to said apparatus may have already performed time-domain scheduling for the plurality of terminal devices.

The apparatus allocates, in block <NUM>, one or more of a plurality of available PRBs to the plurality of terminal devices. The allocating in block <NUM> is performed so that a pre-defined limit (or threshold) for power spectral density is matched (i.e., equaled) or exceeded for the plurality of terminal devices (i.e., the pre-defined limit for the power spectral density is not compromised). In other words, the allocation for a given terminal device is limited to a largest number of PRBs which still corresponds to a value of the power spectral density (i.e., power-per-PRB) calculated for the terminal device which is equal to or above the pre-defined limit. The allocation of block <NUM> is called, in the following, the first round of PRB allocation.

In some embodiments, a plurality of pre-defined limits for the power spectral density may be defined, respectively, for the plurality of terminal devices, instead of a single pre-defined limit for all of the plurality of terminal devices, in block <NUM>. At least some of said plurality of pre-defined limits may be different from each other. Thus, in summary, the allocating in block <NUM> is performed so that a power spectral density for the plurality of terminal devices matches or exceeds a pre-defined limit or a plurality of respective pre-defined limits for power spectral density (i.e., so that a pre-defined limit or a plurality of respective pre-defined limits for power spectral density are not compromised).

In some embodiments, the pre-defined limit or the plurality of pre-defined limits (respectively) for power spectral density may correspond to power spectral density associated with a previous or current allocation for the plurality of terminal devices. Thus, the allocation in block <NUM> may be carried out so that it does not lead to worsening of the performance in terms of power spectral density for any of the plurality of terminal devices.

In some embodiments, the apparatus may calculate, in block <NUM>, for each (or at least one) of the plurality of terminal devices, a maximum number of PRBs transmittable by a terminal device without the power spectral density falling below the pre-defined limit (of said terminal device) for the power spectral density according to one or more transmission parameters of the terminal device. The allocating in block <NUM> may, then, be performed based on said maximum numbers of PRBs transmittable by the plurality of terminal devices. Namely, the apparatus may prioritize, in the allocating in block <NUM>, terminal devices with a low maximum number of PRBs transmittable by a terminal device over terminal devices with a high number of maximum number of PRBs transmittable by a terminal device.

To enable the allocation in block <NUM>, the apparatus may initially calculate values of the power spectral density (i.e., power-per-PRB) for the plurality of terminal devices based on the transmission parameters of the plurality of terminal devices. One or more transmission parameters for a given terminal device may comprise at least a target received power at an access node (assuming full pathloss compensation) P<NUM> for the terminal device, a fractional power control factor α for the terminal device and current pathloss PL for a radio channel between the terminal device and the access node. The fractional power control factor α may have a value between <NUM> and <NUM>, where α = <NUM> indicates that there is no pathloss compensation (i.e., all terminal devices transmit at the same power leading typically to different received powers due to differing pathlosses of different radio channels) and α = <NUM> indicates full pathloss compensation for achieving same received power for all terminal devices. The pre-defined limit for power spectral density (or transmission power per PRB) may also be comprised in said one or more transmission parameters.

Using the aforementioned three parameters P<NUM>, α and PL, the transmit power of a terminal device per PRB PRPB (using absolute values, not dB) may be written as <MAT> where PPowerClass is a maximum output power per PRB for a (pre-defined) power class of the terminal device (i.e., a maximum transmit power of the terminal device for a PRB). The power class may be specifically <NUM> NR power class. The transmit power of the terminal device per PRB PTX may correspond to the aforementioned power spectral density while the maximum output power per PRB for the power class of the terminal device PPowerClass may correspond to the pre-defined limit (of said terminal device) for the power spectral density.

To perform the allocation in block <NUM>, the apparatus may further calculate, for each (or at least one) of the plurality of terminal devices, the maximum number of PRBs "nPRBMCS" transmittable by the terminal device without the power spectral density falling below the pre-defined limit (of said terminal device) for the power spectral density according to <MAT> where PUL is an uplink transmit power of the terminal device and PPRB is the transmit power of the terminal device per PRB.

In some embodiments, following the completion of the first round of PRB allocation in block <NUM>, the apparatus may store the transport block size (TBS), information on the allocated PRBs and/or MCS for the plurality of terminal devices (or at least the ones for which PRBs were allocated) to terminal device context maintained in a memory of the apparatus.

The apparatus determines, in block <NUM>, whether any PRBs are still available for allocation following the first round of allocation in block <NUM>. In response to one or more PRBs being still available in block <NUM>, the apparatus further allocates, in block <NUM>, at least one of the one or more PRBs still available to at least one of the plurality of terminal devices. The further allocating in block <NUM> is performed so that a pre-defined value (or one of a plurality of pre-defined values) for the MCS index is sustainable for said at least one (or all) of the plurality of terminal devices. In an embodiment, the pre-defined value for the MCS index is <NUM>. The value of the MCS index defines, according to a general definition, an achievable value for the number of spatial streams, the modulation type and achievable value for the coding rate. For example, for MCS index of <NUM>, the number of spatial streams is <NUM>, the modulation type is binary phase shift keying (BPSK), and the coding rate is <NUM>/<NUM>. The allocation in block <NUM> is called, in the following, the second round of allocation.

In response to no PRBs being available in block <NUM>, the PRB allocation process ends in block <NUM>.

In some embodiments, the further allocating (i.e., the second round of allocation) in block <NUM> comprises allocating all of the one or more PRBs still available following the initial allocating in block <NUM>.

In some embodiments, the apparatus may calculate, in block <NUM>, for each (or at least one) of said at least one of the plurality of terminal devices, a maximum number of PRBs for sustaining the pre-defined value of the MCS index while maximizing throughput. The maximum number of PRBs for sustaining the pre-defined value of the MCS index for a given terminal device may be calculated by, first, calculating power spectral density (i.e., power per PRB) for the terminal device at a given pathloss and, second, calculating the maximum number of PRBs for sustaining the pre-defined value of the MCS index based on the power spectral density and the parameter(s) associated with the pre-defined value of the MCS index (i.e., by determining the largest number of PRBs for which the power spectral density is still equal to or larger than the power spectral density needed for the pre-defined value of the MCS index). The further allocating in block <NUM> may, then, be performed based on said maximum numbers of PRBs for sustaining the pre-defined value of the MCS index (e.g., MCS index of <NUM>) calculated for the plurality of terminal devices.

In some embodiments, the apparatus may prioritize, in the further allocating in block <NUM>, terminal devices with a high value of a second pre-defined scheduling metric (e.g., a proportional fair scheduling metric) over terminal devices with a low value of the second pre-defined scheduling metric. The second pre-defined scheduling metric may be defined here as discussed below in connection with block <NUM> of <FIG>.

In some embodiments, following the completion of the second round of PRB allocation in block <NUM>, the apparatus may store or update the transport block size (TBS), information on the allocated PRBs and/or MCS for the plurality of terminal devices (or at least the ones for which PRBs were allocated in block <NUM>) to terminal device context maintained in a memory of the apparatus.

In response to no PRBs being still available in block <NUM>, the apparatus may simply terminate the allocation process.

In some embodiments, the allocation of PRBs in the first round in block <NUM> and/or in the second round in block <NUM> may be carried out using a round-robin scheduling algorithm or a weighted round-robin scheduling algorithm. In round-robin scheduling for PRB allocation, PRBs are assigned to each terminal device in equal portions and in circular order, handling all terminal devices without priority. In weighted round-robin scheduling for PRB allocation, PRBs are assigned to each terminal device in weighted (i.e., at least partially unequal) portions and in circular order, handling all terminal devices without priority. In other embodiments, another scheduling algorithm (e.g., deficit round-robin scheduling algorithm, a weighted fair queuing scheduling algorithm, a proportional fairness scheduling algorithm or a delay-aware scheduling algorithm) may be employed. The scheduling algorithms used in the first and second rounds <NUM>, <NUM> may be the same (or same type of) algorithms or different (or different type of) algorithms.

By carrying out the uplink PRB allocation in two rounds defined in connection with blocks <NUM>, <NUM>, any cell center terminal devices (having typically a high-quality RF channel) will be allocated an increased number of PRBs compared to reference algorithm which attempts to equally distribute PRBs among terminal devices with similar QoS and data buffers. Additionally, cell edge terminal devices (having typically a low-quality RF channel) will be allocated with a smaller number of PRBs such that higher MCS index can be applied for said cell edge terminal devices. Thus, higher spectral efficiency and consequently higher system throughput can be achieved. Also, the cell edge terminal devices may be scheduled more often in the time domain so that the reduction of the number of PRBs in a grant can be compensated for. The uplink PRB allocation scheme according to embodiments will produce very good results especially for higher uplink system bandwidths, e.g., <NUM> uplink system bandwidths (e.g., <NUM>).

One possible use case for the embodiments involves a system comprising one or more power limited terminal devices and one or more non-power limited terminal devices. In such a system, the one or more power limited terminal devices may be restricted into fewer PRBs compared to the non-power limited terminal devices (i.e., the pre-defined limit for power spectral density may be defined differently for the power limited and non-power limited terminal devices). Further, the one or more power limited terminal devices may be configured with a higher pre-define value for the MCS index compared to the one or more non-power limited terminal devices. This will help to achieve higher spectral efficiency. Moreover, the one or more power limited terminal devices can be scheduled more frequently in the time domain such that they get their fair share over a given period.

<FIG> illustrates another process according to embodiments. The illustrated process may be carried out by an access node such as an access node <NUM> of <FIG> or a particular part (e.g., a computing device for scheduling or other apparatus) comprised in said access node. In some embodiments, the illustrated process may be carried out by a distributed unit of an access node (e.g., DU <NUM> of <FIG>) or a centralized unit of an access node. The process of <FIG> may correspond to a more detailed implementation of the process of <FIG>. In the following, the entity carrying out the process is called simply an apparatus without loss of generality.

Initially, the apparatus determines, in block <NUM>, a plurality of terminal devices for uplink PRB allocation. The determining in block <NUM> may comprise selecting, from M eligible terminal devices, N terminal devices having the N highest values of a first pre-defined scheduling metric as the plurality of terminal devices for uplink PRB allocation. Here, M and N are integers larger than one (or larger than zero) with M ≥ N, and a high value of the first pre-defined scheduling metric for a terminal device indicates the terminal device is to be prioritized for scheduling. The first pre-defined scheduling metric (or equally the first pre-defined prioritization metric) may be, for example, a proportional fair scheduling metric or a QoS metric.

In some embodiments, the first pre-defined scheduling metric for a given terminal device may be defined as a metric dependent on (or defined based on) one or more of the following parameters: signal-to-interference-plus-noise ratio (SINR) measured at an access node serving the terminal device, QoS requirement of the terminal device and a subscription of the terminal device in the network. In some embodiments, the first pre-defined scheduling metric may be defined to be one of the listed parameters.

The parameter N may be defined to be equal to the maximum number of terminal devices schedulable in uplink (in a cell served by an access node) while satisfying a physical downlink control channel (PDCCH) limit and/or one or more pre-defined hardware constraints (e.g., a pre-defined processing limit). The PDCCH limit is a limit which restricts the number of terminal devices schedulable per scheduling opportunity. For example, in <NUM> deployment with <NUM> symbols PDCCH configuration, there can be a maximum of <NUM> terminal devices scheduled in a scheduling opportunity if aggregation level <NUM> is used. Regarding the pre-defined hardware constraints (or specifically the pre-defined processing limit), it may be assumed that the access node software is running on a given hardware specification so that M machine instructions can be executed per second (M being a positive integer). When the number of terminal devices scheduled per TTI increases, the number of machine instructions required to be executed by the access node is also increased. Thus, the pre-defined processing limit also limits the number of terminal device schedulable per TTI. To give an example, with aforementioned capacity, <NUM> terminal devices may be scheduled per TTI. In other words, the number of terminal device schedulable per scheduling opportunity with the given hardware capacity is <NUM>. It should be noted that the actual capacity of a terminal device may be defined as a minimum of the PDCCH and hardware capacities (i.e., a minimum of <NUM> and <NUM> in the above example).

Above, it was assumed that the N highest values of a first pre-defined scheduling metric indicate that the associated N terminal devices are optimal for scheduling. In other embodiments, the first pre-defined scheduling metric may be defined in an inverse manner so that low values indicate preference for scheduling or high scheduling prioritization. In such cases, N terminal devices having the N lowest values of the first pre-defined scheduling metric may be selected in block <NUM>.

In some embodiments, the apparatus may also perform time-domain scheduling in block <NUM> or before it.

Then, the apparatus may perform, in blocks <NUM> to <NUM>, the allocation of the available PRBs (or at least some of them) to the plurality of terminal devices (i.e., N terminal devices) in a similar manner as described in connection with blocks <NUM> to <NUM> of <FIG>.

Finally, in response to the allocation coming to an end either in block <NUM> (No) or block <NUM>, the apparatus causes, in block <NUM>, scheduling of uplink transmissions of the plurality of terminal device using the determined allocation of the plurality of available PRBs. For example, the apparatus may at least cause, in block <NUM>, transmitting information on the allocated PRBs to the plurality of terminal devices (or to a part thereof if no allocation is made for all of the plurality of terminal devices). The information may be transmitted, e.g., as downlink control information (DCI).

<FIG> illustrates yet another process according to embodiments. The illustrated process may be carried out by an access node such as an access node <NUM> of <FIG> or a particular part (e.g., a computing device for scheduling or other apparatus) comprised in said access node. In some embodiments, the illustrated process may be carried out by a distributed unit of an access node (e.g., DU <NUM> of <FIG>) or a centralized unit of an access node. The process of <FIG> may correspond to a more detailed implementation of the process of <FIG> and/or <FIG>. <FIG> correspond to an example of round-robin type scheduling carried out in consecutive first and second rounds of PRB allocation. In the following, the entity carrying out the process is called simply an apparatus without loss of generality.

Referring to <FIG>, the apparatus initially determines (or selects), in block <NUM>, a plurality of terminal device for uplink PRB allocation. Block <NUM> may correspond fully to block <NUM> of <FIG>. The plurality of terminal devices may correspond to terminal devices short-listed for current transmission time interval (TTI) scheduling.

Then, the apparatus calculates, in block <NUM>, for each (or at least one) of the plurality of terminal devices, a maximum number of physical resource blocks "nPRBMCS" transmittable by a terminal device according to one or more transmission parameters of the terminal device without compromising a pre-defined limit (of said terminal device) for power spectral density (i.e., the power per PRB limit PPowerClass). Said one or more transmission parameters for a given terminal device may comprise at least a target received power at an access node (assuming full pathloss compensation) P<NUM> for the terminal device, a fractional power control factor α for the terminal device and current pathloss PL for a radio channel between the terminal device and the access node (and optionally also the maximum output power for a power class of the terminal device PPowerClass), as discussed also above. This calculation may be performed, e.g., using (<NUM>) & (<NUM>).

Further, the apparatus calculates, in block <NUM>, for each (or at least one) of said at least one of the plurality of terminal devices, a maximum number of physical resource blocks "nPRBTBS" for sustaining a pre-defined value (e.g., <NUM>) for the MCS index while maximizing throughput.

As described above, the allocation of the PRBs may be carried out in two consecutive rounds of allocation. In <FIG>, the first round of PRB allocation involves blocks <NUM> to <NUM>, <NUM> while the second round of PRB allocation involves blocks <NUM> to <NUM>, <NUM>.

In the first round of PRB allocation, the apparatus initially selects, in block <NUM>, a terminal device of the plurality of terminal devices corresponding to the lowest value of "nPRBMCS" (out of the plurality of values of "nPRBMCS" calculated for the plurality of terminal devices). For example, the apparatus may, in block <NUM>, sort the plurality of terminal device in an ascending order based on values of "nPRBMCS" and select the first (i.e., initial) terminal device of said sorted set comprising the plurality of terminal devices. Obviously, the plurality of terminal devices may be equally sorted in a descending order based on values of "nPRBMCS" and the last terminal device in said sorted set may be selected first. In other embodiments, the terminal device may be sorted in another order (based on other metric).

The apparatus calculates, in block <NUM>, an initial maximum number of PRBs to be allocated to the (selected) terminal device "Round1UEShare" as <MAT> where "RemainingPRBs" is the number of currently remaining PRBs to be allocated and wUE,i is a weight or weighing factor for the ith terminal device (i.e., the selected terminal device) of the plurality of terminal devices arranged in said order of ascending "nPRBMCS", j is a summing index and N is the number of the plurality of terminal devices. For the initial terminal device, the index i has a value of <NUM>. The index i in wUE,i corresponds to the aforementioned sorted order of the plurality of terminal devices in the first round of PRB allocation, that is, the ith terminal device corresponds to a terminal device having the ith lowest value of "nPRBMCS". The weighing factor wUE,i for a given terminal device may depend, e.g., on a QoS metric and one or more wireless channel metrics. "RemainingPRBs1" is associated specifically with the first round of PRB allocation. At this point in the process (i.e., when performing the allocation for the first terminal device), "RemainingPRBs" corresponds to all of the available PRBs for uplink allocation.

In (<NUM>), the general case where the plurality of terminal devices were assigned a corresponding plurality of weighing factors was considered. In some embodiments, these weighing factors may be defined to one for all of the plurality of terminal devices. In such embodiments, the equation (<NUM>) may be written in a simplified form as <MAT> where "RemainingUEs1" is the number of currently remaining terminal devices of the plurality of terminal devices awaiting (first round) allocation (including here also the selected terminal device). At this point in the process (i.e., when performing the allocation for the first terminal device), "RemainingUEs1" corresponds to all of the plurality of terminal devices determined for uplink PRB allocation in block <NUM>.

The apparatus allocates, in block <NUM>, to the terminal device, an initial number of PRBs being equal to <MAT> wherein "nPRBMCS" is the maximum number of PRBs transmittable by the terminal device (without compromising the power per PRB). "Round1UEShare" in (<NUM>) is provided by (<NUM>) or (<NUM>).

The apparatus determines, in block <NUM>, whether all of the PRBs which were initially available for allocation have already been allocated.

If it is determined that all the PRBs have been allocated in block <NUM>, the apparatus causes, in block <NUM>, scheduling of uplink transmissions of the plurality of terminal devices using the allocation of the plurality of available PRBs determined in blocks <NUM> to <NUM>, <NUM>. The causing scheduling in block <NUM> may be carried out similar to as described in connection with block <NUM> of <FIG>.

If it is determined that all the PRBs have been not allocated in block <NUM>, the apparatus determines, in block <NUM>, whether or not all of the plurality of terminal devices have gone through the first round of allocation (i.e., whether at least one PRB has been allocated for each of the plurality of terminal devices). If this is not the case, the apparatus selects, in block <NUM>, the next terminal device of the plurality of terminal devices having the next lowest "nPRBMCS" (i.e., the lowest "nPRBMCS" of the one or more terminal devices for which the first round of PRB allocation has not been carried out). Using the notation of (<NUM>), the apparatus increments, in block <NUM>, the index i by one. Then, the process described above in connection with blocks <NUM> to <NUM> is repeated for said next terminal device.

This process of first round PRB allocations repeats in the order of ascending "nPRBMCS" values until it is determined, in block <NUM>, that all of the available PRBs have been allocated or it is determined, in block <NUM>, that one or more PRBs have been allocated to each of the plurality of terminal devices. The values of parameters "RemainingPRBs" and "RemainingUEs1" are updated regularly during said process as PRBs are allocated for terminal devices (e.g., in block <NUM>). The updating may be carried out, for example, according to the equations: <MAT> <MAT>.

As described also in connection with <FIG>, following the completion of the first round of PRB allocation, the apparatus may store the transport block size (TBS), information on the allocated PRBs and/or MCS for the plurality of terminal devices (or at least the ones for which PRBs were allocated in the first round) to terminal device context maintained in a memory of the apparatus.

If it is determined, in block <NUM>, that all of the plurality of terminal devices have gone through the first round of PRB allocation, the apparatus proceeds to the second round of PRB allocation. In the second round of PRB allocation, the apparatus initially selects, in block <NUM>, a terminal device of the plurality of terminal devices corresponding to the highest value of a pre-defined second scheduling metric. Here, it is assumed that a high value of the pre-defined second scheduling metric indicates that associated terminal device should be prioritized in scheduling. The second pre-defined scheduling metric may be, for example, a proportional fair scheduling metric or a QoS metric. The second pre-defined scheduling metric may be the same or different compared to the first pre-defined scheduling metric.

In some embodiments, the second pre-defined scheduling metric for a given terminal device may be defined as a metric dependent on (or defined based on) one or more of the following parameters: signal-to-interference-plus-noise ratio (SINR) measured at an access node serving the terminal device, QoS requirement of the terminal device and a subscription of the terminal device in the network. In some embodiments, the second pre-defined scheduling metric may be defined to be one of the listed parameters.

The selecting in block <NUM> may involve determining or calculating values of the pre-defined second scheduling metric for the plurality of terminal devices, sorting the plurality of terminal devices in a descending (or ascending) order based on the values of the pre-defined second scheduling metric and selecting said initial terminal device of round <NUM> allocation to be the first (or last) terminal device of said sorted set comprising the plurality of terminal devices.

The apparatus calculates, in block <NUM>, a second maximum number of PRBs "Round2UEShare" to be allocated to the terminal device having the lowest value of a second pre-defined scheduling metric as <MAT> where "RemainingPRBs" is the number of currently remaining PRBs to be allocated and w'UE,i is a weight or weighing factor for the ith terminal device of the plurality of terminal devices (i.e., the selected terminal device) arranged in said order of descending values of the second pre-defined scheduling metric, j is a summing index and N is the number of the plurality of terminal devices. For the initial terminal device, the index i has a value of <NUM>. The index i in w'UE,i corresponds to the aforementioned sorted order of the plurality of terminal devices in the second round of PRB allocation, that is, the ith terminal device corresponds to a terminal device having the ith highest value of the second pre-defined scheduling metric. The weighing factor w'UE,i for a given terminal device may depend, e.g., on a QoS metric and one or more wireless channel metrics. "RemainingPRBs1" is associated specifically with the first round of PRB allocation. The weighing factors w'UE,i used in the second round of PRB allocation may, as a whole, correspond to the weighing factors wUE,i used in the first round of PRB allocation though their order may be different (ordered here based on the second pre-defined metric as opposed to based on "nPRBMCS"). In other words, each terminal device may be associated with the same weighing factor during both of the first and second rounds but with different i indices. In other embodiments, different weighing factor values may be used in the first and second rounds.

In (<NUM>), the general case where the plurality of terminal devices were assigned a corresponding plurality of weighing factors was considered. In some embodiments, these weighing factors may be defined to be one for all of the plurality of terminal devices. In such embodiments, the equation (<NUM>) may be written in a simplified form as <MAT> where "RemainingUEs2" is the number of currently remaining terminal devices of the plurality of terminal devices awaiting further allocation (i.e., PRB allocation in the second round). Initially, "RemainingUEs2" has a value equal to the number of the plurality of terminal devices.

The apparatus allocates, in block <NUM>, to the terminal device having the lowest value of the second pre-defined scheduling metric, a number of additional PRBs "AllocatedPRBs2" being equal to <MAT> where "nPRBTBS" is the maximum number of physical resource blocks for sustaining a pre-defined value of the MCS index (e.g., MCS index of <NUM>) as calculated in block <NUM> and "nPRBMCS" is the maximum number of physical resource blocks transmittable by the terminal device, as defined also above. Here, "Round2UEShare" may be calculated based on (<NUM>) or (<NUM>).

The apparatus determines, in block <NUM>, whether all of the PRBs which were initially available for allocation have already been allocated (either in the first or second round of allocation). In other words, the apparatus determines, in block <NUM>, whether one or more available PRBs are yet to be allocated.

If it is determined that all the PRBs have been allocated in block <NUM>, the apparatus causes, in block <NUM>, scheduling of uplink transmissions of the plurality of terminal devices using the allocation of the plurality of available PRBs determined in blocks <NUM> to <NUM>, <NUM>, <NUM>. The causing scheduling in block <NUM> may be carried out similar to as described in connection with block <NUM> of <FIG>.

In response to the number of currently remaining PRBs (i.e., available PRBs waiting allocation) following the allocating of "AllocatedPRBs2" PRBs being larger than zero in block <NUM>, the apparatus selects, in block <NUM>, a terminal device having the next highest value of the second pre-defined scheduling metric. Subsequently, the process described in connection with blocks <NUM> to <NUM> and possibly block <NUM> is repeated for that next terminal device. This process of second round of PRB allocation repeats until it is determined, in block <NUM>, that all of the available PRBs have been allocated or it is determined, in block <NUM>, that one or more PRBs have been allocated to each of the plurality of terminal devices in the second round of PRB allocation. Similar to as described for the first round, the values of parameters "RemainingPRBs" and "RemainingUEs2" are updated regularly during execution of the second round of PRB allocation as PRBs are allocated for terminal devices (e.g., in block <NUM>). The updating may be carried out, for example, according to the equations: <MAT> <MAT>.

As described in connection with <FIG>, following the completion of the second round of RPB allocation, the apparatus may store or update the transport block size (TBS), information on the allocated PRBs and/or MCS for the plurality of terminal devices (or at least the ones for which PRBs were allocated in the second round) to terminal device context maintained in a memory of the apparatus.

If it is determined that all of the plurality of terminal device have gone through the second round of PRB allocation in block <NUM> (i.e., no next terminal device is selectable in block <NUM>), the apparatus causes, in block <NUM>, scheduling of uplink transmissions of the plurality of terminal devices using the allocation of the plurality of available PRBs determined in blocks <NUM> to <NUM>, <NUM>, <NUM>. The causing scheduling in block <NUM> may be carried out similar to as described in connection with block <NUM> of <FIG>.

In embodiments discussed above, it was assumed all of the plurality of terminal devices to which uplink PRB was carried out have full buffer traffic. In other words, the buffers of the data flows of the terminal devices were always assumed to have unlimited amount of data to transmit and, therefore, transmission of the data payloads effectively never finishes. However, the case of finite buffer traffic may be easily handled, by the solutions according to embodiments, by limiting the (total) PRB allocation (i.e., the total number of PRBs allocated) for a given terminal device to be smaller than or equal to the number of PRBs that will fully exhaust the buffer of that terminal device. This limiting may be carried out by the apparatus carrying out also the rest of the PRB allocation process according to embodiments.

The blocks, related functions, and information exchanges described above by means of <FIG> are in no absolute chronological order, and some of them may be performed simultaneously or in an order differing from the given one.

The PRB allocation solution according to an embodiment has been simulated and its performance has been compared against a reference algorithm to highlight the benefits of the embodiments. The simulated algorithm according to an embodiment corresponds specifically to the process of <FIG>. The pre-defined value of the MCS index to be at least sustained in the second round of PRB allocation is zero in this particular example. The reference algorithm is a frequency-domain scheduling algorithm which attempts to equally distribute PRBs among users (i.e., terminal devices) with similar QoS and data buffers. Thus, depending on the availability of PRBs, users (i.e., terminal devices) may be assigned, using the reference algorithm, PRBs beyond the PSD-limit up to their TBS limit (such that MCS <NUM> can be sustained). The simulation parameters used are given in the Table below.

The results of the simulations for the proposed algorithm according to an embodiment and the reference algorithm are provided/illustrated in two Tables provided below and in <FIG>, <FIG>, <FIG>, <FIG> and <FIG>.

The two Tables provided below show comparative results of the simulations carried out with the reference algorithm and the proposed algorithm according to an embodiment. As may be observed from the above Tables, the proposed algorithm according to an embodiment outperforms the reference algorithm under most scenarios. Gains of <NUM>% to <NUM>% in geometric mean of user throughput (Tput) along with <NUM>% to <NUM>% gains in average UE throughput are observed with the proposed algorithm over the reference algorithm.

<FIG> and <FIG> plot the simulated user throughput CDF and simulated user throughput vs. simulated pathloss, respectively, for the proposed algorithm and the reference algorithm. It may be observed that with the proposed algorithm most users are able to achieve better uplink throughput especially the higher throughput or cell-center users when compared to the resource allocation method of the reference algorithm.

With the proposed algorithm according to an embodiment, the good RF users are allocated significantly larger number of PRBs when compared to the reference algorithm. This helps the performance of good RF users (i.e., users or terminal devices encountering good RF conditions) which, along with a large number of PRBs, may also use higher MCSs resulting in better throughput for these users. This behavior may be observed also from <FIG> showing simulated cumulative distribution functions (CDF) for the proposed algorithm and the reference algorithm. In contrast, the reference resource allocation algorithm attempts to equally distribute PRBs among all users resulting in lower MCSs values being assigned to users in not very good RF conditions which results in lower spectral efficiency for these users.

Further, from <FIG> and <FIG> showing the simulated CDFs for allocated PRBs for a user and pathloss versus PRB allocated respectively, it may be observed that there is no significant change in the PRB allocation for cell-edge users with the proposed algorithm because of the limited power available to these users for uplink transmissions.

From <FIG> which shows the simulated number of times a user is scheduled in the time domain vs. pathloss for the proposed algorithm according to an embodiment and for the reference algorithm, it may be observed that the proposed algorithm allows mid-cell users and users that are not in good RF conditions to be scheduled more frequently in time, while users in very good RF conditions are scheduled with a lower frequency. More frequent scheduling of the no-so-good RF users helps performance as these users can use only a limited number of PRBs for a schedule because of transmit power limitation that exists for uplink. Increased scheduling frequency in time domain helps in maintaining fairness thus improving gains in user throughput. Higher scheduling frequency for these users also improves gains with increase in maximum number of scheduled UEs as can be observed from the two Tables illustrating the results of the simulations. There each cell has <NUM> users/cell though a maximum of <NUM>, <NUM> or <NUM> users per cell can be scheduled in a slot.

<FIG> illustrates an exemplary apparatus <NUM> configured to carry out at least some of the functions described above in connection with <FIG>. The apparatus <NUM> may be an electronic device comprising electronic circuitries. The apparatus <NUM> may be an access node (e.g., an access node <NUM> of <FIG>) or a part thereof, a distributed unit of an access node (e.g., the distributed unit <NUM> of <FIG>) or a part thereof or a central unit of an access node or a part thereof.

The apparatus <NUM> may comprise a communication control circuitry <NUM> such as at least one processor, and at least one memory <NUM> including a computer program code (software) <NUM> wherein the at least one memory <NUM> and the computer program code (software) <NUM> are configured, with the at least one processor, to cause the apparatus to carry out any one of the embodiments of the apparatus described above. Said at least one memory <NUM> may also comprise at least one database <NUM>.

The memory <NUM> may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The memory may comprise a learning index, as described in previous embodiments.

The apparatus <NUM> may further comprise one or more communication interfaces (Tx/Rx) <NUM> comprising hardware and/or software for realizing communication connectivity according to one or more communication protocols. The one or more communication interfaces <NUM> may provide the apparatus <NUM> with communication capabilities to communicate in the cellular communication system and enable communication with network nodes and terminal devices, for example. The one or more communication interfaces <NUM> may comprise standard well-known components such as an amplifier, filter, frequency-converter, (de)modulator, and encoder/decoder circuitries and one or more antennas.

Referring to <FIG>, the communication control circuitry <NUM> may comprise at least uplink PRB allocation circuitry <NUM> configured to carry out uplink PRB allocation (namely, at least frequency-domain scheduling). The uplink PRB allocation circuitry <NUM> may be configured to carry out at least some of the processes illustrated in any of <FIG>.

As used in this application, the term 'circuitry' may refer to one or more or all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of hardware circuits and software (and/or firmware), such as (as applicable): (i) a combination of analog and/or digital hardware circuit(s) with software/firmware and (ii) any portions of hardware processor(s) with software, including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a terminal device or an access node, to perform various functions, and (c) hardware circuit(s) and processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g. firmware) for operation, but the software may not be present when it is not needed for operation. This definition of 'circuitry' applies to all uses of this term in this application, including any claims. As a further example, as used in this application, the term 'circuitry' also covers an implementation of merely a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its (or their) accompanying software and/or firmware. The term 'circuitry' also covers, for example and if applicable to the particular claim element, a baseband integrated circuit for an access node or a terminal device or other computing or network device.

In an embodiment, at least some of the processes described in connection with <FIG> may be carried out by an apparatus comprising corresponding means for carrying out at least some of the described processes. Some example means for carrying out the processes may include at least one of the following: detector, processor (including dual-core and multiple-core processors), microprocessor, digital signal processor (DSP), controller, micro-controller, receiver, transmitter, encoder, decoder, memory, RAM, ROM, software, firmware, display, user interface, display circuitry, user interface circuitry, user interface software, display software, circuit, antenna, antenna circuitry, application-specific integrated circuit (ASIC), digital signal processing device (DSPD), programmable logic device (PLD) and field programmable gate array (FPGA). For firmware or software, the implementations according embodiments may be carried out through modules of at least one chipset (procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit and executed by processors. The memory unit may be implemented within the processor or externally to the processor. In the latter case, it can be communicatively coupled to the processor via various means, as is known in the art. In an embodiment, the at least one processor, the memory, and the computer program code form processing means or comprises one or more computer program code portions for carrying out one or more operations according to any one of the embodiments of <FIG> or operations thereof.

Embodiments as described may also be carried out in the form of a computer process defined by a computer program or portions thereof. Embodiments of the methods described in connection with <FIG> may be carried out by executing at least one portion of a computer program comprising corresponding instructions. The computer program may be provided as a computer readable medium comprising program instructions stored thereon or as a non-transitory computer readable medium comprising program instructions stored thereon. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or a processor. The computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example. The computer program medium may be a non-transitory medium. Coding of software for carrying out the embodiments as shown and described is well within the scope of a person of ordinary skill in the art.

Claim 1:
An apparatus (<NUM>) comprising means for performing:
allocating (<NUM>, <NUM>) one or more of a plurality of available physical resource blocks to a plurality of terminal devices, wherein the allocating (<NUM>, <NUM>) is performed so that a power spectral density for the plurality of terminal devices matches or exceeds a pre-defined limit or a plurality of respective pre-defined limits for the power spectral density; and
in response to one or more physical resource blocks being still available (<NUM>, <NUM>) following said allocating (<NUM>, <NUM>), further allocating (<NUM>, <NUM>) at least one of the one or more physical resource blocks still available to at least one of the plurality of terminal devices, wherein the further allocating (<NUM>, <NUM>) is performed so that a pre-defined value for a modulation and coding scheme index is sustainable for said at least one of the plurality of terminal devices.