Data transmission method and device

A data transmission method using timers and state variables addresses delays in existing systems by managing data based on count values, enhancing decoding efficiency.

JP2025532039AInactive Publication Date: 2025-09-29HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025515668
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-30
Filing Date
2023-09-21
Publication Date
2025-09-29
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In existing communication systems, data transmission to the receiving end is delayed due to in-order delivery at the PDCP layer, affecting decoding efficiency.

Method used

Implementing a data transmission method that includes starting timers and managing state variables to timely process, transmit, or discard data based on count values, reducing delays and enabling immediate decoding.

Benefits of technology

The method reduces data transmission delays by allowing timely processing and transmission of data, ensuring prompt decoding at the receiving end.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025532039000001_ABST
    Figure 2025532039000001_ABST
Patent Text Reader

Abstract

This application discloses a data transmission method and apparatus, which relates to the field of communication technologies. In the method, a communication device may obtain first data in a first data set, start a first timer, and update a first state variable to a first count value when the first timer expires. The first state variable indicates a count value of a first piece of data waiting to be transmitted, the first count value being greater than a maximum count value, and data corresponding to the first count value has not been received, and the maximum count value is a count value of data with the maximum count value in a second data set, or the maximum count value is a count value of data with the maximum count value among the received data in the second data set. In this way, when the first timer expires, the communication device no longer waits to transmit data corresponding to the first state variable before updating, but can wait to transmit data with a count value greater than the maximum count value, thereby reducing delays in data transmission and allowing the receiving end to perform decoding as soon as possible.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to Patent Application No. 202211214775.X, entitled "Data Transmission Method and Apparatus," filed with the State Intellectual Property Office of China on September 30, 2022, the entire contents of which are incorporated herein by reference. The present application relates to the field of communication technology, and in particular to a data transmission method and device. [Background technology]

[0002] In a communication system, data transmission can be performed between a transmitting end and a receiving end through a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a medium access control (MAC) layer, and a physical (PHY) layer.

[0003] Specifically, after data arrives at the PDCP layer at the transmitting end, the PDCP layer associates the data with a count value (COUNT) and obtains a PDCP protocol data unit (PDU) after performing certain processing. The least significant bit of the COUNT (i.e., a sequence number (SN)) is included in the PDCP PDU header. The PDCP layer at the transmitting end then delivers the PDCP PDU to the RLC layer at the transmitting end, which then transmits the PDCP PDU to the receiving end via the MAC layer at the transmitting end and the PHY layer at the transmitting end. After receiving the data, the PHY layer at the receiving end delivers the data to the PDCP layer at the receiving end via the MAC layer at the receiving end and the RLC layer at the receiving end. After receiving the PDCP PDU, the PDCP layer at the receiving end determines the COUNT associated with the PDCP PDU, performs in-order delivery based on the COUNT, and delivers the data to an upper layer (e.g., a service data adaptation protocol (SDAP) layer or a radio resource control (RRC) layer). However, if the PDCP layer at the receiving end performs in-order delivery according to the prior art, the delay in delivering data to the upper layer is relatively large, and the decoding at the receiving end is affected. Summary of the Invention

[0004] The embodiments of the present application provide a data transmission method and apparatus for reducing the delay in transmitting data to a receiving end, so that the receiving end can perform decoding as soon as possible.

[0005] To achieve the above objectives, the following technical solutions are used in the embodiments of this application.

[0006] According to a first aspect, there is provided a data transmission method. The method may be executed by a communication device; may be executed by a module used in the communication device, such as a chip, a chip system, or a circuit; or may be implemented by a logic module or software capable of implementing all or part of the functions of the communication device. This is not limited. For ease of explanation, an example in which the method is executed by the communication device will be used below for explanation. The method includes: obtaining first data in a first data set and starting a first timer; and, when the first timer expires, performing one or more of the following actions: updating a first state variable to a first count value; transmitting at least one received data whose count value is greater than a maximum count value; discarding the first data set or transmitting the first data set; or discarding data whose count value is less than a minimum count value or transmitting data whose count value is less than a minimum count value, wherein the first count value is greater than the maximum count value, data corresponding to the first count value is not received, and the first state variable is indicates a count value of the first data item waiting to be transmitted; the count values ​​of at least one data item are consecutive, and the at least one data item includes a data item whose count value is the maximum count value + 1; the minimum count value is the count value of the data item with the minimum count value in the first data set, or the minimum count value is the count value of the data item with the minimum count value in the received data in the first data set; and the maximum count value is the count value of the data item with the maximum count value in the second data set, or the maximum count value is the count value of the data item with the maximum count value in the received data in the second data set.

[0007] Based on the method provided in the first aspect, when the first timer is exceeded, the communication device can process the data in a timely manner to reduce the delay in data transmission by the communication device, so that the communication device can perform decoding as soon as possible.

[0008] For example, the communication device updates the first state variable to the first count value, so that the communication device does not need to wait for data whose count value is less than the first count value, thereby avoiding a case where the transmitting end stops transmitting data in the second data set but the communication device is still waiting to receive data in the second data set, thereby reducing the delay in transmitting data (e.g., subsequent data) by the second communication device, so that the communication device can perform decoding as soon as possible.

[0009] For example, the communication device transmits at least one received but untransmitted data whose count value is greater than the maximum count value, so that the communication device can transmit data whose count value is greater than the maximum count value in a timely manner, reducing the delay in data transmission by the communication device and enabling the communication device to perform decoding as soon as possible.

[0010] For example, the first data set is discarded or the first data set is transmitted, so that the communication device can discard the first data set in a timely manner or transmit the first data set in a timely manner, reducing the time the communication device waits to receive data, thereby reducing the delay in data transmission by the communication device and allowing the communication device to perform decoding as soon as possible.

[0011] For example, data whose count value is less than the minimum count value is discarded, or data whose count value is less than the minimum count value is transmitted, so that the communication device can discard data whose count value is less than the minimum count value in a timely manner, or transmit data whose count value is less than the minimum count value in a timely manner, thereby reducing the time the communication device waits to receive data, thereby reducing delays in data transmission by the communication device, and allowing the communication device to perform decoding as soon as possible.

[0012] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0013] Based on the above possible implementations, if the first data set includes all of the data in the second data set, the communication device may transmit data after the first data set; or if the first data set includes some of the data in the second data set, the communication device may transmit data after the second data set.

[0014] In a possible implementation, the first data is the first acquired data in the first data set.

[0015] Based on the above possible implementation, the communication device may start a first timer when acquiring data in the first data set for the first time, and monitor the transmission status of the data in the first data set.

[0016] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0017] Based on the above possible implementations, the communication device may control the maximum length of time for receiving data based on different granularity, for example, by using a data burst as the granularity to control the maximum length of time for receiving data, or by using a protocol data unit as the granularity to control the maximum length of time for receiving data.

[0018] In a possible implementation, the first timer is associated with the first data set.

[0019] Based on the above possible implementations, the communication device may start a timer by using the data set as the granularity.

[0020] In a possible implementation, the method further comprises: stopping the first timer when a first condition is met, where the first condition includes any one or more of: the first data set or the second data set is discarded; or data in the first data set or data in the second data set is transmitted; or data in the first data set or data in the second data set is not present in the receive buffer; or the first state variable is greater than a maximum count value.

[0021] Based on the above possible implementation, when the first condition is met, the communication device may stop the first timer, avoiding meaningless execution of the first timer and reducing the load / complexity of maintaining the timer by the second terminal device.

[0022] In a possible implementation, the method further comprises: starting a second timer, wherein the second timer is associated with a third data set, the third data set being different from the first data set.

[0023] Based on the above possible implementation, the communication device may start a second timer to monitor the transmission status of the data in the third data set.

[0024] In a possible implementation, the step of starting the second timer includes the step of: starting the second timer if no data in the third data set is acquired, wherein the count value of the data with the maximum count value in the third data set is less than the minimum count value.

[0025] Based on the above possible implementations, the transmission status of the data in the third data set can be monitored in a timely manner.

[0026] In a possible implementation, the duration of the second timer is less than the duration of the first timer.

[0027] Based on the above possible implementation, since the count value of the data associated with the second timer is smaller than the count value of the data associated with the first timer, the data associated with the second timer should be transmitted before the data associated with the first timer. In this case, the time at which the data associated with the second timer is discarded by the transmitting end should be earlier than the time at which the data associated with the first timer is discarded by the transmitting end. Therefore, the time length of the second timer is set to be shorter than the time length of the first timer, to prevent the communication device from waiting unnecessarily.

[0028] In a possible implementation, discarding the first data set or transmitting the first data set includes: discarding the first data set when a packet loss rate corresponding to the first data set is greater than or equal to a first threshold; or transmitting the first data set when a packet loss rate corresponding to the first data set is less than a first threshold.

[0029] Based on the above possible implementation, the communication device may determine whether to discard the first data set based on a packet loss rate corresponding to the first data set.

[0030] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received data whose count value is less than the minimum count value includes: discarding data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a second threshold; or transmitting received data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the second threshold.

[0031] Based on the above possible implementation, the communication device may determine whether to discard data based on a packet loss rate corresponding to data whose count value is less than a minimum count value.

[0032] In a possible implementation, the data whose count value is less than the minimum count value and the first data set belong to the same data burst.

[0033] According to a second aspect, a data transmission method is provided. The method may be executed by a communication device; may be executed by a module used in the communication device, such as a chip, a chip system, or a circuit; or may be implemented by a logic module or software capable of implementing all or part of the functions of the communication device. This is not limited. For ease of explanation, an example in which the method is executed by the communication device will be used below for explanation. The method includes: obtaining first data in a first data set and starting a third timer; and, when the third timer expires, performing one or more of the following actions: updating a first state variable to a second count value; transmitting at least one received data item whose count value is greater than the count value of the first data item; discarding the first data set or transmitting the first data item; or discarding data whose count value is less than a minimum count value or transmitting received data whose count value is less than the count value of the first data item, wherein the second count value is greater than the count value of the first data item and no data corresponding to the second count value is received, and the first state variable indicates the count value of the first data item waiting to be transmitted; The count values ​​of at least one data are consecutive, and the at least one data includes a data whose count value is the maximum count value + 1, or the at least one data includes a data whose count value is the count value of the first data + 1; the maximum count value is the count value of the data with the maximum count value in the second data set, or the maximum count value is the count value of the data with the maximum count value in the received but untransmitted data in the second data set; the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received but untransmitted data in the first data set.

[0034] Based on the method provided in the second aspect, when the third timer is exceeded, the communication device may timely discard data that may not be received (unreceived data in the first data set and / or unreceived data whose count value is smaller than the minimum count value), or may timely transmit received data (e.g., the first data and / or received data whose count value is smaller than the count value of the first data), and / or may timely update the first state variable, and not continue to wait for data waiting to be transmitted that may not be received, thereby reducing delay in data transmission by the second communication device. In addition, when the second condition is met, the second communication device may stop the third timer to avoid meaningless execution of the first timer and reduce the load / complexity of maintaining the timer by the second terminal device.

[0035] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0036] Based on the above possible implementations, if the first data set includes all of the data in the second data set, the communication device may transmit data after the first data set; or if the first data set includes some of the data in the second data set, the communication device may transmit data after the second data set.

[0037] In a possible implementation, the second count value is greater than the maximum count value.

[0038] Based on the above possible implementations, the communication device may timely transmit data whose count value is greater than or equal to the second count value.

[0039] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0040] In a possible implementation, the third timer is associated with the first data.

[0041] Based on the above possible implementations, the communication device may start a timer by using the data as the granularity.

[0042] In a possible implementation, the method further comprises: stopping the third timer when a second condition is met, wherein the second condition includes any one or more of: the first data is discarded; or the first data set or the second data set is discarded; or the first data is transmitted; or data in the first data set or data in the second data set is transmitted; or the first data is not present in the receiving buffer; or data in the first data set or data in the second data set is not present in the receiving buffer; or the first state variable is greater than a count value of the first data; or the first state variable is greater than a maximum count value.

[0043] Based on the above possible implementation, when the second condition is met, the communication device may stop the third timer, avoiding meaningless execution of the first timer and reducing the load / complexity of maintaining the timer by the second terminal device.

[0044] In a possible implementation, the method further comprises: starting a fourth timer, where the fourth timer is associated with second data, the second data being different from the first data.

[0045] Based on the above possible implementation, the communication device may start a fourth timer and monitor the transmission status of the second data.

[0046] In a possible implementation, starting the fourth timer includes: starting the fourth timer if the second data is not acquired, where the count value of the second data is less than the count value of the first data.

[0047] Based on the above possible implementations, the transmission status of the second data can be monitored in a timely manner.

[0048] In a possible implementation, the duration of the fourth timer is less than the duration of the third timer.

[0049] Based on the above possible implementation, since the second data should be transmitted before the first data, the time at which the second data is discarded by the transmitting end should be earlier than the time at which the first data is discarded by the transmitting end, so the time length of the fourth timer associated with the second data is set to be shorter than the time length of the third timer associated with the first data, to prevent the communication device from waiting unnecessarily.

[0050] In a possible implementation, discarding the first data set or transmitting the first data includes: discarding the first data set if a packet loss rate corresponding to the first data set is greater than or equal to a third threshold; or transmitting the first data if a packet loss rate corresponding to the first data set is less than a third threshold.

[0051] Based on the above possible implementation, the communication device may determine whether to discard the first data set based on a packet loss rate corresponding to the first data set.

[0052] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received data whose count value is less than the count value of the first data includes: discarding data whose count value is less than the minimum count value if the packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a fourth threshold; or transmitting received data whose count value is less than the count value of the first data if the packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the fourth threshold.

[0053] Based on the above possible implementation, the communication device may determine whether to discard data based on a packet loss rate corresponding to data whose count value is less than a minimum count value.

[0054] According to a third aspect, a communication device for implementing the above method is provided. The communication device may be the communication device of the first aspect or a device including the communication device; it may be a module in the communication device of the first aspect, such as a chip, chip system, or circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device. Alternatively, the communication device may be the communication device of the second aspect or a device including the communication device of the second aspect; it may be a module in the communication device of the second aspect, such as a chip, chip system, or circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device. The communication device includes corresponding modules, units, or means for implementing the above method. The modules, units, or means may be implemented by hardware, software, or hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions.

[0055] Referring to the third aspect, in a possible implementation, a communication device may include a processing module and a receiving module. The processing module may be configured to implement the processing function according to any one of the above aspects and any one of the possible implementations of the above aspects. The processing module may be, for example, a processor. The receiving module may also be referred to as a receiving unit and is configured to implement the receiving function according to any one of the above aspects and any one of the possible implementations of the above aspects. The receiving module may include a receiving circuit, a receiver, a receiver, or a communication interface.

[0056] According to a fourth aspect, there is provided a communication device including a processor. The processor is coupled to a memory and configured to read instructions from the memory and then execute a method according to any one of the above aspects based on the instructions. The communication device may be the communication device according to the first aspect or a device including the communication device; it may be a module in the communication device according to the first aspect, such as a chip, a chip system, or a circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device. Alternatively, the communication device may be the communication device according to the second aspect or a device including the communication device according to the second aspect; it may be a module in the communication device according to the second aspect, such as a chip, a chip system, or a circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device.

[0057] Referring to the fourth aspect, in a possible implementation, the communication device further comprises a memory, the memory being configured to store necessary program instructions and data.

[0058] Referring to the fourth aspect, in a possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, the communication device may comprise a chip, or may comprise a chip and other discrete components.

[0059] According to a fifth aspect, there is provided a communication device comprising a processor and an interface circuit. The interface circuit is configured to receive a computer program or instructions and transmit the computer program or instructions to the processor. The processor is configured to execute the computer program or instructions to enable the communication device to perform a method according to any one of the above aspects. The communication device may be the communication device of the first aspect or a device including the communication device; it may be a module in the communication device of the first aspect, such as a chip, chip system, or circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device. Alternatively, the communication device may be the communication device of the second aspect or a device including the communication device of the second aspect; it may be a module in the communication device of the second aspect, such as a chip, chip system, or circuit; or it may be implemented by a logic module or software capable of implementing part or all of the functions of the communication device.

[0060] Referring to the fifth aspect, in a possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, the communication device may comprise a chip, or may comprise a chip and other discrete components.

[0061] According to a sixth aspect, there is provided a computer-readable storage medium storing instructions that, when executed on a computer, enable the computer to perform a method according to any one of the above aspects.

[0062] According to a seventh aspect, there is provided a computer program product comprising instructions, which when running on a computer enable the computer to carry out a method according to any one of the above aspects.

[0063] According to an eighth aspect, a data transmission method is provided. The method may be executed by a first communication device / a second communication device; may be executed by a module used in the first communication device / a second communication device, such as a chip, a chip system, or a circuit; or may be implemented by a logic module or software that can implement all or part of the functions of the first communication device / a second communication device. This is not limited. For ease of explanation, an example in which the method is executed by the first communication device and the second communication device is used below for explanation. The method includes: a first communication device transmitting first data in a first data set to a second communication device; the second communication device obtaining the first data and starting a first timer, and when the first timer expires, the second communication device performing one or more of the following actions: updating a first state variable to a first count value; transmitting at least one received but untransmitted data whose count value is greater than a maximum count value; discarding the first data set or transmitting the first data set; or discarding data whose count value is less than a minimum count value or transmitting data whose count value is less than the minimum count value, wherein the first count value is greater than the maximum count value and corresponds to the first count value. the count value of at least one piece of data is consecutive, and the at least one piece of data includes a piece of data whose count value is the maximum count value + 1; the minimum count value is the count value of the piece of data with the minimum count value in the first data set, or the minimum count value is the count value of the piece of data with the minimum count value in the first data set that has been received but not yet transmitted; the maximum count value is the count value of the piece of data with the maximum count value in the second data set, or the maximum count value is the count value of the piece of data with the maximum count value in the received data in the second data set.

[0064] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0065] In a possible implementation, the first data is the first acquired data in the first data set.

[0066] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0067] In a possible implementation, the first timer is associated with the first data set.

[0068] In a possible implementation, the method further comprises: the second communication device stopping the first timer when a first condition is met, wherein the first condition includes any one or more of: the first data set or the second data set is discarded; or data in the first data set or data in the second data set is transmitted; or data in the first data set or data in the second data set is not present in the receive buffer; or the first state variable is greater than a maximum count value.

[0069] In a possible implementation, the method further comprises: the second communication device starting a second timer, wherein the second timer is associated with a third data set, the third data set being different from the first data set.

[0070] In a possible implementation, the step of the second communication device starting the second timer comprises: if no data in the third data set is acquired, the second communication device starting the second timer, wherein the count value of the data with the maximum count value in the third data set is less than the minimum count value.

[0071] In a possible implementation, the duration of the second timer is less than the duration of the first timer.

[0072] In a possible implementation, discarding the first data set or transmitting received but untransmitted data in the first data set includes: discarding the first data set when a packet loss rate corresponding to the first data set is greater than or equal to a first threshold; or transmitting received but untransmitted data in the first data set when a packet loss rate corresponding to the first data set is less than a first threshold.

[0073] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received but untransmitted data whose count value is less than the minimum count value includes: discarding data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a second threshold; or transmitting received but untransmitted data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the second threshold.

[0074] In a possible implementation, the data whose count value is less than the minimum count value and the first data set belong to the same data burst.

[0075] According to a ninth aspect, a data transmission method is provided. The method may be executed by a first communication device / a second communication device; may be executed by a module used in the first communication device / a second communication device, such as a chip, a chip system, or a circuit; or may be implemented by a logic module or software that can implement all or part of the functions of the first communication device / a second communication device. This is not limited. For ease of explanation, an example in which the method is executed by the first communication device and the second communication device is used below for explanation. The method includes: a first communication device transmitting first data in a first data set to a second communication device; the second communication device obtaining the first data in the first data set and starting a third timer; and, when the third timer expires, the second communication device performing one or more of the following actions: updating a first state variable to a second count value; transmitting at least one received but uncommunicated data whose count value is greater than the count value of the first data; discarding the first data set or transmitting the first data; or discarding data whose count value is less than a minimum count value or transmitting received but uncommunicated data whose count value is less than the count value of the first data, wherein the second count value is greater than the count value of the first data and the data corresponding to the second count value is The first state variable indicates a count value of the first data item waiting to be transmitted; the count values ​​of at least one data item are continuous, and the at least one data item includes a data item whose count value is the maximum count value + 1, or the at least one data item includes a data item whose count value is the count value of the first data item + 1; the maximum count value is the count value of the data item with the maximum count value in the second data set, or the maximum count value is the count value of the data item with the maximum count value in the second data set that has been received but not transmitted; the minimum count value is the count value of the data item with the minimum count value in the first data set, or the minimum count value is the count value of the data item with the minimum count value in the first data set that has been received but not transmitted.

[0076] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0077] In a possible implementation, the second count value is greater than the maximum count value.

[0078] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0079] In a possible implementation, the third timer is associated with the first data.

[0080] In a possible implementation, the method further comprises: the second communication device stopping the third timer when a second condition is met, wherein the second condition includes any one or more of: the first data being discarded; or the first data set or the second data set being discarded; or the first data being transmitted; or data in the first data set or data in the second data set being transmitted; or the first data not being present in the receiving buffer; or data in the first data set or data in the second data set not being present in the receiving buffer; or the first state variable being greater than a count value of the first data; or the first state variable being greater than a maximum count value.

[0081] In a possible implementation, the method further comprises: the second communication device starting a fourth timer, wherein the fourth timer is associated with second data, the second data being different from the first data.

[0082] In a possible implementation, the step of the second communication device starting the fourth timer includes: if the second data is not acquired, the second communication device starting the fourth timer, wherein the count value of the second data is smaller than the count value of the first data.

[0083] In a possible implementation, the duration of the fourth timer is less than the duration of the third timer.

[0084] In a possible implementation, discarding the first data set or transmitting the first data includes: discarding the first data set if a packet loss rate corresponding to the first data set is greater than or equal to a third threshold; or transmitting the first data if a packet loss rate corresponding to the first data set is less than a third threshold.

[0085] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received but untransmitted data whose count value is less than the count value of the first data includes: discarding data whose count value is less than the minimum count value if the packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a fourth threshold; or transmitting received but untransmitted data whose count value is less than the count value of the first data if the packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the fourth threshold.

[0086] For technical effects achieved by any one of the possible implementations of the third to ninth aspects, please refer to the technical effects achieved by the first and second aspects, or any one of the different possible implementations of the first or second aspects, and the details will not be described again here.

[0087] It can be understood that the solutions in the above aspects can be combined provided that the solutions are not inconsistent. [Brief explanation of the drawings]

[0088] [Figure 1-1] Figure 1A is a diagram of the structure of a GOP, and Figure 1B is a diagram of a protocol stack. [Figure 1-2] FIG. 1C is a first diagram of the relationship between PDUs and service data units (SDUs). [Figure 1-3] FIG. 1D is a diagram of a PDU. [Figure 1-4] FIG. 1E is a diagram of the count values. [Figure 2] Figure 2A is a first diagram of the transmission of PDCP PDUs, and Figure 2B is a second diagram of the transmission of PDCP PDUs. [Figure 3] 1 is a diagram of an architecture of a communication system according to an embodiment of the present application; [Figure 4] 1 is a diagram of a hardware structure of a communication device according to an embodiment of the present application; [Figure 5] 1 is a first schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 6] FIG. 10 is a diagram of data transmission by a second communication device according to an embodiment of the present application. [Figure 7] 2 is a second schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 8] 3 is a third schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 9A] 4 is a fourth schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 9B] 5 is a fifth schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 10] 1 is a diagram of the structure of a communication device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0089] In order to better understand the embodiments of the present application, before describing the embodiments of the present application, the terms used in the present application will first be briefly described. It can be understood that the explanations and descriptions are intended to make the embodiments of the present application easier to understand, and should not be construed as limitations on the scope of protection claimed in the embodiments of the present application.

[0090] 1. Extended reality (XR): XR can be a variety of environments that combine the real world and the virtual world and are generated by computing technology, wearable devices, and human-computer interaction. It mainly includes real-world-virtual world interaction technologies such as virtual reality (VR), augmented reality (AR), and mixed reality (MR). In order to improve the interaction experience between humans and the virtual world, XR services have strict requirements for bandwidth and latency.

[0091] For example, during downlink transmission, the encoder of the server generates data content at a fixed frequency (e.g., 60 Hz or 120 Hz) and transmits the data content to the XR terminal through the core network and the RAN. For example, during uplink transmission, the XR terminal may capture an image of the current scene through a built-in camera and continuously upload the image of the current scene to the server at a specific frequency (e.g., 60 Hz or 120 Hz).

[0092] For example, XR services generally generate data periodically at a certain frame rate. For example, service models for XR-type services in the downlink direction generally include AR / VR and cloud gaming CG. The AR / VR frame rate may be 60 fps, specifically, 60 frames of video images are generated per second, with one video frame appearing approximately every 16.66 ms. Alternatively, the AR / VR frame rate may be 120 fps, specifically, 120 frames of video images are generated per second, with one video frame appearing approximately every 8.33 ms. The CG frame rate may be 60 fps or 120 fps, specifically, 60 frames of video images are generated per second, or 120 frames of video images are generated per second. For example, the latency requirement of an XR service may be 10 ms, 30 ms, or the like.

[0093] In addition, in a practical transmission system, data jitter occurs due to data encoding delay and network transmission delay. Generally, the jitter is considered to follow a truncated normal distribution, and the truncated range can be approximately [-4ms, 4ms].

[0094] For example, for XR video services, images may be encoded using a GOP encoding method and / or a slice encoding method during encoding. For example, in the slice encoding method, one video frame may include one I-slice and one or more P-slice. For example, in the GOP encoding method, one GOP may include one I-frame, or one GOP may include one I-frame and one or more P-frames. Optionally, a GOP may further include a B-frame. For example, an I-frame is an intra-encoded frame (which may also be referred to as an intra-encoded frame, a key frame, a critical frame, or the like), and is a reference frame for P-frames and / or B-frames, and has independent encoding and decoding functions. For example, a P-frame is a forward-predicted frame (which may also be referred to as a forward-predicted encoded frame, a forward reference frame, a dependent frame, a non-key frame, or the like). When a P-frame is decoded, the nearest previous I-frame or P-frame needs to be referenced, and the P-frame may be a reference frame for the subsequent P-frame and / or B-frame. For example, a B-frame is a bidirectionally interpolated prediction frame, which may also be referred to as a dependent frame, a non-key frame, or the like. When a B-frame is decoded, the previous closest I-frame or P-frame and the following closest P-frame need to be referenced. For example, an I-frame is a complete picture, and a P-frame records changes relative to the I-frame. Without an I-frame, a P-frame cannot be decoded. Therefore, the transmission priority of an I-frame must be higher than that of a P-frame. Even if a subsequent video frame (e.g., a P-frame) that depends on an I-frame is successfully transmitted, if the I-frame fails to be transmitted during transmission (e.g., if the I-frame delay requirement is met, the I-frame fails to be transmitted), the receiving side still cannot implement accurate decoding. FIG. 1A is a diagram of a GOP structure according to an embodiment of the present application. As shown in FIG. 1A, one GOP sequence (e.g., one GOP#1 or one GOP#2) includes one I-frame and multiple P-frames.

[0095] For example, a data burst, which may also be referred to as a data burst, is a set of PDUs generated and transmitted by an application within a short period of time (eg, a data set of multiple PDUs generated and transmitted by an application within a short period of time).

[0096] For example, a PDU set may include one or more PDUs, each of which carries on the payload of an information unit generated at the application level (e.g., a PDU set is composed of one or more PDUs carrying the payload of one unit of information generated at the application level (e.g., a frame or a video slice for an XRM service as used in TR26.926

[27] ). For example, a PDU set may include a frame or a slice. For example, one PDU set may include one frame or one slice.

[0097] For example, in some implementations, the application layer needs all PDUs in a PDU set to use the corresponding information unit, or the application layer needs all PDUs in a PDU set to obtain (decode) or use the corresponding information unit. For example, in other implementations, when some PDUs are lost, the application layer can still recover all or part of the information unit. (In some implementations, all PDUs in a PDU set are needed by the application layer to use the corresponding unit of information. In other implementations, when some PDUs are lost, the application layer can still recover some or all of the information unit.)

[0098] Optionally, one data burst includes at least one PDU set.

[0099] For example, data burst 1 may be associated with one or more data bursts, and one or more data bursts need to depend on data burst 1. If data burst 1 is discarded, one or more data bursts may not be decodable. For example, PDU set 1 may be associated with one or more PDU sets, and one or more PDU sets need to depend on PDU set 1. If PDU set 1 is discarded, one or more PDU sets may not be decodable.

[0100] 2. New Radio (NR) Protocol Architecture: The NR protocol architecture in the present embodiment can be divided into a user plane protocol stack and a control plane protocol stack. The two protocol stacks are described in detail below with reference to FIG. 1B. FIG. 1B is described by using the interaction between a terminal device and a base station as an example, where FIG. 1B (a) shows the user plane protocol stack and FIG. 1B (b) shows the control plane protocol stack.

[0101] The user plane protocol stack is a protocol cluster used for user data transmission. As shown in FIG. 1B(a), the user plane protocol stack may include five layers: a PHY layer, a MAC layer, an RLC layer, a PDCP layer, and an SDAP layer.

[0102] The control plane protocol stack architecture is a protocol stack used for system control signaling transmission. As shown in Figure 1B(b), the control plane protocol stack may include a non-access stratum (NAS), an RRC layer, a PDCP layer, an RLC layer, a MAC layer, and a PHY layer.

[0103] For example, the PHY layer may be responsible for one or more of encoding and decoding, modulation and demodulation, multi-antenna mapping, and other physical layer functions. For example, the MAC layer may be responsible for one or more of hybrid automatic repeat request (HARQ), uplink scheduling, downlink scheduling, and the like. For example, the RLC layer may be responsible for one or more of segmentation, reassembly, retransmission processing, and the like. For example, the PDCP layer may be responsible for one or more of header compression / decompression, security (encryption and integrity protection functions), retransmission, in-order delivery, and the like. For example, the RRC layer may be responsible for one or more of functions such as broadcasting, paging, RRC connection management, radio bearer control, mobility management, and terminal device measurement reporting and control. For example, the NAS layer may be responsible for one or more of functions such as identity verification, mobility management, and security control.

[0104] For the user plane protocol stack, the NR protocol stack has an additional SDAP layer compared to the long term evolution (LTE) protocol stack. For the control plane protocol stack, the NR protocol stack is similar to the LTE protocol stack.

[0105] Optionally, in the embodiment of the present application, each layer in the protocol stack can be replaced by an entity. For example, the PDCP layer can be replaced by a PDCP entity, and the SDAP layer can be replaced by an SDAP entity. Here, a unified description is provided, and details are not described below.

[0106] 3. PDU and SDU (service data unit): In each protocol layer (e.g., any one or more of the SDAP layer, RRC layer, PDCP layer, RLC layer, and MAC layer), the SDU in the Nth layer corresponds to the PDU in the upper layer. In other words, the PDU in the current layer is the SDU in the lower layer, and the SDU in the current layer is the PDU in the upper layer.

[0107] Referring to FIG. 1C and FIG. 1D, the following describes in detail the relationship between PDU and SDU by using the interaction between a terminal device and a base station as an example.

[0108] 1C is a diagram of the relationship between PDUs and SDUs in protocol layers according to an embodiment of the present application. As shown in FIG. 1C, for the transmitting end, after the RRC layer generates signaling to be transmitted (e.g., an RRC message or an RRC PDU), or after the SDAP layer obtains data to be transmitted, the RRC layer may deliver the signaling to the corresponding PDCP layer, or the SDAP layer may deliver the data to the corresponding PDCP layer. For ease of explanation, signaling will be referred to / replaced as data below. For data received from the RRC layer or the SDAP layer (e.g., PDCP SDUs), the PDCP layer may perform specific processing or may not perform processing to obtain the PDCP PDU, and then deliver the PDCP PDU to the RLC layer corresponding to the PDCP layer. For data received from the PDCP layer (e.g., RLC SDUs), the RLC layer may perform specific processing or may not perform processing to obtain the RLC PDU, and then deliver the RLC PDU to the corresponding MAC layer. For data (e.g., MAC SDUs) received from the RLC layer, the MAC layer may obtain MAC PDUs with or without performing specific processing, and then convey the MAC PDUs to the PHY layer, which may or may not perform specific processing and performs air interface transmission.

[0109] Correspondingly, at the receiving end, after receiving data (e.g., a transport block (TB)), the PHY layer delivers the data to the MAC layer. For data received from the PHY (e.g., a TB or a MAC PDU), the MAC layer may obtain a MAC SDU with or without performing specific processing, and then deliver the MAC SDU to the corresponding RLC layer. For data received from the MAC layer (e.g., an RLC PDU), the RLC layer may obtain an RLC SDU with or without performing specific processing, and then deliver the RLC SDU to the corresponding PDCP layer. For data received from the RLC layer (e.g., a PDCP PDU), the PDCP layer may obtain a PDCP SDU with or without performing specific processing, and then deliver the PDCP SDU to the RRC layer or the SDAP layer. For data received from the PDCP layer (e.g., RRC messages or RRC PDUs), which may also be referred to as signaling, the RRC layer performs RRC decoding or ASN.1 decoding to determine the meaning of the received data. Alternatively, for data received from the PDCP layer (e.g., SDAP PDUs), the SDAP layer may obtain SDAP SDUs with or without performing specific processing, and then convey the SDAP PDUs to an upper layer (e.g., application layer).

[0110] For the transmission and reception of data (or signaling), data may be encapsulated / processed at each layer accordingly, or transmitted transparently. For example, at the transmitting end, data received by a layer from a higher layer is referred to as an SDU, and data transmitted by a layer to a lower layer is referred to as a PDU. For a layer, the data received from a higher layer and the data transmitted to a lower layer may be the same (e.g., transmitted transparently) or different (e.g., data received from a higher layer is encapsulated / processed at the layer to obtain data transmitted to a lower layer). For example, data received by a PDCP layer from a higher layer is referred to as a PDCP SDU, and data transmitted by the PDCP layer to a lower layer is referred to as a PDCP PDU; data received from a higher layer by an RLC layer is referred to as an RLC SDU, and data transmitted by the RLC layer to a lower layer is referred to as an RLC PDU; data received by a MAC layer from a higher layer is referred to as a MAC SDU, and data transmitted by the MAC layer to a lower layer is referred to as a MAC PDU). For example, at the receiving end, data received by a layer from a lower layer is referred to as a PDU, and data transmitted by a layer to a higher layer is referred to as an SDU. For a layer, the data received from a lower layer and the data transmitted to a higher layer may be the same (e.g., transmitted transparently) or different (e.g., data received from a lower layer is processed in the layer to obtain data transmitted to a higher layer). For example, data received by a PDCP layer from a lower layer is referred to as a PDCP PDU, and data transmitted by the PDCP layer to a higher layer is referred to as a PDCP SDU; data received by an RLC layer from a lower layer is referred to as an RLC PDU, and data transmitted by the RLC layer to a higher layer is referred to as an RLC SDU; data received by a MAC layer from a lower layer is referred to as a MAC PDU or TB, and data transmitted by the MAC layer to a higher layer is referred to as a MAC SDU.

[0111] The upper layer and the lower layer in this embodiment of the present application are relative concepts. For example, the RLC layer is used as an example. For the RRC layer, the RLC layer may be a layer below the RRC layer, while for the MAC layer, the RLC layer may be a layer above the MAC layer. In another example, the layer below the PDCP layer may include any one or more of the PHY layer, the MAC layer, and the RLC layer. In another example, the layer above the PDCP layer may include any one or more of the RRC layer, the SDAP layer, and the application layer.

[0112] FIG. 1D is a diagram of a PDCP PDU according to an embodiment of the present application, where (a) in FIG. 1D shows a PDCP data PDU format for a signaling radio bearer (SRB), (b) in FIG. 1D shows a PDCP data PDU format for a 12-bit PDCP SN, and (c) in FIG. 1D shows a PDCP data PDU format for a data radio bearer (DRB) with an 18-bit PDCP SN.

[0113] At the transmitting end, for data (e.g., PDCP SDUs) received from the SDAP layer or RRC layer, the PDCP layer may perform specific processing (e.g., any one or more of header compression, encryption, integrity protection, and PDCP PDU header addition), or may obtain the PDCP PDU without performing any processing.

[0114] A PDCP PDU may include at least one of the following information (or fields): SN, reserved bit R, PDU type, data, and a message authentication code for integrity (MAC-I).

[0115] For example, the SN field may be used to indicate information about the SN of a PDCP PDU or a PDCP SDU. For example, the number of bits (or the number of occupied bits) of the SN field may be 12 bits or 18 bits.

[0116] For example, the R field is a reserved bit.

[0117] For example, the PDU type field may be used to indicate whether the PDCP PDU is a PDCP data PDU or a PDCP control PDU. For example, the PDU type may be represented by D / C. For example, the number of bits (or the number of occupied bits) of the PDCP type field may be 1 bit.

[0118] For example, the data field may include any one or more of a PDCP service data unit (SDU), a compressed PDCP SDU, and an uncompressed PDCP SDU. For example, data may be represented by data. For example, a data field may be represented by a data field. It should be noted that the data in the data field may be encrypted or unencrypted. For example, any one or more of a PDCP SDU, a compressed PDCP SDU, and an uncompressed PDCP SDU may include user plane data and / or control plane data. For example, the number of bits (or the number of occupied bits) of the data field may be variable. For example, the number of bits (or the number of occupied bits) of the data field may be X bytes or 8×Y bits, where X and / or Y may be positive integers.

[0119] For example, the MAC-I field may be used for integrity protection. For example, the number of bits (or the number of occupied bits) of the MAC-I field may be 32 bits.

[0120] For the PDCP layer, PDUs can be classified into two types: data PDUs and control PDUs. PDCP data PDUs can carry control plane data and / or user plane data. PDCP control PDUs can mainly carry any one or more of robust header compression (ROHC) feedback, Ethernet header compression (EHC) feedback, and PDCP status reports.

[0121] 4. PDCP Operation: COUNT may be used for one or more of the following functions: integrity protection and integrity verification, encryption and decryption, header compression and decompression, in-order delivery, and duplicate discard. For example, after encrypting a data packet by using COUNT, the transmitting end transmits the encrypted data packet to the receiving end, and the receiving end needs to decrypt the data packet based on COUNT. Each PDCP PDU is associated with a COUNT, where COUNT is 32 bits. As shown in FIG. 1E, COUNT may include two parts: a hyperframe number (HFN) in the most significant bits and a PDCP sequence number (SN) in the least significant bits. The length of the PDCP SN is configured by an upper layer (e.g., the RRC layer) or a network device, and the length of the HFN varies with the length of the PDCP SN. For example, the length of the PDCP SN may be 12 bits or 18 bits. Correspondingly, the length of the HFN may be (32-PDCP SN size) bits, where PDCP SN size is the number of bits corresponding to the length of the PDCP SN. For example, if the PDCP SN size is 12 bits, the length of the HFN is (32-12) bits, i.e., 20 bits.

[0122] To avoid air interface overhead, the PDCP PDU does not include the complete COUNT, but only the least significant bits of the COUNT (ie, the SN).

[0123] 4.1 Operations to be Performed after a PDCP Data PDU is Received.

Table 1

[0124] The reordering window size is 2 (X-1) equal to, where X represents the number of bits corresponding to the length of the SN. For example, RX_DELIV indicates the COUNT of the first PDCP SDU that has not been transmitted to the upper layer but is still waiting. For example, the initial value of RX_DELIV is 0. In addition, “>=” represents “greater than or equal to”.

[0125] The receiving end (e.g., the receiving PDCP entity) determines the COUNT of the PDCP data PDU based on the PDCP HFN of the PDCP data PDU and the PDCP SN of the PDCP data PDU obtained through calculation, where COUNT may be referred to as RCVD_COUNT.

[0126] For example, after determining the COUNT of the PDCP data PDU, the receiving end (e.g., the receiving PDCP entity) may perform one or more of the following: (1) perform decryption and integrity verification on the PDCP data PDU by using COUNT = RCVD_COUNT; if the integrity verification fails, indicate the integrity verification failure to the upper layer (such as the RRC layer), and / or discard the PDCP data PDU; and, (2) if RCVD_COUNT < RX_DELIV, or if the PDCP data PDU with COUNT = RCVD_COUNT has been received previously, discard the PDCP data PDU.

[0127] If the received PDCP data PDU with COUNT value = RCVD_COUNT is not discarded based on the above determination, the receiving end (such as the PDCP entity that receives) may perform one or more of the following: (1) Store the resulting PDCP SDU in a receive buffer; (2) If RCVD_COUNT >= RX_NEXT, update RX_NEXT to RCVD_COUNT + 1, where RX_NEXT indicates the COUNT of the next PDCP SDU that the upper layer expects to receive, and the initial value of RX_NEXT is 0; (3) If RCVD_COUNT = RX_DELIV, transmit all stored PDCP SDUs with consecutive associated COUNT values starting from COUNT = RX_DELIV to the upper layer in ascending order of COUNT value (optionally, if decompression has not been performed previously, transmit the PDCP SDU after header decompression); and / or update RX_DELIV to the COUNT value of the first PDCP SDU that has not been transmitted to the upper layer, where the COUNT value of the first PDCP SDU > RX_DELIV; (4) If the t-Reordering timer is running and RX_DELIV >= RX_REORD, stop and reset t-Reordering, where RX_REORD indicates the COUNT value after the COUNT value associated with the PDCP data PDU that triggers the t-Reordering timer; and (5) If the t-Reordering timer is not running (including cases where the t-Reordering timer has stopped due to the above operations) and RX_DELIV < RX_NEXT, start the t-Reordering timer.

[0128] Optionally, the time length of the t-Reordering timer is configured by the RRC layer or the network device. The t-Reordering timer is used to detect the loss of PDCP PDUs. When the t-Reordering timer is running, another t-Reordering timer should not be started, that is, each receiving PDCP entity cannot start multiple t-Reordering timers simultaneously.

[0129] 4.2 Operations to be Performed When the t-Reordering Timer Expires: When the t-Reordering timer expires, the receiving end (e.g., the receiving PDCP entity) may perform one or more of the following: (1) If header decompression has not been performed before, after performing header decompression, the following PDCP SDUs are transmitted to the upper layer in ascending order of the COUNT of the PDCP SDUs in the buffer: all stored PDCP SDUs with an associated COUNT < RX_REORD, and / or all stored PDCP SDUs with consecutively associated COUNTs starting from RX_REORD; (2) Update RX_DELIV to the COUNT of the first PDCP SDU that has not been transmitted to the upper layer, where the COUNT of the first PDCP SDU >= RX_REORD; and (3) If RX_DELIV < RX_NEXT, update RX_REORD to RX_NEXT and start the t-Reordering timer.

[0130] In the following, Figure 2A is used as an example to describe the content related to the t-Reordering timer.

[0131] As shown in Figure 2A, at time point T1, RX_DELIV < RX_NEXT, and the PDCP layer updates RX_REORD to RX_NEXT and starts the t-Reordering timer. At time point T2, when the t-Reordering timer expires, the PDCP layer sequentially transmits PDCP SDUs with COUNTs 3, 4, and 5 to the upper layer, and updates RX_DELIV to the COUNT of the first PDCP SDU that has not been transmitted to the upper layer and whose COUNT value is greater than RX_REORD (i.e., 4), which is 6. At time point T2, RX_NEXT is 53, RX_DELIV is still smaller than RX_NEXT, and the PDCP layer updates RX_REORD to RX_NEXT and starts the t-Reordering timer.

[0132] It should be noted that for PDCP related content, please refer to 3GPP TS 38.323: "NR; Packet Data Convergence Protocol (PDCP) Protocol Specification", and details will not be described here.

[0133] From the perspective of the transmitting end, if a certain data or group of data has not been completely transmitted or has not been transmitted after the delay requirement of the data has been reached, the transmitting end may discard the data, i.e., the transmitting end does not continue to transmit the data. In this case, if the PDCP layer of the receiving end is still waiting for the data, the delay of data transmission by the PDCP layer is relatively large. For example, the delay requirement may take into account any one or more of: a packet delay budget (PDB), a PDU set delay budget (PSDB), a timer for data discard, and the like. An example in which the transmitting end transmits a group of data and the delay requirement of the group of data is 10 milliseconds (ms) is described below.

[0134] As shown in FIG. 2B, at time point T1, RX_DELIV < RX_NEXT. The PDCP layer updates RX_REORD to RX_NEXT and starts the t-Reordering timer. At time point T2, when the t-Reordering timer expires, the PDCP layer sequentially transmits PDCP SDUs with COUNT values of 3, 4, and 5 to the upper layer, and updates RX_DELIV to the COUNT of the first PDCP SDU whose COUNT value is greater than RX_REORD (i.e., 4) and has not been transmitted to the upper layer, i.e., 6. At time point T2, RX_NEXT is 10, RX_DELIV is still smaller than RX_NEXT, the PDCP layer updates RX_REORD to RX_NEXT, and starts the t-Reordering timer. When the duration of the t-Reordering timer is equal to or slightly smaller than the delay requirement of the data group, for example, when the duration of the t-Reordering timer is 10 ms, before the PDCP layer obtains PDCP SDUs with COUNT values of 6 and 7, the time duration for the transmitting end to transmit the data group is greater than the delay requirement of the data group. In this case, the transmitting end stops transmitting data, and the PDCP layer starts the t-Reordering timer and waits to receive PDCP SDUs with COUNT values of 6 and 7. As a result, PDCP SDUs with COUNT values of 8 and 9 cannot be transmitted to the upper layer in a timely manner and can only be transmitted to the upper layer after exceeding the delay requirement of the data group. The delay of data transmission by the PDCP layer is relatively large and affects decoding at the receiving end. When the duration of the t-Reordering timer is smaller than the delay requirement of the data group, for example, when the duration of the t-Reordering timer is 5 ms, in the process of receiving the data group, after the PDCP layer starts the t-Reordering timer multiple times (e.g., 3 times), the problem that the delay of data transmission by the PDCP layer is relatively large also occurs.

[0135] To solve the above problems, embodiments of the present application provide the following two methods.

[0136] Method 1: First data in a first data set is acquired, a first timer is started, and when the first timer is exceeded, one or more of the following actions are performed: updating a first state variable to a first count value; transmitting at least one received data whose count value is greater than a maximum count value; discarding the first data set or transmitting the first data set; or discarding data whose count value is less than a minimum count value or transmitting data whose count value is less than the minimum count value.

[0137] The first count value is greater than the maximum count value, and no data corresponding to the first count value has been received, and the first state variable indicates the count value of the first piece of data waiting to be transmitted; the count values ​​of at least one piece of data are continuous, and the at least one piece of data includes data whose count value is the maximum count value + 1; the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received data in the first data set; the maximum count value is the count value of the data with the maximum count value in the second data set, or the maximum count value is the count value of the data with the maximum count value in the received data in the second data set.

[0138] According to Method 1, when the first timer expires, the receiving end may discard or transmit data in a timely manner and / or update the first state variable in a timely manner, and not continue to wait for data that may not be received, data that will no longer be transmitted, or invalid data. This reduces the delay in data transmission by the second communication device, so that the second communication device can perform decoding as soon as possible, thereby improving communication quality and efficiency. The specific process of Method 1 is described in the following method shown in Figure 5 or Figure 7. Details will not be described again here.

[0139] Method 2: First data is acquired, a third timer is started, and when the third timer expires, one or more of the following actions are performed: updating a first state variable to a second count value; transmitting at least one received data whose count value is greater than the count value of the first data; discarding the first data set or transmitting the first data; or discarding data whose count value is less than the count value of the first data or transmitting received data whose count value is less than the count value of the first data.

[0140] The second count value is greater than the count value of the first data, and no data corresponding to the second count value has been received, and the first state variable indicates the count value of the first data waiting to be transmitted; the count values ​​of at least one data are continuous, and the at least one data includes data whose count value is the maximum count value + 1, or the at least one data includes data whose count value is the count value of the first data + 1; the maximum count value is the count value of the data with the maximum count value in the first data set, or the maximum count value is the count value of the data with the maximum count value in the received data in the first data set; the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received data in the first data set.

[0141] According to Method 2, when the third timer expires, the receiving end may discard data that may not be received in a timely manner, or may transmit already received data in a timely manner, and / or may update the first state variable in a timely manner, so as not to continue waiting to receive data that may not be received, data that will no longer be transmitted, or invalid data. This reduces the delay in data transmission by the second communication device, so that the second communication device can perform decoding as soon as possible. The specific process of Method 2 is described in the following method shown in Figure 8 or Figure 9A. Details will not be described again here.

[0142] It can be understood that the method provided in the embodiment of the present application can be performed by any layer of the receiving end. The embodiment of the present application will be described by using an example in which the PDCP layer of the receiving end performs the method. Here, a unified description is provided, and details will not be described below.

[0143] The following clearly and completely describes the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. Of course, the described embodiments are only a part, but not all, of the embodiments of the present application.

[0144] The method provided in the embodiments of the present application may be used in various communication systems. For example, the communication system may be an LTE system, a fifth generation (5G) communication system, a Wi-Fi® system, a 3rd generation partnership project (3GPP®) related communication system, a future evolved communication system (e.g., a sixth generation (6G) communication system), a system integrating multiple systems, or the like. This is not limited thereto. 5G may also be referred to as NR. In the following, a communication system 30 shown in FIG. 3 is used as an example to describe the method provided in the embodiments of the present application. FIG. 3 is merely a schematic diagram and does not constitute a limitation on applicable scenarios of the technical solutions provided in the present application.

[0145] 3 is a diagram of the architecture of a communication system 30 according to an embodiment of the present application. In FIG. 3, the communication system 30 may include a communication device 301 and a communication device 302 that can communicate with the communication device 301.

[0146] The communication device 301 or the communication device 302 may be any device having a radio transceiver function, for example, a network device or a terminal.

[0147] The network device in this embodiment of the present application includes, but is not limited to, an evolved NodeB (NodeB, eNB, or e-NodeB) in LTE, a gNodeB (gNodeB or gNB) or transmission receiving point / transmission reception point (TRP) in NR, a future evolved base station in 3GPP, an access node, a wireless relay node, a wireless backhaul node in a Wi-Fi system, or the like. The base station may be a macro base station, a micro base station, a picocell base station, a small cell, a relay station, a balloon station, or the like. Multiple base stations may support a network using the same technology as described above, or may support a network using different technologies from those described above. The base station may include one or more co-site or non-co-site TRPs. Alternatively, the network device may be a radio controller in a cloud radio access network (CRAN) scenario. Alternatively, the network device may be a central unit (CU) and / or a distributed unit (DU). Alternatively, the network device may be a server, a wearable device, a machine communication device, an in-vehicle device, or the like. An example in which the network device is a base station will be described below. The multiple network devices may be the same type of base station or different types of base stations. A base station may communicate with a terminal, or may communicate with the terminal through a relay station. A terminal may communicate with multiple base stations using different technologies. For example, a terminal may communicate with a base station supporting an LTE network, may communicate with a base station supporting a 5G network, or may support dual connection with a base station in an LTE network and a base station in a 5G network.

[0148] The terminal in this embodiment of the present application may be deployed on land (including being deployed indoors or outdoors, handheld, or in a vehicle), on water (e.g., on a ship), or in the air (e.g., on an aircraft, balloon, or satellite). The terminal may also be referred to as a terminal device. The terminal device may be user equipment (UE). The UE includes a handheld device, an in-vehicle device, a wearable device, or a computing device with wireless communication capabilities. For example, the UE may be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. Alternatively, the terminal device may be a wireless terminal in industrial control, a wireless terminal in autonomous driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, a wireless terminal in a smart home, or the like.

[0149] By way of example and not limitation, the terminal in this application may be a wearable device. A wearable device may also be referred to as a wearable intelligent device, which is a general term for wearable devices, such as glasses, gloves, watches, clothes, and shoes, that are intelligently designed and developed for everyday wear by using wearable technology. A wearable device is a portable device that can be worn directly on the body or integrated into a user's clothing or accessories. For example, a wearable device is not only a hardware device, but also a device that implements powerful functions through software support, data exchange, and cloud interaction. In a broad sense, intelligent wearable devices include full-featured large devices, such as smart watches or smart glasses, that can implement full or partial functions without relying on a smartphone, as well as devices that are specialized for only one type of application function and need to be used in conjunction with other devices, such as smartphones, such as various smart bands or smart jewelry used to monitor physical signs.

[0150] In this application, the terminal may be a terminal in an Internet of Things (IoT) system. IoT is an important element in the future development of information technology. The main technical feature of IoT is to connect objects to a network by using communication technology and implement an intelligent network of human-computer interconnection and thing-thing interconnection. In this application, the terminal may be a terminal in machine-type communication (MTC). In this application, the terminal may be an on-board module, on-board component, on-board component, on-board chip, or on-board unit built into a vehicle as one or more components or units. The vehicle implements the method in this application using the on-board module, on-board component, on-board component, on-board chip, or on-board unit built into the vehicle.

[0151] Optionally, the method provided in the embodiment of the present application may be applied to multimedia services with high real-time performance requirements and large data capacity requirements, such as video transmission services, cloud gaming (CG) services, and XR services. XR includes virtual reality, VR, and AR. Therefore, the terminal in the embodiment of the present application may alternatively be a head-mounted display (HMD), smart glasses (such as VR glasses and AR glasses), or the like. This is not limited thereto.

[0152] The communication system 30 shown in Figure 3 is used only as an example and is not intended to limit the technical solutions in this application. Those skilled in the art should understand that in a specific implementation process, the communication system 30 may further include other devices, and the number of communication devices may be determined based on specific requirements. This is not limited.

[0153] Optionally, each device in Fig. 3 in the embodiment of the present application (for example, the communication device 301 or the communication device 302) can be a general-purpose device or a dedicated device, which is not specifically limited in the embodiment of the present application.

[0154] Optionally, the related functions of each device (e.g., communication device 301 or communication device 302) in FIG. 3 in the embodiment of the present application may be implemented by one device, jointly implemented by multiple devices, or implemented by one or more function modules in one device. This is not specifically limited in the embodiment of the present application. It may be understood that the above functions may be network elements in a hardware device, software functions running on dedicated hardware, a combination of hardware and software, or virtualized functions instantiated on a platform (e.g., a cloud platform).

[0155] In a specific implementation, each device in Fig. 3 (e.g., communication device 301 or communication device 302) in the embodiment of the present application may use the composition structure shown in Fig. 4 or include the components shown in Fig. 4. Fig. 4 is a diagram of the hardware structure of a communication device applicable to the embodiment of the present application. The communication device 40 includes at least one processor 401 and at least one communication interface 404, and is configured to implement the method provided in the embodiment of the present application. The communication device 40 may further include a communication line 402 and a memory 403.

[0156] The processor 401 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to control program execution of the solutions herein.

[0157] The communication lines 402 may include paths such as buses for conveying information between the components described above.

[0158] The communication interface 404 is configured to communicate with another device or a communication network and can be any device, such as a transceiver, for example, an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, a transceiver, a pin, a bus, or a transceiver circuit.

[0159] Memory 403 may be read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, or random access memory (RAM) or another type of dynamic storage device capable of storing information and instructions; or may be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), or another optical disk storage, optical disk storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, or the like), magnetic disk storage medium or another magnetic storage device, or any other medium that can be configured to hold or store expected program code in the form of instructions or data structures accessible by a computer, but is not limited in this regard. Memory may exist independently and be coupled to processor 401 through communication line 402. Alternatively, memory 403 may be integrated with processor 401. The memory provided in this embodiment of the present application may generally be non-volatile.

[0160] The memory 403 is configured to store computer-executable instructions for executing the solutions provided in the embodiments of the present application, and the processor 401 controls the execution. The processor 401 is configured to execute the computer-executable instructions stored in the memory 403 to implement the methods provided in the embodiments of the present application. Alternatively, optionally, in this embodiment of the present application, the processor 401 may perform functions related to processing in the methods provided in the following embodiments of the present application, and the communication interface 404 is responsible for communicating with another device or a communication network. This is not specifically limited in this embodiment of the present application.

[0161] Optionally, the computer-executable instructions in this embodiment of the present application may also be referred to as application program code, which is not specifically limited in this embodiment of the present application.

[0162] A coupling in this embodiment of the present application may be an indirect coupling or communication connection between devices, units or modules in an electrical, mechanical or other form, used for exchanging information between the devices, units or modules.

[0163] In an embodiment, the processor 401 may include one or more CPUs, for example, CPU0 and CPU1 in FIG.

[0164] In an embodiment, communication device 40 may include multiple processors, such as processor 401 and processor 407 in FIG. 4. Each of the processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may be one or more devices, circuits, and / or processing cores configured to process data (e.g., computer program instructions).

[0165] In an embodiment, the communication apparatus 40 may further include an output device 405 and / or an input device 406. The output device 405 is coupled to the processor 401 and may display information in a variety of ways. For example, the output device 405 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 406 is coupled to the processor 401 and may receive user input in a variety of ways. For example, the input device 406 may be a mouse, a keyboard, a touchscreen device, or a sensor device.

[0166] It will be understood that the compositional structure shown in Figure 4 does not constitute a limitation on the communications device. In addition to the components shown in Figure 4, a communications device may include more or fewer components than those shown in the figure, or may combine some components or have a different component arrangement.

[0167] The following describes the methods provided in the embodiments of the present application with reference to the accompanying drawings. The network element in the following embodiments may have the components shown in Figure 4. The details will not be described again.

[0168] To facilitate understanding of the embodiments of the present application, the following description is provided.

[0169] In the embodiments of the present application, it can be understood that " / " can represent an "or" relationship between related objects. For example, A / B can represent A or B. "And / or" can be used to describe the existence of three relationships between related objects. For example, A and / or B can represent three cases: only A exists; both A and B exist; and only B exists, where A and B can be singular or plural. In addition, expressions similar to "at least one of A, B, and C" or "at least one of A, B, or C" are usually used to represent any one of the following: only A exists; only B exists; only C exists; both A and B exist; both A and C exist; both B and C exist; and all of A, B, and C exist. The above uses three elements A, B, and C as an example to describe optional items in a project. When there are more elements in an expression, the meaning of the expression can be obtained according to the above rules. "At least one of the following items" or similar phrases refers to any combination of items, including any combination of one or more of the items. For example, at least one of a, b, or c may refer to a, b, c, "a and b," "a and c," "b and c," or "a, b, and c," where a, b, and c may be singular or plural.

[0170] Additionally, the terms "comprise" and "have," and any other variations thereof, are intended to cover non-exclusive inclusions. For example, processes, methods, systems, products, and devices that include a series of steps or units are not limited to the listed steps or units, but may optionally further include steps or units that are not listed, or may optionally further include other steps or units inherent in the process, method, product, or device.

[0171] To facilitate the description of the technical solutions in the embodiments of the present application, terms such as "first" and "second" may be used in the embodiments of the present application to distinguish between technical features with the same or similar functions. Terms such as "first" and "second" do not limit the number and execution order, and terms such as "first" and "second" do not limit the clear distinction. In the embodiments of the present application, terms such as "example" or "for example" are used to represent an example, illustration, or explanation. Any embodiment or design solution described as an "example" or "for example" should not be described as being more preferred or having more advantages than another embodiment or design solution. Terms such as "example" or "for example" are used to present related concepts in a concrete manner for ease of understanding.

[0172] In the embodiments of the present application, the words "example" or "for example" are used to represent the presentation of an example, an illustration, or an explanation. In the embodiments of the present application, any embodiment or design solution described as "example" or "for example" should not be described as more preferred or having more advantages than another embodiment or design solution. Strictly speaking, the use of terms such as "example" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.

[0173] References throughout this specification to an "embodiment" may be understood to mean that a particular feature, structure, or characteristic associated with the embodiment is included in at least one embodiment of the present application. Thus, embodiments throughout this specification do not necessarily refer to the same embodiment. In addition, these particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It may be understood that the sequence numbers of processes do not imply an execution order in various embodiments of the present application. The execution order of processes should be determined based on the functions and internal logic of the processes and should not be construed as any limitation on the implementation process of the embodiments of the present application.

[0174] In this application, it may be understood that the use of "when," "if," or similar expressions means that the corresponding processing is performed in an objective situation, is not intended to limit the time, does not require any decision action to be taken during implementation, and does not imply any other limitations.

[0175] In this application, "simultaneously" may be understood as being at the same time, within a certain period of time, or within the same cycle.

[0176] It can be understood that in some scenarios, some optional features in the embodiments of the present application can be implemented independently without relying on other functions, for example, on the solutions on which the optional features are currently based, to solve corresponding technical problems and achieve corresponding effects. Alternatively, in some scenarios, optional features can be combined with other functions based on requirements. Correspondingly, the devices provided in the embodiments of the present application can also implement these functions or functions accordingly. Details will not be described here.

[0177] It can be understood that the same step or steps or technical features having the same function in the embodiments of the present application can be cross-referenced in various embodiments.

[0178] In the embodiments of the present application, it can be understood that the first communication device and / or the second communication device can perform some or all of the steps in the embodiments of the present application. These steps are merely examples. In the embodiments of the present application, other steps or variations of various steps can also be performed. In addition, the steps can be performed in a different order than that presented in the embodiments of the present application, and it is possible that not all of the steps in the embodiments of the present application need to be performed.

[0179] It should be noted that in this application, the second communication device may include / be replaced by the PDCP layer of the second communication device or the PDCP entity of the second communication device. The PDCP layer of the second communication device may include / be replaced by the PDCP entity of the second communication device.

[0180] It should be noted that in this application, receiving includes / can be replaced with obtaining; obtaining includes / can be replaced with receiving; receiving includes / can be replaced with obtaining; obtaining includes / can be replaced with receiving.

[0181] It should be noted that in this application, data in the first data set may include / be replaced by data belonging to the first data set.

[0182] It should be noted that in this application, signaling may include / be replaced by signaling to a higher layer (eg, the SDAP layer or the RRC layer).

[0183] It should be noted that in this application, a receive buffer may include / be replaced by a buffer.

[0184] It should be noted that in this application "belonging to" can include / be replaced with "disposed on" or "associated with."

[0185] It should be noted that in this application, initiation includes beginning or restarting.

[0186] 5 shows a data transmission method according to an embodiment of the present application. The method may include the following steps:

[0187] S501: A first communication device transmits first data to a second communication device, and the second communication device correspondingly receives the first data from the first communication device. Alternatively, the first communication device transmits second data to the second communication device, and the second communication device correspondingly receives the second data from the first communication device.

[0188] For example, the first communication device may be one of the communication devices in the communication system 30 shown in Fig. 3, and the second communication device may be another communication device in the communication system 30 shown in Fig. 3. For example, the first communication device is communication device 301 in Fig. 3, and the second communication device is communication device 302 in Fig. 3.

[0189] For example, receiving the first data by the second communication device from the first communication device may include: the second communication device obtaining the first data.

[0190] For example, the second communication device obtaining the first data may include any one or more of: the PDCP layer of the second communication device obtaining the first data; the PDCP layer of the second communication device receiving / obtaining the first data from a lower layer (e.g., an RLC layer); the second communication device or the PDCP layer of the second communication device not discarding the first data; or the second communication device or the PDCP layer of the second communication device storing the first data in a receive buffer.

[0191] Optionally, the second communication device or the PDCP layer of the second communication device not discarding the first data may include any one or more of: successful integrity verification of the first data, the count value of the first data being greater than or equal to the first state variable, and the second communication device or the PDCP layer of the second communication device not previously receiving data corresponding to the count value of the first data.

[0192] Optionally, the first data is associated with, belongs to, or comprises the first data set.

[0193] Optionally, the first data set includes a data burst or a PDU set. Optionally, the first data set is a data burst or a PDU set. For example, the first data set is a data burst to which the first data belongs, or the first data set is a PDU set to which the first data belongs.

[0194] Optionally, the data burst to which the first data belongs may be replaced with the data burst associated with the first data, and the PDU set to which the first data belongs may be replaced with the PDU set associated with the first data.

[0195] Optionally, the first data set may be a data burst if the reception deadlines of different PDU sets or different data (e.g., PDUs or PDCP PDUs) in the data burst are the same or similar. Optionally, the first data set may be a PDU set if the reception deadlines of different PDU sets in the data burst are different or have a relatively large difference.

[0196] Optionally, the first data satisfies any one or more of: (1) the first data is the first acquired data in the first data set; (2) the first data is the first data in the first data set stored in the receiving buffer of the second communication device or the PDCP layer of the second communication device; (3) the second communication device does not discard the first data; (4) integrity verification of the first data is successful; (5) the count value of the first data is greater than or equal to the first state variable; (6) the second communication device has not previously received data in the first data set; (7) the second communication device has not previously received data corresponding to the count value of the first data; and (8) the first data is stored in the receiving buffer of the second communication device or the PDCP layer of the second communication device.

[0197] For example, the count value of the first data is the COUNT of the first data.

[0198] For example, the first state variable may be used to indicate a count value of the first piece of data waiting to be transmitted, or the first state variable may be used to indicate a count value of the first piece of untransmitted data waiting to be transmitted. For example, the first state variable may include RX_DELIV. For example, the first state variable is RX_DELIV. For example, RX_DELIV may indicate a COUNT of waiting next PDCP PDUs that have not been transmitted to an upper layer. For example, RX_DELIV may be understood as a lower limit of a reordering window. Optionally, the first data being the first retrieved data in the first data set may include / be replaced with: the first data being the first data in the first data set received by the second communication device, or the first data being the first data in the first data set that has been retrieved.

[0199] Optionally, the first data being the first data in the first data set stored in the receive buffer of the second communication device or the PDCP layer of the second communication device may include / be replaced with: the first data being the first data in the first data set stored in the receive buffer of the second communication device or the PDCP layer of the second communication device, or the first data in the first data set stored in the receive buffer of the second communication device or the PDCP layer of the second communication device.

[0200] For example, the first data is the first data item in the first data set that is received by the second communication device and that has not been discarded.

[0201] For example, the first data is the first data item in the first data set that is received by the second communication device (or the PDCP layer of the second communication device) and stored in the receive buffer.

[0202] It should be noted that the first data item in the first data set received by the second communication device is described from the perspective of reception by the receiving end. This does not mean that the first data item is the first data item in the first data set, but rather the first data item in the first data set that is actually received by the second communication device. For example, the first data set includes data items with COUNT values ​​between 0 and 100, and the first data item in the first data set received by the second communication device is the data item with a COUNT value of 50. In this case, the data item with a COUNT value of 50 is the first data item.

[0203] It should be noted that the content related to "the second communication device receives the second data from the first communication device" or "second data" is similar to the content related to "the second communication device receives the first data from the first communication device" or "first data". For the sake of understanding, the first data may be replaced by the second data, and the first data set may be replaced by the fourth data set. Details will not be described here.

[0204] For example, the fourth data set is different from the first data set, e.g., the count value of the data with the smallest count value in the fourth data set is greater than the count value of the data with the largest count value in the first data set, or the fourth data set is after or disposed after the first data set.

[0205] Optionally, the fourth data set includes a data burst or a PDU set. Optionally, the fourth data set is a data burst or a PDU set. For example, the fourth data set is a data burst to which the second data belongs, or the fourth data set is a PDU set to which the second data belongs.

[0206] S502: The second communication device starts a first timer.

[0207] Optionally, the first timer is associated with the first data set or is a timer corresponding to the first data set. Optionally, in the method shown in Figure 5, the second communication device may start a timer by using a data set (e.g., a data burst or a PDU set) as granularity. Optionally, in the method shown in Figure 5, the timer is per data set (e.g., a data burst or a PDU set).

[0208] In a possible implementation, the PDCP layer of the second communication device starts a first timer.

[0209] Optionally, the duration of the first timer may be configured by the network device, may be pre-configured, may be stored by the second communication device, or may be obtained in another manner, which is not limited in this application.

[0210] Optionally, when the second communication device receives the second data from the first communication device, the application further includes: the second communication device starting a fifth timer.

[0211] Optionally, the fifth timer is associated with the fourth data set, or the fifth timer is a timer corresponding to the fourth data set.

[0212] For example, the fifth timer and the first timer have the same type / granularity but are associated with different data sets.

[0213] Optionally, the time length of the fifth timer may be the same as or different from the time length of the first timer, this is not limited.

[0214] Optionally, if the first data set and the fourth data set belong to the same data burst, the time length of the fifth timer may be the same as the time length of the first timer.

[0215] Optionally, if the first data set and the fourth data set belong to different data bursts, the time length of the fifth timer may be different from the time length of the first timer.

[0216] In a possible design, the duration of the first timer is less than the duration of the fifth timer.

[0217] For example, the length of time of the first timer may be equal to the length of time of the fifth timer minus the first length of time. Optionally, the length of time of the first timer or the first length of time is related to a service period (e.g., the period of an XR service). For example, the length of time of the first timer may be the length of time of the fifth timer minus the service period. Optionally, the first length of time may be configured by the network device, pre-configured, stored by the second communication device, or obtained in another manner. This is not limited in the present application. For example, the first length of time is equal to the service period.

[0218] In a possible implementation, when no data in the first data set is acquired, the second communication device receives second data from the first communication device, and the second communication device starts a first timer, for example, when the second communication device receives the second data but does not receive data in the first data set, the second communication device starts the first timer.

[0219] From the perspective of the first communication device, it can be understood that the first data set or the first data is transmitted before the second data. If the second communication device receives the second data first and does not start the first timer, but starts the first timer after receiving the first data, the expiration time of the first timer will be later than the expiration time of the fifth timer, and the second terminal device will not timely discard / transmit / update data based on the expiration of the first timer, causing an extra data transmission delay and affecting communication efficiency and quality. A method in which the second communication device receives the second data from the first communication device and starts the first timer can solve this problem and ensure timely data transmission, thereby facilitating decoding by the second communication device and improving communication quality and efficiency.

[0220] S503: When the first timer expires, the second communication device performs any one or more of operation 1, operation 2, operation 3, or operation 4.

[0221] Each operation is described in detail below.

[0222] Operation 1: Update the first state variable to the first count value.

[0223] Optionally, the first count value is greater than the maximum count value.

[0224] Optionally, data corresponding to the first count value is not received by the second communication device. Optionally, the first count value is equal to the maximum count value+1.

[0225] For example, the data corresponding to the first count value not being received by the second communication device may include / be replaced by any one or more of: the data corresponding to the first count value not being transmitted to a higher layer (e.g., the SDAP layer or the RRC layer); and the data corresponding to the first count value not being present / stored in the receiving buffer of the second communication device or the PDCP layer of the second communication device.

[0226] For example, the data corresponding to the first count value may include / be replaced with a PDCP SDU or PDCP PDU corresponding to the first count value.

[0227] Optionally, the data corresponding to the first count value is the first unreceived data whose count value is greater than the maximum count value.

[0228] For example, the first unreceived data whose count value is greater than the maximum count value may include / be replaced by one or more of the following: a first piece of data whose count value is greater than the maximum count value that has not been transmitted to a higher layer (e.g., the SDAP layer or the RRC layer), and a first piece of data whose count value is greater than the maximum count value that does not exist / is not stored in the receive buffer of the second communication device or the PDCP layer of the second communication device.

[0229] For example, the maximum count value is the count value of the data with the maximum count value in the second data set, or the maximum count value is the count value of the data with the maximum count value in the received data in the second data set.

[0230] For example, the maximum count value being the count value of the data with the maximum count value in the received data in the second data set may include / be replaced with the maximum count value being the count value of the data with the maximum count value in the received but untransmitted data in the second data set, and the maximum count value being the count value of the data with the maximum count value in the second data set that is present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0231] For example, the second communication device updates the first state variable to the COUNT of the first data (e.g., PDCP SDU) that has not been transmitted to a higher layer (e.g., the SDAP layer or the RRC layer). The COUNT of the first data is greater than the maximum count value. For example, the second communication device updates the first state variable to the first gap after the second data set. For example, the second communication device updates the first state variable to the COUNT after the last received data in the second data set. For example, the second communication device updates the first state variable to the COUNT of the last received data in the second data set + 1.

[0232] For example, if the second communication device knows the count value of the data with the maximum count value in the second data set, the maximum count value is the count value of the data with the maximum count value in the second data set. For example, if the second communication device does not know the count value of the data with the maximum count value in the second data set, the maximum count value is the count value of the data with the maximum count value in the received data in the second data set.

[0233] Optionally, the data corresponding to the maximum count value satisfies any one or more of the following: (1) the data corresponding to the maximum count value is the last data received by the second communication device in the second data set; (2) the data corresponding to the maximum count value is the last data stored in the receive buffer of the PDCP layer of the second communication device in the second data set; (3) the second communication device does not discard the data corresponding to the maximum count value; (4) integrity verification of the data corresponding to the maximum count value is successful; (5) the maximum count value is greater than or equal to the first state variable or the first state variable before the update; (6) the second communication device has not previously received data corresponding to the maximum count value; and (7) the second communication device has not previously received data corresponding to the maximum count value.

[0234] For example, the last data in the second data set received by the second communication device may include / be replaced by the last data in the second data set received by the second communication device.

[0235] It should be noted that in this embodiment of the present application, it is described from the perspective of the receiving end that the data corresponding to the maximum count value is the last data in the second data set received by the second communication device, which does not mean that the data corresponding to the maximum count value is the last data in the second data set, but is the last data in the second data set actually received by the second communication device.

[0236] Optionally, the first dataset includes some or all of the data in the second dataset. For example, the second dataset includes the first dataset. For example, the second dataset is the first dataset or the second dataset is identical to the first dataset. Alternatively, for example, the second dataset is different from the first dataset. For example, the second dataset includes the first dataset and data associated with the first dataset.

[0237] For example, the second data set is a data burst to which the first data belongs; or the second data set includes a data burst to which the first data belongs and a data burst associated with the data burst; or the second data set is a PDU set to which the first data belongs; or the second data set includes a PDU set to which the first data belongs and a PDU set associated with the PDU set; or the second data set includes a PDU set to which the first data belongs and a data burst to which the PDU set belongs; or the second data set includes a PDU set to which the first data belongs, a data burst to which the PDU set belongs, and a data burst associated with the data burst; or the second data set includes a PDU set to which the first data belongs and a data burst associated with the PDU set.

[0238] For example, a data burst associated with a data burst to which first data belongs may be understood as requiring the associated data burst to depend on the data burst to which the first data belongs in order to perform data processing. For example, a PDU set associated with a PDU set to which the first data belongs may be understood as requiring the associated PDU set to depend on the PDU set to which the first data belongs in order to perform data processing. For example, a data burst associated with a PDU set may be understood as requiring the data burst to depend on the PDU set in order to perform data processing. For example, data processing may include data decoding and / or data decryption.

[0239] Optionally, the second communication device updating the first state variable to a first count value may be understood as the second communication device updating the first state variable to a count value of a first piece of data that has not been transmitted to an upper layer, where the count value is greater than a maximum count value.

[0240] For example, as shown in FIG. 6, at time T1, the second communication device acquires the first data in data burst 1, whose count value is 1, and starts a first timer. At time T2, the first timer expires. If the second communication device recognizes that the count value of the data with the maximum count value in data burst 1 is 9, i.e., the maximum count value is 9, the second communication device updates the first state variable to the count value corresponding to the first gap or the first gap whose count value is greater than the maximum count value, i.e., 11 (shown in FIG. 6(a)). If the second communication device does not recognize the count value of the data with the maximum count value in data burst 1, but the count value of the data with the maximum count value in the data received by the second communication device in data burst 1 is 7, i.e., the maximum count value is 7, the second communication device updates the first state variable to the maximum count value + 1, i.e., 8 (shown in FIG. 6(b)).

[0241] In this embodiment of the present application, a gap may be understood as including / being any one or more of data not received by the second communication device, data not stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device, a COUNT corresponding to data not received by the second communication device, or a COUNT corresponding to data not stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0242] It can be understood through operation 1 that when the first timer expires, the second communication device may update the first state variable to the first count value. In this way, the second communication device may not always need to wait for data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data). This avoids a case where the first communication device stops transmitting data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data or some data in the first data set or the second data set that has not been received), but the second communication device is still waiting to receive data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data or some data in the first data set or the second data set that has not been received). This reduces the delay in transmitting data (e.g., subsequent data) by the second communication device. For example, even if the reordering timer is still running, the second communication device may update the first state variable or push or slide the PDCP window without waiting for the reordering timer to expire. This prevents the update of the first state variable or the PDCP window from being unnecessarily interrupted by some data (e.g., data that has not been received by the second communication device but that the first communication device has stopped transmitting), thereby reducing the delay in transmitting data (e.g., subsequent data) by the second communication device, thereby facilitating decoding by the second communication device and helping to improve communication efficiency and quality.

[0243] Operation 2: Transmit at least one received data whose count value is greater than the maximum count value.

[0244] For example, "at least one received data item having a count value greater than the maximum count value" may include any one or more of: at least one received but untransmitted data item having a count value greater than the maximum count value; at least one data item present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device, having a count value greater than the maximum count value; data received / stored consecutively after the second data set; data received / stored consecutively in sequence, having a count value greater than the maximum count value; and data received / stored consecutively starting from the maximum count value + 1.

[0245] It should be noted that "continuously received data" is not limited to the second communication device receiving data consecutively in order, but is intended to simply indicate that the COUNT values ​​of the received data are consecutive. Optionally, the consecutively received data is data with consecutive COUNT values, and does not mean that the second communication device or the PDCP layer of the second communication device receives the data consecutively.

[0246] Optionally, the count values ​​of the at least one data are consecutive. For example, the at least one data includes data whose count value is a maximum count value + 1. For example, the at least one data includes consecutively received / consecutively stored data starting from data whose count value is a maximum count value + 1.

[0247] Optionally, the second communication device recognizes the count value of the data with the maximum count value in the second data set, and the second communication device performs operation 2. Alternatively, optionally, the maximum count value is the count value of the data with the maximum count value in the second data set, and the second communication device performs operation 2.

[0248] 6, the first timer expires at time T2. If the second communication device recognizes that the count value of the data with the maximum count value in data burst 1 is 9, the second communication device transmits data with a count value of 10, i.e., at least one data includes data with a count value of 10. For example, if the second communication device does not recognize the count value of the data with the maximum count value in data burst 1, the second communication device may not perform operation 2.

[0249] It can be understood that through operation 2, when the first timer expires, the second communication device can timely transmit data whose count value is greater than the maximum count value, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set), but the second communication device is still waiting to receive data whose count value is less than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set). This can reduce the delay in data transmission by the second communication device (e.g., data whose count value is greater than the maximum count value or subsequent data). For example, even if the reordering timer is still running, the second communication device may transmit received data whose count value is greater than the maximum count value to an upper layer without waiting for the reordering timer to expire. This prevents the transmission of data whose count value is greater than the maximum count value from being meaninglessly interrupted by some data (e.g., data that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces delays in data transmission by the second communication device, thereby helping to improve communication efficiency and quality.

[0250] Operation 3: Discard the first or second data set, or transmit the first or second data set.

[0251] For example, discarding the first or second data set may include / be replaced by: discarding the received data in the first or second data set.

[0252] For example, the transmission of the first or second data set may include / be replaced by the transmission of data already received in the first or second data set.

[0253] For example, the received data in the first or second data set may include / be replaced by any one or more of the received but untransmitted data in the first or second data set and data in the first or second data set that is present / stored in a receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0254] Optionally, if a packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first data set or the second data set is greater than or equal to a first threshold, the second communication device discards the first data set or the second data set.

[0255] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first or second data set being greater than or equal to a first threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the first or second data set being less than or equal to a seventh threshold.

[0256] Optionally, the first threshold is associated with the second data set or the first data set, for example, the first threshold is a maximum packet loss rate corresponding to the first data set, or the first threshold is a maximum packet loss rate corresponding to the second data set.

[0257] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first data set or the second data set is less than or equal to a first threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits the first data set or the second data set.

[0258] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first or second data set being less than or equal to a first threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the first or second data set being greater than or equal to a seventh threshold.

[0259] 6, at time T2, the first timer expires. If the packet loss rate corresponding to data burst 1 is greater than or equal to the first threshold, the second communication device discards data burst 1; or if the packet loss rate corresponding to data burst 1 is less than the first threshold, the second communication device transmits data with count values ​​of 3, 4, 5, and 7.

[0260] It can be understood that through operation 3, when the first timer is exceeded, the second communication device can discard the first data set or the second data set in a timely manner or transmit the first data set or the second data set in a timely manner, thereby shortening the time the second communication device waits to receive data, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set) but the second communication device is still waiting to receive data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set). This reduces the delay in data (e.g., subsequent data) transmission by the second communication device. For example, even if the reordering timer is still running, the second communication device may transmit the received first data set or the received second data set to a higher layer without waiting for the reordering timer to expire. This prevents the transmission of the received data in the first data set or the second data set from being unnecessarily interrupted by some data (e.g., data in the first data set or the second data set that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces the delay in data transmission by the second communication device, thereby helping to improve communication efficiency and quality. In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the received data, in this case, the first data set or the second data set may be discarded, reducing the complexity of subsequent data processing.Also, if the second communication device is a base station and the base station discards the first data set or the second data set, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0261] Operation 4: Discard data whose count value is smaller than the minimum count value, or transmit data whose count value is smaller than the minimum count value.

[0262] Optionally, the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received data in the first data set.

[0263] Optionally, the minimum count value being the count value of the data with the minimum count value in the received data in the first data set may include / be replaced with: the minimum count value being the count value of the data with the minimum count value in the received but untransmitted data in the first data set, and the minimum count value being the count value of the data with the minimum count value in the first data set that is present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0264] Optionally, the data corresponding to the minimum count value satisfies any one or more of the following: (1) the data corresponding to the minimum count value is the first data in the second data set received by the second communication device; (2) the data corresponding to the minimum count value is the first data in the second data set stored in the receive buffer of the PDCP layer of the second communication device; (3) the second communication device does not discard the data corresponding to the minimum count value; (4) integrity verification of the data corresponding to the minimum count value is successful; (5) the minimum count value is greater than or equal to the first state variable or the first state variable before the update; (6) the second communication device has not previously received data corresponding to the minimum count value; and (7) the second communication device has not previously received data corresponding to the minimum count value.

[0265] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to data with a count value smaller than the minimum count value being greater than or equal to the second threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to data with a count value smaller than the minimum count value being less than or equal to the eighth threshold.

[0266] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than the minimum count value is less than or equal to a second threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits data whose count value is less than the minimum count value.

[0267] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than the minimum count value is less than or equal to the second threshold value may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to data whose count value is less than the minimum count value being greater than or equal to the eighth threshold value.

[0268] For example, when the first timer expires, the second communication device may discard the previous data of the first data set or may transmit the previous data of the first data set.

[0269] Optionally, the data whose count value is less than the minimum count value belongs to the same data burst as the first data set. In other words, the data whose count value is less than the minimum count value and the first data set are included in the same data burst. For example, the data whose count value is less than the minimum count value is included in PDU set 1, the first data set is PDU set 2, and PDU set 1 and PDU set 2 are included in data burst 1.

[0270] Optionally, if a packet loss rate / number of lost packets / data amount of lost packets corresponding to data whose count value is smaller than the minimum count value is greater than or equal to a second threshold, the data whose count value is smaller than the minimum count value belongs to the same data burst as that to which the first data set belongs. If a packet loss rate / number of lost packets / data amount of lost packets corresponding to data whose count value is smaller than the minimum count value is smaller than or equal to the second threshold, or the packet loss rate / number of lost packets / data amount of lost packets is not taken into account / considered, the data whose count value is smaller than the minimum count value belongs to the same or different data burst as that to which the first data set belongs.

[0271] Through operation 4, when the first timer is exceeded, the second communication device may timely discard data that may not be received (e.g., data before the first data set), or may timely transmit the data before the first data set, thereby shortening the time the second communication device waits to receive data, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the time the second communication device waits to receive data may be shortened, thereby reducing the delay in data transmission by the second communication device. In this way, the second communication device may not always need to wait for data before the first data set (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data before the first data set (e.g., some unreceived data, or some unreceived data in the data before the first data set), but the second communication device is still waiting to receive data before the first data set (e.g., some unreceived data, or some unreceived data in the data before the first data set). This reduces the delay in data (e.g., subsequent data) transmission by the second communication device. For example, even if the reordering timer is still running, the second communication device may transmit previously received data of the first data set to a higher layer without waiting for the reordering timer to expire. This prevents the transmission of previously received data of the first data set from being unnecessarily interrupted by some data (e.g., data prior to the first data set that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces the delay in data transmission by the second communication device, thereby helping to improve communication efficiency and quality. In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the previously received data, in this case, the data prior to the first data set may be discarded, reducing the complexity of subsequent data processing. Furthermore, if the second communication device is a base station and the base station discards the previously received data of the first data set, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0272] Optionally, operations 3 and 4 may be replaced by operation 9: discard data whose count value is less than or equal to the maximum count value, or transmit data whose count value is less than or equal to the maximum count value.

[0273] For example, discarding data whose count value is less than or equal to the maximum count value may include / be replaced by: discarding received data whose count value is less than or equal to the maximum count value.

[0274] For example, communicating data whose count value is less than or equal to the maximum count value may include / be replaced by: communicating received data whose count value is less than or equal to the maximum count value.

[0275] For example, received data in which the count value is less than or equal to the maximum count value may include / be replaced with any one or more of: received but untransmitted data in which the count value is less than or equal to the maximum count value; and data present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device, where the count value is less than or equal to the maximum count value.

[0276] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the maximum count value is greater than or equal to a fifth threshold, the second communication device discards the data whose count value is less than or equal to the maximum count value.

[0277] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the maximum count value being greater than or equal to the fifth threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to data whose count value is less than or equal to the maximum count value being less than or equal to the sixth threshold.

[0278] Optionally, the fifth threshold is associated with the second data set or the first data set, for example, the fifth threshold is a maximum packet loss rate corresponding to the first data set, or the fifth threshold is a maximum packet loss rate corresponding to the second data set.

[0279] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the maximum count value is less than or equal to a fifth threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits data whose count value is less than or equal to the maximum count value.

[0280] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the maximum count value is less than or equal to the fifth threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to data whose count value is less than or equal to the maximum count value being greater than or equal to the sixth threshold.

[0281] It can be understood that through operation 9, when the first timer is exceeded, the second communication device can timely discard data whose count value is less than or equal to the maximum count value, or timely transmit data whose count value is less than or equal to the maximum count value, thereby shortening the time the second communication device waits to receive data, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the time the second communication device waits to receive data can be shortened, thereby reducing the delay in data transmission by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is less than or equal to the maximum count value (e.g., some unreceived data), avoiding a case where the first communication device has stopped transmitting data whose count value is less than or equal to the maximum count value (e.g., some unreceived data, or some unreceived data in data whose count value is less than or equal to the maximum count value), but the second communication device is still waiting to receive some unreceived data whose count value is less than or equal to the maximum count value (e.g., some unreceived data, or some unreceived data in data whose count value is less than or equal to the maximum count value). This can reduce delays in transmitting data (e.g., subsequent data) by the second communication device. For example, even if the reordering timer is still running, the second communication device may transmit received data whose count value is less than or equal to the maximum count value to upper layers without waiting for the reordering timer to expire. This prevents the transmission of received data whose count value is less than or equal to the maximum count value from being unnecessarily interrupted by some data (for example, data whose count value is less than or equal to the maximum count value and which has not been received by the second communication device but whose transmission has been stopped by the first communication device). Therefore, the delay in data transmission by the second communication device can be reduced, which helps improve communication efficiency and quality.In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the received data, in this case, data whose count value is less than or equal to the maximum count value may be discarded, thereby reducing the complexity of subsequent data processing. Also, if the second communication device is a base station and the base station discards data whose count value is less than or equal to the maximum count value, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0282] S504: When the first condition is met, the second communication device stops the first timer.

[0283] Optionally, the first condition includes any one or more of: the first data set or the second data set is discarded; the first data set or the second data set is transmitted; the first data set or the second data set is not present in the receive buffer; or the first state variable is greater than a maximum count value.

[0284] For example, the second communication device may stop the first timer when it discards the first data set, or when it transmits data in the first data set, or when no data in the first data set is present in the receive buffer, or when the first state variable is greater than a maximum count value.

[0285] When the first condition is met, the second communication device may stop the first timer in a timely manner, avoiding meaningless execution of the first timer, reducing the load / complexity of maintaining the timer by the second terminal device, and avoiding problems caused by the operation of the timer.

[0286] It should be noted that the second communication device discarding the first data set (or the second data set) is not limited to the second communication device discarding all of the data in the first data set (or the second data set). For example, if part of the data in the first data set has been transmitted to an upper layer, the second communication device discards another part of the data in the first data set.

[0287] It should be noted that the second communication device transmitting data in the first data set (or the second data set) is not limited to the second communication device transmitting all of the data in the first data set (or the second data set). For example, the second communication device may not have received all of the data in the first data set, but because t-Reordering has been exceeded, the second communication device skips these gaps and these packets are not transmitted to the upper layer.

[0288] For example, "discarding (or transmitting) the first data set or the second data set" may include discarding (or transmitting) all data in the first data set or the second data set that is present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0289] The actions of the first communication device or the second communication device in S501 to S504 may be executed by the processor 401 in the communication device 40 shown in Fig. 4 by calling application program code stored in the memory 403. This is not limited to this embodiment of the present application.

[0290] 5, when the first timer expires, the second communication device may timely discard data that may not be received, or timely transmit received data, and / or timely update the first state variable, without continuing to wait for data that may not be received, data that will no longer be transmitted, or invalid data. This reduces the delay in data transmission by the second communication device, so that the second communication device can perform decoding as soon as possible, thereby improving communication quality and efficiency. In addition, when the first condition is met, the second communication device may stop the first timer, avoiding meaningless execution of the first timer, reducing the load / complexity of maintaining the timer by the second terminal device, and avoiding problems caused by the timer operation.

[0291] Optionally, in a possible scenario of the method shown in Fig. 5, the second communication device may start a second timer. For example, as shown in Fig. 7, the method shown in Fig. 5 further comprises S502A.

[0292] S502A: The second communication device starts a second timer.

[0293] For example, the second timer is associated with a third data set. For example, the third data set is different from the first data set. For example, the count value of the data with the maximum count value in the third data set is less than the minimum count value, or the third data set is before or is located before the first data set. For example, the third data set may include at least one data burst or at least one PDU set.

[0294] For example, the second timer and the first timer have the same type / granularity but are associated with different data sets.

[0295] Optionally, the time length of the second timer may be the same as or different from the time length of the first timer, this is not limited.

[0296] Optionally, if the first data set and the third data set belong to the same data burst, the time length of the second timer may be the same as the time length of the first timer.

[0297] Optionally, if the first data set and the third data set belong to different data bursts, the time length of the second timer may be different from the time length of the first timer.

[0298] In a possible design, the duration of the second timer is less than the duration of the first timer.

[0299] For example, the length of time of the second timer may be a value obtained by subtracting the second length of time from the length of time of the first timer. Optionally, the length of time of the second timer or the second length of time is related to a service period (e.g., the period of an XR service). For example, the length of time of the second timer may be a value obtained by subtracting the service period from the length of time of the first timer. Optionally, the second length of time may be configured by the network device, may be pre-configured, may be stored by the second communication device, or may be obtained in another manner. This is not limited in the present application. For example, the second length of time is equal to the service period.

[0300] In a possible implementation, when the data in the third data set is not acquired, the second communication device receives the first data from the first communication device and starts the second timer, for example, when the second communication device receives the first data but does not receive data in a third data set before the first data set, the second communication device starts the second timer.

[0301] It can be understood that the operation performed by the second communication device when the second timer expires is the same as the operation performed by the second communication device when the first timer expires. Therefore, reference can be made to the corresponding description in S503. The condition for stopping the second timer by the second communication device is the same as the condition for stopping the first timer by the second communication device. Therefore, reference can be made to the corresponding description in S504. Details will not be described again here.

[0302] From the perspective of the first communication device, the third data set can be understood to be transmitted before the first data or the first data set. If the second communication device receives the first data first and does not start the second timer, but starts the second timer after receiving the data in the third data set, the expiration of the second timer will be after the expiration of the first timer, and the second terminal device will not timely discard / transmit / update data based on the expiration of the second timer, causing an extra data transmission delay and affecting communication efficiency and quality. A method in which the second communication device receives the first data from the first communication device and starts the second timer can solve this problem and ensure timely data transmission, thereby facilitating decoding by the second communication device and improving communication quality and efficiency.

[0303] It should be noted that S502A can be executed before S502, or after S502, or simultaneously with S502. This is not limited.

[0304] It should be noted that steps S501 and S502 can be used as independent embodiments, steps S501 and S502A can be used as independent embodiments, step S503 can be used as an independent embodiment, and step S504 can be used as an independent embodiment.

[0305] For example, in the methods shown in Figures 5 and 7, a timer (e.g., the first timer or the second timer) is associated with a data set. In certain applications, the timer may alternatively be associated with data. Specifically, reference may be made to the methods shown in Figures 8 and 9A.

[0306] FIG. 8 illustrates another data transmission method according to an embodiment of the present application. The method may include the following steps.

[0307] S801: A first communication device transmits first data to a second communication device, and the second communication device correspondingly receives the first data from the first communication device. Alternatively, the first communication device transmits second data to the second communication device, and the second communication device correspondingly receives the second data from the first communication device.

[0308] For example, the first communication device may be one of the communication devices in the communication system 30 shown in Fig. 3, and the second communication device may be another communication device in the communication system 30 shown in Fig. 3. For example, the first communication device is communication device 301 in Fig. 3, and the second communication device is communication device 302 in Fig. 3.

[0309] For example, receiving the first data by the second communication device from the first communication device may include the second communication device obtaining the first data.

[0310] It should be noted that the contents in the embodiment of Fig. 8 (e.g., the second communication device acquiring the first data, and one or more of "contents related to the first data, the first data set, the second data, the fourth data set, and the maximum count value") refer to the contents in the embodiment of Fig. 5. Details will not be described again here.

[0311] For example, the second data is associated with the first dataset, the first data belongs to the first dataset, or the first dataset includes the first data; or the second data is associated with the fourth dataset, the second data belongs to the fourth dataset, or the fourth dataset includes the second data.

[0312] Optionally, the embodiment in Fig. 8 is applicable to the case where the reception deadlines of different data (e.g., PDUs or PDCP PDUs) in a data set (e.g., data burst or PDU set) are the same or similar, or the case where the reception deadlines of different data (e.g., PDUs or PDCP PDUs) in a data set (e.g., data burst or PDU set) are different or significantly different, as this is not limited thereto.

[0313] S802: The second communication device starts a third timer.

[0314] Optionally, the third timer is associated with the first data, or the third timer is a timer corresponding to the first data. Optionally, in the method shown in Figure 8, the second communication device may start the timer by using data (e.g., PDCP PDU or PDCP SDU) or COUNT as granularity. Optionally, in the method shown in Figure 8, the timer is per data (e.g., PDCP PDU or PDCP SDU) or COUNT.

[0315] In a possible implementation, the PDCP layer of the second communication device starts a third timer.

[0316] Optionally, the duration of the third timer may be configured by the network device, may be pre-configured, may be stored by the second communication device, or may be obtained in another manner, which is not limited in this application.

[0317] Optionally, when the second communication device receives the second data from the first communication device, the application further includes: the second communication device starting a sixth timer.

[0318] Optionally, the sixth timer is associated with the second data set or the sixth timer is a timer corresponding to the second data set.

[0319] For example, the sixth timer and the third timer have the same type / granularity but are associated with different data.

[0320] Optionally, the length of time of the sixth timer may be the same as or different from the length of time of the third timer, this is not limited.

[0321] Optionally, if the second data is associated with the first data set, the length of time of the sixth timer may be the same as the length of time of the third timer, for example, if the first data and the second data belong to the same data burst, the length of time of the sixth timer may be the same as the length of time of the third timer.

[0322] Optionally, if the second data is associated with a fourth data set, the length of the sixth timer may be different from the length of the third timer, for example, if the first data and the second data belong to different data bursts, the length of the sixth timer may be different from the length of the third timer.

[0323] In a possible design, the duration of the third timer is less than the duration of the sixth timer.

[0324] For example, the length of time of the third timer may be equal to the length of time of the sixth timer minus the third length of time. Optionally, the length of time of the third timer or the third length of time is related to a service period (e.g., the period of an XR service). For example, the length of time of the third timer may be the length of time of the sixth timer minus the service period. Optionally, the third length of time may be configured by the network device, pre-configured, stored by the second communication device, or obtained in another manner. This is not limited in the present application. For example, the third length of time is equal to the service period.

[0325] In a possible implementation, when the first data is not acquired, the second communication device receives the second data from the first communication device, and the second communication device starts a third timer. For example, when the second communication device receives the second data but does not receive the first data, the second communication device starts a third timer.

[0326] From the perspective of the first communication device, it can be understood that the first data is transmitted before the second data. If the second communication device receives the second data first and does not start the third timer, but starts the third timer after receiving the first data, the expiration time of the third timer will be later than the expiration time of the sixth timer. The second terminal device will not timely discard / transmit / update data based on the expiration of the third timer, causing an extra data transmission delay and affecting communication efficiency and quality. A method in which the second communication device receives the second data from the first communication device and starts the third timer can solve this problem and ensure timely data transmission, thereby facilitating decoding by the second communication device and improving communication quality and efficiency.

[0327] S803: When the third timer expires, the second communication device performs any one or more of operation 5, operation 6, operation 7, or operation 8.

[0328] Each operation is described in detail below.

[0329] Operation 5: Update the first state variable to the second count value.

[0330] Optionally, the second count value is greater than the count value of the first data.

[0331] Optionally, data corresponding to the second count value is not received by the second communication device.

[0332] Optionally, the second count value is greater than the maximum count value. Optionally, the second count value is equal to the maximum count value+1.

[0333] For example, the data corresponding to the second count value not being received by the second communication device may include / be replaced by any one or more of: the data corresponding to the second count value not being transmitted to a higher layer (e.g., the SDAP layer or the RRC layer); and the data corresponding to the second count value not being present / stored in the receiving buffer of the second communication device or the PDCP layer of the second communication device.

[0334] For example, the data corresponding to the second count value may include / be replaced with the PDCP SDU corresponding to the second count value.

[0335] Optionally, the data corresponding to the second count value is a first piece of unreceived data whose count value is greater than the count value of the first data. For example, the first piece of unreceived data whose count value is greater than the count value of the first data may include / be replaced by one or more of: a first piece of data whose count value is greater than the count value of the first data and has not been transmitted to a higher layer (e.g., an SDAP layer or an RRC layer); and a first piece of data whose count value is greater than the count value of the first data and that does not exist / is not stored in a receive buffer of the second communication device or in a PDCP layer of the second communication device.

[0336] For example, the second communication device updating the first state variable to a second count value may be understood as the second communication device updating the first state variable to a count value of a first piece of data that has not been transmitted to an upper layer, where the count value is greater than the count value of the first data.

[0337] For example, the second communication device updates the first state variable to the COUNT of the first data (e.g., PDCP SDU) that has not been transmitted to a higher layer (e.g., SDAP layer or RRC layer). The COUNT of the first data is greater than the count value of the first data. For example, the second communication device updates the first state variable to the first gap after the first data.

[0338] In a possible design, the second count value is greater than the maximum count value.

[0339] Optionally, the data corresponding to the second count value is a first piece of unreceived data whose count value is greater than the maximum count value. For example, the first piece of unreceived data whose count value is greater than the maximum count value may include / be replaced by one or more of: a first piece of data whose count value is greater than the maximum count value that has not been communicated to a higher layer (e.g., an SDAP layer or an RRC layer); and a first piece of data whose count value is greater than the maximum count value that does not exist / is not stored in a receive buffer of the second communication device or in a PDCP layer of the second communication device.

[0340] For example, if the second communication device recognizes the count value of the data with the maximum count value in the second data set, the maximum count value is the count value of the data with the maximum count value in the second data set; or, if the second communication device does not recognize the count value of the data with the maximum count value in the received data in the second data set, the maximum count value is the count value of the data with the maximum count value in the received data in the second data set.

[0341] For example, the second communication device updates the first state variable to the COUNT of the first data (e.g., PDCP SDU) that has not been transmitted to a higher layer (e.g., the SDAP layer or the RRC layer). The COUNT of the first data is greater than the maximum count value. For example, the second communication device updates the first state variable to the first gap after the second data set. For example, the second communication device updates the first state variable to the COUNT after the last received data in the second data set. For example, the second communication device updates the first state variable to the COUNT of the last received data in the second data set + 1.

[0342] It can be understood that through operation 5, when the third timer expires, the second communication device can update the first state variable to the second count value. In this way, the second communication device may not always need to wait for data whose count value is smaller than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data), and avoids a case where the first communication device stops transmitting data whose count value is smaller than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data, or some unreceived data in the first data set, the second data set, or the data before the first data), but the second communication device is still waiting to receive data whose count value is smaller than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data, or some unreceived data in the first data set, the second data set, or the data before the first data). This can reduce delays in transmitting data (e.g., subsequent data) by the second communication device. For example, even if the reordering timer is still running, the second communication device may update the first state variable or push or slide the PDCP window without waiting for the reordering timer to expire. This prevents the update of the first state variable or the PDCP window from being unnecessarily interrupted by some data (e.g., data that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces the delay in transmitting data (e.g., subsequent data) by the second communication device, thereby facilitating decoding by the second communication device and helping to improve communication efficiency and quality.

[0343] Operation 6: Transmit at least one received data whose count value is greater than the count value of the first data; or transmit at least one received data whose count value is greater than the maximum count value.

[0344] For example, "at least one received data whose count value is greater than the count value of the first data" may include any one or more of: at least one received but untransmitted data whose count value is greater than the count value of the first data; at least one data present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device whose count value is greater than the count value of the first data; data received / stored consecutively after the first data; and data received / stored consecutively whose count value is greater than the count value of the first data; and data received / stored consecutively starting from the count value of the first data + 1.

[0345] Optionally, the count values ​​of the at least one data are consecutive, for example, the at least one data includes a data whose count value is the count value of the first data+1.

[0346] For example, the at least one data includes consecutively received / sequentially stored data starting from data whose count value is the count value of the first data+1.

[0347] It should be noted that the content regarding "transmitting at least one received data whose count value is greater than the maximum count value" refers to the embodiment of Fig. 5. Details will not be described again here.

[0348] Optionally, the second communication device recognizes the count value of the data with the maximum count value in the second data set, and the second communication device performs operation 6. Alternatively, optionally, the maximum count value is the count value of the data with the maximum count value in the second data set, and the second communication device performs operation 6.

[0349] It can be understood that through operation 6, when the third timer is exceeded, the second communication device can timely transmit data whose count value is greater than the maximum count value, or can timely transmit data whose count value is greater than the count value of the first data, thereby reducing delay in data transmission by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is less than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data whose count value is less than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data, or some unreceived data in the first data set, the second data set, or data before the first data), but the second communication device is still waiting to receive data whose count value is less than the second count value or the maximum count value, or data before the first data (e.g., some unreceived data, or some unreceived data in the first data set, the second data set, or data before the first data). This reduces the delay in data transmission by the second communication device (e.g., data whose count value is greater than the maximum count value or the count value of the first data or the subsequent data). For example, even if the reordering timer is still running, the second communication device can transmit received data whose count value is greater than the maximum count value or the count value of the first data to an upper layer without waiting for the reordering timer to expire. This prevents the transmission of data whose count value is greater than the maximum count value or the count value of the first data from being meaninglessly interrupted by some data (e.g., data that is not received by the second communication device but whose transmission was stopped by the first communication device). Therefore, the delay in data transmission by the second communication device can be reduced, thereby helping to improve communication efficiency and quality.

[0350] Operation 7: Discard the first data set or the second data set, transmit the first data, or discard the first data.

[0351] For example, discarding the first or second data set may include / be replaced by: discarding the received data in the first or second data set.

[0352] For example, the received data in the first or second data set may include / be replaced by any one or more of the received but untransmitted data in the first or second data set and data in the first or second data set that is present / stored in a receive buffer of the second communication device or in the PDCP layer of the second communication device.

[0353] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first data set or the second data set is greater than or equal to a third threshold, the second communication device discards the first data set or the second data set.

[0354] For example, a packet loss rate / number of lost packets / amount of data in lost packets corresponding to the first or second data set being greater than or equal to a third threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the first or second data set being less than or equal to a ninth threshold.

[0355] Optionally, the third threshold is associated with the second data set or the first data set, for example, the third threshold is a maximum packet loss rate corresponding to the first data set, or the third threshold is a maximum packet loss rate corresponding to the second data set.

[0356] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first data set or the second data set is less than or equal to a third threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits the first data.

[0357] For example, a packet loss rate / number of lost packets / amount of data in lost packets corresponding to the first or second data set being less than or equal to a third threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the first or second data set being greater than or equal to a ninth threshold.

[0358] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the second data set is greater than or equal to a third threshold, the second communication device discards the second data set.

[0359] For example, a packet loss rate / number of lost packets / amount of data in lost packets corresponding to the second data set being greater than or equal to a third threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the second data set being less than or equal to a ninth threshold.

[0360] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the second data set is less than or equal to a third threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits the first data.

[0361] For example, a packet loss rate / number of lost packets / amount of data of lost packets corresponding to the second data set being less than or equal to a third threshold may include / be replaced with a reception rate / number of receptions / amount of received data corresponding to the second data set being greater than or equal to a ninth threshold.

[0362] It can be understood that through operation 7, when the third timer is exceeded, the second communication device can timely discard the first data set, the second data set, or the first data, or timely transmit the first data set, the second data set, or the first data, so that the time the second communication device waits to receive data can be shortened, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set), but the second communication device is still waiting to receive data whose count value is smaller than the first count value or the maximum count value (e.g., some unreceived data, or some unreceived data in the first data set or the second data set). This reduces the delay in transmitting data (e.g., subsequent data) by the second communication device. For example, even if the reordering timer is still running, the second communication device can transmit the received first data set or the received second data set to a higher layer without waiting for the reordering timer to expire. This prevents the transmission of the received data in the first data set or the second data set from being unnecessarily interrupted by some data (e.g., data in the first data set or the second data set that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces the delay in transmitting data by the second communication device, thereby helping to improve communication efficiency and quality. In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the received data. In this case, the first data set, the second data set, or the first data may be discarded, reducing the complexity of subsequent data processing.Also, if the second communication device is a base station and the base station discards the first data set or the second data set, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0363] Operation 8: Discard data whose count value is smaller than the count value of the first data, or transmit received data whose count value is smaller than the count value of the first data; or discard data whose count value is smaller than the minimum count value, or transmit received data whose count value is smaller than the minimum count value.

[0364] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is smaller than the count value of the first data is greater than or equal to a fourth threshold, the second communication device discards the data whose count value is smaller than the count value of the first data.

[0365] For example, the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is smaller than the count value of the first data being greater than or equal to the fourth threshold may include / be replaced with the reception rate / number of receptions / amount of received data corresponding to data whose count value is smaller than the count value of the first data being less than or equal to the tenth threshold.

[0366] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is smaller than the count value of the first data is smaller than or equal to a fourth threshold, or the packet loss rate / number of lost packets / amount of data of lost packets is not taken into consideration / considered, the second communication device transmits data whose count value is smaller than the count value of the first data.

[0367] For example, the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is smaller than the count value of the first data being smaller than or equal to the fourth threshold may include / be replaced with the reception rate / number of receptions / amount of received data corresponding to data whose count value is smaller than the count value of the first data being larger than or equal to the tenth threshold.

[0368] For example, when the third timer expires, the second communication device may discard the data before the first data, or may transmit the data before the first data.

[0369] Through operation 8, when the third timer expires, the second communication device may timely discard data that may not be received (e.g., data before the first data), or may timely transmit the data before the first data, thereby shortening the time the second communication device waits to receive data, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the time the second communication device waits to receive data may be shortened, thereby reducing the delay in data transmission by the second communication device. In this way, the second communication device may not always need to wait for data before the first data (e.g., some unreceived data), avoiding a case where the first communication device stops transmitting data before the first data (e.g., some unreceived data, or some unreceived data in the data before the first data) but the second communication device is still waiting to receive the data before the first data (e.g., some unreceived data, or some unreceived data in the data before the first data). This reduces the delay in data (e.g., subsequent data) transmission by the second communication device. For example, even if the reordering timer is still running, the second communication device may transmit previously received data of the first data to a higher layer without waiting for the reordering timer to expire. This prevents the transmission of previously received data of the first data from being unnecessarily interrupted by some data (e.g., data prior to the first data set that has not been received by the second communication device but that the first communication device has stopped transmitting). This reduces the delay in data transmission by the second communication device, thereby helping to improve communication efficiency and quality. In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the previously received data, in this case, the data prior to the first data may be discarded, reducing the complexity of subsequent data processing. Furthermore, if the second communication device is a base station and the base station discards the data prior to the first data, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0370] Optionally, operations 7 and 8 may be replaced by operation 10: discarding data whose count value is less than or equal to the maximum count value, or transmitting data whose count value is less than or equal to the maximum count value; or discarding data whose count value is less than or equal to the count value of the first data, or transmitting data whose count value is less than or equal to the count value of the first data.

[0371] For example, discarding data whose count value is less than or equal to the count value of the first data may include / be replaced by: discarding received data whose count value is less than or equal to the count value of the first data.

[0372] For example, transmitting data whose count value is less than or equal to the count value of the first data may include / be replaced by: transmitting received data whose count value is less than or equal to the count value of the first data.

[0373] For example, the received data in the data whose count value is less than or equal to the count value of the first data may include / be replaced by any one or more of: received but untransmitted data in the data whose count value is less than or equal to the count value of the first data; and data present / stored in the receive buffer of the second communication device or in the PDCP layer of the second communication device whose count value is less than or equal to the count value of the first data.

[0374] Optionally, if the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the count value of the first data is greater than or equal to an eleventh threshold, the second communication device discards the data whose count value is less than or equal to the count value of the first data.

[0375] For example, the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the count value of the first data being greater than or equal to the 11th threshold may include / be replaced with the reception rate / number of receptions / amount of received data corresponding to data whose count value is less than or equal to the count value of the first data being less than or equal to the 12th threshold.

[0376] Optionally, if the packet loss rate / number of lost packets / data amount of lost packets corresponding to data whose count value is smaller than or equal to the count value of the first data is smaller than or equal to an eleventh threshold, or the packet loss rate / number of lost packets / data amount of lost packets is not taken into consideration / considered, the second communication device transmits data whose count value is smaller than or equal to the count value of the first data.

[0377] For example, the packet loss rate / number of lost packets / amount of data of lost packets corresponding to data whose count value is less than or equal to the count value of the first data is less than or equal to the 11th threshold, which may include / be replaced with the reception rate / number of receptions / amount of received data corresponding to data whose count value is less than or equal to the count value of the first data being greater than or equal to the 12th threshold.

[0378] It can be understood that through operation 10, when the third timer is exceeded, the second communication device can timely discard data whose count value is less than or equal to the maximum count value or the count value of the first data, or can timely transmit data whose count value is less than or equal to the maximum count value or the count value of the first data, thereby shortening the time the second communication device waits to receive data, thereby reducing the delay in data transmission by the second communication device and facilitating decoding by the second communication device. In this way, the time the second communication device waits to receive data can be shortened, thereby reducing the delay in data transmission by the second communication device. In this way, the second communication device may not always need to wait for data whose count value is less than the maximum count value or the count value of the first data (e.g., some unreceived data), and avoids a case where the first communication device has stopped transmitting data whose count value is less than or equal to the maximum count value or the count value of the first data (e.g., some unreceived data, or some unreceived data in data whose count value is less than or equal to the maximum count value or the count value of the first data), but the second communication device is still waiting to receive data whose count value is less than or equal to the maximum count value or the count value of the first data (e.g., some unreceived data, or some unreceived data in data whose count value is less than or equal to the maximum count value or the count value of the first data). This reduces delays in transmitting data (e.g., subsequent data) by the second communication device. For example, even if the reordering timer is still running, the second communication device may transmit received data whose count value is less than or equal to the maximum count value or the count value of the first data to an upper layer without waiting for the reordering timer to expire. This prevents the transmission of received data whose count value is less than or equal to the maximum count value or the count value of the first data from being unnecessarily interrupted by some data (e.g., data whose count value is less than or equal to the maximum count value or the count value of the first data and that has not been received by the second communication device but whose transmission has been stopped by the first communication device).Therefore, the delay of data transmission by the second communication device can be reduced, thereby helping to improve communication efficiency and quality. In addition, considering that when packet loss reaches a certain level, the second communication device may not be able to successfully perform decoding based on the received data, in this case, data whose count value is less than or equal to the maximum count value or the count value of the first data can be discarded, thereby reducing the complexity of subsequent data processing. Furthermore, if the second communication device is a base station and the base station discards data whose count value is less than or equal to the maximum count value or the count value of the first data, unnecessary data transmission between the base station and the core network can be further avoided, thereby reducing network load.

[0379] Optionally, at S804, when the second condition is met, the second communication device stops the third timer.

[0380] Optionally, the second condition includes any one or more of: the first data is discarded; the first data set or the second data set is discarded; the first data is transmitted; data in the first data set or data in the second data set is transmitted; the first data is not present in the receiving buffer; data in the first data set or data in the second data set is not present in the receiving buffer; the first state variable is greater than a count value of the first data; or the first state variable is greater than a maximum count value.

[0381] It should be noted that the second communication device discarding the first data set (or the second data set) is not limited to the second communication device discarding all of the data in the first data set (or the second data set). For example, if part of the data in the first data set has been transmitted to an upper layer, the second communication device discards another part of the data in the first data set.

[0382] It should be noted that the second communication device transmitting data in the first data set (or the second data set) is not limited to the second communication device transmitting all of the data in the first data set (or the second data set). For example, the second communication device may not have received all of the data in the first data set, but because t-Reordering has been exceeded, the second communication device skips these gaps and these packets are not transmitted to the upper layer.

[0383] The actions of the first communication device or the second communication device in S801 to S804 may be executed by the processor 401 in the communication device 40 shown in Fig. 4 by calling application program code stored in the memory 403. This is not limited to this embodiment of the present application.

[0384] 8, when the third timer expires, the second communication device may timely discard data that may not be received, or timely transmit received data, and / or timely update the first state variable, so as not to continue waiting to receive data that may not be received, data that will no longer be transmitted, or invalid data. This reduces the delay in data transmission by the second communication device, so that the second communication device can perform decoding as soon as possible. In addition, when the second condition is met, the second communication device may stop the third timer, avoiding meaningless execution of the third timer, reducing the load / complexity of maintaining the timer by the second terminal device, and avoiding problems caused by the timer operation.

[0385] Optionally, in a possible scenario of the method shown in Fig. 8, the second communication device further starts a fourth timer. For example, as shown in Fig. 9A, the method shown in Fig. 8 further comprises S802A.

[0386] S802A: The second communication device starts a fourth timer.

[0387] Optionally, the fourth timer is associated with third data, for example, the third data is different from the first data, for example, the count value of the third data is smaller than the count value of the first data.

[0388] For example, the fourth timer and the third timer have the same type / granularity but are associated with different data.

[0389] Optionally, the length of time of the fourth timer may be the same as or different from the length of time of the third timer, this is not limited.

[0390] Optionally, when the third data is associated with the first data set, the length of the fourth timer may be the same as the length of the third timer, for example, when the first data and the third data belong to the same data burst.

[0391] Optionally, if the third data is associated with a third data set, the length of the fourth timer may be different from the length of the third timer, for example, if the first data and the third data belong to different data bursts, the length of the fourth timer may be different from the length of the third timer.

[0392] In a possible design, the duration of the fourth timer is less than the duration of the third timer.

[0393] For example, the length of the fourth timer may be equal to the length of the third timer minus the fourth length of time. Optionally, the length of the fourth timer or the fourth length of time is related to a service period (e.g., the period of the XR service). For example, the length of the fourth timer may be the length of the third timer minus the period of the XR service. Optionally, the fourth length of time may be configured by the network device, may be pre-configured, may be stored by the second communication device, or may be obtained in another manner. This is not limited in the present application. For example, the fourth length of time is equal to the service period.

[0394] In one possible implementation, when the third data is not acquired, the second communication device receives the first data from the first communication device and starts the fourth timer. For example, when the second communication device receives the first data but does not receive the third data before the first data, the second communication device starts the fourth timer.

[0395] It may be understood that the operation performed by the second communication device when the fourth timer expires is the same as the operation performed by the second communication device when the third timer expires. Therefore, reference may be made to the corresponding description in S803. The condition for stopping the fourth timer by the second communication device is the same as the condition for stopping the third timer by the second communication device. Therefore, reference may be made to the corresponding description in S804. Details will not be described again here.

[0396] It may be understood that S802A may be executed before S802, or may be executed after S802, or may be executed simultaneously with S802. This is not limited.

[0397] It should be noted that steps S801 and S802 can be used as independent embodiments, steps S801 and S802A can be used as independent embodiments, step S803 can be used as an independent embodiment, and step S804 can be used as an independent embodiment.

[0398] It should be noted that in this application, a timer may not be started based on data reception. For example, a timer may be started based on a time point. In this application, there is no limitation on how to start a timer. In this application, there is no dependency between the content related to timer expiration and / or timer stop and the content related to timer start, and the content may be implemented independently. This is not a limitation in this application.

[0399] It should be noted that in this application, the value of the timer may or may not take into account the delay requirements of the service, which is not limited.

[0400] For the transmitting end, if the transmission of a group of data cannot meet the decoding requirements of the receiving end (for example, the delay requirement is met, but the transmission still meets the decoding requirement), it is meaningless for the transmitting end to continue to transmit the remaining data in the group of data and subsequent associated data, which is a waste of resources and device power consumption. How to control the transmitting end not to continue to transmit subsequent meaningless data needs to be solved.

[0401] 9B shows a data transmission method according to an embodiment of the present application. The method may include the following steps:

[0402] S901: The first communication device acquires fourth data.

[0403] For example, the first communication device obtaining the fourth data may include / be replaced by the PDCP entity of the first communication device obtaining the fourth data from a higher layer (e.g., an SDAP layer).

[0404] Optionally, the fourth data is associated with the first data set, the fourth data belongs to the first data set, or the first data set comprises the fourth data.

[0405] Optionally, the fourth data is the first data in the first data set.

[0406] S902: The first communication device starts discard timer #4.

[0407] For example, discard timer 4 is associated with the fourth data.

[0408] For example, the discard timer is per PDCP PDU or PDCP SDU. For example, each PDCP PDU or PDCP SDU corresponds to one discard timer. In the prior art, when a discard timer expires, the PDCP PDU and / or PDCP SDU corresponding to the discard timer is discarded. For example, the discard timer is discardTimer.

[0409] Optionally, at S903, the first communication device obtains fifth data.

[0410] For example, the first communication device obtaining the fifth data may include / be replaced by the PDCP entity of the first communication device obtaining the fifth data from a higher layer (e.g., an SDAP layer).

[0411] Optionally, the fifth data is associated with the first data set, the fifth data belongs to the first data set, or the first data set comprises the fifth data.

[0412] Optionally, the fifth data is associated with, belongs to, or comprises the second data set.

[0413] For example, the fifth data comes after the fourth data. For example, the COUNT of the fifth data is greater than the COUNT of the fourth data.

[0414] Optionally, at S904, the first communication device starts a discard timer #5.

[0415] S905: When the discard timer #4 expires, the first communication device discards the fourth data and the fifth data, or the first data set or the second data set.

[0416] Optionally, when discard timer #4 is exceeded and the packet loss rate / number of lost packets / amount of data of lost packets corresponding to the first data set reaches a certain level (e.g., greater than or equal to a 13th threshold), the first communication device discards the fourth data and the fifth data, or the first data set, or the second data set.

[0417] Optionally, discarding the data may include discarding PDCP PDUs and / or PDCP SDUs corresponding to the data.

[0418] It should be noted that according to the method, when the discard timer #4 is exceeded, the first communication device may discard the fourth and fifth data, or the first data set, or the second data set, which can prevent the first communication device from continuing to send subsequent meaningless data, thereby helping to save resources and reduce device power consumption, and also helping to improve system capacity.

[0419] The above-mentioned embodiments in this application can be combined when the solutions are not contradictory. This is not limited.

[0420] It should be understood that the prior art may change with the evolution of technical solutions, and the technical solutions provided in this application are not limited to the prior art provided.

[0421] It should be noted that various embodiments or some steps (e.g., any one or more steps) of various embodiments in the present application can be combined with each other to form a new embodiment. It should be noted that some steps or any one or more steps in various embodiments can include optional steps in an embodiment, can include required steps in an embodiment, or can include optional steps and required steps in an embodiment. This is not limited in the present application.

[0422] It should be noted that unless otherwise specified and unless a logical contradiction occurs, the terms and / or descriptions in the various embodiments may be consistent and refer to each other.

[0423] It should be noted that the order of steps in the embodiments of the present application is not limited in the present application.

[0424] It should be noted that the order of determining different conditions in the embodiment of the present application is not limited in the present application.

[0425] It should be noted that the terms "after" and "when" in this application do not strictly limit the time.

[0426] In the above embodiments, it may be understood that the methods and / or steps implemented by the second communication device may also be implemented by components (e.g., chips or circuits) that can be used in the second communication device, and that the methods and / or steps implemented by the first communication device may also be implemented by components (e.g., chips or circuits) that can be used in the first communication device.

[0427] The solutions provided in the embodiments of the present application have been described above primarily in terms of interactions between devices. Correspondingly, the embodiments of the present application also provide a communication device. The communication device may be the second communication device in the above-described method embodiments, a device including the second communication device, or a component usable in the second communication device. The second communication device or the like may be understood to include corresponding hardware structures and / or software modules for performing each function to implement the above-described functions. In combination with the example units and algorithm operations described in the embodiments disclosed herein, those skilled in the art will readily recognize that the present application can be implemented by hardware or a combination of hardware and computer software. Whether a function is performed by hardware or hardware running computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but this implementation should not be considered beyond the scope of the present application.

[0428] In the embodiment of the present application, the second communication device may be divided into functional modules based on the above-mentioned method examples. For example, each functional module may be obtained through division of each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. In the embodiment of the present application, it may be understood that the module division is an example and is merely a logical functional division. In actual implementation, other division methods may exist.

[0429] 10 is a diagram of the structure of a communication device 100 when each functional module is obtained through division in an integrated manner. The communication device 100 includes a receiving module 1001 and a processing module 1002. The receiving module 1001 may also be referred to as a receiving unit and may be configured to perform a receiving operation, and may be, for example, a receiving circuit, a receiver, a receiver, or a communication interface. The processing module 1002 may also be referred to as a processing unit and may be configured to perform an operation other than a receiving operation, and may be, for example, a processing circuit or a processor.

[0430] In some embodiments, communication device 100 may further include a storage module and / or a transmission module (not shown in FIG. 10). The storage module may be configured to store program instructions and data. The transmission module may also be referred to as a transmission unit and may be configured to perform a transmission operation, and may be, for example, a transmission circuit, a transmitter, a transmitter, or a communication interface.

[0431] For example, the communication device 100 is, for example, the second communication device in the embodiment shown in FIG. 5 or the embodiment shown in FIG.

[0432] The receiving module 1001 is configured to obtain first data in a first data set. For example, the receiving module 1001 may be configured to perform S501.

[0433] The processing module 1002 is configured to start a first timer. For example, the processing module 1002 may be configured to execute S502.

[0434] The processing module 1002 is further configured to, when the first timer expires, perform one or more of the following actions: updating the first state variable to a first count value; transmitting at least one received but untransmitted piece of data whose count value is greater than a maximum count value; discarding the first data set or transmitting the first data set; or discarding data whose count value is less than a minimum count value or transmitting data whose count value is less than a minimum count value, wherein the first count value is greater than the maximum count value, data corresponding to the first count value has not been received, and the first state variable is updated to the first data set awaiting transmission. The count values ​​of the data are indicated; the count values ​​of at least one data are consecutive, and the at least one data includes a data whose count value is the maximum count value + 1; the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received data in the first data set; and the maximum count value is the count value of the data with the maximum count value in the second data set, or the maximum count value is the count value of the data with the maximum count value in the received data in the second data set.

[0435] For example, the processing module 1002 may be further configured to perform S503.

[0436] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0437] In a possible implementation, the first data is the first acquired data in the first data set.

[0438] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0439] In a possible implementation, the first timer is associated with the first data set.

[0440] In a possible implementation, the processing module 1002 is further configured to stop the first timer when a first condition is met, where the first condition includes any one or more of: the first data set or the second data set is discarded; or data in the first data set or data in the second data set is transmitted; or data in the first data set or data in the second data set is not present in the receiving buffer; or the first state variable is greater than a maximum count value.

[0441] In a possible implementation, the processing module 1002 is further configured to start a second timer, where the second timer is associated with a third data set, the third data set being different from the first data set.

[0442] In a possible implementation, the processing module 1002 is specifically configured to start a second timer when no data in a third data set is acquired, wherein the count value of the data with the maximum count value in the third data set is less than the minimum count value.

[0443] In a possible implementation, the duration of the second timer is less than the duration of the first timer.

[0444] In a possible implementation, discarding the first data set or transmitting the first data set includes: discarding the first data set when a packet loss rate corresponding to the first data set is greater than or equal to a first threshold; or transmitting the first data set when a packet loss rate corresponding to the first data set is less than a first threshold.

[0445] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received data whose count value is less than the minimum count value includes: discarding data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a second threshold; or transmitting received data whose count value is less than the minimum count value when a packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the second threshold.

[0446] In a possible implementation, the data whose count value is less than the minimum count value and the first data set belong to the same data burst.

[0447] When the communication device 100 is used to implement the functions of the second communication device, for other functions that can be implemented by the communication device, please refer to the relevant descriptions in the embodiment shown in Figure 5 or the embodiment shown in Figure 7. The details will not be described again.

[0448] Alternatively, for example, the communication device 100 is, for example, the second communication device in the eighth embodiment shown in FIG. 8 or the embodiment shown in FIG. 9A.

[0449] The receiving module 1001 is configured to obtain first data in a first data set. For example, the receiving module 1001 may be configured to perform S801.

[0450] The processing module 1002 is configured to start a third timer. For example, the processing module 1002 may be configured to execute S802.

[0451] The processing module 1002 is further configured to perform one or more of the following actions when the third timer expires: updating the first state variable to a second count value; transmitting at least one received but untransmitted piece of data whose count value is greater than the count value of the first data; discarding the first data set or transmitting the first data; or discarding data whose count value is less than a minimum count value or transmitting received but untransmitted data whose count value is less than the count value of the first data, wherein the second count value is greater than the count value of the first data and no data corresponding to the second count value has been received, and the first state variable indicates the count value of the first piece of data awaiting transmission; The count values ​​of one data are consecutive, and at least one data includes a data whose count value is the maximum count value + 1, or at least one data includes a data whose count value is the count value of the first data + 1; the maximum count value is the count value of the data with the maximum count value in the second data set, or the maximum count value is the count value of the data with the maximum count value in the received but untransmitted data in the second data set; the minimum count value is the count value of the data with the minimum count value in the first data set, or the minimum count value is the count value of the data with the minimum count value in the received but untransmitted data in the first data set.

[0452] For example, processing module 1002 is further configured to perform S803.

[0453] In a possible implementation, the first data set includes some or all of the data in the second data set.

[0454] In a possible implementation, the second count value is greater than the maximum count value.

[0455] In a possible implementation, the first data set comprises a data burst or a set of protocol data units.

[0456] In a possible implementation, the third timer is associated with the first data.

[0457] In a possible implementation, the processing module 1002 is further configured to stop the third timer when a second condition is met, wherein the second condition includes any one or more of: the first data is discarded; or the first data set or the second data set is discarded; or the first data is transmitted; or data in the first data set or data in the second data set is transmitted; or the first data is not present in the receiving buffer; or data in the first data set or data in the second data set is not present in the receiving buffer; or the first state variable is greater than a count value of the first data; or the first state variable is greater than a maximum count value.

[0458] In a possible implementation, the processing module 1002 is further configured to start a fourth timer, where the fourth timer is associated with second data, the second data being different from the first data.

[0459] In a possible implementation, the processing module 1002 is specifically configured to start a fourth timer when the second data is not acquired, where the count value of the second data is smaller than the count value of the first data.

[0460] In a possible implementation, the duration of the fourth timer is less than the duration of the third timer.

[0461] In a possible implementation, discarding the first data set or transmitting the first data includes: discarding the first data set if a packet loss rate corresponding to the first data set is greater than or equal to a third threshold; or transmitting the first data if a packet loss rate corresponding to the first data set is less than a third threshold.

[0462] In a possible implementation, discarding data whose count value is less than the minimum count value or transmitting received data whose count value is less than the count value of the first data includes: discarding data whose count value is less than the minimum count value if the packet loss rate corresponding to the data whose count value is less than the minimum count value is greater than or equal to a fourth threshold; or transmitting received data whose count value is less than the count value of the first data if the packet loss rate corresponding to the data whose count value is less than the minimum count value is less than the fourth threshold.

[0463] When the communication device 100 is used to implement the functions of the second communication device, for other functions that can be implemented by the communication device, please refer to the relevant descriptions in the embodiment shown in Figure 8 or the embodiment shown in Figure 9A, and the details will not be described again.

[0464] In a simple embodiment, those skilled in the art will appreciate that communication device 100 may be in the form shown in Figure 4. For example, processor 401 in Figure 4 may invoke computer-executable instructions stored in memory 403 to enable communication device 100 to perform the method in the method embodiments described above.

[0465] For example, the functions / implementation processes of the receiving module 1001 and the processing module 1002 in Figure 10 may be implemented by the processor 401 in Figure 4 by invoking computer-executable instructions stored in the memory 403. Alternatively, the functions / implementation processes of the processing module 1002 in Figure 10 may be implemented by the processor 401 in Figure 4 by invoking computer-executable instructions stored in the memory 403, and the functions / implementation processes of the receiving module 1001 in Figure 10 may be implemented by using the communication interface 404 in Figure 4.

[0466] It may be understood that one or more of the above modules or units may be implemented by software, hardware, or a combination thereof. When any one of the above modules or units is implemented by software, the software exists in the form of computer program instructions and is stored in a memory. A processor may be configured to execute the program instructions and implement the above method steps. The processor may be embedded in a SoC (System on Chip) or an ASIC, or may be an independent semiconductor chip. In addition to the core configured to perform calculations or processing by executing software instructions, the processor may further include necessary hardware accelerators, such as a field programmable gate array (FPGA), a programmable logic device (PLD), or a logic circuit that implements dedicated logic operations.

[0467] When the above modules or units are implemented by hardware, the hardware may be any one or combination of a CPU, microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, dedicated digital circuitry, hardware accelerator, or non-integrated discrete device, and the hardware may not execute necessary software or depend on software to perform the above method steps.

[0468] Optionally, the embodiments of the present application further provide a chip system including at least one processor and an interface. The at least one processor is coupled to a memory by using the interface, and when the at least one processor executes a computer program or instructions in the memory, a method according to any one of the above-mentioned method embodiments is performed. In a possible implementation, the chip system further includes a memory. Optionally, the chip system may include a chip, or may include a chip and another discrete component. This is not specifically limited in the embodiments of the present application.

[0469] Optionally, the embodiments of the present application further provide a computer-readable storage medium. All or part of the procedures in the above-described method embodiments may be implemented by a computer program instructing associated hardware. The program may be stored in a computer-readable storage medium. When the program is executed, the procedures in the above-described method embodiments may be included. The computer-readable storage medium may be an internal storage unit of the communication device according to any one of the above-described embodiments, such as a hard disk or memory of the communication device. Alternatively, the computer-readable storage medium may be an external storage device of the communication device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, or a flash card configured on the communication device. Furthermore, the computer-readable storage medium may include both the internal storage unit and the external storage device of the communication device. The computer-readable storage medium is configured to store the computer program and other programs and data required by the communication device. The computer-readable storage medium may also be configured to temporarily store output data.

[0470] Optionally, the embodiments of the present application further provide a computer program product. All or part of the steps in the above-described method embodiments may be implemented by a computer program that instructs relevant hardware. The program may be stored in the computer program product. When the program is executed, the steps in the above-described method embodiments may be included.

[0471] Optionally, the embodiments of the present application further provide computer instructions. All or part of the procedures in the above-described method embodiments may be implemented by computer instructions instructing related hardware (such as a computer, a processor, or a second communication device). The program may be stored in a computer-readable storage medium or a computer program product.

[0472] Optionally, the embodiment of the present application further provides a communication system including the first communication device and the second communication device in the above embodiment.

[0473] The above description of the implementation allows those skilled in the art to clearly understand that for the purpose of convenient and concise description, the division of the above functional modules is merely used as an example for description. In actual application, the above functions can be allocated and completed to different functional modules based on requirements, that is, the internal structure of the device is divided into different functional modules to complete all or part of the above-described functions.

[0474] In some embodiments provided herein, it should be understood that the disclosed devices and methods may be implemented in other ways. For example, the device embodiments described above are merely examples. For example, the division of modules or units is merely a logical division of function, and other division methods may exist in actual implementation. For example, multiple units or components may be combined or integrated into another device, or some features may be omitted or not implemented. In addition, the shown or described mutual couplings or direct couplings or communication connections may be implemented using some interfaces. Indirect couplings or communication connections between devices or units may be implemented in an electrical, mechanical, or other form.

[0475] The units described as separate parts may or may not be physically separate, and the parts shown as units may be one or more physical units, i.e., located in one place or distributed in different places. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.

[0476] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0477] The above description is merely a specific implementation of the present application, but is not intended to limit the scope of protection of the present application. Any modification or replacement within the technical scope disclosed in the present application shall fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims.

Claims

1. obtaining first data in a first data set and starting a first timer; updating a first state variable to a first count value when the first timer expires, wherein the first count value is greater than a maximum count value, no data corresponding to the first count value has been received, the first state variable indicating a count value of a first piece of data waiting to be transmitted, the maximum count value being the count value of the data with the maximum count value in a second data set, or the maximum count value being the count value of the data with the maximum count value in the received data in the second data set; A data transmission method comprising:

2. The method further comprises: stopping the first timer when a first condition is satisfied, wherein the first condition is: the first data set or the second data set is discarded; or the data in the first data set or the data in the second data set is communicated; or the data in the first data set or the data in the second data set is not present in a receive buffer; or the first state variable is greater than the maximum count value; including any one or more of The method of claim 1 , comprising:

3. The method further comprises: starting a second timer, wherein the second timer is associated with a third data set, the third data set being different from the first data set; The method of claim 1 or 2, comprising:

4. The step of starting a second timer comprises: starting the second timer if no data in the third data set is acquired, wherein a count value of the data with the highest count value in the third data set is less than a minimum count value, the minimum count value being the count value of the data with the lowest count value in the first data set, or the minimum count value being the count value of the data with the lowest count value in the received data in the first data set. The method of claim 3, comprising:

5. transmitting, by the first communication device, first data in the first data set to the second communication device; obtaining, by the second communication device, the first data and starting a first timer; and updating, by the second communication device, a first state variable to a first count value when the first timer expires, wherein the first count value is greater than a maximum count value, no data corresponding to the first count value has been received, the first state variable indicates a count value of a first piece of data waiting to be transmitted, the maximum count value is a count value of the data with the maximum count value in a second data set, or the maximum count value is a count value of the data with the maximum count value in the received data in the second data set. A data transmission method comprising:

6. The method further comprises: stopping the first timer by the second communication device when a first condition is satisfied, wherein the first condition is: the first data set or the second data set is discarded; or the data in the first data set or the data in the second data set is communicated; or the data in the first data set is not present in the receive buffer; or the first state variable is greater than the maximum count value; including any one or more of The method of claim 5 , comprising:

7. The method further comprises: starting a second timer by the second communication device, wherein the second timer is associated with a third data set, the third data set being different from the first data set; The method of claim 5 or 6, comprising:

8. The step of starting a second timer by the second communication device comprises: starting the second timer by the second communication device if no data in the third data set is acquired, wherein a count value of the data with the highest count value in the third data set is smaller than a minimum count value, the minimum count value being the count value of the data with the lowest count value in the first data set, or the minimum count value being the count value of the data with the lowest count value in the received data in the first data set. The method of claim 7, comprising:

9. The method of claim 1 , wherein the first data set comprises some or all of the data in the second data set.

10. The method of claim 1 , wherein the first data set comprises a data burst or a set of protocol data units.

11. The method of claim 1 , wherein the first timer is associated with the first data set.

12. The method according to claim 1 , wherein the first data is a first acquired piece of data in the first data set.

13. 9. The method of claim 3, 4, 7 or 8, wherein the duration of the second timer is less than the duration of the first timer.

14. obtaining first data and starting a third timer; and updating a first state variable to a second count value when the third timer expires, wherein the second count value is greater than the count value of the first data, data corresponding to the second count value has not been received, and the first state variable indicates a count value of a first piece of data waiting to be transmitted; A data transmission method comprising:

15. The method further comprises: stopping the third timer when a second condition is met, wherein the second condition is: the first data is discarded; or the first data set or the second data set is discarded; or the first data is communicated; or the data in the first data set or the data in the second data set is communicated; or the first data is not present in the receive buffer; or the data in the first data set or the data in the second data set is not present in the receive buffer; or the first state variable is greater than the count value of the first data; or the first state variable is greater than a maximum count value; wherein: the maximum count value is a count value of the data with the maximum count value in the second data set, or the maximum count value is a count value of the data with the maximum count value in the received data in the second data set; The method of claim 14, comprising:

16. The method further comprises: starting a fourth timer, wherein the fourth timer is associated with second data, the second data being different from the first data; 16. The method of claim 14 or 15, comprising:

17. The step of starting a fourth timer comprises: starting the fourth timer if the second data is not acquired, wherein a count value of the second data is smaller than the count value of the first data; 17. The method of claim 16, comprising:

18. transmitting, by the first communication device, the first data to the second communication device; obtaining, by the second communication device, the first data and starting a third timer; and updating a first state variable to a second count value by the second communication device when the third timer expires, wherein the second count value is greater than the count value of the first data, data corresponding to the second count value has not been received, and the first state variable indicates a count value of a first piece of data waiting to be transmitted; A data transmission method comprising:

19. The method further comprises: stopping, by the second communication device, the third timer when a second condition is satisfied, wherein the second condition is: the first data is discarded; or the first data set or the second data set is discarded; or the first data is communicated; or the data in the first data set or the data in the second data set is communicated; or the first data is not present in the receive buffer; or the data in the first data set or the data in the second data set is not present in the receive buffer; or the first state variable is greater than the count value of the first data; or the first state variable is greater than a maximum count value; wherein: the maximum count value is a count value of the data with the maximum count value in the second data set, or the maximum count value is a count value of the data with the maximum count value in the received data in the second data set; 20. The method of claim 18, comprising:

20. The method further comprises: starting a fourth timer by the second communication device, wherein the fourth timer is associated with the second data, and the second data is different from the first data; 20. The method of claim 18 or 19, comprising:

21. The step of starting a fourth timer by the second communication device comprises: starting the fourth timer by the second communication device if the second data is not acquired, wherein a count value of the second data is smaller than the count value of the first data; 21. The method of claim 20, comprising:

22. 22. The method of any one of claims 14 to 21, wherein the second count value is greater than the maximum count value.

23. 20. The method of claim 15 or 19, wherein the first data set comprises a data burst or a set of protocol data units.

24. 20. The method of claim 15 or 19, wherein the first data set includes some or all of the data in the second data set.

25. 24. The method of claim 15, 19 or 23, wherein the first data set comprises a data burst or a set of protocol data units.

26. 26. The method of claim 14, wherein the third timer is associated with the first data.

27. 22. The method of claim 16, 17, 20 or 21, wherein the length of time of the fourth timer is less than the length of time of the third timer.

28. A communications device comprising a unit or module configured to perform the method of any one of claims 1 to 4 and claims 9 to 13, or comprising a unit or module configured to perform the method of any one of claims 14 to 17 and claims 22 to 27.

29. a processor, wherein: the processor is coupled to a memory, the memory being configured to store a program or instructions; and when the program or the instructions are executed by the processor, the device is enabled to perform the method of any one of claims 1 to 4 and claims 9 to 13, or to perform the method of any one of claims 14 to 17 and claims 22 to 27. Communication equipment.

30. A computer-readable storage medium storing a computer program or instructions; which, when the computer program or the instructions are executed, enables a computer to carry out the method of any one of claims 1 to 4 and claims 9 to 13, or the method of any one of claims 14 to 17 and claims 22 to 27.

31. 19. A computer program product comprising computer program code; which, when said computer program code is run on a computer, enables said computer to implement the method of any one of claims 1 to 4 and claims 9 to 13, or to implement the method of any one of claims 14 to 17 and claims 22 to 27.

Citation Information

Patent Citations

  • User data compression method and apparatus for preventing data loss in wireless communication system

    US20200359449A1