Control Method and Device for Uplink Data Transmission
By indicating the maximum uplink bit rate for the terminal device and optimizing resource allocation, the network congestion problem caused by the uplink data transmission of the terminal device is solved, and the rate control in the logical channel and network slices is realized, which improves resource utilization efficiency and network stability.
Patent Information
- Application Number
- CN201980101987.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-12-06
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2039-12-06
AI Technical Summary
How to effectively control the uplink data transmission of terminal devices to avoid network congestion, especially in different service requirements and rate overload problems within network slicing or PDU sessions.
The terminal device indicates the maximum uplink bit rate of each logical channel through the network device. The terminal device allocates uplink resources based on this bit rate, ensuring that the transmission rate within the logical channel and network slice or PDU session does not exceed the limit, and uses the token bucket algorithm and segmented processing of the SDU to optimize resource allocation.
Effectively reduce the risk of network congestion, avoid transmission rate overload in logical channels and network slices, improve resource allocation efficiency, simplify processes, and adapt to different business needs.
Smart Images

Figure CN114642051B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly, to a method and apparatus for controlling uplink data transmission. Background Art
[0002] With the development of mobile communication technology, various new services and application scenarios have emerged continuously. The requirements of these services for aspects such as network functions, connection performance, and security vary greatly.
[0003] How to control terminal devices to avoid network congestion is a problem worthy of consideration. Summary of the Invention
[0004] This application provides a method and apparatus for controlling uplink data transmission, in order to reduce the risk of network congestion.
[0005] In a first aspect, a method for controlling uplink data transmission is provided, including: a terminal device receives first information from a network device, where the first information is used to indicate the maximum uplink bit rate of each logical channel in at least one logical channel; the terminal device allocates uplink resources for all or part of the logical channels in the at least one logical channel based on the maximum uplink bit rate.
[0006] It should be understood that the maximum uplink bit rate of a logical channel represents the upper limit of the bit rate of the uplink transmission of the logical channel. Optionally, the above first information may be sent by the network device through radio resource control (RRC) signaling, such as the LogicalChannelConfig cell.
[0007] It should be understood that the above first information may carry the maximum uplink bit rate, or may carry the maximum amount of data that can be uplink transmitted within a specific time. The maximum amount of data that can be uplink transmitted within the specific time and the maximum uplink bit rate can be converted into each other.
[0008] The control method for uplink data transmission according to the embodiments of the present application instructs a terminal device by a network device of the maximum uplink bit rate of at least one logical channel, so that the terminal device limits the allocation of uplink resources for the logical channel based on the maximum uplink bit rate, thereby enabling rate control of the logical channel when the terminal device performs uplink transmission. It should be understood that for a logical channel, if the terminal device allocates more uplink resources for the logical channel, the uplink bit rate of the logical channel is higher; if the terminal device allocates fewer uplink resources for the logical channel, the uplink bit rate of the logical channel is lower. Therefore, the terminal device can allocate uplink resources for the logical channel based on the maximum uplink bit rate of the logical channel, so as to control the uplink bit rate of the logical channel not to exceed the maximum uplink bit rate of the logical channel, which is beneficial to reducing the risk of network congestion.
[0009] In a possible implementation manner, the method according to the embodiments of the present application is mainly applicable to the logical channel corresponding to a data radio bearer (DRB), that is, the above at least one logical channel is the logical channel corresponding to the DRB.
[0010] Combined with the first aspect, in some implementation manners of the first aspect, the above at least one logical channel corresponds to a network slice.
[0011] When the network device configures the maximum uplink bit rate of the logical channel for the terminal device, the sum of the maximum uplink bit rates of all logical channels corresponding to a network slice can be made less than or equal to the maximum uplink bit rate of the network slice.
[0012] The control method for uplink data transmission according to the embodiments of the present application configures the maximum uplink bit rate of the logical channel for the terminal device by the network device, ensures that the sum of the maximum uplink bit rates of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate within the network slice, and further realizes the control of the uplink transmission rate of the terminal device within the network slice, which is beneficial to avoiding the problem of overloading of the uplink transmission rate within the network slice when the terminal device performs uplink data transmission, and further reducing the risk of network congestion.
[0013] The above at least one logical channel may correspond to a network slice. The network device may indicate the maximum uplink bit rate of the at least one logical channel to the terminal device by the above first information. It should be understood that the maximum uplink bit rate of the logical channel is for a single logical channel, and the maximum uplink bit rate of a logical channel represents the upper limit of the bit rate of the uplink transmission of the logical channel. The maximum uplink bit rate of the network slice is for a single network slice, and the maximum uplink bit rate of a network slice represents the upper limit of the bit rates of the uplink transmissions of all logical channels corresponding to the network slice.
[0014] In combination with the first aspect, in some implementations of the first aspect, the above at least one logical channel corresponds to a protocol data unit (PDU) session.
[0015] When the network device configures the maximum uplink bitrate of a logical channel for the terminal device, the sum of the maximum uplink bitrates of all logical channels corresponding to a PDU session can be made less than or equal to the maximum uplink bitrate of the PDU session. It should be understood that the maximum uplink bitrate of a PDU session is for a single PDU session, and the maximum uplink bitrate of a PDU session represents the upper limit of the uplink transmission bitrate of all logical channels corresponding to the PDU session.
[0016] The uplink data transmission control method of the embodiments of the present application configures the maximum uplink bitrate of a logical channel for the terminal device by the network device, ensures that the sum of the maximum uplink bitrates of all logical channels corresponding to a PDU session is less than or equal to the maximum uplink bitrate of the PDU session, and further realizes the control of the uplink transmission rate of the terminal device within the PDU session, which is beneficial to avoiding the problem of uplink transmission rate overload within the PDU session when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0017] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates uplink resources for all or part of the at least one logical channel based on the maximum uplink bitrate, including: the terminal device allocates uplink resources for all or part of the at least one logical channel based on the priority bitrate and the maximum uplink bitrate of the at least one logical channel.
[0018] In this way, by referring to the priority bitrate and the maximum uplink bitrate of the logical channel, not only the problem that the low-priority logical channel cannot always be served is avoided, but also the uplink transmission rate of the logical channel can be limited not to exceed the transmission rate upper limit of the logical channel, reducing the risk of network congestion.
[0019] In a possible implementation, since the maximum uplink bitrate of a logical channel is the upper limit of the uplink transmission bitrate of the logical channel, the maximum uplink bitrate of a logical channel can be greater than or equal to the priority bitrate of the logical channel.
[0020] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates uplink resources for all or part of the at least one logical channel based on the priority bit rate and the maximum uplink bit rate of the logical channel, including: the terminal device allocates uplink resources for the at least one logical channel based on the priority bit rate of the logical channel; if there are remaining uplink resources and the first logical channel among the at least one logical channel still has data to be transmitted, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel until any one of the following conditions is met: the first logical channel has no data to be transmitted, or the remaining uplink resources are exhausted, or the uplink bit rate of the first logical channel reaches the maximum uplink bit rate of the first logical channel.
[0021] In one example, the terminal device may allocate uplink resources for the logical channel with reference to the token bucket algorithm. That is, the terminal device may first perform the first-round allocation and allocate uplink resources for the logical channel based on the priority bit rate of the logical channel until any one of the following conditions is met: the uplink bit rate of the logical channel reaches the limit of the priority bit rate of the logical channel, or the uplink resources are exhausted. After the first-round allocation, from the perspective of time averaging, the uplink bit rate of the logical channel is less than or equal to the priority bit rate of the logical channel. In the case where the above logical channel includes multiple logical channels, the terminal device may allocate uplink resources for the multiple logical channels in descending order of priority with reference to the priority bit rates of the multiple logical channels until any one of the following conditions is met: the uplink bit rates of the multiple logical channels all reach the limits of their respective priority bit rates, or the uplink resources are exhausted, so that from the perspective of time averaging, the uplink bit rates of the multiple logical channels are less than or equal to their respective priority bit rates.
[0022] After the first-round allocation is completed, if there are still remaining uplink resources and the first logical channel among the above logical channels still has data to be transmitted, the terminal device may perform the second-round allocation. It should be understood that the first logical channel is a logical channel among the logical channels with data to be transmitted, and the uplink bit rate of which is less than the maximum uplink bit rate of the logical channel. For all logical channels that have reached the maximum uplink bit rate in the first-round allocation, regardless of whether there is still data to be sent, the second-round allocation is no longer performed.
[0023] The terminal device may allocate the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, that is, the UMBR of the first logical channel, until any one of the following conditions is met: the first logical channel has no data to be transmitted, or the remaining uplink resources are exhausted, so that from the perspective of time averaging, the uplink bit rate of the first logical channel is less than or equal to the UMBR of the first logical channel. The above first logical channel may be a single logical channel or may include multiple logical channels.
[0024] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, including: if the sum of the uplink bit rate of the first service data unit (SDU) that is not multiplexed into the protocol data unit (PDU) in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is less than or equal to the maximum uplink bit rate of the first logical channel, the terminal device multiplexes the first SDU into the PDU.
[0025] In this way, when the terminal device allocates uplink resources, it can try not to segment the SDU as much as possible, limit the uplink transmission rate of the logical channel not to exceed the upper limit of the transmission rate of the logical channel, reduce the risk of network congestion, and at the same time, it can also simplify some unnecessary processes and improve the efficiency of resource allocation of the terminal device.
[0026] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, including: if the sum of the uplink bit rate of the first SDU that is not multiplexed into the PDU in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is greater than the maximum uplink bit rate of the first logical channel, the terminal device segments the first SDU to obtain a first sub-SDU and multiplexes the first sub-SDU into the PDU.
[0027] In this way, if the SDU is too large to meet the limit of the maximum uplink bit rate of the first logical channel, the terminal device can segment the SDU to obtain a sub-SDU, so that it can multiplex the segmented sub-SDU into the PDU on the premise of meeting the maximum uplink bit rate of the first logical channel. In other words, for a larger SDU, the terminal device can perform multiplexing through segmentation operations, thereby increasing the amount of data transmitted uplink on the first logical channel.
[0028] Furthermore, when segmenting the SDU, the terminal device can try to multiplex the larger SDU segments into the PDU, that is, try to make the cumulative uplink bit rate of the third network slice equal to the maximum uplink bit rate of the third network slice after multiplexing the segmented sub-SDUs into the PDU, thereby maximizing the data transmission of the logical channel.
[0029] In combination with the first aspect, in some implementations of the first aspect, the first logical channel includes at least two logical channels, and the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, including: the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the at least two logical channels in descending order of the priorities of the at least two logical channels until any one of the following conditions is met: there is no data to be transmitted on the at least two logical channels, or the remaining uplink resources are exhausted, or the uplink bit rate of the at least two logical channels reaches the limit of the maximum uplink bit rate of the at least two logical channels.
[0030] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the at least two logical channels in descending order of the priorities of the at least two logical channels, including: if the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is less than or equal to the maximum uplink bit rate of the second logical channel, the terminal device multiplexes the third SDU into the PDU, and the second logical channel is the logical channel with the highest priority among the at least two logical channels.
[0031] In this way, when the terminal device allocates uplink resources, it can try not to segment the SDU as much as possible, can limit the uplink transmission rate of the logical channel not to exceed the upper limit of the transmission rate of the logical channel, reduce the risk of network congestion, and at the same time, can also simplify some unnecessary processes and improve the efficiency of resource allocation of the terminal device.
[0032] In combination with the first aspect, in some implementations of the first aspect, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the at least two logical channels in descending order of the priorities of the at least two logical channels, including: if the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is greater than the maximum uplink bit rate of the second logical channel, the terminal device segments the third SDU to obtain third sub-SDUs and multiplexes the third sub-SDUs into the PDU, and the second logical channel is the logical channel with the highest priority among the at least two logical channels.
[0033] Thus, if the SDU is too large to meet the maximum uplink bitrate limit of the second logical channel, the terminal device can segment the SDU to obtain sub-SDUs, so that the segmented sub-SDUs can be multiplexed into the PDU while meeting the maximum uplink bitrate of the second logical channel. In other words, for a large SDU, the terminal device can perform multiplexing through segmentation operations, thereby increasing the amount of data transmitted uplink on the second logical channel.
[0034] Further, when segmenting the SDU, the terminal device can try to segment and multiplex larger SDUs into the PDU, that is, try to make the cumulative uplink bitrate of the third network slice equal to the maximum uplink bitrate of the third network slice after multiplexing the segmented sub-SDUs into the PDU, thereby maximizing the data transmission on the logical channel.
[0035] After the terminal device allocates uplink resources for the second logical channel according to the above method, if there are still remaining uplink resources, the terminal device can continue to allocate uplink resources for the logical channel with the next priority, and the logical channel with the next priority refers to the logical channel with the next priority to the second logical channel among the above at least two logical channels.
[0036] In a second aspect, another method for controlling uplink data transmission is provided, including: the network device determines first information, and the first information is used to indicate the maximum uplink bitrate of each logical channel in at least one logical channel; the network device sends the first information to the terminal device.
[0037] In combination with the second aspect, in some implementation manners of the second aspect, after the network device sends the first information to the terminal device, the method further includes: the network device receives a protocol data unit PDU from the terminal device, and the PDU includes data from all or part of the logical channels in at least one logical channel, and the data from all or part of the logical channels is multiplexed into the PDU based on the maximum uplink bitrate.
[0038] Optionally, after the network device receives the PDU from the terminal device, it can parse the PDU to obtain the data of the logical channel.
[0039] In combination with the second aspect, in some implementation manners of the second aspect, the at least one logical channel corresponds to a network slice.
[0040] In combination with the second aspect, in some implementation manners of the second aspect, the at least one logical channel corresponds to a PDU session.
[0041] In a third aspect, another method for controlling uplink data transmission is provided, including: a terminal device determines a priority bit rate of a logical channel and a maximum uplink bit rate of a network slice, where the logical channel corresponds to the network slice; the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice.
[0042] In the method for controlling uplink data transmission according to the embodiments of the present application, the terminal device allocates uplink resources for the logical channel based on the maximum uplink bit rate of the network slice, ensuring that the sum of the uplink bit rates of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate within the network slice, thereby realizing the control of the uplink transmission rate of the terminal device within the network slice, which is beneficial to avoiding the problem of overloading of the uplink transmission rate within the network slice when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0043] The above-mentioned logical channel may include one or more logical channels, and the one or more logical channels correspond to one or more network slices. Exemplarily, assume that there are three logical channels, namely: logical channel 1, logical channel 2, and logical channel 3. The three logical channels may correspond to two network slices, that is, logical channel 1 and logical channel 2 correspond to network slice 1, and logical channel 3 corresponds to network slice 2. It should be understood that the maximum uplink bit rate of a network slice is for a single network slice, and the maximum uplink bit rate of a network slice represents the upper limit of the bit rate of the uplink transmission of all logical channels corresponding to the network slice.
[0044] In combination with the third aspect, in some implementation manners of the third aspect, the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, including: the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice until any one of the following conditions is satisfied: the uplink bit rate of the logical channel reaches the limit of the priority bit rate of the logical channel, or the uplink bit rate of the network slice exceeds the maximum uplink bit rate of the network slice, or the uplink resources are exhausted.
[0045] In combination with the third aspect, in some implementation manners of the third aspect, the foregoing logical channel includes at least two logical channels. The terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, including: The terminal device allocates uplink resources for the at least two logical channels in a decreasing order of the priorities of the at least two logical channels based on the priority bit rate of the at least two logical channels and the maximum uplink bit rate of the network slice, until any one of the following conditions is satisfied: the uplink bit rates of the at least two logical channels all reach the limits of the priority bit rates of the at least two logical channels, or the uplink bit rate of the network slice corresponding to the at least two logical channels reaches the limit of the uplink bit rate of the network slice corresponding to the at least two logical channels, or the uplink resources are exhausted.
[0046] Specifically, the foregoing allocation process is the first-round allocation, that is, the terminal device can allocate uplink resources for the logical channel with reference to the new token bucket algorithm proposed in this application, which can make the uplink bit rates of the multiple logical channels less than or equal to their respective priority bit rates from the perspective of time average, and the uplink bit rates of each network slice less than or equal to their respective maximum uplink bit rates from the perspective of time average.
[0047] In combination with the third aspect, in some implementation manners of the third aspect, the terminal device allocates uplink resources for the at least two logical channels in a decreasing order of the priorities of the at least two logical channels based on the priority bit rate of the at least two logical channels and the maximum uplink bit rate of the network slice, including: When the number of tokens corresponding to the first logical channel in the at least two logical channels is greater than 0, the terminal device determines the cumulative uplink bit rate of the first network slice in the network slice corresponding to the first logical channel after multiplexing the first service data unit (SDU) of the first logical channel in the at least two logical channels into the protocol data unit (PDU), where the first logical channel is the logical channel with the highest priority in the at least two logical channels; if the cumulative uplink bit rate of the first network slice is less than or equal to the maximum uplink bit rate of the first network slice, the terminal device multiplexes the first SDU into the PDU.
[0048] In combination with the third aspect, in some implementation manners of the third aspect, the terminal device allocates uplink resources for the at least two logical channels in a decreasing order of priorities of the at least two logical channels based on the priority bit rates of the at least two logical channels and the maximum uplink bit rate of the network slice, including: when the number of tokens corresponding to a first logical channel among the at least two logical channels is greater than 0, the terminal device determines the cumulative uplink bit rate of a first network slice in the network slice corresponding to the first logical channel after multiplexing a first SDU of the first logical channel among the at least two logical channels into a PDU, where the first logical channel is the logical channel with the highest priority among the at least two logical channels; if the cumulative uplink bit rate of the first network slice is greater than the maximum uplink bit rate of the first network slice, and the number of tokens corresponding to a second logical channel among the at least two logical channels is greater than 0, the terminal device determines the cumulative uplink bit rate of a second network slice in the network slice corresponding to the second logical channel after multiplexing a second SDU of the second logical channel into the PDU, where the second logical channel is the logical channel with the next highest priority after the first logical channel among the at least two logical channels; if the cumulative uplink bit rate of the second network slice is less than or equal to the maximum uplink bit rate of the second network slice, the terminal device multiplexes the second SDU into the PDU.
[0049] Specifically, in the process of the first round of allocation, the terminal device allocates uplink resources for the first logical channel with the highest priority in a decreasing order of priorities of the at least two logical channels. If the cumulative uplink bit rate of the first network slice corresponding to the first logical channel exceeds the limit of the maximum uplink bit rate of the first network slice, the terminal device then allocates uplink resources for the logical channel with the next highest priority (i.e., the second logical channel).
[0050] It should be understood that the first network slice corresponding to the first logical channel and the second network slice corresponding to the second logical channel may be the same or different, that is, the first logical channel and the second logical channel may correspond to the same network slice or different network slices. The embodiments of the present application do not make any limitations thereto.
[0051] In combination with the third aspect, in some implementation manners of the third aspect, the cumulative uplink bit rate of the first network slice is determined based on the length of the sliding time window of the first network slice and the cumulative data volume of the first network slice in the sliding time window. The cumulative data volume of the first network slice in the sliding time window is the sum of the data volumes transmitted by all logical channels of the first network slice within a first time period from the current moment forward, and the length of the first time period is the length of the sliding time window.
[0052] Since the rate limit is a concept in terms of average time, for a single TTI, the restriction is relatively strong and the flexibility is relatively low. Therefore, by setting a sliding time window, the cumulative data volume of the network slice in the latest period (which can include multiple TTIs) can be obtained, which is more conducive to implementing the restriction on the uplink bit rate of the network slice and improving the calculation flexibility of the uplink bit rate of the network slice.
[0053] It should be understood that the length of the sliding time window of the network slice can be pre-obtained by the terminal device. Specifically, the length of the sliding time window of the network slice can be configured by the network device for the terminal device, or defined by the protocol. The embodiments of the present application do not make any limitations thereto.
[0054] Combined with the third aspect, in some implementation manners of the third aspect, the method further includes: the terminal device receives second information sent by the network device, and the second information is used to indicate the length of the sliding time window of the first network slice.
[0055] It should be understood that the lengths of the sliding time windows corresponding to multiple network slices can be the same or different. If the lengths of the sliding time windows corresponding to multiple network slices are the same, the network device can indicate the length through one piece of second information. If the lengths of the sliding time windows corresponding to multiple network slices are different, the network device can indicate the identifier of the network slice and the length of the sliding time window of the network slice through the second information, so that the length of the sliding time window of the network slice corresponds to the identifier of the network slice. For example, the above-mentioned second information can indicate length 1, length 2, and length 3, and indicate that length 1 corresponds to network slice 1, length 2 corresponds to network slice 2, and length 3 corresponds to network slice 3.
[0056] Combined with the third aspect, in some implementation manners of the third aspect, after the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, the method further includes: if there are remaining uplink resources and there is still data to be transmitted in the third logical channel in the logical channel, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted in the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0057] After the first round of allocation is completed, if there are still remaining uplink resources and there is still data to be transmitted on the third logical channel among the above logical channels, the terminal device may perform a second round of allocation. It should be understood that the third logical channel is the logical channel in which the cumulative uplink bit rate of the corresponding network slice is less than the maximum uplink bit rate of the network slice among the logical channels with data still to be transmitted. For all logical channels corresponding to the network slices that have reached the maximum uplink bit rate in the first round of allocation, regardless of whether there is still data to be sent, the second round of allocation is no longer performed.
[0058] The terminal device may allocate the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted on the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel. The above third logical channel may be a single logical channel or may include multiple logical channels, and the network slice corresponding to the third logical channel may be a single network slice or may be multiple network slices.
[0059] Combined with the third aspect, in some implementation manners of the third aspect, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: if after multiplexing the third SDU that is not multiplexed to the PDU in the third logical channel to the PDU, the cumulative uplink bit rate of the third network slice in the network slice corresponding to the third logical channel is less than or equal to the maximum uplink bit rate of the third network slice, the terminal device multiplexes the third SDU to the PDU; or, if after multiplexing the third SDU to the PDU, the cumulative uplink bit rate of the third network slice is greater than the maximum uplink bit rate of the third network slice, the terminal device performs segmentation processing on the third SDU to obtain a third sub-SDU and multiplexes the third sub-SDU to the PDU.
[0060] In this way, when allocating uplink resources, the terminal device can try not to segment the SDU as much as possible, and when segmenting the SDU, try to multiplex the larger segmented SDUs to the PDU, so as to maximize the data transmission of the logical channel.
[0061] In combination with the third aspect, in some implementation manners of the third aspect, the third logical channel includes at least two logical channels, and the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: the terminal device allocates the remaining uplink resources in the decreasing order of the priorities of the third logical channel based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is satisfied: there is no data to be transmitted on the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0062] In combination with the third aspect, in some implementation manners of the third aspect, the terminal device allocates the remaining uplink resources in the decreasing order of the priorities of the third logical channel based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: if after multiplexing the fourth SDU that has not been multiplexed into the PDU in the fourth logical channel into the PDU, the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is less than or equal to the maximum uplink bit rate of the fourth network slice, the terminal device multiplexes the fourth SDU into the PDU, and the fourth logical channel is the logical channel with the highest priority in the third logical channel.
[0063] In combination with the third aspect, in some implementation manners of the third aspect, the terminal device allocates the remaining uplink resources in the decreasing order of the priorities of the third logical channel based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: if after multiplexing the fourth SDU that has not been multiplexed into the PDU in the fourth logical channel into the PDU, the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is greater than the maximum uplink bit rate of the fourth network slice, the terminal device performs segmentation processing on the fourth SDU to obtain fourth sub-SDUs, and multiplexes the fourth sub-SDUs into the PDU, and the fourth logical channel is the logical channel with the highest priority in the third logical channel.
[0064] In this way, when the terminal device allocates uplink resources, it can try not to segment the SDU as much as possible, and when segmenting the SDU, it can try to multiplex the larger segmented SDU into the PDU, so as to maximize the data transmission of the logical channel.
[0065] After the terminal device allocates uplink resources for the fourth logical channel according to the above method, if there are still remaining uplink resources, the terminal device can continue to allocate uplink resources for the logical channel with the next priority, and the logical channel with the next priority refers to the logical channel with the next priority to the fourth logical channel among the above at least two logical channels.
[0066] In a fourth aspect, another method for controlling uplink data transmission is provided, including: A network device receives a protocol data unit (PDU) from a terminal device, where the PDU includes data from a logical channel corresponding to a network slice, and the data of the logical channel is multiplexed into the PDU based on a priority bit rate of the logical channel and a maximum uplink bit rate of the network slice; The network device parses the PDU to obtain the data of the logical channel.
[0067] In combination with the fourth aspect, in some implementation manners of the fourth aspect, before the network device receives a protocol data unit (PDU) from a terminal device, the method further includes: The network device determines a length of a sliding time window of the network slice; The network device sends second information to the terminal device, where the second information is used to indicate the length of the sliding time window of the network slice.
[0068] In combination with the fourth aspect, in some implementation manners of the fourth aspect, the second information includes an identifier of the network slice and the length of the sliding time window of the network slice, and the length of the sliding time window of the network slice corresponds to the identifier of the network slice.
[0069] In combination with the fourth aspect, in some implementation manners of the fourth aspect, the network device determines the length of the sliding time window of the network slice, including: The network device determines the length of the sliding time window of the network slice based on the type of the network slice.
[0070] Optionally, the network device may determine the length of the sliding time window of the network slice based on the type of the network slice. For example, for a network slice of a delay-sensitive service, the length of the sliding time window is shorter; for a network slice of a delay-insensitive service, the length of the sliding time window is longer.
[0071] In this way, the network device can set different lengths of sliding time windows for different types of network slices to adapt to different service characteristics, so as to flexibly adapt to multiple service scenarios.
[0072] In a fifth aspect, a control apparatus for uplink data transmission is provided, which is used to execute the method in any one of the possible implementation manners in the above aspects. Specifically, the apparatus includes units for executing the method in any one of the possible implementation manners in the above aspects.
[0073] In a sixth aspect, another control device for uplink data transmission is provided, including a processor coupled to a memory and capable of executing instructions in the memory to implement the method in the first aspect or any possible implementation manner of the first aspect, or the method in the third aspect or any possible implementation manner of the third aspect. In a possible implementation manner, the device further includes a memory. In a possible implementation manner, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0074] In one implementation manner, the device is a terminal device. When the device is a terminal device, the communication interface may be a transceiver or an input / output interface.
[0075] In another implementation manner, the device is a chip configured in a terminal device. When the device is a chip configured in a terminal device, the communication interface may be an input / output interface.
[0076] In a seventh aspect, another control device for uplink data transmission is provided, including a processor coupled to a memory and capable of executing instructions in the memory to implement the method in the second aspect or any possible implementation manner of the second aspect, or the method in the fourth aspect or any possible implementation manner of the fourth aspect. In a possible implementation manner, the device further includes a memory. In a possible implementation manner, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0077] In one implementation manner, the device is a network device. When the device is a network device, the communication interface may be a transceiver or an input / output interface.
[0078] In another implementation manner, the device is a chip configured in a network device. When the device is a chip configured in a network device, the communication interface may be an input / output interface.
[0079] In an eighth aspect, a processor is provided, including: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in any possible implementation manner of the above aspects.
[0080] In a specific implementation process, the above-mentioned processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be transistors, gate circuits, flip-flops, and various logic circuits, etc. The input signal received by the input circuit may be received and input by, for example but not limited to, a receiver. The signal output by the output circuit may be output to, for example but not limited to, a transmitter and transmitted by the transmitter. Moreover, the input circuit and the output circuit may be the same circuit, which serves as the input circuit and the output circuit at different times respectively. This application does not limit the specific implementation manners of the processor and various circuits.
[0081] In a ninth aspect, a processing device is provided, including a processor and a memory. The processor is configured to read instructions stored in the memory, and may receive signals through a receiver and transmit signals through a transmitter to execute the method in any possible implementation manner of the above aspects.
[0082] In a possible implementation manner, there is one or more processors and one or more memories.
[0083] In a possible implementation manner, the memory may be integrated with the processor or separately provided from the processor.
[0084] In a specific implementation process, the memory may be a non-transitory memory, such as a read only memory (ROM). It may be integrated with the processor on the same chip or separately provided on different chips. This application does not limit the type of the memory and the setting manner of the memory and the processor.
[0085] It should be understood that relevant data interaction processes, such as sending indication information, may be a process of outputting indication information from the processor, and receiving capability information may be a process of the processor receiving input capability information. Specifically, the data processed and output may be output to the transmitter, and the input data received by the processor may come from the receiver. Among them, the transmitter and the receiver may be collectively referred to as a transceiver.
[0086] The above-mentioned processing device may be a chip. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor, which is implemented by reading software code stored in the memory. The memory may be integrated in the processor or exist independently outside the processor.
[0087] In a tenth aspect, a computer program product is provided, which includes a computer program (which may also be referred to as code or instructions). When the computer program is run, it causes a computer to execute the method in any one of the possible implementation manners in the above aspects.
[0088] In an eleventh aspect, a computer-readable storage medium is provided, which stores a computer program (which may also be referred to as code or instructions). When it runs on a computer, it causes the computer to execute the method in any one of the possible implementation manners in the above aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0089] Figure 1 A schematic diagram of a communication system according to an embodiment of the present application is shown;
[0090] Figure 2 A schematic diagram showing the correspondence between network slices and PDU sessions is shown;
[0091] Figure 3 A schematic flowchart of the token bucket algorithm is shown;
[0092] Figure 4 A schematic diagram showing the allocation result of uplink resources based on the token bucket algorithm is shown;
[0093] Figure 5 A schematic flowchart of a method for controlling uplink data transmission according to an embodiment of the present application is shown;
[0094] Figure 6 A schematic diagram showing the allocation result of uplink resources according to an embodiment of the present application is shown;
[0095] Figure 7 A schematic flowchart of another method for controlling uplink data transmission according to an embodiment of the present application is shown;
[0096] Figure 8 A schematic flowchart of the token bucket algorithm according to an embodiment of the present application is shown;
[0097] Figure 9 A schematic diagram of a sliding time window according to an embodiment of the present application is shown;
[0098] Figure 10 A schematic diagram showing the allocation result of another uplink resource according to an embodiment of the present application is shown;
[0099] Figure 11 A schematic diagram showing the allocation result of another uplink resource according to an embodiment of the present application is shown;
[0100] Figure 12 A schematic block diagram of a device for controlling uplink data transmission according to an embodiment of the present application is shown;
[0101] Figure 13 shows a schematic block diagram of another control device for uplink data transmission according to an embodiment of the present application;
[0102] Figure 14 shows a schematic structural diagram of a terminal device according to an embodiment of the present application. Detailed implementation manners
[0103] Next, the technical solutions in the present application will be described with reference to the accompanying drawings.
[0104] The technical solutions provided by the present application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5th generation (5G) mobile communication systems, New Radio (NR) systems or other evolved communication systems, as well as the next generation mobile communication systems of 5G communication systems, etc.
[0105] To facilitate understanding of the technical solutions provided by the present application, first, in combination with Figure 1 a communication system applicable to the embodiments of the present application will be described in detail. Figure 1 shows a schematic diagram of a communication system 100 for an uplink data transmission control method and device according to an embodiment of the present application. As Figure 1 shown, the communication system 100 may include at least one network device, such as Figure 1 the network device 110 shown; the communication system 100 may further include at least one terminal device, such as Figure 1 the terminal device 120 shown. The network device 110 and the terminal device 120 may communicate via a wireless link. Each communication device, such as the network device 110 or the terminal device 120, may be configured with multiple antennas, and the multiple antennas may include at least one transmit antenna for transmitting signals and at least one receive antenna for receiving signals. Additionally, each communication device further includes a transmitter chain and a receiver chain, and those of ordinary skill in the art can understand that they may each include multiple components related to signal transmission and signal reception (such as a processor, a modulator, a multiplexer, a demodulator, a demultiplexer, or an antenna, etc.). Therefore, the network device 110 and the terminal device 120 may communicate via multi-antenna technology.
[0106] The terminal device in the embodiments of the present application may also be referred to as: user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal, user unit, user station, mobile station, mobile platform, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device, etc.
[0107] The terminal device may be a device that provides voice / data connectivity to users. For example, it can be a handheld device with wireless connection capabilities, in-vehicle device, etc. Currently, some examples of terminal devices include: mobile phone, tablet computer, laptop computer, palmtop computer, mobile internet device (MID), wearable device, virtual reality (VR) device, augmented reality (AR) device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device, or other processing devices connected to a wireless modem, in-vehicle device, wearable device, terminal device in a 5G network, or terminal device in a future evolved public land mobile network (PLMN). The present application is not limited thereto.
[0108] By way of example and not limitation, in the present application, the terminal device may be a terminal device in an Internet of Things (IoT) system. The Internet of Things is an important part of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-object interconnection. Exemplarily, the terminal device in the embodiments of the present application may be a wearable device. A wearable device, also known as a wearable intelligent device, is a general term for devices developed by applying wearable technology to the intelligent design of daily wear, such as glasses, gloves, watches, clothing, and shoes. A wearable device is a portable device that can be directly worn on the body or integrated into the user's clothes or accessories. A wearable device is not only a hardware device, but can also achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable intelligent devices include those with complete functions and large sizes that can achieve complete or partial functions without relying on a smartphone, such as smart watches or smart glasses, etc., and those that only focus on a certain type of application function and need to cooperate with other devices such as smartphones, such as various smart bracelets and smart jewelry for physical sign monitoring.
[0109] By way of example and not limitation, in the embodiments of the present application, the terminal device may also be a terminal device in machine type communication (MTC). In addition, the terminal device may also be an in-vehicle module, in-vehicle module group, in-vehicle component, in-vehicle chip, or in-vehicle unit that is built into a vehicle as one or more components or units. The vehicle can implement the method provided in the present application through the built-in in-vehicle module, in-vehicle module group, in-vehicle component, in-vehicle chip, or in-vehicle unit, etc. Therefore, the embodiments of the present application can also be applied to vehicle networking, such as vehicle-to-everything (V2X), long term evolution-vehicle (LTE-V), vehicle-to-vehicle (V2V) technology, etc.
[0110] The network device involved in this application can be a device that communicates with a terminal device. This network device can also be referred to as an access network device or a radio access network device. It can be a transmission reception point (TRP), or an evolved NodeB (eNB or eNodeB) in an LTE system, or a home base station (e.g., home evolved NodeB, or home Node B, HNB), a base band unit (BBU), or a radio controller in a cloud radio access network (CRAN) scenario. Or this network device can be a relay station, an access point, a vehicle-mounted device, a wearable device, and a network device in a 5G network or a network device in a future evolved PLMN network, etc. It can also be an access point (AP) in a WLAN, or a gNB in an NR system. The above network device can also be an urban base station, a micro base station, a pico base station, a femto base station, etc. This application does not make any limitations in this regard.
[0111] In a network structure, the network device can include a centralized unit (CU) node, or a distributed unit (DU) node, or a radio access network (RAN) device including a CU node and a DU node, or a RAN device including a control plane CU node (CU-CP node), a user plane CU node (CU-UP node), and a DU node.
[0112] The network device serves a cell, and the terminal device communicates with the cell through the transmission resources (e.g., frequency domain resources, or in other words, spectrum resources) allocated by the network device. This cell can belong to a macro base station (e.g., macro eNB or macro gNB, etc.), or a base station corresponding to a small cell. Here, the small cell can include: metrocell, micro cell, pico cell, femto cell, etc. These small cells have the characteristics of small coverage range and low transmit power, and are suitable for providing high-rate data transmission services.
[0113] It should be understood that the above Figure 1 is only a schematic diagram, and the communication system 100 may also include other devices not shown. In addition, the embodiments of this application do not limit the number of terminal devices and network devices included in the communication system 100.
[0114] In the embodiments of the present application, a terminal device or a network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also referred to as main memory). The operating system can be any one or more computer operating systems that implement service processing through processes. For example, Linux operating system, Unix operating system, Android operating system, iOS operating system, or Windows operating system, etc. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. Moreover, the present application does not particularly limit the specific structure of the execution subject of the method provided by the present application. As long as it can communicate according to the method provided by the embodiments of the present application by running a program recording the code of the method provided by the present application. For example, the execution subject of the method provided by the embodiments of the present application can be a terminal device or a network device, or a functional module in the terminal device or the network device that can call and execute the program.
[0115] In addition, various aspects or features of the present application can be implemented as a method, an apparatus, or an article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" used in the present application covers a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable storage media can include, but are not limited to: magnetic storage devices (such as hard disks, floppy disks, or magnetic tapes, etc.), optical discs (such as compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards, and flash memory devices (such as erasable programmable read-only memories (EPROMs), cards, sticks, or key drives, etc.). In addition, the various storage media described herein can represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" can include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0116] To facilitate the understanding of the embodiments of the present application, the terms involved in the present application are briefly described first.
[0117] 1. Network slicing (NS)
[0118] A network slice is an end-to-end logical dedicated network that provides specific network capabilities. Through flexible allocation of network resources and on-demand network construction, multiple logical subnets with different characteristics and isolated from each other can be virtualized on the same set of physical facilities to provide targeted services for users. This logical subnet is called a network slice. Network slices can be used by operators to provide mutually isolated and functionally customizable network services for different vertical industries, different customers, and different services based on the service level agreement (SLA) signed with customers. Different network slices can be identified and distinguished by single network slice selection assistance information (S-NSSAI).
[0119] Network slices can include radio access network slices, transport network slices, and core network slices. End devices can establish connections with network slices through PDU sessions. The traffic of different network slices is managed by different PDU sessions. One PDU session belongs to one network slice. Multiple PDU sessions can exist in a single network slice, and PDU sessions in different network slices are isolated from each other. In addition, different and mutually isolated radio bearers (RBs) can be configured for different network slices. One RB can correspond to one logical channel (LCH) or multiple LCHs. Similar to PDU sessions, the diversity of quality of service (QoS) is also supported within network slices. In summary, one network slice can include one or more PDU sessions, one PDU session can include one or more RBs, and one or more QoS flows. Figure 2 A schematic diagram showing the correspondence between network slices and PDU sessions is shown. In Figure 2Among them, the UE and the NB belong to the next generation radio access network (NG-RAN). The NB may include eNB and gNB, and may also include other NBs, which are not limited here. The user plane function (UPF) network element on the right side of the NB belongs to the 5G core network (5GC). There is a PDU session in network slice 1 (NS#1). This PDU session includes 2 RBs and 1 NG-U tunnel, and this NG-U tunnel includes 3 QoS flows. There is a PDU session in network slice 2 (NS#2). This PDU session includes 1 RB and 1 NG-U tunnel, and this NG-U tunnel includes 1 QoS flow. Among them, the NG-U tunnel refers to the user plane tunnel between the gNB and the UPF (N3 interface), which may contain one or more QoS flows, and one PDU session corresponds to one NG-U tunnel.
[0120] 2. Service Data Unit SDU, Protocol Data Unit PDU and Medium Access Control (MAC) Layer Multiplexing
[0121] The service data unit (SDU), also called the service data unit, is a dataset of the user service of a specified layer. After being sent to the next layer, the next layer encapsulates it in a protocol data unit (PDU) and sends it out. For each layer, the information unit from a higher layer is called the SDU of this layer, and the information unit processed by this layer and sent to the next layer is called the PDU of this layer. The SDU is an information unit that comes from a higher protocol layer and is transmitted to a lower protocol layer. For example, the SDU of the Nth layer and the PDU of the layer above the Nth layer are in one-to-one correspondence.
[0122] Specifically, the SDU refers to the amount of information received from the N+1 layer entity that has not been processed by the N layer entity and retains its identity.
[0123] The PDU refers to a specific data unit at the N protocol layer, including the protocol control information of the N protocol layer and the possible user data of the N protocol layer.
[0124] The sending end can multiplex the data of multiple logical channels into one transport channel (TCH) through the multiplexing function of the MAC layer, that is, multiplex multiple MAC SDUs into one MAC PDU and send it out through the physical layer.
[0125] Multiplexing / demultiplexing of MAC SDUs belonging to one or different logical channels into / from transport blocks (TB) delivered to / from the physical layer on transport channels.
[0126] For ease of description, hereinafter, the process that the sender multiplexes multiple MAC SDUs into one MAC PDU through the MAC layer is simply referred to as "MAC layer multiplexing" or "multiplexing SDUs into PDUs". It should be understood that the terminal device can only send one MAC PDU in one transmission time interval (TTI) (without considering spatial division multiplexing and carrier aggregation). Therefore, it is necessary to multiplex the MAC SDUs of multiple logical channels onto the same MAC PDU, which is the origin of MAC layer multiplexing.
[0127] When multiple logical channels have data to be sent and the total amount of data of these multiple logical channels exceeds the transmission capacity of the current TTI, the problem of which logical channel should be given priority for transmission arises, and it is necessary to determine the priority of the logical channels. In downlink transmission, the network device can determine the priority of the logical channels according to the type of the logical channels and the QoS parameters carried by the logical channels. The logical channel with a higher priority has a higher probability of being multiplexed by the MAC layer and can obtain more transmission opportunities, which means a higher transmission rate or a lower transmission delay. In uplink transmission, the network device can allocate uplink resources according to the request of the terminal device and the amount of data to be sent. However, the uplink resources allocated by the network device are for the terminal device, not for the logical channels. The following mainly elaborates on the uplink situation in detail. Since the SDU comes from the logical channel, for uplink transmission, "MAC layer multiplexing" can be understood as "the terminal device allocates uplink resources for the logical channels".
[0128] When the terminal device has uplink data to send, the terminal device can inform the network device through a buffer status report (BSR) how much data in its uplink buffer needs to be sent, so that the network device can configure uplink resources for the terminal device. To reduce the number of information bits transmitted in the air interface, the protocol stipulates that each logical channel group (LCG) corresponds to a BSR value, and each logical channel group includes one or more logical channels. The division of LCGs may vary according to the implementations of different manufacturers. Generally speaking, the services carried on the logical channels within the same LCG will have approximate QoS requirements, which may result in logical channels of different network slices being included within a single LCG, thereby causing the network device to be unable to obtain the data volume information of each network slice based on the BSR. After the terminal device reports the BSR, the network device can allocate uplink resources for the terminal device according to the BSR, but does not specify which logical channels the allocated uplink resources are used for. After obtaining the uplink resources, the terminal device can multiplex the MAC SDUs from each logical channel into the MAC PDU according to the priority of the logical channels and then send them out through the physical layer.
[0129] To avoid the problem that low-priority logical channels are never served, the network device sets a prioritized bit rate (PBR) for each logical channel of the terminal device, with the unit of kB / s, to ensure that the terminal device restricts the transmission rate of high-priority logical channels among all logical channels, so that low-priority logical channels with data transmission among all logical channels can be served. That is to say, if the data transmission rate of a high-priority logical channel is greater than or equal to the PBR of that logical channel, even if there is still data to be sent on that high-priority logical channel, the terminal device will instead allocate uplink resources to low-priority logical channels that have not reached the PBR. In a possible implementation, the terminal device can implement the allocation of uplink resources through the token bucket algorithm.
[0130] 3. Token bucket algorithm
[0131] The token bucket algorithm is a commonly used rate-limiting method, and the operation process of this algorithm can be vividly compared to the operation of a bucket filled with "tokens". The basic idea of this algorithm is to determine whether to send the data of a certain logical channel and control the amount of data of that logical channel multiplexed in the MAC PDU based on whether there are tokens in the token bucket and the number of tokens.
[0132] The network device can configure the following parameters for each logical channel by sending configuration information (such as the LogicalChannelConfig cell) to the terminal device:
[0133] Priority;
[0134] Priority Bit Rate (PBR);
[0135] Bucket Size Duration (BSD);
[0136] Among them, the above priority can also be called the logical channel priority, and the logical channel priority determines the order of uplink resource allocation (i.e., the order of multiplexing) when multiple logical channels are multiplexed; PBR represents the number of bytes injected into the bucket per second; BSD represents the depth of the bucket, in milliseconds (ms). Therefore, the maximum capacity of the token bucket is PBR × BSD, which limits the total amount of data that each logical channel can cache, but this does not represent the maximum uplink bit rate of the logical channel. It should be understood that the above configuration information is for logical channels, that is, one logical channel corresponds to one configuration information, each logical channel has its own priority, PBR, and BSD, and each logical channel has its own token bucket.
[0137] The terminal device receives the above configuration information sent by the network device, determines the priority, PBR, and BSD of each logical channel, and allocates uplink resources based on the token bucket algorithm in the order from high to low priority. Since the terminal device will also perform reallocation of uplink resources if there are remaining uplink resources and there are logical channels with data to be transmitted after allocating uplink resources according to the token bucket algorithm, in this application, the token bucket algorithm is also called the first-round allocation algorithm, and the reallocation after the token bucket algorithm is called the second-round allocation algorithm.
[0138] First-round allocation algorithm: The terminal device can allocate uplink resources to each logical channel in the order of decreasing priority based on the priority bit rate of each logical channel until any of the following conditions is met: each logical channel is allocated uplink resources, or the uplink resources are exhausted.
[0139] Figure 3 Shows a schematic flowchart of the token bucket algorithm (i.e., the first-round allocation algorithm). The following combines Figure 3 Introduce the token bucket algorithm in detail.
[0140] Suppose there are a total of M logical channels, where M is an integer greater than or equal to 1. Each of the M logical channels corresponds to a token bucket, that is, each logical channel has its own priority, PBR, and BSD. Taking logical channel j as an example, where j ∈ {1, 2, …, M}, logical channel j corresponds to token bucket j, and the terminal device can maintain a variable B for logical channel j. j , which indicates the number of available tokens currently in token bucket j, and each token corresponds to 1 Byte of data. B j is initialized to 0 when logical channel j is established, and PBR j × TTI is added to it for each TTI (that is, assuming PBR j is 8 kBps, 8 kBps × 1 ms = 8 Bytes of tokens are injected into the token bucket for each TTI). The value of B j cannot exceed the maximum capacity of the token bucket, which is PBR j × BSD j (assuming PBR j is 8 kBps and BSD j = 500 ms, the maximum capacity is 8 kBps × 500 ms = 4k Bytes). When there is uplink data to be transmitted, the terminal device can execute the token bucket algorithm for uplink resource allocation, that is, multiplex the SDU into the PDU.
[0141] Specifically, the terminal device can perform the following steps for each logical channel in the order of decreasing priority. The following takes logical channel j as an example for illustration.
[0142] Step 1: Obtain SDU 1 in logical channel j and determine whether B j is greater than 0.
[0143] Step 2: If B j is less than 0, it means there are no available tokens in this token bucket, and this SDU 1 cannot be multiplexed into the PDU. The processing flow of the terminal device for logical channel j ends, and then it proceeds to process the logical channel with the next priority.
[0144] Step 3: If B j is greater than 0, the terminal device multiplexes SDU 1 into the PDU and executes B j -= T SDU 1 , where T SDU 1 represents the data volume size of SDU 1, and B j -= T SDU 1 means updating the value of B j to the value of B j - T SDU 1 .
[0145] Step 4: After step 3, the terminal device determines whether the uplink bit rate of logical channel j is greater than or equal to PBR j .
[0146] Step 5: If the uplink bit rate of logical channel j is less than PBR j , the terminal device continues to obtain the SDUs in this logical channel j.
[0147] Step 6: If the uplink bit rate of logical channel j is greater than or equal to PBR j , the processing flow of the terminal device for logical channel j ends, and then it processes the next logical channel.
[0148] It should be understood that in the first-round allocation algorithm, the smallest multiplexing unit is the SDU. After the terminal device multiplexes a certain SDU into the PDU, if the uplink bit rate of the current logical channel is greater than or equal to the PBR of this logical channel, the terminal device processes the logical channel with the next priority; if the uplink bit rate of the current logical channel is less than the PBR of this logical channel, the terminal device can continue to process the next SDU of this logical channel. Therefore, for a single TTI, it is possible that the uplink bit rate of a logical channel is greater than the PBR of this logical channel, equal to the PBR of this logical channel, or less than the PBR of this logical channel, and all these situations are allowed in the first-round allocation algorithm.
[0149] It should be noted that the token bucket algorithm allows the situation of B j <0. That is, before multiplexing the SDU of logical channel j into the PDU, B j >0, while B j −T SDU <0, this SDU will not be put into the queue, but instead it takes the way of "borrowing" to obtain enough tokens (at this time, after B j subtracts T SDU , its value is less than 0), and multiplexes this SDU into the PDU. Only after returning the borrowed tokens (B j increases by PBR j ×TTI per TTI until B j >0), can the subsequent data transmission of this logical channel j be carried out. During the period of "repaying the loan" (that is, the time period corresponding to B j <0 to B j >0), the uplink bit rate of this logical channel does not exceed the PBR of this logical channel. For example, if the data volume size of the data to be transmitted on logical channel j is T SDU =500 Bytes, and the PBR j configured by the network device for it is 100 kBps. In the current TTI, the number of tokens in its token bucket is B j= 100. If there is sufficient uplink resource, the token bucket algorithm allows the terminal device to multiplex this SDU into a PDU. After multiplexing, the number of tokens in logical channel j becomes B j = 100 - 500 = -400. Then, in the next 4 TTIs (100 kBps × 4 ms = 400 Bytes, the loan repayment process), logical channel j is suspended, that is, the terminal device cannot transmit data of logical channel j. Finally, in the process of 5 TTIs, logical channel j has sent a total of 500 Bytes of data, and the average uplink bit rate is 500 Bytes / 5 ms = 100 kBps, which is the same as the PBR configured by the network device j Consistent
[0150] In addition, for low-priority logical channels, taking logical channel j as an example, if the uplink resource is limited, then in several previous TTIs, logical channel j may not be served, but the number of tokens in its token bucket is increasing with TTIs (not exceeding PBR j ×BSD j ). For example, if the amount of data to be transmitted of a certain low-priority logical channel j is 300 Bytes, its PBR j is 100 kBps and BSD j is 3 ms. In the first two TTIs, due to limited uplink resources, logical channel j is not served. In the third TTI, the uplink resources are sufficient. At this time, the number of tokens in the token bucket of logical channel j increases to B j = 100 kBps × 3 ms = 300, and all the data to be transmitted of logical channel j can be sent. Then, in the process of 3 TTIs, logical channel j has transmitted a total of 300 Bytes of data, and the average uplink bit rate is 300 Bytes / 3 ms = 100 kBps, which is the same as the PBR configured by the network device j Consistent
[0151] Second-round allocation algorithm: If there are remaining uplink resources after the first-round allocation and there are logical channels with data to be transmitted, the terminal device can directly allocate the remaining uplink resources in the decreasing order of the priorities of the logical channels with data to be transmitted until any of the following conditions is met: all logical channels have no data to be transmitted, or the remaining uplink resources are exhausted
[0152] For example, after the first round of allocation, there are remaining uplink resources, and among the above-mentioned M logical channels, there are still N logical channels with data to be transmitted, where N is a positive integer less than or equal to M. The terminal device can allocate the remaining uplink resources in the order of decreasing priority of these N logical channels. Only when the data of the logical channels with higher priority have all been allocated uplink resources and the uplink resources have not been exhausted, can the logical channels with lower priority be served. That is, in the second round of allocation, the terminal device maximizes the data transmission of the logical channels with higher priority.
[0153] It should be understood that the terminal device can follow the following principles during the above-mentioned second round of allocation process:
[0154] (1) If the entire SDU can be filled into the remaining PDU, the SDU should not be segmented.
[0155] (2) If the terminal device segments the SDU in a logical channel, it should try to fill in the largest segment according to the size of the remaining resources and the PBR of this logical channel, that is, the terminal device should maximize the data transmission.
[0156] (3) If a certain radio bearer or logical channel is suspended (the number of tokens is less than 0), the data of the logical channel corresponding to this radio bearer should not be transmitted.
[0157] (4) If the PBRs of all logical channels are set to 0 kBps, the terminal device will allocate uplink resources in strict order of decreasing priority. That is, at this time, the terminal device will maximize the transmission of data with higher priority.
[0158] (5) When the PBR of a certain logical channel is configured to infinity, such as the PBR of the logical channel corresponding to the signaling radio bearer (SRB), only after this logical channel has no data to be transmitted will the terminal device consider other logical channels with lower priority than this logical channel.
[0159] Figure 4 shows a schematic diagram of the allocation result of uplink resources based on the above first-round allocation algorithm and second-round allocation algorithm. Figure 4Among them, M = 3, that is, there are 3 logical channels, namely LCH 1, LCH 2, and LCH 3. The priority of LCH 1 is 1, the priority of LCH 2 is 2, and the priority of LCH 3 is 3. Assuming that the smaller the value, the higher the priority, then the priority of LCH 1 is the highest, the priority of LCH 2 is the second highest, and the priority of LCH 3 is the lowest. Among them, the data to be transmitted on LCH 1 is DATA 1, the priority bit rate of LCH 1 is PBR 1, the data to be transmitted on LCH 2 is DATA 2, the priority bit rate of LCH 2 is PBR 2, the data to be transmitted on LCH 3 is DATA 3, and the priority bit rate of LCH 3 is PBR 3.
[0160] The terminal device can first perform the first-round allocation, that is, the terminal device preferentially allocates uplink resources to LCH 1 and multiplexes SDU1 into the PDU. Since LCH 1 has reached the limit of PBR 1, the terminal device can then process LCH 2 and multiplex SDU 2 into the PDU. Since LCH 2 has reached the limit of PBR 2, the terminal device can then process LCH 3 and multiplex SDU 3 into the PDU. As Figure 4 shown, although LCH 3 has not exceeded the limit of PBR 3, there is no data to be transmitted on LCH 3. At this time, since the uplink resources are not exhausted and there is still data to be transmitted on LCH 1 and LCH 2, the terminal device can continue to perform the second-round allocation. The terminal device multiplexes SDU 4 of LCH 1 into the PDU. At this time, although there is still data to be transmitted on LCH 1, the uplink resources have been exhausted and no further allocation can be made.
[0161] In summary, the above algorithm realizes the fairness of uplink resource allocation to a certain extent, and at the same time ensures the minimum uplink transmission rate of each logical channel. However, the above algorithm only ensures the minimum uplink transmission rate of each logical channel and does not limit the uplink transmission rate of each logical channel, which may lead to a relatively high uplink transmission rate of the logical channel, resulting in network congestion. Exemplarily, in a network slicing scenario, since one logical channel can correspond to one network slice and one network slice can correspond to one or more logical channels, if the uplink transmission rate of each logical channel is not limited, it may cause the uplink transmission rate of each logical channel of the terminal device to exceed the bearing capacity of its corresponding network slice (that is, the upper limit of the total uplink transmission rate of all logical channels within a single network slice), resulting in network congestion.
[0162] In view of this, the present application provides a method and device for controlling uplink data transmission, which can realize rate control of logical channels when the terminal device performs uplink transmission, and is beneficial to reducing the risk of network congestion.
[0163] Before introducing the method provided by this application, the following points are noted.
[0164] First, in this application, "indication" may include direct indication and indirect indication, and may also include explicit indication and implicit indication. If the information indicated by a certain piece of information (such as the maximum uplink bit rate described below) is called the information to be indicated, then in the specific implementation process, there are many ways to indicate the information to be indicated. For example, but not limited to, the information to be indicated can be directly indicated, such as indicating the information to be indicated itself or the index of the information to be indicated, etc. It is also possible to indirectly indicate the information to be indicated by indicating other information, where there is an association relationship between the other information and the information to be indicated. It is also possible to only indicate a part of the information to be indicated, while the other parts of the information to be indicated are known or pre-agreed. For example, it is also possible to use the arrangement order of each piece of information pre-agreed (such as protocol regulations) to achieve the indication of specific information, thereby reducing the indication overhead to a certain extent.
[0165] Second, in the embodiments shown below, each term and English abbreviation, such as media access control (MAC), uplink maximum bit rate (UMBR) of the logical channel, prioritized bit rate (PBR), etc., are all exemplary examples given for the convenience of description and should not constitute any limitation to this application. This application does not exclude the possibility of defining other terms that can achieve the same or similar functions in existing or future protocols.
[0166] Third, in the embodiments shown below, the first, second, and various numerical numbers are only for the convenience of description and are not used to limit the scope of the embodiments of this application. For example, to distinguish different information, different logical channels, etc.
[0167] Fourth, in the embodiments shown below, "pre-obtaining" may include being indicated by network device signaling or being predefined. For example, protocol definition. Among them, "predefining" can be achieved by pre-saving corresponding codes, tables, or other ways that can be used to indicate relevant information in devices (such as including terminal devices and network devices). This application does not limit its specific implementation method.
[0168] Fifth, the "protocol" involved in the embodiments of this application may refer to the standard protocol in the communication field. For example, it may include the LTE protocol, the NR protocol, and the relevant protocols applied to future communication systems. This application does not limit this.
[0169] Sixth, the embodiments of the present application are described by taking "logical channels" as an example. However, it should be understood that if there is a one-to-one correspondence between radio bearers and logical channels, the logical channels in the embodiments of the present application can also be replaced by radio bearers, or other terms corresponding to logical channels, and the embodiments of the present application do not limit this. In addition, the embodiments of the present application use "uplink bit rate" to describe the transmission rate of the uplink data of the terminal device. This is only an exemplary description, and the uplink bit rate in the embodiments of the present application can also be replaced by uplink transmission rate, uplink sending rate, or other terms, and the embodiments of the present application do not limit this either.
[0170] The following will Figures 5 to 10 describe in detail each embodiment provided by the present application.
[0171] The embodiments of the present application are described by taking a terminal device and a network device as examples. It should be understood that the terminal device can be replaced by a device or chip capable of implementing functions similar to those of the terminal device, and the network device can also be replaced by a device or chip capable of implementing functions similar to those of the network device. The embodiments of the present application do not limit their names.
[0172] Figure 5 is a schematic flowchart of a control method 500 for uplink data transmission provided by an embodiment of the present application. The method 500 can be applied to Figure 1 the communication system 100 shown in the figure, and the embodiments of the present application do not limit this. The method 500 may include:
[0173] S510, the network device sends first information to the terminal device. Correspondingly, the terminal device receives the first information from the network device. The first information is used to indicate the maximum uplink bit rate of each logical channel in at least one logical channel.
[0174] Optionally, before S510, the method 500 further includes:
[0175] S511, the network device determines the above first information.
[0176] The "maximum uplink bitrate of each logical channel among at least one logical channel" here means that the network device can configure its respective maximum uplink bitrate for each logical channel among at least one logical channel. For example, if there are 5 logical channels among at least one logical channel, the network device can configure 5 maximum uplink bitrates for these 5 logical channels. The 5 maximum uplink bitrates can be all or partially the same, or all the same. The embodiments of the present application do not make any limitations in this regard. Exemplarily, the 5 fields in the above first information respectively indicate the 5 maximum uplink bitrates, and the 5 fields respectively correspond to 5 logical channels; or, in the case where the 5 maximum uplink bitrates are all or partially the same, multiple logical channels with the same maximum uplink bitrate occupy the same field in the above first information, and this field can correspond to these multiple logical channels. In this way, when the number of at least one logical channel is relatively large, signaling overhead can be saved.
[0177] S520, the terminal device allocates uplink resources for all or part of the logical channels among the at least one logical channel based on the maximum uplink bitrate.
[0178] The "all or part of" logical channels here means that when uplink resources are sufficient, the terminal device can allocate uplink resources for each logical channel based on the maximum uplink bitrate of each logical channel; when uplink resources are insufficient, the terminal device can allocate uplink resources for part of the logical channels among the at least one logical channel. Correspondingly, at this time, the terminal device allocates uplink resources for this part of the logical channels based on the maximum uplink bitrate of this part of the logical channels. In other words, not all logical channels among the at least one logical channel can be allocated uplink resources, and there may be some logical channels that cannot be allocated uplink resources. The embodiments of the present application do not make any limitations in this regard.
[0179] In the above method 500, the network device indicates the maximum uplink bitrate of at least one logical channel to the terminal device, so that the terminal device restricts the uplink resources allocated for the logical channel based on this maximum uplink bitrate limit, thereby enabling rate control of the logical channel during the uplink transmission of the terminal device, which is beneficial to reducing the risk of network congestion.
[0180] It should be understood that the maximum uplink bitrate of a logical channel represents the upper limit of the bitrate of the uplink transmission of this logical channel. For a logical channel, if the terminal device allocates more uplink resources for this logical channel, the uplink bitrate of this logical channel is higher; if the terminal device allocates fewer uplink resources for this logical channel, the uplink bitrate of this logical channel is lower. Therefore, the terminal device can allocate uplink resources for this logical channel based on the maximum uplink bitrate of this logical channel, so as to control the uplink bitrate of this logical channel not to exceed the maximum uplink bitrate of this logical channel.
[0181] The radio bearers include two types: data radio bearer (DRB) and signaling radio bearer (SRB). When the terminal device is allocated, it can preferentially transmit the data of the SRB, that is, preferentially meet the uplink resource requirements of the logical channel corresponding to the SRB. Therefore, in one possible implementation, the method of the embodiment of the present application is mainly applicable to the logical channel corresponding to the data radio bearer (DRB), that is, at least one of the above logical channels is the logical channel corresponding to the DRB.
[0182] Optionally, the above first information may be sent by the network device through radio resource control (RRC) signaling, such as the LogicalChannelConfig cell.
[0183] Optionally, at least one of the above logical channels may correspond to a network slice. The maximum uplink bit rate of a network slice is for a single network slice. The maximum uplink bit rate of a network slice represents the upper limit of the bit rate of the uplink transmission of all logical channels corresponding to the network slice. For the convenience of distinction and description, in the embodiment of the present application, the maximum uplink bit rate of the logical channel is abbreviated as UMBR, and the maximum uplink bit rate of the network slice is abbreviated as
[0184] Optionally, at least one of the above logical channels may correspond to a PDU session. Similar to the network slice, the maximum uplink bit rate of a PDU session is for a single PDU session. The maximum uplink bit rate of a PDU session represents the upper limit of the bit rate of the uplink transmission of all logical channels corresponding to the PDU session.
[0185] A network slice may include one PDU session or multiple PDU sessions, and the embodiment of the present application does not limit this. By restricting the uplink transmission rate of the logical channels in the network slice, uplink rate control within the network slice can be achieved, and the risk of network congestion at the network slice granularity can be reduced. Similarly, by restricting the uplink transmission rate of the logical channels in the PDU session, uplink rate control within the PDU session can be achieved, and the risk of network congestion at the PDU session granularity can be reduced. For the convenience of description, hereinafter, only the network slice is taken as an example to describe the control method for uplink data transmission in the embodiment of the present application.
[0186] In the embodiment of the present application, in order to avoid uplink transmission rate overload within the network slice, the sum of the UMBRs of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate of the network slice.
[0187] Optionally, after S520, method 500 may further include:
[0188] S530, the terminal device sends a protocol data unit (PDU) to the network device. Correspondingly, the network device receives the PDU from the terminal device. The PDU includes data from one or more logical channels, and the data of the one or more logical channels is multiplexed into the PDU based on the maximum uplink bit rate of the one or more logical channels. The one or more logical channels may correspond to one or more network slices.
[0189] S540, the network device parses the PDU to obtain the data of the logical channel.
[0190] Specifically, the terminal device may allocate uplink resources for each logical channel according to S510 and S520 above, that is, multiplex the service data units (SDUs) of each logical channel into the PDU, and then the terminal device may send the PDU to the network device. The PDU sent by the terminal device may include data (i.e., SDUs) from one or more logical channels, and the one or more logical channels may correspond to one or more network slices. Exemplarily, the PDU received by the network device may include data of logical channel 1, logical channel 2, and logical channel 3, where logical channel 1 and logical channel 2 correspond to network slice 1, and logical channel 3 corresponds to network slice 2.
[0191] As an optional embodiment, the terminal device allocates uplink resources for all or part of the logical channels in at least one logical channel based on the maximum uplink bit rate, including: the terminal device allocates uplink resources for all or part of the logical channels in at least one logical channel based on the priority bit rate and the maximum uplink bit rate of the at least one logical channel.
[0192] In this way, by referring to the priority bit rate and the maximum uplink bit rate of the logical channel, not only the problem that the low-priority logical channel cannot always be served is avoided, but also the uplink transmission rate of the logical channel can be limited not to exceed the transmission rate upper limit of the logical channel, reducing the risk of network congestion.
[0193] In a possible implementation, since the UMBR is the upper limit of the bit rate of the uplink transmission of the logical channel, the UMBR of a logical channel is greater than or equal to the priority bit rate (PBR) of the logical channel. That is, for the logical channel j in any network slice i, there is:
[0194]
[0195] 0 ≤ PBR j ≤ UMBR j .
[0196] Wherein, both i and j are positive integers.
[0197] It should be understood that the above first information may carry the maximum uplink bit rate, or may carry the maximum data volume that can be uplink-transmitted within a specific time. The maximum data volume that can be uplink-transmitted within the specific time and the maximum uplink bit rate can be converted into each other. In addition, the PBR of the above logical channel may be pre-obtained by the terminal device. Exemplarily, the PBR of the logical channel may be configured for the terminal device by the network device through configuration information (such as the LogicalChannelConfig cell). The configuration information and the above first information may be different information or the same information, that is, the network device may configure the UMBR of the logical channel and the PBR of the logical channel for the terminal device through two different fields of the same information. The embodiments of the present application do not make any limitations in this regard.
[0198] The control method for uplink data transmission according to the embodiments of the present application configures the maximum uplink bit rate of the logical channel for the terminal device by the network device, ensures that the sum of the maximum uplink bit rates of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate within the network slice, and further realizes the control of the uplink transmission rate of the terminal device within the network slice, which is beneficial to avoiding the problem of overloading of the uplink transmission rate within the network slice when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0199] In a first possible implementation manner, the terminal device may execute the above first-round allocation algorithm based on the PBR of the above logical channel, so that the uplink bit rate of the logical channel reaches the limit of the PBR of the logical channel; if there are remaining uplink resources and there are logical channels with data to be transmitted, the terminal device executes the second-round allocation algorithm, that is, based on the UMBR of the logical channel, allocates uplink resources to the logical channels with data to be transmitted, so that all logical channels have no data to be transmitted, or the uplink resources are exhausted, or the logical channel reaches the limit of the UMBR of the logical channel.
[0200] In a second possible implementation manner, the terminal device may allocate resources to the logical channel only based on the UMBR. Exemplarily, the terminal device may not execute the above first-round allocation algorithm and directly execute the second-round allocation algorithm on the logical channels with data to be transmitted, that is, based on the UMBR of the logical channel, allocate uplink resources to the logical channels, so that all logical channels have no data to be transmitted, or the uplink resources are exhausted, or the logical channel reaches the limit of the UMBR of the logical channel.
[0201] In a third possible implementation, the terminal device may allocate resources for logical channels based on other principles and the UMBR. Exemplarily, the terminal device may allocate uplink resources for logical channels according to other principles (for example, allocate uplink resources for a predefined amount of data of each logical channel), and then execute a second-round allocation algorithm, that is, based on the UMBR of the logical channel, allocate uplink resources for the logical channels that still have data to be transmitted, so that all logical channels have no data to be transmitted, or the uplink resources are exhausted, or the logical channel reaches the limit of the UMBR of the logical channel.
[0202] In the above second possible implementation and third possible implementation, since the terminal device does not base on the PBR (that is, does not adopt the token bucket algorithm for the first-round allocation), the network device may only configure the UMBR of the logical channel for the terminal device, without PBR. Further, the network device may also not configure priorities and BSDs. In this case, optionally, when the above logical channels include multiple logical channels, the terminal device may sort the multiple logical channels according to the data volume to be transmitted of each logical channel (for example, in ascending or descending order), or the terminal device may randomly sort the logical channels with data to be transmitted, so as to determine the processing priorities of each logical channel, and allocate uplink resources for each logical channel in the decreasing order of the priorities.
[0203] In the above three possible implementations, the following situations may occur in the second-round allocation of the terminal device:
[0204] (1) If the data to be transmitted in the logical channel does not exceed its UMBR and the uplink resources are sufficient, the terminal device may directly multiplex the data of this logical channel into the PDU, and then continue to process the logical channel of the next priority.
[0205] (2) If the data to be transmitted in the logical channel does not exceed its UMBR and the uplink resources are insufficient, the terminal device may segment the data of this logical channel and multiplex the largest segment into the PDU according to the uplink resources.
[0206] (3) If the data to be transmitted in the logical channel exceeds its UMBR and the uplink resources are sufficient, the terminal device may segment the data of this logical channel and multiplex the largest segment into the PDU according to the UMBR, and then continue to process the logical channel of the next sequence.
[0207] (4) If the data to be transmitted in the logical channel exceeds its UMBR and the uplink resources are insufficient, the terminal device may segment the data of this logical channel and multiplex the largest segment into the PDU according to the smaller value of the UMBR and the data volume that can be transmitted by the remaining uplink resources, and then continue to process the logical channel of the next sequence.
[0208] The above-mentioned maximum segmentation for multiplexing refers to multiplexing the sub-SDUs obtained after segmenting the SDU into the PDU, and the uplink bit rate of this logical channel is equal to the maximum uplink bit rate of this logical channel.
[0209] The following describes in detail the first possible implementation method. That is, the terminal device allocates uplink resources for all or part of the logical channels in at least one logical channel based on the maximum uplink bit rate, including: the terminal device allocates uplink resources for all or part of the logical channels in at least one logical channel based on the priority bit rate and the maximum uplink bit rate of at least one logical channel.
[0210] In this way, by referring to the priority bit rate and the maximum uplink bit rate of the logical channel, not only the problem that the low-priority logical channel can never be served is avoided, but also the uplink transmission rate of the logical channel can be restricted not to exceed the upper limit of the transmission rate of this logical channel, reducing the risk of network congestion.
[0211] As an optional embodiment, the above-mentioned terminal device allocates uplink resources for this logical channel based on the maximum uplink bit rate of the logical channel, including: the terminal device allocates uplink resources for this logical channel based on the priority bit rate of this logical channel; if there are remaining uplink resources and the first logical channel in this logical channel still has data to be transmitted, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel until any one of the following conditions is met: the first logical channel has no data to be transmitted, or the remaining uplink resources are exhausted, or the uplink bit rate of the first logical channel reaches the maximum uplink bit rate of the first logical channel.
[0212] Specifically, the terminal device can allocate uplink resources for the logical channel with reference to the token bucket algorithm. That is, the terminal device can first perform the first-round allocation, and allocate uplink resources for this logical channel based on the priority bit rate of the logical channel until any one of the following conditions is met: the uplink bit rate of this logical channel reaches the limit of the priority bit rate of this logical channel, or the uplink resources are exhausted. After the first-round allocation, from the perspective of time averaging, the uplink bit rate of the logical channel is less than or equal to the priority bit rate of this logical channel. In the case where the above logical channel includes multiple logical channels, the terminal device can allocate uplink resources for the multiple logical channels in the order of decreasing priority with reference to the priority bit rates of the multiple logical channels until any one of the following conditions is met: the uplink bit rates of the multiple logical channels all reach the limits of their respective priority bit rates, or the uplink resources are exhausted, so that from the perspective of time averaging, the uplink bit rates of the multiple logical channels are less than or equal to their respective priority bit rates. For the specific allocation method, refer to the description of the first-round allocation in the above token bucket algorithm, which will not be elaborated here.
[0213] It should be understood that the uplink bit rate of a logical channel is an average value over a period of time. For example, for a logical channel, in a single TTI, this application allows the uplink bit rate of the logical channel to exceed the maximum uplink bit rate of the logical channel. However, after the uplink bit rate of the logical channel exceeds the maximum uplink bit rate of the logical channel, the logical channel is suspended, that is, in the subsequent TTIs, the terminal device no longer allocates uplink resources for the logical channel until the uplink bit rate of the logical channel is less than or equal to the maximum uplink bit rate of the logical channel.
[0214] After the first round of allocation is completed, if there are still remaining uplink resources and the first logical channel among the above logical channels still has data to be transmitted, the terminal device can perform the second round of allocation. It should be understood that the first logical channel is a logical channel among the logical channels with data to be transmitted, and the uplink bit rate of which is less than the maximum uplink bit rate of the logical channel. For all logical channels that have reached the maximum uplink bit rate in the first round of allocation, regardless of whether there is still data to be sent, the second round of allocation is no longer performed.
[0215] The terminal device can allocate the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, that is, the UMBR of the first logical channel, until any one of the following conditions is met: the first logical channel has no data to be transmitted, or the remaining uplink resources are exhausted, so that from the perspective of time average, the uplink bit rate of the first logical channel is less than or equal to the UMBR of the first logical channel. The above first logical channel can be a single logical channel or can include multiple logical channels. Below, the process of the second round of allocation is described in detail in two cases.
[0216] Case 1, as an optional embodiment, the first logical channel is a single logical channel, and the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel, including: if the sum of the uplink bit rate of the first service data unit (SDU) that has not been multiplexed into the protocol data unit (PDU) in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is less than or equal to the maximum uplink bit rate of the first logical channel, the terminal device multiplexes the first SDU into the PDU; or, if the sum of the uplink bit rate of the first SDU and the uplink bit rate of the second SDU is greater than the maximum uplink bit rate of the first logical channel, the terminal device segments the first SDU to obtain a first sub-SDU and multiplexes the first sub-SDU into the PDU.
[0217] In other words, if the first SDU of the first logical channel and the second SDU of the first logical channel that has been multiplexed into the PDU can meet the UMBR limit of the first logical channel, the terminal device can multiplex the first SDU into the PDU; otherwise, the terminal device can segment the first SDU, and multiplex the obtained first sub-SDU into the PDU, so that the sum of the uplink bitrates of the first sub-SDU and the second SDU is equal to the UMBR of the first logical channel. That is, when allocating uplink resources, the terminal device can try not to segment the SDU as much as possible. When segmenting the SDU, it can try to multiplex the larger segmented SDU into the PDU, so as to maximize the data transmission of the logical channel.
[0218] Case 2, as an optional embodiment, the first logical channel includes at least two logical channels, and the terminal device allocates the remaining uplink resources based on the maximum uplink bitrate of the first logical channel, including: the terminal device allocates the remaining uplink resources based on the maximum uplink bitrate of the at least two logical channels, in the decreasing order of the priorities of the at least two logical channels, until any of the following conditions is met: there is no data to be transmitted on the at least two logical channels, or the remaining uplink resources are exhausted, or the uplink bitrates of the at least two logical channels reach the limits of the maximum uplink bitrates of the at least two logical channels.
[0219] Exemplarily, the terminal device allocates the remaining uplink resources based on the maximum uplink bitrate of the at least two logical channels, in the decreasing order of the priorities of the at least two logical channels, including: the terminal device selects a second logical channel from the at least two logical channels, and the second logical channel is the logical channel with the highest priority among the at least two logical channels; if the sum of the uplink bitrate of the third SDU that has not been multiplexed into the PDU in the second logical channel and the uplink bitrate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is less than or equal to the maximum uplink bitrate of the second logical channel, the terminal device multiplexes the third SDU into the PDU; if the sum of the uplink bitrate of the third SDU that has not been multiplexed into the PDU in the second logical channel and the uplink bitrate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is greater than the maximum uplink bitrate of the second logical channel, the terminal device segments the third SDU to obtain a third sub-SDU; the terminal device multiplexes the third sub-SDU into the PDU.
[0220] In other words, the first logical channel includes at least two logical channels, where the second logical channel has the highest priority. Therefore, the terminal device preferentially allocates uplink resources to the second logical channel. If the third SDU of the second logical channel and the fourth SDU that the second logical channel has been multiplexed into the PDU can meet the UMBR limit of the second logical channel, the terminal device can multiplex the third SDU into the PDU; otherwise, the terminal device can segment the third SDU, and multiplex the obtained third sub-SDU into the PDU, so that the sum of the uplink bit rates of the third sub-SDU and the fourth SDU is equal to the UMBR of the second logical channel. That is, when allocating uplink resources, the terminal device can try not to segment the SDU as much as possible. When segmenting the SDU, it can try to multiplex the larger segmented SDU into the PDU, so as to maximize the data transmission of the logical channel.
[0221] After the terminal device allocates uplink resources to the second logical channel according to the above method, if there are still remaining uplink resources, the terminal device can continue to allocate uplink resources to the logical channel with the next highest priority, and the logical channel with the next highest priority refers to the logical channel with the next highest priority among the above at least two logical channels. The specific allocation method is similar and will not be elaborated here.
[0222] It should be understood that during the second-round allocation in the embodiments of this application, the terminal device can follow the following principles:
[0223] (1) If the entire SDU of a logical channel can be filled into the remaining PDU and does not reach the UMBR limit of the logical channel, the SDU should not be segmented;
[0224] (2) If the terminal device needs to segment the SDU in a logical channel due to the UMBR limit, it should try to fill in the largest segment according to the size of the remaining resources and the UMBR of the logical channel, that is, the terminal device should maximize the data transmission;
[0225] (3) If a certain radio bearer or logical channel is suspended (the token number is less than 0), the data of the logical channel corresponding to the radio bearer should not be transmitted.
[0226] Figure 6 shows a schematic diagram of the allocation result of uplink resources in an embodiment of this application. In Figure 6There are two logical channels, namely LCH 1 and LCH 2, and LCH 1 and LCH 2 correspond to a network slice i. The priority of LCH 1 is 1, and the priority of LCH 2 is 2. Assuming that the smaller the value, the higher the priority, then LCH 1 has the highest priority and LCH 2 has the second highest priority. Among them, the data to be transmitted on LCH 1 is DATA 1, the priority bit rate of LCH 1 is PBR 1, the maximum uplink bit rate of LCH 1 is UMBR 1, the data to be transmitted on LCH 2 is DATA 2, the priority bit rate of LCH 2 is PBR 2, and the maximum uplink bit rate of LCH 2 is UMBR 2. The maximum uplink bit rate of network slice i is The sum of UMBR 1 and UMBR 2 is less than
[0227] According to the method of the embodiment of the present application, the first round of allocation is first performed, that is, the terminal device preferentially allocates uplink resources to LCH 1, multiplexes SDU 1 to PDU, so that the uplink bit rate of LCH 1 reaches the limit of PBR 1. Next, the terminal device can process LCH 2, multiplex SDU 2 to PDU, so that the uplink bit rate of LCH 2 reaches the limit of PBR 2. Since both LCH 1 and LCH 2 have been allocated uplink resources and there are still remaining uplink resources, the terminal device can then perform the second round of allocation. The terminal device multiplexes SDU 3 of LCH 1 to PDU, so that the uplink bit rate of LCH 1 reaches the limit of UMBR 1. At this time, although there is still data to be transmitted on LCH 1, since the uplink bit rate of LCH 1 has reached the limit of UMBR 1, no more uplink resources can be allocated to LCH 1. Since there are still remaining uplink resources, the terminal device multiplexes SDU 4 of LCH 2 to PDU. Although the uplink bit rate of LCH 2 has not reached the limit of UMBR 2, there is no data to be transmitted on LCH 2 at this time. According to the method of the embodiment of the present application, the actual uplink bit rate of network slice i is less than the maximum uplink bit rate of this network slice i.
[0228] It should be understood that the above Figure 6 only shows an ideal situation, that is, after SDU 1 (which can include one or more SDUs) is multiplexed to PDU, the uplink bit rate of LCH 1 is exactly equal to PBR 1, and after SDU 2 (which can include one or more SDUs) is multiplexed to PDU, the uplink bit rate of LCH 2 is exactly equal to PBR 2. In addition, SDU 3 can include one SDU, multiple SDUs, or sub-SDUs after segmentation processing. Since the terminal device can segment SDUs in the second round of allocation algorithm, the uplink bit rate of LCH 1 can be made equal to UMBR 1.
[0229] The above method 500 configures the maximum uplink bit rate of the logical channel for the terminal device through the network device, ensuring that the sum of the maximum uplink bit rates of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate within the network slice. The terminal device needs to perform the second-round resource allocation of the logical channel based on the maximum uplink bit rate of the logical channel. In this way, the terminal device realizes the control of the uplink transmission rate within the network slice, which is beneficial to avoiding the problem of overloading the uplink transmission rate within the network slice when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0230] The embodiment of the present application also provides another method for controlling uplink data transmission, which can also realize the control of the uplink transmission rate of the terminal device within the network slice.
[0231] Figure 7 It is a schematic flowchart of another method 700 for controlling uplink data transmission according to the embodiment of the present application. This method 700 can be applied to Figure 1 the communication system 100 shown in the figure, and the embodiment of the present application does not limit this. This method 700 may include:
[0232] S710, the terminal device determines the priority bit rate PBR of the logical channel and the maximum uplink bit rate of the network slice, and the logical channel corresponds to the network slice.
[0233] S720, the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice.
[0234] The above logical channel may include one or more logical channels, and the one or more logical channels correspond to one or more network slices. Exemplarily, assume that there are three logical channels, namely: logical channel 1, logical channel 2, and logical channel 3. These three logical channels may correspond to two network slices, that is, logical channel 1 and logical channel 2 correspond to network slice 1, and logical channel 3 corresponds to network slice 2. It should be understood that the maximum uplink bit rate of the network slice is for a single network slice, and the maximum uplink bit rate of a network slice represents the upper limit of the uplink transmission bit rate of all logical channels corresponding to the network slice. For the convenience of description, the embodiment of the present application abbreviates the maximum uplink bit rate of the network slice as
[0235] It should be understood that the PBR of the above logical channel and the of the network slice can be pre-obtained by the terminal device. Exemplarily, the PBR of the logical channel can be configured for the terminal device by the network device through configuration information (such as the LogicalChannelConfig cell). The It can be configured by the network device for the terminal device or defined by the protocol. The embodiments of the present application do not limit this.
[0236] In the uplink data transmission control method of the embodiments of the present application, the terminal device allocates uplink resources for logical channels based on the maximum uplink bit rate of the network slice, ensuring that the sum of the uplink bit rates of all logical channels corresponding to a network slice is less than or equal to the maximum uplink bit rate within the network slice, thereby achieving the control of the uplink transmission rate of the terminal device within the network slice, which is beneficial to avoiding the problem of uplink transmission rate overload within the network slice when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0237] Optionally, after S720, method 700 may further include:
[0238] S730, the terminal device sends a protocol data unit (PDU) to the network device. Correspondingly, the network device receives the PDU from the terminal device. The PDU includes data from the logical channel, and the logical channel corresponds to the network slice. The data of the logical channel is multiplexed into the PDU based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice.
[0239] S740, the network device parses the PDU to obtain the data of the logical channel.
[0240] Specifically, the terminal device can allocate uplink resources for each logical channel according to S710 and S720 above, that is, multiplex the service data units (SDUs) of each logical channel into the PDU, and then the terminal device can send the PDU to the network device. The PDU sent by the terminal device may include data (i.e., SDUs) from one or more logical channels, and the one or more logical channels may correspond to one or more network slices.
[0241] As an optional embodiment, the logical channel is one logical channel. The terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, including: the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice until any of the following conditions is met: the uplink bit rate of the logical channel reaches the limit of the priority bit rate of the logical channel, or the uplink bit rate of the network slice exceeds the maximum uplink bit rate of the network slice, or the uplink resources are exhausted.
[0242] As an optional embodiment, the logical channel includes at least two logical channels, and the terminal device allocates uplink resources for the logical channels based on the priority bit rate of the logical channels and the maximum uplink bit rate of the network slice, including: the terminal device allocates uplink resources for the at least two logical channels in descending order of the priority of the at least two logical channels based on the priority bit rate of the logical channels and the maximum uplink bit rate of the network slice, until any of the following conditions is met: the uplink bit rates of the at least two logical channels all reach the limit of the priority bit rate of the at least two logical channels, or the uplink bit rate of the network slice corresponding to the at least two logical channels reaches the limit of the uplink bit rate of the network slice corresponding to the at least two logical channels, or the uplink resources are exhausted.
[0243] Specifically, the above allocation process is the first-round allocation, that is, the terminal device can allocate uplink resources for the logical channels with reference to the new token bucket algorithm proposed in the embodiments of the present application, which can make the uplink bit rates of the multiple logical channels less than or equal to their respective priority bit rates from the perspective of time average, and the uplink bit rates of each network slice less than or equal to their respective maximum uplink bit rates from the perspective of time average. The first-round allocation algorithm (i.e., the new token bucket algorithm) of the embodiments of the present application is introduced in detail below.
[0244] As an optional embodiment, the terminal device allocates uplink resources for the at least two logical channels in descending order of the priority of the at least two logical channels based on the priority bit rate of the at least two logical channels and the maximum uplink bit rate of the network slice, including: when the number of tokens corresponding to the first logical channel in the at least two logical channels is greater than 0, the terminal device determines the cumulative uplink bit rate of the first network slice in the network slice corresponding to the first logical channel after multiplexing the first service data unit SDU of the first logical channel in the at least two logical channels to the protocol data unit PDU, where the first logical channel is the logical channel with the highest priority among the at least two logical channels; if the cumulative uplink bit rate of the first network slice is less than or equal to the maximum uplink bit rate of the first network slice, the terminal device multiplexes the first SDU to the PDU; if the cumulative uplink bit rate of the first network slice is greater than the maximum uplink bit rate of the first network slice and the number of tokens corresponding to the second logical channel in the at least two logical channels is greater than 0, the terminal device determines the cumulative uplink bit rate of the second network slice in the network slice corresponding to the second logical channel after multiplexing the second SDU of the second logical channel to the PDU, where the second logical channel is the logical channel with the next priority to the first logical channel among the at least two logical channels; if the cumulative uplink bit rate of the second network slice is less than or equal to the maximum uplink bit rate of the second network slice, the terminal device multiplexes the second SDU to the PDU.
[0245] Specifically, in the process of the first-round allocation, the terminal device allocates uplink resources to the first logical channel with the highest priority according to the decreasing order of the priorities of the at least two logical channels. If the cumulative uplink bit rate of the first network slice corresponding to the first logical channel exceeds the limit of the maximum uplink bit rate of the first network slice, the terminal device then allocates uplink resources to the logical channel with the next priority (i.e., the second logical channel).
[0246] It should be understood that the first network slice corresponding to the first logical channel and the second network slice corresponding to the second logical channel may be the same or different, that is, the first logical channel and the second logical channel may correspond to the same network slice or different network slices. The embodiments of the present application do not make any limitations in this regard.
[0247] The following combines Figure 8 to describe the first-round allocation algorithm of the embodiments of the present application in detail. Similar to Figure 3 , the terminal device can execute the following steps for each logical channel in the order of decreasing priority. The following takes the logical channel j as an example for illustration.
[0248] Steps 1 and 2 are the same as steps 1 and 2 corresponding to Figure 3 , and will not be elaborated here.
[0249] Step 3: If B j is greater than 0, the terminal device determines whether wherein is the cumulative uplink bit rate of network slice i corresponding to logical channel j after multiplexing SDU 1 into the PDU, is the cumulative uplink bit rate of network slice i.
[0250] Step 4: If the processing flow of the terminal device for logical channel j ends, and then the terminal device processes the next logical channel.
[0251] Step 5: If the terminal device multiplexes SDU 1 into the PDU, updates the cumulative data volume of network slice i, and executes B j -=T SDU 1 , T SDU 1 represents the data volume size of SDU 1, and B j -=T SDU 1 means updating the value of B j to the value of B j -T SDU 1 .
[0252] Steps 6-8 are the same as steps 4-6 corresponding to Figure 3 , and will not be elaborated here.
[0253] It should be understood that in the above first-round allocation algorithm, the smallest multiplexing unit is the SDU. After the terminal device multiplexes a certain SDU into the PDU, if the uplink bit rate of the current logical channel is greater than or equal to the PBR of this logical channel, the terminal device processes the logical channel with the next priority, and the current logical channel is suspended; if the uplink bit rate of the current logical channel is less than the PBR of this logical channel, the terminal device can continue to process the next SDU of this logical channel. Therefore, for a single TTI, it is possible that the uplink bit rate of a logical channel is greater than the PBR of this logical channel, equal to the PBR of this logical channel, or less than the PBR of this logical channel, and all of these are allowed in the first-round allocation algorithm.
[0254] In the embodiments of the present application, the total amount of uplink data transmitted by all logical channels corresponding to a network slice within a period of time can be referred to as the cumulative data amount of this network slice. Correspondingly, the ratio of the cumulative data amount of this network slice to this time can be referred to as the cumulative uplink bit rate of this network slice. The above period of time can be a period stipulated by the protocol or configured by the network device. For example, it can be one or more TTIs, or from the time when the network slice is created to the current TTI. The embodiments of the present application do not make any limitations in this regard. Therefore, the cumulative data amount of the above network slice can be, for example, the sum of the uplink data amounts transmitted by all logical channels within this network slice in the current TTI, or the sum of all historical data since the network slice was created.
[0255] It should be understood that the above "cumulative data amount" and "cumulative uplink bit rate" are only exemplary examples given for convenience of description, and should not constitute any limitation to the present application. The present application does not exclude the possibility of defining other terms in existing or future protocols that can achieve the same or similar functions.
[0256] As an optional embodiment, the cumulative uplink bit rate of the first network slice is determined based on the length of the sliding time window of the first network slice and the cumulative data amount of the first network slice within the sliding time window. The cumulative data amount of the first network slice within the sliding time window is the sum of the data amounts transmitted by all logical channels of the first network slice within the first time period starting from the current moment and moving forward. The length of the first time period is the length of the sliding time window.
[0257] The duration of the above period of time is the length of the sliding time window. The sliding time window refers to a period of time traced back from the current moment (such as the current TTI) forward. Exemplarily, Figure 9 shows a schematic diagram of the sliding time window in the embodiments of the present application, as Figure 9As shown in the figure, the length of the sliding time window of the first network slice can be 1000 TTIs, and the cumulative data volume of the first network slice is the sum of the data volumes transmitted by all logical channels of the first network slice within the time period of 999 TTIs traced back from the current TTI.
[0258] Since the rate limit is a concept in terms of average time, if it is for a single TTI, the restriction is relatively strong and the flexibility is relatively low. Therefore, by setting a sliding time window, the cumulative data volume of the network slice within the latest period of time (which can include multiple TTIs) can be obtained, which is more conducive to implementing the restriction on the uplink bit rate of the network slice and improving the calculation flexibility of the uplink bit rate of the network slice.
[0259] It should be understood that the length of the sliding time window of the network slice can be pre-acquired by the terminal device. Specifically, the length of the sliding time window of the network slice can be configured by the network device for the terminal device, or defined by the protocol. The embodiments of the present application do not make any limitations thereto. In addition, the "sliding time window" is only an exemplary example given for the convenience of description, and this term can also be replaced by a statistical time window, a sliding statistical time window or other terms. The embodiments of the present application do not make any limitations thereto.
[0260] As an optional embodiment, the method further includes: the network device determines the length of the sliding time window of the network slice; the network device sends second information to the terminal device. Correspondingly, the terminal device receives the second information sent by the network device, and the second information is used to indicate the length of the sliding time window of the network slice.
[0261] It should be understood that the lengths of the sliding time windows corresponding to multiple network slices can be the same or different. If the lengths of the sliding time windows corresponding to multiple network slices are the same, the network device can indicate the length through one piece of second information. If the lengths of the sliding time windows corresponding to multiple network slices are different, the network device can indicate the identifier of the network slice and the length of the sliding time window of the network slice through the second information, so that the length of the sliding time window of the network slice corresponds to the identifier of the network slice. For example, the above second information can indicate lengths 1, 2, and 3, and indicate that length 1 corresponds to network slice 1, length 2 corresponds to network slice 2, and length 3 corresponds to network slice 3.
[0262] Optionally, the network device can determine the length of the sliding time window of the network slice based on the type of the network slice. For example, for a network slice of a delay-sensitive service, the length of the sliding time window is shorter; for a network slice of a delay-insensitive service, the length of the sliding time window is longer.
[0263] In this way, the network device can set the lengths of different sliding time windows for different types of network slices to adapt to different service characteristics, so as to flexibly adapt to multiple service scenarios.
[0264] As an optional embodiment, after the terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, the method further includes: if there are remaining uplink resources and there is still data to be transmitted in the third logical channel in the logical channel, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted in the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0265] After the first round of allocation is completed, if there are still remaining uplink resources and there is still data to be transmitted in the third logical channel in the above-mentioned logical channel, the terminal device can perform the second round of allocation. It should be understood that the third logical channel is a logical channel in which the cumulative uplink bit rate of the corresponding network slice is less than the maximum uplink bit rate among the logical channels with data to be transmitted. For all logical channels corresponding to the network slices that have reached the maximum uplink bit rate in the first round of allocation, no second round of allocation is performed regardless of whether there is still data to be sent.
[0266] The terminal device can allocate the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted in the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel. The above-mentioned third logical channel can be one logical channel or can include multiple logical channels, and the network slice corresponding to the third logical channel can be one network slice or can be multiple network slices. Hereinafter, the process of the second round of allocation will be described in detail in two cases.
[0267] Case 1. As an optional embodiment, the third logical channel is a logical channel, and the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: if the third SDU in the third logical channel that has not been multiplexed into the PDU is multiplexed after the PDU, and the cumulative uplink bit rate of the third network slice in the network slice corresponding to the third logical channel is less than or equal to the maximum uplink bit rate of the third network slice, the terminal device multiplexes the third SDU into the PDU; or, if the cumulative uplink bit rate of the third network slice is greater than the maximum uplink bit rate of the third network slice after the third SDU is multiplexed into the PDU, the terminal device segments the third SDU to obtain a third sub-SDU and multiplexes the third sub-SDU into the PDU.
[0268] In other words, if the cumulative uplink bit rate of the third network slice corresponding to the third logical channel can meet the limit of the maximum uplink bit rate of the third network slice after the third SDU of the third logical channel is multiplexed into the PDU, the terminal device can multiplex the third SDU into the PDU; otherwise, the terminal device can segment the third SDU and multiplex the obtained third sub-SDU into the PDU so that the cumulative uplink bit rate of the third network slice is equal to the maximum uplink bit rate of the third network slice. That is, when allocating uplink resources, the terminal device can try not to segment the SDU as much as possible. When segmenting the SDU, it tries to multiplex the larger segmented SDU into the PDU to maximize the data transmission of the logical channel.
[0269] Case 2. As an optional embodiment, the third logical channel includes at least two logical channels, and the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, including: the terminal device allocates the remaining uplink resources in the decreasing order of the priority of the third logical channel based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted on the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0270] Exemplarily, based on the maximum uplink bit rate of the network slice corresponding to the third logical channel, the terminal device allocates the remaining uplink resources in descending order of the priority of the third logical channel, including: the terminal device selects a fourth logical channel from the third logical channels, and the fourth logical channel is the logical channel with the highest priority in the third logical channels; if after multiplexing the fourth SDU that has not been multiplexed into the PDU in the fourth logical channel into the PDU, the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is less than or equal to the maximum uplink bit rate of the fourth network slice, the terminal device multiplexes the fourth SDU into the PDU; if after multiplexing the fourth SDU that has not been multiplexed into the PDU in the fourth logical channel into the PDU, the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is greater than the maximum uplink bit rate of the fourth network slice, the terminal device performs segmentation processing on the fourth SDU to obtain fourth sub-SDUs; the terminal device multiplexes the fourth sub-SDUs into the PDU.
[0271] In other words, the third logical channel includes at least two logical channels, where the fourth logical channel has the highest priority. Therefore, the terminal device preferentially allocates uplink resources to the fourth logical channel. If after multiplexing the fourth SDU of the fourth logical channel into the PDU, the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel can meet the limit of the maximum uplink bit rate of the fourth network slice, the terminal device can multiplex the fourth SDU into the PDU; otherwise, the terminal device can perform segmentation processing on the fourth SDU and multiplex the obtained fourth sub-SDUs into the PDU, so that the cumulative uplink bit rate of the fourth network slice is equal to the maximum uplink bit rate of the fourth network slice. That is, when the terminal device allocates uplink resources, it can try not to segment the SDU as much as possible. When segmenting the SDU, it tries to multiplex the larger segmented SDUs into the PDU, thereby maximizing the data transmission of the logical channel.
[0272] After the terminal device allocates uplink resources to the fourth logical channel according to the above method, if there are still remaining uplink resources, the terminal device can continue to allocate uplink resources to the logical channel with the next priority, and the logical channel with the next priority refers to the logical channel with the next priority to the fourth logical channel among the above at least two logical channels. The specific allocation method is similar and will not be elaborated here.
[0273] It should be understood that during the second-round allocation in the embodiments of the present application, the terminal device can follow the following principles:
[0274] (1) If the entire SDU of the logical channel can be filled into the remaining PDU and does not reach the limit of the maximum uplink bit rate of the network slice corresponding to the logical channel, the SDU should not be segmented;
[0275] (2) If the terminal device needs to segment the SDUs in the logical channel due to the limit of the maximum uplink bit rate of the network slice, it should fill in the maximum segment as much as possible according to the size of the remaining resources and the maximum uplink bit rate of the network slice corresponding to this logical channel, that is, the terminal device should maximize the transmission of data;
[0276] (3) If a certain radio bearer or logical channel is suspended (the number of tokens is less than 0), the data of the logical channel corresponding to this radio bearer should not be transmitted.
[0277] Figure 10 The figure shows a schematic diagram of the allocation result of another uplink resource in the embodiment of the present application. In Figure 10 there are 2 logical channels, namely LCH 1 and LCH 2, and LCH 1 and LCH 2 correspond to a network slice i. The maximum uplink bit rate of the network slice i is The priority of LCH 1 is 1, and the priority of LCH 2 is 2. Assuming that the smaller the value, the higher the priority, then the priority of LCH 1 is the highest, and the priority of LCH 2 is the second highest. Among them, the data to be transmitted on LCH 1 is DATA 1, the priority bit rate of LCH 1 is PBR 1, the data to be transmitted on LCH 2 is DATA 2, and the priority bit rate of LCH 2 is PBR 2.
[0278] According to the method in the embodiment of the present application, the first round of allocation is first performed, that is, the terminal device preferentially allocates uplink resources to LCH 1, multiplexes SDU 1 into PDU, so that the uplink bit rate of LCH 1 reaches the limit of PBR 1. Since the cumulative uplink bit rate of the network slice i does not exceed The terminal device can then process LCH 2. However, if both SDU 2 and SDU 3 are multiplexed into PDU, the cumulative uplink bit rate of the network slice i is greater than Therefore, the terminal device can multiplex SDU 2 into PDU so that the cumulative uplink bit rate of the network slice i is equal to At this time, although there is still data to be sent on both LCH 1 and LCH 2, and there are remaining uplink resources, however, the cumulative uplink bit rate of this network slice i has reached The terminal device does not perform the second round of allocation.
[0279] It should be understood that the above Figure 10 only shows an ideal situation, that is, after SDU 1 (which can include one or more SDUs) is multiplexed into PDU, the uplink bit rate of LCH 1 is exactly equal to PBR 1, and after SDU 2 (which can include one or more SDUs) is multiplexed into PDU, the sum of the uplink bit rates of LCH 1 and LCH 2 is exactly equal to
[0280] Figure 11 A schematic diagram showing the allocation result of another uplink resource in an embodiment of the present application. In Figure 11 this case, there are 2 logical channels, namely LCH 1 and LCH 2, and LCH 1 and LCH 2 correspond to a network slice i. The maximum uplink bit rate of network slice i is The priority of LCH 1 is 1, and the priority of LCH 2 is 2. Assuming that the smaller the value, the higher the priority, then LCH 1 has the highest priority and LCH 2 has the second highest priority. Among them, the data to be transmitted on LCH 1 is DATA 1, the priority bit rate of LCH 1 is PBR 1, the data to be transmitted on LCH 2 is DATA 2, and the priority bit rate of LCH 2 is PBR 2.
[0281] According to the method of the embodiment of the present application, the first round of allocation is first performed, that is, the terminal device preferentially allocates uplink resources to LCH 1, multiplexes SDU 1 to PDU, so that the uplink bit rate of LCH 1 reaches the limit of PBR 1. Since the cumulative uplink bit rate of network slice i does not exceed The terminal device can then process LCH 2. The terminal device multiplexes SDU 2 to PDU, so that the uplink bit rate of LCH 2 reaches the limit of PBR 2. At this time, both LCH 1 and LCH 2 still have data to be sent, and there are remaining uplink resources, and the cumulative uplink bit rate of this network slice i is less than The terminal device can continue to perform the second round of allocation. Considering that if SDU 3 is multiplexed to PDU, the cumulative uplink bit rate of network slice i is greater than Therefore, the terminal device can perform segmentation processing on SDU 3 to obtain SDU 3′, and multiplex SDU 3′ to PDU, so that the cumulative uplink bit rate of network slice i is equal to The second round of allocation ends.
[0282] It should be understood that the above Figure 11 merely shows an ideal situation, that is, after SDU 1 (which may include one or more SDUs) is multiplexed to PDU, the uplink bit rate of LCH 1 is exactly equal to PBR 1, and after SDU 2 (which may include one or more SDUs) is multiplexed to PDU, the sum of the uplink bit rates of LCH 1 and LCH 2 is exactly equal to PBR 2.
[0283] The above method 700 ensures that the cumulative uplink bit rate corresponding to a network slice is less than or equal to the maximum uplink bit rate of the network slice based on the maximum uplink bit rate of the network slice corresponding to the logical channel by the terminal device. That is, the terminal device needs to perform the first-round resource allocation and the second-round resource allocation of the logical channel based on the maximum uplink bit rate of the network slice. In this way, the terminal device realizes the control of the uplink transmission rate within the network slice, which is beneficial to avoiding the problem of overloading of the uplink transmission rate within the network slice when the terminal device performs uplink data transmission and reducing the risk of network congestion.
[0284] The above methods 500 and 700 of the embodiments of the present application can be applied to the control scheme for the uplink bit rate of the PDU session. Exemplarily, only the maximum uplink bit rate of the network slice in the above method needs to be replaced with the maximum uplink bit rate of the PDU session, which will not be elaborated here.
[0285] It should be understood that the magnitudes of the sequence numbers of the above processes do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0286] Above, in combination with Figures 5 to 11 The control method for uplink data transmission provided by the embodiments of the present application is described in detail. Below, in combination with Figures 12 to 14 The control device for uplink data transmission provided by the embodiments of the present application is described in detail.
[0287] Figure 12 is a schematic block diagram of the control device for uplink data transmission provided by the embodiments of the present application. As Figure 12 shown, the device 1200 may include a transceiver unit 1210 and a processing unit 1220.
[0288] In a possible design, the device 1200 may correspond to the terminal device in the above method embodiment. For example, it may be a terminal device or a chip configured in the terminal device. The device 1000 is used to execute each step or process corresponding to the terminal device in the above method embodiment 500.
[0289] Specifically, the transceiver unit 1210 is used to: receive first information from a network device, where the first information is used to indicate the maximum uplink bit rate of each logical channel in at least one logical channel; the processing unit 1220 is used to: allocate uplink resources for all or part of the logical channels in the at least one logical channel based on the maximum uplink bit rate.
[0290] Optionally, the processing unit 1220 is specifically used to: allocate uplink resources for all or part of the logical channels in the at least one logical channel based on the priority bit rate and the maximum uplink bit rate of the at least one logical channel.
[0291] Optionally, the processing unit 1220 is specifically configured to: allocate uplink resources for the at least one logical channel based on the priority bit rate of the logical channel; if there are remaining uplink resources and the first logical channel among the at least one logical channel still has data to be transmitted, allocate the remaining uplink resources based on the maximum uplink bit rate of the first logical channel until any one of the following conditions is satisfied: the first logical channel has no data to be transmitted, or the remaining uplink resources are exhausted, or the uplink bit rate of the first logical channel reaches the maximum uplink bit rate of the first logical channel.
[0292] Optionally, the processing unit 1220 is specifically configured to: if the sum of the uplink bit rate of the first service data unit (SDU) that is not multiplexed into a protocol data unit (PDU) in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is less than or equal to the maximum uplink bit rate of the first logical channel, multiplex the first SDU into the PDU.
[0293] Optionally, the processing unit 1220 is specifically configured to: if the sum of the uplink bit rate of the first SDU that is not multiplexed into the PDU in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is greater than the maximum uplink bit rate of the first logical channel, perform segmentation processing on the first SDU to obtain a first sub-SDU, and multiplex the first sub-SDU into the PDU.
[0294] Optionally, the first logical channel includes at least two logical channels, and the processing unit 1220 is specifically configured to: allocate the remaining uplink resources based on the maximum uplink bit rates of the at least two logical channels in the decreasing order of the priorities of the at least two logical channels until any one of the following conditions is satisfied: the at least two logical channels have no data to be transmitted, or the remaining uplink resources are exhausted, or the uplink bit rates of the at least two logical channels reach the limit of the maximum uplink bit rates of the at least two logical channels.
[0295] Optionally, the processing unit 1220 is specifically configured to: if the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is less than or equal to the maximum uplink bit rate of the second logical channel, multiplex the third SDU into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
[0296] Optionally, the processing unit 1220 is specifically configured to: if the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that is already multiplexed into the PDU in the second logical channel is greater than the maximum uplink bit rate of the second logical channel, segment the third SDU to obtain a third sub-SDU, and multiplex the third sub-SDU into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
[0297] In a possible design, the apparatus 1200 may correspond to the network device in the foregoing method embodiment. For example, it may be a network device or a chip configured in the network device. The apparatus 1000 is configured to execute each step or process corresponding to the network device in the foregoing method embodiment 500.
[0298] The processing unit 1220 is configured to: determine first information for indicating the maximum uplink bit rate of each logical channel among at least one logical channel; the transceiver unit 1210 is configured to: send the first information to the terminal device.
[0299] Optionally, the transceiver unit 1210 is further configured to: receive a protocol data unit PDU from the terminal device, where the PDU includes data from all or part of the at least one logical channel, and the data from all or part of the logical channels is multiplexed into the PDU based on the maximum uplink bit rate.
[0300] Optionally, the processing unit 1220 is configured to: parse the PDU to obtain data from all or part of the logical channels.
[0301] Optionally, the at least one logical channel corresponds to a network slice.
[0302] Optionally, the at least one logical channel corresponds to a PDU session.
[0303] In a possible design, the apparatus 1200 may correspond to the terminal device in the foregoing method embodiment. For example, it may be a terminal device or a chip configured in the terminal device. The apparatus 1000 is configured to execute each step or process corresponding to the terminal device in the foregoing method embodiment 700.
[0304] Specifically, the processing unit 1220 is configured to: determine the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, where the logical channel corresponds to the network slice; the processing unit 1220 is further configured to: allocate uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice.
[0305] Optionally, the processing unit 1220 is specifically configured to: The terminal device allocates uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice until any of the following conditions is met: the uplink bit rate of the logical channel reaches the limit of the priority bit rate of the logical channel, or the uplink bit rate of the network slice exceeds the maximum uplink bit rate of the network slice, or the uplink resources are exhausted.
[0306] Optionally, the logical channel includes at least two logical channels, and the processing unit 1220 is specifically configured to: Based on the priority bit rates of the at least two logical channels and the maximum uplink bit rate of the network slice, allocate uplink resources for the at least two logical channels in descending order of the priorities of the at least two logical channels until any of the following conditions is met: the uplink bit rates of the at least two logical channels all reach the limits of the priority bit rates of the at least two logical channels, or the uplink bit rate of the network slice corresponding to the at least two logical channels reaches the limit of the uplink bit rate of the network slice corresponding to the at least two logical channels, or the uplink resources are exhausted.
[0307] Optionally, the processing unit 1220 is specifically configured to: When the number of tokens corresponding to the first logical channel among the at least two logical channels is greater than 0, if after multiplexing the first service data unit (SDU) of the first logical channel among the at least two logical channels into the protocol data unit (PDU), the cumulative uplink bit rate of the first network slice in the network slice corresponding to the first logical channel is less than or equal to the maximum uplink bit rate of the first network slice, multiplex the first SDU into the PDU, where the first logical channel is the logical channel with the highest priority among the at least two logical channels.
[0308] Optionally, the processing unit 1220 is specifically configured to: When the number of tokens corresponding to the first logical channel among the at least two logical channels is greater than 0, if after multiplexing the first SDU of the first logical channel among the at least two logical channels into the PDU, the cumulative uplink bit rate of the first network slice in the network slice corresponding to the first logical channel is greater than the maximum uplink bit rate of the first network slice, and the number of tokens corresponding to the second logical channel among the at least two logical channels is greater than 0, if after multiplexing the second SDU of the second logical channel among the at least two logical channels into the PDU, the cumulative uplink bit rate of the second network slice in the network slice corresponding to the second logical channel is less than or equal to the maximum uplink bit rate of the second network slice, multiplex the second SDU into the PDU, where the first logical channel is the logical channel with the highest priority among the at least two logical channels, and the second logical channel is the logical channel with the next priority to the first logical channel among the at least two logical channels.
[0309] Optionally, the cumulative uplink bit rate of the first network slice is determined based on the length of the sliding time window of the first network slice and the cumulative data volume of the first network slice in the sliding time window. The cumulative data volume of the first network slice in the sliding time window is the sum of the data volumes transmitted by all logical channels of the first network slice within the first time period starting from the current moment forward, and the length of the first time period is the length of the sliding time window.
[0310] Optionally, the apparatus further includes: a transceiver unit 1210, configured to receive second information sent by a network device, where the second information is used to indicate the length of the sliding time window of the first network slice.
[0311] Optionally, the processing unit 1220 is specifically configured to: after allocating uplink resources for the logical channel based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice, if there are remaining uplink resources and there is still data to be transmitted in the third logical channel in the logical channel, allocate the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel until any one of the following conditions is met: there is no data to be transmitted in the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0312] Optionally, the processing unit 1220 is specifically configured to: if after multiplexing the third SDU that is not multiplexed into the PDU in the third logical channel into the PDU, the cumulative uplink bit rate of the third network slice corresponding to the third logical channel in the network slice is less than or equal to the maximum uplink bit rate of the third network slice, multiplex the third SDU into the PDU; or, if after multiplexing the third SDU into the PDU, the cumulative uplink bit rate of the third network slice is greater than the maximum uplink bit rate of the third network slice, perform segmentation processing on the third SDU to obtain a third sub-SDU, and multiplex the third sub-SDU into the PDU.
[0313] Optionally, the third logical channel includes at least two logical channels, and the processing unit 1220 is specifically configured to: allocate the remaining uplink resources based on the maximum uplink bit rate of the network slice corresponding to the third logical channel in descending order of the priority of the third logical channel until any one of the following conditions is met: there is no data to be transmitted in the third logical channel, or the remaining uplink resources are exhausted, or the cumulative uplink bit rate of the network slice corresponding to the third logical channel reaches the limit of the maximum uplink bit rate of the network slice corresponding to the third logical channel.
[0314] Optionally, the processing unit 1220 is specifically configured to: if the fourth SDU in the fourth logical channel that has not been multiplexed into the PDU is multiplexed after the PDU, and the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is less than or equal to the maximum uplink bit rate of the fourth network slice, multiplex the fourth SDU into the PDU, where the fourth logical channel is the logical channel with the highest priority in the third logical channel.
[0315] Optionally, the processing unit 1220 is specifically configured to: if the cumulative uplink bit rate of the fourth network slice corresponding to the fourth logical channel is greater than the maximum uplink bit rate of the fourth network slice after the fourth SDU in the fourth logical channel that has not been multiplexed into the PDU is multiplexed into the PDU, perform segmentation processing on the fourth SDU to obtain a fourth sub-SDU, and multiplex the fourth sub-SDU into the PDU, where the fourth logical channel is the logical channel with the highest priority in the third logical channel.
[0316] In a possible design, the apparatus 1200 may correspond to the network device in the above method embodiment. For example, it may be a network device or a chip configured in a network device. The apparatus 1200 is configured to execute each step or process corresponding to the network device in the above method embodiment 700.
[0317] The transceiver unit 1210 is configured to: receive a protocol data unit (PDU) from a terminal device, where the PDU includes data from a logical channel corresponding to a network slice, and the data of the logical channel is multiplexed into the PDU based on the priority bit rate of the logical channel and the maximum uplink bit rate of the network slice; the processing unit 1220 is configured to: parse the PDU to obtain the data of the logical channel.
[0318] Optionally, the processing unit 1220 is further configured to: before the network device receives a protocol data unit (PDU) from a terminal device, determine the length of the sliding time window of the network slice; the transceiver unit 1210 is further configured to: send second information to the terminal device, where the second information is used to indicate the length of the sliding time window of the network slice.
[0319] Optionally, the second information includes the identifier of the network slice and the length of the sliding time window of the network slice, and the length of the sliding time window of the network slice corresponds to the identifier of the network slice.
[0320] Optionally, the processing unit 1220 is specifically configured to: determine the length of the sliding time window of the network slice based on the type of the network slice.
[0321] It should be understood that the device 1200 herein is embodied in the form of functional units. The term "unit" herein may refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor for executing one or more software or firmware programs (such as a shared processor, a proprietary processor or a group of processors, etc.) and a memory, a combined logic circuit and / or other suitable components that support the described functions. In an alternative example, those skilled in the art can understand that the device 1200 may specifically be the terminal device in the above embodiments, and can be used to execute each process and / or step corresponding to the terminal device in the above method embodiments. Or, the device 1200 may specifically be the network device in the above embodiments, and can be used to execute each process and / or step corresponding to the network device in the above method embodiments. To avoid repetition, details are not described herein again.
[0322] The device 1200 in each of the above solutions has the function of implementing the corresponding steps executed by the terminal device in the above method. Or, the device 1200 in each of the above solutions has the function of implementing the corresponding steps executed by the network device in the above method. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, the communication unit can be replaced by a transceiver (for example, the sending unit in the communication unit can be replaced by a transmitter, and the receiving unit in the communication unit can be replaced by a receiver). Other units, such as the processing unit, can be replaced by a processor to respectively execute the transceiver operations and related processing operations in each method embodiment.
[0323] In addition, the above communication unit can also be a transceiver circuit (for example, it can include a receiving circuit and a sending circuit), and the processing unit can be a processing circuit. In the embodiments of the present application, Figure 12 the device in can be the terminal device or the network device in the foregoing embodiments, or can be a chip or a chip system, for example: a system on chip (SoC). Among them, the communication unit can be an input / output circuit, a communication interface; the processing unit is a processor, a microprocessor or an integrated circuit integrated on the chip. This is not limited herein.
[0324] Figure 13 FIG. shows a control device 1300 for uplink data transmission provided by an embodiment of the present application. The device 1300 includes a processor 1310 and a transceiver 1320. Among them, the processor 1310 and the transceiver 1320 communicate with each other through an internal connection path. The processor 1310 is used to execute instructions to control the transceiver 1320 to send signals and / or receive signals.
[0325] Optionally, the device 1300 may further include a memory 1330, which communicates with the processor 1310 and the transceiver 1320 through an internal connection path. The memory 1330 is used to store instructions, and the processor 1310 can execute the instructions stored in the memory 1330. In a possible implementation, the device 1300 is used to implement each process and step corresponding to the sending end in the above method embodiments. In another possible implementation, the device 1300 is used to implement each process and step corresponding to the receiving end in the above method embodiments.
[0326] It should be understood that the device 1300 may specifically be the terminal device or network device in the above embodiments, or may be a chip or a chip system. Correspondingly, the transceiver 1320 may be the transceiver circuit of the chip, which is not limited herein. Specifically, the device 1300 may be used to execute each step and / or process corresponding to the terminal device or network device in the above method embodiments. Optionally, the memory 1330 may include a read-only memory and a random access memory, and provide instructions and data to the processor. A part of the memory may further include a non-volatile random access memory. For example, the memory may also store information about the device type. The processor 1310 may be used to execute the instructions stored in the memory, and when the processor 1310 executes the instructions stored in the memory, the processor 1310 is used to execute each step and / or process of the above method embodiments corresponding to the terminal device or network device.
[0327] Figure 14 It is a schematic structural diagram of the terminal device 1400 provided by an embodiment of the present application. The terminal device 1400 can be applied to a system as shown in Figure 1 and execute the functions of the terminal device in the above method embodiments. As shown in the figure, the terminal device 1400 includes a processor 1410 and a transceiver 1420. Optionally, the terminal device 1400 further includes a memory 1430. Among them, the processor 1410, the transceiver 1420, and the memory 1430 can communicate with each other through an internal connection path to transmit control and / or data signals. The memory 1430 is used to store a computer program, and the processor 1410 is used to call and run the computer program from the memory 1430 to control the transceiver 1420 to transmit and receive signals. Optionally, the terminal device 1400 may further include an antenna 1440, which is used to send the uplink data or uplink control signaling output by the transceiver 1420 through a wireless signal.
[0328] The above-mentioned processor 1410 and the memory 1430 can be integrated into a processing device. The processor 1410 is used to execute the program code stored in the memory 1430 to implement the above functions. Specifically, in implementation, the memory 1430 can also be integrated into the processor 1410 or be independent of the processor 1410. The processor 1410 can be corresponding to Figure 11 the processing unit therein.
[0329] The above-mentioned transceiver 1420 can be corresponding to Figure 12 the transceiver unit therein, and can also be referred to as the transceiver unit. The transceiver 1420 can include a receiver (or called a receiver, receiving circuit) and a transmitter (or called a transmitter, transmitting circuit). Among them, the receiver is used to receive signals, and the transmitter is used to transmit signals.
[0330] It should be understood that Figure 14 the terminal device 1400 shown can implement each process related to the terminal device in the above method embodiments. The operations and / or functions of each module in the terminal device 1400 are respectively for implementing the corresponding processes in the above method embodiments. Specifically, reference can be made to the descriptions in the above method embodiments. To avoid repetition, the detailed descriptions are appropriately omitted here.
[0331] The above-mentioned processor 1410 can be used to execute the actions implemented inside the terminal device described in the previous method embodiments, while the transceiver 1420 can be used to execute the actions of the terminal device sending to or receiving from the network device described in the previous method embodiments. For specific details, please refer to the descriptions in the previous method embodiments, and no further elaboration will be provided here.
[0332] Optionally, the above-mentioned terminal device 1400 may further include a power supply 1450 for supplying power to various devices or circuits in the terminal device.
[0333] In addition, in order to make the functions of the terminal device more complete, the terminal device 1400 may further include one or more of an input unit 1460, a display unit 1470, an audio circuit 1480, a camera 1490, and a sensor 1411, etc. The audio circuit may further include a speaker 1482, a microphone 1484, etc.
[0334] The embodiment of the present application also provides a processing device, including a processor and an interface; the processor is used to execute the method in any of the above method embodiments.
[0335] It should be understood that the above processing device may be a chip. For example, the processing device may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0336] In the implementation process, each step of the above method can be completed by the integrated logic circuit in the hardware of the processor or the instructions in the form of software. The steps of the method disclosed in the embodiments of the present application can be directly implemented by the execution of the hardware processor, or implemented by the combination of the hardware and software modules in the processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read only memory, a programmable read only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method. To avoid repetition, it will not be described in detail here.
[0337] It should be noted that the processor in the embodiments of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiments can be completed by the integrated logic circuit in the hardware of the processor or instructions in the form of software. The above processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed by the hardware decoding processor, or executed by a combination of the hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, register, etc. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.
[0338] It can be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but not be limited to, these and any other suitable types of memory.
[0339] According to the method provided by the embodiments of the present application, the present application also provides a computer program product, which includes: computer program code, when the computer program code runs on a computer, it causes the computer to execute Figures 5 to 11 each step or process executed by the terminal device or network device in the illustrated embodiment.
[0340] According to the method provided by the embodiments of the present application, the present application also provides a computer-readable storage medium, which stores program code, when the program code runs on a computer, it causes the computer to execute Figures 5 to 11 each step or process executed by the terminal device or network device in the illustrated embodiment.
[0341] According to the method provided by the embodiments of the present application, the present application also provides a communication system, which includes one or more of the foregoing terminal devices and one or more network devices.
[0342] The network device in each of the foregoing apparatus embodiments corresponds exactly to the network device or terminal device in the method embodiments, and the corresponding steps are executed by the corresponding modules or units. For example, the communication unit (transceiver) executes the receiving or sending steps in the method embodiments, and other steps except sending and receiving can be executed by the processing unit (processor). The functions of the specific units can be based on the corresponding method embodiments. Among them, the processor can be one or more.
[0343] The terms "component", "module", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, an application running on a computing device and the computing device can both be components. One or more components can reside in a process and / or execution thread, and the components can be located on one computer and / or distributed between two or more computers. In addition, these components can be executed from various computer-readable storage media storing various data structures. The components can communicate, for example, through local and / or remote processes according to a signal having one or more data packets (for example, data from two components interacting with another component between a local system, a distributed system, and / or a network, for example, the Internet interacting with other systems through a signal).
[0344] It should be understood that "at least one" as used herein means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B may be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item)" or a similar expression thereof refers to any combination of these items, including any combination of a single item or plural items. For example, at least one (item) of a, b, and c may represent: a, or b, or c, or a and b, or a and c, or b and c, or a, b, and c, where a, b, and c may be single or multiple.
[0345] Those of ordinary skill in the art can realize that the various illustrative logical blocks and steps described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. A professional technician can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0346] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can be based on the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0347] In 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 example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be in an electrical, mechanical, or other form.
[0348] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0349] In addition, in each embodiment of the present application, each functional unit may be integrated into one processing unit, may exist physically alone for each unit, or two or more units may be integrated into one unit.
[0350] In the above embodiments, the functions of each functional unit may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more integrated available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)), etc.
[0351] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, may be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0352] The above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims described above.
Claims
1. A control method for uplink data transmission, characterized in that, including: The terminal device receives first information from a network device, where the first information is used to indicate the maximum uplink bit rate of each logical channel in at least one logical channel; The terminal device allocates uplink resources for all or part of the logical channels in the at least one logical channel based on the maximum uplink bit rate, where the terminal device allocating uplink resources for all or part of the logical channels in the at least one logical channel based on the maximum uplink bit rate includes: The terminal device allocates uplink resources for all or part of the logical channels in the at least one logical channel based on the priority bit rate of the at least one logical channel and the maximum uplink bit rate, where the terminal device allocating uplink resources for all or part of the logical channels in the at least one logical channel based on the priority bit rate of the at least one logical channel and the maximum uplink bit rate includes: The terminal device allocates uplink resources for the at least one logical channel based on the priority bit rate; If there are remaining uplink resources and there is still data to be transmitted on a first logical channel in the at least one logical channel, the terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the first logical channel until any one of the following conditions is met: There is no data to be transmitted on the first logical channel, or the remaining uplink resources are exhausted, or the uplink bit rate of the first logical channel reaches the limit of the maximum uplink bit rate of the first logical channel.
2. The method according to claim 1, wherein The terminal device allocating the remaining uplink resources based on the maximum uplink bit rate of the first logical channel includes: If the sum of the uplink bit rate of a first service data unit (SDU) that is not multiplexed into a protocol data unit (PDU) in the first logical channel and the uplink bit rate of a second SDU that has been multiplexed into the PDU in the first logical channel is less than or equal to the maximum uplink bit rate of the first logical channel, the terminal device multiplexes the first SDU into the PDU.
3. The method according to claim 1, characterized in that, The terminal device allocating the remaining uplink resources based on the priority bit rate of the logical channel and the maximum uplink bit rate of the first logical channel includes: If the sum of the uplink bit rate of a first SDU that is not multiplexed into a PDU in the first logical channel and the uplink bit rate of a second SDU that has been multiplexed into the PDU in the first logical channel is greater than the maximum uplink bit rate of the first logical channel, the terminal device segments the first SDU to obtain a first sub-SDU and multiplexes the first sub-SDU into the PDU.
4. The method according to claim 1, characterized in that, The first logical channel includes at least two logical channels, and the terminal device allocating the remaining uplink resources based on the maximum uplink bit rate of the first logical channel includes: The terminal device allocates the remaining uplink resources based on the maximum uplink bit rate of the at least two logical channels in descending order of the priority of the at least two logical channels until any one of the following conditions is met: There is no data to be transmitted on the at least two logical channels, or the remaining uplink resources are exhausted, or the uplink bitrates of the at least two logical channels all reach the limit of the maximum uplink bitrate of the at least two logical channels.
5. The method according to claim 4, characterized in that The terminal device allocates the remaining uplink resources based on the maximum uplink bitrates of the at least two logical channels in descending order of the priorities of the at least two logical channels, including: If the sum of the uplink bitrate of a third SDU that is not multiplexed into a PDU in a second logical channel and the uplink bitrate of a fourth SDU that has been multiplexed into the PDU in the second logical channel is less than or equal to the maximum uplink bitrate of the second logical channel, the terminal device multiplexes the third SDU into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
6. The method according to claim 4, wherein The terminal device allocates the remaining uplink resources based on the maximum uplink bitrates of the at least two logical channels in descending order of the priorities of the at least two logical channels, including: If the sum of the uplink bitrate of a third SDU that is not multiplexed into a PDU in a second logical channel and the uplink bitrate of a fourth SDU that has been multiplexed into the PDU in the second logical channel is greater than the maximum uplink bitrate of the second logical channel, the terminal device segments the third SDU to obtain third sub-SDUs and multiplexes the third sub-SDUs into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
7. The method according to any one of claims 1 to 6, characterized in that, The at least one logical channel corresponds to one network slice.
8. The method according to any one of claims 1 to 6, characterized in that The at least one logical channel corresponds to one PDU session.
9. A control device for uplink data transmission, characterized in that, Including: A transceiver unit, configured to receive first information from a network device, where the first information is used to indicate the maximum uplink bitrate of each logical channel in at least one logical channel; A processing unit, configured to allocate uplink resources for all or part of the logical channels in the at least one logical channel based on the maximum uplink bitrate, wherein the processing unit is specifically configured to: Allocate uplink resources for all or part of the logical channels in the at least one logical channel based on the priority bitrate and the maximum uplink bitrate of the at least one logical channel, wherein the processing unit is specifically configured to: Allocate uplink resources for the at least one logical channel based on the priority bitrate; If there are remaining uplink resources and a first logical channel in the at least one logical channel still has data to be transmitted, allocate the remaining uplink resources based on the maximum uplink bitrate of the first logical channel until any one of the following conditions is satisfied: There is no data to be transmitted on the first logical channel, or the remaining uplink resources are exhausted, or the uplink bitrate of the first logical channel reaches the limit of the maximum uplink bitrate of the first logical channel.
10. The device according to claim 9, characterized in that, The processing unit is specifically configured to: If the sum of the uplink bit rate of the first service data unit (SDU) that is not multiplexed into the protocol data unit (PDU) in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is less than or equal to the maximum uplink bit rate of the first logical channel, multiplex the first SDU into the PDU.
11. The device according to claim 9, wherein The processing unit is specifically configured to: If the sum of the uplink bit rate of the first SDU that is not multiplexed into the PDU in the first logical channel and the uplink bit rate of the second SDU that has been multiplexed into the PDU in the first logical channel is greater than the maximum uplink bit rate of the first logical channel, perform segmentation processing on the first SDU to obtain a first sub-SDU, and multiplex the first sub-SDU into the PDU.
12. The device according to claim 9, characterized in that, The first logical channel includes at least two logical channels, and the processing unit is specifically configured to: Based on the maximum uplink bit rates of the at least two logical channels, allocate the remaining uplink resources in descending order of the priorities of the at least two logical channels until any one of the following conditions is met: There is no data to be transmitted on the at least two logical channels, or the remaining uplink resources are exhausted, or the uplink bit rates of the at least two logical channels both reach the limit of the maximum uplink bit rates of the at least two logical channels.
13. The device according to claim 12, characterized in that, The processing unit is specifically configured to: If the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is less than or equal to the maximum uplink bit rate of the second logical channel, multiplex the third SDU into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
14. The device according to claim 12, characterized in that, The processing unit is specifically configured to: If the sum of the uplink bit rate of the third SDU that is not multiplexed into the PDU in the second logical channel and the uplink bit rate of the fourth SDU that has been multiplexed into the PDU in the second logical channel is greater than the maximum uplink bit rate of the second logical channel, perform segmentation processing on the third SDU to obtain a third sub-SDU, and multiplex the third sub-SDU into the PDU, where the second logical channel is the logical channel with the highest priority among the at least two logical channels.
15. The device according to any one of claims 9 to 14, characterized in that, The at least one logical channel corresponds to one network slice.
16. The device according to any one of claims 9 to 14, characterized in that The at least one logical channel corresponds to one PDU session.
17. A control device for uplink data transmission, characterized in that, Comprising: A processor, the processor is coupled with a memory, the memory is used to store programs or instructions, when the programs or instructions are executed by the processor, the processor executes the method according to any one of claims 1-8.
18. A computer-readable storage medium for storing a computer program, characterized in that, The computer program includes instructions for implementing the method according to any one of claims 1-8.
19. A chip, characterized in that, Comprising: A processor, configured to read instructions stored in a memory, when the processor executes the instructions, the chip implements the method according to any one of claims 1-8 above.
Citation Information
Patent Citations
Method and apparatus for initializing, preserving and reconfiguring token buckets
CN101933361A