The 5G Standard


May 22,2023

By Juha Korhonen, 3GPP MCC

Scheduling of data transmissions is a very important part of mobile networks, with the performance of a network’s data throughput depending on scheduling algorithms. These are proprietary, not specified in any standard, but a ‘clever’ scheduler is essential for any successful network product.

The data scheduler exists in the base station (gNB), at the MAC layer. It coordinates the data transmissions on both uplink and downlink legs for all UEs within its cell range. It is like a conductor in charge of an orchestra of UEs - deciding which UE plays, when, and for how long. The scheduler allocates physical layer resources separately for the downlink and for the uplink.

In order to run an efficient scheduling algorithm, the gNB needs to gather measurement data from UEs. It has to know the data buffer status for each UE, as well as the QoS requirements. For example, there may be delay-sensitive data which will have higher priority than some bulk download data.

The radio conditions are also an important factor. A UE may have lots of data in its transmission buffer, but be subject to weak radio conditions so no matter the amount of radio resources allocated for the UE, not much data will get through. The data scheduler decides what kind of modulation scheme is used for the data to be transmitted. Good radio conditions allow high order modulation which means more data per resource block.

  • The data scheduler operates by taking into account the UE buffer status and the QoS requirements of each UE and associated radio bearers, the scheduler assigns resources between UEs.
  • The schedulers may assign resources taking account of the radio conditions at the UE identified through measurements made at the gNB and reported by the UE.
  • Resource assignment consists of radio resources (resource blocks).
  • UEs are notified by the resources allocated via a scheduling (resource assignment) channel.
  • Uplink buffer status reports (measuring the data that is buffered in the logical channel queues in the UE) are used to provide support for QoS-aware packet scheduling.
  • Power headroom reports (measuring the difference between the nominal UE maximum transmit power and the estimated power for uplink transmission) are used to provide support for power aware packet scheduling.


Measurement reports are required to enable the scheduler to operate in both uplink and downlink. These include tx buffer status and measurements of a UEs radio environment. In case of downlink, the gNB will know the buffer status for each UE because those buffers are located in the gNB. Also, the gNB will know the uplink radio conditions because it can measure the uplink itself. For the downlink radio conditions, the UE has to do the measurements and report them to the gNB.

Uplink buffer status reports (BSR) are needed to provide support for QoS-aware packet scheduling. Uplink buffer status reports are transmitted using MAC signalling. When a BSR is triggered (e.g. when new data arrives in the transmission buffers of the UE), a Scheduling Request (SR) can be transmitted by the UE (e.g. when no other resources are available to transmit the BSR).

Power headroom reports (PHR) are needed to provide support for power-aware packet scheduling. These are used by the UE to report the TX power used in the uplink transmissions. The UE can modify its tx power according to radio conditions, but obviously there is an upper limit on how high the tx power can be. Also, there are set limits of the RF exposure on the human body.

Power headroom reports are also transmitted using MAC signalling.

Downlink Scheduling

In the downlink, the gNB can dynamically allocate resources to UEs via the C-RNTI on PDCCH(s). A UE always monitors the PDCCH(s) in order to find possible assignments when its downlink reception is enabled.

The gNB may stop an ongoing PDSCH transmission to a UE if in gNB buffers there exists latency-critical data to another UE, and instead immediately schedule the transmission of this latency-critical data.

The downlink resource assignment can also be periodical; the downlink assignment can be reused according to the periodicity defined by RRC, until deactivated. However, the dynamically allocated downlink reception overrides the periodical downlink assignment in the same serving cell, if they overlap in time. Otherwise, a downlink reception according to the configured downlink assignment is assumed.

Uplink Scheduling

In the uplink, the principles of data scheduling are the same as in the downlink. The difference is that whereas in the downlink the scheduler has most information readily available, such as data buffer occupancies, in the uplink it has to rely on reports sent by UEs.

In the uplink, the gNB can dynamically allocate resources to UEs via the C-RNTI on PDCCH(s). A UE always monitors the PDCCH(s) in order to find possible grants for uplink transmission when its downlink reception is enabled. This is the same process as in the downlink.

In case of latency-critical transmissions, the gNB can cancel an "ordinary" non-latency-critical transmission by sending a cancelled transmission indication on a PDCCH. When receiving such an indication, the UE will cancel its ongoing PUSCH transmission so that it does not overlap with the latency-critical transmission from another UE.

As well as in the downlink, the gNB can allocate periodical uplink resources. This is done with Configured Grants. There are two types of configured uplink grants:

  • Type 1: RRC provides the configured uplink grant, including its periodicity.
  • Type 2: RRC defines the periodicity of the uplink grant, but the grant is activated (and deactivated) via PDCCH signalling.

The dynamically allocated uplink transmission overrides the configured uplink grant in the same serving cell, if they overlap in time.

Rate Control - Downlink

Rate control is also part of the data scheduler. The scheduler must ensure that the agreed bit rate limitations are followed. For example, it has to ensure that a UE bearer gets its guaranteed bit rate (GBR) since the provided service on that bearer requires it. Equally, the scheduler must ensure that the maximum rates are not exceeded because that could lead to network congestion, or in some cases overwhelm the UE's capacity. In the downlink the rate control is easier to perform since the gNB in control of all downlink bearers and readily knows their allocated data rates, data buffer occupancies and other relevant variables, and can manage the bearers in a way that the bit rates stay within their defined ranges.

Rate Control - Uplink

The UE has an uplink rate control function which manages the sharing of uplink resources between logical channels. RRC controls the uplink rate control function by giving each logical channel a priority, a prioritised bit rate (PBR), and a buffer size duration (BSD).

Thereafter the uplink rate control function ensures that the UE serves the logical channels in the following sequence:

  1. All relevant logical channels in decreasing priority order up to their PBR;
  2. All relevant logical channels in decreasing priority order for the remaining resources assigned by the grant.

That is, the prioritised bit rates are served first, and then the remaining capacity is shared between the remaining logical channels in their priority order.

This arrangement also ensures that the maximum bit rates defined are not exceeded.

Activation/Deactivation Mechanism

To enable reasonable UE battery consumption when Carrier Aggregation is configured, an activation/deactivation mechanism of cells is supported. When an SCell is deactivated, the UE does not need to receive the corresponding PDCCH or PDSCH, cannot transmit in the corresponding uplink, nor is it required to perform CQI measurements.

To enable reasonable UE battery consumption when Band Adaptation is configured, only one UL Bandwidth Part (BWP) for each uplink carrier and one DL BWP or only one DL/UL BWP pair can be active at a time in an active serving cell, all other BWPs that the UE is configured with being deactivated. On deactivated BWPs, the UE does not monitor the PDCCH, does not transmit on PUCCH, PRACH and UL-SCH.

Cross Carrier Scheduling

It is possible in certain cases a serving cell to schedule tx resources of another serving cell. This is called cross carrier scheduling. In particular, if cross-carrier scheduling is defined, the secondary cell's (SCell) PDCCH can also schedule primary cell's (PCell) data transmissions on its PDSCH and PUSCH. Though even in this case, the PCell could still handle its own data scheduling.

If an SCell is not configured with a PDCCH, then that cell's PDSCH and PUSCH are always scheduled by a PDCCH on another serving cell.


In all, it must be again stressed that data scheduling itself is not specified in 3GPP standards. The standards do define processes which can be used to help the scheduling algorithm, such as measurement collection (data buffers, radio conditions) but how this data is used by the scheduling algorithm is not defined. It is up to the gNB vendor to define an algorithm which maximises the data throughput in a cell while at the same time taking care of priorities such a low-latency data delivery.