Buffer status reporting

WO2026165680A1PCT designated stage Publication Date: 2026-08-13NOKIA SOLUTIONS (SHANGHAI) CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-04
Publication Date
2026-08-13

Smart Images

  • Figure CN2025075660_13082026_PF_FP_ABST
    Figure CN2025075660_13082026_PF_FP_ABST
Patent Text Reader

Abstract

There is provided a method, comprising: determining a buffer size of a first logical channel group (LCG); setting a field for the first LCG in a buffer status report to indicate a buffer size index among a plurality of buffer size indexes, wherein the buffer size index indicates a range within which the buffer size is, thereby causing a quantization error which represents a difference between the upper bound of the range and the buffer size; setting a field in the buffer status report for each of at least one next LCG having data buffered, wherein setting the field for a given LCG of the at least one next LCG is based on a buffer size of the given LCG and a quantization error that is determined based on at least one previous LCG; and transmitting the buffer status report to a network.
Need to check novelty before this filing date? Find Prior Art

Description

BUFFER STATUS REPORTINGTECHNICAL FIELD

[0001] Various example embodiments relate generally to buffer status reporting (BSR) .BACKGROUND

[0002] BSR refers to reporting the status of uplink buffer data in the UE to the network, allowing efficient uplink scheduling. It helps the gNB (gNodeB) allocate uplink resources dynamically based on UE needs. BSR is defined in the MAC specifications for NR and for LTE.

[0003] BRIEF DESCRIPTION

[0004] According to some aspects, there is provided the subject matter of the independent claims. Some further aspects are defined in the dependent claims. The embodiments that do not fall under the scope of the claims are to be interpreted as examples useful for understanding the disclosure.

[0005] LIST OF THE DRAWINGS

[0006] In the following, the invention will be described in greater detail with reference to the embodiments and the accompanying drawings, in which

[0007] Figure 1 presents a network to which one or more embodiments are applicable;

[0008] Figure 2 shows an example of a buffer status report, according to an embodiment;

[0009] Figures 3 and 4 show flow diagrams, according to some embodiments; and

[0010] Figure 5 illustrates an apparatus, according to an embodiment.DESCRIPTION OF EMBODIMENTS

[0011] The following embodiments are exemplary. Although the specification may refer to “an” , “one” , or “some” embodiment (s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment (s) , or that a particular feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. Further, when a particular feature, structure, or characteristic is described in connection of an embodiment, it is within the knowledge of one skilled in the art to apply such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. It shall be understood that although the terms “first, ” “second” and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.

[0012] For the purposes of the present disclosure, the phrases “at least one of A or B” , “at least one of A and B” , and “A and / or B” means (A) , (B) , or (A and B) . For the purposes of the present disclosure, the phrase “A, B, and / or C” means (A) , (B) , (C) , (A and B) , (A and C) , (B and C) , or (A, B, and C) . As used herein, the terms “the at least one” and “the one or more” mean “any one of the at least one” and “any one of the one or more” , respectively.

[0013] Embodiments described may be implemented in a communication network, such as any of the following radio access technologies (RATs) : Worldwide Interoperability for Micro-wave Access (WiMAX) , Global System for Mobile communications (GSM, 2G) , GSM EDGE radio access Network (GERAN) , General Packet Radio Service (GRPS) , Universal Mobile Telecommunication System (UMTS, 3G) based on basic wideband-code division multiple access (W-CDMA) , high-speed packet access (HSPA) , Long Term Evolution (LTE) , LTE-Advanced, and enhanced LTE (eLTE) , 5G (also called NR) , or any future RAT such as 6G. Moreover, communication within the communication network may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , and / or Discrete Fourier Transform spread OFDM (DFT-s-OFDM) .

[0014] As used herein, the term “network device” or “network node” refers to a node in a communication network via which user equipment may access the network and / or which is capable of controlling radio communication and managing radio resources within a cell. The network node or network device may be referred to as a base station (BS) , an access point (AP) or an access node. The network device may be, depending on the applied technology, for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , an NR NB (also referred to as a gNB) , a Remote Radio Unit (RRU) , a radio head (RH) , a remote radio head (RRH) , a relay, an Integrated Access and Backhaul (IAB) node, a low power node, a non-terrestrial network (NTN) or non-ground network device such as a satellite network device, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, or an aircraft network device.

[0015] Moreover, in connection of split radio access network (RAN) , the network device may refer to a centralised unit (CU) of a base station and / or a distributed unit (DU) of a base station. An interface between CU and DU may be referred to as an F1 interface in NR. In the split RAN architecture, node operations may be carried out, at least partly, in the central / centralized unit, CU, (e.g. server, host or node) operationally coupled to the DU, (e.g. a radio head / node) . One CU may control one or more DUs, acting at least as transmit / receive (Tx / Rx) nodes. In some embodiments, the DUs may comprise e.g. a radio link control (RLC) , medium access control (MAC) layer and a physical (PHY) layer, whereas the CU may comprise the layers above RLC layer, such as a packet data convergence protocol (PDCP) layer, a radio resource control (RRC) and an internet protocol (IP) layers. Other functional splits are possible too. In practice, any processing task may be performed in either the CU or the DU and the boundary where the responsibility is shifted between the CU and the DU may depend on the applied implementation.

[0016] The term “terminal device” refers to any end device that may be capable of wireless communication. By way of example, a terminal device may be referred to as a communication device, user equipment (UE) , a Subscriber Station (SS) , or a Mobile Station (MS) . The terminal device may include a mobile phone, a cellular phone, a smart phone, voice over IP (VoIP) phones, wireless local loop phones a tablet, a wearable terminal device, a personal digital assistant (PDA) , portable computers, desktop computer, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, vehicle-mounted wireless terminal devices, USB dongles, an Internet of Things (IoT) device, a watch or other wearable, a head-mounted display (HMD) , a vehicle, a drone, a medical device and applications (e.g., remote surgery) , an industrial device and applications (e.g., a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts) , a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like.

[0017] A term “resource” , as used herein, may refer to radio resources in time domain, in frequency domain, in space domain, and / or in code domain. Some examples of resources include e.g. a physical resource block (PRB) , a radio frame, a subframe, a time slot, a subband, a frequency region, a sub-carrier, a beam, etc. The term “transmission” and / or “reception” may refer to wirelessly transmitting and / or receiving via a wireless propagation channel on radio resources.

[0018] Figure 1 illustrates an example of a communication network to which examples disclosed herein may be applied. The communication network or a cellular communication network may comprise a network node 110 providing one or more cells, such as cell 100, and a network node 112 providing one or more other cells, such as cell 102. Each cell may be, e.g., a macro cell, a micro cell, femto, or a pico cell, for example. The cell may define a coverage area or a service area of the corresponding access node.

[0019] The network node 110 may provide a user equipment (UE) 120 (one or more UEs) with wireless access to the communication network. The wireless access may comprise downlink (DL) communication from the network node to the UE 120 and uplink (UL) communication from the UE 120 to the network node. Examples of uplink channels comprise physical uplink control channel (PUCCH) for transmitting control information and physical uplink shared channel (PUSCH) for transmitting data towards the network. Examples of downlink channels comprise physical downlink control channel (PDCCH) for transmitting control information and physical downlink shared channel (PDSCH) for transmitting data towards the user equipment.

[0020] There may be a plurality of UEs 120, 122 in the system. Each of them may be served by the same or by different control nodes 110, 112. The UEs 120, 122 may communicate with each other, in case device-to-device (D2D) communication interface is established between them via a so-called sidelink (SL) . Such D2D communications may be referred to as machine-to-machine, peer-to-peer (P2P) communications, or vehicle-to-vehicle (V2V) , for example.

[0021] In the case of multiple network nodes in the communication network, the network nodes may be connected to each other via an interface. LTE specifications call such an interface as X2 interface. An interface between an LTE node and a 5G node, or between two 5G nodes may be called Xn interface.

[0022] The network nodes 110 and 112 may be further connected via another interface to a core network 116 of the communication network. The LTE specifications specify the core network as an evolved packet core (EPC) , and the core network may comprise e.g. a mobility management entity (MME) and a gateway node. The MME may handle mobility of terminal devices in a tracking area encompassing a plurality of cells and handle signalling connections between the terminal devices and the core network. The gateway node may handle data routing in the core network and to / from the terminal devices. The 5G specifications specify the core network as a 5G core (5GC) . The 5G core may comprise e.g. an access and mobility management function (AMF) and a user plane function / gateway (UPF) and other functions. The AMF may handle termination of non-access stratum (NAS) signalling, NAS ciphering &integrity protection, registration management, connection management, mobility management, access authentication and authorization, security context management. The UPF node may support packet routing and forwarding, packet inspection and quality of service (QoS) handling, for example.

[0023] For BSR reporting, logical channels (LCH) are grouped into Logical Channel Groups (LCG) and the BSR tells how much data is buffered for the LCG (s) . This allows the gNB to differentiate between the data volumes at different LCGs, which may be associated with different priority levels. E. g. Logical Channels used for signalling may be linked to a 1st LCG, while Logical Channels transferring Voice data could be linked to a 2nd LCG, and Logical Channels transferring web-browsing data could be linked to a 3rd LCG.

[0024] There are several types of BSRs. Figure 2 illustrates a structure of a Long BSR, Long Truncated BSR, and Pre-emptive BSR MAC CE, for example, as specified in the 3GPP standards. As shown in Figure 2, the MAC CE includes multiple LCG identifiers (IDs) or indexes (e.g., LCG0 to LCG7) , each corresponding to a different group of one or more logical channels. For each LCG ID, there is a corresponding buffer size field (e.g., Buffer Size 1 to Buffer Size m) that indicates the volume of data queued for that LCG. By reporting buffer status for each LCG, the gNB can prioritize scheduling resources for high-priority traffic (e.g., voice calls, low-latency applications) over lower-priority traffic.

[0025] To limit uplink overhead, Buffer Size (BS) levels are defined. For instance, Table 1 below describes the buffer levels defined for 5-bit BS field. Reporting the index instead of a precise BS value requires less bits and thus reduces signalling overhead.

[0026] Table 1: Buffer size levels (in bytes) for 5-bit Buffer Size field

[0027] As shown in Table 1, in the case that the 5-bit buffer size field is included in a MAC CE, 32 index values (from 0 to 31) may be used to indicate buffer size levels / range at the UE. An index in a table bin has a corresponding BS value, which may define an upper bound for the gNB to understand the number of bytes available in the UE buffer. For example, an index of 1 corresponds to a BS value lower than or equal to 10 bytes, which indicates that the number of bytes available in the UE buffer is lower than or equal to 10 bytes. As another example, an index of 7 corresponds to a BS value lower than or equal to 74 bytes but higher than 53, which indicates that the number of bytes available in the UE buffer is between 54 and 74. In addition, the smallest index of 0 corresponds to a BS value of 0 bytes, indicating an empty buffer. The largest index of 31 indicates a BS value greater than 150,000 bytes, which corresponds to the largest buffer size represented in this table.

[0028] However, as implied above, there is some uncertainty of the resources to be allocated by the gNB based on the BSR as the buffer size field of the BSR MAC CE is only 5 or 8 bits long and instead of reporting actual bytes in the buffer, the UE uses the pre-defined tables (also referred to as the BSR tables or BS tables) . This means an actual BS value at the UE gets mapped to a range of values between two indexes in the BS tables and the upper index is reported. That is, when using indexes instead of the real BS values, quantisation errors are introduced. For instance, assuming 5-bit buffer size field as in above Table 1, and an actual BS value of 1064 bytes, index 16 is reported and a quantisation error becomes 1446 -1064 = 382 bytes. With the exception of Short BSR and Short Truncated BSR, all BSR report several LCGs. The more the LCG reported in a BSR, the greater the sum of quantisation errors. This can lead to allocating more resources than actually required, which can increase power consumption, interference and reduce capacity.

[0029] Further, minimizing overall quantization errors in BSR reporting might cause issues such as that the gNB cannot be aware of the processing order and thus of which LCGs have been reduced to minimise overall quantisation errors, espe-cially if the LCGs are handled in a random order. Also, large amount of buffered data for low priority traffic is likely to reduce the amount of data reported for high pri-ority traffic due the typical characteristics of the traffic (amount of low priority data >> amount of high priority data) and the exponential distribution of the BS values (where quantisation errors are much higher when more data is buffered) . It is to be noted that when allocating resources, the gNB typically first looks at higher priority traffic and thus, misreporting higher priority traffic by lowering the index just to decrease the overall quantisation error is likely to decrease the QoE for the user.

[0030] To at least partially tackle these problems, there is proposed a solution for reducing quantisation errors in BSR reporting of more than one LCG / LCH, without the risk of misreporting high priority traffic. For example, when building a BSR, according to some embodiments it is proposed to reduce the BS value of all LCGs having data buffered by the quantisation error of the next higher priority LCG having data buffered, in decreasing order of priority, but leaving the highest priority one untouched.

[0031] For example, if the quantisation error of the next higher priority LCG is larger than the BS of the current LCG, it is proposed to reduce the quantisation error of the next higher priority LCG by the BS of the current LCG, and set the BS value of the current LCG to zero, before proceeding to the next LCG. In other words, the quantisation errors are cascaded down to the BS value of the lower priority LCG (s) . Yet another way to describe the embodiments is that bytes from the BS value (s) of lower priority LCG (s) are pushed up to fill the gaps of higher priority LCG (s) .

[0032] Figure 3 depicts an example method. The method may be computer-implemented. The method may be performed by a user equipment, such as UE 120 of Figure 1. Although in the following description LCG is used as an example, LCH can instead be used, e.g. if BS is reported LCH specifically, instead of LCG specifically.

[0033] As shown in Figure 3, the UE may in step 300 indicate to a network, such as to the gNB 110 of Figure 1, whether the UE is capable of generating BSR according to the proposed manner (i.e. such that the quantization error of (or that is determined based on) a previous LCG is considered when the BS of a current LCG is reported, as will be explained in more details later e.g. in connection of Figure 4) . This indication may be e.g. a bit indicating the UE is capable of such BSR generation. This step, as well as other steps / blocks with dotted lines in Figure 3, are optional.

[0034] In step 302 the gNB 110 may enable the generation of the BSR in the proposed manner. This may happen in response to step 300 or without receiving any capability message from the UE. The enabling maybe in a broadcast message or in a dedicated message specifically to certain UE (such as UE 120) . In another embodiment, the gNB indicates to the UE to generate the BSR in legacy manner (i.e. disables the generation of the BSR in the manner of Figure 4) . In an embodiment, the gNB may trigger a configuration to enable BSR generation e.g. UE-specifically and / or LCG-specifically. In other words, a specific UE (or all UEs) may be allowed to build BSR with the proposed manner (of Figure 4) only when the BSR concerns specific LCG (s) .

[0035] In step 303, the UE determines which type of BSR to generate or, in other words, how to generate the BSR. The type of BSR may be legacy BSR or a BSR that is built according to the manner proposed in the embodiments presented herein (e.g. in Figure 4) . In an embodiment, the UE generates the BSR according to the proposed manner (i.e. by considering the quantization error of the previous LCG (s) when the sum of quantisation errors of all reported LCGs decreases compared to a sum of quantisation errors when generating the BSR in the legacy manner (i.e. by not considering the quantization error of the previous LCG (s) ) . In other words, if the over-reporting for the BSR (i.e. sum of quantisation errors of all reported LCG (s) ) does not decrease by using the proposed method, the legacy determination of BS values and indexes per LCG, as explained in connection of Table 1 and Figure 2 above, may be used instead. This may help to ensure that the BSR is generated in the most optimal manner depending on the amount of data in the LCG buffers.

[0036] In step 304, the UE generates the BSR. This step is explained in detail in connection of Figure 4. It is to be noted that the BSR then indicates to the network how much UL resources it needs so that all the data the UE has in its LCG buffers can be transferred to the network. As explained earlier, each LCG comprises one or more logical channels. Also, in some embodiments, among a plurality of LCGs, only LCGs having data buffered are considered when generating the BSR.

[0037] In step 306, the UE then transmits the generated BSR to the network. The transmission may be carried in a MAC CE, for example.

[0038] In an embodiment, the UE includes, in the transmitted BSR, an indication of whether the BSR is generated by considering the quantization error of the previous LCG (s) (i.e. by the proposed manner) . For example, one bit in the BSR could be used to indicate whether the BS values and indexes were built according to the regular (legacy) process or according to the proposal, with a view of minimizing over-reporting. In this case, the gNB becomes aware that the BS value of higher priority LCGs is likely to be near the maximum of the range signaled with the index. Alternatively, a different logical channel identifier (LCID) may be used for separating different BSR types.

[0039] Based on the received BSR from the UE, the gNB 110 may determine an allocation of UL resources to the UE in step 308 and transmit an allocation of the resources to the UE in step 310. In an embodiment, the gNB allocates a group of UL resources so that all the data in the buffers, as indicated in the BSR, can be transmitted from the UE to the gNB. In step 312, the UE may transmit data to the network on the allocated UL resources.

[0040] Let us then look at step 304 in more details. Before going through the solution in connection of Figure 4, let us explain how the solution works with a few steps: These steps may take place whenever a BSR for several LCGs is triggered, e.g. whenever at least one of a Long BSR, Refined Long BSR, Extended Long BSR, Long Truncated BSR, Extended Long Truncated BSR, Pre-emptive BSR, or Extended Pre-emptive BSR is triggered.

[0041] 1. For all LCGs having data buffered (i.e. with BS value > 0) , consider the quantisation error Q as the upper bound of the BS value of the index selected for an LCG minus actual BS of that LCG.

[0042] 2. In decreasing priority order of LCGs having data buffered, from the 2nd highest priority LCG:

[0043] a. For LCGi determine the next higher priority LCG with data buffered LCGi+1 whose BS is not zero.

[0044] b. If Qi+1 <= BSi then BSi = BSi -Qi+1 and update Qi accord-ing to the new BSi

[0045] i. NOTE: Qi+1 becomes zero but an update is not strictly required for the mechanism to work.

[0046] ii. NOTE: When Qi+1 is zero, this step does not change anything.

[0047] c. Else Qi+1 = Qi+1 -BSi and BSi = 0

[0048] i. NOTE: Qi becomes zero but an update is not strictly required for the mechanism to work.

[0049] The same can be in practice illustrated schematically with Figure 4.

[0050] In step 400 the UE determines a first buffer size of a first LCG. In an embodiment, this is the LCG with the highest priority. In the Figure it is assumed that there are N+1 LCGs (with indexes 0 to N) , and the first LCG is in this example LCGN, while the last LCG is LCG0. The buffer size of LCGN is marked as BSN.

[0051] In step 402, the UE sets a first field for the first LCGN into the BSR to indicate a first buffer size index (BSIN) among a plurality of BS indexes. Available BS indexes may be e.g. those of Table 1 above, assuming 5 bits buffer size field length. As explained in connection of Table 1, the (first) BS index indicates a (first) range within which the first BS (BSN) is.

[0052] As such, there typically is some quantization error Q that is associated with the first buffer size. In step 404, the UE determines the quantization error Q between an upper bound of the first range and the first buffer size (BSN) . This quantization error may also be called QN as it is associated with LCGN. the quantization error may be determined as Q = upper limit of first range –BSN. In general, for an LCG having data buffered (i.e. with BS value > 0) , the associated quantisation error Q of that LCG is considered as the upper bound of the range indicated by the BS index selected for the LCG minus the actual BS of that LCG.

[0053] Next, in step 406, which comprises one or more of steps 408 to 422, the UE sets a field in the BSR for each LCGi of at least one next LCG (i.e. from LCGN-1 to LCG0) having data buffered. Setting the field for a given LCGi of the N LCGs is based on a BS of the given LCGi and the quantization error Q that is determined based on a previous LCG or a plurality of previous LCGs. For example, the quantization error Q can be a quantization error due to reporting BS of immediately previous LCG, or a quantization error due to reporting BS of some other previous LCG, or a quantization error accumulated from reporting BSs of several previous LCGs.

[0054] As can be seen from the steps 408-422, setting the field for the given LCGi comprises a subtraction operation between the buffer size (BSi) of the given LCG (LCGi) and the quantisation error Q that is determined based at least one previous LCG (e.g., LCGi+1 or an LCG that was previously reported, in case the immediately previous LCGi+1 did not have data to report) .

[0055] Step 408 defines a for-loop where each of the N LCGs (from LCGN-1 to LCG0) are considered in turns. In an embodiment, the first LCG (LCGN) has the highest priority and the at least one next LCGs are handled for the BSR and reported in the BSR in a decreasing priority order. Therefore, although not shown, the UE may prioritize the LCGs before going to the for-loop.

[0056] In an embodiment, the UE may determine the priority of a given LCG based on the highest priority logical channel (LCH) of the given LCG. The priority of the LCH may be predefined or may depend on the type of data to be carried by that LCH. For example, data requiring low latencies may be set as high importance data and the LCH as high importance LCH. In an embodiment, among a plurality of LCHs, only LCH (s) having data buffered is considered within the given LCG when determining the priority of the given LCG.

[0057] That is, in an embodiment, in decreasing priority order of LCGs having data buffered, from the 2nd highest priority LCG, the UE performs at least some of the steps 409-422, depending on whether there is data in the buffer and depending on whether the data in the buffer exceeds the quantization error at that time. The UE determines for the given LCGi the next higher priority LCG (LCGi+1) whose BS is not zero or whose reported BS is not zero.

[0058] In step 409, the UE determines if the LCGi has data in the buffer. If it does not, the method proceeds to step 421 where i is decremented by 1. Then, the next LCG is processed according to the for loop. If it is determined that there is data in the buffer of LCGi, then the method proceeds to step 410.

[0059] In step 410, the UE compares Q to BSi and determines which one is larger. BSi is the buffer size of (i.e. amount of data in the buffer of) LCGi, which the UE has determined. And Q is the quantization error valid at that time instant, which may have accumulated from or been caused by reporting of buffer size of one or more previous LCGs. For example, Q can be e.g. Qi+1 of LCGi+1, if reporting BS of LCGi+1 caused a quantization error, or it can be Qi+2, if LCGi+2 was the previous LCG for which BS was reported and which caused quantization error (i.e. if LCGi+1 reported empty buffer) .

[0060] Based on determining that the quantization error Q is smaller than the buffer size (BSi) of the given LCG, the method proceeds to step 412. This implies that part of BSi fits to the UL resources that would be allocated already based on the previously reported buffer size (e.g. BSi+1 associated with LCGi+1) . That is, in such case the quantization error of (or associated with or determined based on) LCGi+1 is large enough to fit part of current LCG’s buffered data.

[0061] In step 412, the UE subtracts the quantization error Q from the buffer size of the given LCG (BSi) , i.e. BSi = BSi -Q, in order to obtain a reduced buffer size BSi that needs to be indicated to the network in order for the gNB to allocate correct amount of UL resources.

[0062] In step 414, the UE thus sets a field for the given LCGi in the BSR to indicate a BS index among the plurality of BS indexes (of e.g. Table 1) , wherein the BS index indicates a range within which the result of the subtraction is (i.e. within which the reduced BSi is) .

[0063] In step 416, the UE sets the quantization error Q to correspond to the difference between an upper bound of the range and the reduced buffer size (BSi) . In theory, parameter Qi+1 becomes zero, because it has been exhausted for part of LGi’s data, but an update of Qi+1 is not required for the mechanism to work, as long as it is known what is the current value of Q that indicates already requested resources which are available for data in buffer (s) of next LCG (s) .

[0064] Then, the UE proceed to the next LCG in the for-loop, via step 422, if any LCG is left to handle in the for-loop.

[0065] If, in step 410 the UE compares Q to BSi and determines that Q is equal to or larger than a BSi, the method proceeds to steps 418-420. This implies that whole BSi fits to the UL resources that would be allocated already based on previously reported BS, such as BSi+1 associated with LCGi+1. That is, in such case, the quantization error of LCGi+1 is large enough to fit all of current LCG’s (LCGi) buffered data. In other words, BSi to be indicated to the gNB can be set to zero even if there is data in the buffer of the LCGi. Thus, the reported buffer size associated with LCGi is allowed to be less than an actual buffer size of that LCGi.

[0066] In step 418, the UE sets a field for the given LCGi in the BSR to indicate that the BSi fits in Q (such as in Qi+1) . In an embodiment, here setting the field for LCGi comprises setting the field to indicate a lowest BS index among the plurality of BS indexes. For example, in Table 1, the BSR field can be set to indicate BS index 0, which indicates there is no data in the buffer of this LCGi. In another embodiment, setting the field for LCGi comprises setting the field to an index which is predefined to indicate that the buffer size BSi fits in the quantization error Q, such as in Qi+1 of the previous LCG. That is, when the resulting / reduced / adjusted BS value of an LCG becomes zero, a special index can be used in BSR to indicate that there is data but that resource need for that data is already reported in a higher priority LCG. Using a special predetermined index for this purpose may be useful when BS index ‘0’ indicates a range of buffer size, instead of strict 0 buffer size. In this way, the network becomes aware that something is buffered in this LCGi but is small enough to fit within the quantisation error Q of previous LCG (s) . Then, the gNB may be able to allocate grants to only one LCG (e.g. via mapping restrictions, or via some other means) .

[0067] In step 420, the UE subtracts the buffer size BSi from Q, in order to obtain a reduced / adjusted Q. This can be seen as a Q that is associated with the current LCGi, that is, Qi = Qi+1 -BSi, or an update of the Qi+1 that is associated with LCGi+1 as Qi+1 = Qi+1 -BSi. As said, for the solution to work it is not relevant to which previous LCG the Q is associated with, as long as it is known what is the current value of Q, that is available for next LCG (s) .

[0068] Then, the UE proceed to the next LCG in the for-loop, via step 422, if any LCG is left in the for-loop.

[0069] In this way all LCGs to be reported in the BSR are processed, and a corresponding field is set in the BSR. If there is no LCG left to process in the for-loop, the UE proceeds to step 306 for transmitting the generated BSR, as explained in connection of Figure 3.

[0070] It is noted that the proposed solution for BSR generation can be implemented in different ways, and Figure 4 shows only one non-limiting implementation. For example, the for-loop may be switched to count upwards, depending on how the LCGs are prioritized. Further, the different sub-indexes might be adjusted in such case.

[0071] Let us next consider a few examples to show how the proposed manner of BSR generation works. Let us assume eight indexes being available for BS index setting for an LCG, as in Table 2 below.

[0072] Table 2: Buffer size levels (in bytes) for 3-bit Buffer Size field

[0073] Let us further assume 4 LCGs, listed in decreasing order of priority. This results, with legacy BSR generation technique, an over-reporting total of 50 + 10 +30 = 80 bytes, as shown below.

[0074] · LCG4: BS4 = 150 bytes → index 6 is used → Q4 = 50 bytes

[0075] · LCG3: BS3 = 0 bytes → index 0 is used

[0076] · LCG2: BS2 = 30 bytes → index 3 is used → Q2 = 10 bytes

[0077] · LCG1: BS1 = 70 bytes → index 5 is used → Q1 = 30 bytes

[0078] Let us then look at how the proposed BSR generation solution aids in reducing the over-reporting in this scenario.

[0079] According to the process outlined above in connection of Figure 4, the processing of the highest priority LCG does not change and thus Q4 is 50 bytes.

[0080] The 2nd highest priority LCG with data buffered is LCG2 (note that LCG3 has empty buffer) . The previous LCG with data buffered is LCG4. Then, because Q4 > BS2 (50 > 30) , BS2 is set to zero and Q4 to 50-30 = 20 bytes (also Q2 becomes 0) .

[0081] The next LCG with data buffered is LCG1. Because Q4 <= BS1 (20 <= 70) , BS1 is set to 70-20 = 50 bytes, index 4 is used and Q1 becomes 10 bytes, corresponding to 60-50 (and Q4 becomes zero) .

[0082] As a result, the over-reporting Q is only 10 bytes. In this case the UE may decide to generate the BSR according to the proposed solution, instead of the legacy manner, as the over-reporting is decreased with the proposed solution.

[0083] In another example, let us assume the following, listed in decreasing order of priority. Using legacy BSR generation result in an over-reporting total of 0 + 10 + 30 = 30 bytes, as shown here.

[0084] · LCG3: BS3 = 10 bytes → index 1 is used → Q3 = 0

[0085] · LCG2: BS2 = 30 bytes → index 3 is used → Q2 = 10 bytes

[0086] · LCG1: BS1 = 80 bytes → index 5 is used → Q1 = 20 bytes

[0087] According to the process outlined above (e.g. in Figure 4) , the processing of the highest priority LCG does not change and thus Q3 is 0 bytes. The 2nd highest priority LCG with data buffered is LCG2. Because Q3 <= BS2 (0 <= 30) , BS2 remains 30 bytes and Q2 becomes 10 bytes (and Q3 remains 0) . The next LCG with data buffered is LCG1. Because Q2 <= BS1 (10 <= 80) , BS1 is set to 80-10 = 70 bytes, index 5 is used and Q1 becomes 30 bytes (and Q2 becomes zero as it is in practice used to indicate part of LCG1’s buffer size) . In this case, the over-reporting does not decrease. In this case the UE may decide to generate the BSR according to either of the legacy solution or the newly proposed solution, as the over-reporting is not decreased with the proposed solution.

[0088] Some advantages obtained by the proposed solution is that over-reporting can be minimized by generating the BSR in the most appropriate manner. Further, by prioritizing the LCGs in decreasing order of priority provides a few advantages, such as ensuring that the high priority data will be processed first while still decreasing the over-reporting.

[0089] Looking from network point of view, a network node, such as gNB 110, may configure / enable (see step 302 of Figure 3, for example) the UE to generate the BSR such that setting the field for a given LCG of the at least one next LCG (other than the highest priority LCG) is based on a buffer size of the given LCG and the quantization error as determined based on at least one previous LCG (i.e. according to the manner proposed above e.g. in connection of Figure 4) . This can be done UE specifically and / or LCG specifically. For example, the gNB may provide to the UE a set of one or more LCGs for which this type of BSR reporting is applicable, whereas for other LCG (s) the UE needs to apply the legacy BSR generation (e.g. as described in connection of Table 1 and Figure 2 above) .

[0090] Then, the gNB may at some point receive (see step 306 of Figure 3, for example) the BSR from the UE and allocate UL resources (see step 308 of Figure 3, for example) to the UE based on the BSR. The gNB may obtain, based on the BSR, information that some LCG (s) has data but that a need of uplink resource for that data is already reported in connection of a previous LCG of the BSR (e.g. via Q of the previous LCG) . This information may be advantageous for the gNB to receive such that then the gNB may be able to allocate grants to correct LCG (s) (e.g. due to mapping restrictions, or via some other means) , if appropriate.

[0091] An embodiment, as shown in Figure 5, provides an apparatus 10 comprising a control circuitry (CTRL) 12, such as at least one processor, and at least one memory 14 storing instructions that, when executed by the at least one processor, cause the apparatus at least to carry out any one of the above-described processes. In an example, the at least one memory and the computer program code (software) , are configured, with the at least one processor, to cause the apparatus to carry out any one of the above-described processes. The control circuitry 12 may comprise relevant circuitry / ies for performing the functions, according to any of the embodiments.

[0092] The memory 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 database for storing data.

[0093] In an embodiment, the apparatus 10 is or is comprised in a user equipment, such as the UE 120. The apparatus may be caused to execute some of the functionalities of the above described processes, such as some of the steps of Figures 3 and 4, for example.

[0094] In an embodiment, the apparatus 10 is or is comprised in a network node, such as the gNB 110. The apparatus may be caused to execute some of the functionalities of the above described processes such as some of the steps of Figure 3, for example.

[0095] The apparatus may further comprise a radio interface (TRX) 16 comprising hardware and / or software for realizing communication connectivity according to one or more communication protocols. The TRX may provide the apparatus with communication capabilities to a user equipment and / or to other entities of the base station, for example.

[0096] The apparatus may also comprise a user interface 18 comprising, for example, at least one keypad, a microphone, a touch display, a display, a speaker, etc. The user interface may be used to control the apparatus by the user.

[0097] The control circuitry 12 may comprise relevant circuitry / ies for performing the functions, according to any of the embodiments.

[0098] As used in this application, the term ‘circuitry’ refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and / or digital circuitry, and (b) combinations of circuits and soft-ware (and / or firmware) , such as (as applicable) : (i) a combination of processor (s) or (ii) portions of processor (s)  / software including digital signal processor (s) , software, and memory (ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor (s) or a portion of a microprocessor (s) , that require software or firmware for operation, even if the software or firmware is not physically present. This definition of ‘circuitry’a pplies to all uses of this term in this application. As a further example, as used in this application, the term ‘circuitry’ would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and / or firmware. The term ‘circuitry’ would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.

[0099] In an embodiment, at least some of the processes described may be carried out by an apparatus comprising corresponding means for carrying out at least some of the described processes. For example, an apparatus capable of performing some of the steps of Figures 3 and / or 4 (for example, a user equipment or a gNB) may comprise means for performing the steps of the respective method, or of any of the described embodiments thereof. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. Some further example means for carrying out the processes may include at least one of the following: detector, processor (including dual-core and multiple-core processors) , digital signal processor, 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, and circuitry. A term non-transitory, as used herein, is a limitation of the medium itself (i.e. tangible, not a signal) as opposed to a limitation on data storage persistency (e.g. RAM vs. ROM) .

[0100] As used herein the term “means” is to be construed in singular form, i.e. referring to a single element, or in plural form, i.e. referring to a combination of single elements. Therefore, terminology “means for [performing A, B, C] ” , is to be interpreted to cover an apparatus in which there is only one means for performing A, B and C, or where there are separate means for performing A, B and C, or partially or fully overlapping means for performing A, B, C. Further, terminology “means for performing A, means for performing B, means for performing C” is to be interpreted to cover an apparatus in which there is only one means for performing A, B and C, or where there are separate means for performing A, B and C, or partially or fully overlapping means for performing A, B, C.

[0101] The techniques and methods described herein may be implemented by various means. For example, these techniques may be implemented in hardware (one or more devices) , firmware (one or more devices) , software (one or more modules) , or combinations thereof. For a hardware implementation, the apparatus (es) of embodiments may be implemented within one or more application-specific integrated circuits (ASICs) , digital signal processors (DSPs) , digital signal processing devices (DSPDs) , programmable logic devices (PLDs) , field programmable gate arrays (FPGAs) , processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For firmware or software, the implementation can be carried out through modules of at least one chip set (e.g. 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. Additionally, the components of the systems described herein may be rearranged and / or complemented by additional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.

[0102] 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 may be carried out by executing at least one portion of a computer program comprising corresponding instructions. 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.

[0103] Following is a list of some aspects of the invention.

[0104] According to a first aspect, there is provided a method performed by a user equipment, the method comprising: determining a buffer size of a first logical channel group (LCG) ; setting a field for the first LCG in a buffer status report to indicate a buffer size index among a plurality of buffer size indexes, wherein the buffer size index indicates a range within which the buffer size is, thereby causing a quantization error which represents a difference between the upper bound of the range and the buffer size; setting a field in the buffer status report for each of at least one next LCG having data buffered, wherein setting the field for a given LCG of the at least one next LCG is based on a buffer size of the given LCG and a quantization error that is determined based on at least one previous LCG; and transmitting the buffer status report to a network.

[0105] The method of the first aspect may further comprise at least one feature from the following bulleted list:

[0106] · wherein setting the field for the given LCG comprises a subtraction operation between the buffer size of the given LCG and the quantisation error that is determined based on the at least one previous LCG.

[0107] · wherein, for setting the field for the given LCG, based on determining that the quantization error is smaller than the buffer size of the given LCG, the method further comprises performing the following: subtract the quantization error from the buffer size of the given LCG; set a field for the given LCG in the buffer status report to indicate a buffer size index among the plurality of buffer size indexes, wherein the buffer size index indicates a range within which the result of the subtraction is; set the quantization error to correspond to the difference between an upper bound of the range and the buffer size; and proceed to the next LCG, if any.

[0108] · wherein, for setting the field for the given LCG, based on determining that the quantization error is equal to or larger than a buffer size of the given LCG, the method further comprises performing the following: set a field for the given LCG in the buffer status report to indicate that the buffer size fits in the quantization error; adjust the quantization error by subtracting the buffer size of the given LCG from the quantization error; and proceed to the next LCG, if any.

[0109] · wherein setting the field for the given LCG comprises setting the field to indicate a lowest buffer size index among the plurality of buffer size indexes.

[0110] · wherein setting the field for the given LCG comprises setting the field to an index which is predefined to indicate that the buffer size fits in the quantization error.

[0111] · wherein each LCG comprises one or more logical channels.

[0112] · wherein only LCGs having data buffered are considered when generating the buffer status report.

[0113] · wherein the first LCG has the highest priority and the at least one next LCGs are handled for the buffer status report in a decreasing priority order.

[0114] · determine the priority of a given LCG based on the highest priority logical channel of the given LCG.

[0115] · wherein only an LCH having data buffered is considered within the given LCG when determining the priority of the given LCG.

[0116] · generate the buffer status report by considering the quantization error when the sum of quantisation errors of all reported LCGs decreases compared to a sum of quantisation errors when generating the buffer status report by not considering the quantization error of the previous LCG.

[0117] · include, in the buffer status report, an indication of whether the buffer status report is generated by considering the quantization error.

[0118] According to a second aspect, there is provided an apparatus, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a buffer size of a first logical channel group (LCG) ; set a field for the first LCG in a buffer status report to indicate a buffer size index among a plurality of buffer size indexes, wherein the buffer size index indicates a range within which the buffer size is, thereby causing a quantization error which represents a difference between the upper bound of the range and the buffer size; set a field in the buffer status report for each of at least one next LCG having data buffered, wherein setting the field for a given LCG of the at least one next LCG is based on a buffer size of the given LCG and a quantization error that is determined based on at least one previous LCG; and transmit the buffer status report to a network. Various embodiments of the second aspect may comprise at least one feature from the bulleted list under the first aspect.

[0119] According to a third aspect, there is provided a computer program product embodied on a distribution medium and comprising program instructions which, when executed by an apparatus, cause the apparatus to carry out the method according to the first aspect.

[0120] According to a fourth aspect, there is provided a computer program product comprising program instructions which, when executed by an apparatus, cause the apparatus to carry out the method according to the first aspect.

[0121] According to a fifth aspect, there is provided an apparatus, comprising means for performing the method according to the first aspect, and / or means configured to cause the apparatus to perform the method according to the first aspect.

[0122] Even though the invention has been described above with reference to an example according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.

Claims

1.A apparatus, comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to:determine a buffer size of a first logical channel group (LCG) ;set a field for the first LCG in a buffer status report to indicate a buffer size index among a plurality of buffer size indexes, wherein the buffer size index indicates a range within which the buffer size is, thereby causing a quantization error which represents a difference between the upper bound of the range and the buffer size;set a field in the buffer status report for each of at least one next LCG having data buffered, wherein setting the field for a given LCG of the at least one next LCG is based on a buffer size of the given LCG and a quantization error that is determined based on at least one previous LCG; andtransmit the buffer status report to a network.2.The apparatus of claim 1, wherein setting the field for the given LCG comprises a subtraction operation between the buffer size of the given LCG and the quantisation error that is determined based on the at least one previous LCG.3.The apparatus of any of claims 1 to 2, wherein, for setting the field for the given LCG, the apparatus is caused to:based on determining that the quantization error is smaller than the buffer size of the given LCG, perform the following:subtract the quantization error from the buffer size of the given LCG;set a field for the given LCG in the buffer status report to indicate a buffer size index among the plurality of buffer size indexes, wherein the buffer size index indicates a range within which the result of the subtraction is;set the quantization error to correspond to the difference between an upper bound of the range and the buffer size; andproceed to the next LCG, if any.4.The apparatus of any of claims 1 to 2, wherein, for setting the field for the given LCG, the apparatus is caused to:based on determining that the quantization error is equal to or larger than a buffer size of the given LCG, perform the following:set a field for the given LCG in the buffer status report to indicate that the buffer size fits in the quantization error;adjust the quantization error by subtracting the buffer size of the given LCG from the quantization error; andproceed to the next LCG, if any.5.The apparatus of claim 4, wherein setting the field for the given LCG comprises setting the field to indicate a lowest buffer size index among the plurality of buffer size indexes.6.The apparatus of claim 4, wherein setting the field for the given LCG comprises setting the field to an index which is predefined to indicate that the buffer size fits in the quantization error.7.The apparatus of any of claims 1 to 6, wherein each LCG comprises one or more logical channels.8.The apparatus of any of claims 1 to 7 wherein, among a plurality of LCGs, only LCGs having data buffered are considered when generating the buffer status report.9.The apparatus of any of claims 1 to 8, wherein the first LCG has the highest priority and the at least one next LCGs are handled for the buffer status report in a decreasing priority order.10.The apparatus of claims 9, wherein the apparatus is further caused to determine the priority of a given LCG based on the highest priority logical channel of the given LCG.11.The apparatus of claims 10, wherein, among a plurality of LCGs, only LCHs having data buffered are considered within the given LCG when determining the priority of the given LCG.12.The apparatus of any of claims 1 to 11, wherein the apparatus is further caused to generate the buffer status report by considering the quantization error when the sum of quantisation errors of all reported LCGs decreases compared to a sum of quantisation errors when generating the buffer status report by not considering the quantization error of the previous LCG.13.The apparatus of any of claims 1 to 12, wherein the apparatus is further caused to include, in the buffer status report, an indication of whether the buffer status report is generated by considering the quantization error.14.The apparatus of any of claims 1 to 13, wherein the apparatus is or is comprised in a user equipment.15.A method performed by a user equipment, the method comprising:determining a buffer size of a first logical channel group (LCG) ;setting a field for the first LCG in a buffer status report to indicate a buffer size index among a plurality of buffer size indexes, wherein the buffer size index indicates a range within which the buffer size is, thereby causing a quantization error which represents a difference between the upper bound of the range and the buffer size;setting a field in the buffer status report for each of at least one next LCG having data buffered, wherein setting the field for a given LCG of the at least one next LCG is based on a buffer size of the given LCG and a quantization error that is determined based on at least one previous LCG; andtransmitting the buffer status report to a network.16.A computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when the program is executed by an apparatus, cause the apparatus to carry out the method according to claim 15.17.A computer program product comprising program instructions which, when the program is executed by an apparatus, cause the apparatus to carry out the method according to claim 15.18.An apparatus, comprising means for performing the method according to claim 15.