Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PRIORITIZATION OF BUFFERED DATA UNITS TECHNICAL FIELD
Document Type and Number:
WIPO Patent Application WO/2021/037332
Kind Code:
A1
Abstract:
According to an aspect, there is disclosed a method comprising determining a remaining time to a required delivery time of at least one buffered data unit; and generating a data packet based on the determined remaining time to the required delivery time of the at least one buffered data unit. The method includes prioritizing a logical channel associated with the buffered data according to the determined remaining time and classifying the logical channel as a critical logical channel.

Inventors:
KUO PING-HENG (NZ)
SELVAGANAPATHY SRINIVASAN (IN)
POCOVI GUILLERMO (DK)
Application Number:
PCT/EP2019/072652
Publication Date:
March 04, 2021
Filing Date:
August 23, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA TECHNOLOGIES OY (FI)
International Classes:
H04W72/12
Foreign References:
US20180115493A12018-04-26
US20050213587A12005-09-29
US20080095055A12008-04-24
Attorney, Agent or Firm:
NOKIA TECHNOLOGIES OY et al. (FI)
Download PDF:
Claims:
CLAIMS

1. A method comprising: determining a remaining time to a required de livery time of at least one buffered data unit; generating a data packet based on the deter mined remaining time to the required delivery time of the at least one buffered data unit.

2. The method according to claim 1, wherein the at least one buffered data unit is buffered in at least one logical channel.

3. The method according to claim 2, wherein generating a data packet based on the determined re maining time to the required delivery time of the at least one buffered data unit, comprises: prioritizing the at least one logical channel according to the determined remaining time to the re quired delivery time of at least one buffered data unit.

4. The method according to any of claims 2 - 3, further comprising: determining that the remaining time until the required delivery time for the at least one buffered data unit in the at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and changing a logical channel prioritization be havior mode of the critical channel to a mode priori tizing critical logical channels.

5. The method according to any of claims 2 - 3, further comprising: receiving at least one instruction from a net work node; and switching a logical channel prioritization mode of the logical channels to a delivery time criti calness based mode.

6. The method according to any of claims 2 - 3, further comprising: determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and modifying at least one logical channel prior itization parameter and/or setting for a critical log ical channel.

7. The method according to claim 6, further comprising: identifying that a critical logical channel is no longer a critical logical channel; and resetting the at least one logical channel pri oritization parameter and/or setting of the logical channel back to default values.

8. The method according to claim 6 or 7, fur ther comprising: taking a maximum data burst volume, MDBV, as sociating with quality of service flows mapped to rel evant data radio bearers, DRB, into account when modi fying or resetting the at least one logical channel prioritization parameter and/or setting for the critical logical channel.

9. The method according to any of claims 2 - 8, further comprising: receiving a time budget threshold associated with an uplink grant; determining which logical channels have data units with a remaining time budget smaller than the time budget threshold; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

10. The method according to any of claims 2 - 8, further comprising: receiving an expected delivery time associated with an uplink grant; determining which logical channels have data units that are to be delivered at the expected delivery time; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

11. The method according to any of claims 2 - 3, further comprising: identifying at least two conflicting uplink grants in the time domain; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; performing logical channel prioritization and generating at least one data packet for transmission on the uplink grants; determining that the transmission on at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time. 12. The method according to any of claims 2 - 3, further comprising: identifying at least two conflicting uplink grants in the time domain; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; determining the logical channels that will be mapped to the data packet to be transmitted on at least one uplink grant; determining that the data packet to be trans mitted on the at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time.

13. The method according to any of claims 2 - 3, further comprising: identifying at least two conflicting uplink grants in the time domain, wherein one of the at least two conflicting uplink grants is dedicated to critical logical channels; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; mapping data from the critical logical channels to the uplink grant dedicated to critical logical chan nels; and refraining from mapping data from the critical logical channels to the remaining uplink grants of the at least two conflicting uplink grants.

14. The method according to any of claims 1 - 13, wherein determining a remaining time to required delivery time of at least one buffered data unit, com prises: receiving a time stamp of the required delivery time for the at least one buffered data unit from an upper protocol layer.

15. The method according to any of claims 1 - 13, further comprising: determining that the remaining time until the required delivery time for at least one buffered data unit reaches a first threshold; and causing transmission of an information about the remaining time to a network node.

16. The method according to claim 15, further comprising: receiving an uplink grant with characteristics fitting to the information about the remaining time.

17. The method according to any of claims 1 -

16, further comprising: receiving an indication associated with an up link grant that the uplink grant is to be used for transmission of data units with the remaining time until the required delivery time less than a third threshold.

18. The method according to any of claims 1 -

17, wherein the method is conducted at a medium access control layer.

19. An apparatus (100), comprising: at least one processor (102); and at least one memory (104) including computer program code; the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: determining a remaining time to a required de livery time of at least one buffered data unit; and generating a data packet based on the deter mined remaining time to the required delivery time of the at least one buffered data unit.

20. The apparatus according to claim 19, wherein the at least one buffered data unit is buffered in at least one logical channel.

21. The apparatus according to claim 20, the at least one memory (104) and the computer program code configured to, with the at least one processor (102), cause the apparatus (100) to at least perform: prioritizing the at least one logical channel according to the determined remaining time to the re quired delivery time of at least one buffered data unit.

22. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and changing a logical channel prioritization be havior mode of the critical channel to a mode priori tizing critical logical channels.

23. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: receiving at least one instruction from a net work node; and switching a logical channel prioritization mode of the logical channels to a delivery time criti calness based mode.

24. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: determining that the remaining time until the required delivery time for at least one data buffered unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and modifying at least one logical channel prior itization parameter and/or setting for a critical log ical channel.

25. The apparatus according to claim 24, the at least one memory (104) and the computer program code configured to, with the at least one processor (102), cause the apparatus (100) to at least perform: identifying that a critical logical channel is no longer a critical logical channel; and resetting the at least one logical channel pri oritization parameter and/or setting of the logical channel back to default values.

26. The apparatus according to any of claims 24 or 25, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: taking a maximum data burst volume, MDBV, as sociating with quality of service flows mapped to rel evant data radio bearers, DRB, into account when modi fying or resetting the at least one logical channel prioritization parameter and/or setting for the critical logical channel.

27. The apparatus according to any of claims 20 - 26, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: receiving a time budget threshold associated with an uplink grant; determining which logical channels have a re maining time budget smaller than the time budget thresh old; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

28. The apparatus according to any of claims 20 - 26, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: receiving an expected delivery time associated with an uplink grant; determining which logical channels are to be delivered at the expected delivery time; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

29. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: identifying at least two conflicting uplink grants in the time domain; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; performing logical channel prioritization and generating at least one data packet for transmission on the uplink grants; determining that the transmission on at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time.

30. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: identifying at least two conflicting uplink grants in the time domain; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; determining the logical channels that will be mapped to the data packet to be transmitted on at least one uplink grant; determining that the data packet to be trans mitted on the at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time.

31. The apparatus according to any of claims 20 - 21, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: identifying at least two conflicting uplink grants in the time domain, wherein one of the at least two conflicting uplink grants is dedicated to critical logical channels; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; mapping data from the critical logical channels to the uplink grant dedicated to critical logical chan nels; and refraining from mapping data from the critical logical channels to the remaining uplink grants of the at least two conflicting uplink grants. 32. The apparatus according to any of claims 19 - 31, the at least one memory (104) and the computer program code configured to, with the at least one pro- cessor (102), cause the apparatus (100) to at least perform: receiving a time stamp of the required delivery time for the at least one buffered data unit from an upper protocol layer.

33. The apparatus according to any of claims

19 - 32, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: determining that the remaining time until the required delivery time for at least one buffered data unit reaches a first threshold; and causing transmission of an information about the remaining time to a network node.

34. The apparatus according to claim 33, the at least one memory (104) and the computer program code configured to, with the at least one processor (102), cause the apparatus (100) to at least perform: receiving an uplink grant with characteristics fitting to the information about the remaining time.

35. The apparatus according to any of claims 19 - 34, the at least one memory (104) and the computer program code configured to, with the at least one pro cessor (102), cause the apparatus (100) to at least perform: receiving an indication associated with an up- link grant that the uplink grant is to be used for transmission of data units with the remaining time until the required delivery time less than a third threshold. 36. The apparatus according to any of claims 19 - 35, wherein the steps are conducted at a medium access control layer.

37. A computer program comprising instructions for causing an apparatus to perform the method of any of claims 1 - 18. 38. A computer-readable medium comprising a computer program comprising instructions for causing an apparatus to perform the method of any of claims 1- 18.

Description:
PRIORITIZATION OF BUFFERED DATA UNITS TECHNICAL FIELD

The present application generally relates to the field of wireless communications. In particular, the present application relates to an apparatus for wireless communication, and a related method and a computer pro gram.

BACKGROUND

In wireless data transmission, different traf fic flows can be mapped to different data radio bearers (DRB), and the data on each data radio bearer may even tually be buffered, for example, in a logical channel (LCH) associated to this bearer. Then a medium access control (MAC) layer may process data from these logical channels by allocating them to available radio re sources.

Each logical channel may have pre-configured parameters, for example, logical channel priority, pri oritized bit rate (PBR), and bucket size duration (BSD). For each uplink grant, the MAC layer selects logical channels and takes data out of the buffer in decreasing priority order to fill up the transport block of the uplink grant. The MAC layer first serves higher priority traffic when allocating data from logical channels to the available resource. The priority levels of the log ical channels are pre-configured and fixed until updated by a re-configuration. This may lead to a situation in which data is not transmitted in an optimal order from the logical channels.

SUMMARY

An example embodiment of a method comprises determining a remaining time to a required delivery time of at least one buffered data unit from at least one logical channel; and generating a data packet based on the determined remaining time to the required delivery time of the at least one data unit.

In an example embodiment, the at least one buffered data unit is buffered in at least one logical channel.

In an example embodiment, generating a data packet based on the determined remaining time to the required delivery time of the at least one buffered data unit, comprises prioritizing the at least one logical channel according to the determined remaining time to the required delivery time of at least one buffered data unit.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises receiving an uplink grant with char acteristics fitting to the information about the re maining time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises determining that the remaining time until the required delivery time for at least one buff ered data unit in the at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and changing a logical channel prioritization behavior mode of the critical channels to a mode prioritizing critical logical channels.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises receiving at least one instruction from a network node; and switching a logical channel prioritization mode of the logical channels to a deliv ery time criticalness based mode.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises determining that the remaining time until the required delivery time for at least one buff ered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; and mod ifying at least one logical channel prioritization pa rameter and/or setting for a critical logical channel.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises identifying that a critical logical channel is no longer a critical logical channel; and resetting the at least one logical channel prioritiza tion parameter and/or setting of the logical channel back to default values.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises taking a maximum data burst volume, MDBV, associating with quality of service flows mapped to relevant data radio bearers, DRBs, into account when modifying or resetting the at least one logical channel prioritization parameter and/or setting for the critical logical channel.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises receiving a time budget threshold as sociated with an uplink grant; determining which logical channels have data units with a remaining time budget smaller than the time budget threshold; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises receiving an expected delivery time associated with an uplink grant; determining which log ical channels have data units that are to be delivered at the expected delivery time; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises identifying at least two conflicting uplink grants in the time domain; determining, that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical chan nel; performing logical channel prioritization and gen erating at least one data packet for transmission on the uplink grants; determining that the transmission on at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the up link grant that carries data that is the most time- critical in terms of meeting the required delivery time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises identifying at least two conflicting uplink grants in the time domain; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical chan nel; determining the logical channels that will be mapped to the data packet to be transmitted on at least one uplink grant; determining, that the data packet to be transmitted on at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the re quired delivery time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises identifying at least two conflicting uplink grants in the time domain, wherein one of the at least two conflicting uplink grants is dedicated to critical logical channels; determining that the remain ing time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical channel; mapping data from the critical logical channels to the uplink grant dedicated to critical logical channels; and refraining from mapping data from the critical logical channels to the remaining uplink grants of the at least two conflicting uplink grants.

In an example embodiment, alternatively or in addition to the above-described embodiments, determin ing a remaining time to required delivery time of at least one buffered data unit, comprises receiving a time stamp of the required delivery time for the at least one buffered data unit from an upper protocol layer.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises determining that the remaining time until the required delivery time for at least one buff ered data unit reaches a first threshold, and causing transmission of an information about the remaining time to a network node.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method further comprises receiving an indication associated with an uplink grant that the uplink grant is to be used for transmission of data units with the remaining time until the required delivery time less than a third threshold.

In an example embodiment, alternatively or in addition to the above-described embodiments, the method is conducted at a medium access control layer.

An example embodiment of an apparatus comprises at least one processor; and at least one memory includ ing computer program code. The at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least perform: determining a remaining time to a required de livery time of at least one buffered data unit; and generating a data packet based on the determined re maining time to the required delivery time of the at least one buffered data unit.

In an example embodiment, the at least one buffered data unit is buffered in at least one logical channel.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: prioritizing the at least one logical channel according to the determined remain ing time to the required delivery time of at least one buffered data unit.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving an uplink grant with characteristics fitting to the information about the remaining time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: determining that the re maining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical chan nel; and changing a logical channel prioritization be havior mode of the critical channels to a mode priori tizing critical logical channels. In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving at least one instruction from a network node; and switching a logical channel prioritization mode of the logical channels to a delivery time criticalness based mode.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: determining that the re maining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical chan nel; and modifying at least one logical channel prior itization parameter and/or setting for a critical log ical channel.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: identifying that a crit ical logical channel is no longer a critical logical channel; and resetting the at least one logical channel prioritization parameter and/or setting of the logical channel back to default values.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: taking a maximum data burst volume, MDBV, associating with quality of service flows mapped to relevant data radio bearers, DRBs, into account when modifying or resetting the at least one logical channel prioritization parameter and/or setting for the critical logical channel.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving a time budget threshold associated with an uplink grant; determining which logical channels have a remaining time budget smaller than the time budget threshold; and generating a data packet comprises generating a data packet for the uplink grant by prioritizing the determined logical channels.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving an expected delivery time associated with an uplink grant; deter mining which logical channels are to be delivered at the expected delivery time; generating a data packet com prises generating a data packet for the uplink grant by prioritizing the determined logical channels.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: identifying at least two conflicting uplink grants in the time domain; determin ing that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; clas sifying the at least one logical channel as a critical logical channel; performing logical channel prioritiza tion and generating at least one data packet for trans mission on the uplink grants; determining that the transmission on at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: identifying at least two conflicting uplink grants in the time domain; determin ing that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; clas sifying the at least one logical channel as a critical logical channel; determining the logical channels that will be mapped to the data packet to be transmitted on at least one uplink grant; determining that the data packet to be transmitted on the at least one uplink grant conveys a data unit from at least one critical logical channel; and prioritizing the uplink grant that carries data that is the most time-critical in terms of meeting the required delivery time.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: identifying at least two conflicting uplink grants in the time domain, wherein one of the at least two conflicting uplink grants is dedicated to critical logical channels; determining that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold; classifying the at least one logical channel as a critical logical chan nel; mapping data from the critical logical channels to the uplink grant dedicated to critical logical channels; and refraining from mapping data from the critical log ical channels to the remaining uplink grants of the at least two conflicting uplink grants.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving a time stamp of the required delivery time for the at least one buff ered data unit from an upper protocol layer.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: determining that the remaining time until the required delivery time for at least one buffered data unit reaches a first threshold; and causing transmission of an information about the remaining time to a network node.

In an example embodiment, alternatively or in addition to the above-described embodiments, the at least one memory and the computer program code config ured to, with the at least one processor, cause the apparatus to at least perform: receiving an indication associated with an uplink grant that the uplink grant is to be used for transmission of data units with the remaining time until the required delivery time less than a third threshold.

In an example embodiment, alternatively or in addition to the above-described embodiments, the steps are conducted at a medium access control layer.

An example embodiment of a computer program comprises instructions for causing an apparatus to per form the method of any of the above example embodiments.

An example embodiment of a computer readable medium comprises program instructions for causing an apparatus to perform the method of any of the above example embodiments.

DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the embodiments and constitute a part of this specification, illustrate embodiments and together with the description help to explain the principles of the embodiments. In the draw ings:

FIG. 1 illustrates an example embodiment of the subject matter described herein illustrating a network node.

FIG. 2 illustrates an example embodiment of the subject matter described herein illustrating a user node.

FIG. 3 illustrates an example embodiment of the subject matter described herein illustrating a method.

FIG. 4 illustrates an example embodiment of the subject matter described herein illustrating a method.

FIG. 5 illustrates an example embodiment of the subject matter described herein illustrating a method

FIG. 6 illustrates an example embodiment of the subject matter described herein illustrating a method.

FIG. 7 illustrates an example embodiment of the subject matter described herein illustrating a method.

FIG. 8 illustrates an example embodiment for obtaining a time stamp of the required delivery time for a data unit.

Like reference numerals are used to designate like parts in the accompanying drawings.

DETAILED DESCRIPTION

Reference will now be made in detail to embod- iments, examples of which are illustrated in the accom- panying drawings. The detailed description provided be low in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the pre sent example may be constructed or utilized. The de scription sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.

FIG. 1 illustrates an example embodiment of the subject matter described herein illustrating an appa ratus 100.

The apparatus 100 comprises one or more pro cessors 102, and one or more memories 104 that comprise computer program code. The apparatus 100 may also in clude a transceiver 106, as well as other elements, such as an input/output module (not shown in FIG. 1), and/or a communication interface (not shown in FIG. 1).

Although the apparatus 100 is depicted to in clude only one processor 102, the apparatus 100 may include more than one processor. In an example embodi ment, the memory 104 is capable of storing instructions, such as an operating system and/or various applications.

Furthermore, the processor 102 is capable of executing the stored instructions. In an embodiment, the processor 102 may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and one or more single core pro cessors. For example, the processor 102 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for ex ample, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a mi- crocontroller unit (MCU), a hardware accelerator, a spe cial-purpose computer chip, or the like. In an embodi ment, the processor 102 may be configured to execute hard-coded functionality. In an example embodiment, the processor 102 is embodied as an executor of software instructions, wherein the instructions may specifically configure the processor 102 to perform the algorithms and/or operations described herein when the instructions are executed.

The memory 104 may be embodied as one or more volatile memory devices, one or more non-volatile memory devices, and/or a combination of one or more volatile memory devices and non-volatile memory devices. For ex ample, the memory 104 may be embodied as semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.).

The apparatus 100 may be, for example, a user node providing wireless communication, for example, fifth generation New Radio (NG) wireless communication, station. Further, the apparatus 100 may be any of var ious types of devices used directly by an end user entity and capable of communication in a wireless network, such as user equipment (UE). Such devices include but are not limited to smartphones, tablet computers, smart watches, laptop computers, Internet-of-Things (IoT) devices, any hand-held or portable devices etc.

The at least one memory 104 and the computer program code are configured to, with the at least one processor 102, cause the apparatus 100 to at least per form determining a remaining time to a required delivery time of at least one buffered data unit, and generating a data packet based on the determined remaining time to the required delivery time of the at least one buffered data unit. Further, in an example embodiment, one or more elements of the apparatus 100 may constitute means for determining a remaining time to a required delivery time of at least one buffered data unit from at least one logical channel; and means for generating a data packet based on the determined remaining time to the required delivery time of the at least one data unit.

FIG. 2 illustrates an example embodiment of the subject matter described herein illustrating a method. The method may be method of data unit generation con ducted at a medium access control layer.

At 200, a remaining time to a required delivery time of at least one buffered data unit is determined. In one example embodiment, the at least one buffered data unit is buffered in at least one logical channel.

At 202, a data packet is generated based on the determined remaining time to the required delivery time of the at least one buffered data unit.

The steps 200-202 may be performed by a user node, for example, a user equipment. Further, a computer program comprising instructions for causing an apparatus to perform, may perform the steps 200-202. The solution disclosed above may enable a more dynamic data packet prioritization tailored for data that requires delivery at a specific point of time.

In an example embodiment, the at least one log ical channel may be prioritized according to the deter mined remaining time to the required delivery time of at least one buffered data unit. This enables a solution in which data units may be prioritized even if they are arranged in logical channels configured with relatively lower priority.

In an example embodiment, a time stamp of the required delivery time for the at least one buffered data unit may be received from an upper protocol layer. For example, the time stamp information may be attached to a Quality of Service (QoS) flow by the application layer, then User Plane Function (UPF) or Service Data Adaptation Protocol (SDAP)/Packet Data Convergence Pro- tocol (PDCP) layers may extract the time stamp infor mation and provide it to MAC layer. This enables a so lution in which the upper protocol layer may set desired delivery times for the data units.

In an example embodiment, it is determined that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel reaches a first threshold, and a transmission of an information about the remaining time to a network node. This may be conveyed jointly with the existing Buffer Status Report (BSR) mechanisms with some exten sions. Alternatively, the information can be provided via other type of L1/L2 control signaling at a physical layer.

In an example embodiment, an uplink grant with characteristics fitting to the information about the remaining time may be received, for example, with ap propriate Modulation Coding Scheme (MCS), Physical Up link Shared Channel (PUSCH) duration etc.

In an example embodiment, it is determined that the remaining time until the required delivery time for at least one buffered data unit in at least one logical channel is less than a second threshold, and the at least one logical channel is classified as a critical logical channel. Further, a logical channel prioritiza tion behavior mode of the critical channels is changed to a mode prioritizing critical logical channels, in stead of following the conventional Logical Channel Pri oritization (LCP) procedures which are based on pre configured logical channel priorities. The logical chan nels that are allowed to change LCP behavior may be restricted to those with a certain subset of pre-con- figured priority levels (such as logical channels with priority higher than a threshold priority), or via ex plicit configuration via RRC.

In an example embodiment, at least one instruc tion is received from a network node, and a logical channel prioritization mode of the logical channels is switched to a delivery time criticalness based mode. The apparatus may apply the LCP behavior based on the time- criticalness (i.e. how much time left until the required delivery time) as long as it receives a command from the network node.

In an example embodiment, an indication asso ciated with an uplink grant is received that the uplink grant is to be used for logical channels having the remaining time until the required delivery time less than a third threshold. Thus, when assigning an uplink grant (including a dynamic grant and a configured grant), the network node may further indicate (for ex ample, via Radio Resource Control (RRC) or Downlink Con trol Information (DCI), depending on the grant type) that such uplink grant DCI should be used only for log ical channel with remaining time budget smaller than the third threshold.

In an example embodiment, a time budget thresh old associated with an uplink grant is received, and it is determined which logical channels have data units with a remaining time budget smaller than the time budget threshold. A data packet for the uplink grant may then be generated by prioritizing the determined logical channels.

In an example embodiment, an expected delivery time associated with an uplink grant is received, and it is determined which logical channels have data units that are to be delivered at the expected delivery time. A data packet for the uplink grant may then be generated by prioritizing the determined logical channels.

In an example embodiment, as already disclosed, the medium access control layer may obtain the time stamp of the required delivery time for each buffered data unit from an upper protocol layer. In another ex ample embodiment, the required delivery time may be rel ative to the arrival time of data in a logical channel buffer. For example, each data unit may be delivered ys after arriving to the logical channel buffer. This solution may be used, for example, for Ultra-Reliable Low-Latency Communications (URLLC) like implementation where too-early delivery is not required. The value of may be determined, for example, based on the packet delay budgets (PDB) of the QoS flows relating to a spe cific logical channel.

In an example embodiment, a delivery time may vary per an individual buffered data unit. This is may be used in Time Sensitive Communications (TSC)/Time Sen sitive Networking (TSN) applications where the delivery time is fixed but there are some uncertainties/jitter affecting the arrival time of data units at a user node ingress point.

Some or all of the above discussed example em bodiments may be conducted at a medium access control layer.

FIG. 3 illustrates an example embodiment of the subject matter described herein illustrating a method. The illustrated example uses a fifth generation New Ra dio (NR) as an example.

As an example, in 5G NR user plane, different traffic flows can be mapped to different Data Radio Bearers (DRB), wherein the data on each DRB may eventu ally be buffered in a logical channel (LCH) 300A, 300B, 300C, 300D associated to this bearer, and the MAC layer will process data from these LCHs (may correspond to different DRBs) by allocating them to available radio resource (for example an uplink grant 304). Even if logical channels are used as an example, any other data unit buffering solution may be applied.

In earlier solutions, each LCH 300A, 300B, 300C, 300D is pre-configured with parameters, for exam ple, LCH priority, Prioritized Bit Rate (PBR), and Bucket Size Duration (BSD). So, in the earlier solu tions, for each uplink grant, the MAC selects LCHs and takes data out of the buffers in decreasing priority order to fill up the transport block of the grant 304. This has the effect that in the earlier solutions, the MAC layer will always first serve higher priority traf fics when allocating data from logical channels to the available resource. This means that even if data from an LCH is approaching its delivery deadline 308, the MAC layer does not guarantee that the data from this LCH can be completely mapped to the grants to be transmitted before the required timing, as allocation is based on the pre-configured LCH priority.

In the example embodiment illustrated in FIG. 3, a Logical Channel Prioritization (LCP) procedure based on delivery time requirements is adaptively trig gered to supersede the default LCP procedure based on pre-configured LCH priority, in accordance to the re maining delivery time to the required deadline of the respective traffic flows.

As illustrated in FIG. 3, the LCH m 300C is prioritized because the remaining time to the required delivery time is less than a predetermined threshold. The illustrated solution can guarantee that data can meet the deadline without having to wait for data from other LCHs (configured with higher priority) to be mapped onto a grant first. Thus, when a grant 304 is received, the MAC layer performs the LCP procedure by prioritizing the logical channel m 300C and generates 302 a packet data unit to be sent the Physical Uplink Shared Channel (PUSCH) 306.

FIG. 4 illustrates an example embodiment of the subject matter described herein via illustrating a method. Although actions in the example embodiment may be performed at a medium access control layer, in other example embodiments, some of all of the action may be performed by a different layer or using multiple layers.

At 400 an uplink grant is received from a net work node, for example, from a base station or a gNB. At 402 a set of logical channels that can be mapped onto the uplink grant is identified. At 404, at least one logical channel in the set is identified to be a critical logical channel. A logical channel may be considered to be critical when the remaining time until the required delivery time becomes smaller than a predetermined threshold. At 406 a MAC protocol data unit is generated for the uplink grant based on the remaining time until the required delivery time in the logical channels in the set. If no logical channel is identified as a crit ical logical channel at 404, a MAC protocol data unit is generated for the uplink grant based on the prede termined logical channel priority values.

FIG. 5 illustrates an example embodiment of the subject matter described herein illustrating a method. Although actions in the example embodiment may be per formed at a medium access control layer, in other exam ple embodiments, some of all of the action may be per formed by a different layer or using multiple layers

In FIG. 5, LCP settings (including, for exam ple, logical channel priority, PBR, BSD, and LCH mapping restrictions) of an LCH may be (temporarily) modified before initializing LCP procedure for a grant, when the delivery deadline for data in the buffer is approaching. At 500, data in the buffer of at least one logical channel is monitored, and a change of the LCP settings associating with the LCHs is becoming critical. At 502, at least one logical channel in the set is identified to be a critical logical channel. At 504, when at least one logical channel in the set is identified to be a critical logical channel, the LCP settings for the at least one logical channels (including both critical and non-critical logical channels) are modified. Then, when a grant is received at 506, at 508 the MAC layer can carry out the LCP procedure to generate the data packet (for example, a protocol data unit or a PDU) for this grant based on the modified LCP settings. As an example, the MAC layer may increase the LCH priority and Prior itized Bit Rate (PBR) of at least one logical channel so that the MAC layer can use the grant more aggressively to speed its transmission. Further, although not illus trated in FIG. 5, the apparatus may reset the LCP setting of at least one LCHs to default settings configured by the radio resource control previously, when a logical channel is no longer critical for the time being. The decision on whether the LCP parameters/settings of at least one LCH should be modified or reset may addition ally take into account the maximum data burst volume (MDBV) associating with quality of service (QoS) flows mapped to relevant data radio bearers (DRB).

FIG. 6 illustrates an example embodiment of the subject matter described herein illustrating a method. In the example embodiment illustrated in FIG. 6, there are colliding uplink grants. In other words, there is a time-domain overlap between PUSCHs of at least two up link grants.

FIG. 6 illustrates that a logical channel A 600 has a priority of N and it is mapped to PUSCH1602. Similarly, a logical channel B 604 has a priority of N- 1 and it is mapped to PUSCH2606. There is a collision 608 as the PUSCHs 602, 606 are overlapping in the time- domain. A reference 610 indicates a delivery deadline of data in the logical channel B 604, and a reference 612 indicates a delivery deadline of data in the logical channel A 600. In this example embodiment, the MAC layer checks which uplink grant carries (or is to carry) data with higher urgency (i.e. the delivery deadline of which is closer). In accordance with the illustrated solution, PUSCH2 606 will be prioritized because data from the logical channel B 604 is closer to its delivery deadline so that data from the logical channel B 604 can be delivered on time.

FIG. 7 illustrates an example embodiment of the subject matter described herein illustrating a method. Although the example embodiment may state that actions may be performed at a medium access control layer, in other example embodiments, some of all of the action may be performed by a different layer or using multiple layers.

At 700, two conflicting uplink grants are re ceived, and a medium access control layer identifies that there are two conflicting uplink grants in the time-domain. The medium access control layer may deter mine that the remaining time until the required delivery time for at least one data unit in at least one logical channel is less than a second threshold and may classify the at least one logical channel as a critical logical channel.

At 702, logical channel prioritization is per formed and at least one medium access control protocol data unit is generated for transmission on the uplink grants. In another example embodiment, instead of gen erating the MAC PDUs, the medium access control layer may only determine the logical channels that will be mapped to the MAC PDU to be transmitted on at least one uplink grant by, for example, checking the buffer status of the logical channels.

At 704 it is determined that the transmission on at least one uplink grant conveys a critical logical channel or a data unit from at least one critical logical channel. In case at least one critical channel is con veyed, at 706 the uplink grant that carries data that is the most time-critical in terms of meeting the re quired delivery time is prioritized. The corresponding MAC PDU may then be delivered to the physical layer for transmission. If there are no uplink grants conveying critical logical channels, the uplink grant to be pri oritized can be determined by some other criteria. For example, the uplink grant carrying data from a logical channel with higher priority may be prioritized, or some other means. The MAC PDU corresponding to the priori tized uplink grant may then be delivered to the physical layer for transmission.

In an example embodiment, there might be some ambiguity when both of the colliding uplink grants con vey data from critical logical channels, and it may be difficult for an apparatus, for example, a user node, to determine which of them should be prioritized as prioritizing one would mean jeopardizing the determin istic communication performance for the data in the other uplink grant.

Thus, to resolve such an issue, a network node, for example, a gNB may assign an uplink grant is dedi cated to critical logical channels. Therefore, the me dium access control layer may identify that one of the at least two conflicting uplink grants is dedicated to critical logical channels. The medium access control layer then maps data from the critical logical channels to the uplink grant dedicated to critical logical chan nels, and refrains from mapping data from the critical logical channels to the other (conflicting) uplink grant. This enables a solution in which the medium ac cess control layer can prioritize this special uplink grant directly as it is obvious that this grant has higher priority. In an example embodiment, an indicator may be included in this special uplink grant (for exam ple, in RRC or DCI, depending on the grant type), so the apparatus can process the uplink grant in an appropriate manner by mapping the time-critical logical channels into this uplink grant.

FIG. 8 illustrates an example embodiment for obtaining a time stamp of the required delivery time for each data unit. The time-domain may be divided into cycles 800 with an equal duration. This may be used, for example, when the IEEE 802.1Qch protocol is used. A default cycle duration in TSN may be 250ys. The medium access control layer may calculate the per-packet de livery time knowing that a data unit arriving in inter val [to_min, to_max] shall be delivered at interval [n*to_min, n*to_max]. A reference 802 refers to a min imum delivery time, and a reference 804 refers to a maximum delivery time.

The example embodiments illustrated above may be performed by a user node, for example, a user equip ment. Further, a computer program comprising instruc tions for causing an apparatus to perform, may perform the illustrated example embodiments.

Although the subject matter has been described in language specific to structural features and/or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equiv alent features and acts are intended to be within the scope of the claims.

It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benefits and advantages. It will further be un derstood that reference to 'an' item may refer to one or more of those items.

The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter de scribed herein. Aspects of any of the embodiments de scribed above may be combined with aspects of any of the other embodiments described to form further embodiments without losing the effect sought. The term 'comprising' is used herein to mean including the method, blocks or elements identified, but that such blocks or elements do not comprise an exclu sive list and a method or apparatus may contain addi- tional blocks or elements.

It will be understood that the above descrip tion is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exem plary embodiments. Although various embodiments have been described above with a certain degree of particu larity, or with reference to one or more individual embodiments, those skilled in the art could make numer- ous alterations to the disclosed embodiments without departing from the spirit or scope of this specifica tion.