Communication method and apparatus

WO2026201008A1PCT designated stage Publication Date: 2026-10-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/086049
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-28
Filing Date
2026-03-25
Publication Date
2026-10-01

Smart Images

  • Figure CN2026086049_01102026_PF_FP_ABST
    Figure CN2026086049_01102026_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and apparatus, which are applied to the technical field of communications. The method comprises: a first apparatus sending a first data unit; the first apparatus determining to retransmit the first data unit; and when a packet loss timer corresponding to the first data unit expires, or when a first RLC entity receives first indication information, the first apparatus stopping retransmitting the first data unit, and / or discarding the first data unit, wherein the first indication information is used for instructing to discard the first data unit. The method can reduce or avoid the waste of transmission resources.
Need to check novelty before this filing date? Find Prior Art

Description

A communication method and apparatus

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202510382949.0, filed on March 28, 2025, entitled "A Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology

[0004] To improve the reliability of data transmission, the transmitting device can retransmit the data after it has been sent. Further research is needed to improve resource utilization during data transmission and avoid wasting transmission resources. Summary of the Invention

[0005] This application provides a communication method and apparatus to reduce or avoid the waste of transmission resources.

[0006] In a first aspect, embodiments of this application provide a communication method that can be applied to a first device. In some examples, the first device can be a terminal, or a component applicable to the terminal, such as a module, communication module, circuit, or chip (e.g., a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip or system-in-package (SIP) chip containing a modem core), a chip system, or a processor. It can also be a logical node, logical module, or software capable of implementing all or part of the terminal's functions. In other examples, the first device can be an access network device, or a component applicable to the access network device, such as a module, communication module, circuit, chip (e.g., a modem chip, or an SoC chip or SIP chip containing a modem core), a chip system, or a processor. It can also be a logical node, logical module, or software capable of implementing all or part of the access network device's functions.

[0007] The method may include: a first device transmitting a first data unit; the first device determining to retransmit the first data unit; and, if a packet loss timer corresponding to the first data unit times out, or if a first radio link control (RLC) entity receives first indication information, the first device may stop the retransmission of the first data unit and / or discard the first data unit. The first indication information may be used to indicate the discarding of the first data unit.

[0008] Optionally, the first indication information can be used to indicate the discarding of the first data unit, and can be replaced by: the first indication information can be used to indicate the timeout of the packet loss timer corresponding to the first data unit.

[0009] Optionally, after stopping the retransmission of the first data unit, the retransmission status corresponding to the first data unit may change. For example, the retransmission status corresponding to the first data unit may change from retransmission (or pending retransmission) to no retransmission. Optionally, even if the retransmission of the first data unit is stopped, the first data unit may still be stored in the buffer of the first device. Subsequently, if the conditions for discarding the first data unit are met, the first device may discard the first data unit.

[0010] Optionally, the first device may discard the first data unit, which may include (or be replaced by): the first device may remove (or delete) the first data unit from the retransmission buffer.

[0011] In this method, the first device can determine whether to stop the retransmission of the first data unit and / or whether to discard the first data unit based on whether the packet loss timer corresponding to the first data unit has timed out, or whether the first RLC entity has received the first indication information. When the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, the remaining delay of the first data unit is zero. In this case, stopping the retransmission of the first data unit and / or discarding the first data unit can reduce or avoid the waste of transmission resources (e.g., air interface resources) and improve resource utilization. In addition, in this case, discarding the first data unit can release the buffer and avoid or reduce the waste of buffer resources.

[0012] In one possible design, if the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the first device may stop the retransmission of the first data unit. This may include: if the packet loss timer corresponding to the first data unit times out at a first time, or if the first RLC entity receives the first indication information, then the first device may stop the retransmission of the first data unit.

[0013] In some examples, the first time can be the time when the first RLC entity receives the second indication information, which indicates the availability of resources for transmitting the first data unit. If the packet loss timer corresponding to the first data unit times out at or before the first RLC entity receives the second indication information, or if the first RLC entity receives the first indication information, then the remaining latency of the first data unit is zero at or before the first RLC entity receives the second indication information. Therefore, this example reduces the likelihood of retransmitting data units with zero remaining latency, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0014] In other examples, the first time may be the time corresponding to the resource (hereinafter referred to as the first resource) used for transmitting the first data unit, as indicated by the second indication information. Optionally, the first time may be the start time (or start transmission time) of the first resource. For example, the first resource indicated by the second indication information may be a transmission resource, which may be a physical uplink shared channel (PUSCH), and the first time may be the time corresponding to the first symbol of the PUSCH. If the packet loss timer corresponding to the first data unit times out at or before the time corresponding to the first resource indicated by the second indication information, or if the first RLC entity receives the first indication information, then the remaining delay of the first data unit is zero at or before the time corresponding to the first resource indicated by the second indication information. Therefore, through this example, the possibility of retransmitting data units with zero remaining delay can be reduced, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0015] In one possible design, the method further includes: a first device acquiring first configuration information, which can be used to configure: the first device to stop retransmission of the first data unit and / or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information. With this design, the first device can, according to the first configuration information, stop retransmission of the first data unit or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information. Optionally, in this design, the first configuration information can be sent from a second device to the first device, thus allowing the second device to flexibly configure or instruct the operation of the first device.

[0016] In one possible design, the method further includes: if the remaining delay of the first data unit is less than or equal to a first threshold, the first device may determine to send third indication information, the third indication information being used to indicate (or trigger, or request) the sending of a status report, and the first data unit being a data unit that has not received feedback information. If the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the first device may stop sending the third indication information.

[0017] Optionally, the first threshold can be used to measure the magnitude of the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the first threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the first threshold, the remaining latency of the first data unit is relatively small.

[0018] Optionally, the first threshold is greater than zero.

[0019] In this manner, the first device can determine whether to cancel the transmission of the third indication information based on whether the packet loss timer corresponding to the first data unit has timed out, or whether the first RLC entity has received the first indication information. When the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, the remaining delay of the first data unit is zero. In this case, the first device can cancel the transmission of the third indication information, which can reduce or avoid the waste of transmission resources (e.g., air interface resources) and improve resource utilization. In addition, the third indication information can be used to indicate the transmission of a status report. If the remaining delay of the first data unit is zero, even if a status report is received, the first device will not retransmit the first data unit. Therefore, this method can avoid the transmission of invalid status reports.

[0020] In one possible design, the first device stops sending the third indication information when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information. This includes stopping the transmission of the third indication information if each data unit in the first RLC entity's transmit buffer and / or retransmission buffer satisfies at least one of the following: the packet loss timer corresponding to the data unit times out; or the first RLC entity receives indication information indicating that the data unit should be discarded; the remaining delay of the data unit is greater than a first threshold; or, a positive acknowledgment corresponding to the data unit is received. Here, all data units include the first data unit. With this design, the first device can accurately determine whether to stop sending the third indication information.

[0021] Secondly, embodiments of this application provide a communication method that can be applied to a second device. In some examples, the second device can be an access network device, or a component applicable to an access network device, such as a module, communication module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It can also be a logical node, logical module, or software capable of implementing all or part of the functions of the access network device. In other examples, the second device can be a terminal, or a component applicable to a terminal, such as a module, communication module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It can also be a logical node, logical module, or software capable of implementing all or part of the functions of the access network device.

[0022] The method may include: a second device acquiring and sending first configuration information. The first configuration information can be used to configure: the first device to stop retransmission of the first data unit and / or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives first indication information. The first data unit is a data unit already transmitted by the first device, and the first indication information is used to indicate discarding the first data unit.

[0023] Optionally, the first indication information can be used to indicate the discarding of the first data unit, and can be replaced by: the first indication information can be used to indicate the timeout of the packet loss timer corresponding to the first data unit.

[0024] Optionally, after stopping the retransmission of the first data unit, the retransmission status corresponding to the first data unit may change. For example, the retransmission status corresponding to the first data unit may change from retransmission (or pending retransmission) to no retransmission. Optionally, even if the retransmission of the first data unit is stopped, the first data unit may still be stored in the buffer of the first device. Subsequently, if the conditions for discarding the first data unit are met, the first device may discard the first data unit.

[0025] Optionally, the first device may discard the first data unit, which may include (or be replaced by): the first device may remove (or delete) the first data unit from the retransmission buffer.

[0026] In this method, the second device can be configured to allow the first device to stop retransmission of the first data unit and / or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information. The first device can determine whether to stop retransmission of the first data unit or discard the first data unit based on whether the packet loss timer corresponding to the first data unit times out, or whether the first RLC entity receives the first indication information. When the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, the remaining delay of the first data unit is zero. In this case, stopping the retransmission of the first data unit and / or discarding the first data unit can reduce or avoid the waste of transmission resources (e.g., air interface resources) and improve resource utilization. Additionally, in this case, discarding the first data unit can release the buffer, avoiding or reducing the waste of buffer resources.

[0027] Thirdly, embodiments of this application provide a communication method that can be applied to a first device. The first device can be a terminal, or a component that can be applied to a terminal, such as a module, communication module, circuit or chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system or processor, or a logical node, logical module or software that can implement all or part of the terminal functions.

[0028] The method may include: a first device sending a first data unit; the first device determining to retransmit the first data unit; and the first device sending a delay status report (DSR), which can be used to indicate first delay information. The first delay information may be the delay information of a first logical channel to which the first data unit belongs, or the first delay information may be the delay information of a first logical channel group to which the first data unit belongs. The first delay information is determined based on the remaining delay of the first data unit; correspondingly, the first device may determine the first delay information based on the remaining delay of the first data unit.

[0029] Using this method, the first delay information reported by the first device is determined based on the remaining delay of the data unit to be retransmitted (e.g., the first data unit). Thus, when the second device performs resource scheduling, it can consider the remaining delay of the data unit to be retransmitted, thereby ensuring that the scheduled resources meet the needs of the first device and improving communication performance.

[0030] Fourthly, embodiments of this application provide a communication method that can be applied to a second device. The second device can be an access network device, or a component that can be applied to an access network device, such as a module, communication module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It can also be a logical node, logical module, or software that can implement all or part of the functions of the access network device.

[0031] The method includes: a second device receiving a DSR (Delay Sequence Response), the DSR being used to indicate first delay information. The first delay information may be delay information of a first logical channel to which the first data unit belongs, or the first delay information may be delay information of a first logical channel group to which the first data unit belongs. The first delay information is determined based on the remaining delay of the first data unit; correspondingly, the first device may determine the first delay information based on the remaining delay of the first data unit.

[0032] Using this method, the first delay information reported by the first device is determined based on the remaining delay of the data unit to be retransmitted (e.g., the first data unit). Thus, when the second device performs resource scheduling, it can consider the remaining delay of the data unit to be retransmitted, thereby ensuring that the scheduled resources meet the needs of the first device and improving communication performance.

[0033] Based on the third or fourth aspect, in one possible design, the first delay information is determined based on the remaining delay of the first data unit and the remaining delay of the second data unit. Specifically, when the first delay information is the delay information of the first logical channel, the second data unit is a data unit in the first logical channel that has not been transmitted; or, when the first delay information is the delay information of the first logical channel group, the second data unit is a data unit in the first logical channel group that has not been transmitted. In other words, the first delay information is determined based on the remaining delay of the data unit that has not been transmitted in the first logical channel or the first logical channel group and the remaining delay of the data unit to be retransmitted.

[0034] Currently, the remaining latency information indicated by DSR is determined based on the remaining latency of data units that have not been transmitted, without considering the remaining latency of data units to be retransmitted. As a result, terminals do not report the remaining latency of data units to be retransmitted, causing access network equipment to be unable to schedule resources based on the remaining latency of these data units. The scheduled resources may not meet the requirements of the data units to be retransmitted, thus reducing communication performance.

[0035] With this design, the first delay information reported by the first device is determined based on the remaining delay of the untransmitted data unit and the remaining delay of the data unit to be retransmitted. In this way, when the second device performs resource scheduling, it can take into account the remaining delay of the data unit to be retransmitted, thereby enabling the scheduled resources to meet the needs of the first device and improve communication performance.

[0036] Based on the third or fourth aspect, in one possible design, when the first delay information is the delay information of the first logical channel, the first logical channel does not contain any data units that have not been transmitted; or, when the first delay information is the delay information of the first logical channel group, the first logical channel group does not contain any data units that have not been transmitted. That is to say, even if the first logical channel or the first logical channel group does not contain any data units that have not been transmitted, the first device can still report the delay information of the data units to be retransmitted.

[0037] Currently, if a logical channel or logical channel group has data units to be retransmitted but no untransmitted data units, the terminal will not report the delay information of that logical channel or logical channel group. This causes the access network equipment to be unable to schedule resources based on the remaining delay of the data units to be retransmitted, and the scheduled resources may not meet the requirements of the data units to be retransmitted, thus reducing communication performance.

[0038] With this design, if there are data units to be retransmitted in a logical channel or group of logical channels, but no data units that have not been transmitted, the first delay information reported by the first device can be determined based on the remaining delay of the data units to be retransmitted. For example, the remaining delay information in the first delay information reported by the first device can be determined based on the remaining delay of the data units to be retransmitted. In this way, when the second device performs resource scheduling, it can take into account the remaining delay of the data units to be retransmitted, thereby enabling the scheduled resources to meet the needs of the first device and improve communication performance.

[0039] Based on the third or fourth aspect, in one possible design, when the first delay information is the delay information of the first logical channel, the first delay information further includes first data volume information. The first data volume information is used to indicate the data volume of data units in the first logical channel whose remaining delay is less than or equal to a remaining delay threshold; or, the first data volume information is used to indicate the data volume of data units in the first logical channel whose remaining delay is located within the delay interval corresponding to the first logical channel; or...

[0040] When the first delay information is the delay information of the first logical channel group, the first delay information also includes second data quantity information, which is used to indicate the data quantity of data units in the first logical channel group whose remaining delay is less than or equal to the remaining delay threshold; or, the second data quantity information is used to indicate the data quantity of data units in the first logical channel group whose remaining delay is located in the delay interval corresponding to the first logical channel group.

[0041] With this design, the first device can report the data volume information of the first logical channel or the first logical channel group. In this way, when the second device performs resource scheduling, it can take this quantity information into account, thereby enabling the scheduled resources to meet the needs of the first device and improve communication performance.

[0042] Based on the third or fourth aspect, in one possible design, when the first delay information is the delay information of the first logical channel, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel, the first delay information includes the remaining delay of the first data unit; or, when the first delay information is the delay information of the first logical channel group, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel group, the first delay information includes the remaining delay of the first data unit.

[0043] Based on the third or fourth aspect, in one possible design, the method further includes: a second device sending second configuration information; and correspondingly, a first device receiving the second configuration information. The second configuration information is used to configure that first delay information is determined based on the remaining delay of the first data unit. For example, the second configuration information is used to configure that if the remaining delay of the first data unit is greater than a second threshold, the first delay information is determined based on the remaining delay of the first data unit. With this design, the first device can determine the first delay information based on the second configuration information and the remaining delay of the first data unit. Optionally, in this design, the first configuration information can be sent from the second device to the first device, thus allowing the second device to flexibly configure or instruct the operation of the first device.

[0044] Based on the third or fourth aspect, in one possible design, the second configuration information is further configured to: retransmit the first data unit when the remaining delay of the first data unit is greater than the second threshold; correspondingly, according to the second configuration information, when the remaining delay of the first data unit is greater than the second threshold, the first device retransmits the first data unit. And / or, the second configuration information is further configured to: not retransmit the first data unit when the remaining delay of the first data unit is less than or equal to the second threshold; correspondingly, according to the second configuration information, when the remaining delay of the first data unit is less than or equal to the second threshold, the first device determines not to retransmit the first data unit.

[0045] Optionally, the second threshold can be used to measure the magnitude of the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the second threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the second threshold, the remaining latency of the first data unit is relatively small.

[0046] Optionally, the second threshold is greater than or equal to zero. For example, the second threshold is zero.

[0047] Through this design, the first device can determine whether to retransmit the first data unit based on the remaining delay of the first data unit according to the configuration information in the second configuration information, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization. For example, if the remaining delay of the first data unit is small, such as 0, then the first device may not retransmit the first data unit.

[0048] Fifthly, embodiments of this application provide a communication method that can be applied to a first device. In some examples, the first device can be a terminal, or a component applicable to the terminal, such as a module, communication module, circuit, or chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It can also be a logical node, logical module, or software capable of implementing all or part of the terminal's functions. In other examples, the first device can be an access network device, or a component applicable to the access network device, such as a module, communication module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It can also be a logical node, logical module, or software capable of implementing all or part of the access network device's functions.

[0049] The method may include: a first device transmitting a first data unit at a second time; and the first device determining to retransmit the first data unit at a third time. The third time is later than the second time, and the interval between the third time and the second time is greater than or equal to a first duration. Optionally, the first duration is greater than zero.

[0050] Using this method, the first device determines to retransmit the first data unit only after a first time period following the transmission of the first data unit. Thus, during the first time period after the transmission of the first data unit, the first device can avoid or reduce multiple retransmissions of the first data unit within a short period, thereby avoiding or reducing the waste of transmission resources.

[0051] In one possible design, the method further includes: the first device determining at a fourth time that a first condition is met. The first condition is a condition for retransmitting the first data unit; the fourth time is after the second time, and the interval between the fourth time and the second time is less than a first duration.

[0052] Optionally, in this design, the interval between the third time and the second time is equal to the first duration.

[0053] In this design, the first device determines that the condition for retransmitting the first data unit is met within a first time period after sending the first data unit; the first device only determines to retransmit the first data unit during or after the first time period after sending the first data unit. Thus, within the first time period after sending the first data unit, the first device may not determine to retransmit the first data unit, thereby avoiding or reducing multiple retransmissions of the first data unit within a short period and minimizing the waste of transmission resources.

[0054] In one possible design, the method further includes: the first device determining at a third time that a first condition is met, the first condition being a condition for retransmitting the first data unit.

[0055] In this design, after a first time interval following the transmission of the first data unit, or after the first time interval following the transmission of the first data unit, the first device determines that the condition for retransmitting the first data unit has been met and determines to retransmit the first data unit. Thus, within the first time interval following the transmission of the first data unit, the first device may not determine whether to retransmit the first data unit, thereby avoiding or reducing multiple retransmissions of the first data unit within a short period and avoiding or reducing the waste of transmission resources.

[0056] In one possible design, the method further includes: a first device determining at a fourth time that a first condition is met. The first condition is a condition for retransmitting the first data unit; the fourth time is after the second time, and the interval between the fourth time and the second time is less than a first duration. The first device then determines at the fourth time not to retransmit the first data unit.

[0057] In this design, even if the condition for retransmitting the first data unit is met within the first time period after the first data unit is sent, the first device will determine not to retransmit the first data unit, thereby avoiding or reducing multiple retransmissions of the first data unit in a short period of time and avoiding or reducing the waste of transmission resources.

[0058] In one possible design, the method further includes: if the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the first device stops retransmitting the first data unit, or the first device discards the first data unit. The first indication information is used to indicate that the first data unit should be discarded.

[0059] Optionally, at the third time, the packet loss timer corresponding to the first data unit is running, or the first RLC entity does not receive the first indication information.

[0060] In this design, the first device can determine whether to stop the retransmission of the first data unit or discard the first data unit based on whether the packet loss timer corresponding to the first data unit has expired, or whether the first RLC entity has received the first indication information. When the packet loss timer corresponding to the first data unit expires, or when the first RLC entity receives the first indication information, the remaining delay of the first data unit is zero. In this case, stopping the retransmission of the first data unit or discarding the first data unit can reduce or avoid the waste of transmission resources (e.g., air interface resources) and improve resource utilization. In addition, in this case, discarding the first data unit can release the buffer and avoid or reduce the waste of buffer resources.

[0061] Sixthly, this application provides a communication device. In some examples, the communication device may be a terminal, or a component applicable to a terminal, such as a module, communication module, circuit, or chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It may also be a logical node, logical module, or software capable of implementing all or part of the terminal's functions. The communication device has the functions to implement the first, third, or fifth aspects described above. In other examples, the communication device may be an access network device, or a component applicable to an access network device, such as a module, communication module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor. It may also be a logical node, logical module, or software capable of implementing all or part of the access network device's functions. The communication device has the functions to implement the second or fourth aspects described above.

[0062] In one possible embodiment, the communication device includes modules, units, or means corresponding to the operations involved in any of the first to fifth aspects described above. These modules, units, or means can be implemented in software, hardware, or a combination of both. For example, the communication device includes an interface unit and a processing unit. The interface unit can be used to transmit and receive signals to enable communication between the communication device and other devices; the processing unit can be used to perform some internal operations of the communication device. The functions performed by the processing unit and the interface unit can correspond to the operations involved in any of the first to fifth aspects.

[0063] In one possible embodiment, the communication device includes a processor. The processor is capable of executing a computer program or instructions that, when executed, cause the communication device to implement the methods in any possible design of any of the first to fifth aspects described above.

[0064] In one possible embodiment, the communication device includes a processor and a memory, the memory of which may store necessary computer programs or instructions for implementing the functions involved in any of the first to fifth aspects described above. The processor may execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, cause the communication device to implement the methods in any possible design of any of the first to fifth aspects described above.

[0065] In one possible embodiment, the communication device includes a processor and an interface circuit, wherein the processor is used to communicate with other devices through the interface circuit and to perform the methods in any possible design of any of the first to fifth aspects described above.

[0066] In a seventh aspect, this application provides a communication system that may include a first device and a second device. The first device may execute the communication method provided in the first aspect, and the second device may execute the communication method provided in the second aspect; or, the first device may execute the communication method provided in the third aspect, and the second device may execute the communication method provided in the fourth aspect.

[0067] In some possible designs, the first device is a terminal and the second device is an access network device. The first device can execute the communication method provided in the first aspect above, and the second device can execute the communication method provided in the second aspect above; or, the first device can execute the communication method provided in the third aspect above, and the second device can execute the communication method provided in the fourth aspect above.

[0068] In other possible designs, the first device is an access network device, and the second device is a terminal. The first device can execute the communication method provided in the first aspect above, and the second device can execute the communication method provided in the second aspect above.

[0069] Eighthly, this application provides a computer-readable storage medium storing a computer program or instructions, wherein when the computer program or instructions are executed, a method in any possible design of any of the first to fifth aspects described above is implemented.

[0070] Ninthly, this application provides a computer program product comprising computer program code, wherein when the computer program code is run, any possible design method of any of the first to fifth aspects described above is implemented.

[0071] In a tenth aspect, this application provides a chip for reading a computer program stored in a memory to execute a method in any of the possible designs of any of the first to fifth aspects described above.

[0072] The specific content and technical effects of any of the above-mentioned sixth to tenth aspects can be referred to the descriptions in the above-mentioned first to fifth aspects, and the repeated parts will not be discussed. Attached Figure Description

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

[0074] Figures 2A and 2B are schematic diagrams of several DSR media access control-control elements (MAC CEs) provided in the embodiments of this application;

[0075] Figures 3 and 4 are flowcharts of several communication methods provided in the embodiments of this application;

[0076] Figures 5 and 6 are structural diagrams of several communication devices provided in the embodiments of this application. Detailed Implementation

[0077] The technical solutions in the embodiments of this application will be described below with reference to the accompanying drawings. The technical solutions in the embodiments of this application can be applied to various communication systems, such as wireless local area networks (WLANs), wireless fidelity (Wi-Fi or WiFi) systems, fourth-generation (4G) mobile communication systems (such as long-term evolution (LTE) systems), fifth-generation (5G) mobile communication systems (such as new radio (NR) systems), or future communication systems. The methods provided in the embodiments of this application can be applied to terrestrial network communication systems or non-terrestrial network (NTN) communication systems. NTN communication systems can be, for example, satellite communication systems, and may also include unmanned aerial vehicles (UAVs), high-altitude platform stations (HAPS), and other aerial access network equipment; this application does not limit these aspects.

[0078] This application will present various aspects, embodiments, or features relating to systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches are also possible.

[0079] Figure 1 illustrates a schematic diagram of a communication system provided in an embodiment of this application. As shown in Figure 1, the communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 may also include the Internet 300.

[0080] RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110) and at least one terminal (120a-120j in Figure 1, collectively referred to as 120). RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment (not shown in Figure 1). Terminal 120 is wirelessly connected to RAN node 110. RAN node 110 is wirelessly or wired connected to core network 200. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and wireless access network logical functions.

[0081] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future-oriented evolution systems. RAN 100 can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. RAN 100 can also be a communication system that integrates two or more of the above systems.

[0082] RAN node 110, sometimes referred to as RAN entity or access node, constitutes part of the communication system and assists terminals in achieving wireless access. Multiple RAN nodes 110 in communication system 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal 120 are relative. For example, network element 120i in Figure 1 can be a helicopter or drone, which can be configured as a mobile base station. For terminals 120j accessing RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal. RAN node 110 and terminal 120 are sometimes both referred to as communication devices. For example, network elements 110a and 110b in Figure 1 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with terminal functions.

[0083] RAN nodes can also be described in different ways, such as access network equipment. Unless otherwise specified in this application, access network equipment will be used as the term.

[0084] Access network equipment can be devices or modules located on the network side of the aforementioned communication system and possessing corresponding communication functions. Access network equipment typically contains communication modules, circuits, or chips that perform the corresponding communication functions. Access network equipment may also be configured with programs or instructions for performing the corresponding communication functions, as well as the corresponding programs or instructions themselves.

[0085] In one possible scenario, access network equipment can be a base station (BS) (e.g., an evolved NodeB, eNodeB, or eNB), a transmission point (TP), an access point (AP), a transmit / receive point (TRP), a mobile switching center, a next-generation NodeB (gNB), a next-generation base station in a future communication system, or an access node in a WiFi system. Access network equipment can also be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, a radio controller in a CRAN scenario, a satellite, a drone, a balloon, or an aircraft. Optionally, access network equipment can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, in vehicle-to-everything (V2X) technology, the access network equipment can be a roadside unit (RSU). All or part of the functions of the access network device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).

[0086] In another possible scenario, multiple access network devices collaborate to assist the terminal in achieving wireless access, with each device performing a portion of the base station's functions. For example, the access network devices can be a central unit (CU or control unit), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and DU can be separate entities or included in the same network element, such as a baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0087] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called an open CU (O-CU), DU can also be called an open DU (O-DU), CU-CP can also be called an open CU-CP (O-CU-CP), CU-UP can also be called an open CU-UP (O-CU-UP), and RU can also be called an open RU (O-RU). Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.

[0088] A terminal is a device or module that connects to the aforementioned communication system and possesses corresponding communication functions. A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, wireless terminal device, subscriber unit, subscriber station, mobile station, remote station, user terminal, user agent, or user device, etc. A terminal typically contains communication modules, circuits, or chips that perform the corresponding communication functions. The terminal may also be configured with programs or instructions for performing these communication functions.

[0089] Terminals can be widely used in various scenarios, such as device-to-device (D2D), V2X communication, machine-type communications (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, and smart cities. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. Wearable devices, also known as wearable smart devices or smart wearable devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables. Terminals used in vehicles are called in-vehicle terminal devices, which include, for example, transportation vehicles with wireless communication capabilities, communication modules, or on-board units (OBUs).

[0090] For example, a terminal may include a mobile phone (or "cellular" phone), a computer with a mobile terminal device, or a portable, pocket-sized, handheld, or computer-embedded mobile device. For instance, a terminal may be a Personal Communication Service (PCS) phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), or other similar devices. A terminal may also include restricted devices, such as devices with limited power consumption, limited storage capacity, or limited computing power. For example, a terminal may be an information sensing device such as a barcode scanner, radio frequency identification (RFID), a sensor, a global positioning system (GPS), or a laser scanner. The embodiments of this application do not limit the device form of the terminal.

[0091] In this application, core network equipment refers to equipment in the core network that provides service support to terminals. For example, in the case where CN200 is the core network of a future communication system, a 5G core network, or an evolved 5G core network, some examples of core network equipment include: access and mobility management function (AMF) entities, session management function (SMF) entities, user plane function (UPF) entities, policy control function (PCF) entities, etc., which are not listed here. Among them, the AMF entity can be responsible for terminal access management and mobility management; the SMF entity can be responsible for session management, such as user session establishment; the UPF entity can be a user plane functional entity, mainly responsible for connecting to external networks. For example, in the case of CN200 as a 4G core network, some core network devices include: Mobile Management Entity (MME), Home Subscriber Server (HSS), Serving Gateway (S-GW), Policy and Charging Rules Function (PCRF), Public Data Network Gateway (PDN Gateway, P-GW), etc., which will not be listed here. It should be noted that in this application, entities can also be referred to as network elements or functional entities. For example, an AMF entity can also be called an AMF network element or AMF functional entity, and similarly, an SMF entity can also be called an SMF network element or SMF functional entity. The aforementioned core network devices can operate independently or be combined to implement certain control functions. For example, AMF, SMF, and PCF can be combined into a single core network device.

[0092] The communication systems and service scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new service scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0093] The relevant terms used in the embodiments of this application will be explained below. It should be noted that these explanations are for the purpose of making the embodiments of this application easier to understand, and should not be regarded as a limitation on the scope of protection claimed in this application.

[0094] I. Data:

[0095] In this application, the unit or form of data can be one of the following: a data frame, a service data unit (SDU), a protocol data unit (PDU), a PDU set, or a data burst. A PDU may include an SDU or a segment (or byte segment) of an SDU, and may also include a header. For example, an RLC PDU may include an RLC SDU or a segment of an RLC SDU, and may also include a header. A PDU set may include at least one PDU, which may carry an information unit generated by an application (or application layer). For example, when the data volume of a data frame is large, the data frame may be divided into multiple PDUs for transmission, and a PDU set may include these multiple PDUs. A data burst can be understood as a group of PDUs generated and sent by an application (or application layer) within a certain period of time. This group of PDUs may come from one or more PDU sets, and the duration of this period may be less than a set value.

[0096] Optionally, in this application, the data unit may be an SDU (e.g., an RLC SDU) or a PDU (e.g., an RLC PDU). The RLC SDU may be an acknowledged mode (AM) SDU; the RLC PDU may be an AM data (AMD) PDU.

[0097] II. Extended Reality (XR) Services:

[0098] The real-time broadband communication (RTBC) scenario under the new 5G vision aims to support high bandwidth and low interaction latency. The goal is to increase bandwidth tenfold under given latency and certain reliability requirements, thereby creating an immersive experience for human-virtual world interaction. XR services, with their ultra-high bandwidth and ultra-low latency requirements, can be applied to RTBC scenarios. XR services can include one or more types of data, such as video, audio, and control signals. Video typically consists of several ultra-high-definition images, each of which can be compressed and encoded, such as using High Efficiency Video Coding (HEVC), resulting in a large data block. The higher the video resolution, the larger the data block. When XR services include video, XR data is called a data frame. A data frame typically needs to be transmitted by several Internet Protocol (IP) packets or several PDUs. For details on the content of a data frame, please refer to the explanation of data frames above; it will not be repeated here.

[0099] III. The Importance of Data:

[0100] For example, in services such as XR, there may be dependencies between data frames. For instance, a second data frame may require the first data frame to be decoded. Therefore, if the transmission of the first data frame fails, the receiving device cannot decode the second data frame even if it is received. To address this characteristic of services such as XR, the concept of data importance is introduced; for example, data frames in services such as XR are divided into important data frames and unimportant data frames.

[0101] Optionally, the importance of data can be distinguished by an importance threshold. For example, if the importance of a certain data is higher than or equal to the importance threshold, then the data can be considered important or highly important, and the corresponding data frame can be an important data frame; if the importance of a certain data is lower than the importance threshold, then the data can be considered unimportant or low-importance, and the corresponding data frame can be an unimportant data frame.

[0102] Optionally, different data units within a data unit group (such as a PDU set) may have the same importance. For example, PDU set #1 includes RLC PDUs #1 through #4. RLC PDUs #1 through #4 may all be important data; or, RLC PDUs #1 through #4 may all be unimportant data. A data unit group may include the aforementioned data frames.

[0103] Optionally, for downlink data, core network equipment can identify the importance of the data and notify the access network equipment of this importance so that the access network equipment can perform scheduling and management accordingly. For uplink data, the terminal can identify the importance of the data. Currently, the importance of data is identified by the transmitting device; the receiving device is usually unaware of the importance of the data.

[0104] IV. Data processing by the transmitting device:

[0105] Entities corresponding to multiple protocol layers in the transmitting device can process data sequentially. For example, an entity corresponding to the Service Data Adaptation Protocol (SDAP) layer in the transmitting device can map quality of service (QoS) stream data to the corresponding data radio bearer (DRB), obtaining a Packet Data Convergence Protocol (PDCP) SDU, and submit the PDCP SDU to the PDCP layer in the transmitting device. The entity corresponding to the PDCP layer in the transmitting device (which may be referred to as the first PDCP entity) can generate a PDCP PDU based on the PDCP SDU and submit the PDCP PDU to the RLC layer in the transmitting device. The RLC layer in the transmitting device can also be referred to as the RLC transmission (TX) side. On the RLC TX side, data from higher layers (or higher protocol layers, such as the PDCP layer) of the RLC layer can be referred to as RLC SDUs; for example, a PDCP PDU can be referred to as an RLC SDU. The entity corresponding to the RLC TX side (which may be referred to as the first RLC entity) can generate an RLC PDU based on the RLC SDU and deliver the RLC PDU to the lower layer(s) (or lower protocol layer) of the RLC layer so that the transmitting device can send the RLC PDU. The lower layer of the RLC layer may be located in the transmitting device, for example, the lower layer of the RLC layer is the media access control (MAC) layer.

[0106] Optionally, the first RLC entity may support AM; in other words, the transmission mode of the first RLC entity may be AM. In this case, the first RLC entity may also be referred to as the first AM RLC entity. The first RLC entity can be used to support data transmission of logical channels (LCH) such as dedicated traffic channels (DTCH) and / or dedicated control channels (DCCH). The following describes some processing methods of the first RLC entity.

[0107] (1) Assign (or associate) a number to the RLC SDU:

[0108] The first RLC entity may assign a number to the first RLC SDU. This application uses a sequence number (SN) as an example. It should be understood that the number can also be represented in other forms.

[0109] The first RLC SDU is any RLC SDU received by the first RLC entity. The first RLC entity can assign a SN to the first RLC SDU through the following steps A1 to A2:

[0110] Step A1: The first RLC entity may assign a SN equal to the variable TX_NEXT to the first RLC SDU; in other words, the SN assigned by the first RLC entity to the first RLC SDU is equal to the current value of the variable TX_NEXT. The bit width of this SN can be configured to be 12 bits or 18 bits. In this application, the bit width of the SN can also be replaced by the length or number of bits of the SN.

[0111] Optionally, the first RLC entity may also construct a first RLC PDU with SN as the current value of the variable TX_NEXT, the first RLCPDU may include the first RLC SDU or a segment of the first RLC SDU.

[0112] Step A2: The first RLC entity can increment the variable TX_NEXT by 1; in other words, the first RLC entity can update the value of the variable TX_NEXT to the current value of the variable TX_NEXT plus 1.

[0113] In the methods shown in steps A1 to A2, TX_NEXT can be used to record the SN of the next newly generated RLC PDU in the first RLC entity; in other words, the value of TX_NEXT can be the SN of the next newly generated RLC PDU in the first RLC entity. The initial value of TX_NEXT can be 0. TX_NEXT can also be replaced with other names, such as "first variable," as long as it has the same function.

[0114] (2) According to the sending window, the RLC PDU is delivered to the lower layer of the RLC layer.

[0115] The transmission window, also known as the RLC AM transmission window, can include a sequence number (SN) range #1. SNs within this range #1 correspond to RLC PDUs that the transmitting device can send; in other words, RLC PDUs within this range #1 are RLC PDUs that the transmitting device can initially transmit and / or retransmit. Alternatively, RLC PDUs within this range #1 are RLC PDUs that the first RLC entity can deliver to a lower layer of the RLC layer. For example, if the SN of an RLC PDU belongs to this range #1, the transmitting device can send the RLC PDU; if the SN of an RLC PDU does not belong to this range #1, the transmitting device may not send the RLC PDU, for example, the first RLC entity may not deliver the RLC PDU to a lower layer of the RLC layer.

[0116] The sending window can be determined based on the variable TX_Next_Ack and the constant #1.

[0117] The variable TX_Next_Ack can take the value of the SN corresponding to the lower edge of the sending window. Currently, TX_Next_Ack can be the largest SN + 1 corresponding to the first group of RLC SDUs. The SNs corresponding to the first group of RLC SDUs are consecutive, and the first RLC entity has received an acknowledgment (ACK) for each RLC SDU in the first group. For example, if the first RLC entity has sent RLC SDU#0 to RLC SDU#3, the SNs corresponding to RLC SDU#0 to RLC SDU#3 are 0 to 3 respectively, and the first RLC entity has received ACKs for RLC SDU#0 to RLC SDU#2, then the first group of RLC SDUs can include RLC SDU#0 to RLC SDU#2, and the variable TX_Next_Ack can be 2 + 1 = 3. The variable TX_Next_Ack can also be replaced with other names, such as a second variable, as long as it has the same function.

[0118] Constant #1 may be the size of the transmission window. Illustratively, constant #1 may be half of the value space of SN. For example, if the bit width of SN is 12, constant #1 may be 2048. For another example, if the bit width of SN is 18, constant #1 may be 131072. Constant #1 may also be replaced with other names, for example, AM_Window_Size.

[0119] Illustratively, the transmission window may be expressed as: TX_Next_Ack ≤ SN < TX_Next_Ack + Constant #1; in other words, SN range #1 may include: TX_Next_Ack ≤ SN < TX_Next_Ack + Constant #1.

[0120] In some implementations, when receiving a transmission opportunity indication from a lower layer of the RLC layer (such as the MAC layer), the first RLC entity may deliver the RLC PDU corresponding to the SN in the transmission window to the lower layer of the RLC layer. Optionally, the first RLC entity may also deliver the RLC PDU corresponding to the SN in the transmission window to the lower layer of the RLC layer according to the granted resource corresponding to the transmission opportunity indication. In some examples, the second RLC SDU is an RLC SDU to be transmitted in the first RLC entity. If the SN corresponding to the second RLC SDU falls within the transmission window, and the granted resource corresponding to the transmission opportunity indication can meet the requirement of the second RLC SDU, for example, the size of the granted resource corresponding to the transmission opportunity indication is larger than the size of the second RLC SDU, then the first RLC entity may include the second RLC SDU in an RLC PDU and deliver the RLC PDU to the lower layer of the RLC layer. In other examples, the second RLC SDU is an RLC SDU to be transmitted in the first RLC entity. If the SN corresponding to the second RLC SDU falls within the transmission window, and the granted resource corresponding to the transmission opportunity indication cannot meet the requirement of the second RLC SDU, for example, the size of the granted resource corresponding to the transmission opportunity indication is smaller than the size of the second RLC SDU, then the first RLC entity may segment the second RLC SDU, and deliver the RLC PDU including the segment of the second RLC SDU to the lower layer of the RLC layer.

[0121] (3) Receiving a status report (STATUS report).

[0122] This status report can be used to indicate whether one or more RLC SDUs have been successfully received. Successfully received RLC SDUs can be understood as the RLC SDU being completely received, meaning all bytes of the RLC SDU have been successfully received; for example, all segments of the RLC SDU have been successfully received. And / or, unsuccessfully received RLC SDUs may include: any data in the RLC SDU (such as any bit or any segment) not being successfully received, or some bytes of the RLC SDU being successfully received, such as some segments of the RLC SDU being successfully received.

[0123] In some implementations, the status report can explicitly indicate whether one or more RLC SDUs have been successfully received. For example, if the status report includes ACKs for RLC SDUs #0 through #2 and a negative acknowledgement (NACK) for RLC SDU #3, it indicates that RLC SDUs #0 through #2 were successfully received, while RLC SDU #3 was not successfully received.

[0124] In other implementations, the status report may include only indications of RLC SDUs or RLC SDU segments that were not successfully received (i.e., indications of RLC SDUs or RLC SDU segments that require a negative response), and exclude indications of successfully received RLC SDUs (i.e., indications of RLC SDUs that require a positive response). For example, if RLC SDUs #0 to #2 are successfully received, but RLC SDU #3 is not successfully received, the status report may include only: indications of RLC SDU #3 (e.g., the SN of RLC SDU #3), and / or, indications of the segments in RLC SDU #3 that were not successfully received.

[0125] In this application, receiving an ACK for a data unit (e.g., an RLC SDU or a segment of an RLC SDU) can include: the received status report including the ACK for the data unit, or the received status report not including indication information for the data unit. Receiving a NACK for a data unit (e.g., an RLC SDU or a segment of an RLC SDU) can include: the received status report including the NACK for the data unit, or the received status report including indication information for the data unit. Furthermore, receiving an ACK for a data unit can be replaced by an ACK acknowledging the data unit, or an acknowledgment that the data unit was successfully received.

[0126] Optionally, the status report may be received by the first RLC entity from the entity corresponding to the RLC layer in the receiving device (which may be referred to as the second RLC entity). The RLC layer in the receiving device may also be referred to as the RLC receiving (RX) side. The status report may be included in the RLC control PDU. The RLC control PDU may also be referred to as the status PDU.

[0127] (4) Receive information from the first PDCP entity indicating that the packet loss timers have expired.

[0128] The packet loss timer can be configured and started by the first PDCP entity for the PDCP SDU. For example, after receiving each PDCP SDU, the first PDCP entity can configure and start a packet loss timer for that PDCP SDU; thus, each PDCP SDU can correspond to one packet loss timer. Since each PDCP PDU includes one PDCP SDU, and a PDCU PDU can be referred to as an RLC SDU, each RLC SDU can correspond to one packet loss timer.

[0129] Optionally, the maximum runtime of the packet loss timer may differ for different PDCP SDUs. For example, if importance-based packet loss is enabled, the maximum runtime of the packet loss timer for important data (hereinafter referred to as packet loss timer #a) can be greater than the maximum runtime of the packet loss timer for unimportant data (hereinafter referred to as packet loss timer #b). Packet loss timer #a can be a regular packet loss timer; packet loss timer #b can be a timer configured for low-importance packet loss in higher-layer signaling (discardTimerForLowImportance).

[0130] When the packet loss timer corresponding to a PDCP SDU times out, if the PDCP SDU has already been delivered to the first RLC entity, the first RLC entity can receive information from the first PDCP entity indicating that the packet loss timer has timed out. Currently, when receiving information from the first PDCP entity indicating that the packet loss timer has timed out, if the RLC SDU corresponding to the PDCP SDU has not been sent—for example, if the RLC SDU or any segment of the RLC SDU has not been delivered to a lower layer of the RLC layer—the transmitting device can discard the RLC SDU or the RLC PDU including the RLC SDU. For example, after receiving PDCP SDU#1, the first PDCP entity can start the associated packet loss timer #1 for PDCP SDU#1. If packet loss timer #1 times out, and the RLC SDU#1 corresponding to PDCP SDU#1 or any segment of the RLC SDU#1 has not been delivered to a lower layer of the RLC layer, the transmitting device can discard RLC SDU#1. For example, after receiving PDCP SDU#1, the first PDCP entity can start an associated packet loss timer #1 for PDCP SDU#1. If the packet loss timer #1 times out and the RLC SDU#1 containing the PDCP SDU#1 or any segment of the RLC SDU#1 is not delivered to a lower layer of the RLC layer, the transmitting device can discard the RLC PDU#1 containing the PDCP SDU#1.

[0131] V. Data processing by the receiving device:

[0132] Entities corresponding to multiple protocol layers in the receiving device can process data sequentially. For example, the entity corresponding to the RLC layer in the receiving device (referred to as the second RLC entity) can receive RLC PDUs from a lower layer (or lower protocol layer, such as the MAC layer) of the RLC layer in the receiving device, and determine whether to store the received RLC PDU in the receive buffer based on the SN corresponding to the received RLC PDU. If the RLC SDU corresponding to the RLC PDU is completely received, in other words, the second RLC entity has received all bytes of the RLC SDU corresponding to the RLC PDU, then the second RLC entity can deliver the RLC SDU to a higher layer(s) (or higher protocol layer) of the RLC layer. This higher layer can be located in the receiving device, and is, for example, the PDCP layer. The following describes some of the processing methods of the second RLC entity.

[0133] (1) Determine whether to store the received RLC PDU in the receive buffer.

[0134] For example, the second RLC PDU is any RLC PDU received by the second RLC entity. If the SN corresponding to the second RLC PDU is included within the reception window, the second RLC entity can determine to store the second RLC PDU in the reception buffer; if the SN corresponding to the second RLC PDU is not included within the reception window, the second RLC entity can determine to discard the second RLC PDU. Wherein, the reception window may also be referred to as a reordering window or a reassembly window. The reception window may comprise SN range #2, and the RLC PDUs corresponding to SNs within said SN range #2 are RLC PDUs that the receiving device (or the second RLC entity in the receiving device) can store in the reception buffer. For example, if the SN of the second RLC PDU belongs to said SN range #2, the second RLC entity can store the second RLC PDU in the reception buffer; if the SN of the second RLC PDU does not belong to said SN range #2, the second RLC entity can discard the second RLC PDU.

[0135] The reception window may be determined according to the variable RX_Next and constant #2.

[0136] The value corresponding to the variable RX_Next may be the SN corresponding to the lower boundary of the reception window. Currently, the variable RX_Next may be the maximum SN corresponding to the second group of RLC SDUs plus 1. Wherein, the SNs corresponding to the second group of RLC SDUs are consecutive, and each RLC SDU in the second group of RLC SDUs has been completely received; in other words, the second RLC entity has received all bytes of each RLC SDU in the second group of RLC SDUs. For example, if the second RLC entity has received RLC PDU #0 to RLC PDU #4, the SNs corresponding to RLC PDU #0 to RLC PDU #4 are 0 to 4 respectively, RLC PDU #0 to RLC PDU #3 respectively comprise RLC SDU #0 to RLC SDU #3, and RLC PDU #4 comprises one segment of RLC SDU #4, then the second group of RLC SDUs may comprise RLC SDU #0 to RLC SDU #3, and RX_Next may be 3+1=4. RX_Next may also be replaced with other names, for example, the third variable, as long as it has the same function.

[0137] Constant #2 may be the size of the reception window. For the specific content of constant #2, reference may be made to the above description of constant #1, except that constant #1 is replaced with constant #2, which will not be repeated herein.

[0138] For example, the reception window may be expressed as: RX_Next ≤ SN < RX_Next + constant #2; in other words, SN range #2 may comprise: RX_Next ≤ SN < RX_Next + constant #2.

[0139] (2) When the reassembly timer (t-Reassembly) times out, a status report for the RLC PDU is triggered.

[0140] The following section will explain the recombination timer.

[0141] When the reassembly timer is not running, if there is a gap in the SN of the RLC PDU received by the second RLC entity, the second RLC entity may start the reassembly timer. For example, when the reassembly timer is not running, the second RLC entity may start the reassembly timer if either condition b1 or condition b2 is met:

[0142] Condition b1: The variable RX_Next_Highest is greater than the variable RX_Next+1.

[0143] The variable RX_Next_Highest can be the maximum SN+1 corresponding to the RLC PDU received by the second RLC entity, and its initial value can be 0. The variable RX_Next_Highest can be replaced with other names, such as "fourth variable," as long as it has the same function.

[0144] For example, if the second RLC entity has received RLC PDUs #0 to #4, and the corresponding SNs for RLC PDUs #0 to #4 are 0 to 4 respectively, RLC PDUs #0 to #2 each include RLC SDUs #0 to #2, RLC PDU #3 includes a segment of RLC SDU #3, and RLC PDU #4 includes a segment of RLC SDU #4, then the variable RX_Next can be 2+1=3, and the variable RX_Next_Highest can be 4+1=5. In this case, the variable RX_Next_Highest is greater than the variable RX_Next+1, and condition b1 is satisfied.

[0145] Condition b2: The variable RX_Next_Highest is equal to the variable RX_Next+1; and the second RLC entity receives one or more segments of the third RLC SDU with the SN corresponding to the value of the variable RX_Next, and there is at least one missing byte before the last byte in the one or more segments.

[0146] For example, if the second RLC entity has received RLC PDUs #0 to #3, the SNs corresponding to RLC PDUs #0 to #2 are 0 to 2 respectively, the SN corresponding to RLC PDU #3 is 3, RLC PDUs #0 to #2 each include RLC SDUs #0 to #2, and RLC PDU #3 includes the first segment and the third segment of RLC SDU #3, then the variable RX_Next can be 2+1=3, and the variable RX_Next_Highest can be 3+1=4. In this case, the variable RX_Next_Highest is equal to the variable RX_Next+1; and the third RLC SDU can be RLC SDU #3. Before the last byte in the segment of the third RLC SDU received by the second RLC entity, there is a missing second segment, thus there is at least one missing byte. Therefore, condition b2 is satisfied.

[0147] Optionally, if condition b1 or condition b2 is satisfied, the second RLC entity can also set the value of the variable RX_Next_Status_Trigger to the value of the variable RX_Next_Highest; in other words, the value of the variable RX_Next_Status_Trigger can be SN+1 of the RLC SDU that triggers the re-establishment timer. When the re-establishment timer starts, the variable RX_Next_Status_Trigger can be the upper boundary of the SN range corresponding to the re-establishment timer. The variable RX_Next_Status_Trigger can also be replaced with other names, such as the fifth variable, as long as it has the same function.

[0148] Optionally, when the recombination timer expires, the second RLC entity may update the variable RX_Highest_Status to the smallest SN in the SN set #1.

[0149] The variable RX_Highest_Status can be the highest SN indicated in the status report. The initial value of RX_Highest_Status is 0. If an SN is in the receive window and is below RX_Highest_Status, then the RLC SDU or RLC SDU segment corresponding to that SN has been successfully received, or has been identified as a lost RLC SDU or RLC SDU segment. If an SN is in the receive window, is above RX_Highest_Status, and the RLC SDU or RLC SDU segment corresponding to that SN has not been successfully received, then the RLC SDU or RLC SDU segment corresponding to that SN is an RLC SDU or RLC SDU segment awaiting retransmission. The variable RX_Highest_Status can also be replaced with other names, such as the sixth variable, as long as it has the same function.

[0150] SN#1 can be any SN in SN set #1. SN#1 can be greater than or equal to the current value of the variable RX_Next_Status_Trigger. Optionally, the smallest SN in SN set #1 is greater than or equal to the current value of the variable RX_Next_Status_Trigger. Furthermore, the RLC SDU corresponding to SN#1 has not been fully received; in other words, the second RLC entity has not received all bytes of the RLC SDU corresponding to SN#1. For example, the second RLC entity received only a portion of the bytes of the RLC SDU corresponding to SN#1. Or, for example, the second RLC entity did not receive the RLC SDU corresponding to SN#1 at all.

[0151] For example (hereinafter referred to as Example 1), when the reassembly timer is started, the variable RX_Next takes the value 3, and the variable RX_Next_Highest takes the value 5. In this case, the variable RX_Next_Status_Trigger takes the value 5. If, during the reassembly timer's operation, the second RLC entity receives all bytes with SN 5, and some bytes of RLC SDUs with SNs 6 and 7, then SN set #1 may include multiple SNs, the smallest of which is SN 6; when the reassembly timer times out, the second RLC entity may update the value of the variable RX_Highest_Status to the smallest SN among the RLC SDUs whose SN is greater than or equal to the value of RX_Next_Status_Trigger and which were not fully received, for example, 6.

[0152] If the second RLC entity detects an RLC PDU reception failure, it can trigger a status report when the reassembly timer expires. In some implementations, the second RLC entity can trigger this status report after updating the variable RX_Highest_Status; in other words, the content of the status report is determined based on the updated variable RX_Highest_Status.

[0153] This status report indicates whether one or more RLC PDUs have been successfully received. The one or more RLC PDUs can satisfy at least one of the following conditions: Condition 1, the corresponding SN is greater than or equal to the variable RX_Next and less than the variable RX_Highest_Status; Condition 2, it was not fully received; Condition 3, the corresponding SNs, in ascending order within the RLC SDU according to the ascending order of the segments, from SN equal to the variable RX_Next to a SN whose size is less than or equal to the size of the transmission resource indicated by the lower layer of the RLC layer. Condition 3 can be understood as: the corresponding SNs, in ascending order within the RLC SDU according to the ascending order of the segments, from SN equal to the variable RX_Next to a SN whose size is suitable for the size of the transmission resource indicated by the lower layer of the RLC layer.

[0154] VI. Remaining Delay:

[0155] Remaining delay refers to the amount of time remaining before a data unit can be transmitted. In this application, remaining delay can be understood as a duration. The start time of the remaining delay can be the current system time of the data unit's transmitting device, and the end time of the remaining delay can be the time when the transmission delay budget of the data unit to be transmitted is about to time out, or the time when the data unit to be transmitted is about to be discarded.

[0156] In some examples, the transmission delay budget can be the packet delay budget (PDB) for the data unit to be transmitted. The PDB can be understood as the latency requirement from the terminal to the access network device or from the terminal to the UPF entity; for example, the maximum time from the arrival of a PDU at the terminal until the PDU is successfully received by the access network device or UPF entity. Typically, the PDB can be configured by the core network (CN) through a 5G Quality of Service (QoS) identifier (5QI). For example, if data unit #1 arrives at the terminal's buffer at millisecond 0 (ms), the PDB for data unit #1 is 10ms. If the current system time of the transmitting device for data unit #1 is 3ms, then the remaining latency for data unit #1 is 10 - 3 = 7ms.

[0157] In other examples, the transmission delay budget can be the PDU set delay budget (PSDB) for the data units to be transmitted. The PSDB can be understood as the transmission delay requirement of a PDU set; for example, the maximum time from the arrival of the first PDU in a PDU set at the terminal until all PDUs in that set are successfully received by the access network device or UPF entity. For example, if the first data unit of data unit group #1 arrives at the terminal's buffer at 0ms, the PSDB for data unit group #1 is 10ms. If the current system time of the transmitting device for data unit group #1 is 3ms, then the remaining delay for data unit group #1 is 10 - 3 = 7ms.

[0158] In some examples, the time when a data unit to be transmitted is about to be discarded can be understood as the time when the packet loss timer corresponding to the data unit to be transmitted will time out. For details on the packet loss timer, please refer to the explanation above; it will not be repeated here. For example, if the current system time of the data unit's transmitting device is 3ms, and the packet loss timer corresponding to data unit #1 times out at 10ms, then the remaining delay of data unit #1 is 10 - 3 = 7ms. That is, the remaining delay of the data unit is related to the packet loss timer corresponding to the data unit. For example, the remaining delay of the data unit can be the remaining delay before the running packet loss timer times out.

[0159] Optionally, once the remaining delay of a data unit is equal to 0, the remaining delay of that data unit may not decrease further and may always remain at 0.

[0160] It should be understood that the remaining delay can also have other names, such as remaining time, remaining scheduling delay, remaining transmission delay, remaining scheduling time, remaining packet delay budget, or remaining transmission time, as long as they represent the same meaning.

[0161] VII. Polling Information:

[0162] The transmitting device can send polling information to the receiving device, which can be used to instruct the receiving device to send a status report. After receiving the polling information, the receiving device can trigger a status report when the reassembly timer times out, thereby sending a status report.

[0163] Optionally, the transmitting device may trigger polling information when the conditions for triggering polling information are met. The conditions for triggering polling information may be pre-set, such as those specified in the protocol; or they may be indicated by other devices, such as by the base station through a radio resource control (RRC) message; or they may be determined by the transmitting device.

[0164] For example, the conditions that trigger polling information may include, but are not limited to, at least one of the following:

[0165] 1. The amount of data to be sent is greater than the data volume threshold #1. For example, if the data units to be sent are PDU#1 and PDU#2, and the data volume of PDU#1 and PDU#2 is greater than the data volume threshold #1, then the amount of data to be sent is greater than the data volume threshold #1.

[0166] 2. The number of data units to be sent is greater than the quantity threshold #1. For example, if the data units to be sent are PDU#1 to PDU#4, and the quantity threshold is 3 PDUs, then the number of data units to be sent is greater than the quantity threshold #1.

[0167] Optionally, in the above example, the data unit to be transmitted may only include the data unit transmitted initially. In other words, the data of the retransmitted RLCPDU may not be included in the calculation of the amount of data to be transmitted or the number of data units to be transmitted.

[0168] Optionally, the transmitting device may carry polling information in the RLC PDU (e.g., AMD PDU). For example, the RLC PDU includes polling information when the first field (e.g., the P field) in the packet header of the RLC PDU is set to a first value (e.g., 1).

[0169] Optionally, when a data unit just causes the data unit to be sent to meet the condition for triggering polling information, the polling information can be carried on that data unit; in other words, when a data unit causes the data unit to be sent to change from not meeting the condition for triggering polling information to meeting the condition for triggering polling information, the polling information can be carried on that data unit; or, if the data unit to be sent did not meet the condition for triggering polling information before including that data unit, but the condition for triggering polling information is met when the data unit to be sent includes that data unit, then the polling information can be carried on that data unit. For example, taking the condition for triggering polling information as the amount of data to be sent being greater than the data amount threshold #1 as an example, when PDU #2 can cause the amount of data to be sent to change from less than or equal to the data amount threshold #1 to greater than the data amount threshold #1, the transmitting device can carry polling information in PDU #2. For example, if the condition for triggering polling information is that the number of data units to be sent is greater than the quantity threshold #1, when PDU #3 can change the number of data units to be sent from less than or equal to the quantity threshold #1 to greater than the quantity threshold #1, the transmitting device can carry polling information in PDU #3.

[0170] 8. DSR:

[0171] Terminals can report the latency information of logical channel groups (LCGs) to access network devices via DSRs, enabling the access network devices to perform resource scheduling accordingly. The DSR process (e.g., triggering a DSR and reporting one or more DSRs) can be performed by the terminal or devices within the terminal (e.g., the MAC entity within the terminal). The following explanation uses a terminal as an example.

[0172] 1. Trigger DSR:

[0173] When the DSR triggering conditions are met, the terminal can trigger a DSR for LCH#a. After a DSR is triggered, it is considered to be in a pending or pending state until it is canceled. For example, the DSR triggering conditions include: the minimum remaining latency corresponding to the data unit cached for LCH#a is less than or equal to the remaining latency threshold (remainingTimeThrehsold), and / or there are currently no pending DSRs for LCH#a. The remaining latency can be the remaining time of a packet loss timer, which can be the packet loss timer described above.

[0174] (1) The minimum remaining time of the packet loss timer corresponding to the data unit cached by LCH#a is less than or equal to the remaining delay threshold:

[0175] Optionally, the minimum remaining time of the packet loss timer corresponding to the data unit cached by LCH#a can be understood as the remaining time of the packet loss timer corresponding to the first cached data unit. Here, the first cached data unit is the data unit in the LCH#a cache that has the shortest remaining time of its corresponding packet loss timer. For example, if the data units cached by LCH#a include data units #1 to #3, and the remaining times of the packet loss timers corresponding to data units #1 to #3 are 3ms, 5ms, and 7ms respectively, then the first cached data unit can be data unit #1, and the minimum remaining time of the packet loss timer corresponding to the data unit cached by LCH#a can be 3ms.

[0176] Optionally, in the DSR triggering condition, the data unit cached by LCH#a can be understood as at least one of the following: data units cached by LCH#a that have not been transmitted in the MAC PDU (e.g., all data units cached by LCH#a that have not been transmitted in the MAC PDU); or, data units cached by LCH#a that have not been reported by the DSR MAC CE (e.g., all data units cached by LCH#a that have not been reported by the DSR MAC CE).

[0177] Optionally, data units that do not report data volume through the DSR MAC CE may include at least one of the following: data units whose data volume has not been reported as latency-critical data in the DSR MAC CE; or data units whose data volume has not been reported through the data volume information in the DSR MAC CE. For example, the access network device may configure multiple DSR reporting thresholds for the terminal, each DSR reporting threshold corresponding to at least one data volume information in the DSR MAC CE, and the multiple DSR reporting thresholds collectively correspond to one or more data volume information in the DSR MAC CE; data units that do not report data volume through the data volume information in the DSR MAC CE may include: data units that have not reported data volume through any / any data volume information in the one or more data volume information. Here, latency-critical data can be understood as time data units in the LCH#a cache where the remaining time of the packet loss timer is less than or equal to the remaining latency threshold.

[0178] For example, the remaining delay threshold may be a threshold configured by the access network device for LCH#a, or it may be a threshold configured by the access network device for LCG#a, where LCH#a is a logical channel in LCG#a.

[0179] (2) There are currently no pending DSRs for LCH#a:

[0180] Optionally, the absence of a pending DSR for LCH#a can be understood as at least one of the following: LCH#a currently has no pending DSR / suspended DSR / dSR to be transmitted; or, LCH#a does not have a pending DSR.

[0181] In some examples, the DSR triggering conditions include: the minimum remaining time of the packet loss timer corresponding to the data unit cached by LCH#a is less than or equal to the remaining delay threshold, and there is currently no pending DSR for LCH#a. In other words, the terminal can trigger a DSR for LCH#a if the minimum remaining time of the packet loss timer corresponding to the data unit cached by LCH#a is less than or equal to the remaining delay threshold, and there is currently no pending DSR for LCH#a.

[0182] 2. Report (or send) DSR:

[0183] After triggering DSR, the terminal can report DSR. Optionally, the terminal can send DSR MAC CE, which can indicate the delay information of one or more LCGs. The DSR MAC CE is explained below with reference to Figures 2A and 2B.

[0184] Figure 2A illustrates a schematic diagram of a first-format DSR MAC CE. The terminal can report latency information of one or more LCGs via the first-format DSR MAC CE. These one or more LCGs can be LCGs with configured remaining latency thresholds. Optionally, the remaining latency thresholds corresponding to different LCGs among these one or more LCGs can be the same or different.

[0185] In this DSR MAC CE, the first byte's 8 bits correspond to LCG0-LCG7, indicating whether the DSR MAC CE contains delay information for each of LCG0-LCG7. For example, if the bit corresponding to LCG0 is 0, it means the DSR MAC CE does not contain delay information for LCG0; that is, the delay information for the data in LCG0 is not reported in the DSR MAC CE, and the DSR MAC CE also does not contain the buffer status table (BT) field, remaining time field, and buffer size field corresponding to LCG0. Conversely, if the bit corresponding to LCG0 is 1, it means the DSR MAC CE contains information for LCG0; that is, the information for the data in LCG0 is reported in the DSR MAC CE, and the DSR MAC CE contains the BT field, remaining time field, and buffer size field corresponding to LCG0.

[0186] LCG#a can be any one of one or more LCGs. The latency information of LCG#a reported by the DSR MAC CE in the first format may include: data volume information #1 and remaining latency information #1. Specifically, data volume information #1 can be indicated by the buffer size field corresponding to LCG#a; data volume information #1 indicates the amount of data in the data unit of LCG#a whose remaining latency is less than the reporting threshold. Remaining latency information #1 can be indicated by the remaining time field corresponding to LCG#a; remaining latency information #1 indicates the remaining latency of the data unit with the shortest remaining latency that has not yet been transmitted in the data unit of LCG#a.

[0187] Figure 2B illustrates a schematic diagram of the second format DSR MAC CE. When at least one LCG is configured with one or more reporting thresholds, the terminal can report one or more sets of latency information for some or all of the at least one LCG via the second format DSR MAC CE. The one or more reporting thresholds can correspond to at least one latency interval, and each latency interval can correspond to a set of latency information. Optionally, the number of reporting thresholds configured for different LCGs within the at least one LCG, i.e., the number of latency intervals, can be the same or different. Optionally, the reporting thresholds configured for different LCGs within the at least one LCG, i.e., the size of the latency intervals, can also be the same or different. In this second format DSR MAC CE, the first byte's 8 bits correspond to LCG0-LCG7 respectively, used to indicate whether the DSR MAC CE contains latency information for LCG0-LCG7. For example, if the bit value corresponding to LCG0 is 0, it indicates that the DSR MAC CE does not contain the latency information of LCG0. That is, the latency information of the data in LCG0 is not reported in this DSR MAC CE, and the DSR MAC CE also does not contain the BT field, extension (E) field, remaining time field, and buffer size field corresponding to LCG0. The E field indicates whether the DSR MAC CE contains latency information corresponding to other latency intervals within the same LCG (such as LCG0) after this field. For example, when the E field is valued as #1 (e.g., 1), it means that after this field, the DSR MAC CE also contains delay information corresponding to other delay intervals in the same LCG (e.g., LCG0); when the E field is valued as #2 (e.g., 0), it means that after this field, the DSR MAC CE does not contain delay information corresponding to other delay intervals in the same LCG (e.g., LCG0). In this case, the access network device can determine whether there is information of other LCGs (e.g., LCG1) in the DSR MAC CE based on the indication in the 8 bits of the first byte.

[0188] For example, the latency interval corresponding to one or more reporting thresholds for LCG#a may include 1–10 ms and 10–20 ms. LCG#a is any one of one or more LCGs. For LCG#a, the terminal can report a first set of latency information corresponding to 1–10 ms and a second set of latency information corresponding to 10–20 ms. The first set of latency information may include data volume information #2 and remaining latency information #2. Data volume information #2 can be indicated by the first buffer status field corresponding to LCG#a; data volume information #2 indicates the data volume of data units in LCG#a with a remaining latency of 1–10 ms. Remaining latency information #2 can be indicated by the first remaining time field corresponding to LCG#a; remaining latency information #2 indicates the remaining latency of the data unit in LCG#a with the shortest remaining latency in the 1–10 ms range that has not been transmitted. The second set of latency information may include data volume information #3 and remaining latency information #3. Data volume information #3 can be indicated through the second buffer status field corresponding to LCG#a; data volume information #3 can indicate the data volume of data units in LCG#a with a remaining latency of 10-20ms. Remaining latency information #3 can be indicated through the second remaining time field corresponding to LCG#a; remaining latency information #3 can indicate the remaining latency of the data unit with the shortest remaining latency among the data units in LCG#a with a remaining latency of 10-20ms that has not been transmitted. Optionally, each set of latency information can also include an E field. For example, when there are no data units with a remaining latency in the latency range of 10-20ms in the buffer of LCG#a, the second format DSR MAC CE can indicate through the E field in the first set of latency information that the DSR MAC CE does not contain the second set of latency information.

[0189] Currently, if an LCG contains no untransmitted data units, such as no untransmitted PDCP SDUs, the terminal may not report the latency information of that LCG. For example, the terminal may not include the latency information of that LCG in the DSR MAC CE. If an LCG contains untransmitted data units and data units awaiting retransmission, the remaining latency information indicated by the DSR MAC CE is determined based on the remaining latency of the untransmitted data units.

[0190] 9. Buffer Status Report (BSR):

[0191] A BSR can be used to indicate the size of uplink data to be transmitted in the terminal. Optionally, the format of a BSR may include at least one of the following:

[0192] 1. A Long BSR can include information from multiple LCGs, such as indexes of multiple LCGs. The length of a Long BSR is variable. For example, the length of a Long BSR can vary depending on the number of LCGs it includes.

[0193] 2. Short BSR can include information about an LCG, such as an index of the LCG. The length of a short BSR is fixed.

[0194] 3. Truncated BSRs can be used to carry zero-padding data. Truncated BSRs can include long truncated BSRs and short truncated BSRs. Long truncated BSRs are used to carry zero-padding data. Short truncated BSRs are used to carry zero-padding data.

[0195] 10. In this application, "instruction" or "for instruction" may include explicit instruction (or direct instruction) and implicit instruction (or indirect instruction). When describing information for instructing A, it may include whether the information explicitly instructs A or implicitly instructs A, but does not necessarily mean that the information carries A.

[0196] The indication methods involved in the embodiments of this application should be understood to cover various methods that enable the party to be indicated to obtain the information to be indicated. The information to be indicated can be sent as a whole or divided into multiple sub-information and sent separately. Moreover, the sending period and / or sending time of these sub-information can be the same or different, without limitation.

[0197] In the embodiments of this application, "information" can be an explicit indication, that is, a direct indication through signaling, or obtained by combining other rules or parameters with parameters indicated by signaling, or by deduction. It can also be an implicit indication, that is, obtained based on rules or relationships, or based on other parameters, or by deduction. No limitation is imposed.

[0198] XI. In this application, communication between different devices can refer to direct communication between different devices (i.e., without the need for relaying or forwarding by other devices), or communication between different devices through other devices (i.e., requiring relaying or forwarding by other devices), or communication between a functional unit within a device and other devices through another functional unit. For example, "sending information to…(terminal)" can be understood as the destination of the information being the terminal, and may include sending information directly or indirectly to the terminal. "Receiving information from…(terminal)" can be understood as the source of the information being the terminal, and may include receiving information directly or indirectly from the terminal. Information may undergo necessary processing between the source and destination ends, such as format changes, digital-to-analog conversion, amplification, filtering, etc., but the destination end can understand the valid information from the source end. Similar expressions in this application can be understood in a similar way, and will not be elaborated further here.

[0199] 12. In this application, the words "exemplarily," "for example," "for instance," and "example" are used to indicate examples, illustrations, or explanations, and are not intended to limit the scope of protection of this application. It should be understood that the examples in this application may also be implemented in other ways. In this application, "of," "corresponding, relevant," and "corresponding" may sometimes be used interchangeably, and it should be noted that their intended meanings are consistent when their distinctions are not emphasized.

[0200] Thirteen, in this application, any two of the programs, instructions, and code may be substituted for one another.

[0201] 14. In this application, "greater than or equal to" and "greater than" can be used interchangeably. For example, "A is greater than threshold 1" and "A is greater than or equal to threshold 1" can be used interchangeably. "Less than or equal to" and "less than" can be used interchangeably. For example, "A is less than threshold 1" and "A is less than or equal to threshold 1" can be used interchangeably.

[0202] 15. In this application, "in the case of," "when," "if," and "if," "then" can have the same meaning and can be substituted for each other. Optionally, in this application, "in the case of," "when," "if," and "then" all refer to a corresponding action that will be taken under certain objective circumstances, and are not time-limited, nor do they require a judgment action at the time of implementation, nor do they imply any other limitations.

[0203] 16. In this application, a data unit in a certain LCH cache can be understood as a data unit belonging to or corresponding to that LCH. For example, a data unit in the first LCH cache can be understood as a data unit belonging to the first LCH, or a data unit corresponding to the first LCH.

[0204] In this application, a data unit in a certain LCG cache can be understood as a data unit belonging to or corresponding to that LCG. For example, a data unit in the first LCG cache can be understood as a data unit belonging to the first LCG, or a data unit corresponding to the first LCG.

[0205] 17. In this application, "delivery to a lower layer of a protocol layer" can be replaced by any of the following: transmission, delivery, transmission, presentation, or output. For example, "transmission to a lower layer of the RLC layer" can be replaced by any of the following: transmission, delivery, transmission, presentation, or output.

[0206] In this application, a lower layer of a protocol layer can be replaced with any of the following: the layer below the protocol layer, or the layer below it. For example, "the lower layer of the RLC layer" can be replaced with any of the following: the layer below the RLC layer, or the layer below it.

[0207] To improve the reliability of data transmission, the transmitting device may retransmit data after sending it. However, after determining to retransmit certain data, the transmitting device may not retransmit it immediately; for example, it may wait until resources for retransmission become available. However, when resources for retransmission are available, the remaining latency of the data may be low, for example, zero. Retransmitting the data in this case would waste transmission resources and reduce resource utilization.

[0208] Further research is needed on how to improve resource utilization during data transmission and avoid wasting transmission resources.

[0209] Based on this, embodiments of this application provide a communication method and apparatus to reduce or avoid waste of transmission resources. The method and apparatus described in this application are based on the same technical concept. Since the principles by which the method and apparatus solve the problem are similar, the implementations of the apparatus and method can refer to each other, and repeated details will not be repeated.

[0210] The following description, in conjunction with the accompanying drawings, details various communication methods provided in the embodiments of this application. These methods can be applied to the communication system shown in FIG1, but are not limited thereto. The embodiments of this application use the interaction between a first device and a second device as an example for illustration, but this application does not limit the executing entity of this interaction. For example, the first device can be a terminal, or a component applicable to the terminal, such as a module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor; it can also be a logical node, logical module, or software capable of implementing all or part of the terminal's functions. The second device can be an access network device, or a component applicable to the access network device, such as a module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor; it can also be a logical node, logical module, or software capable of implementing all or part of the access network device's functions. For example, the first device can be an access network device, or a component applicable to the access network device, such as a module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor; it can also be a logical node, logical module, or software capable of implementing all or part of the access network device's functions. The second device can be a terminal, or a component applied to the terminal, such as a module, circuit, chip (e.g., a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor; it can also be a logical node, logical module, or software capable of implementing all or part of the terminal's functions. Furthermore, the first device can be the transmitting device described above, and the second device can be the receiving device described above. Optionally, in the following text, the operation of the first device can be performed by an entity corresponding to the first protocol layer in the first device. For example, the first protocol layer is the RLC layer, and the entity corresponding to the first protocol layer is the first RLC entity.

[0211] It is understood that in the embodiments of this application, the first device and / or the second device may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the steps may be performed in different orders as presented in the embodiments of this application, and it is not necessary to perform all the operations in the embodiments of this application.

[0212] Figure 3 is a flowchart illustrating a communication method provided in an embodiment of this application. In this method, the first device can determine whether to cancel the retransmission of the first data unit based on the remaining delay of the first data unit. As shown in Figure 3, the method may include:

[0213] S301: The first device sends the first data unit.

[0214] For example, the first data unit may be an SDU, a segment of an SDU, or a PDU. An SDU may be, for example, a PDCP SDU or an RLC SDU, and a PDU may be, for example, a PDCP PDU or an RLC PDU.

[0215] Optionally, the importance of the first data unit may be lower than an importance threshold. The importance threshold may be pre-set, for example, specified by a protocol, or stored in the factory settings of the first device or in the subscriber identity module (SIM) card; alternatively, it may be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device via higher-layer signaling (e.g., RRC messages); or it may be determined by the first device. The importance threshold may also have other names and is not limited. In this application, data below the importance threshold can be understood as unimportant data. For example, if the importance of the first data unit is lower than the importance threshold, then the first data unit may be unimportant data, or belong to a group of unimportant data units.

[0216] Optionally, S301 may include: the first device may initially transmit the first data unit, or the first device may retransmit the first data unit; in other words, the first data unit may be an initially transmitted data unit or a retransmitted data unit. For example, the first data unit may be an RLC SDU retransmitted by the first RLC entity in the first device or a segment of the RLC SDU.

[0217] In some scenarios, the first data unit can be a data unit whose corresponding SN belongs to the sending window, or the first data unit can be a data unit whose corresponding SN does not belong to the sending window. For example, the SN corresponding to the first data unit is less than the SN corresponding to the variable TX_Next_Ack.

[0218] Optionally, the first device sending the first data unit can be understood as an entity corresponding to a certain protocol layer in the first device delivering the first data unit to a lower layer (or lower protocol layer) of that protocol layer. For example, taking the first data unit as a PDCP SDU, the first PDCP entity in the first device processes the PDCP SDU (e.g., generates a corresponding PDCP PDU) and delivers it to a lower layer of the PDCP layer, such as the RLC layer. As another example, taking the first data unit as an RLC SDU, the first RLC entity in the first device processes the RLC SDU (e.g., generates a corresponding RLC PDU) and delivers it to a lower layer of the RLC layer, such as the MAC layer.

[0219] S302: The first device determines to retransmit the first data unit.

[0220] The first device may determine a method for retransmitting the first data unit in several ways, such as at least one of method a1 to method a3.

[0221] Method a1: If the first device receives the first feedback information, the first device can determine to retransmit the first data unit. The first feedback information can be used to indicate that the first data unit was not successfully received.

[0222] For example, the first device receiving the first feedback information may include: the first device receiving a NACK for the first data unit. The specific details of receiving the NACK for the first data unit can be found in the explanation of the terminology section above, which will not be repeated here.

[0223] Optionally, if the first device receives the first feedback information and the number of retransmissions of the first data unit is less than the retransmission threshold, the first device may determine to retransmit the first data unit. The retransmission threshold may be preset, for example, specified by a protocol, or stored in the first device's factory settings or SIM card; or it may be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device via higher-layer signaling (e.g., RRC message); or it may be determined by the first device. The retransmission threshold may also have other names, such as the maximum retransmission threshold, and is not limited thereto.

[0224] Optionally, if the first device receives the first feedback information and the first data unit satisfies at least one of the following conditions c1 to c3, the first device may determine to retransmit the first data unit.

[0225] Condition c1: The first data unit was not discarded.

[0226] In some implementations, the first data unit is not discarded, which can be understood as the condition for discarding the first data unit not being met. The condition for discarding the first data unit can be a traditional condition, such as the condition specified by the protocol; or, the condition for discarding the first data unit can be a new condition, such as the condition for discarding the first data unit in S303 (e.g., the remaining delay of the first data unit is less than or equal to the third threshold), which will not be elaborated here.

[0227] In other implementations, the first data unit not being discarded can be understood as at least one of the following: the indication information for indicating that the first data unit has been discarded has not been received; the first RLC entity has not received the indication information for indicating that the first data unit has been discarded; the first device has not received the indication information for indicating that the first data unit has been discarded; or the first device has not received the indication information for indicating that the first data unit has been discarded through the first RLC entity. The indication information for indicating that the first data unit has been discarded is, for example, the first indication information mentioned below, which will not be elaborated here.

[0228] Condition c2: The first data unit has not been acknowledged.

[0229] Optionally, condition c2 can be understood as at least one of the following: the first RLC entity did not receive the ACK for the first data unit; the first device did not receive the ACK for the first data unit through the first RLC entity; or, the first device did not receive the ACK for the first data unit.

[0230] Condition c3: The SN of the first data unit belongs to the transmission window, or the SN of the first data unit is greater than or equal to the variable Tx_Next_Ack and less than or equal to the variable Tx_Next. For details regarding the transmission window, the variable Tx_Next_Ack, and the variable Tx_Next, please refer to the explanations of these terms in the terminology section; they will not be elaborated upon here.

[0231] Method a2: If the remaining delay of the first data unit is less than or equal to the first time threshold, the first device may determine to retransmit the first data unit. Optionally, the first time threshold is greater than zero.

[0232] The first time threshold can be preset, for example, as specified by a protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device through higher-layer signaling (e.g., RRC message); or it can be determined by the first device. The first time threshold may also have other names, without limitation.

[0233] Optionally, the first time threshold can be used to measure the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than or equal to the first time threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than the first time threshold, the remaining latency of the first data unit is relatively small.

[0234] Optionally, the first time threshold may be greater than the third threshold described below; in other words, the remaining delay of the first data unit equal to the first time threshold is earlier than the remaining delay of the first data unit equal to the third threshold. For example, the first time threshold is greater than zero, and the third threshold is equal to zero.

[0235] In some possible ways, the remaining delay of the first data unit can be determined by the first timer.

[0236] In some implementations, the first timer can be a packet loss timer corresponding to the first data unit (hereinafter referred to as the first packet loss timer), and correspondingly, the remaining delay of the first data unit can be determined based on the first packet loss timer. In this way, the first device can quickly and accurately determine the remaining delay of the first data unit based on the packet loss timer. Optionally, in this application, each data unit can correspond to one packet loss timer.

[0237] For ease of understanding, the first packet loss timer will be explained below. In some examples, the first packet loss timer may be a packet loss timer set by the first PDCP entity in the first device for the first data unit. The first PDCP entity may be the entity corresponding to the first RLC entity. In other examples, the first packet loss timer may be a packet loss timer corresponding to a data unit in the data unit group to which the first data unit belongs. For example, the first packet loss timer may be a packet loss timer corresponding to the first data unit arriving at the first device in the data unit group to which the first data unit belongs. Optionally, if the importance of the first data unit is lower than the importance threshold, the first packet loss timer may be a conventional packet loss timer, such as packet loss timer #a in the explanation of terms section, or the first packet loss timer may also be a timer configured by the higher-layer signaling discardTimerForLowImportance, such as packet loss timer #b in the explanation of terms section. In this way, the first device can determine the remaining delay of the first data unit based on the first packet loss timer without adding a new timer, thereby reducing the complexity of the first device.

[0238] Optionally, the remaining delay of the first data unit can be determined based on the remaining duration of the first packet loss timer. The remaining duration of the first packet loss timer refers to how long the first packet loss timer will time out. In some examples, after the first device starts the first packet loss timer, the timer may start counting from 0ms, and the timer's countdown gradually increases. When the first packet loss timer's countdown reaches its maximum duration, the timer times out. For example, if the maximum duration of the first packet loss timer is 10ms and its countdown is 7ms, then the timer will time out after 3ms, and the remaining duration of the first packet loss timer can be 3ms. In other examples, after the first device starts the first packet loss timer, the timer may start counting from its maximum duration, and the timer's countdown gradually decreases. When the first packet loss timer's countdown reaches 0ms, the timer times out. For example, if the maximum runtime of the first packet loss timer is 10ms and the timing time of the first packet loss timer is 3ms, then the first packet loss timer will time out after 7ms, and the remaining duration of the first packet loss timer can be 7ms.

[0239] In some examples, the remaining delay of the first data unit can be the remaining duration of the first packet loss timer. In this case, the maximum runtime of the first packet loss timer can be equal to the delay budget corresponding to the first data unit. For example, if the remaining duration of the first packet loss timer is 3ms, then the remaining delay of the first data unit can be 3ms.

[0240] In other examples, the remaining delay of the first data unit can be the sum of the remaining duration of the first packet loss timer and the first offset. The first offset can be positive or negative. The first offset can be preset, for example, as specified by the protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device via higher-layer signaling (e.g., RRC message); or it can be determined by the first device. For example, if the remaining duration of the first packet loss timer is 3ms and the first offset is -1ms, then the remaining delay of the first data unit can be 2ms.

[0241] Optionally, in this implementation, if the remaining delay of the first data unit is less than or equal to a first time threshold, the first PDCP entity in the first device may send indication information #1 to the first RLC entity in the first device. Indication information #1 is used to indicate that the remaining delay of the first data unit is less than or equal to the first time threshold. If indication information #1 is received, the first RLC entity in the first device may determine to retransmit the first data unit.

[0242] In other implementations, the first time threshold may be equal to the maximum runtime of the first timer. Thus, the remaining delay of the first data unit being less than or equal to the first time threshold can be replaced by at least one of the following: the first timer times out, or the first timer is not running. In this implementation, the first timer and the first packet loss timer may be different timers. Optionally, in this implementation, the first timer may be maintained by the first RLC entity in the first device.

[0243] Optionally, the first device may start the first timer at a second time; in other words, the start time of the first timer is the second time. The second time may be the time when the first device sends the first data unit.

[0244] Optionally, the first device can start the first timer at a second time, which can be replaced by: the first device starting the first timer at the time when the first data unit is delivered to a lower layer of the RLC layer (e.g., the MAC layer); in other words, the start time of the first timer is the time when the first data unit is delivered to a lower layer of the RLC layer (e.g., the MAC layer). Wherein, when the first data unit is divided into multiple segments for transmission, the start time of the first timer can be the time when one byte of the first data unit (or a data unit containing that byte) is delivered to a lower layer of the RLC layer. For example, the start time of the first timer can be the time when the first byte of the first data unit (or a data unit containing the first byte of the first data unit) is delivered to a lower layer of the RLC layer, or it can be the time when the last byte of the first data unit (or a data unit containing the last byte of the first data unit) is delivered to a lower layer of the RLC layer.

[0245] Optionally, in mode a2, the first data unit is a data unit that has not received any feedback (such as ACK or NACK), or the first data unit is a data unit that has not received ACK.

[0246] Optionally, mode a2 can also be understood as follows: if the duration of the first data unit in the buffer of the first device is greater than or equal to the first time threshold, then the first device may determine to retransmit the first data unit.

[0247] Method a3: In S301, the first device transmits the first data unit at a second time; in S302, the first device determines to retransmit the first data unit at a third time. The third time is later than the second time, and the interval between the third time and the second time is greater than or equal to a first duration, where the first duration is greater than zero.

[0248] Optionally, the first duration can be used to measure the interval between two times. When the interval between two times is greater than or equal to the first duration, the interval between these two times is considered large; when the interval between two times is less than the first duration, the interval between these two times is considered small. In this case, the interval between the third time and the second time being greater than or equal to the first duration can be interpreted as the interval between the third time and the second time being large.

[0249] Optionally, the first duration can be preset, for example, as specified by the protocol, or stored in the factory settings of the first device or in the SIM card; or, it can be notified to the first device by other devices (e.g., core network equipment or a second device), for example, the second device can notify the first device through higher-layer signaling (e.g., RRC message); or, it can be determined by the first device. The first duration may also have other names, without limitation.

[0250] In some possible approaches, the first duration can be determined by a second timer. Optionally, the first device can start the second timer at a second time; in other words, the start time of the second timer is the second time. Thus, the value of the second timer can be used to determine the first duration. For example, the first duration can be equal to the maximum running time of the second timer. Thus, at a third time, the second timer times out, or the second timer is in a non-running state. Accordingly, the first device determining to retransmit the first data unit at the third time can be replaced by: determining to retransmit the first data unit if the second timer times out, or if the second timer is in a non-running state.

[0251] Optionally, the first device can start the second timer at a second time, which can be replaced by: the first device starting the second timer at the time when the first data unit is delivered to a lower layer of the RLC layer (e.g., the MAC layer); in other words, the start time of the second timer is the time when the first data unit is delivered to a lower layer of the RLC layer (e.g., the MAC layer). Wherein, when the first data unit is divided into multiple segments for transmission, the start time of the second timer can be the time when one byte of the first data unit (or a data unit containing that byte) is delivered to a lower layer of the RLC layer. For example, the start time of the second timer can be the time when the first byte of the first data unit (or a data unit containing the first byte of the first data unit) is delivered to a lower layer of the RLC layer, or it can be the time when the last byte of the first data unit (or a data unit containing the last byte of the first data unit) is delivered to a lower layer of the RLC layer.

[0252] In some implementations, the first duration or the second timer can be configured at the data unit level, meaning each data unit has a corresponding first duration or second timer. For example, the first data unit is RLC SDU#1. When RLC SDU#1 (or any segment of RLC SDU#1) is delivered to a lower layer of the RLC layer, the first device can start a second timer for that RLC SDU#1. When the second timer expires, the first device can consider retransmitting the RLC SDU#1. In one scenario, if only a portion of RLC SDU#1 is transmitted, such as segment #1 of RLC SDU#1, then when the second timer expires, the first device can consider retransmitting segment #1 of RLC SDU#1.

[0253] In other implementations, the first duration or the second timer is configured at the granularity of data unit segments (e.g., segments of an RLC SDU), meaning that each data unit segment (e.g., a segment of an RLC SDU) can correspond to a first duration or a second timer. For example, the first data unit is segment #2 of RLC SDU#1. When segment #2 of RLC SDU#1 is delivered to a lower layer of the RLC layer (e.g., the MAC layer), the first device can start the second timer for segment #2 of RLC SDU#1. When the second timer times out, the first device can consider retransmitting segment #2 of RLC SDU#1.

[0254] Optionally, the second timer may be maintained by the first RLC entity in the first device.

[0255] Optionally, the first device can determine that the first condition is met, thereby determining to retransmit the first data unit at a third time. Here, the first condition is the condition for retransmitting the first data unit. The first condition may have other names, such as retransmission condition, etc., and is not limited thereto. The first device can determine the time when the first condition is met in several possible ways, such as mode b1 or mode b2.

[0256] Method b1: The first device determines that the first condition is met at a fourth time. The fourth time is after the second time, and the interval between the fourth time and the second time is less than the first duration.

[0257] Optionally, mode b1 can be understood as follows: within a first time period after sending the first data unit, the first device determines that the condition for retransmitting the first data unit is met; during the first time period after sending the first data unit, or after the first time period after sending the first data unit, the first device determines to retransmit the first data unit.

[0258] For example, the first device transmits the first data unit at 0ms; the first duration is 5ms. If the first device determines that the first condition is met at 4ms, the first device may determine to retransmit the first data unit at or after 5ms.

[0259] Optionally, in this method b1, the interval between the third time and the second time can be equal to the first duration. In other words, within the first duration after sending the first data unit, the first device determines that the condition for retransmitting the first data unit is met; after the first duration after sending the first data unit, the first device determines to retransmit the first data unit. For example, the first device sends the first data unit at 0 ms; the first duration is 5 ms. If the first device determines that the first condition is met at 4 ms, then the first device can determine to retransmit the first data unit at 5 ms.

[0260] As previously mentioned, the first duration can be determined by a second timer. Optionally, within the first duration following the second time, the second timer either does not time out or is running. For example, when the first duration equals the maximum running duration of the second timer, the second timer either does not time out or is running within the first duration following the second time. In this case, the first device determining that the first condition is met at the fourth time can be replaced by: the first device determining that the first condition is met if the second timer does not time out or if the second timer is running.

[0261] In mode b1, the first device determines that the condition for retransmitting the first data unit is met within a first time period after sending the first data unit; the first device determines to retransmit the first data unit only during or after the first time period after sending the first data unit. Thus, within the first time period after sending the first data unit, the first device may not determine to retransmit the first data unit, thereby avoiding or reducing multiple retransmissions of the first data unit within a short period and minimizing the waste of transmission resources.

[0262] Method b2: The first device determines at a third time that the first condition has been met.

[0263] Optionally, mode b2 can be understood as follows: during a first time period after sending the first data unit, or after a first time period after sending the first data unit, the first device determines that the condition for retransmitting the first data unit is met, and determines to retransmit the first data unit.

[0264] For example, the first device transmits the first data unit at 0ms; the first duration is 5ms. If the first device determines that the first condition is met at 5ms, then the first device may determine to retransmit the first data unit at 5ms.

[0265] For example, the first device transmits the first data unit at 0ms; the first duration is 5ms. If the first device determines that the first condition is met at 6ms, then the first device may determine to retransmit the first data unit at 6ms.

[0266] As previously mentioned, the first duration can be determined by a second timer. Optionally, after the first duration following the second time, the second timer times out or becomes inactive. For example, when the first duration equals the maximum runtime of the second timer, after the first duration following the second time, the second timer times out or becomes inactive. In this case, the first device determining that the first condition is met at a third time can be replaced by: determining that the first condition is met when the second timer times out or when the second timer is inactive.

[0267] In mode b2, during a first time period after sending the first data unit, or after the first time period following the sending of the first data unit, the first device determines that the condition for retransmitting the first data unit has been met, and determines to retransmit the first data unit. Thus, during the first time period after sending the first data unit, the first device may not determine whether to retransmit the first data unit, thereby avoiding or reducing multiple retransmissions of the first data unit within a short period and avoiding or reducing the waste of transmission resources.

[0268] As mentioned above, the first condition is the condition for retransmitting the first data unit. There are several possible implementations of the first condition, such as the condition for determining the retransmission of the first data unit in method a1 or method a2. For example, the first condition may include: the first device receives first feedback information; for details, please refer to the explanation of "the first device receives first feedback information" in method a1, which will not be repeated here. Another example is that the first condition may include: the first device receives first feedback information, and the number of retransmissions of the first data unit is less than a retransmission number threshold; for details, please refer to the explanation of "the first device receives first feedback information, and the number of retransmissions of the first data unit is less than a retransmission number threshold" in method a1, which will not be repeated here. Yet another example is that the first condition may include: the remaining delay of the first data unit is less than or equal to a first time threshold; for details, please refer to the explanation of "the remaining delay of the first data unit is less than or equal to a first time threshold" in method a2, which will not be repeated here. It should be understood that the first condition may also be implemented in other possible ways, without limitation.

[0269] In some possible ways, in way a3, at the third time, the remaining delay of the first data unit is greater than the third threshold.

[0270] The third threshold can be preset, for example, specified by a protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or a second device), for example, the second device can notify the first device through higher-layer signaling (e.g., RRC message); or it can be determined by the first device. The third threshold can also have other names, without limitation.

[0271] Optionally, the third threshold can be used to measure the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the third threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the third threshold, the remaining latency of the first data unit is relatively small.

[0272] Optionally, the third threshold is greater than or equal to zero. For example, the third threshold is zero.

[0273] In some implementations, the remaining delay of the first data unit can be determined based on the first packet loss timer. For details, please refer to the explanation of "the remaining delay of the first data unit can be determined based on the first packet loss timer" in method a2 above, which will not be repeated here.

[0274] In this way, the first device can determine the remaining delay of the first data unit and the third threshold, thereby determining whether the remaining delay of the first data unit is greater than the third threshold. For example, if the remaining delay of the first data unit is 3ms and the third threshold is 0, then the first device can determine that the remaining delay of the first data unit is greater than the third threshold.

[0275] Optionally, the remaining delay of the first data unit being greater than the third threshold may include (or may be replaced by) at least one of the following: the first packet loss timer is running; or, the first packet loss timer has not timed out. Accordingly, "at the third time, the remaining delay of the first data unit is greater than the third threshold" may include (or may be replaced by) at least one of the following: at the third time, the first packet loss timer is running; at the third time, the first packet loss timer has not timed out.

[0276] Specifically, during the operation of the first packet loss timer, the remaining delay of the first data unit can be greater than the third threshold; in other words, before the first packet loss timer expires, the remaining delay of the first data unit can be greater than the third threshold. For example, if the remaining delay of the first data unit is the remaining duration of the first packet loss timer, and the third threshold is 0, then during the operation of the first packet loss timer, the remaining delay of the first data unit can be greater than the third threshold.

[0277] For example, after the first data unit arrives at the buffer of the first device (e.g., the buffer of the first PDCP entity of the first device), the PDCP entity of the first device may start the packet loss timer corresponding to the first data unit. After sending the first data unit, during the operation of the packet loss timer corresponding to the first data unit, the first device may determine to retransmit the first data unit.

[0278] This implementation ensures that the first device will only retransmit the first data unit if the packet loss timer corresponding to the first data unit has not expired. This avoids retransmitting data units whose timers have expired, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization. Furthermore, the first device can reuse the packet loss timer, eliminating the need to add a new timer and reducing the complexity of the first device. Optionally, in this implementation, the importance of the first data unit can be lower than an importance threshold. Thus, if the first data unit is an unimportant data unit or belongs to an unimportant data unit group, the first device will only retransmit the first data unit if the packet loss timer corresponding to the first data unit has not expired. This avoids retransmitting unimportant data units whose timers have expired, further reducing or avoiding waste of transmission resources (e.g., air interface resources) and minimizing or avoiding impact on the decoding of other data units.

[0279] In other implementations, whether the remaining delay of the first data unit is greater than the third threshold can be determined based on the first indication information. The first indication information can be used to indicate that the first data unit should be discarded.

[0280] For example, when the first RLC entity in the first device receives the first indication information, the remaining delay of the first data unit is less than or equal to a third threshold; and / or, when the first RLC entity in the first device does not receive the first indication information, the remaining delay of the first data unit is greater than the third threshold. Thus, the first device can accurately determine whether the remaining delay of the first data unit is greater than the third threshold based on whether the first RLC entity has received the first indication information.

[0281] Optionally, the first indication information can be used to indicate the discarding of the first data unit, and can be replaced by at least one of the following: the first indication information can be used to indicate that the first packet loss timer has timed out; or, the first indication information can be used to indicate that the remaining delay of the first data unit is less than or equal to a third threshold.

[0282] In some designs, the first indication information may be sent from the first PDCP entity to the first RLC entity in the first device. For example, when the first packet loss timer expires, the first PDCP entity may send the first indication information to the first RLC entity.

[0283] The first indication message may have other names, such as packet loss indication, and there are no restrictions.

[0284] Optionally, in this implementation, the remaining delay of the first data unit being greater than the third threshold may include (or may be replaced by): the first RLC entity not receiving the first indication information. Accordingly, "at the third time, the remaining delay of the first data unit being greater than the third threshold" may include (or may be replaced by): at the third time, the first RLC entity not receiving the first indication information.

[0285] Optionally, if the first RLC entity does not receive the first indication information, it can be understood that the first device did not receive the first indication information through the first RLC entity. If the first RLC entity receives the first indication information, it can be understood that the first device received the first indication information through the first RLC entity.

[0286] This implementation ensures that the first device will only retransmit the first data unit if the first RLC entity does not receive the first indication information. This avoids retransmitting data units that should be discarded, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization. Optionally, in this implementation, the importance of the first data unit can be lower than an importance threshold. Thus, if the first data unit is an unimportant data unit or belongs to an unimportant data unit group, the first device will only retransmit the first data unit if the first RLC entity does not receive the first indication information. This avoids retransmitting unimportant and discardable data units, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and reducing or avoiding impact on the decoding of other data units.

[0287] Among some possible approaches, approach a3 can be understood as follows: the first device sends the first data unit at a second time; within a first duration after the second time, the first device either does not determine whether to retransmit the first data unit or determines not to retransmit the first data unit.

[0288] In some implementations, the first device determines that the first condition is met at a fourth time; the first device does not determine whether to retransmit the first data unit at the fourth time, or the first device determines not to retransmit the first data unit at the fourth time. The fourth time is after the second time, and the interval between the fourth time and the second time is less than the first duration. For details regarding the first device determining that the first condition is met at the fourth time, please refer to the explanation of "the first device determines that the first condition is met at the fourth time" in method b1, which will not be repeated here.

[0289] For example, the first device transmits the first data unit at 0ms; the first duration is 5ms. If the first device determines that the first condition is met at 4ms, then at 4ms, the first device may choose not to retransmit the first data unit, or the first device may choose not to retransmit the first data unit.

[0290] Optionally, if the first device determines that the first condition is met at the fourth time, and the first device does not determine that the first condition is met between the fifth time and the third time, then at the third time, the first device either does not determine whether to retransmit the first data unit or determines not to retransmit the first data unit. The fifth time is after the second time, and the interval between the fifth time and the second time is the first duration. That is, if the first device determines that the first condition is met within the first duration after sending the first data unit, and the first device does not determine that the first condition is met from the time corresponding to the first duration after sending the first data unit to the third time, then at the third time, the first device either does not determine whether to retransmit the first data unit or determines not to retransmit the first data unit.

[0291] For example, the first device sends the first data unit at 0ms; the first duration is 5ms. If the first device determines that the first condition is met at 4ms, and the first device does not determine that the first condition is met between 5ms and 6ms, then at 6ms, the first device may choose not to retransmit the first data unit or may choose not to retransmit the first data unit.

[0292] In some implementations, the first duration can be determined by a second timer. In this case, "If the first device determines that the first condition is met at the fourth time, and the first device does not determine that the first condition is met between the fifth and third times, then at the third time, the first device does not determine whether to retransmit the first data unit, or the first device determines not to retransmit the first data unit" can be replaced with: If the first device determines that the first condition is met when the second timer has not expired or the second timer is running, and the first device does not determine that the first condition is met from the time the second timer expires to the third time, then at the third time, the first device does not determine whether to retransmit the first data unit, or the first device determines not to retransmit the first data unit.

[0293] In method a3, the first device determines to retransmit the first data unit only after a first time period following the transmission of the first data unit. Thus, during the first time period after the transmission of the first data unit, the first device can avoid or reduce multiple retransmissions of the first data unit within a short period, thereby avoiding or reducing the waste of transmission resources.

[0294] Optionally, when the first device determines to retransmit the first data unit via mode a3, step S303 is optional. For example, when the first device determines to retransmit the first data unit via mode a3, the method shown in FIG3 may include S301 and S302, and the method shown in FIG3 may or may not include S303.

[0295] Optionally, the first device may also use methods other than a1 to a3 to determine the retransmission of the first data unit, without restriction.

[0296] Optionally, after determining the first data unit to be retransmitted, the first data unit may be a data unit pending for retransmission, such as an RLC PDU pending for retransmission; or, the first data unit may be a data unit considered for retransmission, such as an RLC SDU or a segment of an RLC SDU considered for retransmission.

[0297] S303: If the remaining delay of the first data unit is less than or equal to the third threshold, the first device may stop the retransmission of the first data unit, and / or the first device may discard the first data unit.

[0298] Optionally, the first device may stop the retransmission of the first data unit, which can also be understood as the first device may cancel the retransmission of the first data unit. For example, the first device may cancel the retransmission of the first data unit determined to be retransmitted according to step S302.

[0299] The specific details of the remaining delay of the first data unit and the third threshold can be found in the explanation of the remaining delay and third threshold in S302, and will not be repeated here. Thus, the first device can determine the remaining delay of the first data unit and the third threshold, thereby determining whether the remaining delay of the first data unit is less than or equal to the third threshold. For example, if the remaining delay of the first data unit is 0 ms and the third threshold is 0, then the first device can determine that the remaining delay of the first data unit is less than or equal to the third threshold, thereby canceling the retransmission of the first data unit and / or discarding the first data unit.

[0300] Optionally, when the third threshold is zero, the remaining delay of the first data unit is less than or equal to the third threshold, which can be understood as: the remaining delay of the first data unit is equal to zero. Accordingly, S303 can be understood as: when the remaining delay of the first data unit is zero, the first device may stop the retransmission of the first data unit, and / or, the first device may discard the first data unit.

[0301] In some implementations, the remaining delay of the first data unit can be determined based on the first packet loss timer. For details, please refer to the explanation in S302 that "the remaining delay of the first data unit can be determined based on the first packet loss timer", which will not be repeated here.

[0302] Specifically, if the first packet loss timer times out, the remaining delay of the first data unit can be less than or equal to the third threshold. For example, if the remaining delay of the first data unit is the remaining duration of the first packet loss timer and the third threshold is 0, then if the first packet loss timer times out, the remaining delay of the first data unit can be less than or equal to the third threshold.

[0303] Optionally, in this implementation, "the remaining delay of the first data unit is less than or equal to the third threshold" may include (or may be replaced by) at least one of the following: the first packet loss timer times out; or the first packet loss timer is in a non-running state. Accordingly, S303 may include (or may be replaced by): in the case of the first packet loss timer timeout, the first device may stop the retransmission of the first data unit, and / or the first device may discard the first data unit; or, in the case of the first packet loss timer being in a non-running state, the first device may stop the retransmission of the first data unit, and / or the first device may discard the first data unit.

[0304] In other implementations, whether the remaining delay of the first data unit is greater than the third threshold can be determined based on the first indication information. For details, please refer to the explanation in S302 regarding "whether the remaining delay of the first data unit is greater than the third threshold can be determined based on the first indication information", which will not be repeated here.

[0305] Optionally, in this implementation, the remaining delay of the first data unit being less than or equal to a third threshold may include (or be replaced by) the following: the first RLC entity receiving the first indication information. Accordingly, S303 may include (or be replaced by) the following: if the first RLC entity receives the first indication information, the first device may stop the retransmission of the first data unit, and / or the first device may discard the first data unit.

[0306] The following describes the operations of stopping the retransmission of the first data unit and discarding the first data unit.

[0307] 1. The first device stops retransmitting the first data unit.

[0308] Optionally, the first device may stop the retransmission of the first data unit, which can also be understood as at least one of the following: the first device may determine to cancel the retransmission of the first data unit, for example, the first device may determine to cancel the retransmission of the first data unit determined according to step S302; or, the first device may cancel the retransmission of the first data unit, for example, the first device may cancel the retransmission of the first data unit determined according to step S302.

[0309] In some implementations, after retransmission of the first data unit is stopped, the retransmission status corresponding to the first data unit may change. For example, the retransmission status of the first data unit may change from retransmission (or pending retransmission) to no retransmission. Optionally, the retransmission status of the first data unit may be indicated by variable #1. For example, when the value of variable #1 is a second value (e.g., 1 or 0), the retransmission status of the first data unit is retransmission (or pending retransmission); when the value of variable #1 is a third value (e.g., 0 or 1), the retransmission status of the first data unit is no retransmission. The second and third values ​​are different. Thus, after retransmission of the first data unit is stopped, the first device can change the value of variable #1 from the second value to the third value.

[0310] In other implementations, stopping the retransmission of the first data unit can be understood as: the first device cancels the retransmission pending state of the first data unit, or the retransmission pending state of the first data unit is cancelled. For example, when the first data unit is determined to be retransmitted, such as when the first device determines to retransmit the first data unit (i.e., S302), the first data unit is in a retransmission pending state. If the first device stops the retransmission of the first data unit, then the first device cancels the retransmission pending state of the first data unit, or in other words, the retransmission pending state of the first data unit is cancelled.

[0311] Optionally, if retransmission of the first data unit is stopped, the first data unit can still be stored in the buffer of the first device. Subsequently, if the conditions for discarding the first data unit are met, the first device can discard the first data unit. For example, the first device can remove (or delete) the first data unit from the buffer, thereby discarding the first data unit.

[0312] Using this method, the first device can determine whether to stop retransmitting the first data unit based on the remaining delay of the first data unit. Thus, if the remaining delay of the first data unit is small, for example, if the remaining delay of the first data unit is 0, the first device can stop retransmitting the first data unit, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0313] Optionally, the first device can also determine whether to stop the retransmission of the first data unit based on its importance. For example, if the importance of the first data unit is lower than an importance threshold, i.e., the first data unit is an unimportant data unit or belongs to an unimportant data unit group, and the remaining delay of the first data unit is less than or equal to a third threshold, then the first device can stop the retransmission of the first data unit, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and reducing or avoiding the impact on the decoding of other data units.

[0314] In some possible approaches, if the remaining delay of the first data unit is less than or equal to a third threshold at a first time, the first device may stop retransmitting the first data unit. Here, the first time is the time when the first RLC entity receives the second indication information; or, the first time is the time corresponding to the resource indicated by the second indication information.

[0315] As previously stated, "the remaining delay of the first data unit is less than or equal to the third threshold" may include (or may be replaced by) at least one of the following: the first packet loss timer times out; the first packet loss timer is in a non-running state; or the first RLC entity receives the first indication information. Therefore, this approach can be understood as follows: if, at the first time, the first packet loss timer times out, or the first packet loss timer is in a non-running state, or the first RLC entity receives the first indication information, then the first device may stop the retransmission of the first data unit. The specific content of the first packet loss timer and the first indication information can be referred to in S302 for their respective descriptions, and will not be repeated here.

[0316] The following section explains the first timeframe and, in conjunction with the specific methods used in the first timeframe, explains the operation of stopping the retransmission of the first data unit.

[0317] (1) The first time is the time when the first RLC entity receives the second instruction information.

[0318] The second indication information is used to indicate the availability of resources for transmitting the first data unit. Optionally, the second indication information indicating the availability of resources for transmitting the first data unit can be replaced by indicating the availability of a transmission opportunity, for example, indicating an opportunity to transmit the first data unit. The second indication information may have other names, such as transmission opportunity indication, etc., without limitation.

[0319] For example, at time T1, the first RLC entity receives the second indication information. If at time T1, the remaining delay of the first data unit is less than or equal to a third threshold, for example, if at time T1, the first packet loss timer has expired, or the first RLC entity has received the first indication information, then the first device may stop the retransmission of the first data unit.

[0320] Optionally, the second indication information may be sent by an entity corresponding to a lower layer of the RLC layer (e.g., the MAC layer) to the first RLC entity. For example, when there are resources for transmitting the first data unit, or when there is a transmission opportunity (e.g., when there is a transmission opportunity for transmitting the first data unit), the first MAC entity in the first device may send the second indication information to the first RLC entity.

[0321] Optionally, the first RLC entity receiving the second indication information can be understood as: the first device receiving the second indication information through the first RLC entity.

[0322] Using this method, if the remaining delay of the first data unit is small when the first RLC entity receives the second indication information, the first device can stop the retransmission of the first data unit, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0323] (2) The first time is the time corresponding to the resource (hereinafter referred to as the first resource) used for transmitting the first data unit as indicated by the second indication information.

[0324] The specific content of the second indication information can be found in the explanation of the second indication information above, and will not be repeated here. Optionally, the first time can be the start time (or start transmission time) of the first resource. For example, the first resource indicated by the second indication information can be a transmission resource, which can be a PUSCH, and the first time can be the time corresponding to the first symbol of the PUSCH.

[0325] For example, at time T1, the first RLC entity receives the second indication information. The time corresponding to the first resource indicated by the second indication information is time T2. If at time T2, the remaining delay of the first data unit is less than or equal to a third threshold, for example, if at time T2, the first RLC entity has received or will receive the first indication information, or the first packet loss timer has expired, then the first device may stop the retransmission of the first data unit.

[0326] Using this method, if the remaining delay of the first data unit is small at the time corresponding to the first resource indicated by the second indication information, the first device can stop the retransmission of the first data unit, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0327] Furthermore, there is a time interval between the time the first RLC entity receives the second indication information and the time corresponding to the first resource indicated by the second indication information. After receiving the second indication information, the first device can assemble a MAC PDU containing the first data unit into a packet, and there is also a time interval between the packet assembly time of the MAC PDU containing the first data unit and the time corresponding to the first resource. By determining whether the remaining delay of the first data unit is small at the time corresponding to the first resource, this method can minimize the retransmission of data units with small remaining delays, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0328] The time at which the first device stops retransmitting the first data unit (hereinafter referred to as time #1) can have several possible forms. In some examples, time #1 can be the time when the first RLC entity receives the first indication information. The specific content of the first indication information can be found in the description of the first indication information in S302, and will not be repeated here. For example, the first indication information is a packet loss indication corresponding to the first data unit. In other examples, time #1 can be the time when the first RLC entity receives the second indication information. The specific content of the second indication information can be found in the description of the second indication information above, and will not be repeated here. For example, the second indication information is a transmission opportunity indication corresponding to the first data unit.

[0329] In some implementations, after stopping the retransmission of the first data unit, the first device may not report information about the first data unit (e.g., the data volume and / or latency information of the first data unit). For example, after stopping the retransmission of the first data unit, the information about the first data unit may not be reported via DSR and / or BSR. For instance, the information about the first data unit may not be included in the DSR MAC CE and / or BSR MAC CE.

[0330] In other implementations, if the remaining delay of the first data unit is less than or equal to a third threshold, the first device may not report information about the first data unit (e.g., the amount of data and / or delay information of the first data unit). Optionally, before stopping the retransmission of the first data unit, the first device triggers (or generates, or sends) a report for reporting information about the data unit. If the remaining delay of the first data unit is less than or equal to the third threshold, the first device may not report information about the first data unit. For example, the first device stops the retransmission of the first data unit at the time the first RLC entity receives the second indication information. Before the first RLC entity receives the second indication information, the first device triggers (or generates, or sends) a report for reporting information about the data unit. If the remaining delay of the first data unit is less than or equal to the third threshold, the first device may not report information about the first data unit.

[0331] For example, before stopping the retransmission of the first data unit, the first device triggers (or generates, or sends) a report for reporting information about the data unit. The information about the first data unit may not be reported via DSR and / or BSR. For instance, the information about the first data unit may not be included in the DSR MAC CE and / or BSR MAC CE.

[0332] This implementation allows the first device to trigger (or generate, or send) a report for reporting information about the data unit before stopping the retransmission of the first data unit. The first device can determine whether to report the information based on the remaining delay of the first data unit. For example, when the remaining delay of the first data unit is zero, the first device may not report the information. This implementation avoids or reduces the waste of transmission resources and improves the accuracy of the second device's judgment on the resources required by the first device, thereby improving the effectiveness of resource allocation.

[0333] 2. The first device can discard the first data unit:

[0334] Optionally, the first device may remove (or delete) the first data unit from a buffer (e.g., a retransmission buffer), thereby discarding the first data unit.

[0335] In some implementations, if the remaining delay of the first data unit is less than or equal to the third threshold, and the SN of the first data unit belongs to the transmission window (or, the SN of the first data unit is greater than or equal to the variable Tx_Next_Ack and less than or equal to the variable Tx_Next), then the first device may discard the first data unit. The specific contents of the transmission window, the variable Tx_Next_Ack, and the variable Tx_Next can be found in the explanations of these terms in the terminology section, and will not be elaborated upon here.

[0336] Optionally, if the first device discards the first data unit in S303, then S302 is an optional step. For example, after sending the first data unit (corresponding to S301), the first device may not determine whether to retransmit the first data unit, and discard the first data unit if the remaining delay of the first data unit is less than or equal to a third threshold (corresponding to S303). Alternatively, after sending the first data unit (corresponding to S301), the first device may first determine whether to retransmit the first data unit (corresponding to S302), and discard the first data unit if the remaining delay of the first data unit is less than or equal to the third threshold (corresponding to S303), thereby canceling the retransmission of the first data unit.

[0337] Optionally, the first device may discard the first data unit based on the received first indication information. For example, when the packet loss timer of the first data unit times out, the first PDCP entity will send the first indication information to the first RLC entity to indicate that the first data unit should be discarded. When the first RLC entity receives the first indication information, the first RLC entity may discard the first data unit in the buffer (e.g., retransmission buffer).

[0338] Using this method, the first device can determine whether to discard the first data unit based on its remaining delay. Thus, if the remaining delay of the first data unit is small, for example, 0, or the corresponding packet loss timer times out, the first device can discard the first data unit, thereby releasing the buffer and reducing or avoiding waste of buffer resources. Optionally, if the first device discards the first data unit after determining to retransmit it, the first device can cancel the retransmission of the first data unit by discarding it, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization.

[0339] Optionally, whether to discard the first data unit may be related to the importance of the first data unit. For example, if the importance of the first data unit is lower than the importance threshold, that is, the first data unit is an unimportant data unit or belongs to an unimportant data unit group, the first device may discard the first data unit, thereby reducing or avoiding the waste of transmission resources (e.g., air interface resources) and reducing or avoiding the impact on the decoding of other data units.

[0340] Optionally, in S303, the first device may both stop the retransmission of the first data unit and discard the first data unit. For example, when the first RLC entity receives the first indication information, the first device may both stop the retransmission of the first data unit and discard the first data unit.

[0341] In some examples, the first device may discard the first data unit at the time when retransmission of the first data unit is stopped.

[0342] In other examples, the first device discards the first data unit (e.g., removes the first data unit from the retransmission buffer) after stopping retransmission of the first data unit.

[0343] Among some possible approaches, the method shown in Figure 3 also includes S304:

[0344] S304: The first device acquires the first configuration information.

[0345] The first configuration information is used to configure the first device to determine, when the remaining delay of the first data unit is less than or equal to a third threshold, to cancel the retransmission of the first data unit and / or discard the first data unit. In other words, the first configuration information is used to configure the first device to execute S303. The specific details of the first device determining to cancel the retransmission of the first data unit and / or discard the first data unit when the remaining delay of the first data unit is less than or equal to the third threshold can be found in S303; repeated details will not be elaborated further.

[0346] In some examples, the first device may obtain first configuration information determined by itself. For example, if the first device is an access network device, it may obtain first configuration information determined by itself.

[0347] In other examples, the second device may send first configuration information; correspondingly, the first device may receive the first configuration information.

[0348] As described in S303, the remaining delay of the first data unit being less than or equal to the third threshold may include (or be replaced by) at least one of the following: the first packet loss timer times out; the first packet loss timer is in a non-running state; or, the first RLC entity receives the first indication information. Accordingly, "the first configuration information is used to configure: when the remaining delay of the first data unit is less than or equal to the third threshold, the first device determines to cancel the retransmission of the first data unit and / or discard the first data unit" may include (or be replaced by): the first configuration information is used to configure: when the first packet loss timer times out, or when the first packet loss timer is in a non-running state, or when the first RLC entity receives the first indication information, the first device determines to cancel the retransmission of the first data unit and / or discard the first data unit.

[0349] The initial configuration information can be carried in a traditional message or in a new message, without restriction. For example, the initial configuration information can be carried in downlink control information (DCI), MAC CE, or RRC messages.

[0350] Optionally, S304 precedes S303; the order of S304 and S301 to S302 is not limited. For example, S304 precedes S301.

[0351] In this manner, the first device can, based on the first configuration information, determine whether to cancel the retransmission of the first data unit and / or discard the first data unit if the remaining delay of the first data unit is small. Furthermore, in this method, the first configuration information is sent from the second device to the first device, allowing the second device to flexibly configure or instruct the operation of the first device.

[0352] Among some possible approaches, the method shown in Figure 3 also includes steps S305 to S306:

[0353] S305: The first device determines to send the third instruction information.

[0354] The third indication information can be used to indicate (or trigger, or request) the sending of a status report. Optionally, the third indication information indicating (or triggering, or requesting) the sending of a status report can be understood to include at least one of the following: the third indication information indicating (or triggering, or requesting) the second device to send a status report; the third indication information indicating (or triggering, or requesting) the sending of a status report related to the first data unit; or the third indication information indicating (or triggering, or requesting) the second device to send a status report related to the first data unit. For example, the status report related to the first data unit can be a status report indicating feedback information (e.g., ACK or NACK) of the first data unit. Optionally, the first data unit is a data unit that has not received feedback information, for example, the first data unit is a data unit that has not received any feedback (such as ACK or NACK), or the first data unit is a data unit that has not received ACK.

[0355] Optionally, if the conditions for sending the third instruction information are met, the first device may determine to send the third instruction information.

[0356] In some possible ways, the condition for sending the third instruction information is, for example, the condition for triggering polling information. For the specific details of the condition for triggering polling information, please refer to the explanation of the terminology section above, which will not be repeated here.

[0357] In other possible approaches, the condition for determining to send the third indication information may include: the remaining delay of the first data unit is less than or equal to a first threshold; in other words, if the remaining delay of the first data unit is less than or equal to the first threshold, the first device may determine to send the third indication information. Optionally, the first threshold is greater than zero.

[0358] For example, if the remaining delay of the first data unit is 4ms and the first threshold is 4ms, the first device may determine to send the third indication information.

[0359] The first threshold may be preset, for example, as specified by a protocol, or stored in the factory settings of the first device or in the SIM card; or it may be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device through higher-layer signaling (e.g., RRC message); or it may be determined by the first device. The first threshold may also have other names, without limitation.

[0360] Optionally, the first threshold can be used to measure the magnitude of the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the first threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the first threshold, the remaining latency of the first data unit is relatively small.

[0361] Optionally, the first threshold is greater than the third threshold mentioned above; in other words, the remaining delay of the first data unit equals the time of the first threshold before the remaining delay of the first data unit equals the time of the third threshold. For example, the third threshold is zero, and the first threshold is greater than zero.

[0362] Optionally, the first threshold is greater than the fourth threshold described below; in other words, the remaining delay of the first data unit equals the time of the first threshold before the remaining delay of the first data unit equals the time of the fourth threshold. For example, the fourth threshold is zero, and the first threshold is greater than zero.

[0363] In some possible ways, the remaining delay of the first data unit can be determined by a third timer. Optionally, the first device can start the third timer when the first data unit arrives at the buffer of the first device. In this way, the value of the third timer can be used to determine the remaining delay of the first data unit.

[0364] In some implementations, the third timer can be the packet loss timer corresponding to the first data unit (i.e., the first packet loss timer). Accordingly, the remaining delay of the first data unit can be determined based on the first packet loss timer. For details, please refer to the explanation in S302 that "the remaining delay of the first data unit can be determined based on the first packet loss timer", which will not be repeated here.

[0365] Optionally, in this implementation, if the remaining delay of the first data unit is less than or equal to the first threshold, the first PDCP entity in the first device may send indication information #2 to the first RLC entity in the first device. Indication information #2 is used to indicate that the remaining delay of the first data unit is less than or equal to the first threshold. Upon receiving indication information #2, the first RLC entity in the first device may determine to send third indication information.

[0366] In other implementations, the first threshold may be equal to the maximum runtime of the third timer. Thus, the remaining delay of the first data unit being less than or equal to the first threshold can be replaced by at least one of the following: the third timer times out, or the third timer is not running. In this implementation, the third timer and the first packet loss timer may be different timers; and / or, the third timer and the first timer may be the same timer or different timers. Optionally, in this implementation, the third timer may be maintained by the first RLC entity in the first device.

[0367] Optionally, the buffer of the first device may contain multiple data units, and the first data unit is the data unit with the shortest remaining latency among the multiple data units. When the remaining latency of the first data unit is less than or equal to a first threshold, the first device may determine to send third indication information.

[0368] Optionally, in this method, in addition to the remaining delay of the first data unit being less than or equal to the first threshold, the condition for determining to send the third indication information may also include at least one of conditions d1 to d3:

[0369] Condition d1: No feedback information was received for the first data unit.

[0370] For example, not receiving feedback information corresponding to the first data unit can be understood as: not receiving any feedback information (e.g., ACK or NACK) corresponding to the first data unit, or not receiving ACK corresponding to the first data unit.

[0371] Condition d2: Among the data units to be sent, the amount of data in the data units with remaining delay less than or equal to the first threshold is greater than the data amount threshold #2.

[0372] For example, if the data units to be sent are PDU#1 and PDU#2, and the remaining delay of PDU#1 is less than or equal to the first threshold, and the data volume of PDU#1 is greater than the data volume threshold #2, then condition d2 is satisfied.

[0373] The data volume threshold #2 can be preset, for example, specified by the protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or the second device), for example, it can be indicated by the second device through higher-layer signaling (such as RRC messages); or it can be determined by the first device. The data volume threshold #2 can also have other names, without limitation.

[0374] Condition d3: Among the data units to be sent, the number of data units with remaining delay less than or equal to the first threshold is greater than the number threshold #2.

[0375] For example, if the data units to be sent are PDU#1 to PDU#4, and the remaining delay of PDU#1 to PDU#3 is less than or equal to the first threshold, and the quantity threshold #2 is 2, then condition d3 is satisfied.

[0376] The quantity threshold #2 can be preset, for example, specified by the protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or the second device), for example, it can be indicated by the second device through higher-layer signaling (such as RRC messages); or it can be determined by the first device. The quantity threshold #2 can also have other names, without limitation.

[0377] The third instruction message may have other names, such as polling information, without limitation.

[0378] The third indication information can be carried in a traditional message or in a new message, without restriction. For example, the third indication information can be carried in uplink control information (UCI), MAC CE, or RRC messages.

[0379] S306: If the remaining delay of the first data unit is less than or equal to the fourth threshold, the first device determines to cancel the transmission of the third instruction information.

[0380] The fourth threshold may be preset, for example, specified by a protocol, or stored in the factory settings of the first device or in the SIM card; or it may be notified to the first device by other devices (e.g., core network equipment or a second device), for example, by the second device notifying the first device through higher-layer signaling (e.g., RRC message); or it may be determined by the first device. The fourth threshold may also have other names, without limitation.

[0381] Optionally, the fourth threshold can be used to measure the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the fourth threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the fourth threshold, the remaining latency of the first data unit is relatively small.

[0382] Optionally, the fourth threshold can be greater than or equal to zero. The fourth threshold and the third threshold mentioned above can be the same threshold or different thresholds.

[0383] The specific details regarding the remaining delay of the first data unit being less than or equal to the fourth threshold can be found in S303's description of "the remaining delay of the first data unit being less than or equal to the third threshold," except that the third threshold is replaced with the fourth threshold, and the repetition will not be repeated. Based on this, the remaining delay of the first data unit being less than or equal to the fourth threshold can include (or be replaced by) at least one of the following: the first packet loss timer times out; the first packet loss timer is in a non-running state; or, the first RLC entity receives the first indication information. Accordingly, S306 can include (or be replaced by): in the event of the first packet loss timer timeout, or in the event of the first packet loss timer being in a non-running state, or in the event of the first RLC entity receiving the first indication information, the first device determines to cancel the transmission of the third indication information.

[0384] In some implementations, S306 may include: if each data unit in all data units in the transmit buffer and / or retransmission buffer of the first RLC entity satisfies at least one of the following conditions e1 to e3, the first device may determine to cancel the transmission of the third indication information. Wherein, all data units include the first data unit.

[0385] Condition e1: The packet loss timer corresponding to the data unit times out, or the first RLC entity receives an indication message indicating that the data unit should be discarded.

[0386] Optionally, the third data unit can be any one of the data units. The third data unit can be the first data unit; or the third data unit can be any data unit other than the first data unit. If the packet loss timer corresponding to the third data unit times out, or the first RLC entity receives an indication message indicating that the third data unit should be discarded, then the third data unit satisfies condition e1. The specific content of the indication message indicating that the third data unit should be referred to in S302 for the description of the first indication message, only with the first data unit replaced by the third data unit, and will not be repeated here. For example, the indication message indicating that the third data unit should be a packet loss indication corresponding to the third data unit.

[0387] Condition e2: The remaining delay of the data unit is greater than the first threshold.

[0388] Optionally, the third data unit can be any one of the data units. The specific content of the third data unit can be found in the description of the third data unit in condition e1, and the specific content of the first threshold can be found in the description of the first threshold in S305, and will not be repeated here. If the remaining delay of the third data unit is greater than the first threshold, then the third data unit satisfies condition e2.

[0389] Condition e3: Feedback information corresponding to this data unit has been received.

[0390] Optionally, the third data unit can be any one of the data units. The specific content of the third data unit can be found in the description of the third data unit in condition e1, and will not be repeated here. If the first device receives feedback information from the third data unit, such as NACK or ACK, then the third data unit satisfies condition e3.

[0391] In some implementations, condition e3 can be replaced with: receiving the corresponding ACK. Taking the third data unit as an example again, if the first device receives the ACK for the third data unit, then the third data unit satisfies condition e3;

[0392] In other implementations, condition e3 can be replaced with: receiving the corresponding NACK. Taking the third data unit as an example again, if the first device receives the NACK of the third data unit, then the third data unit satisfies condition e3.

[0393] Optionally, when each data unit in all the data units satisfies at least one of conditions e1 to e3, different data units in all the data units may satisfy the same or different conditions e1 to e3.

[0394] In some examples, the first device may determine to cancel the transmission of the third indication information if each data unit in all data units satisfies at least one of the following conditions e1 to e3. This may include: if all data units satisfy condition e1, the first device may determine to cancel the transmission of the third indication information. For example, all data units include data units #1 to #3. If all data units #1 to #3 satisfy condition e1, the first device may determine to cancel the transmission of the third indication information.

[0395] In other examples, the first device may determine to cancel the transmission of the third indication information if each data unit in all data units satisfies at least one of the following conditions e1 to e3. This may include: if all data units satisfy condition e2, the first device may determine to cancel the transmission of the third indication information. For example, all data units include data units #1 to #3. If all data units #1 to #3 satisfy condition e2, the first device may determine to cancel the transmission of the third indication information.

[0396] In other examples, the first device may determine to cancel the transmission of the third indication information if each data unit in all data units satisfies at least one of the following conditions e1 to e3. This may include: if all data units satisfy condition e3, the first device may determine to cancel the transmission of the third indication information. For example, all data units include data units #1 to #3. If all data units #1 to #3 satisfy condition e3, the first device may determine to cancel the transmission of the third indication information.

[0397] In other examples, the first device may determine to cancel the transmission of the third instruction information if each data unit in all data units satisfies at least one of the following conditions e1 to e3. This may include: if a portion of the data units in all data units satisfy condition e1 and another portion of the data units satisfy condition e2, the first device may determine to cancel the transmission of the third instruction information. For example, the all data units include data units #1 to #3. If data units #1 to #2 all satisfy condition e1 and data unit #3 satisfies condition e2, the first device may determine to cancel the transmission of the third instruction information.

[0398] In some other examples, the first device may determine to cancel the transmission of the third instruction information if each data unit in all data units satisfies at least one of the following conditions e1 to e3. This may include: the all data units comprise three parts of data units, where the first part of the data units satisfies condition e1, the second part of the data units satisfies condition e2, and the third part of the data units satisfies condition e3. For example, the all data units include data units #1 to #3. If data unit #1 satisfies condition e1, data unit #2 satisfies condition e2, and data unit #3 satisfies condition e3, the first device may determine to cancel the transmission of the third instruction information.

[0399] Through this implementation, the first device can accurately determine whether to cancel the transmission of the third indication information. Furthermore, when each data unit in all the data units satisfies at least one of conditions e1 to e3, the first device does not need to receive the status reports corresponding to these data units. In this case, canceling the transmission of the third indication information reduces or avoids the waste of transmission resources (e.g., air interface resources).

[0400] Optionally, the order of S305 to S306 and S301 to S304 is not limited.

[0401] Optionally, S305 to S306 may or may not be combined with S301 to S304. For example, the method shown in FIG3 may include S305 to S306 but not S301 to S304. As another example, the method shown in FIG3 may include S305 to S306 and include one or more of S301 to S304.

[0402] In this way, the first device can determine whether to cancel the transmission of the third indication information based on the remaining delay of the first data unit. Thus, if the remaining delay of the first data unit is small, for example, 0, the first device can cancel the transmission of the third indication information, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization. Furthermore, the third indication information can be used to indicate the transmission of a status report. If the remaining delay of the first data unit is small, for example, 0, even if a status report is received, the first device will not retransmit the first data unit. Therefore, this method can avoid the transmission of invalid status reports.

[0403] Among some possible approaches, the method shown in Figure 3 also includes S307:

[0404] S307: If the remaining delay of the first data unit is greater than the third threshold, the first device may send the fourth data unit.

[0405] For details regarding the remaining delay of the first data unit being greater than the third threshold, please refer to the explanation of "the remaining delay of the first data unit is greater than the third threshold" in S302, which will not be repeated here.

[0406] Optionally, if the remaining delay of the first data unit is greater than the third threshold, it can also be replaced by the first data unit not meeting the conditions in S302 or S303 used to determine not to retransmit (or cancel deduplication) the first data unit.

[0407] The fourth data unit may be the first data unit; or, the fourth data unit may be a segment of the first data unit; or, the first data unit may be a segment of the fourth data unit. For example, when the first data unit is RLC SDU#1, the first device may determine, based on the size of the transmission resource (e.g., the resource indicated by the second indication information), that the fourth data unit may be RLC SDU#1 or a segment of RLC SDU#1. For example, if the size of the transmission resource is greater than the size of RLC SDU#1, then the fourth data unit may be RLC SDU#1. Also, for example, if the size of the transmission resource is less than the size of RLC SDU#1, then the fourth data unit may be a segment of RLC SDU#1.

[0408] Optionally, determining whether the remaining delay of the first data unit is greater than the third threshold time can be based on the time when the second indication information is received. The specific content of the second indication information can be referred to the description of the second indication information in S303 above, and will not be repeated here.

[0409] Figure 4 is a flowchart illustrating a communication method provided in an embodiment of this application. In this method, the first device can determine the delay information indicated by the DSR based on the remaining delay of the retransmitted data unit. As shown in Figure 4, the method may include:

[0410] S401: The first device sends the first data unit.

[0411] For details on S401, please refer to S301; further details will not be provided here.

[0412] S402: The first device determines to retransmit the first data unit.

[0413] For details of S402, please refer to S302; the parts that are repeated will not be repeated here.

[0414] Optionally, if the remaining delay of the first data unit is greater than the third threshold, the first device may determine to retransmit the first data unit. The specific details of the remaining delay of the first data unit and the third threshold can be found in the explanation of the remaining delay of the first data unit and the third threshold in S302, and will not be repeated here.

[0415] S403: The first device sends (or triggers, or generates) DSR MAC CE.

[0416] Optionally, the second device may receive DSR.

[0417] The triggering time of this DSR can be earlier than S402 or later than S402.

[0418] The DSR can be used to indicate first delay information. The first delay information is either the delay information of the first LCH to which the first data unit belongs, or the delay information of the first LCG to which the first data unit belongs. The first delay information is determined based on the remaining delay of the first data unit; correspondingly, the first device can determine the first delay information based on the remaining delay of the first data unit. Optionally, if the remaining delay of the first data unit is greater than a second threshold, the first delay information is determined based on the remaining delay of the first data unit; correspondingly, if the remaining delay of the first data unit is greater than the second threshold, the first device can determine the first delay information based on the remaining delay of the first data unit.

[0419] For example, the first device may send a DSR MAC CE to indicate the DSR, and the remaining delay information in the first delay information may be indicated by the remaining time field in the DSR MAC CE. If the remaining delay of the first data unit is greater than a second threshold, the value of the remaining time field may be determined based on the remaining delay of the first data unit. The specific content of the DSR MAC CE can be found in the explanation of DSR MAC CE in the above-mentioned section on terminology, and will not be repeated here.

[0420] Optionally, the first delay information is determined based on the remaining delay of the first data unit, and can be replaced by: the first delay information is related to (or associated with, or corresponds to) the remaining delay of the first data unit.

[0421] The second threshold can be preset, for example, specified by a protocol, or stored in the factory settings of the first device or in the SIM card; or it can be notified to the first device by other devices (e.g., core network equipment or the second device), for example, it can be indicated by the second device through higher-layer signaling (such as an RRC message); or it can be determined by the first device. The second threshold can also have other names, without limitation.

[0422] Optionally, the second threshold can be used to measure the magnitude of the remaining latency of the first data unit. When the remaining latency of the first data unit is greater than the second threshold, the remaining latency of the first data unit is relatively large; when the remaining latency of the first data unit is less than or equal to the second threshold, the remaining latency of the first data unit is relatively small.

[0423] Optionally, the second threshold is greater than or equal to zero. For example, the second threshold is zero.

[0424] In some implementations, the remaining delay of the first data unit can be determined based on the first packet loss timer. For details, please refer to the explanation in S302 that "the remaining delay of the first data unit can be determined based on the first packet loss timer", which will not be repeated here.

[0425] Optionally, in this implementation, the remaining delay of the first data unit being greater than the second threshold may include (or be replaced by) at least one of the following: the first packet loss timer is running; or, the first packet loss timer has not timed out. Alternatively, the remaining delay of the first data unit being less than or equal to the second threshold may include (or be replaced by) at least one of the following: the first packet loss timer has timed out; or, the first packet loss timer is not running. Optionally, in this case, the second threshold may be zero. For example, the first data unit is PDCP SDU#1 in the first PDCP entity, the packet loss timer corresponding to PDCP SDU#1 has expired, and the remaining delay of PDCP SDU#1 is zero, i.e., the remaining delay of PDCP SDU#1 is the second threshold.

[0426] In other implementations, whether the remaining delay of the first data unit is greater than the second threshold can be determined based on the first indication information. For details, please refer to the explanation in S302 regarding "whether the remaining delay of the first data unit is greater than the third threshold can be determined based on the first indication information," which will not be repeated here. The only difference is that the third threshold is replaced with the second threshold, which will not be elaborated further.

[0427] Optionally, in this implementation, the remaining delay of the first data unit being greater than the second threshold may include (or be replaced by): the first RLC entity not receiving the first indication information. Alternatively, the remaining delay of the first data unit being less than or equal to the second threshold may include (or be replaced by): the first RLC entity receiving the first indication information. Optionally, in this case, the second threshold may be zero. For example, the first data unit is RLC SDU#1 in the first RLC entity. When the packet loss timer corresponding to RLC SDU#1 times out, the remaining delay of RLC SDU#1 is zero, i.e., the remaining delay of RLC SDU#1 is the second threshold. At this time, the first PDCP entity can send the first indication information to the first RLC entity. Based on the received first indication information, the first RLC entity can determine that the packet loss timer of the first data unit has timed out, or determine that the remaining delay of the first data unit is less than or equal to the second threshold.

[0428] In some implementations, when the first delay information is the delay information of the first LCH, and the first data unit is the data unit with the shortest remaining delay among the data units of the first LCH, the first delay information may include the remaining delay of the first data unit.

[0429] For example, the data units in the first LCH cache include data unit #1 and data unit #2. Data unit #1 is the first data unit. The remaining latency of data unit #1 is 5ms; the remaining latency of data unit #2 is 10ms. The latency information of the first LCH may include 5ms. For example, the remaining latency information in the latency information of the first LCH may be 5ms, and the remaining latency word field in the DSR MAC CE corresponding to the latency information of the first LCH may indicate 5ms.

[0430] Optionally, when the DSR is indicated by a DSR MAC CE in a first format, the remaining latency of the first data unit is less than or equal to the remaining latency threshold, and the first data unit is the data unit with the shortest remaining latency among the data units of the first LCH, the first latency information may include the remaining latency of the first data unit.

[0431] For example, the data units in the first LCH cache include: data unit #1 and data unit #2. Data unit #1 is the first data unit. The remaining latency of data unit #1 is 5ms; the remaining latency of data unit #2 is 10ms. The remaining latency threshold is 5ms. The latency information of the first LCH may include 5ms. For example, the remaining latency information in the latency information of the first LCH may be 5ms, and the remaining latency word field in the DSR MAC CE corresponding to the latency information of the first LCH may indicate 5ms.

[0432] In other implementations, when the first delay information is the delay information of the first LCG, and the first data unit is the data unit with the shortest remaining delay among the data units of the first LCG, the first delay information may include the remaining delay of the first data unit. For details, please refer to the above explanation of "when the first delay information is the delay information of the first LCH, and the first data unit is the data unit with the shortest remaining delay among the data units of the first LCH, the first delay information may include the remaining delay of the first data unit," except that the first LCH is replaced with the first LCG, and the repetitive parts will not be repeated. Here, data unit #1 and data unit #2 can belong to the same LCH in the first LCG, or they can be different LCHs in the first LCG. Optionally, data unit #2 can also be a data unit to be retransmitted.

[0433] In some implementations, when the first delay information is the delay information of the first LCH, and the first data unit is the data unit with the shortest remaining delay in a certain delay interval among the data units of the first LCH, the first delay information may include the remaining delay of the first data unit. Optionally, in this implementation, the DSR is indicated by a second format DSR MAC CE. For example, the delay interval corresponding to the first LCH may include: 1~10ms and 10~20ms. The data units buffered by the first LCH include: data unit #1 and data unit #2. Data unit #1 is the first data unit. The remaining delay of data unit #1 is 5ms; the remaining delay of data unit #2 is 9ms. In the delay information of the first LCH, the delay information corresponding to 1~10ms may include 5ms. For example, the remaining delay information corresponding to 1~10ms in the delay information of the first LCH may be 5ms, and the remaining delay field in the DSR MAC CE corresponding to the first LCH and 1~10ms may indicate 5ms.

[0434] In some implementations, when the first delay information is the delay information of the first LCG, and the first data unit is the data unit with the shortest remaining delay in a certain delay interval among the data units of the first LCG, the first delay information may include the remaining delay of the first data unit. Optionally, in this implementation, the DSR is indicated by a second format DSR MAC CE. For details, please refer to the above explanation of "when the first delay information is the delay information of the first LCH, and the first data unit is the data unit with the shortest remaining delay in a certain delay interval among the data units of the first LCH, the first delay information may include the remaining delay of the first data unit", only the first LCH is replaced with the first LCG, and the repeated parts will not be repeated.

[0435] In some possible approaches, when the remaining delay of the first data unit is greater than a second threshold, the first delay information can be determined based on the remaining delay of the first data unit and the remaining delay of the second data unit; correspondingly, the first device can determine the first delay information based on the remaining delay of the first data unit and the remaining delay of the second data unit. Wherein, when the first delay information is the delay information of the first LCH, the second data unit is a data unit in the first LCH that has not been transmitted; or, when the first delay information is the delay information of the first LCG, the second data unit is a data unit in the first LCG that has not been transmitted. That is, when the remaining delay of the first data unit is greater than the second threshold, the first delay information is determined based on the remaining delay of the data unit in the first LCH or the first LCG that has not been transmitted and the remaining delay of the data unit to be retransmitted.

[0436] For example, the data units in the first LCH buffer include data unit #1 and data unit #2. Data unit #1 is the data unit to be retransmitted, with a remaining delay of 5ms; data unit #2 is the data unit that has not been transmitted, with a remaining delay of 10ms. The delay information of the first LCH can be determined based on the remaining delays of data unit #1 and data unit #2. For example, the remaining delay information in the delay information of the first LCH can be 5ms, and the remaining delay word field in the DSR MAC CE corresponding to the delay information of the first LCH can indicate 5ms.

[0437] Optionally, the first LCH in this example can be replaced with the first LCG. Data unit #1 and data unit #2 can be data from the same LCH in the first LCG, or data unit #1 and data unit #2 can be data from different LCHs in the first LCG.

[0438] In some possible ways, the second data unit can be a data unit carrying data, such as a PDCP SDU, or a unit carrying control information, such as a control protocol data unit (control PDU). For example, the control protocol data unit may include a PDCP control PDU and / or an RLC control PDU.

[0439] Currently, the remaining delay information indicated by DSR is determined based on the remaining delay of data units that have not been transmitted, without considering the remaining delay of data units to be retransmitted. As a result, terminals do not report the remaining delay of data units to be retransmitted, causing access network equipment to be unable to schedule resources based on the remaining delay of these data units. The scheduled resources may not meet the requirements of the data units to be retransmitted, thus reducing communication performance.

[0440] In this way, the first delay information reported by the first device is determined based on the remaining delay of the untransmitted data unit and the remaining delay of the data unit to be retransmitted. In this way, when the second device performs resource scheduling, it can take into account the remaining delay of the data unit to be retransmitted, thereby enabling the scheduled resources to meet the needs of the first device and improve communication performance.

[0441] In other possible scenarios, if the first delay information is the delay information of the first LCH, the first LCH does not contain any untransmitted data units; or, if the first delay information is the delay information of the first LCG, the first LCG does not contain any untransmitted data units. In other words, if the remaining delay of the first data unit is greater than the second threshold, even if the first LCH or the first LCG does not contain any untransmitted data units, the first device can still report the delay information of the data units to be retransmitted.

[0442] For example, the data unit in the first LCH buffer is data unit #1. Data unit #1 is the data unit to be retransmitted, and its remaining delay is 5ms. The delay information of the first LCH can be determined based on the remaining delay of data unit #1. For example, the remaining delay information in the delay information of the first LCH can be 5ms, and the remaining delay word field in the DSR MAC CE corresponding to the delay information of the first LCH can indicate 5ms. Optionally, the first LCH in this example can be replaced with the first LCG.

[0443] Currently, if an LCH or LCG contains data units to be retransmitted but no untransmitted data units, the terminal will not report the latency information of that LCH or LCG. This causes the access network device to be unable to schedule resources based on the remaining latency of the data units to be retransmitted, and the scheduled resources may not meet the requirements of the data units to be retransmitted, thus reducing communication performance.

[0444] In this way, if there are data units to be retransmitted in an LCH or LCG, the first delay information reported by the first device can be determined based on the remaining delay of the data units to be retransmitted. For example, the remaining delay information in the first delay information reported by the first device can be determined based on the remaining delay of the data units to be retransmitted. In this way, when the second device performs resource scheduling, it can take into account the remaining delay of the data units to be retransmitted, so that the scheduled resources can meet the needs of the first device and improve communication performance.

[0445] In some implementations, when the first delay information is the delay information of the first LCH, the first delay information may also include first data volume information. The first data volume information is used to indicate the data volume of data units in the first LCH whose remaining delay is less than or equal to the remaining delay threshold, or the first data volume information is used to indicate the data volume of data units in the first LCH whose remaining delay is located in the delay interval corresponding to the first LCH.

[0446] For example, if the DSR is indicated by the first format DSR MAC CE, the first data volume information can be referred to as data volume information #1 in the explanation of terms above, except that LCG#a is replaced with the first LCH, and will not be repeated here. As another example, if the DSR is indicated by the second format DSR MAC CE, the first data volume information can be referred to as data volume information #2 in the explanation of terms above, except that LCG#a is replaced with the first LCH, and will not be repeated here.

[0447] In some examples, the first LCH contains data units to be retransmitted, but no untransmitted data units. If the DSR is indicated by a DSR MAC CE in a first format, the first data volume information is used to indicate the amount of data units in the first LCH that have a remaining delay less than or equal to a remaining delay threshold.

[0448] In other examples, the first LCH contains data units to be retransmitted and control units, but no untransmitted data units. If the DSR is indicated by a DSR MAC CE in a first format, the first data volume information is used to indicate the sum of data volume #a1 and data volume #b1. Data volume #a1 is the data volume of the control unit in the first LCH; data volume #b1 is the data volume of the data units in the first LCH whose remaining delay is less than or equal to the remaining delay threshold.

[0449] In some examples, the first LCH contains data units to be retransmitted, but no untransmitted data units. If the DSR is indicated by a second-format DSR MAC CE, the first data quantity information is used to indicate the amount of data in the data units to be retransmitted in the first LCH whose remaining delay is within the delay interval corresponding to the first LCH. For example, the delay interval corresponding to the first LCH may include 1–10 ms and 10–20 ms. The first data quantity information is used to indicate the amount of data in the data units to be retransmitted in the first LCH whose remaining delay is between 1 and 10 ms, and also to indicate the amount of data in the data units to be retransmitted in the first LCH whose remaining delay is between 10 and 20 ms. Assuming there is a data unit #c to be retransmitted in the first LCH, and the remaining delay of the data unit #c to be retransmitted is 8ms, then in the second format DSR MAC CE, the first buffer size field can be used to indicate the first data volume information. The first buffer size field corresponds to the first LCH and the delay interval 1 to 10ms. The first data volume information is used to report the data volume of the data unit #c to be retransmitted.

[0450] In some examples, the first LCH contains data units to be retransmitted and control units, but no untransmitted data units. If the DSR is indicated by the second format DSR MAC CE, the amount of data for the control unit can be reported through the buffer field corresponding to the delay interval of the data unit to be retransmitted. For example, when the second format DSR MAC CE is used to report the delay information of one or more data units to be retransmitted, the amount of data for the control unit can be reported through the buffer field corresponding to the first delay interval in the second format DSR MAC CE, where the first delay interval is the delay interval corresponding to the data unit with the shortest remaining delay among the data units to be retransmitted in the first LCH. Assuming the first LCH contains data unit #a (remaining delay 5ms) and data unit #b (remaining delay 15ms) to be retransmitted, and control information #c, then the first delay interval is the delay interval corresponding to data unit #a, and the amount of data for control information #c can be reported through the buffer field corresponding to the first delay interval. For example, the latency interval corresponding to the first LCH may include 1–10 ms and 10–20 ms. In the second format DSR MAC CE, the second buffer size field can be used to report the sum of the data volume of the data unit to be retransmitted #a and the data volume of the control unit, and the second buffer size field corresponds to the first LCH and the latency interval 1–10 ms; the third buffer size field can be used to report the data volume of the data unit to be retransmitted #b, and the third buffer size resource corresponds to the first LCH and the latency interval 10–20 ms.

[0451] In some examples, the first LCH contains data units to be retransmitted and control units, but no untransmitted data units. If the DSR is indicated by the second format DSR MAC CE, the data volume of the control unit can be reported through the buffer field corresponding to the second delay interval, which is the delay interval with the smallest delay among the delay intervals corresponding to the first LCH. For example, the delay intervals corresponding to the first LCH may include 1-10ms and 10-20ms. The second delay interval may be 1-10ms. Optionally, in this example, the data units to be retransmitted can also be reported through the buffer field corresponding to the second delay interval. In this case, it is not necessary to consider whether the remaining delay of the data units to be retransmitted is located in a delay interval outside the second delay interval in the delay interval corresponding to the first LCH; in other words, even if the remaining delay of the data units to be retransmitted is located in a delay interval outside the second delay interval in the delay interval corresponding to the first LCH, the first device can still report the data volume of the data units to be retransmitted through the buffer field corresponding to the second delay interval.

[0452] Optionally, when the data volume of the data unit to be retransmitted and the data volume of the control unit are reported through the buffer word field corresponding to the same delay interval (e.g., the second delay interval), the remaining delay information corresponding to that delay interval in the DSR MAC CE can be determined based on the remaining delay of the control unit. For example, the remaining delay of the control unit can be the minimum value that can be taken in the corresponding delay interval, such as 1ms in the range of 1 to 10ms, and the remaining delay information corresponding to that delay interval in the DSR MAC CE can indicate 1ms.

[0453] In other implementations, when the first delay information is the delay information of the first LCG, the first delay information may also include second data volume information. The second data volume information is used to indicate the data volume of data units in the first LCG whose remaining delay is less than or equal to the remaining delay threshold, or, the second data volume information is used to indicate the data volume of data units in the first LCG whose remaining delay is located in the delay interval corresponding to the first LCG. For details, please refer to the above explanation of "the first delay information also includes the first data volume information", except that the first LCH is replaced with the first LCG and the first data volume information is replaced with the second data volume information.

[0454] Through the above implementation, the first delay information reported by the first device can be determined based on the amount of data in the data unit to be retransmitted. In this way, when the second device performs resource scheduling, it can take into account the amount of data in the data unit to be retransmitted, thereby enabling the scheduled resources to meet the needs of the first device and improve communication performance.

[0455] In some possible approaches, if the remaining delay of the first data unit is less than or equal to the second threshold, the first delay information is unrelated to the remaining delay of the first data unit. The specific content regarding "the remaining delay of the first data unit is less than or equal to the second threshold" can be found in the explanation of "the remaining delay of the first data unit is less than or equal to the third threshold" in S303, only with the second threshold replaced by the third threshold, and will not be repeated here.

[0456] For example, the data units in the first LCH buffer include: data unit #1 and data unit #2. Data unit #1 is a data unit to be retransmitted, with a remaining delay of 0ms, or data unit #1 has been instructed (e.g., by first indication information) to stop retransmission or discarded; data unit #2 is a data unit that has not been transmitted, with a remaining delay of 3ms. The delay information of the first LCH can be determined based on the remaining delay of data unit #2. For example, the remaining delay information in the delay information of the first LCH can be 3ms, and the remaining delay word field in the DSR MAC CE corresponding to the delay information of the first LCH can indicate 3ms.

[0457] Alternatively, the first LCH in this example can be replaced with the first LCG.

[0458] In other possible approaches, if the remaining delay of the first data unit is less than or equal to the second threshold, the first delay information may include a fourth value. The fourth value may be, for example, 0ms, 1ms, or the minimum value corresponding to the remaining delay information that the DSR can report. The specific content regarding "the remaining delay of the first data unit is less than or equal to the second threshold" can be found in the explanation of "the remaining delay of the first data unit is less than or equal to the third threshold" in S303, only with the third threshold replaced by the second threshold, and will not be repeated here. Optionally, the minimum value corresponding to the remaining delay information that the DSR can report can be understood as the minimum value that the remaining time field in the DSR MAC CE can report. For example, for the first format of the DSR MAC CE mentioned above, the remaining time field can report a remaining delay of 1-64ms using 6 bits, and the minimum value corresponding to the remaining delay information that the DSR can report is 1ms. For example, for the second format of DSR MAC CE mentioned above, the minimum value of the delay interval with the smallest upper and / or lower limit can be the minimum value corresponding to the remaining delay information that the DSR can report. For example, the delay interval can include 1-10ms and 10-20ms. The minimum value corresponding to the remaining delay information that the DSR can report can be 1ms.

[0459] For example, the data units in the first LCH buffer include: data unit #1 and data unit #2. Data unit #1 is the data unit to be retransmitted, with a remaining delay of 0ms; data unit #2 is the data unit that has not been transmitted, with a remaining delay of 10ms. The first delay information may include a fourth value. The fourth value is, for example, 0ms, or 1ms, or the minimum value corresponding to the remaining delay information that the DSR can report.

[0460] Optionally, if the remaining delay of the first data unit is less than or equal to the second threshold, and there is no untransmitted data in the first LCH or the first LCG, the first delay information may include a fourth value.

[0461] Currently, the remaining latency information indicated by DSR is determined based on the remaining latency of data units that have not been transmitted, without considering the remaining latency of data units to be retransmitted. As a result, terminals do not report the remaining latency of data units to be retransmitted, causing access network equipment to be unable to schedule resources based on the remaining latency of these data units. The scheduled resources may not meet the requirements of the data units to be retransmitted, thus reducing communication performance.

[0462] Using the method shown in Figure 4, the first delay information reported by the first device is determined based on the remaining delay of the data unit to be retransmitted. In this way, when the second device performs resource scheduling, it can consider the remaining delay of the data unit to be retransmitted, thereby ensuring that the scheduled resources meet the needs of the first device and improving communication performance.

[0463] Among some possible approaches, the method shown in Figure 4 also includes S404:

[0464] S404: The second device sends the second configuration information; correspondingly, the first device receives the second configuration information.

[0465] The second configuration information is used to configure the first delay information to be determined based on the remaining delay of the first data unit; in other words, the second configuration information is used to configure the first device to execute S403. Accordingly, after receiving the second configuration information, the first device can determine the first delay information based on the remaining delay of the first data unit; in other words, under the configuration of the second configuration information, if the remaining delay of the first data unit is greater than the second threshold, the first device can determine the first delay information based on the remaining delay of the first data unit; or, the first device can determine the first delay information based on the second configuration information, if the remaining delay of the first data unit is greater than the second threshold, based on the remaining delay of the first data unit.

[0466] Optionally, after receiving the second configuration information, the first delay information may be determined based on the remaining delay of the first data unit, or it may also depend on whether the remaining delay of the first data unit is greater than a second threshold; alternatively, the second configuration information may be configured such that, if the remaining delay of the first data unit is greater than the second threshold, the first delay information can be determined based on the remaining delay of the first data unit. Thus, if the remaining delay of the first data unit is greater than the second threshold, the first device can determine the first delay information based on the remaining delay of the first data unit.

[0467] The specific content of "when the remaining delay of the first data unit is greater than the second threshold, the first delay information is determined based on the remaining delay of the first data unit" can be found in S403, and the repeated parts will not be repeated.

[0468] As described in S403, the remaining delay of the first data unit being greater than the second threshold may include (or may be replaced by) at least one of the following: the first packet loss timer has not expired; the first packet loss timer is in a running state; or, the first RLC entity has not received the first indication information. Accordingly, "the second configuration information is used to configure that, when the remaining delay of the first data unit is greater than the second threshold, the first delay information is determined based on the remaining delay of the first data unit" may include (or may be replaced by): the second configuration information is used to configure that, when the first packet loss timer has not expired, or when the first packet loss timer is in a running state, or when the first RLC entity has not received the first indication information, the first delay information is determined based on the remaining delay of the first data unit.

[0469] In some possible configurations, the second configuration information is also used to configure: when the remaining delay of the first data unit is greater than a second threshold, the first data unit is retransmitted (or retransmitted). Accordingly, after receiving the second configuration information, when the remaining delay of the first data unit is greater than the second threshold, the first device may retransmit (or retransmit) the first data unit; in other words, under the configuration of the second configuration information, when the remaining delay of the first data unit is greater than the second threshold, the first device may retransmit (or retransmit) the first data unit; or, the first device may, according to the second configuration information, retransmit (or retransmit) the first data unit when the remaining delay of the first data unit is greater than the second threshold.

[0470] The specific content of "the remaining delay of the first data unit is greater than the second threshold" can be found in the explanation of "the remaining delay of the first data unit is greater than the third threshold" in S302, except that the third threshold is replaced with the second threshold, and will not be repeated here.

[0471] In other possible embodiments, the second configuration information is also used to configure that the first data unit is not retransmitted (or determined not to retransmit) when the remaining delay of the first data unit is less than or equal to the second threshold. Accordingly, after receiving the second configuration information, the first device does not retransmit (or determines not to retransmit) the first data unit when the remaining delay of the first data unit is less than or equal to the second threshold; in other words, under the configuration of the second configuration information, the first device does not retransmit (or determines not to retransmit) the first data unit when the remaining delay of the first data unit is less than or equal to the second threshold; or, the first device may, according to the second configuration information, not retransmit (or determine not to retransmit) the first data unit when the remaining delay of the first data unit is less than or equal to the second threshold.

[0472] The specific content of "the remaining delay of the first data unit is less than or equal to the second threshold" can be found in the explanation of "the remaining delay of the first data unit is less than or equal to the third threshold" in S303, except that the third threshold is replaced with the second threshold, and will not be repeated here.

[0473] In this manner, the first device can determine whether to retransmit the first data unit based on its remaining delay, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and improving resource utilization. For example, if the remaining delay of the first data unit is small, such as 0, the first device may not retransmit the first data unit. Optionally, if the importance of the first data unit is lower than the importance threshold, i.e., the first data unit is an unimportant data unit or belongs to an unimportant data unit group, the first device may cancel the retransmission of the unimportant data unit, thereby reducing or avoiding waste of transmission resources (e.g., air interface resources) and reducing or avoiding the impact on the decoding of other data units.

[0474] Optionally, the second configuration information can be configured at the entity level (e.g., RLC entity, PDCP entity, or MAC entity), in which case the second configuration information can be effective for the configured entity; or, the second configuration information can be configured for the first device (e.g., terminal), in which case the second configuration information can be effective for the entities in the first device.

[0475] The second configuration information can be carried in a traditional message or in a new message, without restriction. For example, the second configuration information can be carried in a DCI, MAC CE, or RRC message.

[0476] Optionally, S404 precedes S403; the order of S404 and S401 to S402 is not limited. For example, S404 precedes S401.

[0477] In this method, the first device can determine the reported delay information based on the remaining delay of the data unit to be retransmitted, when the remaining delay of the data unit to be retransmitted is greater than a second threshold, according to the second configuration information. Furthermore, in this method, the second configuration information is sent from the second device to the first device, allowing the second device to flexibly configure or instruct the operation of the first device.

[0478] Optionally, the method shown in Figure 4 can be combined with the method shown in Figure 3. In this case, the second configuration information in S404 and the first configuration information in S304 can be the same configuration information or different configuration information. When the second configuration information and the first configuration information are the same configuration information, after obtaining the first configuration information or the second configuration information, the first device can execute either S303 or S403. Optionally, the second threshold and the third threshold can be the same threshold or different thresholds.

[0479] Based on the same technical concept as the above-described method embodiments, this application provides a corresponding communication device that can be used to perform the functions of the relevant steps in the above-described method embodiments. This function can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The communication device can be a terminal or access network device, or it can be a device for a terminal or access network device (e.g., a module, communication module, circuit or chip responsible for communication and / or sensing functions (such as a modem chip, or a SoC chip or SIP chip containing a modem core), chip system, or processor), or it can be a logical node, logical module, or software capable of implementing all or part of the functions of the terminal or access network device.

[0480] In one possible implementation, the communication device provided in this embodiment of the application has the structure shown in FIG5, including a processing unit 502. Optionally, the communication device further includes an interface unit 501. The functions of each unit in the communication device 500 are described below.

[0481] Interface unit 501 is used for inputting and / or outputting information. Input information can be replaced by received information, and output information can be replaced by transmitted information. When outputting information, interface unit 501 can output information to other devices outside of communication device 500, or to other units within communication device 500. In some embodiments, interface unit 501 can be implemented through at least one of a physical interface, a communication module, a communication interface, and an input / output interface. In other embodiments, interface unit 501 can be implemented through an interface circuit, such as a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. Interface unit 501 is used to perform the receiving and transmitting operations in the above method embodiments.

[0482] In this application, the interface unit 501 may also have other names, such as a transceiver unit or a communication unit. Optionally, the interface unit 501 may include a receiving unit and / or a sending unit, used for inputting information and outputting information, respectively. The receiving unit is used to perform the receiving operation in the above method embodiments. The sending unit is used to perform the sending operation in the above method embodiments.

[0483] The processing unit 502 can be used to support the communication device 500 in performing the processing actions in the above method embodiments. The processing unit 502 can be implemented by one or more processors. For example, the processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), microprocessors (MCUs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor. The processing unit 502 is used to perform processing-related operations in the above method embodiments, for example, to instruct operations other than receiving and sending operations in the above method embodiments.

[0484] In one embodiment, the communication device 500 is applied to the first device in the embodiment of this application shown in FIG3. The specific functions of the processing unit 502 in this embodiment will be described below.

[0485] The processing unit 502 is configured to: send a first data unit through the interface unit 501; determine to retransmit the first data unit; stop the retransmission of the first data unit and / or discard the first data unit if the packet loss timer corresponding to the first data unit times out or if the first RLC entity receives the first indication information, wherein the first indication information is used to indicate the discarding of the first data unit.

[0486] In some possible ways, the processing unit 502 is specifically used to: stop the retransmission of the first data unit when the packet loss timer corresponding to the first data unit times out or when the first RLC entity receives the first indication information, wherein the first time is the time when the first RLC entity receives the second indication information, and the second indication information is used to indicate that there are resources for transmitting the first data unit; or, the first time is the time corresponding to the resources.

[0487] Optionally, the processing unit 502 is specifically used to remove the first data unit from the retransmission buffer.

[0488] In some possible ways, the processing unit 502 is also used to: obtain first configuration information, the first configuration information being used to configure: the first device to stop the retransmission of the first data unit and / or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information.

[0489] In some possible ways, the processing unit 502 is further configured to: determine to send third indication information when the remaining delay of the first data unit is less than or equal to the first threshold, the third indication information being used to indicate the transmission status report, the first data unit being a data unit that has not received feedback information; and stop sending the third indication information when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information.

[0490] Optionally, the processing unit 502 is specifically configured to: stop sending the third indication information if each data unit in the transmit buffer and / or retransmission buffer of the first RLC entity satisfies at least one of the following conditions: the packet loss timer corresponding to the data unit times out, or the first RLC entity receives indication information for indicating the discarding of the data unit; the remaining delay of the data unit is greater than a first threshold; or, a positive acknowledgment corresponding to the data unit is received. Wherein, all data units include the first data unit.

[0491] In another embodiment, the communication device 500 is applied to the second device in the embodiment of this application shown in FIG3. The specific functions of the processing unit 502 in this embodiment will be described below.

[0492] The processing unit 502 is configured to: obtain first configuration information, which is used to configure: when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, the first device stops the retransmission of the first data unit and / or discards the first data unit, wherein the first data unit is a data unit that the first device has sent, and the first indication information is used to indicate that the first data unit should be discarded; and send the first configuration information through the interface unit 501.

[0493] In another embodiment, the communication device 500 is applied to the first device in the embodiment of this application shown in FIG4. The specific functions of the processing unit 502 in this embodiment will be described below.

[0494] The processing unit 502 is configured to: send a first data unit through the interface unit 501; determine to retransmit the first data unit; and send a DSR through the interface unit 501. The DSR is used to indicate first delay information, which is the delay information of the first logical channel to which the first data unit belongs, or the delay information of the first logical channel group to which the first data unit belongs. The first delay information is determined based on the remaining delay of the first data unit.

[0495] In some possible ways, the processing unit 502 is also configured to: receive second configuration information through the interface unit 501, the second configuration information being used to configure: the first delay information is determined based on the remaining delay of the first data unit.

[0496] Optionally, the processing unit 502 is further configured to: retransmit the first data unit when the remaining delay of the first data unit is greater than the second threshold according to the second configuration information; and / or, determine not to retransmit the first data unit when the remaining delay of the first data unit is less than or equal to the second threshold according to the second configuration information.

[0497] In another embodiment, the communication device 500 is applied to the second device in the embodiment of this application shown in FIG4. The specific functions of the processing unit 502 in this embodiment will be described below.

[0498] The processing unit 502 is configured to: receive DSR through the interface unit 501, wherein the DSR is used to indicate first delay information, the first delay information being the delay information of the first logical channel to which the first data unit belongs, or the first delay information being the delay information of the first logical channel group to which the first data unit belongs, and the first data unit being the data unit that the first device has transmitted; the first delay information is determined based on the remaining delay of the first data unit.

[0499] In some possible ways, the processing unit 502 is also used to: send second configuration information through the interface unit 501, the second configuration information being used to configure that: the first delay information is determined based on the remaining delay of the first data unit.

[0500] In another embodiment, the communication device 500 is applied to the first device in the embodiment of this application shown in FIG3. The specific functions of the processing unit 502 in this embodiment will be described below.

[0501] The processing unit 502 is configured to: send a first data unit at a second time through the interface unit 501; and determine to retransmit the first data unit at a third time through the interface unit 501, wherein the third time is later than the second time, and the interval between the third time and the second time is greater than or equal to a first duration, and the first duration is greater than zero.

[0502] In some possible ways, the processing unit 502 is also configured to: determine at a fourth time that a first condition is met, the first condition being a condition for retransmitting the first data unit, the fourth time being after the second time, and the interval between the fourth time and the second time being less than a first duration.

[0503] In some other possible ways, the processing unit 502 is also configured to: determine at a third time that a first condition is met, the first condition being a condition for retransmitting the first data unit.

[0504] Optionally, the processing unit 502 is further configured to: determine at a fourth time that a first condition is met, the first condition being a condition for retransmitting the first data unit, the fourth time being after the second time, and the interval between the fourth time and the second time being less than a first duration; and determine at the fourth time not to retransmit the first data unit.

[0505] In some possible ways, the processing unit 502 is also used to: stop the retransmission of the first data unit or discard the first data unit when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, wherein the first indication information is used to indicate the discarding of the first data unit.

[0506] In one possible design, when the communication device 500 is a communication equipment or a communication module within a communication equipment, the functionality of the processing unit 502 can be implemented by one or more processors. For example, the processor may include a modem chip, or a system-on-a-chip (SoC) or SIP chip containing a modem core. The functionality of the interface unit 501 can be implemented by transceiver circuitry.

[0507] In one possible design, when the communication device 500 is a circuit or chip responsible for communication functions in a communication device, such as a modem chip or a system-on-a-chip (SoC) or SIP chip containing a modem core, the function of the processing unit 502 can be implemented by a circuit system in the aforementioned chip that includes one or more processors or processor cores. The function of the interface unit 501 can be implemented by the interface circuit or data transceiver circuit on the aforementioned chip.

[0508] The communication device can be a terminal or an access network device.

[0509] A more detailed description of the processing unit 502 and the interface unit 501 can be obtained directly from the relevant descriptions in the method embodiments shown in Figures 3 and 4, and will not be repeated here.

[0510] It should be noted that the module division in the above embodiments of this application is illustrative and only represents a logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical units, or have two or more units integrated into one unit. The integrated units can be implemented in hardware, as software functional units, or in a combination of hardware and software. Whether a function is executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0511] For example, the functional unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, such as one or more ASICs, one or more CPUs, one or more MCUs, one or more DSPs, or one or more FPGAs, or a combination of at least two of these integrated circuit forms.

[0512] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0513] In one possible implementation, the communication device provided in this application embodiment is shown in FIG6. The communication device 600 includes a processor 602. Optionally, the communication device 600 further includes an interface circuit 601 and a memory 603. The interface circuit 601, the processor 602, and the memory 603 are coupled to each other.

[0514] Optionally, the interface circuit 601, processor 602, and memory 603 are coupled to each other via bus 604. Bus 604 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of illustration, only one thick line is used in Figure 6, but this does not mean that there is only one bus or one type of bus.

[0515] Interface circuit 601 is used for inputting and / or outputting information. Input information can be replaced by received information, and output information can be replaced by transmitted information. When outputting information, interface circuit 601 can output information to other devices outside of communication device 600, or to other units within communication device 600. For example, interface circuit 601 can be implemented through at least one of a physical interface, a communication module, a communication interface, an input / output interface, and a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, an LNA, etc. Interface circuit 601 is used to perform the receiving and transmitting operations in the above method embodiments.

[0516] Interface circuit 601 may be one of the following: a transceiver, a transceiver circuit, a communication circuit, an interface, a communication interface, or an input / output interface (e.g., a chip's input / output interface). Interface circuit 601 may include an input interface circuit and an output interface circuit, used for inputting information and outputting information, respectively. The input interface circuit is used to perform the receiving operation in the above method embodiments. The output interface circuit is used to perform the transmitting operation in the above method embodiments.

[0517] The transceiver can be used for communication with other communication devices. For example, if communication device 600 is a terminal, the transceiver can be used to communicate with access network equipment or with another terminal. As another example, if communication device 600 is an access network device, the transceiver can be used to communicate with a terminal or with another access network device.

[0518] Optionally, the transceiver may include a receiver and / or a transmitter. The receiver is used to perform the receiving operation in the above method embodiments. The transmitter is used to perform the sending operation in the above method embodiments.

[0519] Optionally, the transceiver can be integrated with the processor 602 or exist independently and be coupled to the processor 602 through the interface circuit of the communication device 600. This application embodiment does not specifically limit this.

[0520] Processor 602 can be used to support communication device 600 in performing the processing actions in the above method embodiments. When communication device 600 is used to implement the above method embodiments, processor 602 can also be used to implement the functions of processing unit 502. Processor 602 can be a CPU, or other general-purpose processors, DSPs, ASICs, FPGAs, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. General-purpose processors can be microprocessors or any conventional processor. Processor 602 is used to perform processing-related operations in the above method embodiments, for example, to instruct operations other than receiving and sending operations in the above method embodiments.

[0521] In one embodiment, the communication device 600 is applied to the first device in the embodiment of this application shown in FIG3. The specific functions of the processor 602 in this embodiment are described below.

[0522] The processor 602 is configured to: send a first data unit through the interface circuit 601; determine to retransmit the first data unit; and stop the retransmission of the first data unit or discard the first data unit if the packet loss timer corresponding to the first data unit times out or if the first RLC entity receives the first indication information, wherein the first indication information is used to indicate the discarding of the first data unit.

[0523] In another embodiment, the communication device 600 is applied to the second device in the embodiment of this application shown in FIG3. The specific functions of the processor 602 in this embodiment are described below.

[0524] The processor 602 is configured to: acquire first configuration information, which is configured to: stop the retransmission of the first data unit or discard the first data unit when the packet loss timer corresponding to the first data unit times out or when the first RLC entity receives the first indication information, wherein the first data unit is a data unit that the first device has already sent, and the first indication information is used to indicate that the first data unit should be discarded; and send the first configuration information through the interface circuit 601.

[0525] In another embodiment, the communication device 600 is applied to the first device in the embodiment of this application shown in FIG4. The specific functions of the processor 602 in this embodiment are described below.

[0526] The processor 602 is configured to: send a first data unit through the interface circuit 601; determine to retransmit the first data unit; and send a DSR through the interface circuit 601, wherein the DSR is used to indicate first delay information, the first delay information being the delay information of the first logical channel to which the first data unit belongs, or the first delay information being the delay information of the first logical channel group to which the first data unit belongs, and the first delay information being determined based on the remaining delay of the first data unit.

[0527] In another embodiment, the communication device 600 is applied to the second device shown in FIG4 of this application embodiment. The specific functions of the processor 602 in this embodiment are described below.

[0528] The processor 602 is configured to: receive DSR via interface circuit 601, wherein the DSR is used to indicate first delay information, the first delay information being delay information of the first logical channel to which the first data unit belongs, or the first delay information being delay information of the first logical channel group to which the first data unit belongs, wherein the first data unit is a data unit that has been transmitted by the first device; the first delay information is determined based on the remaining delay of the first data unit.

[0529] In another embodiment, the communication device 600 is applied to the first device shown in FIG3 of this application embodiment. The specific functions of the processor 602 in this embodiment are described below.

[0530] The processor 602 is configured to: transmit a first data unit at a second time via an interface circuit 601; and determine, via the interface circuit 601, to retransmit the first data unit at a third time, wherein the third time is later than the second time, and the interval between the third time and the second time is greater than or equal to a first duration, wherein the first duration is greater than zero.

[0531] The specific functions of processor 602 can be found in the description of the communication methods provided in the above embodiments and examples of this application, as well as the specific functional description of communication device 500 in the embodiment of this application shown in Figure 5, which will not be repeated here.

[0532] Memory 603 is used to store program instructions and / or data. Specifically, program instructions may include program code, which includes computer operation instructions. Memory 603 may include RAM and may also include non-volatile memory, such as at least one disk storage device. Processor 602 executes the program instructions stored in memory 603 and uses the data stored in memory 603 to implement the above-mentioned functions, thereby realizing the communication method provided in the embodiments of this application. Memory 603 may be integrated with processor 602 or may be a memory outside the communication device.

[0533] It is understood that the memory 603 in Figure 6 of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be RAM, which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0534] Based on the above embodiments, this application also provides a computer program product including computer-executable instructions, which, when run, causes the methods provided in the above embodiments to be executed.

[0535] Based on the above embodiments, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a computer, causes the computer to perform the methods provided in the above embodiments.

[0536] The storage medium can be any available medium that a computer can access. For example, but not limited to, a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.

[0537] Based on the above embodiments, this application also provides a chip for reading a computer program stored in a memory and implementing the method provided in the above embodiments.

[0538] Based on the above embodiments, this application provides a chip system including a processor for supporting a computer device in implementing the functions involved in the devices in the above embodiments. In one possible design, the chip system further includes a memory for storing necessary programs and data of the computer device. The chip system may be composed of chips or may include chips and other discrete components.

[0539] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0540] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.

[0541] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.

[0542] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0543] In this application, the terms "system" and "network" are used interchangeably. "At least one item" refers to one or more items, and "more than one item" refers to two or more items. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. In the textual description of this application, the character " / " generally indicates that the objects before and after it are in an "or" relationship. For example, A / B can mean A or B, where A and B can be singular or plural.

[0544] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Additionally, the numbering of steps in the various embodiments described in this application is only for distinguishing different steps and is not intended to limit the order of steps.

[0545] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.

[0546] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0547] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0548] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

[0549] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A communication method, characterized in that, Applied to a first device, the method includes: Send the first data unit; Determine to retransmit the first data unit; If the packet loss timer corresponding to the first data unit times out, or if the first radio link control (RLC) entity receives the first indication information, the retransmission of the first data unit is stopped, and / or the first data unit is discarded, wherein the first indication information is used to indicate that the first data unit is discarded.

2. The method as described in claim 1, characterized in that, If the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the retransmission of the first data unit is stopped, including: If the packet loss timer corresponding to the first data unit times out at the first moment, or if the first RLC entity receives the first indication information, then the retransmission of the first data unit is stopped. Wherein, the first time is the time when the first RLC entity receives the second indication information, the second indication information being used to indicate the availability of resources for transmitting the first data unit; or, the first time is the time corresponding to the resource.

3. The method as described in claim 1, characterized in that, Discarding the first data unit includes: Remove the first data unit from the retransmission buffer.

4. The method according to any one of claims 1 to 3, characterized in that, Also includes: The device receives first configuration information, which is used to configure the following: when the packet loss timer corresponding to the first data unit times out, or when the first RLC entity receives the first indication information, the device stops the retransmission of the first data unit and / or discards the first data unit.

5. The method according to any one of claims 1 to 4, characterized in that, Also includes: If the remaining delay of the first data unit is less than or equal to the first threshold, it is determined to send third indication information. The third indication information is used to indicate the sending of a status report, and the first data unit is a data unit that has not received feedback information. If the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the transmission of the third indication information shall be stopped.

6. The method as described in claim 5, characterized in that, If the packet loss timer corresponding to the first data unit times out, or if the first RLC entity receives the first indication information, the transmission of the third indication information shall be stopped, including: The transmission of the third indication information shall be stopped if each data unit in the transmit buffer and / or retransmission buffer of the first RLC entity satisfies at least one of the following conditions, wherein all data units include the first data unit: The packet loss timer corresponding to the data unit times out, or the first RLC entity receives an indication message indicating that the data unit should be discarded; The remaining delay of the data unit is greater than the first threshold; or A positive response was received for the data unit.

7. A communication method, characterized in that, Applied to a second device, the method includes: Obtain first configuration information, which is used to configure: when the packet loss timer corresponding to the first data unit times out, or when the first radio link control (RLC) entity receives the first indication information, the first device stops the retransmission of the first data unit and / or discards the first data unit, wherein the first data unit is a data unit that the first device has sent, and the first indication information is used to indicate that the first data unit should be discarded. Send the first configuration information.

8. A communication method, characterized in that, Applied to a first device, the method includes: Send the first data unit; Determine to retransmit the first data unit; A Delay Status Report (DSR) is sent, which indicates first delay information. The first delay information is the delay information of the first logical channel to which the first data unit belongs, or the first delay information is the delay information of the first logical channel group to which the first data unit belongs. The first delay information is determined based on the remaining delay of the first data unit.

9. The method as described in claim 8, characterized in that, The first delay information is determined based on the remaining delay of the first data unit and the remaining delay of the second data unit. Wherein, when the first delay information is the delay information of the first logical channel, the second data unit is a data unit that has not been transmitted in the first logical channel; or, when the first delay information is the delay information of the first logical channel group, the second data unit is a data unit that has not been transmitted in the first logical channel group.

10. The method as described in claim 8, characterized in that, When the first delay information is the delay information of the first logical channel, the first logical channel does not contain any data units that have not been transmitted; or, when the first delay information is the delay information of the first logical channel group, the first logical channel group does not contain any data units that have not been transmitted.

11. The method as described in claim 10, characterized in that, When the first delay information is the delay information of the first logical channel, the first delay information further includes first data volume information, which is used to indicate the data volume of data units in the first logical channel whose remaining delay is less than or equal to the remaining delay threshold; or, the first data volume information is used to indicate the data volume of data units in the first logical channel whose remaining delay is located in the delay interval corresponding to the first logical channel. or, When the first delay information is the delay information of the first logical channel group, the first delay information further includes second data volume information, which is used to indicate the data volume of data units in the first logical channel group whose remaining delay is less than or equal to the remaining delay threshold; or, the second data volume information is used to indicate the data volume of data units in the first logical channel group whose remaining delay is located in the delay interval corresponding to the first logical channel group.

12. The method according to any one of claims 8 to 11, characterized in that, The first delay information is determined based on the remaining delay of the first data unit, and includes: When the first delay information is the delay information of the first logical channel, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel, the first delay information includes the remaining delay of the first data unit; or When the first delay information is the delay information of the first logical channel group, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel group, the first delay information includes the remaining delay of the first data unit.

13. The method according to any one of claims 8 to 12, characterized in that, Also includes: Receive the second configuration information. The second configuration information is used to configure that the first delay information is determined based on the remaining delay of the first data unit.

14. The method as described in claim 13, characterized in that, Also includes: According to the second configuration information, when the remaining delay of the first data unit is greater than the second threshold, the first data unit is retransmitted; and / or According to the second configuration information, when the remaining delay of the first data unit is less than or equal to the second threshold, it is determined that the first data unit will not be retransmitted.

15. A communication method, characterized in that, Applied to a second device, the method includes: Receive Delay Status Report (DSR), the DSR being used to indicate first delay information, the first delay information being delay information of a first logical channel to which the first data unit belongs, or the first delay information being delay information of a first logical channel group to which the first data unit belongs, the first data unit being a data unit that has been transmitted by the first device, and the first delay information being determined based on the remaining delay of the first data unit.

16. The method as described in claim 15, characterized in that, The first delay information is determined based on the remaining delay of the first data unit and the remaining delay of the second data unit. Wherein, when the first delay information is the delay information of the first logical channel, the second data unit is a data unit that has not been transmitted in the first logical channel; or, when the first delay information is the delay information of the first logical channel group, the second data unit is a data unit that has not been transmitted in the first logical channel group.

17. The method as described in claim 15, characterized in that, When the first delay information is the delay information of the first logical channel, the first logical channel does not contain any data units that have not been transmitted; or, when the first delay information is the delay information of the first logical channel group, the first logical channel group does not contain any data units that have not been transmitted.

18. The method as described in claim 17, characterized in that, When the first delay information is the delay information of the first logical channel, the first delay information further includes first data volume information, which is used to indicate the data volume of data units in the first logical channel whose remaining delay is less than or equal to the remaining delay threshold; or, the first data volume information is used to indicate the data volume of data units in the first logical channel whose remaining delay is located in the delay interval corresponding to the first logical channel. or, When the first delay information is the delay information of the first logical channel group, the first delay information further includes second data volume information, which is used to indicate the data volume of data units in the first logical channel group whose remaining delay is less than or equal to the remaining delay threshold; or, the second data volume information is used to indicate the data volume of data units in the first logical channel group whose remaining delay is located in the delay interval corresponding to the first logical channel group.

19. The method according to any one of claims 15 to 18, characterized in that, The first delay information is determined based on the remaining delay of the first data unit, and includes: When the first delay information is the delay information of the first logical channel, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel, the first delay information includes the remaining delay of the first data unit; or When the first delay information is the delay information of the first logical channel group, and the first data unit is the data unit with the shortest remaining delay among the data units of the first logical channel group, the first delay information includes the remaining delay of the first data unit.

20. The method according to any one of claims 15 to 19, characterized in that, Also includes: Send second configuration information, which is used to configure that the first delay information is determined based on the remaining delay of the first data unit.

21. The method as described in claim 20, characterized in that, Also includes: The second configuration information is also used to configure that when the remaining delay of the first data unit is greater than the second threshold, the first data unit is retransmitted. and / or The second configuration information is also used to configure that when the remaining delay of the first data unit is less than or equal to the second threshold, the first data unit will not be retransmitted.

22. A communication device, characterized in that, Includes units for performing the method as described in any one of claims 1-21.

23. A communication device, characterized in that, Includes a processor for executing computer programs or instructions that cause the apparatus to perform the method as described in any one of claims 1-21.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions, which, when executed, implement the method as described in any one of claims 1-21.

25. A computer program product, characterized in that, The computer program product includes: computer program code, wherein when the computer program code is run, the method as described in any one of claims 1-21 is implemented.