Method for discarding RLC SDU and user equipment
Patent Information
- Application Number
- CN202410070577.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-17
- Publication Date
- 2025-07-18
AI Technical Summary
但是现有的RLC AM传输模式,会使得这样的数据一传再传,浪费了传输资源
[0009] According to the present invention, it is possible to avoid repeatedly transmitting data due to not receiving a positive acknowledgment for an RLC SDU that has been discarded, and thus it is possible to avoid waste of transmission resources.
Smart Images

Figure CN120342953A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technologies. More specifically, the present invention relates to a method for discarding RLC SDUs executed by an RLC entity of a user equipment, and a corresponding base station and user equipment. Background Art
[0002] Transmissions of the RLC layer can be divided into three modes: AM, UM, and TM. Among them, in the AM mode, the reliability of data transmission is ensured through the ARQ transmission mechanism.
[0003] However, to achieve this reliability, the UE continuously sends data packets that have not been correctly received by the peer until the transmission is successful or the maximum allowed number of times is reached, thus bringing about a problem of data transmission delay. For service data types that are not sensitive to delay, such transmissions are reliable, but for service data that is sensitive to delay, such a transmission method is not very effective. Especially in some transmission scenarios, some service data becomes irrelevant or even can be discarded after exceeding a certain transmission time. However, the existing RLC AM transmission mode will cause such data to be transmitted again and again, wasting transmission resources. Therefore, it is necessary to solve the foregoing problems to achieve reliable and efficient transmission. Summary of the Invention
[0004] The object of the present invention is to provide a method for discarding RLC SDUs and a user equipment that can avoid waste of transmission resources.
[0005] According to one aspect of the present invention, there is provided a method for discarding RLC SDUs executed by an RLC entity of a base station or a user equipment. The method includes: when receiving a discard indication instructing to discard RLC SDUs from an upper layer, for each RLC SDU to be discarded indicated by the discard indication, if the RLC SDU to be discarded or a fragment of the RLC SDU to be discarded has been delivered to a lower layer, updating a first state variable such that the value of the first state variable is not equal to the sequence number of the RLC SDU to be discarded, where the first state variable represents the sequence number of the next RLC SDU that requires a positive acknowledgment from the peer.
[0006] According to another aspect of the present invention, there is provided a method for discarding RLC SDUs performed by an RLC entity of a base station or a user equipment, including: receiving discard indication information, where the discard indication information includes indication information of RLC SDUs that have been discarded by the sending end; and for each discarded RLC SDU indicated by the indication information, updating a second state variable based on the sequence number of the discarded RLC SDU, so that positive acknowledgment generation processing is not performed for the discarded RLC SDU, and the second state variable includes at least one of the maximum value among the sequence numbers of the last RLC SDU that has been completely received by the receiving end and the sequence numbers of the RLC SDUs for which positive acknowledgments have been generated.
[0007] According to another aspect of the present invention, there is provided a user equipment, including: a processor; and a memory storing instructions; wherein, when the instructions are run by the processor, the above-mentioned method is executed.
[0008] According to another aspect of the present invention, there is provided a base station, including: a processor; and a memory storing instructions; wherein, when the instructions are run by the processor, the above-mentioned method is executed.
[0009] According to the present invention, it is possible to avoid repeatedly transmitting data due to not receiving a positive acknowledgment for an RLC SDU that has been discarded, and thus it is possible to avoid waste of transmission resources.
[0010] In addition, according to the present invention, it is possible to avoid the receiving end still generating and sending a positive acknowledgment for an RLC SDU when the sending end has discarded the RLC SDU, thereby avoiding waste of transmission resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is a schematic diagram for explaining the RLC AM mode.
[0012] Figure 2 is a flowchart of a method for discarding RLC SDUs executed by a user equipment at the sending end.
[0013] Figure 3 is a flowchart of a method for discarding RLC SDUs executed by the receiving end.
[0014] Figure 4 is a brief structural block diagram of a user equipment UE related to the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] The present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the present invention should not be limited to the specific embodiments described below. In addition, for the sake of simplicity, the detailed description of well-known technologies that have no direct relation to the present invention is omitted to prevent confusion in the understanding of the present invention.
[0016] Before the specific description, the following explanations are made for several terms mentioned in the present invention. Unless otherwise indicated, the terms involved in the present invention have the following meanings.
[0017] UE: User Equipment, user equipment
[0018] NR: New Radio, new generation wireless technology
[0019] LTE: Long Term Evolution, long term evolution technology
[0020] eLTE: Enhaced Long Term Evolution, enhanced long term evolution technology
[0021] RRC: Radio Resource Control, radio resource control (layer)
[0022] MAC: Medium Access Control, media access control (layer)
[0023] PUSCH: Physical Uplink Shared Channel, physical uplink shared channel
[0024] PDCCH: Physical Downlink Control Channel, physical downlink control channel
[0025] RNA: RAN-based Notification Area, radio access network-based notification area
[0026] SDAP: Service Data Adaptation Protocol, service data adaptation layer protocol
[0027] AM: Acknowledged Mode, acknowledged mode
[0028] AMD: AM Data, acknowledged mode data
[0029] ARQ: Automatic Repeat request, automatic repeat request
[0030] gNB Next Generation Node B, the next-generation base station
[0031] PDU Protocol Data Unit
[0032] RLC Radio Link Control
[0033] SDU Service Data Unit
[0034] SN Sequence Number
[0035] In the following, the NR mobile communication system and its subsequent evolved versions are used as an example application environment. Taking the base stations and UE devices supporting NR as examples, multiple embodiments according to the present invention are specifically described. However, it should be noted that the present invention is not limited to the following embodiments, but is applicable to more other wireless communication systems, such as eLTE communication systems, or NB-Iot systems, or LTE-M systems. Moreover, it can be applied to other base stations and UE devices, such as base stations and UE devices supporting eLTE / NB-Iot / LTE-M.
[0036] The functions of the RLC layer are implemented by RLC entities. An RLC entity can receive one or more RLC SDUs from its upper layer, usually the PDCP layer, and then send the corresponding RLC PDUs of this or these RLC SDUs to the peer RLC entity via the lower layers, usually the MAC layer and the physical layer, etc.; an RLC entity can also receive one or more RLC PDUs from its peer RLC entity via the lower layer, and then deliver the corresponding RLC SDUs of this or these RLC PDUs to the upper layer.
[0037] RLC AM mode
[0038] As Figure 1 shown, in the RLC AM mode, there are a sending end and a receiving end of the RLC entity. Generally, the sending end can be located on the gNB / UE side, and the receiving end is located on the other UE side, or the sending end is located on the UE side, and the receiving end is located on the gNB / the other UE.
[0039] The RLC data PDUs (RLC data PDUs) transmitted or received by the AM RLC entity are called AMD PDUs. An AMDPDU contains a complete RLC SDU or a segment of an RLC SDU (RLC SDU segment). The RLC control PDUs (RLC control PDUs) transmitted or received by the AM RCL entity include status reports (STATUS PDUs)
[0040] Transmitting side of an AM RLC entity
[0041] The sender maintains a transmission window according to the status variable TX_Next_Ack:
[0042] If TX_Next_Ack <= SN < TX_Next_Ack + AM_Window_Size, then this SN falls within the transmission window; otherwise, this SN falls outside the transmission window.
[0043] For SNs that fall outside the transmission window, the sender will not deliver them to the lower layer for transmission.
[0044] For each RLC SDU received from the upper layer (PDCP), the RLC entity operating in the AM mode associates an SN with this RLC SDU. It can be considered that this SN is the SN of this RLC SDU or the SN associated with it. This SN is the value of the current variable TX_Next. Then an AMD PDU is generated, and the SN of this AMD PDU is set to the value of the current variable TX_Next. Then the value of the variable TX_Next is incremented by 1, that is, a new variable TX_Next is obtained, and its value is the value of the current variable TX_Next plus 1.
[0045] When delivering an AMD PDU containing an RLC SDU segment to the lower layer for transmission, the AM RLC entity sender will set the SN of this AMD PDU to the SN associated with this RLC SDU.
[0046] The transmitting side of an AM RLC entity can receive a STATUS PDU sent from the RLC entity on the peer side (i.e., the receiving side of the AM RLC entity). This STATUS PDU is used by the RLC entity on the peer side to confirm to the transmitting side the successful reception of an RLC SDU, that is, to provide a positive acknowledgement (ACK) of an RLC SDU. When an RLC SDU is confirmed by the peer side as successfully received or a positive acknowledgement of an RLC SDU is received from the peer side, the transmitting side of the RLC entity will indicate to the upper layer that the RLC SDU has been successfully transmitted, and then update the value of the variable TX_Next_Ack, setting its value to the smallest SN among one or more SNs that fall within the range TX_Next_Ack <= SN <= TX_Next and have not been confirmed as successfully received.
[0047] Receiving side of an RLC entity
[0048] receiving side of an AM RLC entity
[0049] The receiving side maintains a receive window based on the status variable RX_Next.
[0050] If RX_Next <= SN < RX_Next + AM_Window_Size, then this SN falls within the receive window; otherwise, it falls outside the receive window.
[0051] For the received AMD PDU, the receiving side of the AM RLC entity either discards the AMD PDU or stores it in the reception buffer.
[0052] For an SN that falls outside the receive window, the receiving side can discard the AMD PDU; in addition, for an AMD PDU that contains a segment of an RLC SDU, if it is confirmed that the segment has been received, the receiving side can also discard the AM PDU.
[0053] For the AMD PDU stored in the reception buffer, the receiving side can perform the following processing
[0054] Update one or more status variables, reconstruct the RLC SDU, and deliver the reconstructed RLC SDU to the upper layer, and if necessary, stop or start the corresponding timer.
[0055] Specifically, for an AMD PDU with SN = X, when it is stored in the receive buffer,
[0056] if x >= RX_Next_Highest, then update the value of RX_Next_Highest, and the new value of RX_Next_Highest is the current value of RX_Next_Highest plus one.
[0057] If all segments of the RLC SDU associated with SN = X have been received, then recombine these segments into an RLC SDU and deliver the recombined RLC SDU to the upper layer;
[0058] if x = RX_Highest_Status, then update the value of RX_Highest_Status, and the new value of RX_Highest_Status is: among one or more SNs whose values are greater than the current value of RX_Highest_Status, select the SNs associated with the RLC SDUs for which all segments (or all bytes) have not been received, and then select the SN associated with the first RLC SDU in the sorting. Here, the first in the sorting can refer to sorting by the size of the SN, where the SN with the smallest value is ranked first. Then, the updated value of RX_Highest_Status is the value of this SN with the smallest value.
[0059] if x = RX_Next, then update the value of RX_Next, and the new value of RX_Next is: among one or more SNs whose values are greater than the current value of RX_Next, select the SNs associated with the RLC SDUs for which all segments (or all bytes) have not been received, and then select the SN associated with the first RLC SDU in the sorting. Here, the first in the sorting can refer to sorting by the size of the SN, where the SN with the smallest value is ranked first. Then, the updated value of RX_Next is the value of this SN with the smallest value.
[0060] ARQ transmission
[0061] The sending end of the RLC entity can obtain the notification of reception failure or negative acknowledgement (NACK) of the RLC SDU and the RLC SDU segments by receiving the STATUS PDU from the peer end.
[0062] When a negative acknowledgment for a certain RLC SDU is received, or a negative acknowledgment for a segmentation of a certain RLC SDU is received, then if the value of the SN of the RLC SDU is greater than or equal to TX_Next_Ack and less than or equal to the largest SN value in the AMD PDU delivered to the lower layer for transmission, then it is considered that the RLC SDU or the segmentation of the RLC SDU needs to be retransmitted.
[0063] When retransmitting an RLC SDU or a segmentation of an RLC SDU, a new AMD PDU can be generated and then delivered to the lower layer for transmission.
[0064] Discarding of RLC SDUs in existing mechanisms
[0065] When the upper layer of the UE, the PDCP layer, instructs the RLC layer to discard a specific RLC SDU, the transmitting end of the RLC entity determines whether the RLC SDU or the segmentation of the RLC SDU has been delivered to the lower layer for transmission. If the RLC SDU or the segmentation of the RLC SDU has not been delivered to the lower layer for transmission, which means that all segments of the RLC SDU have not been delivered to the lower layer, then the transmitting end of the RLC entity can discard the RLC SDU; if there is an RLC SDU or a segmentation of the RLC SDU that has been delivered to the lower layer for transmission, which means that at least one of the multiple segments has been delivered to the lower layer, then the transmitting end of the RLC entity does not perform any operation, but lets the RLC SDU or its segmentation be sent to the peer according to the aforementioned process.
[0066] Status variable
[0067] The value of the variable TX_Next_Ack is equal to the SN value of the next RLC SDU for which a positive acknowledgment is to be received in-sequence, and it also represents the starting sequence number of the acknowledgment of the transmission window.
[0068] The value of the variable TX_Next is equal to the SN of the next newly generated AMD PDU and the window size of AM_Window_Size.
[0069] The value of the variable RX_Next is equal to the value of the SN of the last in-sequence completely received RLC SDU, and it also represents the starting sequence number of the receive window.
[0070] RX_Next_Highest The highest received sequence number
[0071] RX_Highest_Status When constructing a STATUS PDU, it is the value of the largest or highest SN that is positively acknowledged by the receiving end as indicated by the field ACK_SN in the STATUS PDU, that is, the highest sequence number in the STATUS PDU.
[0072] The value of the variable RX_Next_Highest is equal to the value of the SN of the RLC SDU with the highest SN among the received RLC SDUs, which is the highest sequence number in the status report.
[0073] Hereinafter, with reference to Figure 2 and Figure 3 the outline of the embodiments of the present invention will be described.
[0074] Figure 2 is a flowchart of a method for discarding RLC SDUs performed by a base station or a user equipment. Specifically, this method is performed by the transmitting end of the RLC entity of the base station or the user equipment.
[0075] As Figure 2 shown, in step 201, the RLC entity receives a discard indication from the upper layer indicating the discarding of an RLC SDU.
[0076] Then, in step 203, the RLC entity determines whether the RLC SDU or its fragment to be discarded as indicated by the discard indication has been delivered to the lower layer.
[0077] If the RLC SDU or its fragment to be discarded has been delivered to the lower layer, then update the first status variable such that the value of the first status variable is not equal to the sequence number of the RLC SDU to be discarded. Here, the first status variable represents the sequence number of the next RLC SDU that requires positive acknowledgment from the peer end.
[0078] As a specific example of updating the first state variable, RLC SDUs with sequence numbers within a given window starting from the value of the current first state variable and not yet positively acknowledged or indicated for discard can be filtered out, and then the minimum value among the sequence numbers of these RLC SDUs is assigned to the first state variable.
[0079] Further, in step 207, a discard report is generated and sent to the peer end, and the discard report includes indication information of RLC SDUs discarded by the user equipment at the transmitting end.
[0080] The discard report may include indication information of RLC SDUs with sequence numbers within a given window starting from the value of the current first state variable. Although Figure 2 shows step 207 after step 205, step 207 can also be executed before step 205. In the Figure 2 shown case, the current first state variable is the updated first state variable. In the case where step 207 is executed before step 205, the current first state variable is the first state variable before update.
[0081] In addition, in the case where the discard indication indicates multiple RLC SDUs to be discarded, the operations of steps 203 and 205 are respectively executed for each RLC SDU to be discarded.
[0082] If the RLC SDU to be discarded or its fragment has not been delivered to the lower layer, then in step 209, the sequence number of the RLC SDU to be discarded is released.
[0083] In addition, although Figure 2 shows that in the case where the RLC SDU to be discarded or its fragment has been delivered to the lower layer, the RLC SDU is discarded by updating the first state variable, the discard method used can also be selected according to specific circumstances. This is specifically described in Embodiment 3 below.
[0084] In this embodiment, through the above update operation, the value of the first state variable will not be locked to the sequence number of the RLC SDU that has been discarded, so that data will not be repeatedly sent due to not receiving a positive acknowledgment of the discarded RLC SDU.
[0085] Figure 3 is a flowchart of a method for discarding RLC SDUs executed by a base station or a user equipment. Specifically, this method is executed by the receiving end of the RLC entity of the base station or the user equipment.
[0086] As Figure 3As shown, in step 301, discard indication information is received. The discard indication information includes indication information of the RLC SDUs that have been discarded by the transmitting end. The discard indication information can be received by receiving a discard report, and the discard report is sent from the user equipment or the base station that transmits data.
[0087] In step 303, for each discarded RLC SDU indicated by the indication information, based on the sequence number of the discarded RLC SDU, the second state variable is updated so that the generation process of positive acknowledgment is not performed for the discarded RLC SDU.
[0088] The second state variable can be the sequence number (RX_Next) of the last RLC SDU that has been completely received by the receiving end. In this case, if the sequence number of the discarded RLC SDU is not less than the current second state variable, the second state variable is incremented by a given value, thereby updating the second state variable.
[0089] The second state variable can also be the maximum value (RX_Highest_Status) among the sequence numbers of the RLC SDUs for which positive acknowledgments have been generated. In this case, if the sequence number of the discarded RLC SDU is equal to the value of the current second state variable, the second state variable is updated so that the value of the second state variable is not equal to the sequence number of the discarded RLC SDU, thereby updating the second state variable. Specifically, the RLC SDUs with sequence numbers greater than the value of the current second state variable, and that have not been completely received and have not been discarded, can be filtered out, and the minimum value among the sequence numbers of these RLC SDUs is assigned to the second state variable.
[0090] In one example, the second state variable can include both RX_Next and RX_Highest_Status. When the discard indication information is received, for each discarded RLC SDU, it can be determined whether the sequence number of the discarded RLC SDU is not less than RX_Next. If it is less than RX_Next, it is further determined whether the sequence number of the discarded RLC SDU is equal to RX_Highest_Status. Alternatively, it can also be first determined whether the sequence number is equal to RX_Highest_Status. If it is not equal to RX_Highest_Status, it is further determined whether it is not less than RX_Next. The second state variable can also include only one of RX_Next and RX_Highest_Status. In this case, only one of the above determinations can be performed.
[0091] Hereinafter, several embodiments of the present invention will be described in detail.
[0092] It should be noted that the transmitter of the RLC entity and the receiver of the RLC entity in this article can be located on different UE sides, or can be located on the base station side and the UE side respectively, or on the UE side and the base station side. In this article, the case of being located on the UE side is taken as an example.
[0093] Embodiment 1
[0094] When the upper layer of the UE, such as the PDCP layer, instructs the RLC layer to discard a specific RLC SDU, the transmitter of the RLC entity determines whether the RLC SDU or the segmentation of the RLC SDU has been delivered to the lower layer for transmission:
[0095] In one case, the RLC SDU or the segmentation of the RLC SDU has not been delivered to the lower layer for transmission, or in other words, neither the RLC SDU nor any segmentation of the RLC SDU has been delivered to the lower layer for transmission. Then the transmitter of the RLC entity can discard the RLC SDU. Preferably, the SN associated with the discarded RLC SDU can be released, and the SN can also be associated with other RLC SDUs.
[0096] In one case, the RLC SDU or the segmentation of the RLC SDU (which can be at least one of multiple segmentations) has been delivered to the lower layer for transmission. Then the transmitter of the RLC entity can perform one or more of the following operations:
[0097] Operation 1: Determine the value of the SN associated with the RLC SDU. This operation is an optional operation. It is possible that the UE has already determined the SN associated with the RLC SDU when judging whether the RLC SDU or the segmentation of the RLC SDU has been delivered to the lower layer for transmission.
[0098] Operation 2: Update the value of the variable TX_Next_Ack so that the value of TX_Next_Ack skips / is not equal to the sequence number of the RLC SDU to be discarded. One possible update method can be:
[0099] First, determine one or several RLC SDUs that meet the conditions. The conditions to be met here can be that the SN values associated with this or these RLC SDUs need to be greater than or equal to the current value of TX_Next_Ack and less than or equal to the current value of TX_Next (TX_Next_Ack <= SN <= TX_Next);
[0100] Secondly, among these RLC SDUs that meet the conditions, select the RLC SDUs that have not been successfully acknowledged (i.e., the RLC SDUs for which no ACK has been received), and this or these RLC SDUs are RLC SDUs that have not been indicated to be discarded. For RLC SDUs that have not been successfully acknowledged but have been indicated to be discarded, they do not need to be considered / selected.
[0101] Then, for this or these selected RLC SDUs, sort them according to the values of their associated SNs, select the SN with the smallest value, and assign its value to TX_Next_Ack.
[0102] In this way, for RLC SDUs that have been indicated to be discarded, there is no need for retransmission.
[0103] Another possible update method could be:
[0104] For RLC SDUs whose SN values fall within the range TX_Next_Ack <= SN <= TX_Next, if they have not been successfully acknowledged and have not been indicated to be discarded, then select the RLC SDU with the smallest SN value among them, and assign its SN value to TX_Next_Ack.
[0105] Operation 3 generates an RLC control PDU, here called a Discard PDU. Information is carried in this Discard PDU, directly or indirectly indicating the SNs associated with one or more RLC SDUs that have been indicated to be discarded. Preferably, the SN values here fall within the transmission window, i.e., TX_Next_Ack <= SN < TX_Next_Ack + AM_Window_Size, where TX_Next_Ack is the value before the update operation in Operation 2. This operation can also be an optional operation, which can be performed before or after Operation 2. The generated RLC control PDU will be handed over to the lower layer for transmission and received and processed by the peer end.
[0106] A feasible indication method could be to directly include the SNs of the RLC SDUs that have been indicated to be discarded in this Discard PDU. Preferably, if there are multiple RLC SDUs that have been indicated to be discarded, then the SN of the RLC SDU with the smallest SN value among them, SN-x, and a range value discard-RANG can also be included in this RLC control PDU, so that SN-x + discard-RANG - 1 = SN-y, where SN-y is the SN value of the RLC SDU with the largest SN value among the multiple RLC SDUs that have been indicated to be discarded.
[0107] In this embodiment, the transmitting end of the RLC entity can be located not only on the UE side but also on the base station side.
[0108] Embodiment 2
[0109] Corresponding to the operation of the transmitting end of the RLC entity in Embodiment 1, as the peer end, that is, the receiving end of the RLC entity, when receiving the Discard PDU sent in Embodiment 1, the following operations can be performed:
[0110] For each SN carried in the Discard PDU, assuming the value of this SN is x, then
[0111] In one case, if x >= RX_Next_Highest, update the variable RX_Next_Highest so that the upper limit of the receiving window can move forward. A feasible update operation can be to set the value of RX_Next_Highest to x + 1.
[0112] In one case, x = RX_Highest_Status, update the variable RX_Highest_Status so that the generation process of positive acknowledgment is not performed for the discarded RLC SDU. A feasible update operation can be:
[0113] Preferably determine the RLC SDU that meets the conditions. The conditions to be met refer to that the SN associated with this or these RLC SDUs needs to be greater than the value of the current RX_Highest_Status (SN > current RX_Highest_Status);
[0114] Then, among the RLC SDUs that meet the conditions, select the RLC SDU(s) that have not been completely received (not all bytes have been received) and have not been indicated to be discarded. Here, being indicated to be discarded means the RLC SDU indicated to be discarded in the Discard PDU. For the RLC SDU that has not been completely received but has been indicated to be discarded, it does not need to be considered / selected.
[0115] Then sort the SNs associated with these selected RLC SDUs according to the value size, select the SN with the smallest value, and assign its value to RX_Highest_Status.
[0116] Another feasible update method can be:
[0117] For RLC SDUs whose SN values fall within the range of SN > current RX_Highest_Status, if they have not been completely received and have not been indicated to be discarded, then select the RLC SDU with the smallest SN value among them, and assign the SN value thereof to RX_Highest_Status.
[0118] In one case, when x = RX_Next, then update the value of the variable RX_Next so that the lower limit of the receiving window can move forward. A feasible update operation can be:
[0119] First, determine the RLC SDUs that meet the conditions. The SN value(s) associated with this or these RLC SDUs need to be greater than the current value of RX_Next;
[0120] Then, among the RLC SDUs that meet the conditions, select the RLC SDU(s) that have not been completely received and have not been indicated to be discarded. Here, being indicated to be discarded means the RLC SDU discarded by the Discard PDU indication. For RLC SDUs that have not been completely received but have been indicated to be discarded, they do not need to be considered / are not selected.
[0121] Then, sort the SNs associated with these selected RLC SDUs according to their values, select the SN with the smallest value, and assign its value to RX Next.
[0122] Another feasible update method can be:
[0123] For RLC SDUs whose SN values fall within the range of SN > current RX Next, if they have not been completely received and have not been indicated to be discarded, then select the RLC SDU with the smallest SN value among them, and assign the SN value thereof to RX Next.
[0124] In this way, for RLC SDUs indicated to be discarded, there is no need to wait for reception anymore.
[0125] The receiving end of the RLC entity in this embodiment can be located on the UE side or on the base station side.
[0126] In this embodiment, the discard indication of the RLC SDU received by the RLC entity receiver can be obtained not only from the Discard PDU described in Embodiment 1, but also from other channels. For example, the UE including the RLC entity receiver receives an RRC message from the base station, and the message indicates or includes information related to the RLC SDU to be discarded, such as the SN. Then, based on this discard indication, the UE can independently perform the operations in this embodiment to implement the discard operation.
[0127] Embodiment 3
[0128] Embodiment 1 introduces a new way to discard RLC SDUs. There is also an existing way to discard RLC SDUs in the existing mechanism. Then, which way should the RLC layer adopt to discard the RLC SDU when receiving the discard indication is also a problem to be solved.
[0129] A possible solution can be that the upper layer of the RLC, such as the PDCP layer, indicates the discard method when instructing the RLC to discard the RLC SDU. Here, it is assumed that the discard method in Embodiment 1 is Method 2; the discard method of the RLC SDU in the existing mechanism is Method 1. Then, when the PDCP layer instructs the RLC entity to discard a certain or certain RLC SDUs, it also indicates the discard method, and the RLC entity can perform the discard process according to the indicated discard method.
[0130] Another possible solution can also be to configure the RLC entity. Directly configure the discard method it adopts to always be one of Method 1 or Method 2, or configure the discard method it adopts to be Method 2. If this configuration is missing, the default discard method is Method 1. Or use an indirect configuration method. For example, if a DRB associated with an RLC entity belongs to a specific service type, then correspondingly, the discard method adopted by this RLC entity is always Method 2. If it does not belong to a specific service type, then the discard method adopted by this RLC entity is always Method 1. Another example is that the PDCP layer associated with this RLC entity is configured with a specific function or feature, such as PDU group discard. Then, the RLC SDU discard indicated by this PDCP always adopts Method 2. Correspondingly, if the PDCP layer associated with this RLC entity is not configured with this specific function or feature, then the RLC SDU discard indicated by this PDCP always adopts Method 1. This configuration can be implemented by receiving the RRC configuration message and determined by the configuration information provided in the RRC configuration message.
[0131] Another possible solution could be that the RLC entity discards a specific RLC SDU in the second way. Here, the specific RLC SDU can refer to an RLC SDU containing data of a specific service type, such as a delay-critical service or a service with timeliness requirements. A characteristic of such services is that within a certain time period, there are relatively high requirements for data transmission delay, reliability, etc. However, beyond this time period, this data can be considered expired or unnecessary to transmit. For example, when the upper layer of RLC, such as the PDCP layer, submits data, that is, the RLC SDU, to the RLC, it can also indicate that this RLC SDU is a delay-sensitive RLC SDU, or provide corresponding information that enables the RLC to know that this RLC SDU carries or contains data of a delay-sensitive service, simply referred to as an RLC SDU belonging to a delay-sensitive service. Then, when the PDCP instructs the RLC to discard the RLC SDU, the RLC entity determines whether the RLC SDU belongs to the RLC SDU of the delay-sensitive service type. If the RLC SDU to be discarded is a delay-sensitive RLC SDU, it is discarded in the second way; if it is not such an RLC SDU, it is discarded in the first way. That is, the RLC entity decides which way to discard according to the type of the indicated RLC SDU. Preferably, the RLC can obtain the type of an RLC SDU through the indication information of the upper layer.
[0132] This solution can be used in combination with Embodiment 1 or alone to solve the problem of how to determine the discard method of the RLC SDU.
[0133] Embodiment Four
[0134] When the upper layer of the UE, such as the PDCP layer, instructs the RLC layer to discard a specific RLC SDU, the sending end of the RLC entity determines whether the RLC SDU or the segmentation of the RLC SDU has been submitted to the lower layer for transmission:
[0135] In one case, if there is no such RLC SDU or the segmentation of the RLC SDU has not been submitted to the lower layer for transmission, or rather, the RLC SDU or the segmentation of the RLC SDU has not been submitted to the lower layer for transmission, then the sending end of the RLC entity can discard the RLC SDU. Preferably, the SN associated with the discarded RLC SDU can be released, and the SN can also be associated with other RLC SDUs.
[0136] In one case, if the RLC SDU or the segmentation of the RLC SDU has been submitted to the lower layer for transmission, then the sending end of the RLC entity can perform the following operations:
[0137] For each RLC SDU indicated to be discarded, an RLC PDU (AMD PDU) is generated. This RLC PDU only contains the header fields of the RLC PDU and does not contain data, that is, it does not contain the RLC SDU. Among them, the setting of the header field values of such an RLC PDU is as follows
[0138] - Set the value of the SN (Sequence Number (SN) field) to the value of the SN associated with the RLC SDU indicated to be discarded:
[0139] - If this RLC SDU is not segmented when delivered to the lower layer for transmission, then set the value of the SI (Segmentation Info (SI) field) to "00":
[0140] - If the segmentation of this RLC SDU has been delivered to the lower layer for transmission, then in one way, the value of the SI can be set to "10", indicating that it contains the last segment, and optionally, the value of the SO (Segment Offset (SO) field) can also be set. Preferably, the value of this SO is different from the previously set value. Here, "previously" refers to the value set in one or more segments of the RLC SDU delivered to the lower layer for transmission.
[0141] - An alternative implementation is that regardless of whether the RLC SDU is segmented, the value of the SI is always set to "00".
[0142] Example 5
[0143] Based on Example 4, the problem to be solved is when to send such an RLC PDU that only contains the header.
[0144] A possible transmission timing can be: when the upper layer indicates to discard the RLC SDU, the sending end of the RLC entity generates the above RLC PDU and delivers it to the lower layer for sending. Preferably, such an RLC PDU can be sent preferentially.
[0145] Another possible transmission timing can be when, after the upper layer indicates to discard the RLC SDU, when the transmitting end of the RLC entity performs retransmission, for the RLC SDU indicated to be discarded, transmit the above RLC PDU containing only the packet header. The moment to generate this RLC PDU can be generated when receiving the upper layer indication to discard the RLC SDU, or it can be generated and transmitted when performing retransmission. The specific implementation method can be that after the transmitting end of the RLC entity determines the RLC SDU that needs to be retransmitted, for example, determines the SN of the RLC SDU that needs to be retransmitted. If it is determined that this RLC SDU is the RLC SDU indicated to be discarded by the upper layer, then generate the RLC PDU as described in Embodiment 4, and then deliver it to the lower layer for transmission, so as to send it to the peer end.
[0146] Embodiment 6
[0147] Based on Embodiments 4 and 5, when the receiving end of the RLC entity receives the RLC PDU described in Embodiment 4, the following operations can be performed:
[0148] When receiving an AMD PDU from the lower layer, if the SN of this AMD PDU = x, and this AMD PDU contains only the packet header, or this AMD PDU does not contain data or RLC SDU, then the receiving end of the RLC entity stores this AMD PDU in the receive buffer. Preferably, the receiving end of the RLC entity can determine whether this SN falls within the receive window, that is, if x satisfies X_Next <= x < RX_Next + AM_Window_Size, indicating that it falls within the receive window, then the receiving end of the RLC entity stores this AMD PDU in the receive buffer; if x does not satisfy X_Next <= x < RX_Next + AM_Window_Size, that is, x is less than X_Next or x is greater than or equal to RX_Next + AM_Window_Size, then the receiving end of the RLC entity stores this AMD PDU in the receive buffer.
[0149] For the AMD PDU placed in the receive buffer, if this AMD PDU contains only the packet header, or this AMD PDU does not contain data or RLC SDU, then the receiving end can consider that all bytes of the RLC PDU with SN = x have been received.
[0150] Optionally, update the parameter RX_Highest_Status. A possible update method could be: among one or more SNs whose values are greater than the current value of RX_Highest_Status, select the SNs associated with the RLCSDUs that have not received all segments (or all bytes), and then select the SN associated with the first RLC SDU among them. Here, the first one can refer to sorting by the size of the SN, where the SN with the smallest value is ranked first. Then the value of the updated RX_Highest_Status is the value of the SN with the smallest value.
[0151] Optionally, update the parameter RX_Next. A possible update method could be: among one or more SNs whose values are greater than the current value of RX_Next, select the SNs associated with the RLCSDUs that have not received all segments (or all bytes), and then select the SN associated with the first RLC SDU among them. Here, the first one can refer to sorting by the size of the SN, where the SN with the smallest value is ranked first. Then the value of the updated RX_Highest_Status is the value of the SN with the smallest value.
[0152] Embodiment Seven
[0153] Based on Embodiment Three, after determining the discarding method of the RLC SDU, the UE can perform the operations in Embodiments Four to Six. The solutions in Embodiments Four to Six can be regarded as a discarding method and can also be regarded as Method Two.
[0154] Embodiment Eight
[0155] Based on the foregoing embodiments, as the receiving end of the RLC entity, when constructing the STATUS PDU, the following processing can also be performed.
[0156] Since the STATUS PDU provides information about the SNs related to the RLC SDUs that are negatively acknowledged and the RLC SDUs that are positively acknowledged, when the receiving end of the RLC entity constructs the STATUS PDU, the value of ACK_SN included in the STATUS PDU can be set to the value of the SN corresponding to the next RLC SDU that has not been received, where this RLC SDU is not indicated as lost and is not indicated as discarded. Here, the discard can refer to the RLCSDU discarded according to the information provided in the Discard PDU described in Embodiment One.
[0157] Alternatively, when the receiving end of the RLC entity constructs a STATUS PDU, for that or those RLC SDUs whose associated SN value is greater than or equal to RX_Next and less than RX_Highest_Status (RX_Next <= SN < RX_Highest_Status), select those RLC SDUs that have not been fully received and have not been indicated to be discarded, sort them in ascending order according to the value of their SN, and process them one by one. Among the selected RLC SDU(s), for an RLC SDU that has not been segmented, if it has not been received, then set the value of NACK_SN included in the STATUS PDU to the value of the SN of this RLC SDU; for a group of consecutive RLC SDUs that have not been received, then the NACK_SN and the NACK range included in the STATUS PDU, where the value of NACK SN is the first RLC SDU in this group of consecutive unreceived RLC SDUs, that is, the RLC SDU with the smallest SN value, and the value of the SN of the last RLC SDU in this group of RLC SDUs is NACK_SN + NACK range - 1.
[0158] Embodiment Nine
[0159] Based on the foregoing embodiments, as the sending end of the RLC entity, when receiving a STATUS PDU, the following processing may also be performed: For the negative acknowledgment of a certain RLC SDU or RLC SDU segment indicated in the STATUS PDU, and if the RLC SDU has not been indicated to be discarded, then it can be considered that the RLC SDU or RLC SDU segment needs to be retransmitted. The discard here may refer to the RLC SDU determined to be discarded according to the indication of the upper layer.
[0160] Figure 4 It is a schematic structural block diagram of a user equipment UE involved in the present invention. As Figure 4 shown, the user equipment UE400 includes a processor 401 and a memory 402. The processor 401 may include, for example, a microprocessor, a microcontroller, an embedded processor, etc. The memory 402 may include, for example, a volatile memory (such as a random access memory RAM), a hard disk drive (HDD), a non-volatile memory (such as a flash memory), or other memories. Program instructions are stored on the memory 402. When the instructions are run by the processor 401, the above methods performed by the user equipment described in detail in the present invention can be executed.
[0161] The program running on the device according to the present invention can be a program that enables a computer to implement the functions of the embodiments of the present invention by controlling a central processing unit (CPU). The program or the information processed by the program can be temporarily stored in a volatile memory (such as a random access memory RAM), a hard disk drive (HDD), a non-volatile memory (such as a flash memory), or other memory systems.
[0162] The programs for implementing the functions of the embodiments of the present invention can be recorded on a computer-readable recording medium. The corresponding functions can be implemented by causing a computer system to read the programs recorded on the recording medium and execute these programs. The so-called "computer system" here can be a computer system embedded in the device, and can include an operating system or hardware (such as peripheral devices). The "computer-readable recording medium" can be a semiconductor recording medium, an optical recording medium, a magnetic recording medium, a recording medium for short-term dynamically storing programs, or any other recording medium readable by a computer.
[0163] The various features or functional modules of the device used in the above embodiments can be implemented or executed by a circuit (for example, a single-chip or multi-chip integrated circuit). The circuit designed to execute the functions described in this specification can include 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, discrete hardware components, or any combination of the above devices. The general-purpose processor can be a microprocessor, or any existing processor, controller, microcontroller, or state machine. The above circuit can be a digital circuit or an analog circuit. In the case where new integrated circuit technologies that replace existing integrated circuits emerge due to the progress of semiconductor technology, one or more embodiments of the present invention can also be implemented using these new integrated circuit technologies.
[0164] In addition, the present invention is not limited to the above embodiments. Although various examples of the embodiments have been described, the present invention is not limited thereto. Fixed or non-mobile electronic devices installed indoors or outdoors can be used as terminal devices or communication devices, such as AV devices, kitchen devices, cleaning devices, air conditioners, office devices, vending machines, and other household appliances.
[0165] As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific structure is not limited to the above embodiments, and the present invention also includes any design modifications that do not deviate from the gist of the present invention. In addition, various modifications can be made to the present invention within the scope of the claims, and the embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. Furthermore, the components having the same effects described in the above embodiments can be mutually replaced.
Claims
1. A method for discarding RLC SDUs performed by an RLC entity of a base station or a user equipment, the method comprising: When receiving a discard indication for indicating discarding of RLC SDUs from an upper layer, for each RLC SDU to be discarded indicated by the discard indication, if the RLC SDU to be discarded or a fragment of the RLC SDU to be discarded has been delivered to a lower layer, update a first status variable such that a value of the first status variable is not equal to a sequence number of the RLC SDU to be discarded, The first status variable represents a sequence number of the next RLC SDU that requires positive acknowledgment from the peer.
2. The method according to claim 1, wherein Updating the first status variable includes: For RLC SDUs whose sequence numbers are within a given window starting from a value of the current first status variable, and which have not been positively acknowledged and have not been indicated for discarding, assign a minimum value among the sequence numbers of these RLC SDUs to the first status variable.
3. The method according to claim 1, further comprising: Generating a discard report and sending the discard report to the peer, the discard report including indication information of RLC SDUs discarded by the user equipment.
4. The method according to claim 3, wherein, The discard report includes indication information of RLC SDUs whose sequence numbers are within a given window starting from a value of the current first status variable.
5. The method according to claim 3, wherein The discard report includes indication information of a plurality of RLC SDUs discarded by the user equipment, The indication information includes a minimum value or a maximum value of sequence numbers among the plurality of RLC SDUs, and a value representing a range of sequence numbers of the discarded RLC SDUs.
6. The method according to any one of claims 1 to 5, wherein, The discard indication further includes discard mode indication information for indicating whether to use a first discard mode or a second discard mode to perform the processing of discarding RLC SDUs, and the RLC entity uses the discard mode indicated by the discard mode indication information to perform the processing of discarding RLC SDUs, or, The RLC entity determines whether to use a first discard mode or a second discard mode to perform the processing of discarding RLC SDUs according to a configuration regarding the discard mode for the RLC entity, or, The RLC entity determines whether to use a first discard mode or a second discard mode to perform the processing of discarding RLC SDUs according to a service type and / or function corresponding to the data transmitted, The second discard mode is a discard mode implemented by updating the first status variable for each RLC SDU to be discarded indicated by the discard indication, if the RLC SDU to be discarded or a fragment of the RLC SDU to be discarded has been delivered to a lower layer, The first discard mode includes: for each RLC SDU to be discarded indicated by the discard indication, if the RLC SDU to be discarded or a fragment of the RLC SDU to be discarded has been delivered to a lower layer, the RLC entity no longer performs any discard processing on the RLC SDU to be discarded.
7. A method for discarding RLC SDUs performed by an RLC entity of a base station or a user equipment, comprising: Receiving discard indication information, where the discard indication information includes indication information of RLC SDUs that have been discarded by the sending end; And For each discarded RLC SDU indicated by the indication information, updating a second state variable based on the sequence number of the discarded RLC SDU, such that generation processing of positive acknowledgments is not performed for the discarded RLC SDU. The second state variable includes at least one of the maximum value among the sequence number of the last RLC SDU that has been completely received by the receiving end and the sequence number of the RLC SDU for which a positive acknowledgment has been generated.
8. The method according to claim 7, wherein When the second state variable is the sequence number of the last RLC SDU that has been completely received by the receiving end, updating the second state variable includes: If the sequence number of the discarded RLC SDU is not less than the current second state variable, increasing the second state variable by a given value. Or When the second state variable is the maximum value among the sequence numbers of the RLC SDUs for which positive acknowledgments have been generated, updating the second state variable includes: If the sequence number of the discarded RLC SDU is equal to the value of the current second state variable, updating the second state variable such that the value of the second state variable is not equal to the sequence number of the discarded RLC SDU.
9. The method according to claim 8, wherein Updating the second state variable such that the value of the second state variable is not equal to the sequence number of the discarded RLC SDU includes: For RLC SDUs whose sequence numbers are greater than the value of the current second state variable and that have not been completely received and have not been discarded, assigning the minimum value among the sequence numbers of these RLC SDUs to the second state variable.
10. A user equipment, comprising: A processor; And A memory storing instructions; Wherein, the instructions, when run by the processor, execute the method according to any one of claims 1 to 9.