Resource allocation

WO2026167298A1PCT designated stage Publication Date: 2026-08-13NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

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

Smart Images

  • Figure FI2025060218_13082026_PF_FP_ABST
    Figure FI2025060218_13082026_PF_FP_ABST
Patent Text Reader

Abstract

According to an example aspect of the present invention, there is provided an apparatus configured to allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein the first stage and the second stage are based on data in different data buffers of each respective logical channel.
Need to check novelty before this filing date? Find Prior Art

Description

RESOURCE ALLOCATIONFIELD

[0001] The present disclosure relates to resource allocation in a multi-channel environment.BACKGROUND

[0002] In a cellular communication network, the network may be configured to provide grants to user equipment, UEs, thereby authorizing the UEs to transmit in the uplink direction. When the UE uses more than one logical uplink channel to communicate with the network, it may distribute communication resources of the grant to these uplink channels in, for example, a priority order to give the logical channels access to the air interface in accordance with priorities configured to the logical channels.

[0003] Extended reality, XR, refers to all real-and-virtual combined environments and associated human-machine interactions generated by computer technology and wearables. It includes representative forms such as augmented reality, AR, mixed reality, MR, and virtual reality, VR, and the areas interpolated among them. Due to high reliability requirements, resource efficient radio protocol retransmissions are needed for XR services. For example, delay requirements relating to XR data may be strict.SUMMARY

[0004] According to some aspects, there is provided the subject-matter of the independent claims. Some embodiments are defined in the dependent claims. The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments, examples and features, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.BRIEF DESCRIPTION OF THE DRAWINGS

[0005] FIGURE 1 illustrates an example system in accordance with at least some embodiments;

[0006] FIGURE 2 illustrates resource allocating in accordance with at least some embodiments;

[0007] FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention;

[0008] FIGURE 4 illustrates signalling in accordance with at least some embodiments of the present invention;

[0009] FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention;

[0010] FIGURE 6 is a flow graph of a method in accordance with at least some embodiments of the present invention;

[0011] FIGURE 7 is a flow graph of a method in accordance with at least some embodiments of the present invention, and

[0012] FIGURE 8 is a flow graph of a method in accordance with at least some embodiments of the present invention.EMBODIMENTS

[0013] Disclosed herein are methods to allocate resources of an uplink transmission grant to logical channels in a UE, such that prioritized bit rates of lower-priority channels are prioritized in the resource allocation higher than blind retransmissions, and simultaneously the blind transmissions themselves are prioritized in the resource allocation higher than exceeding the prioritized bit rates of the lower-priority channels. This results in a more precise allocation of resources in accordance with the priorities of the logical channels. This is accomplished by performing the allocation of the resources of the uplink transmission grant in a process which comprises a first stage where resources are allocated in a priority order to those logical channels which have allocation quota, and a second stage where resources are allocated in a priority order to the logical channels without regard to whether or not they have allocation quota. The first and second stages are based on data in different data buffers of the respective logical channels, for example, the first stage may be based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage may then be based on data in both the first and second buffers of the respective logical channel. By blind retransmission it is meant retransmission of data for which no negative acknowledgement has been received, based on newly introduced triggers such as a retransmission timer, for example.

[0014] FIGURE 1 illustrates an example system in accordance with at least some embodiments. This system includes base stations 130, 135 in communication with UEs, such as UE 110. A radio link connects base station 130 with UE 110. The radio link may be bidirectional, comprising an uplink, UL, to convey information from UE 110 toward base station 130, and a downlink, DL, to convey information from the base station 130 toward UE 110. A cellular communication system may comprise hundreds or thousands of base stations, of which only two are illustrated in FIGURE 1 for the sake of clarity of the illustration. The base stations may be distributed in that they comprise a central unit, CU, and one or more distributed unit, DU. A base station is an example of a base node.

[0015] Base station 130 is further coupled communicatively with core network node 140, which may comprise, for example, an evolved packet core, EPC, node such as a mobility management entity, MME, a home subscriber server, HSS, etc, or a 5G core network node such as an access and mobility management function, AMF, a 5G unified data repository, UDR, a call session management function, SMF, etc. The core network node 140 may be coupled with further core network nodes, and with a network 150, which may comprise the Internet or a corporate network, for example. The system may communicate with further networks via network 150. Examples of the further core network nodes, which are not illustrated in FIGURE 1 for the sake of clarity, include gateways and subscriber information repositories. Core network nodes may be virtualized in the sense that they may run as software modules on computing substrates, such that more than one virtualized network node may run on a same physical computing substrate. The network may be configured to function in accordance with a suitable cellular standard such as fourth generation, 4G, which is also known as long term evolution, LTE, fifth generation, 5G, which is also known as New Radio, NR, or sixth generation, 6G, standards as defined by the 3rdgeneration partnership project, 3GPP. To obtain interoperation, UEs attaching to the network are configured to support a same standard as the network.

[0016] Base station 130 controls, in the example of FIGURE 1, cells 130A and 130B, of which UE 110 is in the situation illustrated in FIGURE 1 attached with cell 130 A, and base station 135 controls, in the example of FIGURE 1, cells 135A and 135B. The number of cells and / or beams may be in excess of what is illustrated in FIGURE 1. It is also possible that a base station has a single cell or beam. While illustrated as sector-shaped, cells of a same base station may be omnidirectional and operate on different frequencies, for example. A mobility event may comprise a switch from one beam to another beam of the same cell, or a switch from onecell to another cell. To support mobility procedures, UEs, including UE 110, are configured to conduct mobility measurements to measure signal strengths of adjacent beams and / or cells, and report results of these measurements to the network, which may then take a decision concerning a mobility event, such as a beam change or a cell switch.

[0017] Base stations, BS, such as base stations 130 and 135, are configured to transmit various kinds of information to UEs. In addition to user data, such as the content of voice and video calls, application data and transferred user files, base stations transmit various kinds of control signalling to control the functioning of UEs in their cells. A specific example of control signalling base stations transmit to UEs are UL transmission grants, which allow the UE to transmit a quantity of data indicated in the grant, using radio resources of the system. While these radio resources of the system are indicated in the grant, herein the quantity of data that the grant allows the UE to transmit will be referred to as resources of the grant.

[0018] When the UE transmits data to the network, it may be desirable that an initial transmission uses a block error rate, BLER, target of e.g. 10%. If hybrid automatic repeat request, HARQ, fails, for example after two HARQ transmissions, this triggers an automatic repeat request, ARQ, retransmission that allows selecting another modulation and coding scheme, MCS, for the transmission that better fits experienced signal to interference plus noise ratio conditions at the receiver. For example, it may happen that the selection of the MCS for initial transmission was far off, for example due to channel quality indicator, CQI, measurement imperfections, and hence continuing with HARQ would not lead to successful decoding at the receiver side. A problem is that the RLC acknowledged mode, AM, transmission mode does not provide sufficiently low delays needed for services like XR. Retransmissions are triggered in the transmitter by status reports received from the receiver. This may not be fast enough, particularly if the traffic is bursty in nature. Further, the radio link control, RLC, protocol entity does not cease retransmitting a packet and if the maximum number of retransmissions is reached for the packet, rather the RLC protocol entity notifies upper layers, which may trigger a radio link failure, RLF, which incurs substantial delay.

[0019] FIGURE 2 illustrates resource allocating in accordance with at least some embodiments. On the left are four radio link control, RLC, entities 210, 220, 230 and 240, of a UE, each one of which corresponds to a logical channel of the UE. RLC entity 210 comprises first buffer 212, second buffer 214 and allocation quota variable 216. RLC entity 220 comprises first buffer 222, second buffer 224 and allocation quota variable 226. RLC entity 230 comprisesfirst buffer 232, second buffer 234 and allocation quota variable 236. RLC entity 240 comprises first buffer 242, second buffer 224 and allocation quota variable 246. Thus each RLC entity has a first buffer and a second buffer, and an allocation quota variable. In some embodiments, the allocation quota variable is stored in the medium access control, MAC, entity rather than the RLC entities, or elsewhere in the UE.

[0020] The first buffers 212, 222, 232, 242 comprise initial transmissions and retransmissions which are triggered by a negative acknowledgement, NACK, received from the network or, for example, expiry of a timer in the UE. By initial transmission it is meant data which is to be transmitted over the logical channel which has not yet been transmitted from the UE, that is, data newly in the transmission process. The logical channels may comprise uplink shared channels and / or uplink control channels. The number of logical channels need not be four, as in FIGURE 2, but may be fewer than four or more than four, depending on the state of the UE. Logical channels may be initiated and removed between the UE and the network responsive to need. Each logical channel is associated with a priority value indicating a priority at which data of the channel is to be transmitted. Further, each logical channel has a prioritized bit rate, PBR, which relates a bit rate the logical channel should aim to convey, when averaged over time. The allocation of the resources of an UL grant to logical channels may be referred to as a logical channel prioritization, LCP, process. This allocation is performed when a new transmission is performed, to determine how to distribute an UL grant received from the network among logical channels that have data available to be sent in the uplink.

[0021] The second buffer of each logical channel comprises retransmission data for which no need for retransmission has been determined. For example, this may be data which has been transmitted as an initial transmission and copied to the second buffer, and concerning which no NACK has been received. This data may be referred to as blind retransmission data. In other words, no NACK triggering retransmission has occurred concerning this data. However, for certain kinds of low-latency applications, it may nonetheless be useful to retransmit this data to increase the likelihood that the receiver successfully receives the data as soon as possible. Thus latency can be effectively reduced as a NACK and re-transmission take more time than transmitting the data twice without waiting for e.g. NACK. This type of retransmission may be referred to as blind retransmission, and the data may be referred to as blind retransmission data.

[0022] In use, data to be transmitted is stored in first buffers 212, 222, 232, 242. As data is transmitted from the first buffers, it is removed from the first buffers, and it may be stored in respective second buffers 214, 224, 234, 244 of the same RLC entity. Whether the data is stored in the second buffer after transmission from the first buffer may depend on a type of the data, for example applications with short delay requirements, such as extended reality, XR, applications, may have their data added to the second buffer once it is initially transmitted from the first buffer. Whether data is stored in the second buffer may be configured based on which application the data originates from, or it may be configured based on a delay requirement relating to the data, or, in some embodiments, all data transmitted may be stored in the second buffer. When the delay requirement is used, a threshold delay requirement may be applied, such that data which has a delay requirement stricter than the threshold delay requirement is stored in the second buffer after being transmitted from the first buffer.

[0023] Allocation quota variable 216, 226, 236, 246 stores an allocation quota of each RLC entity, this being also the allocation quota of the logical channel which the RLC entity corresponds to. The allocation quota is a variable which is used in allocation of the resources of an UL grant, as will be herein described. In radio access technologies standardized by the 3rdgeneration partnership project, 3 GPP, the allocation quota may be known as the Bj variable.

[0024] The UE uses the allocation quota variable, which represents an amount of tokens in a token-bucket algorithm and is maintained for each logical channel to control the resource allocation procedure. The value of the allocation quota is initialized to zero when the logical channel is established. Then, for each logical channel, the MAC entity of the UE increments the allocation quota by the product PBR x T before every instance of the LCP procedure, where T is the time elapsed since the allocation quota was last incremented and PBR is the prioritized bit rate. The allocation quota isn’t allowed to exceed a bucket size PBR x BSD, where BSD is a configurable bucket-size duration. If the allocation quota would exceed the bucket size, it is set equal to the bucket size. The exact moment(s) when the UE updates the allocation quota between LCP procedures is up to UE implementation, as long as the allocation quota is up to date at the time when a grant is processed by LCP.

[0025] Before the LCP procedure is performed the UE may first determine which logical channels are eligible to receive resources from the UL grant, based on active mapping restrictions, if any. Mapping restrictions may comprise, for example, that the UL grant may limit the subcarrier spacing used by logical channels which are to receive resources from theUL grant, the UL grant may be associated with a maximum physical uplink shared channel, PUSCH, transmission duration, and the UL grant may be associated with a list of allowed serving cells to be used with the UL grant.

[0026] The allocation of the resources of the UL grant to the logical channels comprises a first stage and, if resources remain after the first stage, also a second stage. If no resources remain after the first stage, the second stage is not performed. In the first phase, those logical channels with allocation quota > 0 are eligible to participate. In the first phase, these logical channels are allocated resources in priority order, starting with the channel with the highest priority. The MAC entity gives the highest-priority logical channel participating in the first stage a quantity of resources determined by, for example, the quantity of resources in the UL grant, the amount of data in the first buffer of this logical channel, and on a protocol data unit, PDU, size of this logical channel. Also the amount of allocation quota of this channel may be taken into account in selecting the quantity of resources to give this channel. Once the highest-priority logical channel participating in the first stage is thus served, the MAC entity will likewise serve the logical channel participating in the first stage which has second-highest priority, and so on.

[0027] As a special case, in case a logical channel has PBR set to a maximum value, such as infinity, the MAC entity may be configured to allocate sufficient resources to this logical channel to empty its first buffer before moving on to the next logical channel in the priority order.

[0028] After the first stage, or during the first stage, the UE will deduct from the allocation quota variable of each logical channel given resources a value which equals the quantity of resources the logical channel is given in the first stage. As a result, the allocation quota variable may end up at zero, or even a negative value. For example, the value may become negative if the UE decides to give a high-priority logical channel enough resources from the UL grant, so that an entire SDU of the logical channel may be transmitted without a need for a PDU to carry only a segment of the SDU.

[0029] The UE may be configured to conduct the first stage such that all the participating logical channels (that is, the channels with allocation quota > 0 and which are not excluded from the LCP process by mapping restrictions where such are present) receive at least some resources from the UL grant. This is not mandatory, however, since in case a logical channel fails to receive any resources, its allocation quota will be higher in a subsequent LCPprocess. In the first stage, resources are distributed from the UL grant based on at least the quantity of data in the first buffers of logical channels participating in the first stage, such that contents of the second buffers of these logical channels, if any, are not taken into account.

[0030] In case resources remain unallocated from the UL grant after the first stage, the second stage is performed by the MAC entity of the UE. In the second stage, the logical channels are served in priority order, this time without regard to the values of their allocation quota variables. In other words, all logical channels not excluded by e.g. mapping restrictions (when used) are eligible to participate in the second stage. In the second stage, the quantity of resources given to the logical channels is determined by at least the amount of data in the first and second buffers of the logical channels.

[0031] In other words, the first stage is performed based at least in part on the buffer size of the first buffers without regard to buffer size of the second buffers of the participating logical channels, and the second stage is performed based at least in part on buffer size of both first and second buffers of the participating logical channels. Broadly speaking, the first and second stages are based on different data buffers of each respective logical channel.

[0032] In an embodiment, the first stage is performed based on data requiring initial transmissions and possibly on data requiring legacy re-transmissions (where legacy retransmissions can be e.g. due to NACK or a timer expiring, as explained above). Such data can be stored in the first buffer. As such, out of the two first and second buffers, the first stage may be based only on the first buffer. Data for which blind retransmissions are done is not considered in the first stage. The second stage is based on data in both the first and the second buffers, where the second buffer comprises data for which retransmissions are done blindly. In other words, the second stage may be based on both blind retransmission data and initial transmission data. The quantity of buffered blind retransmission data is only considered in the second stage.

[0033] In some embodiments, in the second stage different priorities are used for the second buffers, that is, each logical channel would in these embodiments be configured with two different priorities: one for the first buffer, another one for the second buffer. The priority of the second buffer may be used when ordering the logical channels into the priority order for the second stage. This provides the effect, that the blind retransmissions may be more accurately controlled on a per-channel basis.

[0034] As a result of the first and second stages, the logical channels are allocated resources of the UL grant, such that at least some of the logical channels may receive resources from both the first and second stages. Other logical channels may receive resources from only the first stage, only from the second stage, and some logical channels with low priority may be allocated no resources in either stage. In at least some embodiments, the allocation quota is not updated based on allocations performed in the second stage.

[0035] Once the quantity of resources allocated to each logical channel is known, after the first and, when performed, also the second stages are run, the RLC entities are requested to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated, to the MAC entity. In some embodiments, the RLC entity will provide data from the second buffer of the logical channel only after the first buffer is emptied, in other words, the first buffer is emptied for transmission first, and any remaining allocated resource is then used to blindly re-transmit data from the second buffer. In other embodiments, the MAC entity advises the RLC entities concerning data quantities which they are to provide from the first and second buffers. An advantage of the latter embodiments is that control over a relative priority of blind retransmissions may be adjusted flexibly.

[0036] The RLC entities 210, 220, 230, 240 provide to the MAC entity RLC PDUs with data corresponding in quantity to the amount of resources allocated to the respective logical channel. For example, each RLC entity allocated resources may provide one or more RLC PDU. For example, the quantity of resources may be enough for exactly one RLC PDU. These RLC PDUs are illustrated in FIGURE 2 as RLC PDUs 218, 228, 238, 248. These further schematically indicate the buffers from which their contents derive, for example RLC PDU 218, originating from RLC entity 210, comprises data from first buffer 212 and a smaller quantity of data from second buffer 214. RLC PDU 238, from RLC entity 230, has data only from first buffer 232.

[0037] A transport block 250 is then formed of the RLC PDUs 218, 228, 238, 248. The transport block is then sent from the MAC entity to the physical layer for processing for transmission over an air interface between the UE and the network to which the UE is attached.

[0038] Overall the actions of the UE relating to the allocation of the resources of the UL grant may be summarized as the following. Firstly, the MAC entity determines the transport block size, TBS, from the UL grant. Secondly, the MAC entity retrieves from each RLC entity information on the amount of buffered data in the first and second buffers. Thirdly, the MACentity performs the LCP procedure based on buffer sizes for each logical channel, wherein no data is pulled from the first or second buffers during this step. Fourthly, when the LCP process is finalized, the MAC entity requests each RLC entity to deliver RLC PDUs of a specific total size, equal to the amount of resources allocated to the logical channel of this RLC entity in the LCP process. Fifthly, each RLC entity delivers one or more RLC PDUs including data from the first and / or second buffers. Finally, the MAC entity builds the transport block by concatenating the RLC PDUs, and passes the transport block to lower layers for processing for transmission. These actions may be performed in RLC acknowledged mode, AM.

[0039] This allocation mechanism provides the benefit, that resources of an uplink transmission grant are allocated to logical channels in a UE, such that prioritized bit rates of lower-priority channels are prioritized in the resource allocation higher than blind retransmissions, and simultaneously the blind transmissions themselves are prioritized in the resource allocation higher than exceeding the prioritized bit rates of the lower-priority channels. The first aspect ensures achieving the bit rate requirements of all the logical channels before pushing blind retransmission in the transmission queue. The second aspect enables timely delivery of packets from high priority logical channel, such as data from an XR application with short packet delay budget. In other words, the LCP first allocates resources to fulfill the PBR of also low priority logical channels (first stage) and then allocates resources for blind retransmissions of high priority logical channels (second stage). This simultaneous achievement is a technical effect and benefit obtained in the system.

[0040] A MAC PDU consists of one or more MAC subPDUs. Each MAC subPDU may consist of one of the following: a MAC subheader only (including padding), a MAC subheader and a MAC SDU, a MAC subheader and a MAC control element, CE, and a MAC subheader and padding.

[0041] In some embodiments, the network is configured to provide the UE an instruction that the UE is to apply the resource allocation method herein described, rather than another resource allocation method, such as, for example, one without the second buffer and where the first and second stages of the LCP procedure are based on the same buffers. The instruction may relate to all logical channels of the UE, or only to a subset of them, wherein in case only a subset is indicated, the instruction indicates which logical channels are in the scope of the instruction. The instruction may be conveyed to the UE via RRC signaling, or a MAC CE.

[0042] FIGURE 3 illustrates an example apparatus capable of supporting at least some embodiments of the present invention. Illustrated is device 300, which may comprise, for example, a UE 110 of FIGURE 1 or, in applicable parts, a network node such as a base station. Device 300 is an apparatus. Comprised in device 300 is processor 310, which may comprise, for example, a single- or multi-core processor wherein a single-core processor comprises one processing core and a multi-core processor comprises more than one processing core. Processor 310 may comprise, in general, a control device. Processor 310 may comprise more than one processor. When processor 310 comprises more than one processor, device 300 may be a distributed device wherein processing of tasks takes place in more than one physical unit. Processor 310 may be a control device. A processing core may comprise, for example, a Cortex-A8 processing core manufactured by ARM Holdings or a Zen processing core designed by Advanced Micro Devices Corporation. A processing core or processor may be, or may comprise, at least one qubit. Processor 310 may comprise at least one Qualcomm Snapdragon and / or Intel Atom processor. Processor 310 may comprise at least one application-specific integrated circuit, ASIC. Processor 310 may comprise at least one field-programmable gate array, FPGA. Processor 310, optionally together with memory and computer instructions, may be means for performing method steps in device 300, such as allocating, providing, receiving and performing. Processor 310 may be configured, at least in part by computer instructions, to perform actions.

[0043] A processor may comprise circuitry, or be constituted as circuitry or circuitries, the circuitry or circuitries being configured to perform phases of methods in accordance with embodiments described herein. 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 analogue and / or digital circuitry, and (b) combinations of hardware circuits and software, such as, as applicable: (i) a combination of analogue 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 mobile phone or server, to perform various functions) and (c) hardware circuit(s) and or 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.

[0044] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitryalso covers an implementation of merely a hardware circuit or processor (or multiple processors) or 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 or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.

[0045] Device 300 may comprise memory 320. Memory 320 may comprise randomaccess memory and / or permanent memory. Memory 320 may comprise at least one RAM chip. Memory 320 may be a computer readable medium. Memory 320 may comprise solid-state, magnetic, optical and / or holographic memory, for example. Memory 320 may be at least in part accessible to processor 310. Memory 320 may be at least in part comprised in processor 310. Memory 320 may be means for storing information. Memory 320 may comprise computer instructions that processor 310 is configured to execute. When computer instructions configured to cause processor 310 to perform certain actions are stored in memory 320, and device 300 overall is configured to run under the direction of processor 310 using computer instructions from memory 320, processor 310 and / or its at least one processing core may be considered to be configured to perform said certain actions. Memory 320 may be at least in part external to device 300 but accessible to device 300. Memory 320 may be transitory or non-transitory. The term “non-transitory”, as used herein, is a limitation of the medium itself (that is, tangible, not a signal) as opposed to a limitation on data storage persistency (for example, RAM vs. ROM).

[0046] Device 300 may comprise a transmitter 330. Device 300 may comprise a receiver 340. Transmitter 330 and receiver 340 may be configured to transmit and receive, respectively, information in accordance with at least one cellular or non-cellular standard. Transmitter 330 may comprise more than one transmitter. Receiver 340 may comprise more than one receiver. Transmitter 330 and / or receiver 340 may be configured to operate in accordance with global system for mobile communication, GSM, wideband code division multiple access, WCDMA, 5G, long term evolution, LTE, IS-95, wireless local area network, WLAN, Ethernet and / or worldwide interoperability for microwave access, WiMAX, standards, for example.

[0047] Device 300 may comprise a near-field communication, NFC, transceiver 350. NFC transceiver 350 may support at least one NFC technology, such as NFC, Bluetooth, Bluetooth Low Energy, BLE, Wibree or similar technologies.

[0048] Device 300 may comprise user interface, UI, 360. UI 360 may comprise at least one of a display, a keyboard, a touchscreen, a vibrator arranged to signal to a user by causing device 300 to vibrate, a speaker or a microphone. A user may be able to operate device 300 via UI 360, for example to accept incoming telephone calls, to originate telephone calls or video calls, to browse the Internet, to manage digital files stored in memory 320 or on a cloud accessible via transmitter 330 and receiver 340, or via NFC transceiver 350, and / or to play games.

[0049] Device 300 may comprise or be arranged to accept a user identity module 370. User identity module 370 may comprise, for example, a subscriber identity module, SIM, card installable in device 300. A user identity module 370 may comprise information identifying a subscription of a user of device 300. A user identity module 370 may comprise cryptographic information usable to verify the identity of a user of device 300 and / or to facilitate encryption of communicated information and billing of the user of device 300 for communication effected via device 300.

[0050] Processor 310 may be furnished with a transmitter arranged to output information from processor 310, via electrical leads internal to device 300, to other devices comprised in device 300. Such a transmitter may comprise a serial bus transmitter arranged to, for example, output information via at least one electrical lead to memory 320 for storage therein. Alternatively, to a serial bus, the transmitter may comprise a parallel bus transmitter. Likewise, processor 310 may comprise a receiver arranged to receive information in processor 310, via electrical leads internal to device 300, from other devices comprised in device 300. Such a receiver may comprise a serial bus receiver arranged to, for example, receive information via at least one electrical lead from receiver 340 for processing in processor 310. Alternatively, to a serial bus, the receiver may comprise a parallel bus receiver.

[0051] Device 300 may comprise further devices not illustrated in FIGURE 3. For example, where device 300 comprises a smartphone, it may comprise at least one digital camera. Some devices 300 may comprise a back-facing camera and a front-facing camera, wherein the back-facing camera may be intended for digital photography and the front-facing camera for video telephony. Device 300 may comprise a fingerprint sensor arranged to authenticate, at least in part, a user of device 300. In some embodiments, device 300 lacks at least one device described above. For example, some devices 300 may lack a NFC transceiver 350 and / or user identity module 370.

[0052] Processor 310, memory 320, transmitter 330, receiver 340, NFC transceiver 350, UI 360 and / or user identity module 370 may be interconnected by electrical leads internal to device 300 in a multitude of different ways. For example, each of the aforementioned devices may be separately connected to a master bus internal to device 300, to allow for the devices to exchange information. However, as the skilled person will appreciate, this is only one example and depending on the embodiment various ways of interconnecting at least two of the aforementioned devices may be selected without departing from the scope of the present invention.

[0053] FIGURE 4 illustrates signalling in accordance with at least some embodiments of the present invention. On the vertical axes are disposed, on the left, UE entities RLC1, RLC2 and MAC, and on the right, the network NW. In other words, RLC1, RLC2 and MAC are entities run in the UE. Time advances from the top toward the bottom. In the example of FIGURE 4 there are two RLC entities which each run one logical channel, for the purpose of clarity of the illustration. The number of channels may be larger than two, as discussed herein above.

[0054] In phase 410, the network provides to the UE an instruction that the UE is to use an LCP process comprising two stages, which are based on data in different buffers of each respective logical channel, as described herein above. The instruction of phase 410 may be directed to another entity in the UE than the one illustrated in FIGURE 4.

[0055] In phase 420 the network provides to the UE an UL grant, which indicates resources in terms of a quantity of data that the UE is allowed, per the UL grant, to transmit to the network. Responsive to the grant, the MAC entity selects, phase 430, logical channels to participate in an LCP process by e.g. excluding any logical channels which do not meet any mapping restrictions which may be present in the UL grant received in phase 420.

[0056] In phases 440 and 445, the MAC entity requests buffer size information from the RLC entities RLC1 and RLC2. The buffer size information is responsively provided to the MAC entity in phases 450 and 455. The buffer size information comprises buffer sizes of the first buffers and the second buffers of each RLC entity. In particular, the buffer sizes disclose quantities of data in each of the first and second buffers.

[0057] Based on the buffer size information received in phases 450 and 455, the MAC entity performs the LCP process described herein above in phase 460, allocating resources ofthe UL grant received in phase 420 to the logical channels associated with RLC entities RLC1 and RLC2.

[0058] In phases 470 and 475, the MAC entity requests RLC PDUs whose total size equals the resources allocated in phase 460 to the respective RLC entity. The RLC PDUs are responsively provided to the MAC entity in phases 480 and 485. As described herein above, the RLC entities RLC1 and RLC2 may either first empty their first buffers before including data from their second buffers, or the MAC entity may indicate in phases 470 and 475, respectively, how much data is to be provided from each buffer.

[0059] In phase 490 the MAC entity compiles a transport block from the RLC PDUs received in phases 480 and 485, and the transport block is transmitted, via lower layers, to the network in phase 4100.

[0060] FIGURE 5 is a flow graph of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may be performed in a user equipment, for example, or in a control device configured to control the functioning thereof, when installed therein.

[0061] Phase 510 comprises allocating, in an apparatus, resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.

[0062] FIGURE 6 is a flow graph of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may be performed in a network node, such as a base station, for example, or in a control device configured to control the functioning thereof, when installed therein.

[0063] Phase 610 comprises providing, by an apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplinktransmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order without regard to allocation quota, wherein for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.

[0064] FIGURE 7 is a flow graph of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may be performed in a user equipment, for example, or in a control device configured to control the functioning thereof, when installed therein.

[0065] Phase 710 comprises allocating resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein the first stage and the second stage are based on data in different data buffers of each respective logical channel.

[0066] FIGURE 8 is a flow graph of a method in accordance with at least some embodiments of the present invention. The phases of the illustrated method may be performed in a network node, such as a base station, for example, or in a control device configured to control the functioning thereof, when installed therein

[0067] Phase 810 comprises providing, by an apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota , in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order,without regard to allocation quota, wherein the first stage and the second stage are based on data in different data buffers of each respective logical channel.

[0068] It is to be understood that the embodiments of the invention disclosed are not limited to the particular structures, process steps, or materials disclosed herein, but are extended to equivalents thereof as would be recognized by those ordinarily skilled in the relevant arts. It should also be understood that terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting.

[0069] Reference throughout this specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Where reference is made to a numerical value using a term such as, for example, about or substantially, the exact numerical value is also disclosed.

[0070] As used herein, a plurality of items, structural elements, compositional elements, and / or materials may be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various embodiments and example of the present invention may be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as de facto equivalents of one another, but are to be considered as separate and autonomous representations of the present invention.

[0071] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the preceding description, numerous specific details are provided, such as examples of lengths, widths, shapes, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.

[0072] While the foregoing examples are illustrative of the principles of the present invention in one or more particular applications, it will be apparent to those of ordinary skill in the art that numerous modifications in form, usage and details of implementation can be made without the exercise of inventive faculty, and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited, except as by the claims set forth below.

[0073] The verbs “to comprise” and “to include” are used in this document as open limitations that neither exclude nor require the existence of also un-recited features. The features recited in depending claims are mutually freely combinable unless otherwise explicitly stated. Furthermore, it is to be understood that the use of "a" or "an", that is, a singular form, throughout this document does not exclude a plurality.

[0074] As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or”, mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.INDUSTRIAL APPLICABILITY

[0075] At least some embodiments of the present invention find industrial application in wireless communication.ACRONYMS LIST3GPP 3rdgeneration partnership projectBSD bucket-size durationLCP logical channel prioritizationNACK negative aknowledgementPBR prioritized bit ratePDU Protocol Data UnitSDU Service Data UnitXR extended realityTECHNICAL CLAUSES:Clause 1. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 2. The apparatus according to Clause 1, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause 3. The apparatus according to Clause 1 or 2, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that data from the second buffer of the logical channel is provided only after the first buffer is empty.Clause 4. The apparatus according to Clause 1 or 2, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that the RLC entity is provided indications of how much data is to be provided from the first buffer and the second buffer.Clause 5. The apparatus according to any of Clauses 1 - 4, configured to receive from each RLC entity associated with a logical channel with resources allocated in the multi-stage process, one or more radio link control, RLC, protocol data units, PDUs, including data fromthe first and / or second buffers of the respective logical channel, and to form a transport block from the one or more RLC PDUs received from the logical channels.Clause 6. The apparatus according to any of Clauses 1 - 5, configured to perform the allocating of the resources in the multi-stage process wherein the first stage is based on the first buffers and not the second buffers of each logical channel with allocation quota, and the second stage is based on both the first and the second buffers of each logical channel as a response to receiving an instruction from a network.Clause 7. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- provide an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order without regard to allocation quota, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 8. The apparatus according to Clause 7, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause 9. The apparatus according to any of Clauses 7 - 8, further configured to provide the uplink transmission grant to the user equipment.Clause 10. The apparatus according to any of Clauses 7 - 9, wherein the instruction applies to one or more of the logical channels in the user equipment.Clause 11. A method, comprising:- allocating, in an apparatus, resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 12. The method according to Clause 11, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause 13. The method according to Clause 11 or 12, wherein a radio link control, RLC, entity provides a quantity of data corresponding to the resources its corresponding logical channel is allocated such that data from the second buffer of the logical channel is provided only after the first buffer is empty.Clause 14. The method according to Clause 11 or 12, wherein a radio link control, RLC, entity provides a quantity of data corresponding to the resources its corresponding logical channel is allocated such that the RLC entity is provided indications of how much data is to be provided from the first buffer and the second buffer.Clause 15. The method according to any of Clauses 11 - 14, further comprising receiving from each RLC entity associated with a logical channel with resources allocated in the multi-stage process, one or more radio link control, RLC, protocol data units, PDUs, including data from the first and / or second buffers of the respective logical channel, and forming a transport block from the one or more RLC PDUs received from the logical channels.Clause 16. The method according to any of Clauses 11 - 15, comprising performing the allocating of the resources in the multi-stage process wherein the first stage is based on the first buffers and not the second buffers of each logical channel with allocation quota, and the second stage is based on both the first and the second buffers of each logical channel as a response to receiving an instruction from a network.Clause 17. A method, comprising:- providing, by an apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order without regard to allocation quota, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 18. The method according to Clause 17, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause 19. The method according to any of Clauses 17 - 18, further comprising providing the uplink transmission grant to the user equipment.Clause 20. The method according to any of Clauses 17 - 19, wherein the instruction applies to one or more of the logical channels in the user equipment.Clause 21. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:- allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 22. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:- provide an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order without regard to allocation quota, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 23. An apparatus comprising means for:- allocating, in the apparatus, resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logicalchannels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause 24. An apparatus comprising means for:- providing, by the apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order without regard to allocation quota, wherein- for each logical channel for which resources are to be allocated, the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause Al. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A2. The apparatus according to Clause Al, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause A3. The apparatus according to Clause A2, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause A4. The apparatus according to any of Clauses A2 - A3, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that data from the second buffer of the logical channel is provided only after the first buffer is empty.Clause A5. The apparatus according to any of Clauses A2 - A3, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that the logical channel is provided indications of how much data is to be provided from the first buffer and the second buffer.Clause A7. The apparatus according to any of Clauses A2 - A6, configured to receive from each RLC entity associated with a logical channel with resources allocated in the multi-stage process, one or more radio link control, RLC, protocol data unit, PDU, including data from the first and / or second buffers of the respective logical channel, and to form a transport block from the one or more RLC PDUs received from the logical channels.Clause A8. The apparatus according to any of Clauses A2 - A7, configured to perform the allocating of the resources in the multi-stage process wherein the first stage is based on the first buffers and not the second buffers of each logical channel with allocation quota, and the second stage is based on both the first and the second buffers of each logical channel as a response to receiving an instruction from a network.Clause A9. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- provide an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A10. The apparatus according to Clause A9, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause All. The apparatus according to Clause A10, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause A12. The apparatus according to any of Clauses A9 - Al 1, further configured to provide the uplink transmission grant to the user equipment.Clause A13. The apparatus according to any of Clauses A9 - A12, wherein the instruction applies to one or more of the logical channels in the user equipment.Clause A14. A method, comprising:- allocating resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels indecreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A15. The method according to Clause A14, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause A16. The method according to Clause A15, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause A17. The method according to any of Clauses A15 - A16, wherein a radio link control, RLC, entity provides a quantity of data corresponding to the resources its corresponding logical channel is allocated such that data from the second buffer of the logical channel is provided only after the first buffer is empty.Clause A18. The method according to any of Clauses A15 - A17, wherein a radio link control, RLC, entity provides a quantity of data corresponding to the resources its corresponding logical channel is allocated such that the logical channel is provided indications of how much data is to be provided from the first buffer and the second buffer.Clause Al 9. The method according to any of Clauses Al 5 - Al 8, comprising receiving from each RLC entity associated with a logical channel with resources allocated in the multi-stage process, one or more radio link control, RLC, protocol data unit, PDU, including data from the first and / or second buffers of the respective logical channel, and forming a transport block from the one or more RLC PDUs received from the logical channels.Clause A20. The method according to any of Clauses Al 5 - Al 9, comprising performing the allocating of the resources in the multi-stage process wherein the first stage is based on the first buffers and not the second buffers of each logical channel with allocation quota, and the secondstage is based on both the first and the second buffers of each logical channel as a response to receiving an instruction from a network.Clause A21. A method, comprising:- providing, by an apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota , in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A22. The method according to Clause A21, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.Clause A23. The method according to Clause A22, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.Clause A24. The method according to any of Clauses A21 - A23, further comprising providing the uplink transmission grant to the user equipment.Clause A25. The method according to any of Clauses A21 - Al 2, wherein the instruction applies to one or more of the logical channels in the user equipment.Clause A26. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:- allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A27. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:- provide an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A28. An apparatus comprising means for:- allocating resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.Clause A29. An apparatus comprising means for:- providing, by the apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota , in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.

Claims

CLAIMS:

1. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- allocate resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.

2. The apparatus according to claim 1, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.

3. The apparatus according to claim 2, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.

4. The apparatus according to any of claims 2 - 3, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that data from the second buffer of the logical channel is provided only after the first buffer is empty.

5. The apparatus according to any of claims 2 - 3, wherein a radio link control, RLC, entity is configured to provide a quantity of data corresponding to the resources its corresponding logical channel is allocated such that the logical channel is provided indications of how much data is to be provided from the first buffer and the second buffer.

6. The apparatus according to any of claims 2 - 5, configured to receive from each RLC entity associated with a logical channel with resources allocated in the multi-stage process, one or more radio link control, RLC, protocol data unit, PDU, including data from the first and / or second buffers of the respective logical channel, and to form a transport block from the one or more RLC PDUs received from the logical channels.

7. The apparatus according to any of claims 2 - 6, configured to perform the allocating of the resources in the multi-stage process wherein the first stage is based on the first buffers and not the second buffers of each logical channel with allocation quota, and the second stage is based on both the first and the second buffers of each logical channel as a response to receiving an instruction from a network.

8. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:- provide an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.

9. The apparatus according to claim 8, wherein the first stage is based on data in a first buffer and not data in a second buffer of the respective logical channel, and the second stage is based on data in both the first and the second buffer of the respective logical channel, the first buffer including at least initial transmissions of the respective logical channel, and the second buffer not including the initial transmissions.

10. The apparatus according to claim 9, wherein each second buffer includes retransmission data of the respective logical channel which has been transmitted and for which no need for retransmission has been determined.

11. The apparatus according to any of claims 8 - 10, further configured to provide the uplink transmission grant to the user equipment.

12. The apparatus according to any of claims 8 - 11, wherein the instruction applies to one or more of the logical channels in the user equipment.

13. A method, comprising:- allocating resources of an uplink transmission grant to a plurality of logical channels in the apparatus in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota, in decreasing priority order, and a second stage comprises allocating resources to all logical channels in decreasing priority order without regard to allocation quota if resources remain after the first stage, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.

14. A method, comprising:- providing, by an apparatus, an instruction to a user equipment, the instruction instructing the user equipment to allocate resources of an uplink transmission grant to a plurality of logical channels in the user equipment in a multi-stage process, wherein a first stage comprises allocating resources to those logical channels which have allocation quota , in decreasing priority order, and a second stage comprises allocating resources to logical channels if resources remain after the first stage in decreasing priority order, without regard to allocation quota, wherein- the first stage and the second stage are based on data in different data buffers of each respective logical channel.

15. A non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least to perform the method of claim 13 or 14.