[go: up one dir, main page]

WO2026026119A1 - 一种触发状态报告的方法及相关装置 - Google Patents

一种触发状态报告的方法及相关装置

Info

Publication number
WO2026026119A1
WO2026026119A1 PCT/CN2025/094773 CN2025094773W WO2026026119A1 WO 2026026119 A1 WO2026026119 A1 WO 2026026119A1 CN 2025094773 W CN2025094773 W CN 2025094773W WO 2026026119 A1 WO2026026119 A1 WO 2026026119A1
Authority
WO
WIPO (PCT)
Prior art keywords
status
status report
data packet
sequence number
timer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2025/094773
Other languages
English (en)
French (fr)
Inventor
张明珠
单宝堃
潘晓刚
庞伶俐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Publication of WO2026026119A1 publication Critical patent/WO2026026119A1/zh
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Definitions

  • This application relates to the field of communication technology, and in particular to a method and related apparatus for triggering a status report.
  • Radio Link Control is a protocol at the radio link control layer in wireless communication systems, 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.
  • 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.
  • 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.
  • 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.
  • this application provides a method for triggering a status report, which can be applied to a receiving end.
  • 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.
  • 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.
  • a probe data packet which can be called a poll PDU
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the triggering condition for the probe timer is: the receiver determines that there is a trigger delay for the status report.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the duration of the polling timer can be shorter than the duration of the reassembly timer.
  • the polling timer may have a duration of 3ms, while the reassembly timer may have a duration of 5ms.
  • the method for triggering a status report may further include: a receiving end receiving a probe timer sent by a sending end.
  • 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.
  • 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.
  • the receiving end triggers a status report based on triggering information.
  • triggering information 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.
  • 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.
  • a status report can be triggered, causing the sending end to retransmit data packets based on the status report.
  • 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.
  • RX_Next could indicate the sequence number after the highest sequence number of the data packets received by the receiver in sequence.
  • the receiver 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.
  • the method for triggering a status report may further include: the receiving end receiving a first threshold sent by the sending end.
  • 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.
  • 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.
  • the receiving end triggers a status report based on triggering information.
  • triggering information 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.
  • the method for triggering a status report may further include: the receiving end receiving a second threshold sent by the sending end.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the receiving end can determine the latest reception status of data packets with sequence numbers prior to the updated fourth status variable.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • the latest reception status of the received data packet e.g., the reception status update indicated by the status report
  • the receiving end may update the status report based on the latest reception status of the received data packet.
  • 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.
  • 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.
  • 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.
  • this application provides a method for triggering a status report, which can be applied to a sending end.
  • 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.
  • 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.
  • a polling data packet which can be called a poll PDU
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Figure 1 is a schematic diagram of a communication system provided in an embodiment of this application.
  • Figure 2a is a schematic diagram of the state variables of a transmitter provided in an embodiment of this application.
  • Figure 2b is a schematic diagram of the state variables of a receiving end provided in an embodiment of this application.
  • Figure 3 is a signaling interaction diagram of a triggered status report provided in an embodiment of this application.
  • Figure 4a is a schematic diagram of an immediately triggered status report provided in an embodiment of this application.
  • Figure 4b is a schematic diagram of a delayed trigger status report provided in an embodiment of this application.
  • Figure 5 is a schematic diagram of updating a state variable according to an embodiment of this application.
  • Figure 6 is a signaling interaction diagram of another triggering status report provided in an embodiment of this application.
  • Figure 7 is a schematic diagram of another method for updating state variables provided in an embodiment of this application.
  • Figure 8 is a signaling interaction diagram of another type of triggering status report provided in an embodiment of this application.
  • Figure 9 is a schematic diagram of another method for updating state variables provided in an embodiment of this application.
  • Figure 10 is a schematic diagram of a status report provided in an embodiment of this application.
  • FIG 11 is a schematic diagram of another status report provided in an embodiment of this application.
  • 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.
  • 2G second-generation
  • 3G third-generation
  • LTE long-term evolution
  • 5G fifth-generation
  • LTE and 5G hybrid architectures LTE and 5G hybrid architectures
  • 5G New Radio (5G NR) systems 5G New Radio
  • 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.
  • Figure 1 an example of a communication system can be shown in Figure 1, which includes a base station 101 and a terminal device 102.
  • 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 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 contain 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.
  • the terminal device can be of various forms, such as a mobile phone, a tablet computer, a computer with wireless transceiver capabilities, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, an in-vehicle terminal device, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a wearable terminal device, etc.
  • VR virtual reality
  • AR augmented reality
  • the terminal device may also be referred to as a terminal, user equipment (UE), access terminal device, in-vehicle 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 be a fixed terminal or a mobile terminal.
  • 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.
  • 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 inquire 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 reception (also known as complete reception) or lost (also known as incomplete reception).
  • the receiving end 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.
  • this application provides a method for triggering a status report.
  • the receiving end can acquire a poll timer (also known as 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.
  • the poll timer is started, and a status report is triggered after the poll timer expires.
  • the receiving end acquires a data volume threshold (also known as 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.
  • 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.
  • the RLC layer supports multiple transmission modes in data transmission.
  • Acknowledged Mode 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.
  • RLC SDUs Radio Link Control Service Data Units
  • An RLC SDU can be a complete RLC SDU, or it can be composed of multiple segments to form a complete RLC SDU.
  • the data packets transmitted between the sending and receiving ends are called Protocol Data Units (AMD PDUs) in AM transmission mode.
  • the sending end can encapsulate RLC SDUs or segments of RLC SDUs into AMD PDUs and send them to the receiving end. That is, if an RLC SDU consists of multiple segments, the sending end can encapsulate each segment of the RLC SDU into an AMD PDU and send it to the receiving end.
  • the transmitting end assigns serial numbers (SNs) to the RLC SDUs in ascending order. After assignment, the transmitting end sends multiple AMD PDUs (with SNs in ascending order) to the receiving end. 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.
  • an RLC SDU comprises multiple segments
  • the sending end will assign a serial number (SN) to the RLC SDU.
  • the SNs of all segments of the RLC SDU are the same, indicating that the AMD PDUs encapsulated from each segment of the RLC SDU all have the same SN.
  • the sending end 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 sending end will send the segments sequentially from beginning to end within the RLC SDU.
  • 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.
  • 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
  • RX_Next + AM_Window_Size 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 highest SN of the RLC SDU received by the receiver.
  • the method for triggering a status report may include the following steps:
  • S301 The receiving end receives the probe data packet sent by the sending end.
  • the transmitting end refers to the device responsible for sending data during communication.
  • the transmitting end can encapsulate the RLC SDU into an AMD PDU and then send the AMD PDU to the receiving end.
  • the receiving end refers to the device responsible for receiving data during communication.
  • the receiving end can restore an AMD PDU to an RLC SDU.
  • the transmitting end can be a network device such as a base station, and the receiving end can be a terminal device.
  • the sending end can be a terminal device
  • 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.
  • a poll packet also known as a poll PDU, is used to inquire about 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.
  • the poll PDU includes a p-bit flag bit to indicate whether polling is performed.
  • 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.
  • the reception status of the RLC SDU may include successful reception (also known as complete reception) and loss (also known as incomplete reception).
  • reception status of 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.
  • a poll PDU can be triggered by the following two conditions, that is, under either of the following two conditions, the sender can send a poll PDU to the receiver.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the sending end 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 smaller than that of the poll PDU.
  • the triggered status report can indicate the reception status of the RLC SDU with SN ⁇ 10.
  • the status report can also indicate the reception status of RLC SDUs with SN greater than poll PDU, or the reception status of RLC SDUs with SN less than or equal to poll PDU. This application does not limit this.
  • 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 preceding the SN of the poll PDU. Therefore, a status report can be triggered immediately without delay, as shown in 1 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 data transmission between the sending and receiving ends, and a status report can also be triggered immediately without delay, as shown in 2 of Figure 4a.
  • 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.
  • 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.
  • 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 smallest SN of the data packet that was not fully received by the receiver; that is, update RX_Highest_Status to a SN greater than that of the first incompletely received RLC SDU indicated by the current RX_Highest_Status.
  • the receiver can update the reception status of the unreceived RLC SDU to "lost," thus updating RX_Highest_Status to a SN greater than the poll PDU, which can also trigger a status report.
  • 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).
  • RX_Highest_Status 5
  • RX_Next_Status_Trigger 8
  • the SN of the poll PDU 8
  • 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.
  • 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.
  • the terminal device determines the reception status of multiple RLC SDUs with SNs of 6-10, it can trigger a status report.
  • RX_Highest_Status is updated to 11
  • RX_Next_Status_Trigger is updated to 16
  • RX_Next_Highest remains at 16
  • 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.
  • 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.
  • the reassembly timer 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.
  • 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.
  • 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.
  • 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 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.
  • the receiving end 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.
  • 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.
  • the method for triggering a status report may include the following steps:
  • S601 The base station sends a poll timer to the terminal device.
  • the base station can send a poll timer to the terminal device via signaling.
  • the base station and the terminal equipment can send AMD PDUs, poll timers, and data volume thresholds (mentioned later) via signaling, which will not be elaborated further.
  • the poll timer is a timer used to process received poll PDUs for terminal devices, ensuring that the terminal devices can send status reports to the base station in a timely manner within a certain period of time.
  • the base station can configure a poll timer based on timer configuration information.
  • the terminal device After receiving the poll timer, the terminal device can obtain the timer configuration information used to configure the poll timer.
  • the timer configuration information may include the start conditions of the poll timer; the timer configuration information may also include the poll timer's duration, i.e., the poll timer will time out after the specified duration; the timer configuration information may also include the subsequent operation information that the terminal device needs to perform after the poll timer times out; the timer configuration information may also include the subsequent operation information that the terminal device will perform after detecting a specific situation during the poll timer's operation.
  • the specific situation detected by the terminal device may be a reassembly timer timeout, which this application does not limit.
  • the base station may determine the poll timer's duration based on the network environment.
  • the base station and the terminal device transmit RLC SDUs through a Hybrid Automatic Repeat Request (HARQ) mechanism.
  • HARQ Hybrid Automatic Repeat Request
  • the transmission duration of the current HARQ mechanism for transmitting RLC SDUs can indicate the current network environment, and therefore the poll timer's duration can be determined based on this.
  • 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, the sum of these three transmission durations, 4ms, can be determined as the duration of the poll timer.
  • 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.
  • the base station may also determine the random duration as the duration of the poll timer, but this application does not limit this.
  • the duration of the configured poll timer is less than the duration of the recombination timer.
  • the terminal device 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.
  • timer configuration information will not be explained in detail here, but will be described in detail in the following examples.
  • network devices such as base stations can configure the poll timer based on the timer configuration information.
  • 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.
  • the base station sends a poll PDU to the terminal device.
  • 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 another signaling.
  • 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.
  • 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.
  • the terminal device determines that the poll PDU is not duplicate data, it can start the poll timer.
  • 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.
  • 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.
  • the SN of the poll PDU received by the terminal device is 10
  • 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.
  • 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.
  • the terminal device after receiving a poll PDU, determines that the SN of the poll PDU is the highest SN received by the terminal device.
  • RX_Next_Highest can be updated to 11.
  • S604 The terminal device determines that the poll timer has timed out, updates the status variables, and triggers a status report.
  • 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.
  • 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.
  • the poll timer is based on a pre-set timeout period. If the poll timer times out and the reassembly timer is running, it indicates that the terminal device still has RLC SDUs that have not been fully received before SN+1 of the poll PDU. In order to avoid excessive delay in status reporting, the status variables can be updated and a status report can be triggered.
  • 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.
  • the terminal device 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.
  • the poll timer 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.
  • the terminal device can update the status variables and trigger a status report based on the updated status variables.
  • 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.
  • RX_Highest_Status updating RX_Highest_Status to the next SN of the poll PDU is only an example. Updating RX_Highest_Status to a SN greater than the poll PDU's SN, such that the poll PDU's SN is less than or equal to RX_Highest_Status, is also possible. For example, RX_Highest_Status can also be updated to the next two SNs of the poll PDU's SN, etc. This application does not limit this.
  • 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.
  • the running reorganization timer can be stopped after the poll timer times out.
  • RX_Next_Status_Trigger can be updated to RX_Next_Highest.
  • 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.
  • RX_Highest_Status 5
  • RX_Next_Status_Trigger 8
  • RX_Next_Highest 11
  • RX_Highest_Status can be updated to 11
  • RX_Next_Status_Trigger can be updated to 11
  • a status report can be triggered.
  • the status report can indicate the reception status of the RLC SDU with SN 10 and before SN 10.
  • 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.
  • 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.
  • RX_Highest_Status 5
  • RX_Next_Status_Trigger 5
  • RX_Next_Highest 11
  • RX_Highest_Status can be updated to 11
  • RX_Next_Status_Trigger can be updated to 11
  • a status report can be triggered.
  • the status report can indicate the reception status of RLC SDUs with SN 10 and those prior to SN 10.
  • 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.
  • the latest updated RX_Highest_Status may be greater than or equal to RX_Next_Status_Trigger, and RX_Next_Status_Trigger may also be updated to RX_Next_Highest.
  • 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.
  • 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 the SN did not receive 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.
  • the terminal device can compare the SN of the poll PDU with the latest RX_Highest_Status again.
  • 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.
  • 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.
  • RX_Highest_Status 5
  • RX_Next_Status_Trigger 8
  • RX_Next_Highest 11
  • the reassembly timer is running (used to update the reception status of RLC SDUs with SNs of 5-7)
  • RX_Highest_Status can be updated to 8 and RX_Next_Status_Trigger to 11.
  • 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 poll PDU's SN 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.
  • the terminal device may also update RX_Highest_Status, or compare the SN of the poll PDU with the latest RX_Highest_Status again.
  • the poll timer 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.
  • 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.
  • 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.
  • a status report can be triggered directly, and the polling timer can be stopped without waiting for the poll timer to time out, thus avoiding additional delay in the status report.
  • 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.
  • the enhanced status report also known as the second status report
  • the terminal device may not update status variables such as RX_Highest_Status, but may trigger an enhanced status report and a first status report.
  • 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).
  • This first status report can indicate the reception status of RLC SDUs with a SN less than RX_Highest_Status.
  • 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.
  • the terminal device determines that the poll timer has timed out and no longer updates the status variables.
  • 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 delay of the status report.
  • the terminal device sends a status report to the base station.
  • 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.
  • the terminal device 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.
  • the terminal device 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.
  • 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.
  • S604 is: the terminal device determines that the poll timer has timed out and triggers the enhanced status report and the first status report
  • S605 can be replaced by the step of: the terminal device sending 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.
  • the sending end 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.
  • the sending end will retransmit the RLC SDU.
  • the sender will not retransmit the RLC SDU if an incompletely received RLC SDU is not a delay-critical data packet.
  • the entity that determines whether a delay-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 delay-critical data packet.
  • PDCP Packet Data Convergence Protocol
  • the PDCP entity may allocate a discard timer for each RLC SDU. After the RLC SDU is sent, the discard timer is started. After receiving the enhancement status report, the PDCP entity may stop the discard timer of the RLC SDU indicated by the enhancement status report.
  • 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 duration 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.
  • a transmission threshold also known as a third threshold
  • this RLC SDU is a critical data packet due to delay if the transmission threshold is 5ms.
  • the delay critical data packet includes a PDU-set drop configuration that indicates drop based on the PDU set, i.e., the drop of any RLC SDU in the PDU set will cause the drop of all other RLC SDUs in the PDU set.
  • the RLC SDU can be identified as a delay-critical data packet.
  • the sender may use various methods to determine whether an RLC SDU is a delay-critical data packet.
  • 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.
  • the RLC layer at the sending end can introduce a drop timer.
  • the drop timer corresponding to that RLC SDU is started. If the enhanced status report indicates that the RLC SDU has expired or the remaining time of the drop timer is less than the transmission threshold, the RLC SDU is determined to be a delay-critical data packet.
  • 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.
  • 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.
  • 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.
  • the status report can be triggered directly, avoiding increased delay in the status report caused by waiting for the poll timer.
  • the method for triggering a status report may include the following steps:
  • S801 Threshold for the amount of data sent by the base station to the terminal device.
  • 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.
  • 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.
  • 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 the RLC SDU that was not received (the terminal device only received a part of the RLC SDU, and other RLC SDU segments were not received).
  • 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.
  • 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.
  • the data volume threshold can be set to 3.
  • a data volume threshold can be determined based on the number of RLC SDUs.
  • 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.
  • the second threshold can be 5 or 8, and this application does not limit it to this.
  • 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 completely received.
  • 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.
  • 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.
  • S802 The base station sends a poll PDU to the terminal device.
  • 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.
  • 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.
  • 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. It then compares the number of RLC SDUs that were not fully received with the data volume threshold.
  • RX_Next is used to indicate the next SN of the SN of the latest complete RLC SDU received by the terminal device in sequence
  • RX_Next_Highest is used to indicate the next SN of the highest SN of the RLC SDU received by the terminal device.
  • the terminal device may not have any incompletely received RLC SDUs before it receives the poll PDU.
  • RX_Next RX_Next_Highest, indicating that the terminal device has received all the RLC SDUs of the SN before RX_Next_Highest.
  • the terminal device 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.
  • the terminal device may already have an incomplete RLC SDU.
  • 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.
  • 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.
  • 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 a data volume threshold.
  • S801 is: the base station sends a second threshold to the terminal device
  • 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.
  • 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.
  • 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.
  • 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.
  • RX_Highest_Status 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.
  • 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 incomplete RLC SDU in the next round.
  • RX_Highest_Status can be updated to the next SN of the poll PDU's 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.
  • 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.
  • the latest updated RX_Highest_Status may be greater than or equal to RX_Next_Status_Trigger, and RX_Next_Status_Trigger may also be updated to RX_Next_Highest.
  • 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.
  • 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.
  • 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.
  • the terminal device may not update status variables such as RX_Highest_Status, but may trigger an enhanced status report and a first status report.
  • the receiving terminal device determines that the poll timer has timed out and no longer updates the status variables.
  • the base station can determine the reception status of RLC SDUs whose SN is less than or equal to the poll PDU.
  • 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.
  • 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.
  • 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 variable and triggers a state report, the trigger information being: the number of fully received RLC SDUs is less than or equal to 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.
  • 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 completely 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.
  • the terminal device sends a status report to the base station.
  • the sending end if the number of incomplete data packets received by the receiving end exceeds the data volume threshold, the current network condition is considered poor, and a status report can be triggered immediately. This allows the sending end to retransmit data packets in a timely manner based on the status report, thereby improving the data communication efficiency between the sending and receiving ends.
  • 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.
  • 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.
  • 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:
  • the value of the CPT field in the status report is 000.
  • the status report is a type of RLC control PDU.
  • 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 RLC SDUs that were not fully received at the receiving end.
  • the E1 field can be seen in Table 2 below:
  • 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).
  • the E2 field is used to indicate whether there are subsequent SOstart and SOend fields, that is, to indicate whether the RLC SDU with the SN indicated by NACK_SN is segmented, as shown in Table 3 below:
  • 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:
  • 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 and discarded.
  • the SOstart field indicates the position of the first byte of the segment in the RLC SDU.
  • the SOend field (together with the SOstart field) indicates that a segment of the RLC SDU with SN NACK_SN (SOend associated with SOend) was detected as being dropped.
  • the SOend field indicates the position of the last byte of the segment in the RLC SDU.
  • the SOend field indicates that a segment of the RLC SDU with SN of NACK_SN+NACK range–1 has been detected as lost.
  • the NACK range is used to indicate the number of consecutively lost RLCSDUs starting from the RLC SDU with SN NACK_SN.
  • R is used to indicate reserved fields and is usually set to 0, which can be ignored.
  • 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.
  • the sending end 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.
  • 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.
  • 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.
  • 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.
  • ROM read-only memory
  • RAM random access memory
  • CD-ROM compact disc-read only memory
  • magnetic tape magnetic tape
  • floppy disk magnetic tape
  • optical data storage devices optical data storage devices
  • Another embodiment of this application provides a computer program product containing instructions.
  • the computer program product 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.
  • 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.
  • 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.

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了一种触发状态报告的方法及相关装置,涉及通信技术领域。在该方法中,接收端可以接收发送端发送的探询数据包,该探询数据包可以用于探询发送端向接收端发送的数据包的接收状态;在探询数据包的序列号大于或等于第一状态变量,且该探询数据包的序列号小于第二状态变量的情况下,表明状态报告的触发存在延时,接收端可以基于触发信息触发状态报告,该第一状态变量用于指示状态报告的最高序列号,第二状态变量用于指示接收端的接收窗口的上限值。如此,减少状态报告的触发延时,使得接收端可以尽快向发送端发送状态报告,进而使得发送端可以基于状态报告向接收端重传数据包,提高发送端与接收端之间的数据通信效率。

Description

一种触发状态报告的方法及相关装置
本申请要求于2024年08月02日提交中国专利局、申请号为202411062680.X、发明名称为“一种触发状态报告的方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种触发状态报告的方法及相关装置。
背景技术
无线链路控制(Radio Link Control,RLC)是无线通信系统中的无线链路控制层的协议,其在无线通信系统中可以负责数据的可靠传输。RLC协议具有重传机制,以基站与终端设备之间基于RLC协议实现数据传输为例,检测到基站作为发送端向终端设备这一接收端发送的数据包丢失,则可以基于RLC协议配置的重传机制重新传输丢失的数据包,以确保数据的可靠性。
目前,触发RLC协议配置的重传机制为发送端接收到接收端发送的状态报告,该状态报告可以指示接收端对于发送端所发送的数据包的接收状态,进而基于状态报告触发重传机制,重传丢失的数据包。然而,状态报告的触发有时会出现时延的情况,容易导致发送端无法及时接收到状态报告,也就无法及时重传数据包,从而影响发送端与接收端之间的数据通信效率。
发明内容
为了解决上述问题,本申请提供了一种触发状态报告的方法及相关装置,目的是降低状态报告的触发时延(也可状态报告的触发延时),使得发送端尽快接收到状态报告,提高发送端重传数据包的效率,进而提高发送端与接收端之间的数据通信效率。
第一方面,本申请提供了一种触发状态报告的方法,可以应用于接收端,示例性地,接收端可以为终端设备,发送端可以为基站等网络设备;又示例性地,接收端可以为基站等网络设备,发送端可以为终端设备。在该方法中,接收端先接收发送端发送的探询数据包,该探询数据包(可以称为poll PDU)用于探询发送端向接收端发送的数据包的接收状态;在确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,接收端基于触发信息触发状态报告,该触发信息用于触发状态报告,第一状态变量为RX_Highest_Status,其用于指示状态报告的最高序列号,接收端可以确定序列号在第一状态变量之前的数据包的接收状态,第二状态变量为RX_Next+AM_Window_Size,其可以用于指示接收端的接收窗口的上限值。
如此,在探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,表明状态报告的触发存在延时,接收端可以基于触发信息触发状态报告,减少状态报告的触发延时,使得发送端更快的接收到状态报告,进而发送端可以基于状态报告指示的数据包的接收状态,对接收状态为丢失的数据包进行重传,提高发送端与接收端之间的数据通信效率。
在一种可能的实现方式中,在接收端基于触发信息触发状态报告之前,还可以包括:接收端确定探询数据包未被重复接收,表明探询数据包是接收端首次接收到的数据包,接收端之前未接收过相同的探询数据包。由于接收端接收到重复的数据包后,可以触发状态报告,如此,在确定探询数据包未被重复接收的情况下,可以进一步确定状态报告存在触发延时,进而基于触发信息及时触发状态报告,减少状态报告的触发延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:在确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,接收端可以启动探询定时器。如此,探询定时器的启动条件为:接收端确定状态报告存在触发延时。
在一种可能的实现方式中,接收端基于触发信息触发状态报告可以包括:在确定探询定时器超时的情况下,接收端可以触发状态报告,表明触发状态报告的触发信息为:接收端启动的探询定时器超时。如此,在确定状态报告存在延时的情况下,接收端可以启动探询定时器,并在确定探询定时器超时后触发状态报告,减少状态报告的触发延时。
在一种可能的实现方式中,接收端确定探询定时器超时,触发状态报告,可以包括:在确定探询定时器超时且重组定时器未超时的情况下,接收端可以触发状态报告。由于状态报告存在触发延时的情况下,重组定时器可以正在运行中,接收端往往等待接收数据包,或者,重组定时器超时后,可以触发延时报告,如此,在重组定时器未超时,探询定时器超时的情况下,接收端触发状态报告,可以减少状态报告的触发延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:在探询定时器运行的情况下,接收端确定探询数据包的序列号小于最新的第一状态变量,可以停止探询定时器。由于第一状态变量可以随着数据包的接收状态的更新而更新,在探询定时器运行的情况中,接收端可以确定更多数据包的接收状态,使得第一状态变量更新,在探询数据包的序列号小于最新的第一状态变量的情况下,表明接收端可以确定序列号小于或等于探询数据包的序列号的数据包的接收状态,可以触发状态报告,接收端可以不再基于探询定时器超时触发状态报告,能够避免额外增加状态报告的触发延时,减少探询定时器的运行资源的浪费。
在一种可能的实现方式中,上述最新的第一状态变量可以为重组定时器超时后,接收端更新第一状态变量得到。由于重组定时器超时,可以更新第一状态变量,接收端可以将序列号在第一状态变量之前的未完整接收到的数据包的接收状态确定为丢失,如此,探询数据包的序列号小于最新的第一状态变量,表明接收端可以确定序列号小于或等于探询数据包的序列号的数据包的接收状态,可以触发状态报告。
在一种可能的实现方式中,上述最新的第一状态变量为接收数据包后,接收端更新第一状态变量得到。由于在探询定时器运行的情况下,接收端可以接收数据包,在接收端确定该数据包的序列号与之前的数据包的序列号连续且该数据包完整的情况下,可以更新第一状态变量,接收端可以将序列号在第一状态变量之前的完整接收到的数据包的接收状态确定为成功接收。如此,在探询数据包的序列号小于最新的第一状态变量的情况下,表明接收端可以确定序列号小于或等于探询数据包的序列号的数据包的接收状态,进而触发状态报告。
在一种可能的实现方式中,探询定时器的计时时长可以小于重组定时器的计时时长,示例性地,探询定时器的计时时长为3ms,重组定时器的计时时长可以为5ms。如此,在状态报告存在延时的情况下,相较于相关技术中接收端等待至少一个重组定时器的计时时长,本申请中接收端可以等待计时时长更短的探询定时器,减少状态报告的延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:接收端接收发送端发送的探询定时器,示例性地,接收端可以为终端设备,发送端可以为基站,基站可以基于定时器配置信息配置得到探询定时器并将探询定时器发送给终端设备,定时器配置信息可以包括计时时长等。如此,接收端接收到探询定时器后,可以在基于探询定时器确定状态报告存在触发延时的情况下,启动探询定时器。
在一种可能的实现方式中,接收端基于触发信息触发状态报告,可以包括:接收端确定未完整接收到的数据包的数量大于第一阈值,触发状态报告,第一阈值是指预先设定的接收端未完整接收到的数据包的数量阈值。如此,触发信息可以为:接收端未完整接收到的数据包的数量大于该第一阈值,表明接收端未完整接收到的数据包的数量较多,网络状况较差,为了避免发送端与接收端之间的数据通信效率较低,可以触发状态报告,使得发送端基于状态报告重传数据包。
在一种可能的实现方式中,接收端未完整接收到的数据包的序列号大于或等于第三状态变量,且未完整接收到的数据包的序列号小于或等于探询数据包的序列号,第三状态变量为RX_Next,其用于指示接收端按序接收到的数据包的最高序列号之后的序列号,例如RX_Next可以指示接收端按序接收到的数据包的最高序列号的下一个序列号。由于接收端接收发送端发送的探询数据包后,表明接收端期待接收的状态报告可以包括序列号小于或等于探询数据包的序列号的接收状态,而序列号大于或等于第三状态变量的数据包中存在接收端未完整接收到的数据包的接收状态,可以确定序列号大于或等于第三状态变量且小于或等于探询数据包的序列号的数据包中,接收端未完整接收到的数据包的数量是否较多,如此,可以尽快触发状态报告,减少状态报告的延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:接收端接收发送端发送的第一阈值。示例性地,接收端可以为终端设备,发送端可以为基站,基站可以向终端设备发送第一阈值。如此,接收端接收到第一阈值后,可以基于第一阈值在确定状态报告存在触发延时的情况下,比较第一阈值与接收端的未完整接收到的数据包的数量。
在一种可能的实现方式中,接收端基于触发信息触发状态报告,可以包括:在确定序列号大于或等于第三状态变量,且小于或等于探询数据包的序列号的数据包的数量大于第二阈值的情况下,终端设备可以触发状态报告,该第三状态变量用于指示接收端按序接收到的数据包的最高序列号之后的序列号。如此,在探询数据包的序列号超出第三状态变量较多,二者之间包括的数据包的数量较多的情况下,表明网络状况较差,终端设备可以触发状态报告,减少状态报告的延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:接收端接收发送端发送的第二阈值。示例性地,接收端可以为终端设备,发送端可以为基站,基站可以向终端设备发送第二阈值。如此,接收端接收到第二阈值后,可以基于第二阈值在确定状态报告存在触发延时的情况下,比较第二阈值与序列号大于或等于第三状态变量且小于或等于探询数据包的序列号的数据包的数量。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:在确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,接收端可以基于触发信息更新第一状态变量。由于第一状态变量与状态报告所指示的数据包的序列号相关,如此,在确定触发报告存在延时的情况下,接收端可以更新第一状态变量,能够使得所触发的状态报告指示的信息更加准确。
在一种可能的实现方式中,接收端基于触发信息更新第一状态变量,可以包括:接收端基于触发信息将第一状态变量更新为大于探询数据包的序列号的序列号,示例性地,接收端可以基于触发信息将第一状态变量更新为探询数据包的序列号的下一个序列号。由于第一状态变量指示状态报告的最高序列号,状态报告可以指示小于该最高序列号的数据包的接收状态,接收端基于触发信息更新第一状态变量,且更新后的第一状态变量大于探询数据包的序列号,如此,接收端所触发的状态报告可以指示小于或等于探询数据包的序列号的数据包的接收状态,满足发送端的需求。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:在接收端基于触发信息触发状态报告后,在确定探询数据包的序列号大于或等于第四状态变量的情况下,接收端可以将第四状态变量更新为最新的第五状态变量,第四状态变量为RX_Next_Status_Trigger,其用于指示触发重组定时器的数据包的序列号之后的序列号,例如其可以用于指示触发重组定时器的数据包的序列号的下一个序列号,第五状态变量为RX_Next_Highest,其用于指示接收端接收到的数据包的最高序列号之后的序列号,例如其可以用于指示接收端接收到的数据包的最高序列号的下一个序列号。由于第四状态变量与重组定时器相关,接收端通过重组定时器可以确定序列号在第四状态变量之前的数据包的接收状态,而接收端基于触发信息触发状态报告后,表明接收端可以确定序列号小于或等于探询数据包的序列号的数据包的接收状态,接收端无需再通过重组定时器确定,接收端可以将四状态变量更新为最新的第五状态变量,能够减少重组定时器的资源浪费。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:在接收端基于触发信息触发状态报告后,确定最新的第一状态变量大于或等于第四状态变量的情况下,接收端可以将第四状态变量更新为最新的第五状态变量;第四状态变量用于指示触发重组定时器的数据包的序列号之后的序列号,例如其可以用于指示触发重组定时器的数据包的序列号的下一个序列号,第五状态变量用于指示接收端接收到的数据包的最高序列号之后的序列号,例如其可以用于指示接收端接收到的数据包的最高序列号的下一个序列号。由于接收端通过重组定时器可以确定序列号在第四状态变量之前的数据包的接收状态,而接收端基于触发信息触发状态报告后,表明最新的第一状态变量大于该探询数据包的序列号,接收端无需再通过重组定时器确定序列号在最新的第一状态变量之前的数据包的接收状态,接收端可以将四状态变量更新为最新的第五状态变量,能够减少重组定时器的资源浪费。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:第四状态变量更新后,接收端可以基于更新后的第四状态变量,重启重组定时器。如此,在该重启后的重组定时器运行的情况下,接收端可以确定序列号在更新后的第四状态变量之前的数据包的最新接收状态。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:接收端向发送端发送状态报告,接收端基于触发信息触发状态报告后,接收端可以等待传输机会向发送端发送状态报告,该状态报告可以用于指示序列号小于或等于探询数据包的序列号的数据包的接收状态。如此,接收端向发送端发送状态报告后,发送端可以基于状态报告尽快重传数据包,提高发送端与接收端之间的数据通信效率。
在一种可能的实现方式中,状态报告包括第一状态报告和第二状态报告,该触发状态报告的方法,还可以包括:接收端向发送端发送第一状态报告和第二状态报告,接收端基于触发信息触发第一状态报告和第二状态报告后,接收端可以等待传输机会向发送端发送第一状态报告和第二状态报告,第一状态报告可以用于指示序列号小于第一状态变量的数据包的接收状态,第一状态报告可以用于指示序列号大于或等于第一状态变量,且小于或等于探询数据包的序列号的数据包的接收状态。如此,接收端可以不更新第一状态变量等状态变量,能够提升触发第一状态报告和第二状态报告的速度,进一步减少状态报告的延时。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:接收端基于触发信息触发状态报告后,在确定出接收到的数据包的最新接收状态下,例如该状态报告所指示的数据包的接收状态更新,或者,接收端接收到新的数据包使得第一状态变量更新;接收端可以基于接收到的数据包的最新接收状态,更新状态报告,示例性地,接收端可以将状态报告所指示的数据包的接收状态由丢失更新为成功接收,例如更新NACK_SN等字段,或者接收端可以在状态报告添加新的数据包的接收状态,例如更新状态报告所指示的ACK_SN;接收端向发送端发送更新后的状态报告,例如接收端等待至传输机会可以将状态报告发送给发送端,该更新后的状态报告所指示的数据包的接收状态包括序列号小于或等于探询数据包的序列号的数据包的接收状态。如此,在满足发送端需求的基础上,使得发送端获得向接收端发送的数据包的更为实时的接收状态,能够避免发送端向接收端发送接收端已经完整接收到的数据包,避免通信资源的浪费。
第二方面,本申请提供了一种触发状态报告的方法,可以应用于发送端,示例性地,发送端可以为基站等网络设备,接收端可以为终端设备;又示例性地,发送端可以为终端设备,接收端可以为基站等网络设备。在该方法中,发送端可以向接收端发送探询数据包,该探询数据包(可以称为poll PDU)用于探询发送端向接收端发送的数据包的接收状态;接收端接收到探询数据包后,在确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,接收端可以基于触发信息触发状态报告,该触发信息用于触发状态报告,第一状态变量为RX_Highest_Status,可以用于指示状态报告的最高序列号,接收端可以确定序列号在第一状态变量之前的数据包的接收状态,第二状态变量为RX_Next+AM_Window_Size,可以用于指示接收端的接收窗口的上限值。
如此,在探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,表明接收端的状态报告的触发存在延时,接收端可以基于触发信息触发状态报告,能够减少状态报告的触发延时,使得发送端尽快接收到状态报告,以便发送端可以基于状态报告指示的数据包的接收状态,对接收状态为丢失的数据包进行重传,从而提高发送端与接收端之间的数据通信效率。
在一种可能的实现方式中,触发信息可以包括探询定时器超时,该触发状态报告的方法中,还可以包括:发送端向接收端发送探询定时器,示例性地,发送端可以为基站,接收端可以为终端设备,基站可以基于定时器配置信息配置得到探询定时器并将探询定时器发送给终端设备,定时器配置信息可以包括计时时长等。如此,接收端接收到探询定时器后,可以在基于探询定时器确定状态报告存在触发延时的情况下,启动探询定时器。
在一种可能的实现方式中,触发信息可以包括接收端未完整接收到的数据包的数量大于第一阈值,该触发状态报告的方法中,还可以包括:发送端向接收端发送第一阈值,示例性地,发送端可以为基站,接收端可以为终端设备,基站可以向终端设备发送第一阈值。如此,接收端接收到第一阈值后,可以基于第一阈值在确定状态报告存在触发延时的情况下,比较第一阈值与接收端的未完整接收到的数据包的数量。
在一种可能的实现方式中,触发信息可以包括序列号大于或等于第三状态变量,且小于或等于探询数据包的序列号的数据包的数量大于第二阈值,该触发状态报告的方法中,还可以包括:发送端向接收端发送第二阈值,示例性地,发送端可以为基站,接收端可以为终端设备,基站可以向终端设备发送第二阈值。如此,接收端接收到第一阈值后,可以基于第二阈值在确定状态报告存在触发延时的情况下,比较第二阈值与序列号大于或等于第三状态变量且小于或等于探询数据包的序列号的数据包的数量。
在一种可能的实现方式中,该触发状态报告的方法,还可以包括:发送端接收接收端发送的状态报告;状态报告包括第一状态报告和第二状态报告;第一状态报告用于指示序列号小于第一状态变量的数据包的接收状态;第二状态报告用于指示序列号大于或等于第一状态变量,且小于或等于探询数据包的序列号的数据包的接收状态;在第二状态报告所指示的数据包的接收状态为丢失,且数据包为延迟关键数据包的情况下,发送端可以重传数据包,延迟关键数据包的剩余时间小于或等于第三阈值,举例来说,延迟关键数据包的丢弃定时器的剩余时间小于或等于第三阈值,或者,数据包属于一个数据包集(也可称为PDU集),该数据包集的至少一个数据包(确定为延迟关键数据包)的剩余时间小于或等于第三阈值,该数据包也可以确定为延迟关键数据包。
第三方面,本申请提供了一种电子设备,该电子设备作为接收端,其包括存储器和处理器;存储器存储计算机程序代码,计算机程序代码包括计算机指令;一个或多个处理器调用计算机指令,以使得电子设备执行上述第一方面的触发状态报告的方法。
第四方面,本申请提供了一种电子设备,该电子设备作为发送端,其包括存储器和处理器;存储器存储计算机程序代码,计算机程序代码包括计算机指令;一个或多个处理器调用计算机指令,以使得电子设备执行上述第二方面的触发状态报告的方法。
第五方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现上述第一方面的触发状态报告的方法或者第二方面的触发状态报告的方法。
第六方面,本申请提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码被电子设备执行时,实现上述第一方面的触发状态报告的方法或者第二方面的触发状态报告的方法。
附图说明
图1为本申请实施例提供的一种通信系统的结构示意图;
图2a为本申请实施例提供的一种发送端的状态变量的示意图;
图2b为本申请实施例提供的一种接收端的状态变量的示意图;
图3为本申请实施例提供的一种触发状态报告的信令交互图;
图4a为本申请实施例提供的一种立即触发状态报告的示意图;
图4b为本申请实施例提供的一种延迟触发状态报告的示意图;
图5为本申请实施例提供的一种更新状态变量的示意图;
图6为本申请实施例提供的另一种触发状态报告的信令交互图;
图7为本申请实施例提供的另一种更新状态变量的示意图;
图8为本申请实施例提供的又一种触发状态报告的信令交互图;
图9为本申请实施例提供的又一种更新状态变量的示意图;
图10为本申请实施例提供的一种状态报告的示意图;
图11为本申请实施例提供的另一种状态报告的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例应用于通信系统,可以是第二代(2G)通信系统、第三代(3G)通信系统,可以是长期演进(long term evolution,LTE)系统,也可以是第五代(5G)通信系统,还可以是LTE与5G混合架构、也可以是5G新无线(5G New Radio,5G NR)系统,以及未来通信发展中出现的新通信系统等。
通信系统可以包括网络设备和终端设备。网络设备是用于提供网络通信功能的设备,有些情况下也称作网元,网络设备通常可以是基站,基站的功能单元等地面网络设备。在本申请实施例中,通信系统的一种示例可以如图1所示,图1中包括基站101和终端设备102。
在本申请提供的实施例中,基站可以是具有无线收发功能的任意一种设备,包括但不限于:LTE系统中的演进型基站(NodeB或eNB或e-NodeB,evolutional Node B),新无线(new radio,NR)中的基站(gNodeB或gNB)或收发点(transmission receiving point/transmission reception point,TRP),3GPP后续演进的基站,Wi-Fi系统中的接入节点,无线中继节点,无线回传节点等。基站可以是:宏基站,微基站,微微基站,小站,中继站,或气球站等。基站可以包含一个或多个共站或非共站的传输点(Transmission Reception Point,TRP)。基站还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器、集中单元(centralized unit,CU),和/或分布单元(distributed unit,DU)。基站可以与终端进行通信,也可以通过中继站与终端进行通信。终端可以与不同技术的多个基站进行通信,例如,终端可以与支持LTE网络的基站通信,也可以与支持5G网络的基站通信,还可以与支持LTE网络的基站以及5G网络的基站进行双连接。
在本申请提供的实施例中,终端设备可以是各种形式,例如,手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、可穿戴终端设备等等。终端设备有时也可以称为终端、用户设备(user equipment,UE)、接入终端设备、车载终端、工业控制终端、UE单元、UE站、移动站、移动台、远方站、远程终端设备、移动设备、UE终端设备、终端设备、无线通信设备、UE代理或UE装置等。终端设备也可以是固定终端或者移动终端。
需要说明的是,上述图1所示的通信系统仅为示例,实际应用时,通信系统可以包括更多数量或者更多类型的设备。本申请对于通信系统的架构并不进行限定。
目前,发送端可以向接收端发送携带轮询请求的数据包,该数据包可以称为探询数据包poll PDU,poll PDU用于探询发送端向接收端发送的数据包,是否被接收端完整接收到,也即数据包的接收状态为成功接收(也可称为完整接收到)还是丢失(也可称为未完整接收到)。
但接收端接收到poll PDU后,有时候不会立即触发状态报告,而是需要等待重组定时器的运行,甚至可能需要等到重组定时器的超时后更新状态变量,才会触发状态报告,容易造成状态报告的时延(也可称为状态报告的触发延时),导致发送端无法及时获知自身发送的数据包的接收状态,降低发送端重传数据包的效率,进而降低发送端与接收端之间的数据通信效率。
因此,为了解决上述问题,本申请实施例提供了一种触发状态报告的方法,在该方法中,接收端可以获取poll定时器(也可称为探询定时器),接收端确定接收到的poll PDU的序列号大于或等于最大状态传输状态变量RX_Highest_Status,且poll PDU的序列号小于状态变量RX_NEXT与窗口大小AM_Window_Size之和,则启动poll定时器,在poll定时器超时后,触发状态报告;或者,接收端获取数据量门限(也可称为第一阈值),接收端确定接收到的poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_NEXT+AM_Window_Size,且确定未完整接收到的数据包的数量大于数据量门限,触发状态报告。
如此,可以在确定poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_NEXT与AM_Window_Size之和的情况下,基于poll定时器超时或者未完整接收到的数据包的数量大于数据量门限触发状态报告,无需等待重组定时器的运行或者等待重组定时器的超时,能够减少状态报告的时延,从而提高发送端接收到状态报告的速度,使得发送端尽快向接收端重传数据包,提高发送端与接收端之间的数据通信效率。
接下来,先介绍发送端与接收端之间传输数据包时的多个状态变量,以及这多个状态变量的更新方式。
RLC层在数据传输中支持多种传输模式,在确认模式(Acknowledged Mode,AM)下,RLC层会要求数据在传输过程中得到确认,可以触发状态报告,使得接收端向发送端发送状态报告,发送端会等待接收端的状态报告来确认数据的接收状态。
在本申请实施例中,发送端和接收端各自处理的数据包称为无线链路控制服务数据单元(Radio Link Control Service Data Unit,RLC SDU),RLC SDU可以是一个完整的RLC SDU,RLC SDU也可以是由多个分段组成一个完整的RLC SDU。
发送端和接收端之间传输的数据包称为AM传输模式下的协议数据单元(Adaptive Mode Data Protocol Data Unit,AMD PDU)。发送端可以将RLC SDU或者将RLC SDU的分段封装为AMD PDU发送给接收端,也就是说RLC SDU包括多个分段的情况下,发送端可以将RLC SDU的每个分段封装成AMD PDU发送给接收端。
在本申请实施例中,发送端会对RLC SDU依次分配从小到大的序列号(Serial Number,简称SN),分配后发送端会向接收端依次发送SN从小到大的多个AMD PDU。举例来说,发送端为三个RLC SDU分配的SN为1-3,发送端按照SN从小到大的顺序依次发送这三个RLC SDU封装而成的三个AMD PDU。
需要说明的是,RLC SDU包括多个分段的情况下,发送端会为RLC SDU分配一个SN,该RLC SDU的各个分段的SN相同,表明该RLC SDU的各个分段所封装成的AMD PDU的SN均相同。举例来说,一个RLC SDU包括三个分段,而发送端已经发送了SN分别为1和2的AMD PDU,则发送端会对该RLC SDU分配的SN为3,该RLC SDU的三个分段分别构成的三个AMD PDU分配的SN均为3,发送端会按照分段在该RLC SDU中从前到后的顺序依次发送。
如图2a所示,发送端具有确认状态变量TX_Next_Ack、发送状态变量TX_Next以及窗口大小AM_Window_Size这些状态变量。TX_Next_Ack用于保存发送端最新确认接收状态的RLC SDU的SN的下一个SN,其作为发送端的发送窗口的下界,在发送端继续确认出新一个RLC SDU的接收状态时,则更新TX_Next_Ack。TX_Next用于保存为下一个新生成的AMD PDU分配的SN,一个AMD PDU包括一个RLC SDU或者RLC SDU的分段。AM_Window_Size指在AM下预先设置的窗口大小,TX_Next_Ack+AM_Window_Size作为发送窗口的上界,用于决定发送端在未接收到接收端发送的状态报告的情况下,可以连续发送的RLC SDU的数量,发送端可以发送的RLC SDU的SN大于或等于TX_Next_Ack,且小于TX_Next_Ack+AM_Window_Size。
如图2b所示,接收端具有状态变量RX_Next(也可称为第三状态变量)、最大状态传输状态变量RX_Highest_Status(也可称为第一状态变量)、t-重组状态变量RX_Next_Status_Trigger(也可称为第四状态变量)、最高接收状态变量RX_Next_Highest(也可称为第五状态变量)以及AM_Window_Size这些状态变量。RX_Next用于保存接收端按照顺序最新完整接收到的RLC SDU的SN的下一个SN,其作为接收端的接收窗口的下界,RX_Next+AM_Window_Size作为接收窗口的上界,RX_Next+AM_Window_Size(二者之和也可称为第二状态变量)可以指示接收端的接收窗口的上限值。RX_Highest_Status用于保存构建状态报告时,状态报告所指示的最高可能的SN,也即为接收端可确认接收状态的RLC SDU的最高SN的下一个SN。RX_Next_Status_Trigger用于保存触发重组定时器的RLC SDU的SN的下一个SN。RX_Next_Highest用于保存接收端接收到的RLC SDU的最高SN的下一个SN。
接下来,结合图3-图11介绍本申请实施例提供的触发状态报告的方法。
实施例一:
如图3所示,该触发状态报告的方法可以包括以下步骤:
S301:接收端接收发送端发送的探询数据包。
发送端是指在通信过程中负责发送数据的设备。在一些实施例中,发送端可以将RLC SDU封装成AMD PDU,再将AMD PDU发送给接收端。
接收端是指在通信过程中负责接收数据的设备。在一些实施例中,接收端可以将AMD PDU还原成RLC SDU。
在一些实施例中,发送端可以为基站等网络设备,接收端可以为终端设备。
在一些实施例中,发送端可以为终端设备,接收端可以为基站等网络设备,本申请对于发送端和接收端的设备类型不做限定。
探询数据包也可称为poll PDU,poll PDU用于探询发送端向接收端发送的数据包的接收状态,以确定发送端发送的数据包接收端是成功接收到,还是因数据包丢失而导致接收端未接收到。
在一些实施例中,poll PDU包括p位的标志位,用于表示是否进行探询polling,poll PDU的P位为1,表示发送端向接收端发送polling,期望接收端发送状态报告,以使发送端基于状态报告确认出向接收端发送的RLC SDU的接收状态。
在一些实施例中,RLC SDU的接收状态可以包括成功接收(也可称为完整接收)和丢失(也可称为未完整接收)。
需要说明的是,RLC SDU的接收状态为丢失时,可能是接收端未接收到RLC SDU,也可能是接收端接收到RLC SDU的分段,但是未完整接收到该RLC SDU的所有分段。
在一些实施例中,可以通过以下两个条件触发poll PDU,也即在以下两个条件的任一条件下,发送端可以向接收端发送poll PDU。
第一个条件为:发送端首次发送poll PDU,或者发送端检测到自上次发送poll PDU后,发送的RLC SDU的数量大于门限(该门限是指预先设置的RLC SDU数量阈值),或者发送的字节数大于门限(该门限是指预先设置的字节数阈值,一个RLC SDU通常由多个字节组成),则可以触发发送端向接收端发送poll PDU。
第二个条件为:发送端检测到自身的缓存内已经没有需要新发送的RLC SDU,以及需要重传的RLC SDU,则可以触发发送端向接收端发送poll PDU。
S302:接收端确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量,基于触发信息触发状态报告。
第一状态变量可以用于指示状态报告的最高序列号SN,第一状态变量为RX_Highest_Status。
状态报告用于指示SN小于状态报告中最高SN的RLC SDU的接收状态,表明接收端可以确定SN小于RX_Highest_Status的RLC SDU的接收状态。
第二状态变量可以用于指示接收端的接收窗口的上限值,第二状态变量为RX_Next+AM_Window_Size。
应理解,发送端向接收端发送poll PDU后,表明发送端希望接收到的状态报告可以指示poll PDU以及SN小于poll PDU的SN的RLC SDU的接收状态。
示例性地,poll PDU的SN为10,则所触发的状态报告可以指示SN≤10的RLC SDU的接收状态。
需要说明的是,上述示例中,状态报告也可以指示SN大于poll PDU的SN的RLC SDU的接收状态,包含SN小于或等于poll PDU的SN的RLC SDU的接收状态即可,本申请对此不做限定。
应理解,假设poll PDU的SN小于RX_Highest_Status,接收端可以确定SN小于RX_Highest_Status的RLC SDU的接收状态,表明接收端已经确定poll PDU以及SN在poll PDU的SN之前的RLC SDU的接收状态,则可以立即触发状态报告,不存在时延,如图4a所示的①。poll PDU的SN大于或等于接收RX_Next与AM_Window_Size之和,表明发生了窗口溢出,可以直接认为发送端和接收端之间的数据传输出现了异常情况,则也可以立即触发状态报告,不存在时延,如图4a所示的②。
而在poll PDU的SN大于或等于RX_Highest_Status,且小于RX_Next+AM_Window_Size的情况下,如图4b所示。表明接收端所接收到的多个RLC SDU的SN不是连续的,针对SN大于或等于RX_Highest_Status且小于或等于Poll PDU的SN的RLC SDU,接收端无法确定其接收状态,导致无法向发送端反馈包括SN小于或等于Poll PDU的SN的RLC SDU的接收状态的状态报告。需等待接收端确定SN大于或等于RX_Highest_Status且小于或等于Poll PDU的SN的RLC SDU的接收状态后,使得poll PDU的SN小于RX_Highest_Status,或者,使得poll PDU的SN大于RX_Next+AM_Window_Size的情况下可以对poll PDU的SN进行数据包状态反馈。
在接收端检测到所接收到的多个RLC SDU的SN不是连续的情况下,接收端可能会启动一个或多个重组定时器,直至RX_Highest_Status更新为大于poll PDU的SN后,也即接收端确定出poll PDU以及SN小于poll PDU的SN的RLC SDU的接收状态后,可以触发状态报告。
一种情况下,接收端检测到所接收到的多个RLC SDU的SN连续,使得RX_Highest_Status更新为大于poll PDU的SN,可以触发状态报告。接收端检测到接收到的RLC SDU的SN与RX_Highest_Status相等,可以更新RX_Highest_Status至接收端未完整接收到的数据包的最小SN,也即将RX_Highest_Status更新至大于当前RX_Highest_Status所指示的第一个未完整接收的RLC SDU的SN。
示例性地,RX_Highest_Status=5,poll PDU的SN=8,表明按照SN从小到大的顺序,接收端检测到第一个未完整接收到的RLC SDU的SN为5,接收端接收到完整的SN为5的RLC SDU后,接收端可以将RX_Highest_Status更新为6,以此类推,在接收端接收到完整的SN为6、完整的SN为7以及完整的SN为8的RLC SDU后,接收端可以将RX_Highest_Status更新为9,可以触发状态报告。
另一种情况下,在重组定时器超时后,接收端可以将未接收到的RLC SDU的接收状态更新为丢失,使得RX_Highest_Status更新为大于poll PDU的SN,也可以触发状态报告。在重组定时器超时的情况下,RX_Highest_Status可以更新到大于RX_Next_Status_Trigger的未完整接收的第一个RLC SDU的SN。接收端未完整接收的RLC SDU是指接收端未接收到该RLC SDU,或者接收端未接收到该RLC SDU的所有字节(例如该RLC SDU包括三个分段,接收端仅接收到该RLC SDU的第一个分段)。
示例性地,基于上个示例,RX_Highest_Status=5,RX_Next_Status_Trigger=8,poll PDU的SN=8,重组定时器超时后,接收端接收到完整的SN为5的RLC SDU,接收端未完整接收到SN为6和SN为7的RLC SDU,RX_Highest_Status可以更新为6。
因此,在上述过程中需要等待重组定时器运行过程中接收RLC SDU,甚至可能需要等到重组定时器超时后,可以触发状态报告,容易造成状态报告的时延,导致发送端无法及时获知自身发送的数据包的接收状态,降低发送端重传数据包的效率,进而降低发送端与接收端之间的数据通信效率。
举例来说,假设poll PDU的SN为10,RX_Highest_Status为6,也即接收端还未确定SN分别为6-10的多个RLC SDU的接收状态,则接收端会等待重组定时器运行中接收RLC SDU或者重组定时器超时后,直至RX_Highest_Status更新为11,终端设备确定出SN分别为6-10的多个RLC SDU的接收状态后,可以触发状态报告。
以下结合图5,对延迟触发状态报告下更新状态变量的情况进行介绍。
图5中,假设poll PDU的SN落在图4b所示的位置,也即poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_Next+AM_Window_Size。
如图5所示,假设RX_Highest_Status为5,RX_Next_Status_Trigger为11,重组定时器正在运行中,表明接收端可以确定SN分别为1-4的RLC SDU的接收状态,且接收端希望在重组定时器超时之前,接收到SN为11(不包括11)之前的多个RLC SDU。接收端接收到SN为15的poll PDU后,RX_Next_Highest更新为16。在重组定时器超时后,RX_Highest_Status更新为11,RX_Next_Status_Trigger更新为16,RX_Next_Highest保持为16,重启重组定时器,表明接收端希望在重组定时器超时之前,接收到SN为16(不包括16)之前的多个RLC SDU;在重组定时器再次超时后,RX_Highest_Status更新为16,表明接收端可以确定SN分别为1-15的RLC SDU的接收状态,进而触发状态报告,使得接收端向发送端发送状态报告。
在一些实施例中,基于上文介绍,接收端确定探询数据包的序列号大于或等于第一状态变量,且探询数据包的序列号小于第二状态变量的情况下,重组定时器正在运行,可以基于触发信息触发状态报告,无需等待重组定时器运行过程中接收数据包或者等待重组定时器超时,能够减少状态报告的触发延时。
此外,假设接收端检测到poll PDU为重复接收到的RLC SDU或者重复接收到的RLC SDU的分段,则可以丢弃该poll PDU,并立即触发状态报告。
在一些实施例中,接收端确定poll PDU不是重复接收到的RLC SDU或者RLC SDU的分段,也即poll PDU没有被丢弃,且接收端确定poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_Next+AM_Window_Size,表明存在状态报告的触发延时,可以基于触发信息触发状态报告。
在一些实施例中,触发信息可以包括poll定时器超时,也可以包括接收端未完整接收到的数据包的数量大于第一阈值等。后文实施例以触发信息为上述不同的信息分别介绍本申请实施例提供的触发状态报告的方法。
在一些实施例中,接收端也可以基于触发信息更新状态变量,此处先不展开说明,可以参见后文实施例中关于基于触发信息更新状态变量的详细介绍。
由上可见,本申请实施例中,确定状态报告的触发存在延时的情况下,接收端可以基于触发信息触发状态报告,能够减少状态报告的触发延时,进而使得发送端尽快接收到状态报告并重传数据包,提高发送端与接收端之间的数据通信效率。
接下来,以发送端为基站,接收端为终端设备,触发信息为poll定时器超时为例,结合图6-图7详细说明本申请实施例提供的触发状态报告的方法。
需要说明的是,发送端为基站,接收端为终端设备仅为示例,也可以是发送端为终端设备,接收端为基站,本申请对此不做限定。
实施例二:
如图6所示,该触发状态报告的方法可以包括以下步骤:
S601:基站向终端设备发送poll定时器。
在一些实施例中,基站可以通过信令向终端设备发送poll定时器。
需要说明的是,基站与终端设备之间可以通过信令发送AMD PDU、poll定时器以及后文提及的数据量门限,后文不再赘述。
poll定时器是指用于为终端设备处理接收到的poll PDU,确保在一段时间内能够及时触发终端设备向基站发送状态报告的定时器。
在一些实施例中,基站可以基于定时器配置信息配置poll定时器。
终端设备接收到poll定时器后,可以获取用于配置poll定时器的定时器配置信息。
举例来说,定时器配置信息可以包括poll定时器的启动条件;定时器配置信息也可以包括poll定时器的计时时长,也即poll定时器启动后经过计时时长后会超时;定时器配置信息还可以包括poll定时器超时后终端设备所需执行的后续操作信息;定时器配置信息还可以包括在poll定时器运行期间,终端设备检测到特定情况后执行的后续操作信息。本申请对此不做限定。在一些实施例中,终端设备检测到的特定情况可以为重组定时器超时,本申请对此不做限定。在一些实施例中,基站可以基于网络环境确定poll定时器的计时时长。示例性地,基站与终端设备之间通过混合自动重传请求(Hybrid Automatic Repeat reQuest,HARQ)机制传输RLC SDU,当前HARQ机制传输RLC SDU的传输时长可以指示当前网络环境,因此可以基于此确定出poll定时器的计时时长。
例如基站可以将最新接收状态为成功接收的RLC SDU的传输时长确定为poll定时器的计时时长。假设最新接收状态为成功接收的RLC SDU,基站对其传输了3次,基站分别传输了1ms、2ms和1ms,则可以将这3次传输时长之和4ms确定为poll定时器的计时时长。
又例如基站可以将最新预设周期内接收状态为成功接收的多个RLC SDU的平均传输时长确定为poll定时器的计时时长。假设预设周期为1s,接收状态为成功接收的多个RLC SDU的传输时长分别为3ms、2ms、1ms,则可以将平均传输时长2ms确定为poll定时器的计时时长。
此外,在一些实施例中,基站也可以将随机时长确定为poll定时器的计时时长,本申请对不做限定。
在一些实施例中,配置好的poll定时器的计时时长小于重组定时器的计时时长。
如此,基于上文介绍,后续终端设备执行S604的情况下,终端设备无需等待至少一个重组定时器的超时,而是可以仅等待poll定时器超时,能够减少终端设备的等待时间,进而减少状态报告的触发延时。
需要说明的是,其他的定时器配置信息此处先不展开说明,后文实施例进行详细介绍。
需要进一步说明的是,基站等网络设备可以基于定时器配置信息配置得到poll定时器。在一些实施例中,在终端设备为发送端,基站等网络设备为接收端的情况下,,可以是基站基于定时器配置信息配置得到poll定时器,也即终端设备作为发送端的情况下,终端设备无需基于定时器配置信息配置poll定时器,终端设备也无需执行S601向基站发送poll定时器这一步骤。
S602:基站向终端设备发送poll PDU。
需要说明的是,S602的实现方式可以参见S301的介绍,此处不再赘述。
需要说明的是,本申请对于S601和S602的执行顺序也不做限定。
在一些实施例中,基站可以先执行S601,再执行S602。基于上述示例,基站可以先基于定时器配置信息配置poll定时器,配置好poll定时器后,基站可以先通过一个信令将配置好的poll定时器发送给终端设备,再通过一个信令将poll PDU发送给终端设备。
在一些实施例中,基站也可以同时执行S601和S602,也即基站也可以通过一个信令向终端设备同时发送配置好的poll定时器和poll PDU。
S603:终端设备确定poll PDU未被重复接收,确定poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_NEXT+AM_Window_Size,则启动poll定时器。
需要说明的是,S603的实现方式可以参见S302的介绍。
如图4b所示,poll PDU的SN落在RX_Highest_Status与RX_NEXT+AM_Window_Size之间,poll PDU的SN大于或等于RX_Highest_Status,且小于RX_NEXT+AM_Window_Size。且终端设备确定poll PDU不是重复接收到的数据,可以启动poll定时器。
定时器配置信息中poll定时器的启动条件为:poll PDU未被重复接收,该poll PDU没有被丢弃,且poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_NEXT+AM_Window_Size。
举例来说,RX_Highest_Status=5,基站发送的poll PDU的SN=10,表明终端设备可以确认SN分别为1-4的RLC SDU的接收状态,但终端设备接收到的poll PDU的SN为10,表明基站之前已经向终端设备发送了SN分别为1-9的多个RLC SDU,因此状态报告需要指示SN分别为1-10的RLC SDU的接收状态,而终端设备还未能确定SN分别为5-10的RLC SDU的接收状态,需要延迟触发状态报告。
在一些实施例中,终端设备接收到poll PDU后,终端设备确定poll PDU的SN为终端设备接收到的最高的SN,终端设备可以将RX_Next_Highest更新为poll PDU的SN的下一个SN,RX_Next_Highest=poll PDU的SN+1。
举例来说,poll PDU的SN为10,则可以将RX_Next_Highest更新为11。
S604:终端设备确定poll定时器超时,更新状态变量并触发状态报告。
在一些实施例中,终端设备确定poll定时器超时且重组定时器正在运行中,则可以更新状态变量,也可以触发状态报告。
在一些实施例中,更新状态变量并触发状态报告为定时器配置信息中poll定时器超时后终端设备所需执行的后续操作信息。
poll定时器基于预先设置的计时时长计时,若poll定时器超时,且重组定时器正在运行中,表明SN在poll PDU的SN+1之前的RLC SDU,终端设备还有未完整接收到的RLC SDU,为了避免状态报告的时延过长,可以更新状态变量并触发状态报告。
需要说明的是,终端设备接收到poll PDU后,终端设备可能正在运行重组定时器,也可能未运行重组定时器,以下基于终端设备接收到poll PDU后,重组定时器是否正在运行分别介绍状态变量的更新方式。
在一些实施例中,终端设备接收到poll PDU后,终端设备正在运行重组定时器,表明终端设备接收到poll PDU之前,已经存在RLC SDU乱序到达或者RLC SDU丢失,RX_Highest_Status<RX_Next_Status_Trigger。
终端设备启动poll定时器后,若poll定时器超时,则可以将RX_Highest_Status更新为poll PDU的SN之后的SN,例如将RX_Highest_Status更新为poll PDU的SN的下一个SN,也即更新为poll PDU的SN+1,或者,将RX_Highest_Status更新为poll PDU的SN之后第一个未完整接收的数据包的SN,并触发状态报告。使得终端设备将可确认的RLC SDU的接收状态直接更新至poll PDU,将还未完整接收到的RLC SDU的接收状态均确认为未接收,使得poll PDU的SN小于RX_Highest_Status,因此可以在状态报告可以指示出poll PDU的接收状态以及SN在poll PDU的SN之前的RLC SDU的接收状态。
在一些实施例中,poll定时器超时后,终端设备可以更新状态变量,并基于更新后的状态变量触发状态报告。
示例性地,基于上文示例,poll定时器超时后,终端设备可以更新RX_Highest_Status,终端设备确定更新后的RX_Highest_Status大于poll PDU的SN后,可以触发状态报告。
需要说明的是,上述将RX_Highest_Status更新为poll PDU的SN的下一个SN仅为示例,将RX_Highest_Status更新为大于poll PDU的SN,使得poll PDU的SN小于或等于RX_Highest_Status即可,例如也可以将RX_Highest_Status更新为poll PDU的SN的下两个SN等,本申请对此不做限定。
应理解,终端设备在poll定时器超时后,已经将RX_Highest_Status更新为poll PDU的SN的下一个SN,表明已经将可确认的RLC SDU的接收状态更新至poll PDU,则无需再通过重组定时器确认poll PDU以及poll PDU之前的RLC SDU的接收状态。
在一些实施例中,poll定时器超时后,可以停止正在运行的重组定时器。
在一些实施例中,poll定时器超时后,若更新后最新的RX_Highest_Status大于或等于RX_Next_Status_Trigger,或者poll PDU的SN大于或等于RX_Next_Status_Trigger,可以将RX_Next_Status_Trigger更新至RX_Next_Highest。
在一些实施例中,基于上述示例RX_Next_Highest已经被更新为poll PDU的SN的下一个SN,因此也可以将RX_Next_Status_Trigger更新为poll PDU的SN的下一个SN。
举例来说,poll PDU的SN为10,RX_Highest_Status=5,RX_Next_Status_Trigger=8,RX_Next_Highest=11,则poll定时器超时后,则可以将RX_Highest_Status更新为11,将RX_Next_Status_Trigger更新为11,并触发状态报告,状态报告可以指示SN为10以及SN为10之前的RLC SDU的接收状态。
如图7所示,终端设备启动poll定时器,在poll定时器超时后,可以将RX_Highest_Status和RX_Next_Status_Trigger均更新为poll PDU的SN的下一个SN,并触发状态报告。
在一些实施例中,终端设备接收到poll PDU后,终端设备未运行重组定时器,表明终端设备接收到poll PDU之前,可能未存在RLC SDU的乱序到达或者RLC SDU的丢失,RX_Highest_Status=RX_Next_Status_Trigger。则终端设备接收到poll PDU后,终端设备确定poll PDU未被重复接收过,确定poll PDU的SN大于或等于RX_Highest_Status,且poll PDU的SN小于RX_Next+AM_Window_Size,可以先将RX_Next_Status_Trigger更新为poll PDU的SN,并启动poll定时器和重组定时器。
在poll定时器超时,且重组定时器运行的情况下,可以再将RX_Highest_Status更新为poll PDU的SN的下一个SN,并将RX_Next_Status_Trigger更新为RX_Highest_Status。
举例来说,poll PDU的SN为10,RX_Highest_Status=5,RX_Next_Status_Trigger=5,RX_Next_Highest=11,则poll定时器超时后,且重组定时器正在运行中,则可以将RX_Highest_Status更新为11,将RX_Next_Status_Trigger更新为11,并触发状态报告,状态报告可以指示SN为10以及SN为10之前的RLC SDU的接收状态。
基于上文关于基于重组定时器是否运行分别介绍状态变量的更新方式的介绍,可知poll定时器超时后,在RX_Next_Status_Trigger小于或等于poll PDU的SN的情况下,可以将RX_Next_Status_Trigger更新至RX_Next_Highest。
此外,在一些实施例中,也可以是更新后最新的RX_Highest_Status大于或等于RX_Next_Status_Trigger,也将RX_Next_Status_Trigger更新至RX_Next_Highest。
在一些实施例中,RX_Next_Status_Trigger更新后,可以重启重组定时器,终端设备再次等待SN在RX_Next_Status_Trigger之前的未完整接收到的RLC SDU,表明终端设备可以进行下一轮通过重组定时器确定这些RLC SDU的接收状态。
应理解,实际应用中,重组定时器超时后,终端设备会执行RLC PDU的接收状态的更新,会将SN在RX_Next_Status_Trigger之前的未接收到的RLC SDU的接收状态更新为未接收到,可以先将RX_Highest_Status更新至RX_Highest_Status,再将RX_Highest_Status更新至RX_Next_Status_Trigger。
因此,在poll定时器还未超时(也即poll定时器在运行),但重组定时器超时的情况下,终端设备可以再次比较poll PDU的SN和最新的RX_Highest_Status。
假设poll PDU的SN大于或等于最新的RX_Highest_Status,表明接收状态还未更新至poll PDU的SN,则可以继续等待poll定时器的运行;poll PDU的SN小于最新的RX_Highest_Status,表明接收状态已经更新至poll PDU的SN,则无需等待poll定时器的超时,可以停止poll定时器,并触发状态报告。
在一些实施例中,再次比较poll PDU的SN和RX_Highest_Status,以及基于比较结果进行的后续操作为定时器配置信息中poll定时器运行期间,终端设备检测到重组定时器超时这一特定情况后终端设备所需执行的后续操作信息。
举例来说,终端设备接收到的poll PDU的SN为10,RX_Highest_Status=5,RX_Next_Status_Trigger=8,RX_Next_Highest=11,重组定时器正在运行中(用于更新SN分别为5-7的RLC SDU的接收状态)。终端设备启动poll定时器后,在poll定时器运行过程中,该重组定时器超时,则可以将RX_Highest_Status更新为8,将RX_Next_Status_Trigger更新为11,poll PDU的SN大于或等于RX_Highest_Status,则继续运行poll定时器,并重启重组定时器(用于更新SN分别为8-10的RLC SDU的接收状态),在poll定时器依然运行的过程中,该重组定时器超时,则可以将RX_Highest_Status更新为11,poll PDU的SN小于RX_Highest_Status,则无需等待poll定时器的超时,可以停止poll定时器,并触发状态报告。
此外,在一些实施例中,在poll定时器还未超时(也即poll定时器在运行的情况下),终端设备接收到新的RLC SDU或者新的RLC SDU的分段,也可能会更新RX_Highest_Status,也可以再次比较poll PDU的SN和最新的RX_Highest_Status。
同理,假设poll PDU的SN大于或等于最新的RX_Highest_Status,可以继续等待poll定时器的运行;假设poll PDU的SN小于最新的RX_Highest_Status,可以停止poll定时器,并触发状态报告。
举例来说,终端设备接收到的poll PDU的SN为10,RX_Highest_Status=5,RX_Next_Status_Trigger=11,RX_Next_Highest=11,重组定时器正在运行中(用于更新SN分别为5-10的RLC SDU的接收状态)。
假设终端设备启动poll定时器,在poll定时器运行的情况下,终端设备检测到接收到了完整的SN分别为5-10的RLC SDU,RX_Highest_Status可以更新为11,poll PDU的SN小于RX_Highest_Status,则无需等待poll定时器的超时,可以停止poll定时器,并触发状态报告。
假设终端设备启动poll定时器,在poll定时器运行的情况下,终端设备检测到接收到了完整的SN分别为5-12的RLC SDU,RX_Highest_Status可以更新为13,poll PDU的SN小于RX_Highest_Status,也无需等待poll定时器的超时,可以停止poll定时器,并触发状态报告。
如此,在poll定时器运行的过程中,若已确定poll PDU以及SN在poll PDU的SN之前的RLC SDU的接收状态,则可以直接触发状态报告,停止polling定时器,无需等待poll定时器的超时,避免额外增加状态报告的时延。
此外,在一些实施例中,S604可以用该步骤替代:终端设备确定poll定时器超时,触发增强状态报告(也可称为第二状态报告)和第一状态报告。
在一些实施例中,终端设备确定poll定时器超时后,可以不更新RX_Highest_Status等状态变量,可以触发增强状态报告和第一状态报告。
该增强状态报告可以指示SN大于或等于RX_Highest_Status且小于或等于poll PDU的SN的RLC SDU的接收状态,可以参见图7所示,该增强状态报告可以指示SN在RX_Highest_Status与poll PDU的SN之间的RLC SDU(包括SN等于RX_Highest_Status与SN等于poll PDU的SN的RLC SDU)的接收状态。
该第一状态报告可以指示SN小于RX_Highest_Status的RLC SDU的接收状态。
在确定poll定时器超时的情况下,终端设备可以将SN在RX_Highest_Status与poll PDU的SN之间的RLC SDU中,未完整接收到的RLC SDU,通过增强状态报告的NACK_SN指示;终端设备可以将SN在RX_Highest_Status与poll PDU的SN之间的RLC SDU中,完整接收到的RLC SDU,通过增强状态报告的ACK_SN指示。
需要说明的是,该增强状态报告的报告格式与状态报告的报告格式相同,可以参见下文介绍的图10和图11。
如此,在poll PDU的SN大于RX_Highest_Status的情况下,终端设备确定poll定时器超时,不再更新状态变量,可以通过触发增强状态报告和第一状态报告,使得基站可以确定SN小于或等于poll PDU的SN的RLC SDU的接收状态,能够提升触发增强状态报告和第二状态报告的速度,进一步减少状态报告的延时。
S605:终端设备向基站发送状态报告。
应理解,终端设备向基站发送状态报告需要对应的配置资源,触发状态报告后,终端设备需要等待对应的配置资源再将状态报告发送给基站,也即终端设备会等待至下一个传输机会将状态报告发送至基站。
在一些实施例中,基于上文介绍,触发状态报告后,终端设备可以重新启动重组定时器,则终端设备可以停止该重组定时器,并在第一个传输机会将状态报告发送给基站。
此外,在一些实施例中,终端设备在等待传输机会时,终端设备可能会接收到新的RLC SDU,且重组定时器正在运行中,重组定时器超时后,也可能会更新状态报告中的RLC SDU的接收状态,或者更新新接收到的RLC SDU的接收状态,可以将最新的RLC SDU的接收状态更新至状态报告中,直至终端设备等待至传输机会,将状态报告发送给基站。
如此,使得基站接收到的状态报告指示的为各个RLC SDU的最新接收状态,避免向终端设备重复发送其已完整接收到的RLC SDU,能够进一步提高二者之间的数据通信效率。
此外,在一些实施例中,基于上文介绍,在S604为:终端设备确定poll定时器超时,触发增强状态报告和第一状态报告的情况下,S605可以采用该步骤替代:终端设备向基站发送增强状态报告和第一状态报告。示例性地,终端设备可以等待传输机会向基站发送增强状态报告和第一状态报告。
此外,在一些实施例中,在发送端接收到增强状态报告的情况下,发送端可以基于增强状态报告所指示的接收端未完整接收到的RLC SDU是否为延迟关键数据包,来确定是否重传该RLC SDU。
在一些实施例中,未完整接收到的RLC SDU为延迟关键数据包,则发送端执行重传该RLC SDU。
在一些实施例中,未完整接收到的RLC SDU不为延迟关键数据包,则发送端不执行重传该RLC SDU。
确定延迟关键数据包的实体为分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)实体,举例来说,PDCP实体可以为基站,基站可以确定RLC SDU是否为延迟关键数据包。
在一些实施例中,PDCP实体可以为每个RLC SDU分配一个丢弃定时器,在发送该RLC SDU后,启动该丢弃定时器,PDCP实体接收到增强状态报告后,可以停止增强状态报告所指示的RLC SDU的丢弃定时器。
在一种可能的实现方式中,PDCP实体(也可称为发送端)可以根据每个RLC SDU对应的丢弃定时器(discard timer)的运行时长,确定RLC SDU是否为延迟关键数据包。举例来说,针对增强状态报告所指示的接收端未完整接收到的RLC SDU,其对应的丢弃定时器的剩余时长小于或等于传输门限(也可称为第三阈值),则确定其为延迟关键数据包
例如,一个未完整接收到的RLC SDU的丢弃定时器的计时时长为10ms,丢弃定时器运行了5ms,剩余时长为5ms,如果传输门限是5ms,那么该RLC SDU就是延迟关键数据包。
在一种可能的实现方式中,延迟关键数据包包括PDU集(PDU-set)丢弃配置,该配置用于指示基于PDU set的丢弃,即PDU set中任一个RLC SDU的丢弃会导致PDU set中其他所有RLC SDU的丢弃。
在未完整接收到的RLC SDU有前述配置的情况下,该RLC SDU属于一个PDU set并且该PDU set内的至少一个RLC SDU的剩余时间小于传输门限,可以确定该RLC SDU为延迟关键数据包。
在一些实施例中,发送端可采用多种方式确定RLC SDU是否为延迟关键数据包。
一种情况下,发送端的PDCP层可以向发送端的RLC层指示RLC SDU的剩余时间或者直接指示RLC SDU为延迟关键数据包,方便RLC层能够规划和管理RLC SDU的传输策略。
另一种情况下,基于上文介绍,发送端的RLC层可以引入丢弃定时器,在发送端发送RLC SDU的情况下开启该RLC SDU对应的丢弃定时器,当增强状态报告指示该RLC SDU,且其对应的丢弃定时器超时或者丢弃定时器的剩余时间小于传输门限的情况下,判定该RLC SDU为延迟关键数据包;或者该RLC SDU属于一个PDU set,并且该PDU set内的至少一个RLC SDU的剩余时间小于或等于传输门限,则确定RLC SDU为延迟关键数据包。
如此,可以使得发送端重传更为重要的延迟关键数据包。
由上可见,本申请实施例提供的触发状态报告的方法,基于配置的poll定时器,在poll定时器超时,重组定时器正在运行的过程中,可以提前触发状态报告,减少状态报告的时延,在存在需要重传数据包的情况下,能够提高发送端向接收端重传数据包的效率,进而提高发送端与接收端之间的数据通信效率。
同时,在poll定时器运行的过程中,重组定时器超时需要触发状态报告时,也可以直接触发状态报告,避免因等待poll定时器导致增加状态报告的时延。
接下来,以发送端为基站,接收端为终端设备,触发信息为接收端未完整接收到的数据包的数量大于第一阈值为例,结合图8-图9详细说明本申请实施例提供的触发状态报告的方法。
实施例三:
如图8所示,该触发状态报告的方法可以包括以下步骤:
S801:基站向终端设备发送数据量门限。
在一些实施例中,数据量门限(也可以称为第一阈值)可以指预先设定的终端设备未完整接收到的RLC SDU的数量阈值,用于判断当前的网络环境。
示例性地,第一阈值可以指预先设定的终端设备在RX_Next与poll PDU之间的RLC SDU(包括SN=RX_Next的RLC SDU和poll PDU)中未完整接收到的RLC SDU的数量阈值。
需要说明的是,RX_Next与poll PDU之间的RLC SDU是指SN大于或等于RX_Next,且SN小于或等于poll PDU的RLC SDU。
终端设备未完整接收到的RLC SDU的数量大于该数据量门限,表明当前网络环境较差,可以及时触发状态报告,以尽快重传这些未完整接收到的RLC SDU。未完整接收的RLC SDU包括丢失的RLC SDU(整个RLC SDU终端设备都没接收到)和/或RLC SDU的某个分段没有接收到(终端设备仅接收到RLC SDU的部分分段,还存在其他RLC SDU的分段未接收到)。
终端设备未完整接收到的RLC SDU的数量小于或等于该数据量门限,表明当前网络状况良好,可以等待一段时间再触发状态报告。
在一些实施例中,数据量门限可以通过如下方式确定:确定在预设周期内,接收端未在预设接收时长内接收到的RLC SDU的数量,基于RLC SDU的数量确定出数据量门限。
示例性地,预设周期为2h,预设接收时长为10ms,基站向终端设备发送10个RLC SDU后,10ms后终端设备还未完整接收到的RLC SDU的数量为3,则可以将数据量门限设置为3。
在一些实施例中,确定出在预设周期内接收端未在预设接收时长内接收到的RLC SDU的数量后,且确定此时的网络环境质量较差,则可以基于RLC SDU的数量确定出数据量门限。
在一些实施例中,网络环境的质量可以基于参考信号接收功率和信噪比指标等确定,本申请对此不做限定。
此外,在一些实施例中,S801可以采用其他步骤替代:基站向终端设备发送第二阈值,第二阈值指预先设定的RX_Next与poll PDU之间的RLC SDU(包括SN=RX_Next的RLC SDU和poll PDU)的数量阈值。示例性地,第二阈值可以为5或者8,本申请对此不做限定。
此外,在一些实施例中,S801可以采用其他步骤替代:基站向终端设备发送第四阈值,第四阈值是指预先设定的终端设备完整接收到的RLC SDU的数量阈值。
示例性地,第四阈值可以指预先设定的终端设备在RX_Next与poll PDU之间的RLC SDU(包括SN=RX_Next的RLC SDU和poll PDU)中完整接收到的RLC SDU的数量阈值。
在一些实施例中,第四阈值可以通过如下方式确定:确定在预设周期内,接收端在预设接收时长内接收到的RLC SDU的数量,基于RLC SDU的数量确定出第四阈值。
需要说明的是,第二阈值和第四阈值均与第一阈值相同,可用于判断基站与终端设备之间通信的网络状况,具体可以参见上文介绍,在此不再赘述。
S802:基站向终端设备发送poll PDU。
需要说明的是,本申请对于S801和S802的执行顺序不做限定。
在一些实施例中,基站可以先执行S801,再执行S802。基于上述示例,基站检测到自身符合上文介绍的两个条件中的任一条件,则基站可以先确定数据量门限,基站再将数据量门限发送给终端设备,随后基站向终端设备发送poll PDU。
在一些实施例中,基站也可以同时执行S801和S802,也即基站可以确定好数据量门限后,基站向终端设备同时发送数据量门限和poll PDU。
需要说明的是,S802的实现方式可以参见上文介绍的S602的实现方式,在此不再赘述。
S803:终端设备确定poll PDU未被重复接收,确定poll PDU的SN大于RX_Highest_Status,poll PDU的SN小于RX_NEXT+AM_Window_Size,比较未完整接收到的RLC SDU的数量与数据量门限。
需要说明的是,S803的实现方式可以参见S302的介绍。
基于上文介绍,RX_Next用于指示终端设备按照顺序最新完整接收到的RLC SDU的SN的下一个SN,RX_Next_Highest用于指示终端设备接收到的RLC SDU的最高SN的下一个SN。
应理解,在终端设备接收到poll PDU之前,终端设备可能不存在未完整接收到的RLC SDU。
在一些实施例中,在终端设备接收到基站发送的poll PDU之前,RX_Next=RX_Next_Highest,表明终端设备将SN在RX_Next_Highest之前的RLC SDU均接收完整。
在终端设备接收到基站发送的poll PDU之后,poll PDU的SN大于RX_Next,则表明终端设备存在未完整接收到的RLC SDU,可以将RX_Next_Highest更新为poll PDU的SN的下一个SN。
应理解,在终端设备接收到poll PDU之前,终端设备也可能已经存在未完整接收到的RLC SDU。
在一些实施例中,在终端设备接收到基站发送的poll PDU之前,RX_Next小于RX_Next_Highest,表明SN在RX_Next_Highest之前的RLC SDU存在终端设备未完整接收的RLC SDU。
如图9所示,在终端设备接收到基站发送的poll PDU之后,重组定时器正在运行中,在终端设备接收到poll PDU之前,终端设备已经存在未完整接收到的RLC SDU,可以将RX_Next_Highest更新为poll PDU的SN的下一个SN。
在一些实施例中,基于终端设备接收到poll PDU后,终端设备可以确定出SN大于或等于RX_Next,且SN小于或等于poll PDU的SN的RLC SDU中,自身未完整接收到的RLC SDU的数量,并利用该未完整接收到的RLC SDU的数量与数据量门限进行比较。
示例性地,终端设备接收到poll PDU后,RX_Next=5,poll PDU的SN=10,终端设备确定在SN大于或等于5且SN小于或等于10的这6个RLC SDU中,完整接收到了SN为6的RLC SDU以及SN为8的RLC SDU,则终端设备可以确定出未完整接收到的RLC SDU的数量为4,并比较4与数据量阈值。
需要说明的是,S803的其他实现方式可以参见上文关于S603的实施方式的介绍,在此不再赘述。
此外,在一些实施例中,S801为:基站向终端设备发送第二阈值,S803可以采用以下步骤替代:确定poll PDU的SN大于RX_Highest_Status,poll PDU的SN小于RX_NEXT+AM_Window_Size,可以比较RX_Next与poll PDU之间的RLC SDU(包括SN=RX_Next的RLC SDU和SN=poll PDU的SN的RLC SDU)的数量与第二阈值。
示例性地,终端设备接收到poll PDU后,RX_Next=5,poll PDU的SN的SN=10,终端设备确定在SN大于或等于5且SN小于或等于10中的RLC SDU有6个,可以比较6与第二阈值。
此外,在一些实施例中,S801为:基站向终端设备发送第四阈值,S803可以采用以下步骤替代:终端设备确定poll PDU未被重复接收,确定poll PDU的SN大于RX_Highest_Status,且poll PDU的SN小于RX_NEXT+AM_Window_Size,可以比较完整接收到的RLC SDU的数量与第四阈值。
示例性地,终端设备接收到poll PDU后,RX_Next=5,poll PDU的SN=10,终端设备确定在SN大于或等于5且SN小于或等于10的这6个RLC SDU中,完整接收到了SN为6的RLC SDU以及SN为8的RLC SDU,则终端设备可以确定出完整接收到的RLC SDU的数量为2,并比较2与第四阈值。
S804:终端设备确定未完整接收到的RLC SDU的数量大于数据量门限,更新状态变量并触发状态报告。
终端设备未完整接收到的RLC SDU的数量大于数据量门限,表明终端设备未完整接收到的RLC SDU的数量较多,可能是当前的网络环境较差,导致一些RLC SDU丢失,或者一些RLC SDU传输较慢导致RLC SDU存在乱序到达的问题,则可以将RX_Highest_Status更新为poll PDU的SN的下一个SN,也即将终端设备未完整接收到的RLC SDU的接收状态直接更新为丢失,使得poll PDU的SN小于RX_Highest_Status。
需要说明的是,RX_Highest_Status更新为poll PDU的SN的下一个SN仅为示例,也可以将RX_Highest_Status更新为其他值,使得poll PDU的SN小于RX_Highest_Status即可。
而终端设备未完整接收到的RLC SDU的接收状态已经更新,则可以将RX_Next_Status_Trigger更新为RX_Next_Highest,并重启重组定时器,终端设备可以通过重组定时器在下一轮确定未完整接收到的RLC SDU的最新接收状态。
结合图9所示,在该种情况下,计算得到的终端设备未完整接收到的RLC SDU的数量大于数据量门限,则可以将RX_Highest_Status更新为poll PDU的SN的下一个SN,poll PDU的SN大于RX_Next_Status_Trigger,则可以将RX_Next_Status_Trigger更新至RX_Next_Highest。
在一些实施例中,也可能是poll PDU的SN等于RX_Next_Status_Trigger,也将RX_Next_Status_Trigger更新至RX_Next_Highest。
此外,在一些实施例中,也可以是更新后最新的RX_Highest_Status大于或等于RX_Next_Status_Trigger,也将RX_Next_Status_Trigger更新至RX_Next_Highest。
此外,在一些实施例中,终端设备确定未完整接收到的RLC SDU的数量大于数据量门限,也可以先更新状态变量,基于更新后的状态变量触发状态报告。
在一些实施例中,终端设备确定未完整接收到的RLC SDU的数量大于数据量门限,可以更新RX_Highest_Status,终端设备确定更新后的RX_Highest_Status大于poll PDU的SN,可以触发状态报告。
需要说明的是,S804的其他实现方式可以参见上文关于S604的实施方式的介绍,在此不再赘述。
此外,在一些实施例中,S804可以用该步骤替代:终端设备确定未完整接收到的RLC SDU的数量大于数据量门限,触发增强状态报告和第一状态报告。
在一些实施例中,终端设备确定未完整接收到的RLC SDU的数量大于数据量门限后,可以不更新RX_Highest_Status等状态变量,可以触发增强状态报告和第一状态报告。
该步骤的具体实现方式可以参见S604的介绍,不再赘述。
如此,在未完整接收到的RLC SDU的数量大于数据量门限的情况下,接终端设备确定poll定时器超时,不再更新状态变量,可以通过触发增强状态报告和第一状态报告,使得基站可以确定SN小于或等于poll PDU的SN的RLC SDU的接收状态。
此外,在一些实施例中,S801为:基站向终端设备发送第二阈值,S804可以采用以下步骤替代:终端设备确定RX_Next与poll PDU之间的RLC SDU的数量大于第二阈值,可以更新状态变量并触发状态报告,触发信息为:RX_Next与poll PDU之间的RLC SDU的数量大于第四阈值。该步骤的实现方式可以参见S804的实现方式的介绍,不再赘述。
同理,在一些实施例中,S801为:基站向终端设备发送第二阈值,S804可以采用以下步骤替代:终端设备确定RX_Next与poll PDU之间的RLC SDU的数量大于第二阈值,触发增强状态报告和第一状态报告。该步骤的实现方式可以参见S804的实现方式的介绍,不再赘述。
此外,在一些实施例中,S801为:基站向终端设备发送第四阈值,S804可以采用以下步骤替代:终端设备确定完整接收到的RLC SDU的数量小于或等于第四阈值,更新状态变量并触发状态报告,触发信息为:完整接收到的RLC SDU的数量小于或等于第四阈值。该步骤的实现方式可以参见S804的实现方式的介绍,不再赘述。
同理,在一些实施例中,S801为:基站向终端设备发送第四阈值,S804可以采用以下步骤替代:终端设备确定完整接收到的RLC SDU的数量小于或等于第四阈值,触发增强状态报告和第一状态报告。该步骤的实现方式可以参见S804的实现方式的介绍,不再赘述。
S805:终端设备向基站发送状态报告。
需要说明的是,S805的实现方式可以参见上文关于S605的实施方式的介绍,在此不再赘述。
由上可见,通过数据量阈值判断当前的网络状况,则接收端未完整接收到的数据包的数量大于数据量阈值的情况下,判断当前的网络状况较差,可以立即触发状态报告,使得发送端基于状态报告及时重传数据包,提高发送端与接收端之间的数据通信效率。
此外,在一些实施例中,基于上文介绍,在S804为:终端设备确定未完整接收到的RLC SDU的数量大于数据量门限,触发增强状态报告和第一状态报告;或者,终端设备确定RX_Next与poll PDU之间的RLC SDU的数量大于第二阈值,触发增强状态报告和第一状态报告;或者,终端设备确定完整接收到的RLC SDU的数量小于或等于第四阈值,触发增强状态报告和第一状态报告。S805可以采用该步骤替代:终端设备向基站发送增强状态报告和第一状态报告。示例性地,终端设备可以等待传输机会向基站发送增强状态报告和第一状态报告。
接下来,介绍接收端向发送端发送的状态报告。
在一些实施例中,状态报告所指示的RLC SDU的SN可以为12比特bit,如图10所示。在一些实施例中,状态报告所指示的RLC SDU的SN也可以为18bit,如图11所示。
结合图10和图11所示,状态报告包括控制PDU头部(也可称为RLC控制PDU头)和负载。该RLC控制PDU头包括D/C字段和CPT字段。D/C字段用于指示发送端与接收端之间传输的AMD PDU是数据PDU(也即D)还是控制PDU(也即C)。CPT字段用于指示RLC控制PDU的类型,可以参见如下表1:
表1
如表1所示,状态报告的CPT字段的值为000,状态报告是RLC控制PDU的一种类型。
ACK_SN字段(长度为12bit或者18bit)用于指示接收端下一个未确认接收状态的RLC SDU的SN。也即该状态报告可以指示SN在ACK_SN之前的RLC SDU的接收状态,RX_Highest_Status=ACK_SN。
E1字段用于指示后续是否有NACK_SN字段,E1字段,E2字段和E3字段,NACK_SN字段,E1字段,E2字段和E3字段用于在指示接收端未完整接收到的RLC SDU的接收状态,E1字段可以参见如下表2:
表2
NACK_SN用于指示具有该SN的RLC SDU(或者RLC SDU的分段)在接收端被检测到丢弃,也即接收端未接收到具有该SN的RLC SDU(或者RLC SDU的分段),其接收状态为未接收(也可称为丢失)。
E2字段用于指示后续是否有SOstart字段和SOend字段,即可以指示具有NACK_SN所指示的SN的RLC SDU是否为分段,可以参见如下表3:
表3
E3字段用于指示是否存在的连续的RLC SDU没有被接收到,可以参见如下表4:
表4
SOstart字段(和SOend字段一起)用于指示SN为NACK_SN的RLC SDU的分段被检测到丢弃。SOstart字段指示在RLC SDU中分段的第一个字节的位置。
在E3为0的情况下,SOend字段(和SOstart字段一起)指示SN为NACK_SN(SOend相关的Soend)的RLC SDU的分段被检测到丢弃。SOend字段指示在RLC SDU中分段的最后一个字节的位置。
在E3为1的情况下,SOend字段指示SN为NACK_SN+NACK range–1的RLC SDU的分段被检测到丢失。
NACK range用于指示从SN为NACK_SN的RLC SDU开始连续丢失的RLCSDU的数量。
R用于指示保留字段,通常被设置为0,可以忽略。
Oct用于指示状态报告的字段。如图10所示,Oct1-Oct14表示状态报告的第一个字段至第十四个字段。如图11所示,Oct1-Oct18表示状态报告的第一个字段至第十八个字段。
发送端接收到状态报告后,可以基于状态报告所指示的接收端未完整接收到的RLC SDU的SN,对RLC SDU进行重传。
如此,在减少状态报告的时延的基础上,可以提高发送端向接收端重传数据包的速率,进而提高发送端与接收端之间的数据通信效率。
本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,计算机程序被计算机执行时能够实现上述任一个触发状态报告的方法中的一个或多个步骤。
计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请另一实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品被计算机执行时能够实现上述任一个触发状态报告的方法中的一个或多个步骤。
本实施例提供的电子设备、计算机可读存储介质、计算机程序产品均用于执行上文所提供的对应的触发状态报告的方法,因此,其所能达到的有益效果可参考上文所提供的对应的触发状态报告的方法中的有益效果,此处不再赘述。
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (28)

  1. 一种触发状态报告的方法,其特征在于,应用于接收端,包括:
    接收发送端发送的探询数据包;所述探询数据包用于探询所述发送端向所述接收端发送的数据包的接收状态;
    确定所述探询数据包的序列号大于或等于第一状态变量,且所述探询数据包的序列号小于第二状态变量,基于触发信息触发状态报告;所述第一状态变量用于指示状态报告的最高序列号;所述第二状态变量用于指示所述接收端的接收窗口的上限值。
  2. 根据权利要求1所述的方法,其特征在于,在所述基于触发信息触发状态报告之前,还包括:
    确定所述探询数据包未被重复接收。
  3. 根据权利要求1所述的方法,其特征在于,还包括:
    确定所述探询数据包的序列号大于或等于第一状态变量,且所述探询数据包的序列号小于第二状态变量,启动探询定时器。
  4. 根据权利要求3所述的方法,其特征在于,所述基于触发信息触发状态报告,包括:
    确定所述探询定时器超时,触发状态报告。
  5. 根据权利要求3所述的方法,其特征在于,还包括:
    在所述探询定时器运行的情况下,确定所述探询数据包的序列号小于最新的第一状态变量,停止所述探询定时器。
  6. 根据权利要求5所述的方法,其特征在于,所述最新的第一状态变量为重组定时器超时后更新所述第一状态变量得到。
  7. 根据权利要求5所述的方法,其特征在于,所述最新的第一状态变量为接收数据包后更新所述第一状态变量得到。
  8. 根据权利要求3-7任一项所述的方法,其特征在于,所述探询定时器的计时时长小于重组定时器的计时时长。
  9. 根据权利要求3-8任一项所述的方法,其特征在于,还包括:
    接收所述发送端发送的探询定时器。
  10. 根据权利要求1所述的方法,其特征在于,所述基于触发信息触发状态报告,包括:
    确定未完整接收到的数据包的数量大于第一阈值,触发状态报告。
  11. 根据权利要求10所述的方法,其特征在于,所述未完整接收到的数据包的序列号大于或等于第三状态变量,且所述未完整接收到的数据包的序列号小于或等于所述探询数据包的序列号;所述第三状态变量用于指示所述接收端按序接收到的数据包的最高序列号之后的序列号。
  12. 根据权利要求10所述的方法,其特征在于,还包括:
    接收所述发送端发送的第一阈值。
  13. 根据权利要求1所述的方法,其特征在于,所述基于触发信息触发状态报告,包括:
    确定序列号大于或等于第三状态变量,且序列号小于或等于所述探询数据包的序列号的数据包的数量大于第二阈值,触发状态报告;所述第三状态变量用于指示所述接收端按序接收到的数据包的最高序列号之后的序列号。
  14. 根据权利要求13所述的方法,其特征在于,还包括:
    接收所述发送端发送的第二阈值。
  15. 根据权利要求1-14任一项所述的方法,其特征在于,还包括:
    确定所述探询数据包的序列号大于或等于第一状态变量,且所述探询数据包的序列号小于第二状态变量,基于触发信息更新所述第一状态变量。
  16. 根据权利要求15所述的方法,其特征在于,所述基于触发信息更新所述第一状态变量,包括:
    基于触发信息将所述第一状态变量更新为大于所述探询数据包的序列号的序列号。
  17. 根据权利要求1-16任一项所述的方法,其特征在于,还包括:
    确定所述探询数据包的序列号大于或等于第四状态变量,将所述第四状态变量更新为最新的第五状态变量;所述第四状态变量用于指示触发重组定时器的数据包的序列号之后的序列号;所述第五状态变量用于指示所述接收端接收到的数据包的最高序列号之后的序列号。
  18. 根据权利要求1-16任一项所述的方法,其特征在于,还包括:
    确定最新的第一状态变量大于或等于第四状态变量,将所述第四状态变量更新为最新的第五状态变量;所述第四状态变量用于指示触发重组定时器的数据包的序列号之后的序列号;所述第五状态变量用于指示所述接收端接收到的数据包的最高序列号之后的序列号。
  19. 根据权利要求17或18所述的方法,其特征在于,还包括:
    基于更新后的第四状态变量,重启重组定时器。
  20. 根据权利要求1-19任一项所述的方法,其特征在于,还包括:
    向所述发送端发送所述状态报告;所述状态报告用于指示序列号小于或等于所述探询数据包的序列号的数据包的接收状态。
  21. 根据权利要求1-4或者8-14任一项所述的方法,其特征在于,所述状态报告包括第一状态报告和第二状态报告,所述方法还包括:
    向所述发送端发送所述第一状态报告和所述第二状态报告;所述第一状态报告用于指示序列号小于所述第一状态变量的数据包的接收状态;所述第二状态报告用于指示序列号大于或等于所述第一状态变量,且小于或等于所述探询数据包的序列号的数据包的接收状态。
  22. 根据权利要求1-19任一项所述的方法,其特征在于,还包括:
    确定出接收到的数据包的最新接收状态;
    基于所述接收到的数据包的最新接收状态,更新所述状态报告;
    向所述发送端发送更新后的状态报告;所述更新后的状态报告包括序列号小于或等于所述探询数据包的序列号的数据包的接收状态。
  23. 一种触发状态报告的方法,其特征在于,应用于发送端,包括:
    向接收端发送探询数据包,以使所述接收端确定所述探询数据包的序列号大于或等于第一状态变量,且所述探询数据包的序列号小于第二状态变量,所述接收端基于触发信息触发状态报告;所述探询数据包用于探询所述发送端向所述接收端发送的数据包的接收状态;所述第一状态变量用于指示状态报告的最高序列号;所述第二状态变量用于指示所述接收端的接收窗口的上限值。
  24. 根据权利要求23所述的方法,其特征在于,还包括:
    接收所述接收端发送的状态报告;所述状态报告包括第一状态报告和第二状态报告;所述第一状态报告用于指示序列号小于所述第一状态变量的数据包的接收状态;所述第二状态报告用于指示序列号大于或等于所述第一状态变量,且小于或等于所述探询数据包的序列号的数据包的接收状态;
    在所述第二状态报告所指示的数据包的接收状态为丢失,且所述数据包为延迟关键数据包的情况下,重传所述数据包;所述延迟关键数据包的剩余时间小于或等于第三阈值。
  25. 一种电子设备,其特征在于,所述电子设备作为接收端,包括存储器和处理器;
    所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,一个或多个所述处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-22任一项所述的触发状态报告的方法。
  26. 一种电子设备,其特征在于,所述电子设备作为发送端,包括存储器和处理器;
    所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,一个或多个所述处理器调用所述计算机指令以使得所述电子设备执行如权利要求23-24任一项所述的触发状态报告的方法。
  27. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-22或者23-24任一项所述的触发状态报告的方法。
  28. 一种计算机程序产品,其特征在于,包括计算机程序代码,所述计算机程序代码被电子设备执行时实现权利要求1-22或者23-24任一项所述的触发状态报告的方法。
PCT/CN2025/094773 2024-08-02 2025-05-14 一种触发状态报告的方法及相关装置 Pending WO2026026119A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202411062680.X 2024-08-02
CN202411062680.XA CN121510128A (zh) 2024-08-02 2024-08-02 一种触发状态报告的方法及相关装置

Publications (1)

Publication Number Publication Date
WO2026026119A1 true WO2026026119A1 (zh) 2026-02-05

Family

ID=98606164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2025/094773 Pending WO2026026119A1 (zh) 2024-08-02 2025-05-14 一种触发状态报告的方法及相关装置

Country Status (2)

Country Link
CN (1) CN121510128A (zh)
WO (1) WO2026026119A1 (zh)

Also Published As

Publication number Publication date
CN121510128A (zh) 2026-02-10

Similar Documents

Publication Publication Date Title
US10826654B2 (en) Method and system for improving wireless link efficiency
CN108541360B (zh) 通信系统
US8369865B2 (en) Data transmission method and data re-transmission method
EP2420014B1 (en) Method of receiving a point-to-multipoint service in a wireless communication system
EP2265069B1 (en) Method for transmitting data in a wireless communication system and system thereof
US20070064631A1 (en) Method and apparatus for transmitting signaling data messages in a wireless communications system
CN102119502B (zh) 用于在网络中通信的方法及用于其的次站和系统
CN101599819A (zh) 改善混合自动重发请求程序的上行链路传输的方法及装置
JP2015065695A (ja) 無線通信システムの状態情報送信方法及び受信装置
CN101651531A (zh) 处理一传输时间间隔集束的重传的方法及通讯装置
JP6765446B2 (ja) サービスデータ伝送方法、端末およびネットワーク側機器
CN101682916B (zh) 在移动通信系统中发送rlc pdu和分配无线资源的方法以及移动通信的rlc实体
WO2024032352A1 (zh) 数据处理方法及装置
CN112153694A (zh) 数据处理方法、装置、终端及存储介质
US9246638B2 (en) Method and apparatus for polling transmission status in a wireless communications system
JP2020507963A (ja) データ送信方法および装置、ならびに顧客宅内機器
US11316620B2 (en) Enhanced HARQ algorithm for large round trip delay links
WO2025185470A1 (zh) 通信方法及装置、计算机可读存储介质
US10849160B2 (en) Reinstating poll retransmission timer
WO2026026119A1 (zh) 一种触发状态报告的方法及相关装置
CN116963175A (zh) 数据传输方法、装置及系统
TW202512783A (zh) 資料處理方法及裝置
CN119011091A (zh) 一种通信方法、装置及存储介质
CN119096589A (zh) 通信方法和通信设备
JP2025153907A (ja) Rlc-amにおける不要な送信を防ぐための端末装置、基地局装置、及び制御方法