Resource allocation method and related apparatus
By configuring dynamic rate limiting parameters for logical channels, the data transmission delay problem caused by changes in logical channel priority is solved, achieving timely data transmission and efficient resource utilization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2025-11-28
- Publication Date
- 2026-07-30
AI Technical Summary
When the priority of a logical channel changes, existing technologies rely on fixed rate limiting parameters for data transmission, leading to increased data transmission delays and impacting data validity.
Configure different rate limiting parameters for different logical channels, including priority bit rate and bucket size duration, and dynamically adjust resource allocation according to target priority to ensure timely data transmission.
By dynamically adjusting the rate limiting parameters, data transmission latency when logical channel priorities change is reduced, thereby improving data effectiveness and resource utilization.
Smart Images

Figure CN2025138411_30072026_PF_FP_ABST
Abstract
Description
A resource allocation method and related apparatus
[0001] This application claims priority to Chinese Patent Application No. 202510126508.4, filed on January 26, 2025, entitled “A Resource Allocation Method and Related Apparatus”, the entire contents of which are incorporated herein by reference.
[0002] This application claims priority to Chinese Patent Application No. 202510511607.4, filed on April 22, 2025, entitled “A Resource Allocation Method and Related Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communication technology, and in particular to a resource allocation method and related apparatus. Background Technology
[0004] In the field of communications, logical channel multiplexing refers to the technique of simultaneously transmitting data from multiple logical channels over a physical channel using a certain method. When data needs to be transmitted on multiple logical channels, and the total amount of data to be transmitted exceeds the maximum capacity of the resources, the priority of the logical channels is usually used to determine which logical channel's data should be transmitted first.
[0005] To avoid the problem of low-priority logical channels always being unable to allocate resources, each logical channel can be configured with rate limiting parameters such as Prioritized Bit Rate (PBR) or Bucket Size Duration (BSD). In other words, the transmission rate of each logical channel can be limited to below the Prioritized Bit Rate, thus giving low-priority logical channel data a chance to be allocated resources.
[0006] However, when the priority of the logical channel changes, if the logical channel still transmits data based on the originally configured rate limit parameters, it may lead to an increase in data transmission delay, which in turn may affect the validity of the data. Summary of the Invention
[0007] This application provides a resource allocation method and related apparatus, the purpose of which is to enable data on logical channels to be transmitted on time, thereby improving data validity.
[0008] To achieve the above objectives, this application provides the following technical solution:
[0009] The first aspect of this application provides a resource allocation method applicable to a first communication device. For example, the first communication device may be a communication equipment (such as a terminal device or network device), or it may be a component within a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions), or it may be a logic module or software capable of implementing all or part of the functions of the communication equipment. The following description uses a first communication device as an example. In this method, a target priority for a logical channel is determined, which includes a first priority or a second priority, wherein the second priority is higher than the first priority. Resources are allocated to the logical channel based on a first parameter of the logical channel and the target priority. The first parameter is determined based on a rate limiting parameter, which includes at least one of a priority bit rate or a bucket size duration.
[0010] In the above implementation scheme, corresponding rate limiting parameters can be configured for the priorities of different logical channels. After determining the target priority of the logical channel, the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameters and the target priority. Compared with the prior art, this can reduce the occurrence of data transmission based on fixed rate limiting parameters when the priority of the logical channel changes, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0011] In one possible implementation of the first aspect of this application, the priority bit rate includes a first priority bit rate or a second priority bit rate, and the bucket size duration includes a first bucket size duration or a second bucket size duration. In the above implementation, the logical channel can be configured with a first priority bit rate, or a second priority bit rate, or both; the logical channel can also be configured with a first bucket size duration, or a second bucket size duration, or both, thereby reducing the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel, and thus improving data validity.
[0012] In one possible implementation of the first aspect of this application, the rate limiting parameter corresponding to the first priority includes at least one of a first priority bit rate or a first bucket size duration, and the rate limiting parameter corresponding to the second priority includes at least one of a first priority bit rate, a first bucket size duration, a second priority bit rate, or a second bucket size duration. In the above implementation, the corresponding priority bit rate and bucket size duration can be configured for the first priority and the second priority of the logical channel, respectively. For example, a corresponding first priority bit rate or a first bucket size duration can be configured for the first priority of the logical channel; similarly, a corresponding first priority bit rate, a first bucket size duration, a second priority bit rate, or a second bucket size duration can be configured for the second priority of the logical channel. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to existing technologies, this reduces the occurrence of data transmission only based on fixed rate limiting parameters when the priority of the logical channel changes, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness. The values of the first priority bit rate and the second priority bit rate can be equal or unequal, and the values of the first bucket size duration and the second bucket size duration can be equal or unequal. These can be set according to the actual situation and are not limited here.
[0013] In one possible implementation of the first aspect of this application, if a second priority bit rate is configured, the rate limiting parameter corresponding to the second priority includes the second priority bit rate; if the second priority bit rate is not configured, the rate limiting parameter corresponding to the second priority includes the first priority bit rate; if a second bucket size duration is configured, the rate limiting parameter corresponding to the second priority includes the second bucket size duration; if the second bucket size duration is not configured, the rate limiting parameter corresponding to the second priority includes the first bucket size duration. In the above implementation, if the logical channel is configured with a second priority bit rate, the rate limiting parameter used when the target priority is the second priority may include the second priority bit rate; if the logical channel is only configured with a first priority bit rate corresponding to the first priority and not with a second priority bit rate, the rate limiting parameter used when the target priority is the second priority may include the first priority bit rate. Similarly, if the logical channel is configured with a second bucket size duration, the rate limiting parameter used when the target priority is the second priority may include the second bucket size duration; if the logical channel is only configured with a first bucket size duration and not with a second bucket size duration, the rate limiting parameter used when the target priority is the second priority may include the first bucket size duration.
[0014] In one possible implementation of the first aspect of this application, the first priority bit rate is equal to the second priority bit rate. In the above implementation, the value of the first priority bit rate configured for the first priority of the logical channel can be the same as the value of the second priority bit rate configured for the second priority of the logical channel. That is, only one priority bit rate value can be configured for the logical channel, meaning the first priority bit rate corresponding to the first priority and the second priority bit rate corresponding to the second priority can share the same value. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to the prior art, this reduces the occurrence of data transmission based solely on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and thus improving data effectiveness.
[0015] In one possible implementation of the first aspect of this application, the duration of the first bucket size is equal to the duration of the second bucket size. In the above implementation, the value of the first bucket size duration configured for the first priority of the logical channel can be the same as the value of the second bucket size duration configured for the second priority of the logical channel. That is, only one bucket size duration value can be configured for the logical channel, meaning the first bucket size duration corresponding to the first priority and the second bucket size duration corresponding to the second priority can share the same value. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to the prior art, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness.
[0016] In one possible implementation of the first aspect of this application, if the target priority is the first priority, the first parameter is equal to the product of the first priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In the above implementation, if the current priority of the logical channel, i.e., the target priority, is determined to be the first priority, the first parameter can be calculated based on the first priority bit rate corresponding to the first priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel. Compared to existing technologies, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring that data on the logical channel is transmitted on time, thereby improving data effectiveness.
[0017] In one possible implementation of the first aspect of this application, the first parameter is less than or equal to the first bucket size, and the first bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to a first threshold. In the above implementation, if the first parameter calculated based on the first priority bit rate and the first time is too large, that is, if the first parameter is greater than the first bucket size calculated based on the first priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the first bucket size, that is, the value of the first parameter can be limited to within the first bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, it can be ensured that the value of the first parameter can be greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources.
[0018] In one possible implementation of the first aspect of this application, if the target priority is the second priority, the first parameter is equal to the product of the second priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In the above implementation, if the current priority of the logical channel, i.e., the target priority, is determined to be the second priority, the first parameter can be calculated based on the second priority bit rate corresponding to the second priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel, i.e., the second priority. Compared to existing technologies, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring that data on the logical channel is transmitted on time, thereby improving data effectiveness.
[0019] In one possible implementation of the first aspect of this application, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the second priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the second priority bit rate and the duration of the first bucket size; or, the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to the first threshold. In the above implementation, if the first parameter calculated based on the second priority bit rate and the first time is too large, that is, if the first parameter is greater than the second bucket size calculated based on the second priority bit rate and the duration of the second bucket size, or greater than the second bucket size calculated based on the second priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the second bucket size, that is, the value of the first parameter can be limited to within the second bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, to ensure that the value of the first parameter can be greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources.
[0020] In one possible implementation of the first aspect of this application, if the target priority is the second priority and no second priority bit rate is configured, the first parameter is equal to the product of the first priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In the above implementation, if the current priority of the logical channel, i.e., the target priority, is determined to be the second priority and no second priority bit rate is configured, then the first priority bit rate can be used as the currently used rate limiting parameter. That is, the first parameter can be calculated based on the first priority bit rate corresponding to the second priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel, i.e., the second priority. Compared to existing technologies, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and improving data effectiveness.
[0021] In one possible implementation of the first aspect of this application, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the first priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or, the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to a first threshold. In the above implementation, if the first parameter calculated based on the first priority bit rate and the first time is too large, that is, if the first parameter is greater than the second bucket size calculated based on the first priority bit rate and the duration of the second bucket size, or greater than the second bucket size calculated based on the first priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the second bucket size, that is, the value of the first parameter can be limited to within the second bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, to ensure that the value of the first parameter can be greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources.
[0022] In one possible implementation of the first aspect of this application, determining the target priority of the logical channel includes: if first data exists in the logical channel, determining the target priority of the logical channel as the second priority; if the first data does not exist in the logical channel, determining the target priority of the logical channel as the first priority; wherein the remaining time of the first data is less than or equal to a first threshold, or the remaining time of at least one data in the dataset to which the first data belongs is less than or equal to the first threshold. In the above implementation, the current target priority of the logical channel (whether it is the first or second priority) can be determined based on whether first data exists in the logical channel. That is, the current target priority of the logical channel can be determined based on whether data with a remaining time less than or equal to the first threshold exists, so that data in the logical channel can be transmitted on time according to the corresponding priority under different circumstances, thereby improving data effectiveness.
[0023] In one possible implementation of the first aspect of this application, the second priority is higher than the first priority. In the above implementation, when there is data in the logical channel with a remaining time less than or equal to the first threshold, the target priority of the logical channel can be determined as the second priority, which has a higher priority. This allows resources to be allocated preferentially to data with shorter remaining time, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness.
[0024] In one possible implementation of the first aspect of this application, the method further includes: receiving first indication information, wherein the first indication information is used to indicate at least one of a first priority, a second priority, a first priority bit rate, a second priority bit rate, a first bucket size duration, a second bucket size duration, or a first threshold. In the above implementation, the first communication device can configure the first priority or the second priority, or the first priority bit rate or the first bucket size duration corresponding to the first priority, or the second priority bit rate or the second bucket size duration corresponding to the second priority, or the first threshold, by receiving the first indication information. This allows the first communication device to allocate resources to the logical channel based on a first parameter determined by the rate limiting parameter corresponding to the target priority after determining the target priority of the logical channel. Compared to the prior art, this reduces the occurrence of data transmission only based on fixed rate limiting parameters when the priority of the logical channel changes, enabling data on the logical channel to be transmitted on time, thereby improving data effectiveness.
[0025] In one possible implementation of the first aspect of this application, the first indication information is based on any one of radio resource control signaling, media access control layer control element signaling, or downlink control information signaling. In the above implementation, the first communication device can receive the first indication information based on radio resource control signaling, media access control layer control element signaling, or downlink control information signaling to configure a first priority or a second priority, or a first priority bit rate or a first bucket size duration corresponding to the first priority, or a second priority bit rate or a second bucket size duration corresponding to the second priority, or a first threshold. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority after determining the target priority of the logical channel. Compared to the prior art, this reduces the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and improving data effectiveness.
[0026] In one possible implementation of the first aspect of this application, if the first indication information is used to indicate the second priority bit rate, the second bucket size duration, or the first threshold, then the first indication information is used to indicate the second priority. In the above implementation, the condition for the first indication information configured by the first communication device to be used to indicate the second priority bit rate, the second bucket size duration, or the first threshold may be that the first indication information can be used to indicate the second priority; that is, the prerequisite for the first communication device to configure the second priority bit rate, the second bucket size duration, or the first threshold may be that the first communication device has already configured the second priority.
[0027] In one possible implementation of the first aspect of this application, allocating resources to a logical channel based on a first parameter and a target priority includes: allocating resources to the first logical channel whose first parameter is greater than 0 based on a descending order of logical channel priorities and a target priority of the first logical channel, wherein the first logical channel is determined based on a logical channel mapping rule. In the above implementation, the first communication device can first determine the selected logical channel, i.e., the first logical channel, from the logical channels based on the logical channel mapping rule, and can determine the first resource allocation order of the first logical channel whose first parameter is greater than 0 based on the target priority of the first logical channel and the descending order of logical channel priorities, and allocate resources to the first logical channel whose first parameter is greater than 0 based on the first resource allocation order, so that the first communication device can allocate resources to all selected logical channels whose first parameter is greater than 0 according to a strict descending order of logical channel priorities until the resources are exhausted or the data to be transmitted on all selected logical channels is filled.
[0028] In one possible implementation of the first aspect of this application, the method further includes: if there are remaining resources after allocating resources to the first logical channels with a target priority greater than 0 based on the descending order of logical channel priorities, resources are allocated to all the first logical channels based on the descending order of logical channel priorities and the target priorities of all the first logical channels, until the resources are exhausted or the data on all the first logical channels is filled. In the above implementation, if there are remaining resources after allocating resources to the logical channels with a first parameter greater than 0, the remaining resources can be allocated. At this time, a second resource allocation order for all the first logical channels can be determined based on the target priorities of all the first logical channels and the descending order of logical channel priorities, and resources are allocated to all the first logical channels based on the second resource allocation order, so that the first communication device can allocate resources to all selected logical channels according to a strict descending order of logical channel priorities, until the resources are exhausted or the data to be transmitted on all selected logical channels is filled.
[0029] In one possible implementation of the first aspect of this application, the method further includes: if the target priority of the first logical channel is the second priority, and there is no first data in the first logical channel, then the target priority of the first logical channel is determined to be the first priority. In the above implementation, if resources are first allocated to the first logical channel based on the second priority, and during the resource allocation process, it is determined that there is no first data in the first logical channel requiring resource allocation, then the target priority of the first logical channel can be set from the second priority to the first priority, so that data on the logical channel can be transmitted on time, thereby improving data validity.
[0030] In one possible implementation of the first aspect of this application, the method further includes: determining the priority of the Hybrid Automatic Repeat Request (HARQ) process or the priority of the uplink grant based on the priority of the logical channel, wherein the priority of the logical channel is determined based on the target priority used during resource allocation. In the above implementation, after determining the target priority used by the logical channel when allocating resources to the logical channel, the first communication device can further determine the priority of the HARQ process or the priority of the uplink grant corresponding to the logical channel based on the priority determined by the target priority of the logical channel, so as to ensure that data on the logical channel can be transmitted on time, thereby improving data validity. It should be noted that the priority of the logical channel is not the same as the target priority; the priority of the logical channel can be determined based on the target priority used by the logical channel during resource allocation. It should also be noted that the logical channel here can be configured with a second priority, that is, the target priority of the logical channel may include a second priority.
[0031] In one possible implementation of the first aspect of this application, if the target priority used by the logical channel during resource allocation includes a second priority, the priority of the logical channel is the second priority. In the above implementation, if the first communication device has allocated resources to the logical channel based on its second priority during resource allocation, then the priority of the logical channel can be determined as the second priority. That is, the priority of the hybrid automatic repeat request process corresponding to the logical channel or the priority of the uplink grant corresponding to the logical channel can be determined based on the second priority of the logical channel, so that data on the logical channel can be transmitted on time, thereby improving data validity.
[0032] In one possible implementation of the first aspect of this application, if the target priority used by the logical channel during resource allocation does not include the second priority, the priority of the logical channel is the first priority. In the above implementation, if the first communication device has not allocated resources to the logical channel based on the second priority during resource allocation, the priority of the logical channel can be determined as the first priority. That is, the priority of the hybrid automatic repeat request process corresponding to the logical channel or the priority of the uplink grant corresponding to the logical channel can be determined based on the first priority of the logical channel, so that data on the logical channel can be transmitted on time, thereby improving data validity.
[0033] In one possible implementation of the first aspect of this application, the priority of the hybrid automatic repeat request process (HARPC) or the priority of the uplink grant is determined based on the highest priority among the priorities of the logical channels. The logical channel is either a multiplexed channel or a channel with available data that needs to be multiplexed to the Media Access Control (MAC) Data Unit (MACU). In the above implementation, if the logical channels corresponding to the HARPC or uplink grant include multiplexed channels or channels with available data that need to be multiplexed to the MACU, the priority of the HARPC or uplink grant can be determined based on the highest priority among the target priorities of the logical channels corresponding to the HARPC or uplink grant. This ensures that data on the logical channels can be transmitted on time, thereby improving data validity. The highest priority among the priorities of the logical channels refers to the highest priority determined based on the priority of each of the one or more logical channels when the HARPC or uplink grant corresponds to one or more logical channels. When the HARPC or uplink grant corresponds to only one logical channel, the priority of that logical channel can be directly determined as the highest priority among the logical channel priorities.
[0034] In one possible implementation of the first aspect of this application, the hybrid automatic repeat request includes a first hybrid automatic repeat request process and a second hybrid automatic repeat request process. If the priority of the first hybrid automatic repeat request process is the same as that of the second hybrid automatic repeat request process, then the transmission order of the second hybrid automatic repeat request process takes precedence over the transmission order of the first hybrid automatic repeat request process. The first hybrid automatic repeat request process is the initial transmission hybrid automatic repeat request process, and the second hybrid automatic repeat request process is the retransmission hybrid automatic repeat request process. Alternatively, the hybrid automatic repeat request includes a third hybrid automatic repeat request process and a fourth hybrid automatic repeat request process. The transmission order of the fourth hybrid automatic repeat request process takes precedence over the transmission order of the third hybrid automatic repeat request process. The media access control service data unit corresponding to the third hybrid automatic repeat request process does not reuse or cannot reuse any data on any logical channel, while the media access control service data unit corresponding to the fourth hybrid automatic repeat request process has reused data on any logical channel. In the above implementation scheme, if the hybrid automatic repeat request process includes a first hybrid automatic repeat request process for initial transmission and a second hybrid automatic repeat request process for retransmission, and the priority of the first hybrid automatic repeat request process for initial transmission is the same as the priority of the first hybrid automatic repeat request process for retransmission, then during data transmission, the second hybrid automatic repeat request process for retransmission can be transmitted before the first hybrid automatic repeat request process for initial transmission. That is, the data transmission of the second hybrid automatic repeat request process can be performed first, and then the data transmission of the first hybrid automatic repeat request process can be performed. Furthermore, if the hybrid automatic repeat request process includes a third hybrid automatic repeat request process and a fourth hybrid automatic repeat request process, wherein the media access control service data unit corresponding to the third hybrid automatic repeat request process has not reused or cannot reuse any data on the logical channel, while the media access control service data unit corresponding to the fourth hybrid automatic repeat request process has reused data on the logical channel, then during data transmission, the fourth hybrid automatic repeat request process can take priority over the third hybrid automatic repeat request process. That is, the data transmission of the fourth hybrid automatic repeat request process can be carried out first, and then the data transmission of the third hybrid automatic repeat request process can be carried out, so as to ensure that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0035] In one possible implementation of the first aspect of this application, the uplink grant includes a first uplink grant and a second uplink grant. The transmission order of the second uplink grant takes precedence over the transmission order of the first uplink grant. The media access control service data unit corresponding to the first uplink grant does not reuse or cannot reuse any data on any logical channel, while the media access control service data unit corresponding to the second uplink grant has reused data on any logical channel. In the above implementation, if the uplink grant corresponding to the logical channel includes a first uplink grant and a second uplink grant, wherein the media access control service data unit corresponding to the first uplink grant does not reuse or cannot reuse any data on any logical channel, while the media access control service data unit corresponding to the second uplink grant has reused data on a logical channel, then during data transmission, the data corresponding to the second uplink grant can take precedence over the data transmission of the data corresponding to the first uplink grant. That is, the data corresponding to the second uplink grant can be transmitted first, followed by the data corresponding to the first uplink grant, so that the data on the logical channel can be transmitted on time, thereby improving data validity.
[0036] A second aspect of this application provides a resource allocation method applicable to a second communication device. For example, the second communication device may be a communication device (such as a network device), or it may be a component of a communication device (such as a processor, circuit, chip, or chip system responsible for communication functions), or it may be a logic module or software capable of implementing all or part of the functions of the communication device. The following description uses a second communication device as an example. In this method, the second communication device configures first indication information, wherein the first indication information indicates at least one of a first priority, a second priority, a first priority bit rate, a second priority bit rate, a first bucket size duration, a second bucket size duration, or a first threshold. The first indication information is sent to a first communication device so that the first communication device can determine a target priority for a logical channel and allocate resources to the logical channel based on a first parameter of the logical channel and the target priority. The target priority includes either a first priority or a second priority, where the second priority is higher than the first priority. The first parameter is determined based on a rate limiting parameter, which includes at least one of a priority bit rate or a bucket size duration.
[0037] In the above implementation scheme, the second communication device can configure a first priority or a second priority, or a first priority bit rate or a first bucket size duration corresponding to the first priority, or a second priority bit rate or a second bucket size duration corresponding to the second priority, or a first threshold by configuring first indication information. The first indication information can be sent to the first communication device so that the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter after determining the target priority of the logical channel. Compared with the prior art, this can reduce the occurrence of data transmission based on fixed rate limiting parameters when the priority of the logical channel changes, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0038] In one possible implementation of the second aspect of this application, if the first indication information is used to indicate the second priority bit rate, the second bucket size duration, or the first threshold, then the first indication information is used to indicate the second priority. In the above implementation, the condition for the first indication information configured by the second communication device to be used to indicate the second priority bit rate, the second bucket size duration, or the first threshold may be that the first indication information can be used to indicate the second priority; that is, the prerequisite for the second communication device to configure the second priority bit rate, the second bucket size duration, or the first threshold may be that the second communication device has already configured the second priority.
[0039] A third aspect provides a communication device including a processor. The processor is coupled to a memory and can be used to execute instructions or data in the memory to implement the methods in any possible implementation of any of the above aspects. Optionally, the communication device further includes a memory. Optionally, the communication device further includes a communication interface, and the processor is coupled to the communication interface.
[0040] In one implementation, the communication interface may be a transceiver, or an input / output interface.
[0041] In another implementation, the communication device is a chip configured in a terminal device. When the communication device is a chip configured in a terminal device, the communication interface can be an input / output interface.
[0042] Fourthly, a communication device is provided, including a processor. The processor is coupled to a memory and can be used to execute instructions or data in the memory to implement the methods in any possible implementation of any of the above aspects. Optionally, the communication device further includes a memory. Optionally, the communication device further includes a communication interface, and the processor is coupled to the communication interface.
[0043] In one implementation, the communication interface may be a transceiver, or an input / output interface.
[0044] In another implementation, the communication device is a chip configured in a satellite. When the communication device is a chip configured in a satellite, the communication interface can be an input / output interface.
[0045] Fifthly, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute a method in any possible implementation of any aspect.
[0046] In specific implementation, the processor can be one or more chips, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0047] In a sixth aspect, a communication device is provided, including a processor and a memory. The processor is used to read instructions stored in the memory and to receive signals via a receiver and transmit signals via a transmitter to execute the method in any possible implementation of any of the above aspects.
[0048] Optionally, the processor may be one or more, and the memory may be one or more.
[0049] In a seventh aspect, a computer program product is provided, the computer program product comprising: a computer program (also referred to as code or instructions), which, when the computer program is run, causes a computer to perform a method in any possible implementation of any of the above aspects.
[0050] Eighthly, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods in any possible implementation of any of the preceding aspects.
[0051] Ninthly, embodiments of this application provide a chip system including one or more processors for calling and executing instructions stored in memory, causing the methods in the above aspects or the first possible implementation of the aspects to be executed. The chip system may be composed of chips or may include chips and other discrete devices.
[0052] The chip system may include input circuits or interfaces for transmitting information or data, and output circuits or interfaces for receiving information or data.
[0053] In a tenth aspect, a communication system is provided, including the aforementioned terminal equipment and network equipment (including access network equipment and core network equipment). Optionally, the communication system may further include other equipment that communicates with the terminal equipment and / or network equipment.
[0054] Eleventhly, a communication device is provided, comprising a transceiver module and a processing module, the communication device being used to perform the method in any possible implementation of any of the preceding aspects. Attached Figure Description
[0055] Figure 1 is a schematic diagram of the system architecture of the communication system provided in an embodiment of this application;
[0056] Figure 2 is a schematic diagram of the construction process of the Media Access Control Protocol data unit provided in the embodiment of this application;
[0057] Figure 3 is a flowchart illustrating a resource allocation method provided in an embodiment of this application;
[0058] Figure 4 is a schematic diagram of an interaction process between a first communication device and a second communication device provided in an embodiment of this application;
[0059] Figure 5 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0060] Figure 6 is a structural example diagram of an electronic device disclosed in an embodiment of this application;
[0061] Figure 7 is a structural example diagram of another electronic device disclosed in an embodiment of this application. Detailed Implementation
[0062] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. The terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be a limitation of this application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise. It should also be understood that in the embodiments of this application, "one or more" refers to one, two, or more; "and / or" describes the relationship between related objects, indicating that three relationships may exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0063] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0064] The "multiple" mentioned in the embodiments of this application refers to two or more. It should be noted that in the description of the embodiments of this application, terms such as "first" and "second" are used only for the purpose of distinguishing descriptions and should not be construed as indicating or implying relative importance, nor should they be construed as indicating or implying order.
[0065] The embodiments of this application are applied to communication systems, which can be second-generation (2G) communication systems, third-generation (3G) communication systems, LTE systems, fifth-generation (5G) communication systems, LTE and 5G hybrid architectures, 5G new radio (5GNR) systems, and new communication systems that will emerge in the future development of communication.
[0066] The communication system includes a first device and a second device. The first device can be a network-side device used to provide network communication functions, sometimes referred to as a network device or network element. In this embodiment, the network device can specifically be an NTN network device. An NTN network device can typically be a satellite, a base station (including functional units of a base station, or a combination of functional units of base stations), or a core network unit. The core network unit can be a functional unit within the core network, including but not limited to access and mobility management function (AMF) units or session management function (SMF) units. The second device can be a device accessing the network, typically a terminal device. An example of the communication system is shown in Figure 1, which includes a base station 11 and a terminal 12.
[0067] In the embodiments provided in this application, the base station can be any device with wireless transceiver capabilities, including but not limited to: evolved Node B (nodeB, eNB, or e-nodeB) in Long Term Evolution (LTE), base station (gNodeB or gNB) or transmission receiving point / transmission reception point (TRP) in New Radio (NR), base stations in subsequent 3GPP evolutions, access nodes in Wi-Fi systems, wireless relay nodes, wireless backhaul nodes, etc. The base station can be: macro base station, micro base station, pico base station, small cell, relay station, or balloon station, etc. The base station can include one or more co-located or non-co-located transmission reception points (TRPs). The base station can also be a radio controller, centralized unit (CU), and / or distributed unit (DU) in a cloud radio access network (CRAN) scenario. The base station can communicate with terminal devices or communicate with terminal devices through relay stations. Terminal devices can communicate with multiple base stations using different technologies. For example, a terminal device can communicate with a base station that supports LTE networks, or with a base station that supports 5G networks, or even have dual connections with both LTE and 5G base stations.
[0068] In the embodiments provided in this application, the terminal device can take various forms, such as a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal device in industrial control, vehicle-mounted terminal device, wireless terminal device in self-driving, wireless terminal device in remote medical care, wireless terminal device in smart grid, wireless terminal device in transportation safety, wireless terminal device in smart city, wireless terminal device in smart home, wearable terminal device, etc. The terminal device may also be referred to as a terminal device, user equipment (UE), access terminal device, vehicle-mounted terminal device, industrial control terminal device, UE unit, UE station, mobile station, mobile station, remote station, remote terminal device, mobile device, UE terminal device, terminal device, wireless communication device, UE agent, or UE device, etc. The terminal device can also be a fixed terminal device or a mobile terminal device.
[0069] Hybrid Automatic Repeat Request Identity (HARQ) is an error control technique that combines Forward Error Correction (FEC) with Automatic Repeat Request (ARQ) to improve the reliability and transmission efficiency of wireless communication systems. A HARQ process is an independent processing unit used to implement the HARQ functionality. Each HARQ process is responsible for the transmission and retransmission of one data block. When the receiver detects a data error, it requests the sender to retransmit the data block. By using multiple parallel HARQ processes, the system can continue processing other data blocks while waiting for retransmission feedback for one data block, thereby improving overall transmission efficiency. Each HARQ process can have a corresponding priority. When multiple HARQ processes need to be scheduled, the priority determines which HARQ processes' data packets can be transmitted or retransmitted first. For example, higher-priority processes may be allocated resources first to reduce latency or meet quality of service requirements. In the HARQ mechanism, the sending and receiving ends maintain multiple HARQ processes, each corresponding to an independent transport block. The HARQ process ID can be used to identify the process currently transmitting or retransmitting.
[0070] A logical channel (LCH) refers to a channel that transmits different types of information over a physical channel. In other words, a logical channel is established on top of a physical channel, providing a virtual path for independent communication services between different users or applications. To improve the transmission efficiency and resource utilization of a communication system, logical channel multiplexing technology can be used for data transmission. Logical channel multiplexing refers to the technique of simultaneously transmitting data from multiple logical channels over a physical channel using a certain method. Specifically, as shown in Figure 2, during data transmission, the Media Access Control (MAC) layer concatenates multiple Media Access Control Service Data Units (MAC SDUs) that may come from different logical channel groups according to scheduling policies and resource allocation, and encapsulates them with a MAC header to form a Media Access Control Protocol Data Unit (MAC PDU). Then, the MAC PDU can be transmitted through the physical layer, which matches the MAC PDU with actual resources based on parameters such as transport block size and modulation / coding scheme, and sends it to the receiving end via a wireless channel. Specifically, the MAC SDU at the MAC layer can be generated based on the Radio Link Control Service Data Unit (RLC SDU) at the Radio Link Control (RLC) layer; the RLC SDU can be generated based on the Packet Data Convergence Protocol Service Data Unit (PDCP SDU) at the Packet Data Convergence Protocol (PDCP) layer; the PDCP SDU can be generated based on the Service Data Adaptation Protocol Service Data Unit (SDAP SDU) at the Service Data Adaptation Protocol (SDAP) layer; and the SDAP can be generated based on the Internet Protocol Packet (IP Packet).
[0071] Uplink grant for a logical channel refers to the allocation of resources for uplink transmission on that channel. Uplink grant can also be called uplink authorization. Uplink authorization is the allocation of resources for uplink data transmission from a network device to a terminal device. It instructs the terminal device to send data at a specific time, frequency, and encoding method.
[0072] When multiple logical channels have data to transmit, and the total amount of data exceeds the maximum capacity of the resources, the priority of each logical channel is typically used to determine which channel's data should be transmitted first. Logical channel priority refers to the processing mechanism that determines which logical channel's data should be transmitted first, based on certain rules and parameters, when multiple logical channels have data to transmit. Logical channel priority is implemented by assigning a priority parameter to each logical channel. Data from the logical channel with the highest priority is included in the MAC PDU first, followed by data from the next highest priority logical channel, and so on, until the allocated MAC PDU is full or there is no more data to transmit.
[0073] To avoid the problem of low-priority logical channels consistently failing to allocate resources, each logical channel can be configured with rate limiting parameters such as Prioritized Bit Rate (PBR) or Bucket Size Duration (BSD). This limits the transmission rate of each logical channel to below the Prioritized Bit Rate, ensuring that even low-priority logical channels have a chance to be allocated resources. The Prioritized Bit Rate refers to the priority bit rate limit set for different service flows or logical channels in a communication system. It ensures that, with limited resources, high-priority logical channels receive sufficient bandwidth, while low-priority logical channels can still obtain transmission opportunities if their rate does not exceed the set Prioritized Bit Rate. The unit is KB / s. The Bucket Size Duration refers to the time required to fill the token bucket in the Token Bucket Algorithm. This time is determined by the depth (capacity) of the token bucket and the token leakage rate (generation rate). The Token Bucket Algorithm is a traffic shaping and flow control mechanism used to control the data packet transmission rate, ensuring that network traffic does not exceed predetermined limits. In the token bucket algorithm, bucket size refers to the capacity of the token bucket, that is, the total number of tokens the bucket can store. This capacity is usually measured in bits, similar to how much water a bucket can hold. The token bucket capacity determines how many additional data packets the system can accommodate in the event of bursts of traffic.
[0074] However, when the priority of a logical channel changes, if the logical channel continues to transmit data based on the originally configured rate limiting parameters, the amount of data that the logical channel can transmit may be limited. If the amount of data in the channel exceeds the range allowed by rate limiting parameters such as PBR, the excess data may need to wait until the next transmission cycle before it can be sent, resulting in increased data transmission delay and consequently affecting the validity of the data.
[0075] To make the technical solution of this application clearer and easier to understand, a resource allocation method according to an embodiment of this application is described below with reference to the accompanying drawings. This embodiment is applicable to data transmission processes in wireless communication scenarios. The resource allocation method provided in this embodiment can be applied to a first communication device. For example, the first communication device can be a communication equipment (such as a terminal device or network device), or it can be a component of a communication equipment (such as a processor, circuit, chip, or chip system responsible for communication functions), or it can be a logic module or software capable of implementing all or part of the functions of the communication equipment. The following description uses a first communication device as an example.
[0076] Please refer to Figure 3, which is a flowchart illustrating a resource allocation method provided in an embodiment of this application. This method can be applied to a first communication device. The resource allocation method provided in this embodiment mainly includes the following steps:
[0077] 301. The first communication device determines the target priority of the logical channel.
[0078] The target priority includes either the first priority or the second priority.
[0079] In this embodiment, when the first communication device allocates resources for data on a logical channel, it can first determine the current priority of the logical channel, i.e., the target priority. This allows it to determine what resources and how much of those resources can be allocated to the logical channel based on the target priority, enabling data transmission on the logical channel based on the allocated resources. It is understood that the logical channel can be configured with two different priorities, a first priority and a second priority. This allows, under specific circumstances, the priority of the logical channel can be changed to prioritize the transmission of data within the logical channel, ensuring timely data transmission and improving data efficiency.
[0080] It should be noted that a logical channel can be configured with only one priority or multiple priorities, such as three or four priorities. In other words, the number of priorities for a logical channel can be set according to actual needs, and this embodiment does not impose any limitations. Specifically, the priority of a logical channel can be configured from the lch-config parameter corresponding to the logical channel.
[0081] In one possible implementation of this application embodiment, step 301, the first communication device determines the target priority of the logical channel, including:
[0082] A1. If the first data exists in the logical channel, the target priority of the logical channel is determined to be the second priority.
[0083] A2. If there is no first data in the logical channel, determine the target priority of the logical channel as the first priority.
[0084] Wherein, the remaining time of the first data is less than or equal to the first threshold, or the remaining time of at least one data in the dataset to which the first data belongs is less than or equal to the first threshold.
[0085] In this embodiment, the remaining time of data is typically used to describe the time remaining before data is discarded from its current state. During data transmission, the remaining time can refer to the time remaining before data reaches the transmission completion state from its current transmission state. Since the remaining time of the first data is less than or equal to the first threshold, the first data can be considered data that needs to be sent first, or data that should be transmitted as quickly as possible. Furthermore, when the remaining time of at least one data item in the dataset (Protocol Data Unit Set, PDU Set) to which the first data belongs is less than or equal to the first threshold, the dataset to which the first data belongs can be considered a dataset that needs to be sent first, or a dataset to which the first data belongs can be considered a dataset that needs to be sent first. Here, the first data can be a first data packet, and correspondingly, the dataset to which the first data belongs can be a data packet set. The specific value of the first threshold can be set according to actual conditions, and this embodiment does not limit this. It is understood that the first threshold can be a threshold configured to adjust the logical channel priority. When the discard configuration is based on the dataset, the remaining time of at least one data item in the dataset to which the first data belongs is less than or equal to the first threshold. The remaining time for the first data can be determined based on a drop timer. For example, the drop timer can be started when the first data is received, and the data packet can be dropped if the drop timer expires, or the data set can be dropped if a drop configuration based on the dataset is used. The remaining time for the first data is the time remaining until the drop timer expires. The data can be a Service Data Unit (SDU) or a Protocol Data Unit (PDU). Each Logical Channel Group (LCG), logical channel, MAC entity, Radio Resource Link entity, or Packet Data Convergence Protocol entity can correspond to a first threshold, where a Logical Channel Group can include multiple logical channels.
[0086] In this embodiment, the current target priority of the logical channel (whether it is the first priority or the second priority) can be determined based on whether there is first data in the logical channel. Specifically, the current target priority of the logical channel can be determined based on whether there is data with remaining time less than or equal to a first threshold in the logical channel. When there is data with remaining time less than or equal to the first threshold in the logical channel, the current priority, i.e., the target priority, can be determined as the second priority; when there is no data with remaining time less than or equal to the first threshold in the logical channel, the current priority, i.e., the target priority, can be determined as the first priority. This allows data in the logical channel to be transmitted on time based on the corresponding priority under different circumstances, thereby improving data effectiveness.
[0087] In one possible implementation of this application's embodiments, the second priority is higher than the first priority. In this application's embodiments, when there is data in the logical channel with a remaining time less than or equal to the first threshold, the target priority of the logical channel can be determined to be the higher second priority, so that resources can be preferentially allocated to data with shorter remaining time, enabling data on the logical channel to be transmitted on time, thereby improving data effectiveness.
[0088] 302. The first communication device allocates resources to the logical channel based on the first parameter of the logical channel and the target priority.
[0089] The first parameter is determined based on the rate limiting parameter corresponding to the target priority, which includes at least one of the priority bit rate or bucket size duration.
[0090] In this embodiment, after determining the current priority of the logical channel, i.e., the target priority, specifically whether it is the first priority or the second priority, the first communication device can further determine the rate limiting parameters such as the priority bit rate or bucket size duration corresponding to the target priority. Based on the rate limiting parameters corresponding to the target priority, a first parameter can be determined. Finally, resources can be allocated to the logical channel based on the first parameter and the target priority, allowing data on the logical channel to be transmitted based on the allocated resources. Compared to existing technologies, this reduces the occurrence of situations where data transmission is limited to fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission and improving data efficiency. It is understood that the first parameter determined based on the rate limiting parameters corresponding to the target priority can indicate the maximum amount of data that can be preferentially transmitted on the logical channel under limited resource conditions. The first parameter of the logical channel can be represented by Bj. Specifically, when the target priority is the first priority, the rate limiting parameter corresponding to the target priority is the same as the rate limiting parameter corresponding to the first priority; when the target priority is the second priority, the rate limiting parameter corresponding to the target priority is the same as the rate limiting parameter corresponding to the second priority. The rate limiting parameter corresponding to the first priority refers to the rate limiting parameter used when allocating resources to the logical channel when the target priority is the first priority; the rate limiting parameter corresponding to the second priority refers to the rate limiting parameter used when allocating resources to the logical channel when the target priority is the second priority.
[0091] The first parameter Bj can be maintained for each logical channel and is used in the logical channel priority process. When a logical channel is established, the MAC entity can initialize the first parameter to 0. The first parameter is determined based on time T and the priority bit rate. The first parameter can be increased based on the priority bit rate and time T, where T can be the duration the first parameter has remained unchanged since its last increase. When the first parameter is greater than the bucket size, where the bucket size is the priority bit rate multiplied by the bucket size duration, the first parameter is set to the bucket size. The specific timing of the terminal device updating the first parameter during the Link Control Protocol (LCP) process is implemented by the terminal device, as long as the first parameter is up-to-date during LCP authorization. Authorization is an uplink resource used for transmitting uplink data.
[0092] Specifically, after determining the first parameter of the logical channel, the first communication device can first allocate resources for data to be transmitted on the logical channel whose total data volume is not greater than the first parameter. For example, when the first parameter corresponding to the logical channel is greater than 0, or when the PBR of the logical channel is set to infinity, resources can be allocated for each piece of data to be transmitted on the logical channel. Second, the first communication device can determine whether there are any remaining resources allocated to the logical channel by determining the difference between the first parameter and the data volume of the MAC SDU corresponding to the logical channel. Finally, if it is determined that there are remaining resources allocated to the logical channel, the remaining resources can be allocated to other logical channels based on their priority order, until the excess resources are exhausted or filled with data.
[0093] In one possible implementation of this application embodiment, after determining the first parameter of the logical channel, the first communication device can divide the resource allocation process into three steps, as follows:
[0094] Step 1: Allocate resources to logical channels with Bj greater than 0 in descending order of priority. If the logical channel PBR is set to infinity, the MAC entity of the first communication device will allocate resources for all data to be transmitted on the logical channel before satisfying the PBR transmission of the lower priority logical channels. Step 2: Subtract the total size of the MAC SDU provided to the above logical channels from Bj. Step 3: If any resources remain, allocate resources to all selected logical channels in strict descending order until resources are exhausted or data is filled. Logical channels with the same priority can be treated the same way.
[0095] For example, according to the mapping rules of logical channels, data of LCH1, LCH2, and LCH3 can be transmitted on resource 1. The Bj corresponding to LCH1 and LCH3 is greater than 0, and is 20 and 40 respectively. The priority of LCH1 is greater than that of LCH2, and the priority of LCH2 is greater than that of LCH3.
[0096] In the first step, resources are allocated to LCH1 and LCH3 for data transmission. LCH1 is allocated resources first, and 20 units of data are transmitted on that resource, based on the size of Bj. If resources remain, LCH3 is allocated resources, and 40 units of data are transmitted on that resource. In the second step, the Bj values of LCH1 and LCH3 are reduced to 0. In the third step, if resources remain, they are filled in the order of LCH1, LCH2, and LCH3. If LCH1 has 10 units of data remaining, these 10 units are filled first, followed by LCH2, and then LCH3.
[0097] For example, in the first step, resources are allocated to LCH1 and LCH3 to transmit data. Resources are allocated to LCH1 first, and 20 units of data will be transmitted on that resource according to the size of Bj. If there are still resources left, resources are allocated to LCH3, and 30 units of data will be transmitted on that resource. In the second step, Bj of LCH1 is reduced to 0, and Bj of LCH3 is reduced to 10. Since there are no resources left, the third step will not be executed.
[0098] In the above process, if the logical channel uses the second priority in the resource allocation, and if the first data has been filled in the first step, it can fall back to the first priority in the third step and allocate resources according to the priority order of the first priority.
[0099] The rate limiting parameters include at least one of a priority bit rate or a bucket size duration; wherein the priority bit rate includes at least one of a first priority bit rate and a second priority bit rate; and the bucket size duration includes at least one of a first bucket size duration and a second bucket size duration. The second priority bit rate and the second bucket size duration are used when the logical channel includes the first data.
[0100] In one implementation, when the target priority is first priority, the priority bit rate is first priority bit rate, and the bucket size duration is first bucket size duration; when the target priority is second priority, the priority bit rate is second priority bit rate, and the bucket size duration is second bucket size duration.
[0101] In this case, when the target priority is first priority, the first parameter is increased based on the first priority bit rate * T, where T can be the first time, that is, the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased, and * is the multiplication operator; when Bj is greater than the first bucket size, the first bucket size is the first priority bit rate * the duration of the first bucket size, and Bj is set to be equal to the first bucket size.
[0102] When the target priority is the second priority, the first parameter is increased based on the second priority bit rate * T. T can be the first time, which is the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased. * is the multiplication operator. When Bj is greater than the first bucket size, the first bucket size is the second priority bit rate * the duration of the second bucket size, and Bj is set to be equal to the first bucket size.
[0103] In one implementation, when the target priority is first priority, the priority bit rate is first priority bit rate, and the bucket size duration is first bucket size duration; when the target priority is second priority, the priority bit rate is either second priority bit rate or first priority bit rate, and the bucket size duration is either second bucket size duration or first bucket size duration.
[0104] In this case, when the target priority is the second priority, if the second priority bit rate is configured, the priority bit rate is the second priority bit rate; if the second priority bit rate is not configured, the priority bit rate is the first priority bit rate. If the second bucket size duration is configured, the bucket size duration is the second bucket size duration; if the second bucket size duration is not configured, the bucket size duration is the first bucket size duration.
[0105] In this case, when the target priority is first priority, the first parameter is increased based on the first priority bit rate * T, where T can be the first time, that is, the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased, and * is the multiplication operator; when Bj is greater than the first bucket size, the first bucket size is the first priority bit rate * the duration of the first bucket size, and Bj is set to be equal to the first bucket size.
[0106] When the target priority is the second priority, and the second priority bit rate and the second bucket size duration are configured, the first parameter is added based on the second priority bit rate * T. T can be the first time, which is the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased. * is the multiplication operator. When Bj is greater than the first bucket size, the first bucket size is the second priority bit rate * the second bucket size duration, and Bj is set to equal the first bucket size.
[0107] When the target priority is the second priority, and the second priority bit rate is configured, optionally, if the duration of the second bucket size is not configured, the first parameter is added based on the second priority bit rate * T, where T can be the first time, that is, the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased, and * is the multiplication operator; when Bj is greater than the first bucket size, the first bucket size is the second priority bit rate * the duration of the first bucket size, and Bj is set to equal the first bucket size.
[0108] When the target priority is the second priority, and the duration of the second bucket size is configured, optionally, if the second priority bit rate is not configured, the first parameter is added based on the first priority bit rate * T, where T can be the first time, that is, the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased, and * is the multiplication operator; when Bj is greater than the first bucket size, the first bucket size is the first priority bit rate * the duration of the second bucket size, and Bj is set to equal the first bucket size.
[0109] When the target priority is the second priority, optionally, if the second bucket size duration is not configured, and if the second priority bit rate is not configured, then the first parameter is added based on the first priority bit rate * T, where T can be the first time, that is, the duration during which the first parameter has not changed, i.e., the time elapsed since the first parameter was last increased, and * is the multiplication operator; when Bj is greater than the first bucket size, the first bucket size is the first priority bit rate * the first bucket size duration, and Bj is set to equal the first bucket size.
[0110] In one possible implementation of this application embodiment, the priority bit rate includes a first priority bit rate or a second priority bit rate, and the bucket size duration includes a first bucket size duration or a second bucket size duration. In this application embodiment, the logical channel can be configured with a first priority bit rate, or a second priority bit rate, or both; the logical channel can also be configured with a first bucket size duration, or a second bucket size duration, or both, thereby reducing the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel, and thus improving data validity.
[0111] In one possible implementation of this application embodiment, the rate limiting parameter corresponding to the first priority includes at least one of a first priority bit rate or a first bucket size duration, and the rate limiting parameter corresponding to the second priority includes at least one of a first priority bit rate, a first bucket size duration, a second priority bit rate, or a second bucket size duration. In this application embodiment, at least one of a priority bit rate or a bucket size duration can be configured for the first priority and the second priority of the logical channel, respectively. For example, a first priority bit rate and a first bucket size duration can be configured for the first priority of the logical channel; a first priority bit rate, a first bucket size duration, a second priority bit rate, or a second bucket size duration can also be configured for the second priority of the logical channel. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to the prior art, this reduces the occurrence of data transmission only based on fixed rate limiting parameters when the priority of the logical channel changes, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness. The values of the first priority bit rate and the second priority bit rate can be equal or unequal, and the values of the first bucket size duration and the second bucket size duration can be equal or unequal. These can be set according to the actual situation and are not limited here.
[0112] In one possible implementation of this application embodiment, if a second priority bit rate is configured, the rate limiting parameter corresponding to the second priority includes the second priority bit rate; if the second priority bit rate is not configured, the rate limiting parameter corresponding to the second priority includes the first priority bit rate; if a second bucket size duration is configured, the rate limiting parameter corresponding to the second priority includes the second bucket size duration; if the second bucket size duration is not configured, the rate limiting parameter corresponding to the second priority includes the first bucket size duration. In the above implementation scheme, if the logical channel is configured with a second priority bit rate, the rate limiting parameter used when the target priority is the second priority may include the second priority bit rate; if the logical channel is only configured with a first priority bit rate corresponding to the first priority and not with a second priority bit rate, the rate limiting parameter used when the target priority is the second priority may include the first priority bit rate. Similarly, if the logical channel is configured with a second bucket size duration, the rate limiting parameter used when the target priority is the second priority may include the second bucket size duration; if the logical channel is only configured with a first bucket size duration and not with a second bucket size duration, the rate limiting parameter used when the target priority is the second priority may include the first bucket size duration.
[0113] Specifically, in some cases, if the second priority bit rate corresponding to the second priority is not configured, the first priority bit rate can be directly used as the priority bit rate when the target priority is the second priority; if the second bucket size duration corresponding to the second priority is not configured, the first bucket size duration can be directly used as the bucket size duration when the target priority is the second priority. That is, when the second priority bit rate or the second bucket size duration corresponding to the second priority is not configured, and the current priority of the logical channel is the second priority, the first communication device can allocate resources to the data on the logical channel based on the rate limiting parameter corresponding to the first priority, that is, the first priority bit rate or the first bucket size duration. In other words, the rate limiting parameter corresponding to the second priority may include at least one of the first priority bit rate or the first bucket size duration.
[0114] Similarly, if the first priority bit rate corresponding to the first priority is not configured, the second priority bit rate can be directly used as the priority bit rate when the target priority is the first priority; if the first bucket size duration corresponding to the first priority is not configured, the second bucket size duration can be directly used as the bucket size duration when the target priority is the first priority. That is, when the first priority bit rate or the first bucket size duration corresponding to the first priority is not configured, and the current priority of the logical channel is the first priority, the first communication device can allocate resources to the data on the logical channel based on the rate limiting parameter corresponding to the second priority, that is, the second priority bit rate or the second bucket size duration. In other words, the rate limiting parameter corresponding to the first priority can include at least one of the second priority bit rate or the second bucket size duration.
[0115] In one possible implementation of this application embodiment, the first priority bit rate is equal to the second priority bit rate. In this application embodiment, the value of the first priority bit rate configured for the first priority of the logical channel can be the same as the value of the second priority bit rate configured for the second priority of the logical channel. That is, only one priority bit rate value can be configured for the logical channel, meaning the first priority bit rate corresponding to the first priority and the second priority bit rate corresponding to the second priority can share the same value. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to the prior art, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness.
[0116] Specifically, the values of both the first and second priority bit rates can be configured simultaneously, and the configured first priority bit rate value can be equal to the configured second priority bit rate value. Alternatively, only the first priority bit rate can be configured. In this case, the unconfigured second priority bit rate value can be directly equal to the configured first priority bit rate value; that is, the unconfigured second priority bit rate can share a single value with the configured first priority bit rate. In other words, if the second priority bit rate corresponding to the second priority is not configured, the first priority bit rate can be directly used as the priority bit rate when the target priority is the second priority. Again, only the second priority bit rate can be configured. In this case, the unconfigured first priority bit rate value can be directly equal to the configured second priority bit rate value; that is, the unconfigured first priority bit rate can share a single value with the configured second priority bit rate. In other words, if the first priority bit rate corresponding to the first priority is not configured, the second priority bit rate can be directly used as the priority bit rate when the target priority is the first priority.
[0117] In one possible implementation of this application embodiment, the duration of the first bucket size is equal to the duration of the second bucket size. In this embodiment, the value of the first bucket size duration configured for the first priority of the logical channel can be the same as the value of the second bucket size duration configured for the second priority of the logical channel. That is, only one bucket size duration value can be configured for the logical channel, meaning the first bucket size duration corresponding to the first priority and the second bucket size duration corresponding to the second priority can share the same value. This allows the first communication device, after determining the target priority of the logical channel, to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to existing technologies, this reduces the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and thus improving data effectiveness.
[0118] Specifically, the values of both the first and second bucket size durations can be configured simultaneously, and the configured values of the first and second bucket size durations can be equal. Alternatively, only the value of the first bucket size duration can be configured. In this case, the unconfigured value of the second bucket size duration can be directly equal to the configured value of the first bucket size duration. That is, the unconfigured second bucket size duration can share a single value with the configured first bucket size duration. In other words, if the second bucket size duration corresponding to the second priority is not configured, the first bucket size duration can be directly used as the bucket size duration when the target priority is the second priority. (This is repeated three times in the original text.)
[0119] In one possible implementation of this application embodiment, if the target priority is first priority, the first parameter is equal to the product of the first priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In this application embodiment, if the current priority of the logical channel, i.e., the target priority, is determined to be first priority, the first parameter can be calculated based on the first priority bit rate corresponding to the first priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel. Compared to existing technologies, this reduces the occurrence of data transmission only based on fixed rate limiting parameters when the priority of the logical channel changes, ensuring that data on the logical channel is transmitted on time, thereby improving data effectiveness.
[0120] Specifically, the first parameter can be represented as an increase based on Bj = PBR1 * T, where PBR1 can be the first priority bit rate, T can be the first time interval (the duration during which the first parameter remains unchanged), and * is the multiplication operator. It can be understood that the value of the first parameter Bj can change over time. For example, the initial first parameter Bj can be 0, and if the first PBR1 is 2KB / s, and the initial time interval T during which the first parameter Bj remains unchanged is 1 second, then the currently calculated first parameter Bj can be 2KB. If the value of the first parameter Bj changes after another 2 seconds (i.e., the first time interval T is 2 seconds), the increase can be calculated as 2s * 2KB / s = 4KB, so the calculated first parameter Bj can be 2KB + 4KB = 6KB.
[0121] It should be noted that if the first priority bit rate corresponding to the first priority is not configured, but only the second priority bit rate corresponding to the second priority is configured, and the target priority of the logical channel is the first priority, then the second priority bit rate can be directly used as the priority bit rate used when the target priority is the first priority. That is, the formula for the first parameter can also be expressed as an increase based on Bj = PBR2 * T, where PBR2 can be the second priority bit rate, T can be the first time, that is, the duration during which the first parameter has not changed, and * is the multiplication operator.
[0122] In one possible implementation of this application embodiment, the first parameter is less than or equal to the first bucket size, and the first bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to the first threshold. In this application embodiment, if the first parameter calculated based on the first priority bit rate and the first time is too large, that is, if the first parameter is greater than the first bucket size calculated based on the first priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the first bucket size, that is, the value of the first parameter can be limited to within the first bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, it can be ensured that the value of the first parameter can be greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources. For example, if the value of the first parameter Bj calculated based on the first priority bit rate and the first time is 4KB, and the value of the first bucket size calculated based on the first priority bit rate and the first bucket size duration is 3KB, then the final value of the first parameter Bj can be determined to be 3KB. Similarly, if the value of the first parameter Bj calculated based on the first priority bit rate and the first time is 4KB, and the data size of the first data is 5KB, then the final value of the first parameter Bj can be determined to be 5KB.
[0123] It should be noted that if the first priority bit rate or the first bucket size duration corresponding to the first priority is not configured, but only the second priority bit rate or the second bucket size duration corresponding to the second priority is configured, and the target priority of the logical channel is the first priority, then the second priority bit rate or the second bucket size duration can be directly used as the priority bit rate or bucket size duration used when the target priority is the first priority. That is, the first bucket size can be calculated based on the second priority bit rate and the second bucket size duration.
[0124] In one possible implementation of this application embodiment, if the target priority is the second priority and a second priority bit rate is configured, the first parameter is equal to the product of the second priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In this application embodiment, if the current priority of the logical channel, i.e., the target priority, is determined to be the second priority and a second priority bit rate is configured, the first parameter can be calculated based on the second priority bit rate corresponding to the second priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel, i.e., the second priority. Compared to the prior art, this reduces the occurrence of data transmission only based on a fixed rate limiting parameter when the priority of the logical channel changes, ensuring that data on the logical channel can be transmitted on time, thereby improving data effectiveness.
[0125] Specifically, the formula for the first parameter can be expressed as an increase based on Bj = PBR2 * T, where PBR2 can be the second priority bit rate, T can be the first time, i.e., the duration during which the first parameter remains unchanged, and * is the multiplication operator. It can be understood that the value of the first parameter Bj can change over time. For example, the initial first parameter Bj can be 0, and if the second PBR2 is 2KB / s, and the initial time T during which the first parameter Bj remains unchanged is 1 second, then the currently calculated first parameter Bj can be 2KB. If the value of the first parameter Bj changes after another 2 seconds, i.e., the first time T is 2 seconds, the increase can be calculated as 2s * 2KB / s = 4KB, so the calculated first parameter Bj can be 2KB + 4KB = 6KB.
[0126] In one possible implementation of this application embodiment, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the second priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the second priority bit rate and the duration of the first bucket size; or the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to the first threshold. In this application embodiment, if the first parameter calculated based on the second priority bit rate and the first time is too large, that is, if the first parameter is greater than the second bucket size calculated based on the second priority bit rate and the duration of the second bucket size, or greater than the second bucket size calculated based on the second priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the second bucket size, that is, the value of the first parameter can be limited to within the second bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, to ensure that the value of the first parameter is greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources. For example, if the value of the first parameter Bj calculated based on the second priority bit rate and the first time is 4KB, and the value of the second bucket size calculated based on the second priority bit rate and the second bucket size duration is 3KB, then the final value of the first parameter Bj can be determined to be 3KB. Similarly, if the value of the first parameter Bj calculated based on the second priority bit rate and the first time is 4KB, and the data size of the first data is 5KB, then the final value of the first parameter Bj can be determined to be 5KB.
[0127] It should be noted that if the logical channel is configured with a second bucket size duration, the rate limiting parameters used when the target priority is second priority can include the second bucket size duration. In other words, the second bucket size can be calculated based on the second priority bit rate and the second bucket size duration, meaning the second bucket size can be equal to the product of the second priority bit rate and the second bucket size duration. If the logical channel is only configured with a first bucket size duration and not a second bucket size duration, the rate limiting parameters used when the target priority is second priority can include the first bucket size duration. In other words, the second bucket size can be calculated based on the second priority bit rate and the first bucket size duration, meaning the second bucket size can be equal to the product of the second priority bit rate and the first bucket size duration.
[0128] In one possible implementation of this application embodiment, if the target priority is the second priority and no second priority bit rate is configured, the first parameter is equal to the product of the first priority bit rate and the first time, where the first time is the duration during which the first parameter remains unchanged. In this application embodiment, if the current priority of the logical channel, i.e., the target priority, is determined to be the second priority and no second priority bit rate is configured, then the first priority bit rate can be used as the currently used rate limiting parameter. That is, the first parameter can be calculated based on the first priority bit rate corresponding to the second priority and the duration during which the first parameter remains unchanged, i.e., the first time. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the current priority of the logical channel, i.e., the second priority. Compared to existing technologies, this reduces the occurrence of data transmission only based on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and improving data effectiveness.
[0129] Specifically, if the second priority bit rate corresponding to the second priority is not configured, but only the first priority bit rate corresponding to the first priority is configured, and the target priority of the logical channel is the second priority, then the first priority bit rate can be directly used as the priority bit rate used when the target priority is the second priority. That is, the formula for the first parameter can also be expressed as an increase based on Bj = PBR1 * T, where PBR1 can be the first priority bit rate, T can be the first time, that is, the duration during which the first parameter has not changed, and * is the multiplication operator.
[0130] In one possible implementation of this application embodiment, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the first priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or, the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to the first threshold. In this application embodiment, if the first parameter calculated based on the first priority bit rate and the first time is too large, that is, if the first parameter is greater than the second bucket size calculated based on the first priority bit rate and the duration of the second bucket size, or greater than the second bucket size calculated based on the first priority bit rate and the duration of the first bucket size, the value of the first parameter can be directly equal to the second bucket size, that is, the value of the first parameter can be limited to within the second bucket size; or if the calculated first parameter is less than the amount of data in the first data, the value of the first parameter can be directly equal to the amount of data in the first data, that is, to ensure that the value of the first parameter is greater than the amount of data in the first data, thereby ensuring that the data in the logical channel can be transmitted on time under the condition of limited resources, while also minimizing the waste of transmission resources and improving the utilization rate of transmission resources.
[0131] It should be noted that if the logical channel is configured with a second bucket size duration, the rate limiting parameters used when the target priority is second priority can include the second bucket size duration. In other words, the second bucket size can be calculated based on the second priority bit rate and the second bucket size duration, meaning the second bucket size can be equal to the product of the second priority bit rate and the second bucket size duration. If the logical channel is only configured with a first bucket size duration and not a second bucket size duration, the rate limiting parameters used when the target priority is second priority can include the first bucket size duration. In other words, the second bucket size can be calculated based on the second priority bit rate and the first bucket size duration, meaning the second bucket size can be equal to the product of the second priority bit rate and the first bucket size duration.
[0132] The specific standard content is as follows:
[0133] Apply logical channel priorities and / or PBR and / or BSD as follows.
[0134] First priority: Used to set the priority of the logical channel;
[0135] First Priority Bit Rate: Used to set the PBR;
[0136] First Bucket Size Duration: Used to set BSD.
[0137] Second priority (Delay Adjust Priority): An additional priority used when the logical channel includes the first data.
[0138] Second Priority Bit Rate: The additional priority bit rate used when the logical channel includes the first data. Alternatively, the additional priority bit rate used when the logical channel uses additional priorities.
[0139] Second Bucket Size Duration: The additional bucket size duration used when the logical channel includes the first data. Or, the additional bucket size duration used when the logical channel uses additional priority.
[0140] Apply priority and / or PBR and / or BSD to logical channels configured with second priority using the following methods:
[0141] If the logical channel includes the first data: set the priority of the logical channel to the second priority; if the second priority bit rate is configured, set PBR to the second priority bit rate; if the second bucket size duration is configured, set BSD to the second bucket size duration.
[0142] If the logical channel includes the first data: set the priority of the logical channel to the first priority.
[0143] Before each instance of the LCP process, add a first parameter based on PBR*T, where T is the elapsed time since the previous Bj increment.
[0144] The details are as follows:
[0145] 1>apply the priority and / or PBR and / or to the logical channel configured with delayAdjustPriority as follows:
[0146] 2>if priority-adjust data is buffered in the logical channel:
[0147] 3>set the priority of the logical channel to delayAdjustPriority;
[0148] 3>if adjustPrioritisedBitRate is configured:
[0149] 4>update PBR to the value of adjustPrioritisedBitRate.
[0150] 3>if adjustbucketSizeDuration is configured:
[0151] 4>update BSD to the value of adjustbucketSizeDuration.
[0152] 2>else:
[0153] 3>set the priority of the logical channel to priority.
[0154] 1>increment Bj by the product PBR×T before every instance of the LCP procedure, where T is the time elapsed since Bj was last incremented;
[0155] 1>if the value of Bj is greater than the bucket size(iePBR×BSD):
[0156] 2> Set Bj to the bucket size.
[0157] [1]NOTE:The exact moment(s)when the UE updates Bj between LCP procedures is up to UE implementation,as long as Bj is up to date at the time when a grant is processed by LCP.
[0158] In one possible implementation of this application embodiment, the first communication device may further perform the following steps:
[0159] B1. The first communication device receives the first instruction information.
[0160] The first indication information is used to indicate at least one of the following: first priority, second priority, first priority bit rate, second priority bit rate, first bucket size duration, second bucket size duration, or first threshold. Each logical channel corresponds to the first indication information for each logical channel.
[0161] In this embodiment, the first communication device can determine a first priority or a second priority, or a first priority bit rate or a first bucket size duration, or a second priority bit rate or a second bucket size duration, or a first threshold, by receiving first indication information. This allows the first communication device to allocate resources to the logical channel based on a first parameter determined by the rate limiting parameter corresponding to the target priority after determining the target priority. Compared to existing technologies, this reduces the likelihood of data transmission being limited to fixed rate limiting parameters when the logical channel priority changes, ensuring timely data transmission and improving data effectiveness. Specifically, the first communication device can receive first indication information from a second communication device to configure the first priority or the second priority, or the first priority bit rate or the first bucket size duration corresponding to the first priority, or the second priority bit rate or the second bucket size duration corresponding to the second priority, or the first threshold. The second communication device can be a network device.
[0162] Among them, priority, priority bit rate and bucket size duration can be configured separately. That is, when the second priority is configured, the second priority bit rate or the second bucket size duration does not need to be configured. The first communication device can use the first priority bit rate or the first bucket size duration to calculate the first parameter. In other cases, when the second priority bit rate or the second bucket size duration is configured or the first threshold is set, the second priority must be configured. That is, the second priority bit rate or the second bucket size duration or the first threshold can only be configured when the second priority is configured. In other words, the condition for configuring the second priority bit rate or the second bucket size duration or the first threshold includes configuring the second priority.
[0163] The second communication device can be configured with a first priority and a second priority. If the first threshold is configured, the second priority bit rate or the second bucket size duration does not need to be configured. If a second PBR is configured, both the second priority and the first threshold must be configured. In particular, if the second priority is configured, the first threshold must also be configured.
[0164] The second priority bit rate and the first priority bit rate can be configured through the priority bit rate field, which has two values: the first index points to the first priority bit rate and the second index points to the second priority bit rate; or the second priority bit rate and the first priority bit rate can be configured through two separate priority bit rate fields.
[0165] The second and first priorities can be configured through the priority field, which has two values: the value indexed by the first index is the first priority, and the value indexed by the second index is the second priority; or the second and first priorities can be configured through two separate priority fields.
[0166] The duration of the second bucket size and the duration of the first bucket size can be configured through the bucket size duration field. This field can be configured with two values: the value indexed by the first index is the duration of the first bucket size, and the value indexed by the second index is the duration of the second bucket size. Alternatively, the duration of the second bucket size and the duration of the first bucket size can be configured through two separate bucket size duration fields, where the value indexed by the first index refers to the value determined by the first index, and the value indexed by the second index refers to the value determined by the second index.
[0167] In one possible implementation of this application embodiment, the first indication information is based on any one of Radio Resource Control (RRC) signaling, Media Access Control (MAC) Control Element (MAC) signaling, or Downlink Control Information (DCI) signaling. In this embodiment, the first communication device can receive the first indication information based on Radio Resource Control (RRC) signaling, Media Access Control (MAC) Control Element (MAC) signaling, or Downlink Control Information (DCI) signaling to configure a first priority or a second priority, or a first priority bit rate or a first bucket size duration corresponding to the first priority, or a second priority bit rate or a second bucket size duration corresponding to the second priority, or a first threshold. This allows the first communication device to allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority after determining the target priority of the logical channel. Compared to existing technologies, this reduces the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and improving data effectiveness.
[0168] In one possible implementation of this application embodiment, step 302, where the first communication device allocates resources to the logical channel based on the first parameters of the logical channel and the target priority, includes:
[0169] C1. Based on the descending order of logical channel priorities and the target priority of the first logical channel, allocate resources to the first logical channel whose first parameter is greater than 0.
[0170] The first logical channel is determined based on the logical channel mapping rules.
[0171] In this embodiment, the first communication device can first determine the selected logical channel, i.e., the first logical channel, from the logical channels based on the logical channel mapping rules. It is understood that when the first communication device allocates resources to each logical channel, the selected logical channel, i.e., the first logical channel, is chosen from the logical channels according to the logical channel mapping rules. After determining the first parameters of the logical channel, the first communication device can divide the resource allocation process into three steps, as follows:
[0172] Step 1: Allocate resources to logical channels with Bj greater than 0 in descending order of priority. If the logical channel PBR is set to infinity, the MAC entity of the first communication device will allocate resources for all data to be transmitted on the logical channel before satisfying the PBR transmission of the lower priority logical channels. Step 2: Subtract the total size of the MAC SDU provided to the above logical channels from Bj. Step 3: If any resources remain, allocate resources to all selected logical channels in strict descending order until resources are exhausted or data is filled. Logical channels with the same priority can be treated the same way.
[0173] Specifically, the logical channel mapping rules can be as follows:
[0174] Radio Resource Control (RRC) also controls the Link Control Protocol (LCP) procedure by configuring mapping restrictions for each logical channel.
[0175] The allowedSCS-List sets the allowed Subcarrier Spacing(s) for transmission; it is used to restrict the list of subcarrier spacings (SCS) that the LCH can choose from for uplink grants. The LCH can only be mapped to an uplink grant if the allowedSCS-List configured for the LCH includes an uplink grant SCS.
[0176] `maxPUSCH-Duration` sets the maximum PUSCH duration allowed for transmission; it limits the duration of the Physical Uplink Shared Channel (PUSCH) available for the LCH. When the PUSCH duration of the uplink grant is less than `maxPUSCH-Duration`, the LCH can be mapped to that uplink grant.
[0177] The "Configured Grant Type 1 Allowed" setting determines whether a configured grant Type 1 can be used for transmission. It restricts whether an LCH (Large Controller) can use type 1 grants. If configuredGrantType1Allowed is configured, the LCH can use type 1 grants. If not configured, the LCH cannot use type 1 grants.
[0178] The configuration authorization is divided into type 1 and type 2, and the main definitions are as follows:
[0179] Configured grant Type 1: An uplink grant is provided by the RRC and stored as a configured uplink grant.
[0180] Configured grant Type 2, where an uplink grant is provided by the Physical Downlink Control Channel (PDCCH), and stored or cleared as configured uplink grant based on L1 signaling indicating configured uplink grant activation or deactivation.
[0181] allowedServingCells, which sets the allowed cell(s) for transmission; used to restrict the serving cells that can transmit data at the LCH.
[0182] allowedCG-List, which sets the allowed configured grant(s) for transmission; This list restricts the configuration grants that can be used for data transmission via LCH.
[0183] The allowedPHY-PriorityIndex sets the allowed PHY priority index(es) of a dynamic grant for transmission; it is used to restrict the dynamic grant that LCH can use.
[0184] allowedHARQ-mode sets the allowed UL HARQ mode for transmission.
[0185] When a new transmission is performed, the MAC entity shall:
[0186] 1. Select logical channels for each UL grant that satisfy all the following conditions: A logical channel can use the uplink grant for data transmission when the following conditions are met; that is, the logical channel selected for that uplink grant.
[0187] 2> The set of allowed Subcarrier Spacing index values in allowedSCS-List, if configured, includes the Subcarrier Spacing index associated with the UL grant (if allowedSCS-List is configured and includes the uplink granted subcarrier spacing index); and
[0188] 2> `maxPUSCH-Duration`, if configured, is larger than or equal to the PUSCH transmission duration associated with the UL grant; and
[0189] 2> `configuredGrantType1Allowed`, if configured, is set to true in case the UL grant is a Configured Grant Type 1.
[0190] and
[0191] 2> allowedCG-List, if configured, includes the configured grant index associated with the UL grant; and
[0192] 2> allowedPHY-PriorityIndex, if configured, includes the priority index (as specified in clause 9 of TS 38.213[6]) associated to the dynamic UL grant; (If allowedPHY-PriorityIndex is configured, then allowedPHY-PriorityIndex includes the priority index associated with the uplink grant) and
[0193] 2>allowedHARQ-mode,if configured,includes the allowed UL HARQ mode for the HARQ process associated to the UL grant.
[0194] NOTE: The Subcarrier Spacing index, PUSCH transmission duration, Cell information, and priority index are included in Uplink transmission information received from lower layers for the corresponding scheduled uplink transmission.
[0195] After determining the selected logical channel, i.e. the first logical channel, the first communication device can further determine whether the first parameter of the first logical channel is greater than 0. Based on the target priority of the first logical channel with the first parameter greater than 0 and the descending order of logical channel priority, the first resource allocation order of the first logical channel with the first parameter greater than 0 can be determined. Based on the first resource allocation order, resources are allocated to the first logical channel with the first parameter greater than 0, so that the first communication device can allocate resources to all selected logical channels with the first parameter greater than 0 in a strict descending order of logical channel priority until the resources are exhausted or the data to be transmitted on all selected logical channels is filled.
[0196] For example, if the first logical channel with a first parameter greater than 0 is LCH1, and its priority value ranges from 1 to 3, with a value of 1 being the highest priority, and the second priority of LCH1 is 2, while other logical channels such as LCH2 have a priority of 1 and LCH3 have a priority of 3, then the first resource allocation order of LCH1 can be determined as the second position, the first resource allocation order of LCH2 as the first position, and the first resource allocation order of LCH3 as the third position. The first communication device can first allocate resources to the data on LCH2, and after the data on LCH2 is filled, it can continue to allocate the first resources to the data on LCH1, and so on, until the resources are exhausted or the data to be transmitted on all logical channels is filled.
[0197] In one possible implementation of this application embodiment, the method further includes:
[0198] C2. If there are still remaining resources after allocating resources to the first logical channel with a target priority greater than 0 based on the descending order of logical channel priorities, the first communication device allocates resources to all first logical channels based on the descending order of logical channel priorities and the target priority of all first logical channels until the resources are exhausted or the data of all first logical channels is filled.
[0199] In this embodiment, if there are remaining resources after allocating resources to logical channels with a first parameter greater than 0 in the first logical channel, these remaining resources can be allocated. At this time, a second resource allocation order for all first logical channels can be determined based on the target priority of all first logical channels and the descending order of logical channel priorities. Resources are then allocated to all first logical channels based on this second resource allocation order, allowing the first communication device to allocate resources to all selected logical channels according to a strict descending order of logical channel priorities until resources are exhausted or all data to be transmitted on all selected logical channels is filled.
[0200] For example, the first logical channel includes LCH1, LCH2, and LCH3, where the first parameter of LCH1 and LCH2 is greater than 0, and the first parameter of LCH3 is not greater than 0. The first communication device can first allocate resources to LCH1 and LCH2, whose first parameter is greater than 0, based on the descending order of logical channel priority. If there are remaining resources after allocating resources to LCH1 and LCH2, the first communication device can then allocate resources to LCH1, LCH2, and LCH3 based on the descending order of logical channel priority.
[0201] In one possible implementation of this application embodiment, the method further includes:
[0202] C3. If the target priority of the first logical channel is the second priority, and there is no first data in the first logical channel, then the first communication device determines that the target priority of the first logical channel is the first priority.
[0203] In this embodiment of the application, if the first communication device first allocates resources to the first logical channel based on the second priority of the first logical channel in step C1, and determines in step C2 that there is no first data in the first logical channel during the process of allocating resources to the first logical channel, then the target priority of the first logical channel can be set from the second priority to the first priority, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0204] In one possible implementation of this application embodiment, the method further includes:
[0205] D1. The first communication device determines the priority of the hybrid automatic repeat request process or the priority of the uplink authorization based on the priority of the logical channel.
[0206] The priority of the logical channel is determined based on the target priority used in the resource allocation process.
[0207] In this embodiment, after determining the target priority of the logical channel when allocating resources for the logical channel, the first communication device can further determine the priority of the hybrid automatic repeat request process or the uplink grant corresponding to the logical channel based on the priority of the logical channel determined by the target priority. This ensures that data on the logical channel can be transmitted on time, thereby improving data validity. It is understood that the priority of the logical channel here can also be called the transmission priority of the logical channel, specifically determined based on the target priority used by the first communication device during resource allocation. The logical channel can be configured with a second priority; that is, the target priority of the logical channel may include a second priority.
[0208] It should be noted that the priority of the Hybrid Automatic Repeat Request (HARQ) process can be specifically reflected by the priority of the HARQ process identifier, i.e., the HARQ process ID. In other words, the first communication device can determine the priority of the HARQ process by determining the priority of the HARQ process ID.
[0209] In one possible implementation of this application embodiment, if the target priority used by the logical channel during resource allocation includes a second priority, the priority of the logical channel is the second priority. That is, the priority of the HARQ process can be determined by the second priority of the logical channel.
[0210] In this embodiment of the application, if the first communication device has allocated resources to the logical channel based on the second priority of the logical channel during the resource allocation process, the priority of the logical channel can be determined as the second priority. That is, the priority of the hybrid automatic repeat request process corresponding to the logical channel or the priority of the uplink grant corresponding to the logical channel can be determined based on the second priority of the logical channel, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0211] In one possible implementation of this application embodiment, if the target priority used by the logical channel during resource allocation does not include the second priority, the priority of the logical channel is the first priority. That is, the priority of the HARQ process can be determined by the first priority of the logical channel.
[0212] In this embodiment of the application, if the first communication device has not allocated resources to the logical channel based on the second priority of the logical channel during the resource allocation process, the priority of the logical channel can be determined as the first priority. That is, the priority of the hybrid automatic repeat request process corresponding to the logical channel or the priority of the uplink grant corresponding to the logical channel can be determined based on the first priority of the logical channel, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0213] In one possible implementation of this application embodiment, the priority of the hybrid automatic repeat request process or the uplink grant priority is determined based on the highest priority among the logical channel priorities. The logical channel is a logical channel that has been multiplexed or has available data that needs to be multiplexed to the Media Access Control Service Data Unit. This logical channel is determined based on logical channel mapping rules.
[0214] In this embodiment, if the logical channel corresponding to the Hybrid Automatic Repeat Request (HAR) process or uplink grant includes a logical channel that has been multiplexed or has available data that needs to be multiplexed to the Media Access Control Service (MACS) Data Unit (MAS), the priority of the HAR can be determined based on the highest priority among the target priorities of the logical channels corresponding to the HAR or uplink grant. This ensures that data on the logical channels can be transmitted on time, thereby improving data validity. The highest priority among the logical channel priorities refers to the highest priority determined based on the priority of each logical channel when the HAR or uplink grant corresponds to one or more logical channels. When the HAR or uplink grant corresponds to only one logical channel, the priority of that logical channel can be directly determined as the highest priority among the logical channel priorities.
[0215] It is understood that each Hybrid Automatic Repeat Request (HARQ) process can be used to transmit data on one or more logical channels, and each uplink grant can also be used to transmit data on one or more logical channels. That is, a HARQ process can correspond to one or more logical channels, and an uplink grant can correspond to one or more logical channels. Logical channels can include those that have been multiplexed or have available data that needs to be multiplexed to the Media Access Control (MAC) Data Unit (MACU), and also those that have not been multiplexed or cannot have any data multiplexed to the MACU. If a HARQ process is used to transmit data on multiple logical channels, or an uplink grant is used to authorize the transmission of data on multiple logical channels, the priority of the HARQ process or the uplink grant can be determined based on the highest priority among the target priorities of the one or more multiplexed or available logical channels corresponding to the HARQ process or uplink grant. This ensures that data on the logical channels can be transmitted on time, thereby improving data validity. For example, the priority value ranges from 1 to 3, with a value of 1 being the highest priority. The hybrid automatic repeat request or uplink grant corresponds to three logical channels, namely LCH1, LCH2 and LCH3. The target priority of LCH1 is 2, the target priority of LCH2 is 1 and the target priority of LCH3 is 3. Therefore, the priority of the hybrid automatic repeat request or uplink grant is determined to be 1.
[0216] It should be noted that in the process of determining the priority of the HARQ process, i.e., the priority of the HARQ process ID, if the logical channel uses the second priority in resource allocation, then the priority of the logical channel is the second priority. This is because the priority of the HARQ process ID is determined by the priority of the logical channel that has been multiplexed or has available data that needs to be multiplexed to the MAC PDU. When the logical channel uses the second priority in resource allocation (i.e., in the first or third step of the resource allocation process), the priority of the HARQ process ID can be determined based on the second priority of the logical channel. Based on the description of the second and first priorities above, if the second priority is not used in the resource allocation process (i.e., not in the first or third step of the resource allocation process), meaning there is no first data, the priority of the HARQ process ID can be determined based on the first priority of the logical channel. For example, the logical channels corresponding to the HARQ process include LCH1, LCH2, and LCH3. LCH1 has a first priority of 3 and a second priority of 1, with the second priority being higher than the first priority; LCH2 has a first priority of 3 and no second priority is configured; LCH3 has a first priority of 2 and no second priority is configured. When LCH1 does not use the second priority, the priority of the HARQ process ID is determined by the highest priority value of 2 among LCH1, LCH2, and LCH3, because priority value 2 corresponds to the highest priority. When LCH1 uses the second priority in resource allocation, i.e., the target priority value 1, the priority of the HARQ process ID is determined by the highest priority value of 1 among LCH1, LCH2, and LCH3, because priority value 1 corresponds to the highest priority.
[0217] In the aforementioned uplink grant priority determination process, if a logical channel uses the second priority in resource allocation, then the logical channel's priority is the second priority. This is because the uplink grant priority is determined by the priority of logical channels that have been multiplexed or have available data that needs to be multiplexed to the MAC PDU. When a logical channel uses the second priority in resource allocation (i.e., in the first or third step of the resource allocation process), the uplink grant priority can be determined based on the logical channel's second priority. According to the above description of the second and first priorities, if the second priority is not used in the resource allocation process (i.e., not in the first or third step of the resource allocation process), meaning there is no first data, the uplink grant priority can be determined based on the logical channel's first priority. For example, the logical channels corresponding to the uplink grant include LCH1, LCH2, and LCH3. LCH1 has a first priority of 3 and a second priority of 1, with the second priority being higher than the first priority; LCH2 has a first priority of 3 and no second priority is configured; LCH3 has a first priority of 2 and no second priority is configured. When LCH1 does not use the second priority, the uplink grant priority is determined by the highest priority value 2 among LCH1, LCH2, and LCH3, because priority value 2 corresponds to the highest priority. When LCH1 uses the second priority in resource allocation, i.e., the target priority value 1, the uplink grant priority is determined by the highest priority value 1 among LCH1, LCH2, and LCH3, because priority value 1 corresponds to the highest priority.
[0218] In one possible implementation of this application embodiment, the hybrid automatic repeat request includes a first hybrid automatic repeat request process and a second hybrid automatic repeat request process. If the priority of the first hybrid automatic repeat request process is the same as the priority of the second hybrid automatic repeat request process, then the transmission order of the second hybrid automatic repeat request process takes precedence over the transmission order of the first hybrid automatic repeat request process. The first hybrid automatic repeat request process is the initial transmission hybrid automatic repeat request process, and the second hybrid automatic repeat request process is the retransmission hybrid automatic repeat request process. Alternatively, the hybrid automatic repeat request includes a third hybrid automatic repeat request process and a fourth hybrid automatic repeat request process. The transmission order of the fourth hybrid automatic repeat request process takes precedence over the transmission order of the third hybrid automatic repeat request process. The media access control service data unit corresponding to the third hybrid automatic repeat request process does not reuse or cannot reuse any data on the logical channel, while the media access control service data unit corresponding to the fourth hybrid automatic repeat request process has reused data on the logical channel.
[0219] In this embodiment of the application, if the hybrid automatic repeat request process includes a first hybrid automatic repeat request process for initial transmission and a second hybrid automatic repeat request process for retransmission, and the priority of the first hybrid automatic repeat request process for initial transmission is the same as the priority of the first hybrid automatic repeat request process for retransmission, then during data transmission, the second hybrid automatic repeat request process for retransmission can be transmitted before the first hybrid automatic repeat request process for initial transmission. That is, the data transmission of the second hybrid automatic repeat request process can be performed first, and then the data transmission of the first hybrid automatic repeat request process can be performed. Furthermore, if the hybrid automatic repeat request process includes a third hybrid automatic repeat request process and a fourth hybrid automatic repeat request process, wherein the media access control service data unit corresponding to the third hybrid automatic repeat request process has not reused or cannot reuse any data on the logical channel, while the media access control service data unit corresponding to the fourth hybrid automatic repeat request process has reused data on the logical channel, then during data transmission, the fourth hybrid automatic repeat request process can take priority over the third hybrid automatic repeat request process. That is, the data transmission of the fourth hybrid automatic repeat request process can be carried out first, and then the data transmission of the third hybrid automatic repeat request process can be carried out, so as to ensure that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0220] In one possible implementation of this application embodiment, the uplink grant includes a first uplink grant and a second uplink grant. The transmission order of the second uplink grant takes precedence over the transmission order of the first uplink grant. The media access control service data unit corresponding to the first uplink grant does not reuse or cannot reuse any data on the logical channel, while the media access control service data unit corresponding to the second uplink grant has reused data on the logical channel.
[0221] In this embodiment of the application, if the uplink grant corresponding to the logical channel includes a first uplink grant and a second uplink grant, wherein the media access control service data unit corresponding to the first uplink grant does not reuse or cannot reuse any data on the logical channel, and the media access control service data unit corresponding to the second uplink grant has reused data on the logical channel, then during the data transmission process, the data corresponding to the second uplink grant can take priority over the data transmission of the data corresponding to the first uplink grant. That is, the data corresponding to the second uplink grant can be transmitted first, and then the data corresponding to the first uplink grant can be transmitted, so that the data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0222] As illustrated by the examples in the foregoing embodiments, corresponding rate limiting parameters can be configured for the priorities of different logical channels. After determining the target priority of a logical channel, the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority and the target priority. Compared with the prior art, this can reduce the occurrence of data transmission based on fixed rate limiting parameters when the priority of a logical channel changes, enabling data on the logical channel to be transmitted on time, thereby improving data effectiveness.
[0223] Figure 4 shows a schematic diagram of an interaction flow between a first communication device and a second communication device provided in an embodiment of this application. The first communication device can be a communication device (such as a terminal device or a network device), or it can be a component of a communication device (such as a processor, circuit, chip, or chip system responsible for communication functions), or it can be a logic module or software capable of implementing all or part of the functions of the communication device. The second communication device can be a communication device (such as a network device), or it can be a component of a communication device (such as a processor, circuit, chip, or chip system responsible for communication functions), or it can be a logic module or software capable of implementing all or part of the functions of the communication device. An embodiment of this application provides a random access method, which mainly includes the following steps:
[0224] 401. The second communication device is configured with the first instruction information.
[0225] 402. The second communication device sends a first instruction message to the first communication device. Correspondingly, the first communication device receives the first instruction message from the second communication device.
[0226] The first indication information is used to indicate at least one of the following: first priority, second priority, first priority bit rate, second priority bit rate, first bucket size duration, second bucket size duration, or first threshold. Each logical channel corresponds to the first indication information for each logical channel.
[0227] In this embodiment, the second communication device can configure a first priority or a second priority, or a first priority bit rate or a first bucket size duration corresponding to the first priority, or a second priority bit rate or a second bucket size duration corresponding to the second priority, or a first threshold by configuring first indication information. The first indication information can be sent to the first communication device so that the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority after determining the target priority of the logical channel. Compared with the prior art, this can reduce the occurrence of data transmission based on fixed rate limiting parameters when the priority of the logical channel changes, so that data on the logical channel can be transmitted on time, thereby improving the effectiveness of the data.
[0228] Among them, priority, priority bit rate and bucket size duration can be configured separately. That is, when the second priority is configured, the second priority bit rate or the second bucket size duration does not need to be configured. The first communication device can use the first priority bit rate or the first bucket size duration to calculate the first parameter. In other cases, when the second priority bit rate or the second bucket size duration is configured or the first threshold is set, the second priority must be configured. That is, the second priority bit rate or the second bucket size duration or the first threshold can only be configured when the second priority is configured. In other words, the condition for configuring the second priority bit rate or the second bucket size duration or the first threshold includes configuring the second priority.
[0229] The second communication device can be configured with a first priority and a second priority. If the first threshold is configured, the second priority bit rate or the second bucket size duration does not need to be configured. If a second PBR is configured, both the second priority and the first threshold must be configured. In particular, if the second priority is configured, the first threshold must also be configured.
[0230] The second priority bit rate and the first priority bit rate can be configured through the priority bit rate field, which has two values: the first index points to the first priority bit rate and the second index points to the second priority bit rate; or the second priority bit rate and the first priority bit rate can be configured through two separate priority bit rate fields.
[0231] The second and first priorities can be configured through the priority field, which has two values: the value indexed by the first index is the first priority, and the value indexed by the second index is the second priority; or the second and first priorities can be configured through two separate priority fields.
[0232] The duration of the second bucket size and the duration of the first bucket size can be configured through the bucket size duration field, which has two values: the value indexed by the first index is the duration of the first bucket size, and the value indexed by the second index is the duration of the second bucket size; or the duration of the second bucket size and the duration of the first bucket size can be configured through two separate bucket size duration fields.
[0233] In one possible implementation of this application embodiment, if the first indication information is used to indicate a second priority bit rate, a second bucket size duration, or a first threshold, then the first indication information is used to indicate a second priority. In the above implementation, the condition for the first indication information configured by the first communication device to be used to indicate the second priority bit rate, the second bucket size duration, or the first threshold may be that the first indication information can be used to indicate the second priority; that is, the prerequisite for the first communication device to configure the second priority bit rate, the second bucket size duration, or the first threshold may be that the first communication device has already configured the second priority.
[0234] In one possible implementation of this application embodiment, if the first indication information is used to indicate the second priority bit rate, the second bucket size duration, or the first threshold, then the first indication information is used to indicate the second priority. In the above implementation, the condition for the first indication information configured by the second communication device to be used to indicate the second priority bit rate, the second bucket size duration, or the first threshold may be that the first indication information can be used to indicate the second priority, that is, the prerequisite for the second communication device to configure the second priority bit rate, the second bucket size duration, or the first threshold may be that the second communication device has already configured the second priority.
[0235] 403. The first communication device determines the target priority of the logical channel.
[0236] The target priority includes either the first priority or the second priority.
[0237] 404. The first communication device allocates resources to the logical channel based on the first parameter of the logical channel and the target priority.
[0238] The first parameter is determined based on the rate limiting parameter corresponding to the target priority, which includes at least one of the priority bit rate or bucket size duration.
[0239] The content of steps 403-404 above is similar to steps 301-302 in the previous embodiments, and will not be repeated here.
[0240] As illustrated by the foregoing embodiments, the second communication device can configure a first priority or a second priority, or a first priority bit rate or a first bucket size duration corresponding to the first priority, or a second priority bit rate or a second bucket size duration corresponding to the second priority, or a first threshold by configuring first indication information. The first indication information can be sent to the first communication device so that, after determining the target priority of the logical channel, the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameter corresponding to the target priority. Compared to existing technologies, this reduces the occurrence of data transmission based solely on fixed rate limiting parameters when the priority of the logical channel changes, ensuring timely data transmission on the logical channel and thus improving data effectiveness.
[0241] The following will describe a resource allocation method provided in an embodiment of this application, in conjunction with a specific application scenario:
[0242] Firstly, network devices can configure two PBRs or two BSDs for logical channels. The first PBR or the first BSD can be used when there are no packets in the logical channel with remaining time less than or equal to the threshold; the second PBR or the second BSD is used when there are packets in the logical channel with remaining time less than or equal to the threshold.
[0243] Specifically, if first data exists in the logical channel, and the remaining time of the first data is less than or equal to a first threshold, the first threshold is used to make the logical channel use a second priority. In this case, the priority of the logical channel can be set to the second priority. If the logical channel is configured with a second PBR, the PBR of the logical channel can be set to the second PBR; if the second PBR is not configured, the PBR can be set to the first PBR. If the logical channel is configured with a second BSD, the BSD of the logical channel can be set to the second BSD; if the logical channel is not configured with a second BSD, the BSD can be set to the first BSD.
[0244] If there is no first data in the logical channel, that is, the remaining time of all data in the logical channel is greater than the first threshold, then the priority of the logical channel can be set to the first priority, the PBR of the logical channel can be set to the first PBR, and the BSD of the logical channel can be set to the first BSD.
[0245] It should be noted that network devices can configure the first and second priorities and the first threshold of logical channels independently, and can choose not to configure the second PBR. However, when a network device has configured the second PBR of a logical channel, it can configure the second priority and the first threshold of the logical channel.
[0246] After determining the parameters of the logical channel, the resource allocation process can be divided into three steps, as follows:
[0247] Step 1: Allocate resources to logical channels with Bj greater than 0 in descending order of priority. If the logical channel PBR is set to infinity, the MAC entity of the first communication device will allocate resources for all data to be transmitted on the logical channel before satisfying the PBR transmission of the lower priority logical channels. Step 2: Subtract the total size of the MAC SDU provided to the above logical channels from Bj. Step 3: If any resources remain, allocate resources to all selected logical channels in strict descending order until resources are exhausted or data is filled. Logical channels with the same priority can be treated the same way.
[0248] In the above process, if the logical channel uses the second priority in the resource allocation, and if the first data has been filled in the first step, it can fall back to the first priority in the third step and allocate resources according to the priority order of the first priority.
[0249] When an uplink grant is configured with a timer (cg-RetransmissionTimer) that disables automatic repeat transmission, the terminal device can select the Hybrid Automatic Repeat Request Identity (HARQ ID) based on the configuration grant. If the MAC entity is configured with intraCG-Prioritization, for the selection of a Hybrid Automatic Repeat Request Identity (HARQ) process ID, the terminal device will prioritize the highest priority HARQ process ID. The priority of the HARQ process is determined based on the highest priority among the multiplexed logical channels (MAC PDUs that need to be transmitted in the HARQ buffer), or the availability of data to be multiplexed into the MAC PDU (MAC PDUs that do not need to be transmitted in the HARQ buffer). If the second priority is used in resource allocation, the logical channel priority is the second priority. If the MAC entity is configured with intraCG-Prioritization, if the HARQ process IDs of the initial transmission and retransmission have the same priority, the retransmission is transmitted with priority over the initial transmission. HARQ procedures that do not reuse or cannot reuse any logical channel data in a MAC PDU have a lower priority than HARQ procedures that have reused or cannot reuse any logical channel data in a MAC PDU.
[0250] In the process of determining the priority of the HARQ process, i.e., the priority of the HARQ process ID, if the logical channel uses the second priority in resource allocation, then the priority of the logical channel is the second priority. This is because the priority of the HARQ process ID is determined by the priority of logical channels that have been multiplexed or have available data that needs to be multiplexed to the MAC PDU. When the logical channel uses the second priority in resource allocation (i.e., in the first or third step of the resource allocation process), the priority of the HARQ process ID can be determined based on the second priority of the logical channel. Based on the description of the second and first priorities above, if the second priority is not used in the resource allocation process (i.e., not in the first or third step of the resource allocation process), meaning there is no first data, the priority of the HARQ process ID can be determined based on the first priority of the logical channel. For example, the logical channels corresponding to the HARQ process include LCH1, LCH2, and LCH3. LCH1 has a first priority of 3 and a second priority of 1, with the second priority being higher than the first priority; LCH2 has a first priority of 3 and no second priority is configured; LCH3 has a first priority of 2 and no second priority is configured. When LCH1 does not use the second priority, the priority of the HARQ process ID is determined by the highest priority value of 2 among LCH1, LCH2, and LCH3, because priority value 2 corresponds to the highest priority. When LCH1 uses the second priority in resource allocation, i.e., the target priority value 1, the priority of the HARQ process ID is determined by the highest priority value of 1 among LCH1, LCH2, and LCH3, because priority value 1 corresponds to the highest priority.
[0251] If the MAC entity is configured with lch-based Prioritization, the uplink grant priority is determined based on the highest priority among the multiplexed logical channels (MAC PDUs that need to be transmitted in the HARQ buffer), or by whether there is available data to be multiplexed into the MAC PDU (MAC PDUs that do not need to be transmitted in the HARQ buffer). If the second priority is used in resource allocation, the logical channel priority is the second priority. For uplink grants where no logical channel in the MAC PDU has data that is multiplexed or cannot be multiplexed, the priority is lower than the priority of uplink grants where any logical channel in the MAC PDU has data that is multiplexed or can be multiplexed, or the priority of logical channels that trigger Send Ready (SR).
[0252] In the aforementioned uplink grant priority determination process, if a logical channel uses the second priority in resource allocation, then the logical channel's priority is the second priority. This is because the uplink grant priority is determined by the priority of logical channels that have been multiplexed or have available data that needs to be multiplexed to the MAC PDU. When a logical channel uses the second priority in resource allocation (i.e., in the first or third step of the resource allocation process), the uplink grant priority can be determined based on the logical channel's second priority. According to the above description of the second and first priorities, if the second priority is not used in the resource allocation process (i.e., not in the first or third step of the resource allocation process), meaning there is no first data, the uplink grant priority can be determined based on the logical channel's first priority. For example, the logical channels corresponding to the uplink grant include LCH1, LCH2, and LCH3. LCH1 has a first priority of 3 and a second priority of 1, with the second priority being higher than the first priority; LCH2 has a first priority of 3 and no second priority is configured; LCH3 has a first priority of 2 and no second priority is configured. When LCH1 does not use the second priority, the uplink grant priority is determined by the highest priority value 2 among LCH1, LCH2, and LCH3, because priority value 2 corresponds to the highest priority. When LCH1 uses the second priority in resource allocation, i.e., the target priority value 1, the uplink grant priority is determined by the highest priority value 1 among LCH1, LCH2, and LCH3, because priority value 1 corresponds to the highest priority.
[0253] Specifically, the following will be introduced in conjunction with specific circumstances:
[0254] I. Scenarios, Products, and Problems
[0255] Prioritizing logical channels involves assembling data from multiple logical channels into a single transmission channel. Multiple MAC SDUs are multiplexed into a single MAC PDU and transmitted through the physical layer channel. When multiple logical channels are transmitting data, and the total data volume exceeds the current TTI's transmission capacity (i.e., the data volume exceeds the maximum resource capacity), it is necessary to determine which logical channel should be prioritized for transmission.
[0256] To avoid the problem of low-priority logical channels being consistently unserved, the base station assigns a Prioritized Bit Rate (PBR) to each uplink logical channel of the terminal, measured in KB / s. The terminal's MAC layer scheduler limits the transmission rate of each logical channel to below the PBR. If the transmission rate of a high-priority logical channel is also limited to below the PBR, and if the data transmission rate of a high-priority logical channel exceeds the PBR, even if data is still being transmitted, the scheduler will switch to serving the lower-priority logical channels that have not reached the PBR.
[0257] Therefore, a UE typically maintains a variable Bj for each LCH, which is used to guarantee the PBR of each LCH for fairness. For each logical channel, the size of Bj increases over time, Bj = PBR * T, where T is the time elapsed since the last increase of Bj; when Bj is greater than the bucket size (PBR × BSD [Bucket Size Duration]), Bj is set to equal PBR × BSD.
[0258] When allocating resources to each logical channel, the logical channels selected below are chosen according to the logical channel mapping rules.
[0259] Step 1: Allocate resources to logical channels with Bj greater than 0 in descending order of priority. If the logical channel PBR is set to infinity, the MAC entity will allocate resources for all data to be transmitted on the logical channel before satisfying the PBR of the lower priority logical channels.
[0260] Step 2: Subtract the total size of the MAC SDU provided to the above logical channel j from Bj.
[0261] Step 3: If any resources remain, allocate resources to all selected logical channels in strict descending order until resources are exhausted or data is filled. Logical channels with the same priority should be treated the same.
[0262] Current LCH mapping constraints (logical channel mapping rules):
[0263] RRC additionally controls the LCP procedure by configuring mapping restrictions for each logical channel:
[0264] -allowedSCS-List, which sets the allowed Subcarrier Spacing(s) for transmission; is used to restrict the list of SCSs that the LCH can select for uplink grants. The LCH can only be mapped to an uplink grant if the allowedSCS-List configured for the LCH includes an uplink grant SCS.
[0265] `-maxPUSCH-Duration` sets the maximum PUSCH duration allowed for transmission; this limits the PUSCH duration of the uplink grant available for the LCH. When the uplink grant PUSCH duration is less than `maxPUSCH-Duration`, the LCH can be mapped to that uplink grant.
[0266] `-configuredGrantType1Allowed` sets whether a configured grant Type 1 can be used for transmission; this restricts whether an LCH can use type 1 grant configuration. When `configuredGrantType1Allowed` is configured, the LCH can use type 1 grant configuration. If not configured, the LCH cannot use type 1 grant configuration.
[0267] The configuration authorization is divided into type 1 and type 2, and the main definitions are as follows:
[0268] -Configured grant Type 1: Where an uplink grant is provided by RRC and stored as a configured uplink grant;
[0269] -Configured grant Type 2: where an uplink grant is provided by PDCCH and stored or cleared as configured uplink grant based on L1 signaling indicating configured uplink grant activation or deactivation.
[0270] 】
[0271] -allowedServingCells, which sets the allowed cell(s) for transmission; used to restrict the serving cells that LCH data can be transmitted to.
[0272] -allowedCG-List, which sets the allowed configured grant(s) for transmission; This is used to restrict the configuration grants that can be used for data transmission via LCH.
[0273] -allowedPHY-PriorityIndex sets the allowed PHY priority index(es) of a dynamic grant for transmission; used to restrict the dynamic grant that LCH can use.
[0274] -allowedHARQ-mode sets the allowed UL HARQ mode for transmission.
[0275] The MAC entity shall,when a new transmission is performed:
[0276] 1. Select logical channels for each UL grant that satisfy all the following conditions: [A logical channel can use the uplink grant for data transmission when the following conditions are met; that is, the logical channel selected for that uplink grant.]
[0277] 2> The set of allowed Subcarrier Spacing index values in allowedSCS-List, if configured, includes the Subcarrier Spacing index associated with the UL grant (if allowedSCS-List is configured and includes the uplink granted subcarrier spacing index); and
[0278] 2> `maxPUSCH-Duration`, if configured, is larger than or equal to the PUSCH transmission duration associated with the UL grant; and
[0279] 2> `configuredGrantType1Allowed`, if configured, is set to true in case the UL grant is a Configured Grant Type 1.
[0280] and
[0281] 2> allowedCG-List, if configured, includes the configured grant index associated with the UL grant; and
[0282] 2> allowedPHY-PriorityIndex, if configured, includes the priority index (as specified in clause 9 of TS 38.213[6]) associated to the dynamic UL grant; (if allowedPHY-PriorityIndex is configured, then allowedPHY-PriorityIndex includes the priority index associated with the uplink grant) and
[0283] 2>allowedHARQ-mode,if configured,includes the allowed UL HARQ mode for the HARQ process associated to the UL grant.
[0284] NOTE: The Subcarrier Spacing index, PUSCH transmission duration, Cell information, and priority index are included in Uplink transmission information received from lower layers for the corresponding scheduled uplink transmission.
[0285] In the current discussion, when there are packets with remaining time less than a threshold in the logical channel, a second priority is applied. This temporarily increases the logical channel's priority so that it can be allocated resources more preferentially during the resource allocation phase. Therefore, a logical channel has two priorities: a first priority and a second priority. The first priority is used when there are no packets with remaining time less than the threshold in the logical channel, and the second priority is used when there are packets with remaining time less than the threshold. The logical channel's PBR (Priority Requirement Ratio) is usually related to its priority; therefore, when the priority is increased, the PBR configured for the logical channel may not be appropriate.
[0286] II. Technical Solution of the Invention
[0287] To address the problems existing in the above scenarios or to achieve the above scenarios, the main technical solutions of the present invention will be fully described in conjunction with text and graphics.
[0288] Invention point:
[0289] Configure two PBRs or two BSDs for the logical channel. The first PBR / first BSD is used when there are no data packets with remaining time less than or equal to the threshold in the logical channel; the second PBR / first BSD is used when there are data packets with remaining time less than or equal to the threshold in the logical channel.
[0290] The overall process is as follows:
[0291] When first data exists in the logical channel, the remaining time of the first data is less than or equal to a first threshold; the first threshold is used to enable the logical channel to use a second priority; the priority of the logical channel is set to the second priority. If a second PBR is configured, the PBR of the logical channel is set to the second PBR; otherwise, the PBR is set to the first PBR. If a second BSD is configured, the PBR of the logical channel is set to the second BSD; otherwise, the BSD is set to the first BSD.
[0292] When there is no first data in the logical channel, the remaining time of the first data is less than or equal to the first threshold [that is, the remaining time of all data in the logical channel is greater than the first threshold]; the first threshold is used to make the logical channel use the second priority; set the priority of the logical channel to the first priority, set the PBR of the logical channel to the first PBR; set the BSD to the first BSD.
[0293] The size of Bj increases over time, where Bj = PBR * T, and T is the time elapsed since the last increase of Bj. When Bj is greater than the bucket size (PBR × BSD [Bucket Size Duration]), Bj is set to equal PBR × BSD.
[0294] The value of the PBR mentioned above can be either the first PBR or the second PBR.
[0295] Among them, the first priority, the second priority, the first PBR, the second PBR, and the first threshold can all be indicated by the network side through RRC signaling, MAC CE, and DCI.
[0296] On the network side, the first priority and the second priority, and the first threshold can be configured separately (the second PBR can be omitted); when the second PBR is configured, the second priority and the first threshold must be configured.
[0297] Resource allocation process:
[0298] Step 1: Allocate resources to logical channels with Bj greater than 0 in descending order of priority. If the logical channel PBR is set to infinity, the MAC entity will allocate resources for all data to be transmitted on the logical channel before satisfying the PBR of the lower priority logical channels.
[0299] Step 2: Subtract the total size of the MAC SDU provided to the above logical channel j from Bj.
[0300] Step 3: If any resources remain, allocate resources to all selected logical channels in strict descending order until resources are exhausted or data is filled. Logical channels with the same priority should be treated the same.
[0301] In the above process, if the logical channel uses the second priority in the resource allocation, and if the first data has been filled in the first step, it can fall back to the first priority in the third step and allocate resources according to the priority order of the first priority.
[0302] In the current standard
[0303] When the uplink grant is configured with cg-RetransmissionTimer (a timer that disables automatic retransmission), the UE selects the HARQ ID based on the implementation of the configured grant. If the MAC entity has intraCG-Prioritization configured, for a HARQ ID selection, the UE will prioritize the HARQ with the highest priority. The priority of the HARQ process is determined by the highest priority among the multiplexed logical channel priorities [if the second priority is used in resource allocation, then the logical channel priority is the second priority] (MAC PDUs that need to be transmitted in the HARQ buffer), or MAC PDUs that have available data to be multiplexed (MAC PDUs that need to be transmitted but are not in the HARQ buffer). If the MAC entity has intraCG-Prioritization configured, if the initial and retransmission HARQ ID priorities are the same, the retransmission is transmitted with priority over the initial transmission. HARQ processes in MAC PDUs that do not multiplex or cannot multiplex any logical channel data have lower priority than HARQ processes in MAC PDUs that have multiplexed or cannot multiplex any logical channel data.
[0304] If the MAC entity is configured with lch-based Prioritization, the uplink grant priority is determined based on the highest priority among the multiplexed logical channels (MAC PDUs to be transmitted in the HARQ buffer), or if there is available data to be multiplexed into the MAC PDU (MAC PDUs not in the HARQ buffer to be transmitted [if the second priority was used in resource allocation, then the logical channel priority is the second priority]). For uplink grants where no logical channel in the MAC PDU has data that is multiplexed or cannot be multiplexed, its priority is lower than the priority of uplink grants where any logical channel in the MAC PDU has data that is multiplexed or can be multiplexed, or the priority of the logical channel that triggered the SR.
[0305] Figure 5 is a schematic diagram of a communication device provided in an embodiment of this application. The communication device is used to implement the function of the first communication device in the above method embodiment, and the communication device specifically includes:
[0306] The determination module 501 determines the target priority of the logical channel, wherein the target priority includes a first priority or a second priority;
[0307] The allocation module 502 allocates resources to the logical channel based on a first parameter of the logical channel. The first parameter is determined based on a rate limiting parameter, which includes at least one of a priority bit rate or a bucket size duration.
[0308] Among them, the determining module 501 and the allocation module 502 can be collectively referred to as the processing module, etc.
[0309] Optionally, the device includes a transceiver module or a communication module for communicating with other communication devices.
[0310] In one possible implementation of this application embodiment, the priority bit rate includes a first priority bit rate or a second priority bit rate, and the bucket size duration includes a first bucket size duration or a second bucket size duration.
[0311] In one possible implementation of this application embodiment, the rate limiting parameter corresponding to the first priority includes at least one of a first priority bit rate or a first bucket size duration, and the rate limiting parameter corresponding to the second priority includes at least one of a first priority bit rate, a first bucket size duration, a second priority bit rate, or a second bucket size duration.
[0312] In one possible implementation of this application embodiment, if a second priority bit rate is configured, the rate limiting parameter corresponding to the second priority includes the second priority bit rate; if the second priority bit rate is not configured, the rate limiting parameter corresponding to the second priority includes the first priority bit rate.
[0313] If the second bucket size duration is configured, the rate limiting parameter corresponding to the second priority includes the second bucket size duration; if the second bucket size duration is not configured, the rate limiting parameter corresponding to the second priority includes the first bucket size duration.
[0314] In one possible implementation of this application embodiment, the first priority bit rate is equal to the second priority bit rate.
[0315] In one possible implementation of this application embodiment, the duration of the first bucket size is equal to the duration of the second bucket size.
[0316] In one possible implementation of this application embodiment, if the target priority is the first priority, the first parameter is equal to the product of the first priority bit rate and the first time, and the first time is the duration during which the first parameter does not change.
[0317] In one possible implementation of this application embodiment, the first parameter is less than or equal to the first bucket size, and the first bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or the first parameter is greater than the amount of data of the first data, and the remaining time of the first data is less than or equal to the first threshold.
[0318] In one possible implementation of this application embodiment, if the target priority is the second priority, the first parameter is equal to the product of the second priority bit rate and the first time, where the first time is the duration during which the first parameter does not change.
[0319] In one possible implementation of this application embodiment, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the second priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the second priority bit rate and the duration of the first bucket size;
[0320] Alternatively, the first parameter is greater than the amount of data in the first data, and the remaining time of the first data is less than or equal to the first threshold.
[0321] In one possible implementation of this application embodiment, if the target priority is the second priority and no second priority bit rate is configured, the first parameter is equal to the product of the first priority bit rate and the first time, where the first time is the duration during which the first parameter does not change.
[0322] In one possible implementation of this application embodiment, the first parameter is less than or equal to the second bucket size, the second bucket size is equal to the product of the second priority bit rate and the duration of the second bucket size, or the second bucket size is equal to the product of the first priority bit rate and the duration of the first bucket size; or the first parameter is greater than the amount of data of the first data, and the remaining time of the first data is less than or equal to the first threshold.
[0323] In one possible implementation of this application embodiment, the determining module 501 is specifically used for:
[0324] If the first data exists in the logical channel, the target priority of the logical channel is determined to be the second priority;
[0325] If the first data is not present in the logical channel, the target priority of the logical channel is determined to be the first priority; wherein the remaining time of the first data is less than or equal to a first threshold or the remaining time of at least one data in the dataset to which the first data belongs is less than or equal to the first threshold.
[0326] In one possible implementation of this application embodiment, the second priority is higher than the first priority.
[0327] In one possible implementation of this application embodiment, the communication device further includes:
[0328] The receiving module is configured to receive first indication information, wherein the first indication information is used to indicate at least one of a first priority, a second priority, a first priority bit rate, a second priority bit rate, a first bucket size duration, a second bucket size duration, or a first threshold.
[0329] In one possible implementation of this application embodiment, the first indication information is based on any one of radio resource control signaling, media access control layer control element signaling, or downlink control information signaling.
[0330] In one possible implementation of this application embodiment, the first indication information is used to indicate at least one of a first priority, a second priority, a first priority bit rate, a second priority bit rate, a first bucket size duration, a second bucket size duration, or a first threshold.
[0331] In one possible implementation of this application embodiment, if the first indication information is used to indicate the second priority bit rate or the second bucket size duration or the first threshold, then the first indication information is used to indicate the second priority.
[0332] In one possible implementation of this application embodiment, the allocation module 502 is specifically used for:
[0333] Resources are allocated to the first logical channel whose first parameter is greater than 0 based on the descending order of logical channel priority and the target priority of the first logical channel. The first logical channel is determined based on the logical channel mapping rules.
[0334] In one possible implementation of this application embodiment, the method further includes:
[0335] The allocation module 502 is further configured to allocate resources to all first logical channels based on the descending order of logical channel priorities and the target priority of the first logical channel being greater than 0, if there are still remaining resources after allocating resources to the first logical channels based on the descending order of logical channel priorities and the target priority of all first logical channels, until the resources are exhausted or the data of all first logical channels is filled.
[0336] In one possible implementation of this application embodiment, the method further includes:
[0337] The allocation module 502 is further configured to determine the target priority of the first logical channel as the first priority if the target priority of the first logical channel is the second priority and the first data does not exist in the first logical channel.
[0338] In one possible implementation of this application embodiment, the method further includes:
[0339] The allocation module 502 is further configured to determine the priority of the hybrid automatic repeat request process or the priority of the uplink grant based on the priority of the logical channel, wherein the priority of the logical channel is determined based on the target priority used in the resource allocation process.
[0340] In one possible implementation of this application embodiment, if the target priority used by the logical channel during resource allocation includes a second priority, then the priority of the logical channel is the second priority.
[0341] In one possible implementation of this application embodiment, if the target priority used by the logical channel during the resource allocation process does not include the second priority, the priority of the logical channel is the first priority.
[0342] In one possible implementation of this application embodiment, the priority of the hybrid automatic repeat request process or the priority of the uplink grant is determined based on the highest priority among the priorities of the second logical channel, where the second logical channel is a logical channel that has been multiplexed or has available data that needs to be multiplexed to the Media Access Control Service Data Unit.
[0343] In one possible implementation of this application embodiment, if the priority of the first hybrid automatic repeat request process is the same as the priority of the second hybrid automatic repeat request process, then the transmission order of the second hybrid automatic repeat request process takes precedence over the transmission order of the first hybrid automatic repeat request process. The first hybrid automatic repeat request process is the hybrid automatic repeat request process for initial transmission, and the second hybrid automatic repeat request process is the hybrid automatic repeat request process for retransmission.
[0344] Alternatively, the transmission order of the fourth hybrid automatic repeat request process takes precedence over that of the third hybrid automatic repeat request process. The media access control service data unit corresponding to the third hybrid automatic repeat request process does not reuse or cannot reuse any data on logical channels, while the media access control service data unit corresponding to the fourth hybrid automatic repeat request process has reused data on logical channels.
[0345] In one possible implementation of this application embodiment, the transmission order of the second uplink grant takes precedence over the transmission order of the first uplink grant. The media access control service data unit corresponding to the first uplink grant does not reuse or cannot reuse any data on the logical channel, while the media access control service data unit corresponding to the second uplink grant has reused data on the logical channel.
[0346] As illustrated by the examples in the foregoing embodiments, corresponding rate limiting parameters can be configured for the priorities of different logical channels. After determining the target priority of a logical channel, the first communication device can allocate resources to the logical channel based on the first parameter determined by the rate limiting parameters and the target priority. Compared with the prior art, this can reduce the occurrence of data transmission based on fixed rate limiting parameters when the priority of a logical channel changes, enabling data on the logical channel to be transmitted on time, thereby improving data effectiveness.
[0347] Figure 6 illustrates an example of the composition of an electronic device provided in an embodiment of this application. This electronic device may be a first device, including but not limited to a base station and a core network unit. Figure 6 shows a simplified schematic diagram of a base station structure. The base station includes parts 610, 620, and 630. Part 610 is mainly used for baseband processing and controlling the base station; part 610 is typically the control center of the base station, often referred to as a processor, used to control the base station to execute the processing operations on the first device side in the above method embodiments. Part 620 is mainly used for storing computer program code and data. Part 630 is mainly used for transmitting and receiving radio frequency signals and converting radio frequency signals to baseband signals; part 630 is often referred to as a transceiver module, transceiver, transceiver circuit, or transceiver. The transceiver module of part 630, also referred to as a transceiver or transceiver, includes an antenna 633 and a radio frequency circuit (not shown in the figure), wherein the radio frequency circuit is mainly used for radio frequency processing. Optionally, the device used to implement the receiving function in part 630 can be regarded as a receiver, and the device used to implement the transmitting function can be regarded as a transmitter. That is, part 630 includes receiver 632 and transmitter 631. The receiver can also be called a receiving module, receiver, or receiving circuit, etc., and the transmitter can be called a transmitting module, transmitter, or transmitting circuit, etc.
[0348] Sections 610 and 620 may include one or more circuit boards, each of which may include one or more processors and one or more memories. The processors are used to read and execute programs from the memories to implement baseband processing functions and control the base station. If multiple circuit boards exist, they can be interconnected to enhance processing capabilities. As an optional implementation, multiple circuit boards may share one or more processors, multiple circuit boards may share one or more memories, or multiple circuit boards may simultaneously share one or more processors.
[0349] For example, in one implementation, the transceiver module of section 630 is used to execute the transceiver-related processes performed by the base station (first device) in the aforementioned method embodiments. The processor of section 610 is used to execute the processing-related processes performed by the base station in the aforementioned method embodiments.
[0350] It should be understood that Figure 6 is merely an example and not a limitation, and the network devices described above, including processors, memory, and transceivers, may not depend on the structure shown in Figure 6.
[0351] Figure 7 shows an example of the composition of another electronic device provided in this application embodiment. This electronic device can be a second device, which can be a terminal device, including but not limited to mobile phones, smart wearable devices (such as smartwatches), and other electronic devices. Taking a mobile phone as an example, the electronic device may include a processor 310, an external memory interface 320, an internal memory 321, a display screen 330, a camera 340, antenna 1, antenna 2, a mobile communication module 350, and a wireless communication module 360, etc.
[0352] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the electronic device. In other embodiments, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0353] Processor 310 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0354] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments of this application, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0355] The external storage interface 320 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 310 through the external storage interface 320 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0356] Internal memory 321 can be used to store executable program code, including instructions. Processor 310 executes various functional applications and data processing of the electronic device by running the instructions stored in internal memory 321. Internal memory 321 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the electronic device (such as audio data, phonebook, etc.). Furthermore, internal memory 321 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 310 executes various functional applications and data processing of the electronic device by running instructions stored in internal memory 321 and / or instructions stored in memory located within the processor.
[0357] The wireless communication function of electronic devices can be realized through antenna 1, antenna 2, mobile communication module 350, wireless communication module 360, modem processor and baseband processor, etc.
[0358] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0359] The mobile communication module 350 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G in electronic devices. The mobile communication module 350 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 350 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 350 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 350 may be housed in the processor 310. In some embodiments, at least some functional modules of the mobile communication module 350 and at least some modules of the processor 310 may be housed in the same device.
[0360] In some embodiments, the electronic device initiates or receives call requests via the mobile communication module 350 and the antenna 1.
[0361] Furthermore, an operating system runs on top of the aforementioned components. Examples include iOS, Android, and Windows operating systems. Applications can be installed and run on this operating system. Those skilled in the art will understand that, for the sake of convenience and brevity, explanations and beneficial effects of the relevant content in any of the above-described electronic devices can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0362] This application also provides a communication system, which may include a first device (such as a network device such as a base station) as shown in FIG6 and a second device (such as a terminal device such as a mobile phone) as shown in FIG7.
[0363] In this application, the terminal device or network device may include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer may include hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also known as main memory). The operating system layer may be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer may include applications such as browsers, address books, word processing software, and instant messaging software.
[0364] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0365] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between devices or modules, and may be electrical, mechanical, or other forms.
[0366] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0367] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0368] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essential contribution of the technical solution of this application, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the processes of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.
[0369] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.