Method for triggering status report and related apparatus

By utilizing the sequence number and timer of the probe data packet in the RLC protocol, the receiving end can trigger a status report in a timely manner, thus solving the problem of status report delay in the RLC protocol and improving data communication efficiency.

WO2026026119A1PCT designated stage Publication Date: 2026-02-05HONOR DEVICE CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/094773
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-02
Filing Date
2025-05-14
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

In existing technologies, the status report triggering delay of the RLC protocol causes the sending end to be unable to receive the status report in a timely manner, affecting the efficiency of data communication.

Method used

The receiving end determines whether a status report should be triggered by polling the sequence number of the data packet. By using a polling timer and a data volume threshold, the triggering delay of the status report is reduced, ensuring that the sending end receives the status report in a timely manner so that the data packet can be retransmitted.

Benefits of technology

By reducing the triggering delay of status reports, the data communication efficiency between the sender and receiver is improved, ensuring timely retransmission of data packets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025094773_05022026_PF_FP_ABST
    Figure CN2025094773_05022026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications. Provided are a method for triggering a status report and a related apparatus. In the method, a receiving end can receive a poll data packet sent by a sending end, wherein the poll data packet can be used for polling the receiving state of a data packet sent by the sending end to the receiving end; when a sequence number of the poll data packet is greater than or equal to a first state variable and the sequence number of the poll data packet is less than a second state variable, it is indicated that there is a delay in triggering the status report; and the receiving end can trigger the status report on the basis of trigger information, the first state variable being used for indicating the highest sequence number of the status report, and the second state variable being used for indicating an upper limit value of a receiving window of the receiving end. In this way, the present application can reduce the trigger delay of the status report, such that the receiving end can send the status report to the sending end as soon as possible, and the sending end can further retransmit the data packet to the receiving end on the basis of the status report, thereby improving the efficiency of data communication between the sending end and the receiving end.
Need to check novelty before this filing date? Find Prior Art

Description

A method and related apparatus for triggering status reports

[0001] This application claims priority to Chinese Patent Application No. 202411062680.X, filed on August 2, 2024, entitled "A Method and Related Apparatus for Triggering a Status Report", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a method and related apparatus for triggering a status report. Background Technology

[0003] Radio Link Control (RLC) is a protocol at the radio link control layer in a wireless communication system, responsible for reliable data transmission. RLC has a retransmission mechanism. Taking data transmission between a base station and a terminal device based on RLC as an example, if a data packet sent by the base station to the terminal device is lost, the lost data packet can be retransmitted based on the retransmission mechanism configured in the RLC protocol to ensure data reliability.

[0004] Currently, the retransmission mechanism triggered by the RLC protocol configuration is based on the sender receiving a status report from the receiver. This status report indicates the receiver's reception status of the data packets sent by the sender, and the retransmission mechanism is then triggered to retransmit lost data packets. However, the triggering of the status report can sometimes be delayed, which may cause the sender to miss the status report in time, thus preventing timely retransmission of data packets and affecting the data communication efficiency between the sender and receiver. Summary of the Invention

[0005] To address the aforementioned issues, this application provides a method and related apparatus for triggering status reports. The aim is to reduce the triggering delay of status reports (or the triggering time of status reports), enabling the sending end to receive status reports as quickly as possible, thereby improving the efficiency of retransmitting data packets at the sending end and ultimately enhancing the data communication efficiency between the sending and receiving ends.

[0006] Firstly, this application provides a method for triggering a status report, which can be applied to a receiving end. For example, the receiving end can be a terminal device, and the sending end can be a network device such as a base station; further exemplarily, the receiving end can be a network device such as a base station, and the sending end can be a terminal device. In this method, the receiving end first receives a probe data packet (which can be called a poll PDU) sent by the sending end to probe the reception status of data packets sent from the sending end to the receiving end. If it is determined that the sequence number of the probe data packet is greater than or equal to a first status variable, and the sequence number of the probe data packet is less than a second status variable, the receiving end triggers a status report based on triggering information. This triggering information is used to trigger the status report. The first status variable is RX_Highest_Status, which indicates the highest sequence number of the status report. The receiving end can determine the reception status of data packets with sequence numbers preceding the first status variable. The second status variable is RX_Next+AM_Window_Size, which can be used to indicate the upper limit of the receiving window of the receiving end.

[0007] Thus, if the sequence number of the probe data packet is greater than or equal to the first state variable and less than the second state variable, it indicates that there is a delay in triggering the state report. The receiving end can trigger the state report based on the triggering information, reducing the triggering delay of the state report and enabling the sending end to receive the state report faster. In turn, the sending end can retransmit data packets with a lost reception status based on the reception status of the data packets indicated by the state report, thereby improving the data communication efficiency between the sending end and the receiving end.

[0008] In one possible implementation, before the receiving end triggers a status report based on the triggering information, the process may further include: the receiving end determining that the probe data packet has not been received repeatedly, indicating that the probe data packet is the first data packet received by the receiving end, and the receiving end has not received the same probe data packet before. Since the receiving end can trigger a status report after receiving a duplicate data packet, it can further determine that there is a triggering delay for the status report when it is determined that the probe data packet has not been received repeatedly, and thus trigger the status report in a timely manner based on the triggering information, reducing the triggering delay of the status report.

[0009] In one possible implementation, the method for triggering a status report may further include: if the receiver determines that the sequence number of the probe data packet is greater than or equal to a first status variable and the sequence number of the probe data packet is less than a second status variable, the receiver may start a probe timer. Thus, the triggering condition for the probe timer is: the receiver determines that there is a trigger delay for the status report.

[0010] In one possible implementation, the receiver triggering a status report based on trigger information may include: if it is determined that the probe timer has expired, the receiver can trigger a status report indicating that the trigger information for the status report is: the probe timer started by the receiver has expired. Thus, if it is determined that there is a delay in the status report, the receiver can start the probe timer and trigger the status report after determining that the probe timer has expired, reducing the trigger delay of the status report.

[0011] In one possible implementation, the receiving end determines that the probe timer has timed out and triggers a status report. This can include: if the probe timer has timed out but the reassembly timer has not, the receiving end can trigger a status report. Since there is a trigger delay for the status report, the reassembly timer may be running, and the receiving end often waits to receive data packets. Alternatively, after the reassembly timer times out, a delayed report can be triggered. Therefore, if the receiving end triggers a status report when the reassembly timer has not timed out but the probe timer has timed out, the trigger delay for the status report can be reduced.

[0012] In one possible implementation, the method for triggering a status report may further include: when the probe timer is running, if the receiving end determines that the sequence number of the probe data packet is less than the latest first status variable, it can stop the probe timer. Since the first status variable can be updated as the reception status of data packets is updated, while the probe timer is running, the receiving end can determine the reception status of more data packets, causing the first status variable to update. If the sequence number of the probe data packet is less than the latest first status variable, it indicates that the receiving end can determine the reception status of data packets with sequence numbers less than or equal to the sequence number of the probe data packet, and can trigger a status report. The receiving end no longer needs to trigger a status report based on a probe timer timeout, thus avoiding additional delays in triggering the status report and reducing the waste of probe timer runtime resources.

[0013] In one possible implementation, the latest first state variable can be obtained by updating the first state variable at the receiving end after the reassembly timer expires. Since the reassembly timer expires, the first state variable can be updated, and the receiving end can determine the reception status of incompletely received data packets with sequence numbers prior to the first state variable as lost. Thus, if the sequence number of the probe data packet is less than the latest first state variable, it indicates that the receiving end can determine the reception status of data packets with sequence numbers less than or equal to the sequence number of the probe data packet, and can trigger a status report.

[0014] In one possible implementation, the latest first state variable is obtained by the receiving end updating the first state variable after receiving a data packet. Since the receiving end can receive data packets while the probing timer is running, and if the receiving end determines that the sequence number of the data packet is consecutive to the sequence number of previous data packets and that the data packet is complete, it can update the first state variable. The receiving end can then determine the reception status of complete received data packets with sequence numbers preceding the first state variable as successfully received. Thus, if the sequence number of the probing data packet is less than the latest first state variable, it indicates that the receiving end can determine the reception status of data packets with sequence numbers less than or equal to the sequence number of the probing data packet, thereby triggering a status report.

[0015] In one possible implementation, the duration of the polling timer can be shorter than the duration of the reassembly timer. For example, the polling timer may have a duration of 3ms, while the reassembly timer may have a duration of 5ms. Thus, in the event of a delay in status reporting, compared to the waiting time of at least one reassembly timer in related technologies, the receiver in this application can wait for a shorter polling timer, reducing the delay in status reporting.

[0016] In one possible implementation, the method for triggering a status report may further include: a receiving end receiving a probe timer sent by a sending end. For example, the receiving end may be a terminal device, and the sending end may be a base station. The base station can configure the probe timer based on timer configuration information and send the probe timer to the terminal device. The timer configuration information may include the timing duration, etc. Thus, after receiving the probe timer, the receiving end can start the probe timer if it determines that there is a trigger delay for the status report based on the probe timer.

[0017] In one possible implementation, the receiving end triggers a status report based on triggering information. This can include: the receiving end determining that the number of incompletely received data packets exceeds a first threshold, and triggering a status report. The first threshold is a pre-set threshold for the number of incompletely received data packets. Thus, the triggering information could be: the number of incompletely received data packets exceeds the first threshold, indicating a large number of incompletely received data packets and poor network conditions. To avoid inefficient data communication between the sending and receiving ends, a status report can be triggered, causing the sending end to retransmit data packets based on the status report.

[0018] In one possible implementation, the sequence number of a data packet that the receiver did not fully receive is greater than or equal to a third state variable, and the sequence number of the incompletely received data packet is less than or equal to the sequence number of the probe data packet. The third state variable is RX_Next, which indicates the sequence number after the highest sequence number of the data packets received by the receiver in sequence. For example, RX_Next could indicate the sequence number after the highest sequence number of the data packets received by the receiver in sequence. Since the receiver expects to receive a status report that includes a sequence number less than or equal to the sequence number of the probe data packet after receiving the probe data packet from the sender, and since there are incompletely received data packets among the data packets with sequence numbers greater than or equal to the third state variable, it can be determined whether the number of incompletely received data packets among those with sequence numbers greater than or equal to the third state variable and less than or equal to the sequence number of the probe data packet is large. Thus, a status report can be triggered as soon as possible, reducing the delay in status reporting.

[0019] In one possible implementation, the method for triggering a status report may further include: the receiving end receiving a first threshold sent by the sending end. For example, the receiving end may be a terminal device, and the sending end may be a base station, which may send the first threshold to the terminal device. Thus, after receiving the first threshold, the receiving end can, based on the first threshold and if it is determined that there is a triggering delay for the status report, compare the first threshold with the number of incompletely received data packets.

[0020] In one possible implementation, the receiving end triggers a status report based on triggering information. This can include: if the number of data packets with sequence numbers greater than or equal to a third status variable and less than or equal to the sequence number of the probe data packet exceeds a second threshold, the terminal device can trigger a status report. The third status variable indicates the sequence numbers following the highest sequence number of the data packets received sequentially by the receiving end. Thus, if the sequence number of the probe data packet significantly exceeds the third status variable, and the number of data packets in between is large, it indicates poor network conditions, allowing the terminal device to trigger a status report and reducing the latency of the status report.

[0021] In one possible implementation, the method for triggering a status report may further include: the receiving end receiving a second threshold sent by the sending end. For example, the receiving end may be a terminal device, and the sending end may be a base station, which may send the second threshold to the terminal device. Thus, after receiving the second threshold, the receiving end can, based on the second threshold and if it is determined that there is a triggering delay for the status report, compare the second threshold with the number of data packets whose sequence number is greater than or equal to a third status variable and less than or equal to the sequence number of the probe data packet.

[0022] In one possible implementation, the method for triggering a status report may further include: if it is determined that the sequence number of the probe data packet is greater than or equal to a first status variable and the sequence number of the probe data packet is less than a second status variable, the receiving end may update the first status variable based on the triggering information. Since the first status variable is related to the sequence number of the data packet indicated by the status report, updating the first status variable when a delay in triggering the report is determined makes the information indicated by the triggered status report more accurate.

[0023] In one possible implementation, the receiving end updates the first state variable based on trigger information. This can include: the receiving end updating the first state variable to a sequence number greater than the sequence number of the probe data packet based on the trigger information. For example, the receiving end can update the first state variable to the next sequence number after the sequence number of the probe data packet based on the trigger information. Since the first state variable indicates the highest sequence number of the status report, and the status report can indicate the reception status of data packets with a sequence number less than that highest sequence number, the receiving end updates the first state variable based on the trigger information, and the updated first state variable is greater than the sequence number of the probe data packet. Thus, the status report triggered by the receiving end can indicate the reception status of data packets with a sequence number less than or equal to that of the probe data packet, satisfying the sending end's requirements.

[0024] In one possible implementation, the method for triggering a status report may further include: after the receiving end triggers a status report based on trigger information, if it is determined that the sequence number of the probe packet is greater than or equal to the fourth status variable, the receiving end can update the fourth status variable to the latest fifth status variable. The fourth status variable is RX_Next_Status_Trigger, which indicates the sequence number after the sequence number of the packet that triggered the reassembly timer; for example, it can indicate the next sequence number after the sequence number of the packet that triggered the reassembly timer. The fifth status variable is RX_Next_Highest, which indicates the sequence number after the highest sequence number of the packet received by the receiving end; for example, it can indicate the next sequence number after the highest sequence number of the packet received by the receiving end. Since the fourth status variable is related to the reassembly timer, the receiving end can determine the reception status of packets with sequence numbers before the fourth status variable through the reassembly timer. After the receiving end triggers a status report based on trigger information, it indicates that the receiving end can determine the reception status of packets with sequence numbers less than or equal to the sequence number of the probe packet. The receiving end no longer needs to determine this through the reassembly timer; the receiving end can update the four status variables to the latest fifth status variable, which can reduce the resource waste of the reassembly timer.

[0025] In one possible implementation, the method for triggering a status report may further include: after the receiving end triggers a status report based on the triggering information, if it determines that the latest first status variable is greater than or equal to the fourth status variable, the receiving end can update the fourth status variable to the latest fifth status variable. The fourth status variable indicates the sequence number following the sequence number of the data packet that triggered the reassembly timer; for example, it can indicate the next sequence number after the sequence number of the data packet that triggered the reassembly timer. The fifth status variable indicates the sequence number following the highest sequence number of the data packet received by the receiving end; for example, it can indicate the next sequence number after the highest sequence number of the data packet received by the receiving end. Since the receiving end can determine the reception status of data packets with sequence numbers preceding the fourth status variable through the reassembly timer, and the receiving end, after triggering a status report based on the triggering information, indicates that the latest first status variable is greater than the sequence number of the probe data packet, the receiving end no longer needs to determine the reception status of data packets with sequence numbers preceding the latest first status variable through the reassembly timer. The receiving end can update the fourth status variable to the latest fifth status variable, reducing the resource waste of the reassembly timer.

[0026] In one possible implementation, the method for triggering the status report may further include: after the fourth status variable is updated, the receiving end can restart the reassembly timer based on the updated fourth status variable. Thus, while the restarted reassembly timer is running, the receiving end can determine the latest reception status of data packets with sequence numbers prior to the updated fourth status variable.

[0027] In one possible implementation, the method for triggering a status report may further include: the receiving end sending a status report to the sending end; after the receiving end triggers the status report based on the triggering information, the receiving end may wait for a transmission opportunity to send a status report to the sending end. This status report can be used to indicate the reception status of data packets whose sequence number is less than or equal to the sequence number of the probe data packet. Thus, after the receiving end sends a status report to the sending end, the sending end can retransmit data packets as quickly as possible based on the status report, improving the data communication efficiency between the sending and receiving ends.

[0028] In one possible implementation, the status report includes a first status report and a second status report. The method for triggering the status report may further include: the receiving end sending the first status report and the second status report to the sending end; after the receiving end triggers the first status report and the second status report based on triggering information, the receiving end may wait for a transmission opportunity to send the first status report and the second status report to the sending end. The first status report can be used to indicate the reception status of data packets with sequence numbers less than a first status variable, and the first status report can also be used to indicate the reception status of data packets with sequence numbers greater than or equal to the first status variable and less than or equal to the sequence number of the probe data packet. In this way, the receiving end does not need to update the first status variable and other status variables, which can improve the speed of triggering the first status report and the second status report, and further reduce the latency of the status report.

[0029] In one possible implementation, the method for triggering a status report may further include: after the receiving end triggers a status report based on triggering information, upon determining the latest reception status of the received data packet (e.g., the reception status update indicated by the status report), or the receiving end receiving a new data packet causing a first status variable to update; the receiving end may update the status report based on the latest reception status of the received data packet. For example, the receiving end may update the reception status of the data packet indicated by the status report from lost to successfully received, for example, by updating fields such as NACK_SN; or the receiving end may add the reception status of a new data packet to the status report, for example, by updating the ACK_SN indicated by the status report; the receiving end sends the updated status report to the sending end. For example, the receiving end may send the status report to the sending end when it waits for a transmission opportunity. The updated status report indicates the reception status of data packets including those with sequence numbers less than or equal to the sequence number of the probe data packet. Thus, while meeting the sending end's requirements, the sending end obtains a more real-time reception status of the data packets to be sent to the receiving end, avoiding the sending end sending data packets that the receiving end has already fully received, and preventing the waste of communication resources.

[0030] Secondly, this application provides a method for triggering a status report, which can be applied to a sending end. For example, the sending end can be a network device such as a base station, and the receiving end can be a terminal device; or, for another example, the sending end can be a terminal device, and the receiving end can be a network device such as a base station. In this method, the sending end can send a polling data packet (which can be called a poll PDU) to the receiving end to inquire about the reception status of the data packets sent by the sending end to the receiving end. After receiving the polling data packet, if the receiving end determines that the sequence number of the polling data packet is greater than or equal to a first status variable and the sequence number of the polling data packet is less than a second status variable, the receiving end can trigger a status report based on triggering information. This triggering information is used to trigger the status report. The first status variable is RX_Highest_Status, which can be used to indicate the highest sequence number of the status report. The receiving end can determine the reception status of data packets with sequence numbers preceding the first status variable. The second status variable is RX_Next+AM_Window_Size, which can be used to indicate the upper limit of the receiving window of the receiving end.

[0031] Thus, if the sequence number of the probe data packet is greater than or equal to the first state variable and the sequence number of the probe data packet is less than the second state variable, it indicates that there is a delay in triggering the status report at the receiving end. The receiving end can trigger the status report based on the triggering information, which can reduce the triggering delay of the status report and enable the sending end to receive the status report as soon as possible. This allows the sending end to retransmit data packets with a lost reception status based on the reception status of the data packets indicated by the status report, thereby improving the data communication efficiency between the sending end and the receiving end.

[0032] In one possible implementation, the triggering information may include a probe timer timeout. The method for triggering a status report may further include: the sending end sending a probe timer to the receiving end. For example, the sending end may be a base station, and the receiving end may be a terminal device. The base station can configure the probe timer based on timer configuration information and send the probe timer to the terminal device. The timer configuration information may include the timing duration, etc. Thus, after receiving the probe timer, the receiving end can start the probe timer if it determines that there is a trigger delay for the status report based on the probe timer.

[0033] In one possible implementation, the triggering information may include the number of data packets that the receiver has not fully received exceeding a first threshold. The method for triggering a status report may further include: the sender sending the first threshold to the receiver. For example, the sender may be a base station, and the receiver may be a terminal device; the base station may send the first threshold to the terminal device. Thus, after receiving the first threshold, the receiver can compare the first threshold with the number of data packets that the receiver has not fully received, based on the first threshold and if a triggering delay for the status report is determined to exist.

[0034] In one possible implementation, the triggering information may include a number of data packets whose sequence number is greater than or equal to a third state variable and less than or equal to the sequence number of the probe data packet, which is greater than a second threshold. The method for triggering a state report may further include: the sending end sending the second threshold to the receiving end. For example, the sending end may be a base station, and the receiving end may be a terminal device; the base station may send the second threshold to the terminal device. Thus, after receiving the first threshold, the receiving end can, based on the second threshold and if it is determined that there is a triggering delay in the state report, compare the second threshold with the number of data packets whose sequence number is greater than or equal to the third state variable and less than or equal to the sequence number of the probe data packet.

[0035] In one possible implementation, the method for triggering a status report may further include: the sending end receiving a status report sent by the receiving end; the status report includes a first status report and a second status report; the first status report is used to indicate the reception status of data packets with sequence numbers less than a first status variable; the second status report is used to indicate the reception status of data packets with sequence numbers greater than or equal to the first status variable and less than or equal to the sequence number of the probe data packet; if the reception status of the data packet indicated by the second status report is lost, and the data packet is a delayed critical data packet, the sending end may retransmit the data packet, and the remaining time of the delayed critical data packet is less than or equal to a third threshold. For example, the remaining time of the discard timer of the delayed critical data packet is less than or equal to the third threshold, or the data packet belongs to a data packet set (also called a PDU set), and the remaining time of at least one data packet (determined to be a delayed critical data packet) in the data packet set is less than or equal to the third threshold, and the data packet can also be determined to be a delayed critical data packet.

[0036] Thirdly, this application provides an electronic device that serves as a receiving end, comprising a memory and a processor; the memory stores computer program code, which includes computer instructions; one or more processors invoke the computer instructions to cause the electronic device to execute the method for triggering a status report as described in the first aspect.

[0037] Fourthly, this application provides an electronic device that serves as a transmitter, comprising a memory and a processor; the memory stores computer program code, which includes computer instructions; one or more processors invoke the computer instructions to cause the electronic device to execute the method for triggering a status report as described in the second aspect.

[0038] Fifthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method for triggering a status report as described in the first aspect or the method for triggering a status report as described in the second aspect.

[0039] Sixthly, this application provides a computer program product comprising computer program code that, when executed by an electronic device, implements the method for triggering a status report as described in the first aspect or the method for triggering a status report as described in the second aspect. Attached Figure Description

[0040] Figure 1 is a schematic diagram of a communication system provided in an embodiment of this application;

[0041] Figure 2a is a schematic diagram of the state variables of a transmitter provided in an embodiment of this application;

[0042] Figure 2b is a schematic diagram of the state variables of a receiving end provided in an embodiment of this application;

[0043] Figure 3 is a signaling interaction diagram of a triggered status report provided in an embodiment of this application;

[0044] Figure 4a is a schematic diagram of an immediately triggered status report provided in an embodiment of this application;

[0045] Figure 4b is a schematic diagram of a delayed trigger status report provided in an embodiment of this application;

[0046] Figure 5 is a schematic diagram of updating a state variable according to an embodiment of this application;

[0047] Figure 6 is a signaling interaction diagram of another triggering status report provided in an embodiment of this application;

[0048] Figure 7 is a schematic diagram of another method for updating state variables provided in an embodiment of this application;

[0049] Figure 8 is a signaling interaction diagram of another type of triggering status report provided in an embodiment of this application;

[0050] Figure 9 is a schematic diagram of another method for updating state variables provided in an embodiment of this application;

[0051] Figure 10 is a schematic diagram of a status report provided in an embodiment of this application;

[0052] Figure 11 is a schematic diagram of another status report provided in an embodiment of this application. Detailed Implementation

[0053] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0054] The embodiments of this application are applied to communication systems, which can be second-generation (2G) communication systems, third-generation (3G) communication systems, long-term evolution (LTE) systems, fifth-generation (5G) communication systems, LTE and 5G hybrid architectures, 5G New Radio (5G NR) systems, and new communication systems that will emerge in the future development of communication.

[0055] A communication system may include network devices and terminal devices. Network devices are used to provide network communication functions; they are sometimes also called network elements. Network devices are typically terrestrial network devices such as base stations or functional units of base stations. In this embodiment, an example of a communication system can be shown in Figure 1, which includes a base station 101 and a terminal device 102.

[0056] In the embodiments provided in this application, the base station can be any device with wireless transceiver capabilities, including but not limited to: evolved Node B (NodeB or eNB or e-NodeB) in LTE systems, base stations (gNodeB or gNB) or transmission receiving points / transmission reception points (TRPs) in new radio (NR), base stations evolved subsequently by 3GPP, access nodes, wireless relay nodes, wireless backhaul nodes, etc. in Wi-Fi systems. The base station can be: macro base station, micro base station, pico base station, small cell, relay station, or balloon station, etc. The base station can include one or more co-located or non-co-located transmission reception points (TRPs). The base station can also be a radio controller, centralized unit (CU), and / or distributed unit (DU) in a cloud radio access network (CRAN) scenario. The base station can communicate with the terminal, or it can communicate with the terminal through a relay station. The terminal can communicate with multiple base stations using different technologies. For example, the terminal can communicate with base stations that support LTE networks, base stations that support 5G networks, and can also establish dual connections with both LTE and 5G base stations.

[0057] In the embodiments provided in this application, the terminal device can take various forms, such as a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, vehicle-mounted terminal device, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, wearable terminal device, etc. The terminal device may also be referred to as a terminal, user equipment (UE), access terminal device, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal device, mobile device, UE terminal device, terminal device, wireless communication device, UE agent, or UE device, etc. The terminal device can also be a fixed terminal or a mobile terminal.

[0058] It should be noted that the communication system shown in Figure 1 above is only an example. In actual applications, the communication system may include more numbers or types of devices. This application does not limit the architecture of the communication system.

[0059] Currently, the sending end can send a data packet carrying a polling request to the receiving end. This data packet can be called a poll PDU. The poll PDU is used to poll whether the data packet sent by the sending end to the receiving end has been completely received by the receiving end. That is, whether the data packet reception status is successful (also known as fully received) or lost (also known as incompletely received).

[0060] However, after receiving a poll PDU, the receiving end sometimes does not trigger a status report immediately. Instead, it needs to wait for the reassembly timer to run, or even wait until the reassembly timer expires and the status variables are updated before triggering a status report. This can easily cause a delay in the status report (also known as the triggering delay of the status report), which prevents the sending end from knowing the reception status of the data packets it sent in a timely manner. This reduces the efficiency of the sending end in retransmitting data packets, and consequently reduces the data communication efficiency between the sending end and the receiving end.

[0061] Therefore, to solve the above problems, this application provides a method for triggering a status report. In this method, the receiving end can acquire a poll timer (also called a polling timer). The receiving end determines that the sequence number of the received poll PDU is greater than or equal to the maximum state transmission status variable RX_Highest_Status, and the sequence number of the poll PDU is less than the sum of the status variable RX_NEXT and the window size AM_Window_Size. Then, the poll timer is started, and a status report is triggered after the poll timer expires. Alternatively, the receiving end acquires a data volume threshold (also called a first threshold). The receiving end determines that the SN of the received poll PDU is greater than or equal to RX_Highest_Status, and the SN of the poll PDU is less than RX_NEXT + AM_Window_Size. It also determines that the number of incompletely received data packets is greater than the data volume threshold, and triggers a status report.

[0062] In this way, when the SN of the poll PDU is greater than or equal to RX_Highest_Status and the SN of the poll PDU is less than the sum of RX_NEXT and AM_Window_Size, a status report can be triggered based on the poll timer timeout or the number of incompletely received data packets exceeding the data volume threshold. This eliminates the need to wait for the reassembly timer to run or time out, reducing the latency of the status report and thus increasing the speed at which the sender receives the status report. This allows the sender to retransmit data packets to the receiver as quickly as possible, improving the data communication efficiency between the sender and receiver.

[0063] Next, we will introduce the multiple state variables when transmitting data packets between the sending and receiving ends, and how these multiple state variables are updated.

[0064] The RLC layer supports multiple transmission modes in data transmission. In Acknowledged Mode (AM), the RLC layer requires data to be acknowledged during transmission. This can trigger a status report, causing the receiver to send a status report to the sender. The sender will wait for the receiver's status report to confirm the data reception status.

[0065] In the embodiments of this application, the data packets processed by the transmitting end and the receiving end are called Radio Link Control Service Data Units (RLC SDUs). An RLC SDU can be a complete RLC SDU, or an RLC SDU can be composed of multiple segments to form a complete RLC SDU.

[0066] The data packets transmitted between the sender and receiver are called Adaptive Mode Data Protocol Data Units (AMD PDUs) in AM transmission mode. The sender can encapsulate an RLC SDU or segments of an RLC SDU into an AMD PDU and send it to the receiver. In other words, if an RLC SDU consists of multiple segments, the sender can encapsulate each segment of the RLC SDU into an AMD PDU and send it to the receiver.

[0067] In this embodiment, the transmitting end assigns serial numbers (SNs) to the RLC SDUs in ascending order. After assignment, the transmitting end sends multiple AMD PDUs to the receiving end in ascending order of SN. For example, the transmitting end assigns SNs 1-3 to three RLC SDUs, and sends the three AMD PDUs encapsulated from these three RLC SDUs in ascending order of SN.

[0068] It should be noted that when an RLC SDU comprises multiple segments, the transmitter will assign a single serial number (SN) to the RLC SDU. The SNs of all segments within the RLC SDU are identical, indicating that the AMD PDUs encapsulated from each segment of the RLC SDU also share the same SN. For example, if an RLC SDU comprises three segments, and the transmitter has already sent AMD PDUs with SNs 1 and 2, then the transmitter will assign SN 3 to this RLC SDU. The three AMD PDUs formed by the three segments of this RLC SDU will each be assigned SN 3, and the transmitter will send the segments sequentially from beginning to end within the RLC SDU.

[0069] As shown in Figure 2a, the transmitting end has several status variables, including the acknowledgment status variable TX_Next_Ack, the transmission status variable TX_Next, and the window size AM_Window_Size. TX_Next_Ack stores the next SN of the SN of the latest RLC SDU whose reception status has been acknowledged by the transmitting end. It serves as the lower bound of the transmitting end's transmission window. TX_Next_Ack is updated whenever the transmitting end acknowledges the reception status of a new RLC SDU. TX_Next stores the SN allocated for the next newly generated AMD PDU. An AMD PDU consists of an RLC SDU or a segment of an RLC SDU. AM_Window_Size refers to the window size pre-set under AM. TX_Next_Ack + AM_Window_Size serves as the upper bound of the transmission window, determining the number of RLC SDUs the transmitting end can continuously transmit without receiving a status report from the receiving end. The SN of the RLC SDUs that the transmitting end can transmit is greater than or equal to TX_Next_Ack and less than TX_Next_Ack + AM_Window_Size.

[0070] As shown in Figure 2b, the receiver has the following state variables: RX_Next (also known as the third state variable), RX_Highest_Status (also known as the first state variable), RX_Next_Status_Trigger (also known as the fourth state variable), RX_Next_Highest (also known as the fifth state variable), and AM_Window_Size. RX_Next stores the next SN after the SN of the most recently and completely received RLC SDU in sequence, serving as the lower bound of the receiver's receiving window. RX_Next + AM_Window_Size serves as the upper bound of the receiving window, and RX_Next + AM_Window_Size (the sum of these two variables can also be called the second state variable) indicates the upper limit of the receiver's receiving window. RX_Highest_Status stores the highest possible SN indicated by the status report during status report construction, which is the next SN after the highest SN of the RLC SDU whose reception status the receiver can confirm. RX_Next_Status_Trigger stores the next SN after the SN of the RLC SDU that triggered the reassembly timer. RX_Next_Highest is used to store the next SN after the highest SN of the RLC SDU received by the receiver.

[0071] Next, the method for triggering status reporting provided in the embodiments of this application will be described with reference to Figures 3-11.

[0072] Example 1:

[0073] As shown in Figure 3, the method for triggering a status report may include the following steps:

[0074] S301: The receiving end receives the probe data packet sent by the sending end.

[0075] The transmitting end refers to the device responsible for sending data during communication. In some embodiments, the transmitting end can encapsulate an RLC SDU into an AMD PDU and then send the AMD PDU to the receiving end.

[0076] The receiving end refers to the device responsible for receiving data during communication. In some embodiments, the receiving end can restore an AMD PDU to an RLC SDU.

[0077] In some embodiments, the transmitting end can be a network device such as a base station, and the receiving end can be a terminal device.

[0078] In some embodiments, the sending end can be a terminal device, and the receiving end can be a network device such as a base station. This application does not limit the device types of the sending end and the receiving end.

[0079] A poll packet, also known as a poll PDU, is used to poll the reception status of a data packet sent by the sender to the receiver, in order to determine whether the data packet sent by the sender was successfully received by the receiver or was not received by the receiver due to data packet loss.

[0080] In some embodiments, the poll PDU includes a p-bit flag bit to indicate whether polling is performed. When the p-bit of the poll PDU is 1, it indicates that the sender sends polling to the receiver, expecting the receiver to send a status report so that the sender can confirm the reception status of the RLC SDU sent to the receiver based on the status report.

[0081] In some embodiments, the reception status of an RLC SDU may include successful reception (also known as complete reception) and loss (also known as incomplete reception).

[0082] It should be noted that when the reception status of an RLC SDU is lost, it may be that the receiving end has not received the RLC SDU, or it may be that the receiving end has received segments of the RLC SDU, but has not received all segments of the RLC SDU.

[0083] In some embodiments, a poll PDU can be triggered by the following two conditions, that is, the sender can send a poll PDU to the receiver under either of the following two conditions.

[0084] The first condition is: the sender sends a poll PDU for the first time, or the sender detects that the number of RLC SDUs sent since the last poll PDU is greater than the threshold (this threshold refers to the pre-set threshold for the number of RLC SDUs), or the number of bytes sent is greater than the threshold (this threshold refers to the pre-set threshold for the number of bytes; an RLC SDU usually consists of multiple bytes). In these cases, the sender can be triggered to send a poll PDU to the receiver.

[0085] The second condition is: if the sending end detects that there are no RLC SDUs that need to be newly sent or RLC SDUs that need to be retransmitted in its own buffer, then the sending end can be triggered to send a poll PDU to the receiving end.

[0086] S302: The receiving end determines that the sequence number of the probe data packet is greater than or equal to the first state variable and the sequence number of the probe data packet is less than the second state variable, and triggers a state report based on the trigger information.

[0087] The first status variable can be used to indicate the highest sequence number (SN) of the status report; the first status variable is RX_Highest_Status.

[0088] The status report is used to indicate the reception status of RLC SDUs whose SN is less than the highest SN in the status report, indicating that the receiver can determine the reception status of RLC SDUs whose SN is less than RX_Highest_Status.

[0089] The second state variable can be used to indicate the upper limit of the receiver window at the receiver end. The second state variable is RX_Next+AM_Window_Size.

[0090] It should be understood that when the sending end sends a poll PDU to the receiving end, it indicates that the sending end expects the received status report to indicate the reception status of the poll PDU and the RLC SDU with a SN less than that of the poll PDU.

[0091] For example, if the SN of the poll PDU is 10, the triggered status report can indicate the reception status of the RLC SDU with SN ≤ 10.

[0092] It should be noted that in the above example, the status report can also indicate the reception status of RLC SDUs with SN greater than that of poll PDU, or the reception status of RLC SDUs with SN less than or equal to that of poll PDU. This application does not limit this.

[0093] It should be understood that if the SN of the poll PDU is less than RX_Highest_Status, the receiving end can determine the reception status of RLC SDUs with SNs less than RX_Highest_Status. This indicates that the receiving end has determined the reception status of the poll PDU and the RLC SDUs with SNs prior to the SN of the poll PDU, and can immediately trigger a status report without delay, as shown in ① of Figure 4a. If the SN of the poll PDU is greater than or equal to the sum of the received RX_Next and AM_Window_Size, it indicates that a window overflow has occurred. This can be directly considered as an abnormal situation in the data transmission between the sending and receiving ends, and a status report can also be triggered immediately without delay, as shown in ② of Figure 4a.

[0094] When the SN of the poll PDU is greater than or equal to RX_Highest_Status and less than RX_Next + AM_Window_Size, as shown in Figure 4b, it indicates that the SNs of multiple RLC SDUs received by the receiver are not consecutive. For RLC SDUs with SNs greater than or equal to RX_Highest_Status and less than or equal to the SN of the poll PDU, the receiver cannot determine their reception status, resulting in the inability to send a status report to the sender including the reception status of RLC SDUs with SNs less than or equal to the SN of the poll PDU. It is necessary to wait for the receiver to determine the reception status of RLC SDUs with SNs greater than or equal to RX_Highest_Status and less than or equal to the SN of the poll PDU, so that the SN of the poll PDU is less than RX_Highest_Status, or greater than RX_Next + AM_Window_Size, before data packet status feedback can be provided for the SN of the poll PDU.

[0095] If the receiver detects that the serial numbers (SNs) of multiple received RLC SDUs are not consecutive, the receiver may start one or more reassembly timers until RX_Highest_Status is updated to a SN greater than that of the poll PDU. That is, after the receiver determines the reception status of the poll PDU and the RLC SDUs with SNs less than that of the poll PDU, it can trigger a status report.

[0096] In one scenario, if the receiver detects consecutive serial numbers (SNs) of multiple received RLC SDUs, causing RX_Highest_Status to be updated to a value greater than the SN of the poll PDU, a status report can be triggered. If the receiver detects that the SN of a received RLC SDU is equal to RX_Highest_Status, it can update RX_Highest_Status to the lowest SN of the data packet that was not fully received by the receiver; that is, update RX_Highest_Status to a value greater than the SN of the first incompletely received RLC SDU indicated by the current RX_Highest_Status.

[0097] For example, RX_Highest_Status = 5 and poll PDU SN = 8 indicates that, in ascending order of SN, the receiver detects that the first incompletely received RLC SDU has SN 5. After receiving a complete RLC SDU with SN 5, the receiver can update RX_Highest_Status to 6. Similarly, after receiving complete RLC SDUs with SN 6, SN 7, and SN 8, the receiver can update RX_Highest_Status to 9, which can trigger a status report.

[0098] In another scenario, after the reassembly timer expires, the receiver can update the reception status of the unreceived RLC SDU to "lost," thus updating RX_Highest_Status to a number greater than the poll PDU's SN, which can also trigger a status report. In the case of a reassembly timer expiration, RX_Highest_Status can be updated to the SN of the first incompletely received RLC SDU that is greater than RX_Next_Status_Trigger. An incompletely received RLC SDU refers to an RLC SDU that the receiver did not receive, or an RLC SDU that the receiver did not receive all of its bytes (e.g., the RLC SDU consists of three segments, and the receiver only received the first segment).

[0099] For example, based on the previous example, RX_Highest_Status = 5, RX_Next_Status_Trigger = 8, the SN of the poll PDU = 8, after the reassembly timer expires, the receiver receives the complete RLC SDU with SN 5. The receiver does not receive the complete RLC SDUs with SN 6 and SN 7, so RX_Highest_Status can be updated to 6.

[0100] Therefore, in the above process, it is necessary to wait for the reassembly timer to run and receive the RLC SDU, and it may even be necessary to wait until the reassembly timer expires before a status report can be triggered. This can easily cause a delay in the status report, which means that the sending end cannot know the reception status of the data packets it sent in a timely manner, reducing the efficiency of the sending end in retransmitting data packets, and thus reducing the data communication efficiency between the sending end and the receiving end.

[0101] For example, assuming the poll PDU's SN is 10 and RX_Highest_Status is 6, meaning the receiver has not yet determined the reception status of multiple RLC SDUs with SNs of 6-10, the receiver will wait for the reassembly timer to run while receiving RLC SDUs or for the reassembly timer to time out, until RX_Highest_Status is updated to 11. After the terminal device determines the reception status of multiple RLC SDUs with SNs of 6-10, it can trigger a status report.

[0102] The following section, with reference to Figure 5, describes the situation of updating state variables under delayed trigger state report.

[0103] In Figure 5, it is assumed that the SN of the poll PDU falls at the position shown in Figure 4b, that is, the SN of the poll PDU is greater than or equal to RX_Highest_Status, and the SN of the poll PDU is less than RX_Next+AM_Window_Size.

[0104] As shown in Figure 5, assuming RX_Highest_Status is 5 and RX_Next_Status_Trigger is 11, the reassembly timer is running, indicating that the receiver can determine the reception status of RLC SDUs with SNs 1-4, and the receiver expects to receive multiple RLC SDUs with SNs up to 11 (excluding 11) before the reassembly timer expires. After receiving the poll PDU with SN 15, the receiver updates RX_Next_Highest to 16. After the reassembly timer expires, RX_Highest_Status is updated to 11, RX_Next_Status_Trigger is updated to 16, RX_Next_Highest remains at 16, and the reassembly timer is restarted, indicating that the receiver expects to receive multiple RLC SDUs with SNs up to 16 (excluding 16) before the reassembly timer expires again. After the reassembly timer expires again, RX_Highest_Status is updated to 16, indicating that the receiver can determine the reception status of RLC SDUs with SNs 1-15, thus triggering a status report, causing the receiver to send a status report to the transmitter.

[0105] In some embodiments, based on the above description, if the receiving end determines that the sequence number of the probe data packet is greater than or equal to the first state variable and the sequence number of the probe data packet is less than the second state variable, the reassembly timer is running. The state report can be triggered based on the triggering information without waiting for the reassembly timer to receive data packets or wait for the reassembly timer to time out, which can reduce the triggering delay of the state report.

[0106] Furthermore, if the receiver detects that the poll PDU is a duplicate RLC SDU or a segment of a duplicate RLC SDU, it can discard the poll PDU and immediately trigger a status report.

[0107] In some embodiments, the receiver determines that the poll PDU is not a repeatedly received RLC SDU or a segment of an RLC SDU, that is, the poll PDU has not been discarded, and the receiver determines that the SN of the poll PDU is greater than or equal to RX_Highest_Status, and the SN of the poll PDU is less than RX_Next+AM_Window_Size, indicating that there is a delay in triggering a status report, and a status report can be triggered based on the triggering information.

[0108] In some embodiments, the triggering information may include a poll timer timeout, or the number of data packets that the receiver has not completely received exceeding a first threshold. The following embodiments describe the triggering status reporting method provided in this application using the different triggering information described above.

[0109] In some embodiments, the receiving end may also update the state variables based on trigger information. This will not be elaborated here, but you can refer to the detailed description of updating state variables based on trigger information in the embodiments below.

[0110] As can be seen from the above, in the embodiments of this application, when it is determined that there is a delay in triggering the status report, the receiving end can trigger the status report based on the triggering information, which can reduce the triggering delay of the status report, thereby enabling the sending end to receive the status report and retransmit the data packet as soon as possible, and improve the data communication efficiency between the sending end and the receiving end.

[0111] Next, taking the sending end as the base station, the receiving end as the terminal device, and the triggering information as the poll timer timeout as an example, the method for triggering status reporting provided in the embodiments of this application will be described in detail with reference to Figures 6 and 7.

[0112] It should be noted that the sending end being a base station and the receiving end being a terminal device is merely an example. It is also possible for the sending end to be a terminal device and the receiving end to be a base station. This application does not limit this to the latter.

[0113] Example 2:

[0114] As shown in Figure 6, the method for triggering a status report may include the following steps:

[0115] S601: The base station sends a poll timer to the terminal device.

[0116] In some embodiments, the base station can send a poll timer to the terminal device via signaling.

[0117] It should be noted that the base station and the terminal device can send AMD PDUs, poll timers, and data volume thresholds (mentioned later) via signaling, which will not be elaborated further.

[0118] The poll timer is a timer used to process the received poll PDU for the terminal device, ensuring that the terminal device can send a status report to the base station in a timely manner within a certain period of time.

[0119] In some embodiments, the base station can configure a poll timer based on timer configuration information.

[0120] After receiving the poll timer, the terminal device can obtain the timer configuration information used to configure the poll timer.

[0121] For example, the timer configuration information may include the start conditions of the poll timer; the timer configuration information may also include the duration of the poll timer, that is, the poll timer will time out after the specified duration; the timer configuration information may also include the subsequent operation information to be performed by the terminal device after the poll timer times out; the timer configuration information may also include the subsequent operation information to be performed by the terminal device after detecting a specific situation during the operation of the poll timer. This application does not limit this. In some embodiments, the specific situation detected by the terminal device may be a reassembly timer timeout, which is not limited in this application. In some embodiments, the base station may determine the duration of the poll timer based on the network environment. For example, the base station and the terminal device transmit RLC SDUs through a Hybrid Automatic Repeat reQuest (HARQ) mechanism. The transmission duration of the RLC SDUs transmitted by the current HARQ mechanism can indicate the current network environment, so the duration of the poll timer can be determined based on this.

[0122] For example, a base station can determine the transmission duration of the latest received RLC SDU with a successful reception status as the duration of the poll timer. Assuming the latest received RLC SDU has a successful reception status, and the base station transmitted it three times, with transmission times of 1ms, 2ms, and 1ms respectively, then the sum of these three transmission durations, 4ms, can be determined as the duration of the poll timer.

[0123] For example, a base station can determine the average transmission time of multiple RLC SDUs with a successful reception status within the latest preset period as the timing duration of the poll timer. Assuming the preset period is 1 second, and the transmission times of multiple RLC SDUs with a successful reception status are 3ms, 2ms, and 1ms respectively, then the average transmission time of 2ms can be determined as the timing duration of the poll timer.

[0124] In addition, in some embodiments, the base station may also determine the random duration as the duration of the poll timer, but this application does not limit this.

[0125] In some embodiments, the duration of the configured poll timer is less than the duration of the recombination timer.

[0126] Thus, based on the above description, when the terminal device executes S604, the terminal device does not need to wait for the timeout of at least one reassembly timer, but can wait only for the poll timer to time out, which can reduce the waiting time of the terminal device and thus reduce the triggering delay of the status report.

[0127] It should be noted that other timer configuration information will not be explained in detail here, but will be described in detail in the following examples.

[0128] It should be further explained that network devices such as base stations can configure the poll timer based on the timer configuration information. In some embodiments, when the terminal device is the sender and the network device such as the base station is the receiver, the base station can configure the poll timer based on the timer configuration information. That is, when the terminal device is the sender, the terminal device does not need to configure the poll timer based on the timer configuration information, nor does the terminal device need to perform the step of sending the poll timer to the base station in S601.

[0129] S602: The base station sends a poll PDU to the terminal device.

[0130] It should be noted that the implementation method of S602 can be found in the introduction of S301, and will not be repeated here.

[0131] It should be noted that this application does not impose any restrictions on the execution order of S601 and S602.

[0132] In some embodiments, the base station may execute S601 first, and then execute S602. Based on the above example, the base station may first configure the poll timer based on the timer configuration information. After configuring the poll timer, the base station may first send the configured poll timer to the terminal device through a signaling, and then send the poll PDU to the terminal device through a signaling.

[0133] In some embodiments, the base station can also execute S601 and S602 simultaneously, that is, the base station can also send the configured poll timer and poll PDU to the terminal device simultaneously through a single signaling.

[0134] S603: If the terminal device determines that the poll PDU has not been received repeatedly, determines that the SN of the poll PDU is greater than or equal to RX_Highest_Status, and the SN of the poll PDU is less than RX_NEXT+AM_Window_Size, then it starts the poll timer.

[0135] It should be noted that the implementation method of S603 can be found in the introduction of S302.

[0136] As shown in Figure 4b, the serial number (SN) of the poll PDU falls between RX_Highest_Status and RX_NEXT+AM_Window_Size. The SN of the poll PDU is greater than or equal to RX_Highest_Status and less than RX_NEXT+AM_Window_Size. If the terminal device determines that the poll PDU is not duplicate data, it can start the poll timer.

[0137] The start conditions for the poll timer in the timer configuration information are: the poll PDU is not received repeatedly, the poll PDU is not discarded, the SN of the poll PDU is greater than or equal to RX_Highest_Status, and the SN of the poll PDU is less than RX_NEXT+AM_Window_Size.

[0138] For example, if RX_Highest_Status = 5 and the SN of the poll PDU sent by the base station is 10, it indicates that the terminal device can confirm the reception status of RLC SDUs with SNs of 1-4. However, if the SN of the poll PDU received by the terminal device is 10, it indicates that the base station has previously sent multiple RLC SDUs with SNs of 1-9 to the terminal device. Therefore, the status report needs to indicate the reception status of RLC SDUs with SNs of 1-10. However, the terminal device has not yet been able to determine the reception status of RLC SDUs with SNs of 5-10, so the status report needs to be delayed.

[0139] In some embodiments, after receiving a poll PDU, the terminal device determines that the SN of the poll PDU is the highest SN received by the terminal device. The terminal device can update RX_Next_Highest to the next SN of the poll PDU, where RX_Next_Highest = SN of the poll PDU + 1.

[0140] For example, if the SN of the poll PDU is 10, then RX_Next_Highest can be updated to 11.

[0141] S604: The terminal device determines that the poll timer has timed out, updates the status variables, and triggers a status report.

[0142] In some embodiments, if the terminal device determines that the poll timer has timed out and the reorganization timer is running, it can update the status variables or trigger a status report.

[0143] In some embodiments, the status variable is updated and a status report is triggered to provide information on the subsequent operations that the terminal device needs to perform after the poll timer expires, as specified in the timer configuration information.

[0144] The poll timer is based on a pre-set timeout period. If the poll timer times out and the reassembly timer is running, it means that the SN is in the RLC SDU before SN+1 of the poll PDU, and the terminal device still has RLC SDUs that have not been fully received. In order to avoid excessive delay in status reporting, the status variables can be updated and a status report can be triggered.

[0145] It should be noted that after the terminal device receives the poll PDU, the terminal device may be running the reassembly timer or it may not be running the reassembly timer. The following describes the update method of the state variable based on whether the reassembly timer is running after the terminal device receives the poll PDU.

[0146] In some embodiments, after the terminal device receives the poll PDU, the terminal device is running a reassembly timer, indicating that before the terminal device received the poll PDU, there was already an out-of-order RLC SDU or an RLC SDU was lost, and RX_Highest_Status < RX_Next_Status_Trigger.

[0147] After the terminal device starts the poll timer, if the poll timer expires, it can update RX_Highest_Status to the SN after the poll PDU's SN. For example, it can update RX_Highest_Status to the next SN after the poll PDU's SN, i.e., update it to the poll PDU's SN+1. Alternatively, it can update RX_Highest_Status to the SN of the first incompletely received data packet after the poll PDU's SN and trigger a status report. This allows the terminal device to directly update the reception status of confirmed RLC SDUs to the poll PDU, and to confirm the reception status of incompletely received RLC SDUs as not received. This makes the poll PDU's SN less than RX_Highest_Status, so the status report can indicate the reception status of the poll PDU and the reception status of RLC SDUs whose SNs precede the poll PDU's SN.

[0148] In some embodiments, after the poll timer expires, the terminal device can update the status variables and trigger a status report based on the updated status variables.

[0149] For example, based on the example above, after the poll timer expires, the terminal device can update RX_Highest_Status. After the terminal device determines that the updated RX_Highest_Status is greater than the SN of the poll PDU, it can trigger a status report.

[0150] It should be noted that the above example of updating RX_Highest_Status to the next SN of the poll PDU is only an example. The RX_Highest_Status can be updated to a SN greater than the poll PDU, such that the SN of the poll PDU is less than or equal to RX_Highest_Status. For example, RX_Highest_Status can also be updated to the next two SNs of the poll PDU. This application does not limit this.

[0151] It should be understood that after the poll timer expires, the terminal device has already updated RX_Highest_Status to the next SN of the poll PDU's SN, indicating that the reception status of the verifiable RLC SDU has been updated to the poll PDU. Therefore, it is no longer necessary to confirm the reception status of the poll PDU and the RLC SDU before the poll PDU through the reassembly timer.

[0152] In some embodiments, the running reorganization timer can be stopped after the poll timer times out.

[0153] In some embodiments, after the poll timer expires, if the latest updated RX_Highest_Status is greater than or equal to RX_Next_Status_Trigger, or the SN of the poll PDU is greater than or equal to RX_Next_Status_Trigger, RX_Next_Status_Trigger can be updated to RX_Next_Highest.

[0154] In some embodiments, since RX_Next_Highest has been updated to the next SN of the poll PDU's SN in the example above, RX_Next_Status_Trigger can also be updated to the next SN of the poll PDU's SN.

[0155] For example, if the poll PDU has a SN of 10, RX_Highest_Status = 5, RX_Next_Status_Trigger = 8, and RX_Next_Highest = 11, then after the poll timer expires, RX_Highest_Status can be updated to 11, RX_Next_Status_Trigger can be updated to 11, and a status report can be triggered. The status report can indicate the reception status of RLC SDUs with SN of 10 and those prior to SN of 10.

[0156] As shown in Figure 7, the terminal device starts a poll timer. After the poll timer expires, it can update both RX_Highest_Status and RX_Next_Status_Trigger to the next SN of the poll PDU's SN and trigger a status report.

[0157] In some embodiments, after receiving a poll PDU, the terminal device does not run the reassembly timer, indicating that there may not have been any out-of-order arrivals or lost RLC SDUs before the terminal device received the poll PDU, and RX_Highest_Status = RX_Next_Status_Trigger. Therefore, after receiving the poll PDU, the terminal device determines that the poll PDU has not been received repeatedly, determines that the SN of the poll PDU is greater than or equal to RX_Highest_Status, and that the SN of the poll PDU is less than RX_Next + AM_Window_Size. It can then update RX_Next_Status_Trigger to the SN of the poll PDU and start the poll timer and reassembly timer.

[0158] If the poll timer times out and the reconfiguration timer is running, RX_Highest_Status can be updated to the next SN of the poll PDU's SN, and RX_Next_Status_Trigger can be updated to RX_Highest_Status.

[0159] For example, if the poll PDU has a SN of 10, RX_Highest_Status = 5, RX_Next_Status_Trigger = 5, and RX_Next_Highest = 11, then after the poll timer expires and the reassembly timer is running, RX_Highest_Status can be updated to 11, RX_Next_Status_Trigger can be updated to 11, and a status report can be triggered. The status report can indicate the reception status of RLC SDUs with SN of 10 and those prior to SN of 10.

[0160] Based on the above introduction of the update methods for status variables based on whether the recombination timer is running, it can be seen that after the poll timer times out, if RX_Next_Status_Trigger is less than or equal to the SN of the poll PDU, RX_Next_Status_Trigger can be updated to RX_Next_Highest.

[0161] In addition, in some embodiments, the updated RX_Highest_Status can be greater than or equal to RX_Next_Status_Trigger, and RX_Next_Status_Trigger can also be updated to RX_Next_Highest.

[0162] In some embodiments, after RX_Next_Status_Trigger is updated, the reassembly timer can be restarted, and the terminal device will wait again for the SN to receive any incomplete RLC SDUs before RX_Next_Status_Trigger, indicating that the terminal device can proceed to the next round to determine the reception status of these RLC SDUs through the reassembly timer.

[0163] It should be understood that in practical applications, after the reassembly timer expires, the terminal device will perform an update of the RLC PDU's reception status. This will update the reception status of any RLC SDUs that were not received by the SN before RX_Next_Status_Trigger to "not received". You can first update RX_Highest_Status to RX_Highest_Status, and then update RX_Highest_Status to RX_Next_Status_Trigger.

[0164] Therefore, if the poll timer has not yet expired (i.e., the poll timer is running), but the reassembly timer has expired, the terminal device can compare the SN of the poll PDU with the latest RX_Highest_Status again.

[0165] If the SN of the poll PDU is greater than or equal to the latest RX_Highest_Status, it means that the reception status has not yet been updated to the SN of the poll PDU, and you can continue to wait for the poll timer to run; if the SN of the poll PDU is less than the latest RX_Highest_Status, it means that the reception status has been updated to the SN of the poll PDU, and you do not need to wait for the poll timer to time out, you can stop the poll timer and trigger a status report.

[0166] In some embodiments, the SN and RX_Highest_Status of the poll PDU are compared again, and the subsequent operations based on the comparison result are the information on the subsequent operations that the terminal device needs to perform after detecting a specific situation of timeout of the recombination timer during the operation of the poll timer in the timer configuration information.

[0167] For example, if the terminal device receives a poll PDU with a SN of 10, RX_Highest_Status = 5, RX_Next_Status_Trigger = 8, and RX_Next_Highest = 11, and the reassembly timer is running (used to update the reception status of RLC SDUs with SNs of 5-7), and the reassembly timer times out during the poll timer's operation, then RX_Highest_Status can be updated to 8 and RX_Next_Status_Trigger to 11. If the SN of the poll PDU is greater than or equal to RX_Highest_Status, then the poll timer continues to run and the reassembly timer (used to update the reception status of RLC SDUs with SNs of 8-10) is restarted. If the reassembly timer times out while the poll timer is still running, then RX_Highest_Status can be updated to 11. If the SN of the poll PDU is less than RX_Highest_Status, then the poll timer can be stopped without waiting for its timeout and a status report can be triggered.

[0168] In addition, in some embodiments, if the terminal device receives a new RLC SDU or a new RLC SDU segment before the poll timer expires (i.e., while the poll timer is running), it may also update RX_Highest_Status, or compare the SN of the poll PDU with the latest RX_Highest_Status again.

[0169] Similarly, if the SN of the poll PDU is greater than or equal to the latest RX_Highest_Status, you can continue to wait for the poll timer to run; if the SN of the poll PDU is less than the latest RX_Highest_Status, you can stop the poll timer and trigger a status report.

[0170] For example, the terminal device receives a poll PDU with SN 10, RX_Highest_Status = 5, RX_Next_Status_Trigger = 11, RX_Next_Highest = 11, and the reassembly timer is running (used to update the reception status of RLC SDUs with SNs of 5-10).

[0171] Assuming the terminal device starts a poll timer, when the poll timer is running, if the terminal device detects that it has received a complete RLC SDU with a SN of 5-10, RX_Highest_Status can be updated to 11. If the SN of the poll PDU is less than RX_Highest_Status, then there is no need to wait for the poll timer to time out, the poll timer can be stopped, and a status report can be triggered.

[0172] Assuming the terminal device starts a poll timer, when the poll timer is running, if the terminal device detects that it has received a complete RLC SDU with SNs of 5-12, RX_Highest_Status can be updated to 13. If the SN of the poll PDU is less than RX_Highest_Status, there is no need to wait for the poll timer to time out. The poll timer can be stopped and a status report can be triggered.

[0173] Thus, during the operation of the poll timer, if the reception status of the poll PDU and the SN of the RLC SDU preceding the SN of the poll PDU has been determined, a status report can be triggered directly, stopping the polling timer without waiting for the poll timer to time out, thus avoiding additional delay in the status report.

[0174] In addition, in some embodiments, step S604 can be replaced by the following step: the terminal device determines that the poll timer has timed out and triggers the enhanced status report (also known as the second status report) and the first status report.

[0175] In some embodiments, after the terminal device determines that the poll timer has timed out, it may not update status variables such as RX_Highest_Status, but may trigger an enhanced status report and a first status report.

[0176] The enhanced status report can indicate the reception status of RLC SDUs of SNs with SN greater than or equal to RX_Highest_Status and less than or equal to poll PDUs. As shown in Figure 7, the enhanced status report can indicate the reception status of RLC SDUs of SNs between RX_Highest_Status and poll PDUs (including RLC SDUs of SNs with SNs equal to RX_Highest_Status and SNs equal to poll PDUs).

[0177] This first status report can indicate the reception status of RLC SDUs with an SN less than RX_Highest_Status.

[0178] If the poll timer times out, the terminal device can indicate the incomplete RLC SDU received between the SN in RX_Highest_Status and the SN of the poll PDU by using the NACK_SN indicator in the enhanced status report; the terminal device can indicate the complete RLC SDU received between the SN in RX_Highest_Status and the SN of the poll PDU by using the ACK_SN indicator in the enhanced status report.

[0179] It should be noted that the reporting format of this enhanced status report is the same as that of the status report, as shown in Figures 10 and 11 below.

[0180] Thus, when the SN of the poll PDU is greater than RX_Highest_Status, the terminal device determines that the poll timer has timed out and no longer updates the status variables. By triggering the enhanced status report and the first status report, the base station can determine the reception status of the RLC SDU whose SN is less than or equal to the SN of the poll PDU. This can improve the speed of triggering the enhanced status report and the second status report and further reduce the latency of the status report.

[0181] S605: The terminal device sends a status report to the base station.

[0182] It should be understood that the terminal device needs corresponding configuration resources to send a status report to the base station. After the status report is triggered, the terminal device needs to wait for the corresponding configuration resources before sending the status report to the base station. In other words, the terminal device will wait until the next transmission opportunity to send the status report to the base station.

[0183] In some embodiments, based on the above description, after triggering a status report, the terminal device can restart the reorganization timer, then the terminal device can stop the reorganization timer and send the status report to the base station on the first transmission opportunity.

[0184] In addition, in some embodiments, while the terminal device is waiting for a transmission opportunity, it may receive a new RLC SDU and the reassembly timer is running. After the reassembly timer expires, it may also update the reception status of the RLC SDU in the status report, or update the reception status of the newly received RLC SDU. The latest RLC SDU reception status can be updated in the status report until the terminal device waits for a transmission opportunity and sends the status report to the base station.

[0185] In this way, the status report received by the base station indicates the latest reception status of each RLC SDU, avoiding the repeated transmission of RLC SDUs that have been fully received to the terminal device, and further improving the data communication efficiency between the two.

[0186] Furthermore, in some embodiments, based on the above description, if S604 is: the terminal device determines that the poll timer has timed out and triggers the enhanced status report and the first status report, then S605 can be replaced by the following step: the terminal device sends the enhanced status report and the first status report to the base station. For example, the terminal device can wait for a transmission opportunity to send the enhanced status report and the first status report to the base station.

[0187] Furthermore, in some embodiments, when the sending end receives an enhanced status report, the sending end can determine whether to retransmit the RLC SDU based on whether the RLC SDU that the receiving end did not fully receive, as indicated by the enhanced status report, is a delay-critical data packet.

[0188] In some embodiments, if an incompletely received RLC SDU is a delay-critical data packet, the sender will retransmit the RLC SDU.

[0189] In some embodiments, if an incompletely received RLC SDU is not a delay-critical data packet, the sender will not retransmit the RLC SDU.

[0190] The entity that determines whether a delayed critical data packet is a Packet Data Convergence Protocol (PDCP) entity is, for example, a base station. The base station can determine whether an RLC SDU is a delayed critical data packet.

[0191] In some embodiments, the PDCP entity may allocate a discard timer for each RLC SDU. After the RLC SDU is sent, the discard timer is started. After the PDCP entity receives the enhancement status report, it may stop the discard timer for the RLC SDU indicated by the enhancement status report.

[0192] In one possible implementation, the PDCP entity (also known as the sender) can determine whether an RLC SDU is a delay-critical data packet based on the runtime of the discard timer corresponding to each RLC SDU. For example, for an RLC SDU that the receiver indicates was not fully received as stated in the Enhanced Status Report, if the remaining runtime of its corresponding discard timer is less than or equal to a transmission threshold (also known as a third threshold), then it is determined to be a delay-critical data packet.

[0193] For example, if the discard timer for an incompletely received RLC SDU has a duration of 10ms, and the discard timer runs for 5ms with 5ms remaining, then this RLC SDU is a delayed critical data packet if the transmission threshold is 5ms.

[0194] In one possible implementation, the delayed critical data packet includes a PDU-set drop configuration that indicates drop based on the PDU set, meaning that dropping any RLC SDU in the PDU set will result in dropping all other RLC SDUs in the PDU set.

[0195] If an RLC SDU that has not been fully received has the aforementioned configuration, and the RLC SDU belongs to a PDU set and the remaining time of at least one RLC SDU in the PDU set is less than the transmission threshold, then the RLC SDU can be identified as a delay-critical data packet.

[0196] In some embodiments, the sender may use various methods to determine whether an RLC SDU is a delay-critical data packet.

[0197] In one scenario, the PDCP layer at the transmitting end can indicate the remaining time of the RLC SDU to the RLC layer at the transmitting end, or directly indicate that the RLC SDU is a delay-critical data packet, which facilitates the RLC layer in planning and managing the transmission strategy of the RLC SDU.

[0198] In another scenario, based on the above description, the RLC layer at the transmitting end can introduce a drop timer. When the transmitting end sends an RLC SDU, the drop timer corresponding to that RLC SDU is started. If the enhanced status report indicates that the RLC SDU is a delay-critical data packet, and its corresponding drop timer times out or the remaining time of the drop timer is less than the transmission threshold, then the RLC SDU is determined to be a delay-critical data packet. Alternatively, if the RLC SDU belongs to a PDU set, and the remaining time of at least one RLC SDU in the PDU set is less than or equal to the transmission threshold, then the RLC SDU is determined to be a delay-critical data packet.

[0199] This allows the sender to retransmit more critical, time-sensitive data packets.

[0200] As can be seen from the above, the method for triggering status reports provided in this application embodiment, based on the configured poll timer, can trigger status reports in advance when the poll timer expires and the reassembly timer is running, thereby reducing the latency of status reports. In cases where data packets need to be retransmitted, it can improve the efficiency of the sending end retransmitting data packets to the receiving end, thereby improving the data communication efficiency between the sending end and the receiving end.

[0201] Meanwhile, during the operation of the poll timer, if the reorganization timer times out and a status report needs to be triggered, the status report can be triggered directly, avoiding increased delay in the status report caused by waiting for the poll timer.

[0202] Next, taking the sending end as the base station, the receiving end as the terminal device, and the trigger information as the number of data packets that the receiving end has not fully received being greater than the first threshold as an example, the method for triggering status reporting provided in the embodiments of this application will be explained in detail with reference to Figures 8 and 9.

[0203] Example 3:

[0204] As shown in Figure 8, the method for triggering a status report may include the following steps:

[0205] S801: Threshold for the amount of data sent by the base station to the terminal device.

[0206] In some embodiments, the data volume threshold (also known as the first threshold) may refer to a pre-set threshold for the number of RLC SDUs that the terminal device has not fully received, used to determine the current network environment.

[0207] For example, the first threshold may refer to a pre-set threshold for the number of RLC SDUs that the terminal device has not fully received in the RLC SDU between RX_Next and poll PDU (including RLC SDUs with SN=RX_Next and poll PDUs).

[0208] It should be noted that the RLC SDU between RX_Next and poll PDU refers to the RLC SDU where SN is greater than or equal to RX_Next and SN is less than or equal to poll PDU.

[0209] If the number of RLC SDUs that the terminal device has not fully received exceeds this data volume threshold, it indicates that the current network environment is poor. A status report can be triggered promptly to retransmit these incompletely received RLC SDUs as soon as possible. Incompletely received RLC SDUs include lost RLC SDUs (the terminal device did not receive the entire RLC SDU) and / or a segment of an RLC SDU that was not received (the terminal device only received a portion of the RLC SDU, and other segments of the RLC SDU were not received).

[0210] If the number of RLC SDUs that the terminal device has not fully received is less than or equal to the data volume threshold, it indicates that the current network condition is good, and a status report can be triggered after a period of time.

[0211] In some embodiments, the data volume threshold can be determined as follows: the number of RLC SDUs that the receiving end does not receive within a preset reception duration within a preset period is determined, and the data volume threshold is determined based on the number of RLC SDUs.

[0212] For example, if the preset period is 2h and the preset reception duration is 10ms, and the number of RLC SDUs that the terminal device has not fully received after 10ms is 3, then the data volume threshold can be set to 3.

[0213] In some embodiments, after determining the number of RLC SDUs that the receiver did not receive within a preset reception duration within a preset period, and determining that the network environment quality is poor at this time, a data volume threshold can be determined based on the number of RLC SDUs.

[0214] In some embodiments, the quality of the network environment can be determined based on reference signal received power and signal-to-noise ratio, etc., and this application does not limit this.

[0215] Furthermore, in some embodiments, S801 can be replaced by other steps: the base station sends a second threshold to the terminal device, the second threshold referring to a pre-set threshold for the number of RLC SDUs (including RLC SDUs with SN = RX_Next and poll PDUs) between RX_Next and poll PDU. For example, the second threshold can be 5 or 8, and this application does not limit it to this.

[0216] In addition, in some embodiments, S801 can be replaced by other steps: the base station sends a fourth threshold to the terminal device, the fourth threshold being a pre-set threshold for the number of RLC SDUs that the terminal device has fully received.

[0217] For example, the fourth threshold may refer to a pre-set threshold for the number of RLC SDUs that the terminal device can fully receive in the RLC SDU between RX_Next and poll PDU (including RLC SDUs of SN=RX_Next and poll PDUs).

[0218] In some embodiments, the fourth threshold can be determined by: determining the number of RLC SDUs received by the receiver within a preset reception duration within a preset period, and determining the fourth threshold based on the number of RLC SDUs.

[0219] It should be noted that the second and fourth thresholds are the same as the first threshold and can be used to determine the network status of communication between the base station and the terminal device. For details, please refer to the above introduction, which will not be repeated here.

[0220] S802: The base station sends a poll PDU to the terminal device.

[0221] It should be noted that this application does not impose any restrictions on the execution order of S801 and S802.

[0222] In some embodiments, the base station may execute S801 first, and then execute S802. Based on the above example, if the base station detects that it meets either of the two conditions described above, the base station may first determine the data volume threshold, and then send the data volume threshold to the terminal device. Subsequently, the base station sends a poll PDU to the terminal device.

[0223] In some embodiments, the base station can also execute S801 and S802 simultaneously, that is, after the base station determines the data volume threshold, the base station sends the data volume threshold and poll PDU to the terminal device at the same time.

[0224] It should be noted that the implementation method of S802 can be found in the implementation method of S602 described above, and will not be repeated here.

[0225] S803: The terminal device determines that the poll PDU has not been received repeatedly, determines that the SN of the poll PDU is greater than RX_Highest_Status, and the SN of the poll PDU is less than RX_NEXT+AM_Window_Size, and compares the number of RLC SDUs that have not been fully received with the data volume threshold.

[0226] It should be noted that the implementation of S803 can be found in the introduction of S302.

[0227] Based on the above introduction, RX_Next is used to indicate the next SN of the latest complete RLC SDU received by the terminal device in sequence, and RX_Next_Highest is used to indicate the next SN of the highest SN of the RLC SDU received by the terminal device.

[0228] It should be understood that the terminal device may not have any incompletely received RLC SDUs before it receives the poll PDU.

[0229] In some embodiments, before the terminal device receives the poll PDU sent by the base station, RX_Next = RX_Next_Highest, indicating that the terminal device has received all RLC SDUs before RX_Next_Highest.

[0230] After the terminal device receives the poll PDU sent by the base station, if the SN of the poll PDU is greater than RX_Next, it indicates that the terminal device has an RLC SDU that was not fully received. RX_Next_Highest can then be updated to the next SN of the poll PDU.

[0231] It should be understood that before the terminal device receives the poll PDU, the terminal device may already have an incomplete RLC SDU.

[0232] In some embodiments, before the terminal device receives the poll PDU sent by the base station, RX_Next is less than RX_Next_Highest, indicating that there are RLC SDUs before RX_Next_Highest that the terminal device has not fully received.

[0233] As shown in Figure 9, after the terminal device receives the poll PDU sent by the base station, the reassembly timer is running. Before the terminal device receives the poll PDU, there are already RLC SDUs that have not been fully received. The RX_Next_Highest can be updated to the next SN of the poll PDU's SN.

[0234] In some embodiments, after the terminal device receives the poll PDU, the terminal device can determine the number of RLC SDUs that it has not fully received among the RLC SDUs whose SN is greater than or equal to RX_Next and whose SN is less than or equal to the SN of the poll PDU, and compare the number of RLC SDUs that it has not fully received with the data volume threshold.

[0235] For example, after the terminal device receives the poll PDU, RX_Next = 5, the SN of the poll PDU = 10, and the terminal device determines that among the 6 RLC SDUs with SN greater than or equal to 5 and SN less than or equal to 10, the RLC SDU with SN 6 and the RLC SDU with SN 8 have been completely received. Then the terminal device can determine that the number of RLC SDUs that were not completely received is 4, and compare 4 with the data volume threshold.

[0236] It should be noted that other implementations of S803 can be found in the above description of the implementation of S603, and will not be repeated here.

[0237] Furthermore, in some embodiments, S801 is: the base station sends a second threshold to the terminal device, and S803 can be replaced by the following steps: determining that the SN of the poll PDU is greater than RX_Highest_Status and the SN of the poll PDU is less than RX_NEXT+AM_Window_Size, and comparing the number of RLC SDUs (including RLC SDUs with SN=RX_Next and RLC SDUs with SN=SN of the poll PDU) between RX_Next and the poll PDU with the second threshold.

[0238] For example, after the terminal device receives the poll PDU, RX_Next = 5, the SN of the poll PDU is 10, and the terminal device determines that there are 6 RLC SDUs with SN greater than or equal to 5 and SN less than or equal to 10, and can compare 6 with the second threshold.

[0239] In addition, in some embodiments, S801 is: the base station sends a fourth threshold to the terminal device. S803 can be replaced by the following steps: the terminal device determines that the poll PDU has not been received repeatedly, determines that the SN of the poll PDU is greater than RX_Highest_Status and the SN of the poll PDU is less than RX_NEXT+AM_Window_Size, and can compare the number of RLC SDUs that have been completely received with the fourth threshold.

[0240] For example, after the terminal device receives the poll PDU, RX_Next = 5, the SN of the poll PDU = 10, the terminal device determines that among the 6 RLC SDUs with SN greater than or equal to 5 and SN less than or equal to 10, it has completely received the RLC SDU with SN 6 and the RLC SDU with SN 8. Then the terminal device can determine that the number of RLC SDUs completely received is 2, and compare 2 with the fourth threshold.

[0241] S804: The terminal device determines that the number of incompletely received RLC SDUs is greater than the data volume threshold, updates the status variable and triggers a status report.

[0242] If the number of RLC SDUs that the terminal device has not fully received exceeds the data volume threshold, it indicates that the number of RLC SDUs that the terminal device has not fully received is relatively large. This may be due to a poor current network environment, causing some RLC SDUs to be lost, or the transmission of some RLC SDUs being slow, resulting in out-of-order arrival of RLC SDUs. In this case, RX_Highest_Status can be updated to the next SN of the poll PDU's SN, that is, the reception status of the RLC SDUs that the terminal device has not fully received is directly updated to lost, so that the SN of the poll PDU is less than RX_Highest_Status.

[0243] It should be noted that updating RX_Highest_Status to the next SN of the poll PDU is just an example. You can also update RX_Highest_Status to other values ​​so that the SN of the poll PDU is less than RX_Highest_Status.

[0244] If the reception status of an RLC SDU that the terminal device did not fully receive has been updated, then RX_Next_Status_Trigger can be updated to RX_Next_Highest, and the reassembly timer can be restarted. The terminal device can then use the reassembly timer to determine the latest reception status of the RLC SDU that was not fully received in the next round.

[0245] As shown in Figure 9, in this case, if the number of RLC SDUs that the terminal device has not fully received is greater than the data volume threshold, then RX_Highest_Status can be updated to the next SN of the poll PDU SN. If the SN of the poll PDU is greater than RX_Next_Status_Trigger, then RX_Next_Status_Trigger can be updated to RX_Next_Highest.

[0246] In some embodiments, the SN of the poll PDU may be equal to RX_Next_Status_Trigger, and RX_Next_Status_Trigger may also be updated to RX_Next_Highest.

[0247] In addition, in some embodiments, the updated RX_Highest_Status can be greater than or equal to RX_Next_Status_Trigger, and RX_Next_Status_Trigger can also be updated to RX_Next_Highest.

[0248] In addition, in some embodiments, if the terminal device determines that the number of incompletely received RLC SDUs is greater than the data volume threshold, it can first update the status variable and trigger a status report based on the updated status variable.

[0249] In some embodiments, if the terminal device determines that the number of RLC SDUs that have not been fully received is greater than the data volume threshold, it can update RX_Highest_Status. If the terminal device determines that the updated RX_Highest_Status is greater than the SN of the poll PDU, it can trigger a status report.

[0250] It should be noted that other implementations of S804 can be found in the above description of the implementation of S604, and will not be repeated here.

[0251] In addition, in some embodiments, S804 can be replaced by the following step: the terminal device determines that the number of incompletely received RLC SDUs is greater than the data volume threshold, and triggers the enhanced status report and the first status report.

[0252] In some embodiments, after the terminal device determines that the number of incompletely received RLC SDUs is greater than the data volume threshold, it may not update status variables such as RX_Highest_Status, but may trigger an enhanced status report and a first status report.

[0253] For details on how to implement this step, please refer to the introduction of S604, which will not be repeated here.

[0254] Thus, if the number of incompletely received RLC SDUs exceeds the data volume threshold, the receiving terminal device determines that the poll timer has timed out and will no longer update the status variables. It can then trigger the enhanced status report and the first status report, enabling the base station to determine the reception status of RLC SDUs whose SN is less than or equal to the poll PDU.

[0255] Furthermore, in some embodiments, S801 is: the base station sends a second threshold to the terminal device. S804 can be replaced by the following steps: the terminal device determines that the number of RLC SDUs between RX_Next and poll PDU is greater than the second threshold, and can update the state variable and trigger a state report. The trigger information is: the number of RLC SDUs between RX_Next and poll PDU is greater than the fourth threshold. The implementation method of this step can be found in the description of the implementation method of S804, and will not be repeated here.

[0256] Similarly, in some embodiments, S801 is: the base station sends a second threshold to the terminal device. S804 can be replaced by the following steps: the terminal device determines that the number of RLC SDUs between RX_Next and poll PDU is greater than the second threshold, and triggers the enhanced status report and the first status report. The implementation of this step can be found in the description of the implementation of S804, and will not be repeated here.

[0257] Furthermore, in some embodiments, S801 is: the base station sends a fourth threshold to the terminal device. S804 can be replaced by the following steps: the terminal device determines that the number of fully received RLC SDUs is less than or equal to the fourth threshold, updates the state variables, and triggers a state report. The trigger information is: the number of fully received RLC SDUs is less than or equal to the fourth threshold. The implementation of this step can be found in the description of the implementation of S804, and will not be repeated here.

[0258] Similarly, in some embodiments, S801 is: the base station sends a fourth threshold to the terminal device. S804 can be replaced by the following steps: the terminal device determines that the number of fully received RLC SDUs is less than or equal to the fourth threshold, and triggers the enhanced status report and the first status report. The implementation of this step can be found in the description of the implementation of S804, and will not be repeated here.

[0259] S805: The terminal device sends a status report to the base station.

[0260] It should be noted that the implementation method of S805 can be found in the above description of the implementation method of S605, and will not be repeated here.

[0261] As can be seen from the above, if the number of data packets that the receiver has not fully received exceeds the data volume threshold, the current network condition is considered poor. This can immediately trigger a status report, allowing the sender to retransmit data packets in a timely manner based on the status report, thereby improving the data communication efficiency between the sender and receiver.

[0262] Furthermore, in some embodiments, based on the above description, S804 is as follows: the terminal device determines that the number of incompletely received RLC SDUs is greater than a data volume threshold, triggering an enhanced status report and a first status report; or, the terminal device determines that the number of RLC SDUs between RX_Next and poll PDU is greater than a second threshold, triggering an enhanced status report and a first status report; or, the terminal device determines that the number of completely received RLC SDUs is less than or equal to a fourth threshold, triggering an enhanced status report and a first status report. S805 can be replaced by the following step: the terminal device sends an enhanced status report and a first status report to the base station. For example, the terminal device can wait for a transmission opportunity to send the enhanced status report and the first status report to the base station.

[0263] Next, we will introduce the status report sent from the receiving end to the sending end.

[0264] In some embodiments, the SN of the RLC SDU indicated in the status report can be 12 bits, as shown in Figure 10. In some embodiments, the SN of the RLC SDU indicated in the status report can also be 18 bits, as shown in Figure 11.

[0265] Referring to Figures 10 and 11, the status report includes a control PDU header (also known as an RLC control PDU header) and a payload. The RLC control PDU header includes a D / C field and a CPT field. The D / C field indicates whether the AMD PDU transmitted between the transmitter and receiver is a data PDU (D) or a control PDU (C). The CPT field indicates the type of RLC control PDU, as shown in Table 1 below:

[0266] Table 1

[0267] As shown in Table 1, the value of the CPT field in the status report is 000. The status report is a type of RLC control PDU.

[0268] The ACK_SN field (12-bit or 18-bit in length) is used to indicate the SN of the next unacknowledged RLC SDU at the receiving end. That is, this status report can indicate the reception status of the RLC SDU with the SN preceding ACK_SN, where RX_Highest_Status = ACK_SN.

[0269] The E1 field is used to indicate whether there will be a NACK_SN field later. The E1, E2, and E3 fields are used to indicate the reception status of an RLC SDU that was not fully received at the receiving end. The E1 field can be seen in Table 2 below:

[0270] Table 2

[0271] NACK_SN is used to indicate that an RLC SDU (or a segment of an RLC SDU) with that SN is detected as discarded at the receiving end. In other words, the receiving end does not receive an RLC SDU (or a segment of an RLC SDU) with that SN, and its reception status is not received (also known as lost).

[0272] The E2 field is used to indicate whether there are subsequent SOstart and SOend fields. In other words, it can indicate whether an RLC SDU with the SN indicated by NACK_SN is segmented, as shown in Table 3 below:

[0273] Table 3

[0274] The E3 field is used to indicate whether there are any consecutive RLC SDUs that have not been received, as shown in Table 4 below:

[0275] Table 4

[0276] The SOstart field (together with the SOend field) is used to indicate that a segment of an RLC SDU with SN NACK_SN has been detected as discarded. The SOstart field indicates the position of the first byte of the segment in the RLC SDU.

[0277] When E3 is 0, the SOend field (together with the SOstart field) indicates that the segment of the RLC SDU with SN NACK_SN (SOend associated with SOend) was detected as being discarded. The SOend field indicates the position of the last byte of the segment in the RLC SDU.

[0278] When E3 is 1, the SOend field indicates that a segment of the RLC SDU with SN of NACK_SN+NACK range–1 has been detected as missing.

[0279] The NACK range is used to indicate the number of consecutively lost RLCSDUs starting from the RLC SDU with SN NACK_SN.

[0280] R is used to indicate reserved fields and is usually set to 0, which can be ignored.

[0281] Oct is used to indicate fields in the status report. As shown in Figure 10, Oct1-Oct14 represent the first to the fourteenth fields of the status report. As shown in Figure 11, Oct1-Oct18 represent the first to the eighteenth fields of the status report.

[0282] After receiving the status report, the sending end can retransmit the RLC SDU based on the SN of the RLC SDU that the receiving end did not fully receive, as indicated in the status report.

[0283] In this way, by reducing the latency of status reports, the rate at which the sender retransmits data packets to the receiver can be increased, thereby improving the data communication efficiency between the sender and receiver.

[0284] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a computer, can implement one or more steps of any of the above-described methods for triggering a status report.

[0285] Computer-readable storage media can be non-transitory computer-readable storage media, such as ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage devices.

[0286] Another embodiment of this application provides a computer program product containing instructions. When the computer program product is executed by a computer, it can implement one or more steps of any of the methods for triggering a status report described above.

[0287] The electronic device, computer-readable storage medium, and computer program product provided in this embodiment are all used to execute the corresponding trigger status reporting method provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding trigger status reporting method provided above, and will not be repeated here.

[0288] The terms "first," "second," and "third," etc., used in this application specification, claims, and drawings are used to distinguish different objects, not to limit a specific order.

[0289] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0290] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method of triggering a status report, characterized by, Applied to a receiving end, comprising: receiving a probe data packet sent by a sending end; the probe data packet is used for inquiring a receiving state of a data packet sent by the sending end to the receiving end; determining that a sequence number of the probe data packet is greater than or equal to a first state variable and the sequence number of the probe data packet is less than a second state variable, triggering a state report based on trigger information; the first state variable is used for indicating a highest sequence number of a state report; and the second state variable is used for indicating an upper limit value of a receiving window of the receiving end.

2. The method of claim 1, wherein, Before the state report is triggered based on the trigger information, further comprising: determining that the probe data packet is not repeatedly received.

3. The method of claim 1, wherein, Further comprising: determining that the sequence number of the probe data packet is greater than or equal to the first state variable and the sequence number of the probe data packet is less than the second state variable, starting a probe timer.

4. The method of claim 3, wherein, The state report is triggered based on the trigger information, comprising: determining that the probe timer is timed out, triggering the state report.

5. The method of claim 3, wherein, Further comprising: determining that the sequence number of the probe data packet is less than a latest first state variable in a case where the probe timer is running, stopping the probe timer.

6. The method of claim 5, wherein, The latest first state variable is obtained by updating the first state variable after a reassembly timer is timed out.

7. The method of claim 5, wherein, The latest first state variable is obtained by updating the first state variable after a data packet is received.

8. The method according to any one of claims 3-7, characterized in that, A timing duration of the probe timer is less than a timing duration of a reassembly timer.

9. The method according to any one of claims 3-8, characterized in that, Further comprising: receiving a probe timer sent by the sending end.

10. The method of claim 1, wherein, The state report is triggered based on the trigger information, comprising: determining that a number of incompletely received data packets is greater than a first threshold value, triggering the state report.

11. The method of claim 10, wherein, A sequence number of the incompletely received data packet is greater than or equal to a third state variable and the sequence number of the incompletely received data packet is less than or equal to a sequence number of the probe data packet; and the third state variable is used for indicating a sequence number after a highest sequence number of a data packet received in order by the receiving end.

12. The method of claim 10, wherein, Further comprising: receiving a first threshold value sent by the sending end.

13. The method of claim 1, wherein, The state report is triggered based on the trigger information, comprising: determining that a number of data packets with a sequence number greater than or equal to a third state variable and a sequence number less than or equal to a sequence number of the probe data packet is greater than a second threshold value, triggering the state report; and the third state variable is used for indicating a sequence number after a highest sequence number of a data packet received in order by the receiving end.

14. The method of claim 13, wherein, Further comprising: receiving a second threshold value sent by the sending end.

15. The method according to any one of claims 1 to 14, characterized in that, Further comprising: determining that the sequence number of the probe data packet is greater than or equal to the first state variable and the sequence number of the probe data packet is less than the second state variable, updating the first state variable based on trigger information.

16. The method of claim 15, wherein, The first state variable is updated based on the trigger information, comprising: updating the first state variable to a sequence number greater than the sequence number of the probe data packet based on the trigger information.

17. The method according to any one of claims 1 to 16, characterized in that, Further comprising: determining that the sequence number of the probe data packet is greater than or equal to a fourth state variable, updating the fourth state variable to a latest fifth state variable. The fourth state variable is used to indicate a sequence number after a sequence number of a data packet triggering a reassembly timer; and the fifth state variable is used to indicate a sequence number after a highest sequence number of a data packet received by the receiving end.

18. The method according to any one of claims 1 to 16, characterized in that, Further comprising: determining that the latest first state variable is greater than or equal to the fourth state variable, updating the fourth state variable as the latest fifth state variable; The fourth state variable is used to indicate a sequence number after a sequence number of a data packet triggering a reassembly timer; and the fifth state variable is used to indicate a sequence number after a highest sequence number of a data packet received by the receiving end.

19. The method of claim 17 or 18, wherein, Further comprising: restarting the reassembly timer based on the updated fourth state variable.

20. The method of any one of claims 1-19, wherein, Further comprising: sending the state report to the sending end; the state report is used to indicate a receiving state of a data packet with a sequence number less than or equal to a sequence number of the probe data packet.

21. The method of any one of claims 1-4 or 8-14, wherein, The state report comprises a first state report and a second state report, and the method further comprises: sending the first state report and the second state report to the sending end; the first state report is used to indicate a receiving state of a data packet with a sequence number less than the first state variable; and the second state report is used to indicate a receiving state of a data packet with a sequence number greater than or equal to the first state variable and less than or equal to a sequence number of the probe data packet.

22. The method of any one of claims 1-19, wherein, Further comprising: determining a latest receiving state of a received data packet; updating the state report based on the latest receiving state of the received data packet; sending the updated state report to the sending end; the updated state report comprises a receiving state of a data packet with a sequence number less than or equal to a sequence number of the probe data packet.

23. A method of triggering a status report, characterized by, Applied to a sending end, comprising: sending a probe data packet to a receiving end, so that the receiving end determines that a sequence number of the probe data packet is greater than or equal to a first state variable and the sequence number of the probe data packet is less than a second state variable, and the receiving end triggers a state report based on trigger information; the probe data packet is used to inquire a receiving state of a data packet sent by the sending end to the receiving end; the first state variable is used to indicate a highest sequence number of a state report; and the second state variable is used to indicate an upper limit value of a receiving window of the receiving end.

24. The method of claim 23, wherein, Further comprising: receiving a state report sent by the receiving end; the state report comprises a first state report and a second state report; the first state report is used to indicate a receiving state of a data packet with a sequence number less than the first state variable; and the second state report is used to indicate a receiving state of a data packet with a sequence number greater than or equal to the first state variable and less than or equal to a sequence number of the probe data packet; in a case where the receiving state of the data packet indicated by the second state report is lost and the data packet is a delay critical data packet, retransmitting the data packet; a remaining time of the delay critical data packet is less than or equal to a third threshold value.

25. An electronic device, comprising: The electronic device as a receiving end comprises a memory and a processor; The memory is coupled with the processor, and the memory is configured to store computer program code including computer instructions, and the one or more processors invoke the computer instructions to cause the electronic device to perform the method for triggering status reporting according to any one of claims 1-22.

26. An electronic device, comprising: The electronic device as a sending end comprises a memory and a processor; The memory is coupled with the processor, and the memory is configured to store computer program code including computer instructions, and the one or more processors invoke the computer instructions to cause the electronic device to perform the method for triggering status reporting according to any one of claims 23-24.

27. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium, and the computer program is executed by the processor to implement the method for triggering status reporting according to any one of claims 1-22 or 23-24.

28. A computer program product, characterised in that, The computer program code is executed by the electronic device to implement the method for triggering status reporting according to any one of claims 1-22 or 23-24.

Citation Information

Patent Citations

  • Method for triggering status report by radio link control layer and receiving side device

    CN101989899A

  • Method, apparatus and computer program

    WO2019095228A1

  • Method for processing data packets and communication apparatus

    WO2021217602A1