Communication method and apparatus

By sending instructions when the data unit is discarded, the problem that the sending device causes the receiving device to affect the processing of the data unit is solved, and the effect of saving signaling overhead and transmission resources is achieved.

WO2025167501A1PCT designated stage Publication Date: 2025-08-14HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

During communication, when the sending device discards the data unit, it may cause gaps in the data unit number of the receiving device, affecting data processing.

Method used

By sending an indication information when the data unit is discarded, the receiving device processes according to the information to avoid or reduce the influence on the received data unit.

Benefits of technology

Save signaling overhead and transmission resources and improve data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025072568_14082025_PF_FP_ABST
    Figure CN2025072568_14082025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to a communication method and apparatus. The method comprises: a first apparatus receiving a first data unit and a second data unit at a first layer. The first data unit corresponds to a first serial number, and the second data unit corresponds to a second serial number, wherein the second serial number is greater than the first serial number. When the first data unit is discarded, the first apparatus may send first information, wherein the first information indicates that there is a data unit being discarded.
Need to check novelty before this filing date? Find Prior Art

Description

Communication method and device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on February 8, 2024, with application number 202410177936.5 and application name “A Communication Method and Device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of communication technology, and in particular to a communication method and device. Background Art

[0004] The sending device may assign a number to the data unit being sent and include the number in the data unit being sent. For example, a sequence number (SN). In this way, the receiving device may process the data unit based on the number. However, to meet requirements such as latency, the sending device may discard some data units when sending data units. For example, if the packet loss timer associated with a data unit expires while the data unit is still in the buffer of the sending device, the sending device may discard the data unit. The operation of discarding data units may cause gaps in the numbers corresponding to the data units on the receiving device side, thereby affecting the receiving device's processing of the received data units. Summary of the Invention

[0005] The present application provides a communication method and apparatus for reducing the impact on a receiving device processing a data unit.

[0006] In a first aspect, the present application provides a communication method. The method can be performed by a first device. The first device can be a terminal or a module in the terminal (such as a circuit or chip), or a logical node, a logical module or software that can implement all or part of the terminal functions. The method may include: the first device receives a first data unit and a second data unit at a first layer. The first data unit may correspond to a first number, the second data unit may correspond to a second number, and the second number may be greater than the first number. When the first data unit is discarded, the first device may send a first message, and the first message may indicate that a data unit has been discarded.

[0007] With this method, when a first data unit is discarded, the first device may send a first message indicating that a data unit has been discarded. A second device that receives the first message may then process the received data unit based on the first message, thereby avoiding or minimizing the impact on the second device's processing of the received data unit.

[0008] In one possible design, when the first data unit is discarded, the first device may start or restart a first timer. When the first timer expires, the first device may send the first message. With this design, when the first data unit is discarded, the first device may temporarily suspend sending the first message. Only when the first timer expires does the first device send the first message. In this way, if a new data unit is discarded while the first timer is running, the first device does not need to send a first message for each discarded data unit, thereby saving signaling overhead and transmission resources.

[0009] In one possible design, when the first timer times out and no data unit corresponding to the first number exists within the entire duration of the first timer, the first device may send the first information. With this design, when the first data unit is discarded, the first device may temporarily refrain from sending the first information. If a data unit corresponding to the first number exists in the first device within the entire duration of the first timer, the first device may not send the first information. If no data unit corresponding to the first number exists in the first device within the entire duration of the first timer, the first device may send the first information when the first timer times out. In this way, the first device can send the first information on demand, thereby saving signaling overhead and transmission resources.

[0010] In one possible design, the method may further include: the first device may further receive a third data unit at the first layer. The third data unit may correspond to a third number, which may be less than the second number and greater than the first number. When the third data unit is discarded, the first device may send a third message, which may indicate that a data unit has been discarded. In this way, each time a data unit is discarded, the first device may send a message indicating that a data unit has been discarded, thereby promptly notifying the second device of the discarded data unit.

[0011] In one possible design, the first information may indicate that the first data unit is discarded. With this design, the first device may accurately indicate that the first data unit is discarded through the first information.

[0012] In one possible design, when a first data unit is discarded and the number of discarded data units is greater than or equal to a first threshold, the first device may send the first information. With this design, when a first data unit is discarded, the first device may temporarily refrain from sending the first information. The first device only sends the first information when the number of discarded data units is greater than or equal to the first threshold, thereby avoiding sending a first information message for each discarded data unit, thereby saving signaling overhead and transmission resources.

[0013] In one possible design, the method may further include: when the first information is delivered to the second layer, the first device may start or restart a second timer. During the running of the second timer, the first information is not delivered to the second layer. With this design, the first device will not trigger or send the first information again for a certain period of time after the first information is delivered to the second layer, thereby avoiding frequent triggering or sending of the first information by the first device, thereby saving signaling overhead and transmission resources.

[0014] Optionally, the second layer may be radio link control (RLC).

[0015] In one possible design, when a first data unit is discarded and the first data unit belongs to a first data unit group, the first device may send first information. Optionally, when a first data unit is discarded and the first data unit belongs to a first data unit group, the first device may send a first information for the first data unit group. In this way, the first device does not need to send a first information for each discarded data unit in the first data unit group, thereby saving signaling overhead and transmission resources.

[0016] In one possible design, the first device may send the first information when the first data unit is discarded and the second data unit is sent or is to be sent. With this design, the first device only sends the first information when the first data unit is discarded and the second data unit is sent or is to be sent, that is, when there is a gap in the data unit numbering due to the discarding of the first data unit. It should be understood that if all data units of the first device are discarded, even if the first device sends the first information, the second device cannot process the received data units based on the first information, and will unnecessarily occupy transmission resources. This design can avoid resource waste.

[0017] In one possible design, the first information may indicate a first count value, and the first count value may be determined according to the first number. With this design, the first information may accurately indicate the first count value.

[0018] In one possible design, the first information may include a first packet header, which may include first indication information, and the first indication information may indicate that the first data unit is discarded. With this design, the first device may timely and accurately indicate the first count value through the first information.

[0019] In one possible design, the first information may further include second indication information, which may include padding bits. When the second indication information includes padding bits, the first information may be a null packet. Therefore, this design can indicate that the first data unit is discarded by sending a null packet, thereby saving transmission resources.

[0020] In a possible design, the first number and the second number may be adjacent.

[0021] In one possible design, the first number and / or the second number may be a serial number or a count value.

[0022] In one possible design, the first layer may include a packet data convergence protocol (PDCP) layer.

[0023] In one possible design, the first data unit and / or the second data unit may be a service data unit (SDU) or a protocol data unit (PDU).

[0024] In a second aspect, the present application provides a communication method. The method can be performed by a second device. The second device can be an access network device or a module (such as a circuit or chip) in the access network device, and can also be a logical node, logical module or software that can implement all or part of the functions of the access network device. The method may include: the second device can receive first information, and the first information can indicate that a data unit has been discarded. Then, the second device can process the received data unit according to the first information.

[0025] By using this method, the first information can indicate that a data unit is discarded. In this way, the second device that receives the first information can process the received data unit according to the first information, thereby avoiding or reducing the impact on the second device's processing of the received data unit.

[0026] In one possible design, the first information may indicate that M data units were discarded. The second device may treat the discarded data units indicated by the first information as received, or skip the discarded data units and process the received data units. This design can avoid or reduce the impact on the second device's processing of the received data units.

[0027] In one possible design, the first information may indicate that the first data unit is discarded.

[0028] In one possible design, the first information may include a first packet header, the first packet header may include first indication information, and the first indication information may indicate that the first data unit is discarded.

[0029] In one possible design, the first information may also include second indication information, and the second indication information may include padding bits.

[0030] In one possible design, the first information may indicate a first count value, which may be determined based on the first number. The second device may update count value #a to the first count value and process the received data unit based on count value #a. Count value #a may be the count value corresponding to the first PDCP SDU that has not been delivered to a higher layer of the PDCP layer. This design can avoid or reduce the impact on the second device's processing of the received data unit.

[0031] In a third aspect, the present application provides a communication method. The method can be performed by a first device. The first device can be a terminal or a module in the terminal (such as a circuit or chip), or a logical node, a logical module or software that can implement all or part of the terminal functions. Among them, the method may include: the first device receives a first data unit and a second data unit at a first layer, the first data unit corresponds to a first number, the second data unit corresponds to a second number, and the second number is greater than the first number. When the first data unit is discarded, the first device triggers a first message, and the first message indicates that a data unit is discarded.

[0032] With this method, when a first data unit is discarded, the first device can trigger a first message indicating that a data unit has been discarded. A second device that receives the first message can then process the received data unit based on the first message, thereby avoiding or minimizing the impact on the second device's processing of the received data unit.

[0033] In one possible design, the first data unit is not delivered by the second layer to a lower layer of the second layer, and the second layer is a lower layer of the first layer.

[0034] In one possible design, the first layer includes a PDCP layer, and the second layer includes an RLC layer.

[0035] In one possible design, the method also includes: when a packet loss timer corresponding to the first data unit expires, the first device discards the first data unit.

[0036] In one possible design, when the first data unit is discarded, the first device triggers the first information, including: when the first data unit is discarded and the second data unit is not discarded, the first device triggers the first information.

[0037] In one possible design, the packet loss timer corresponding to the second data unit has not timed out.

[0038] In one possible design, the first information indicates that M data units are discarded, where the M data units include the first data unit, and M is a positive integer.

[0039] In one possible design, the first information indicates M numbers, where the M numbers are numbers corresponding to M data units.

[0040] In one possible design, the first information includes the smallest number among the M numbers; or, the first information includes the first number among the M numbers.

[0041] In one possible design, when M is greater than 1, the first information also includes a first bit map, the first bit in the first bit map corresponds to the next adjacent number of the first number in the M numbers, and the last M-1 numbers in the M numbers are determined based on the bit in the first bit map that takes the first value.

[0042] In one possible design, the last M-1 numbers of the M numbers are determined based on the bit in the first bit map taking the first value, including: when the value of a bit in the first bit map takes the first value, the data unit corresponding to the bit is discarded; and / or, when the value of a bit in the first bit map takes the second value, the data unit corresponding to the bit is not discarded, and the first value and the second value are different.

[0043] In one possible design, the bits in the first bitmap correspond to the next adjacent number of the first number among the M numbers and one or more subsequent numbers in ascending order of numbers.

[0044] In one possible design, the method further includes: the first device delivering the first information to a lower layer of the first layer.

[0045] In one possible design, the first information indicating that a data unit is discarded includes: the first information indicating a first count value, where the first count value is determined based on the first number.

[0046] In one possible design, the first data unit and / or the second data unit is an SDU or a PDU.

[0047] In a fourth aspect, the present application provides a communication method. The method can be performed by a second device. The second device can be an access network device or a module (such as a circuit or chip) in the access network device, and can also be a logical node, logical module or software that can implement all or part of the functions of the access network device. The method may include: the second device receives first information, the first information is used to indicate that a data unit is discarded; the second device determines the discarded data unit based on the first information.

[0048] In one possible design, the first information indicates that M data units are discarded, where M is a positive integer.

[0049] In one possible design, the first information indicates M numbers, where the M numbers are numbers corresponding to M data units.

[0050] In one possible design, the first information includes the smallest number among the M numbers; or, the first information includes the first number among the M numbers.

[0051] In one possible design, when M is greater than 1, the first information also includes a first bit map, the first bit in the first bit map corresponds to the next adjacent number of the first number in the M numbers, and the last M-1 numbers in the M numbers are determined based on the bit in the first bit map that takes the first value.

[0052] In one possible design, the last M-1 numbers of the M numbers are determined based on the bit in the first bit map taking the first value, including: when the value of a bit in the first bit map takes the first value, the data unit corresponding to the bit is discarded; and / or, when the value of a bit in the first bit map takes the second value, the data unit corresponding to the bit is not discarded, and the first value and the second value are different.

[0053] In one possible design, the method also includes: when the value of the first variable is less than or equal to the maximum count value corresponding to M data units, the second device updates the value of the first variable to the maximum count value corresponding to M data units + 1, and the first variable indicates the count value corresponding to the next data unit expected to be received.

[0054] In one possible design, the method further includes: when the value of the second variable is equal to the second count value, the second device passes at least one data unit starting with the count value #a+1 to a higher layer of the third layer; wherein the second variable indicates the smallest count value among the count values ​​corresponding to the data units that have not been passed to the higher layer of the third layer and are still waiting to be received, the second count value is the count value corresponding to one of the M data units, the numbering of at least one data unit is continuous, and the at least one data unit includes: a data unit in the receiving cache, and / or, part or all of the M data units.

[0055] In one possible design, the method also includes: the second device updates the value of the second variable to a third count value, the third count value is the minimum count value corresponding to the data unit in the data unit set #1, any data unit in the data unit set #1 is not submitted to a higher layer of the third layer and does not belong to the M data units; the count value corresponding to any data unit in the data unit set #1 is greater than the current value of the second variable.

[0056] In one possible design, the third layer includes a PDCP layer.

[0057] In a fifth aspect, the present application provides a communication device. The communication device may be a terminal or a module in the terminal (such as a circuit or chip), or may be a logical node, a logical module, or software that can implement all or part of the terminal functions. The communication device has the function of implementing the first or third aspect above. For example, the communication device includes a module or unit or means corresponding to the operations involved in the first or third aspect above, and the module or unit or means may be implemented by software, or by hardware, or the corresponding software may be implemented by hardware.

[0058] In one possible design, the communication device is used to implement any possible design method in the first aspect or the third aspect.

[0059] Furthermore, the communication device includes user equipment (UE) or a chip, wherein the user equipment may also be referred to as a terminal.

[0060] In one possible design, the communication device includes a processing unit and an interface unit. The interface unit can transmit and receive signals to enable communication between the communication device and other devices, and the processing unit can perform certain internal operations of the communication device. The functions performed by the processing unit and the interface unit can correspond to the operations described in the first or third aspects above.

[0061] In one possible design, the communication device includes a processor, which may be coupled to a memory. The memory may store the necessary computer programs or instructions for implementing the functions of the first or third aspects described above. The processor may execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the communication device implements the method of any possible design of the first or third aspects described above.

[0062] In one possible design, the communication device includes a processor and a memory, and the memory may store the necessary computer programs or instructions for implementing the functions of the first or third aspect. The processor may execute the computer program or instructions stored in the memory. When the computer program or instructions are executed, the communication device implements the method of any possible design of the first or third aspect.

[0063] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor communicates with other devices through the interface circuit and executes the method in any possible design of the first aspect or the third aspect above.

[0064] In a sixth aspect, the present application provides a communication device, which may be an access network device or a module (such as a circuit or chip) in an access network device, or a logical node, logical module or software that can implement all or part of the functions of the access network device. The communication device has the function of implementing the second or fourth aspect above. For example, the communication device includes a module or unit or means corresponding to the operations involved in the second or third aspect above, and the module or unit or means may be implemented by software, or by hardware, or the corresponding software implementation may be executed by hardware.

[0065] In one possible design, the communication device is used to implement any possible design method in the second aspect or the third aspect.

[0066] Furthermore, the communication device includes a network device or a chip.

[0067] Furthermore, the network device includes an access network device.

[0068] In one possible design, the communication device includes a processing unit and an interface unit. The interface unit can transmit and receive signals to enable communication between the communication device and other devices, and the processing unit can perform certain internal operations of the communication device. The functions performed by the processing unit and the interface unit can correspond to the operations described in the second or third aspects above.

[0069] In one possible design, the communication device includes a processor, which may be coupled to a memory. The memory may store the necessary computer programs or instructions for implementing the functions of the second or third aspect. The processor may execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the communication device implements the method of any possible design of the second or third aspect.

[0070] In one possible design, the communication device includes a processor and a memory, and the memory may store the necessary computer programs or instructions for implementing the functions involved in the second or third aspect. The processor may execute the computer program or instructions stored in the memory. When the computer program or instructions are executed, the communication device implements the method in any possible design of the second or third aspect.

[0071] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor communicates with other devices through the interface circuit and executes the method in any possible design of the second aspect or the third aspect above.

[0072] It can be understood that in the fifth aspect or the sixth aspect above, the processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor, which is implemented by reading the software code stored in the memory. In addition, the above processors can be one or more, and the memories can be one or more. The memory can be integrated with the processor, or the memory and the processor can be set separately. In the specific implementation process, the memory can be integrated with the processor on the same chip, or can be set on different chips respectively. The embodiment of the present application does not limit the type of memory and the setting method of the memory and the processor.

[0073] In a seventh aspect, the present application provides a communication system. The communication system may include the communication device described in the fifth aspect and the communication device described in the sixth aspect. For example, the communication system includes a terminal and an access network device. The terminal executes the communication method provided in the first aspect, and the access network device executes the communication method provided in the second aspect; alternatively, the terminal executes the communication method provided in the third aspect, and the access network device executes the communication method provided in the fourth aspect.

[0074] In an eighth aspect, the present application provides a computer-readable storage medium, in which computer-readable instructions are stored. When the computer-readable instructions are executed, the method in any possible design of any aspect from the first to the fourth aspects mentioned above is implemented.

[0075] In a ninth aspect, the present application provides a computer program product, which includes computer program instructions or codes. When the computer program instructions or codes are executed, the method in any possible design of any aspect from the first to the fourth aspects mentioned above is implemented.

[0076] In a tenth aspect, the present application provides a chip, which reads a computer program stored in a memory to execute a method in any possible design of any aspect from the first to the fourth aspects above.

[0077] The technical effects that can be achieved in any of the second to tenth aspects mentioned above can refer to the description of the technical effects that can be achieved in any possible design in the first aspect mentioned above, and the repetitions will not be discussed. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] FIG1 is an architecture diagram of a communication system provided in an embodiment of the present application;

[0079] 2A and 2B are schematic diagrams of several application scenarios provided by embodiments of the present application;

[0080] FIG3 is a flow chart of a communication method provided in an embodiment of the present application;

[0081] 4A to 4J are schematic diagrams of several types of first information provided in embodiments of the present application;

[0082] FIG5 is a structural diagram of a communication device provided in an embodiment of the present application;

[0083] FIG6 is a structural diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0084] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. The technical solutions in the embodiments of the present application can be applied to various communication systems, such as universal mobile telecommunications system (UMTS), wireless local area network (WLAN), wireless fidelity (Wi-Fi or WiFi) system, 4th generation (4G) mobile communication system, such as long term evolution (LTE) system, fifth generation (5G) mobile communication system, such as new radio (NR) system, and future evolved communication systems, such as sixth generation (6G) mobile communication system, etc.

[0085] This application will present various aspects, embodiments, or features in the context of systems that may include multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all of the devices, components, modules, etc. discussed in conjunction with the figures. Furthermore, combinations of these aspects may also be used.

[0086] To facilitate understanding of the embodiments of the present application, Figure 1 shows a possible, non-limiting system diagram. As shown in Figure 1, a communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 10 may also include the Internet 300.

[0087] The RAN 100 includes at least one RAN node (e.g., 110a and 110b in FIG. 1 , collectively referred to as 110) and at least one terminal (e.g., 120a-120j in FIG. 1 , collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment (not shown in FIG. 1 ). The terminal 120 is wirelessly connected to the RAN node 110. The RAN node 110 is wirelessly or wiredly connected to the core network 200. The core network equipment in the core network 200 and the RAN node 110 in the RAN 100 may be separate physical devices, or they may be a single physical device that integrates core network logical functions and radio access network logical functions.

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

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

[0090] The RAN node can also be expressed in different ways, such as access network equipment. Unless otherwise specified in this application, the access network equipment is used to express it.

[0091] In one possible scenario, the access network device may be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a 6G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system. The access network device may be a macro base station (such as 110a in Figure 1), a micro base station or an indoor station (such as 110b in Figure 1), a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the access network device may also be a server, a wearable device, a vehicle or an on-board device, etc. For example, the access network device in the vehicle to everything (V2X) technology may be a road side unit (RSU). All or part of the functions of the access network device in this application may also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (such as a cloud platform). The access network device in this application may also be a logical node, a logical module or software that can implement all or part of the functions of the access network device.

[0092] In another possible scenario, multiple access network devices collaborate to assist the terminal in achieving wireless access, and different access network devices respectively implement part of the functions of the base station. For example, the access network device can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0093] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0094] A terminal may also be referred to as a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, etc. A terminal may be a mobile phone, tablet computer, computer with wireless transceiver function, wearable device, vehicle, drone, helicopter, airplane, ship, robot, robotic arm, smart home device, etc. The embodiments of the present application do not limit the device form of the terminal.

[0095] In the following text of this application, "sending information to a device (such as a terminal)" can be understood as the destination of the information being the device, and can include sending information to the device directly or indirectly. "Receiving information from a device (such as a terminal)" can be understood as the source of the information being the device, and can include receiving information from the device directly or indirectly. The information may be processed as necessary between the source and destination of the information, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be understood similarly and will not be repeated here.

[0096] The communication system and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. A person skilled in the art will appreciate that, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0097] The following first explains the relevant terms involved in the embodiments of the present application. It should be noted that these explanations are intended to make the embodiments of the present application easier to understand and should not be regarded as limiting the scope of protection claimed by this application.

[0098] 1. Data

[0099] In the present application, the unit of data may be one of the following: SDU, PDU, protocol data unit set (PDU set) or a data burst. Among them, the PDU may include the SDU and the header of the layer corresponding to the PDU. For example, the PDCP PDU may include a PDCP SDU and a PDCP header. The PDU set may include at least one PDU, and each PDU may carry an information unit generated by an application (or application layer). For example, when the amount of data in a data frame is large, the data frame may be divided into multiple PDUs for transmission, and the PDU set may include the multiple PDUs. A data burst can be understood as a group of PDUs generated and sent by an application (or application layer) within a period of time. This group of PDUs may come from one or more PDU sets, and the duration of the period of time may be less than a set value.

[0100] Optionally, in the present application, the data unit may be an SDU (eg, PDCP SDU) or a PDU (PDCP PDU), wherein the PDCP PDU may be a PDCP data PDU.

[0101] 2. Data processing by the sending device:

[0102] The entities corresponding to multiple layers in the sending device can process the data in sequence. Exemplarily, the entity corresponding to the service data adaptation protocol (SDAP) layer in the sending device (which may be referred to as the first SDAP entity) may map data in the form of a quality of service (QoS) stream to a corresponding data radio bearer (DRB) to obtain a PDCP SDU, and submit the PDCP SDU to the PDCP layer in the sending device. The entity corresponding to the PDCP layer in the sending device (which may be referred to as the first PDCP entity) may generate a PDCP PDU based on the PDCP SDU, and submit the PDCP PDU to a lower layer(s) of the PDCP layer. The lower layer may be located in the sending device, and the lower layer may be, for example, an RLC layer. The entity corresponding to the RLC layer in the sending device (which may be referred to as the first RLC entity) may process the PDCP PDU to obtain an RLC PDU, and submit the RLC PDU to the media access control (MAC) layer in the sending device. The following describes some of the processing methods of the first PDCP entity in the sending device.

[0103] (1) Configure and start the packet loss timer for the PDCP SDU:

[0104] After receiving each PDCP SDU, the first PDCP entity may configure and start a packet loss timer for the PDCP SDU; in other words, each PDCP SDU may correspond to a packet loss timer. Since the PDCP PDU may include a PDCP SDU and a PDCP header, each PDCP PDU may also correspond to a packet loss timer. If the packet loss timer associated with a PDCP SDU expires, the PDCP SDU or the PDCP PDU including the PDCP SDU is still in the buffer of the transmitting device, the transmitting device may discard the PDCP SDU or the PDCP PDU including the PDCP SDU. For example, after receiving PDCP SDU#1, the first PDCP entity may start the associated packet loss timer #1 for PDCP SDU#1. If the PDCP SDU#1 is still in the buffer of the transmitting device when the packet loss timer #1 expires, the transmitting device may discard PDCP SDU#1. For another example, after receiving PDCP SDU#1, the first PDCP entity may start the associated packet loss timer #1 for PDCP SDU#1. If the PDCP PDU including the PDCP SDU#1 is still in the buffer of the transmitting device when the packet loss timer #1 times out, the transmitting device may discard the PDCP PDU including the PDCP SDU#1.

[0105] Optionally, the duration of the packet loss timer corresponding to different PDCP SDUs may be different. For example, for services such as XR, there may be a dependency between data frames. For example, the second data frame may need to rely on the first data frame for encoding or decoding. Therefore, if the data transmission of the first data frame fails, even if the second data frame is received, the receiving device cannot decode the second data frame. In view of this characteristic of services such as XR, the concept of data importance is introduced. For example, the data frames of services such as XR can be divided into important data frames and unimportant data frames through PDU set importance (PSI) indication. If the access network device configures a timer (hereinafter referred to as packet loss timer #a) for the first PDCP entity through the high-layer signaling low-importance packet loss timer (discardTimerForLowImportance) and indicates to activate (or start) importance-based packet loss, the first PDCP entity may configure and start a regular packet loss timer (hereinafter referred to as packet loss timer #b) for the PDCP SDU of the important data frame, and configure and start packet loss timer #a for the PDCP SDU of the unimportant data frame. The duration of packet loss timer #a may be shorter than the duration of packet loss timer #b. For example, if the second PDCP SDU is unimportant data or belongs to an unimportant data unit group, and the first PDCP SDU is important data or belongs to an important data unit group, then after receiving the first PDCP SDU, the first PDCP entity may associate and start a packet loss timer #b for the first PDCP SDU; after receiving the second PDCP SDU, the first PDCP entity may associate and start a packet loss timer #a for the second PDCP SDU. Exemplarily, importance-based packet loss can be activated or deactivated by the access network device via a MAC control element (MAC CE). Optionally, importance-based packet loss can be configured with DRB as the granularity.

[0106] In some implementations, if the transmitting device is configured with packet loss based on the granularity of data unit groups, such as PDU sets, when the packet loss timer corresponding to any PDCP SDU in the PDU set expires, the transmitting device may discard all data units in the PDU set. For example, the PDU set includes PDCP SDU#1 to PDCP SDU#4. When the packet loss timer corresponding to any PDCP SDU in PDCP SDU#1 to PDCP SDU#4 expires, for example, the packet loss timer associated with the first SDU that arrives at the first PDCP entity expires, the transmitting device may discard PDCP SDU#1 to PDCP SDU#4. Exemplarily, packet loss based on the granularity of data unit groups can be configured by the access network device for the first PDCP entity of the transmitting device (e.g., terminal) through an RRC message (e.g., PDU group discard (pdu-SetDiscard)).

[0107] (2) Allocate a count value for the PDCP SDU:

[0108] After receiving each PDCP SDU, the first PDCP entity may assign a count value to the PDCP SDU; in other words, each PDCP SDU may correspond to a count value. Since a PDCP PDU may include a PDCP SDU and a PDCP header, each PDCP PDU may also correspond to a count value. The count value may include a SN and a hyperframe number (HFN). The SN may be sent along with the data, and the HFN may be a locally maintained variable. Therefore, after receiving the SN, the receiving device may determine the HFN based on the SN, thereby determining the count value.

[0109] Each PDCP SDU may correspond to a unique count value and SN. The first PDCP entity may allocate the count value and SN to the PDCP SDU through the following steps A1 to A2:

[0110] Step A1: After receiving a PDCP SDU, the first PDCP entity may use the variable TX_NEXT as the count value of the PDCP SDU and the least significant bits (A) of the variable TX_NEXT as the SN of the PDCP SDU, where A is a positive integer. For example, if the length of the SN is configured as 18 bits, the first PDCP entity may use the least significant 18 bits (also referred to as the lower 18 bits) of the variable TX_NEXT as the SN of the PDCP SDU. For another example, if the length of the SN is configured as 12 bits, the first PDCP entity may use the least significant 12 bits (also referred to as the lower 12 bits) of the variable TX_NEXT as the SN of the PDCP SDU.

[0111] Step A2: The first PDCP entity may increase the variable TX_NEXT by 1.

[0112] Optionally, after the PDCP PDU is subjected to header compression (if configured to perform header compression), integrity protection, and encryption, the first PDCP entity may increase the variable TX_NEXT by 1.

[0113] For the next PDCP SDU, the first PDCP entity may repeat steps A1 to A2 until all count values ​​and SNs are allocated to all PDCP SDUs.

[0114] Optionally, in the method shown in step A1 to step A2, the initial value of the variable TX_NEXT may be 0.

[0115] (3) Allocate the count value corresponding to the discarded PDCP SDU to the subsequent PDCP SDU:

[0116] After discarding a certain PDCP SDU, the first PDCP entity may allocate a count value corresponding to the discarded PDCP SDU to other PDCP SDUs.

[0117] In some examples, the first PDCP entity may set the count value corresponding to the PDCP SDU subsequently received from a higher layer of the PDCP layer to the count value corresponding to the discarded PDCP SDU. For example, the count value corresponding to PDCP SDU#1 is 0, and the count value corresponding to PDCP SDU#2 is 1. After discarding PDCP SDU#1, the first PDCP entity may set the count value corresponding to PDCP SDU#2 to 0. Optionally, the modification operation may occur before the first PDCP entity performs encryption and integrity protection on the subsequent PDCP SDU. If the setting operation occurs after the first PDCP entity performs encryption and integrity protection on the subsequent PDCP SDU, the complexity is higher.

[0118] In other examples, the first PDCP entity may assign the count value corresponding to the discarded PDCP SDU to the count value corresponding to a subsequently received PDCP SDU. For example, the first PDCP entity first receives PDCP SDU#1 and PDCP SDU#2. The count value corresponding to PDCP SDU#1 is 0, and the count value corresponding to PDCP SDU#2 is 1. After discarding PDCP SDU#1, the first PDCP entity may assign the count value of 0 to the newly received PDCP SDU#3, i.e., the count value corresponding to PDCP SDU#3 is 0.

[0119] (4) Perform header compression, integrity protection and encryption:

[0120] NR system header compression is typically based on the robust header compression (ROHC) framework defined in the Internet Engineering Task Force (IETF) request for comments (RFC). If the transmitting device is a terminal and the first PDCP entity processes the PDCP entity for user plane data, the first PDCP entity may perform header compression.

[0121] The integrity protection function may include integrity protection and integrity verification. Integrity protection protects the unencrypted data part and the PDCP PDU header in the PDCP PDU. Integrity protection can be used for PDCP data PDU, but is usually not used for PDCP control PDU. After the integrity protection function is activated, the first PDCP entity can calculate the message authentication code for integrity (MAC-I) of each PDCP PDU corresponding to the PDCP entity based on the integrity protection algorithm, and fill the MAC-I in the MAC-I field corresponding to the PDCP PDU. In this way, the corresponding PDCP entity in the receiving device can verify the integrity of the PDCP PDU based on the information in the MAC-I field.

[0122] The purpose of encryption is to ensure that if information is intercepted by non-target receiving devices, the non-target receiving devices cannot obtain its content, thereby protecting the confidentiality of the data. After the encryption function is activated, the first PDCP entity can encrypt the corresponding PDCP data PDU based on the corresponding count value (such as TX_NEXT) of each PDCP SDU and the encryption algorithm and key specified by the higher layer. In this way, the PDCP entity corresponding to the receiving device can decrypt the received PDCP data PDU based on the count value and the encryption algorithm and key specified by the higher layer. Generally, the encryption function is not used for PDCP control PDUs.

[0123] 3. Data processing by the receiving device:

[0124] Entities corresponding to multiple layers in the receiving device can process data sequentially. Exemplarily, the entity corresponding to the PDCP layer in the receiving device (which can be referred to as the second PDCP entity) can receive PDCP PDUs from the entity corresponding to the RLC layer in the receiving device (which can be referred to as the second RLC entity), and determine the corresponding count value according to the SN corresponding to the received PDCP PDU. Then, the second PDCP entity can perform decryption and integrity verification according to the count value corresponding to the PDCP PDU. If the integrity verification fails, the second PDCP entity can discard the PDCP PDU. If the integrity verification is successful, the second PDCP entity can determine whether to store the PDCP SDU in the received PDCP PDU in the receive buffer, and can determine whether the PDCP SDU in the receive buffer can be passed to the upper layer(s) of the PDCP layer according to the count value corresponding to the PDCP PDU. Among them, the upper layer can be located in the receiving device, and the upper layer is, for example, the SDAP layer. The following describes some processing methods of the second PDCP entity.

[0125] 1), Determine the corresponding count value according to the SN (which can be expressed as RCVD_SN) corresponding to the received PDCP PDU:

[0126] The second PDCP entity can determine the received HFN (which can be expressed as RCVD_HFN) corresponding to the PDCP PDU in the following way:

[0127] If RCVD_SN < SN(RX_DELIV) - Window_Size, the second PDCP entity can determine that RCVD_HFN = HFN(RX_DELIV) + 1;

[0128] [[ID=1C]]If RCVD_SN >= SN(RX_DELIV) + Window_Size, the second PDCP entity can determine that RCVD_HFN = HFN(RX_DELIV) - 1;

[0129] If SN(RX_DELIV) - Window_Size <= RCVD_SN < SN(RX_DELIV) + Window_Size, the second PDCP entity can determine that RCVD_HFN = HFN(RX_DELIV).

[0130] Then, the second PDCP entity may determine the count value corresponding to the received PDCP PDU based on the SN and HFN corresponding to the received PDCP PDU. For example, the second PDCP entity may determine the count value corresponding to the received PDCP PDU as RCVD_COUNT=[RCVD_HFN,RCVD_SN].

[0131] SN(RX_DELIV) may be the SN corresponding to the variable RX_DELIV maintained in the second device, and HFN(RX_DELIV) may be the HFN value corresponding to the variable RX_DELIV. The specific contents of the variable RX_DELIV can be found in the description of the variable RX_DELIV below and will not be expanded upon here. Window size (Window_size) is a constant representing the size of the reordering window. Window_size is equal to half the value space of SN. For example, if the bit width (or length, such as the number of bits) of SN is 12, then Window_size is 2048. For another example, if the bit width of SN is 18, then Window_size is 131072. Z = [X, Y] can be understood as concatenating X and Y, for example, appending Y after X. The bit width of Z may be the sum of the bit widths of X and Y.

[0132] 2) Determine whether to store the PDCP SDU in the received PDCP PDU in the receive buffer:

[0133] The PDCP PDU received by the second PDCP entity may include PDCP PDU # 1. PDCP PDU # 1 is taken as an example to illustrate how the second PDCP entity determines whether to store the PDCP SDU in the received PDCP PDU in the receiving buffer.

[0134] If the count value corresponding to PDCP PDU#1 is less than count value #a, the second PDCP entity may determine not to store the PDCP SDU in PDCP PDU#1 in the receive buffer and discard PDCP PDU#1. Count value #a may be the count value corresponding to the first PDCP SDU that has not been delivered to a higher layer of the PDCP layer, or count value #a may be the count value corresponding to a PDCP SDU that has not been delivered to a higher layer of the PDCP layer but is still waiting to be received, or count value #a may be the smallest count value among the count values ​​corresponding to PDCP SDUs that have not been delivered to a higher layer of the PDCP layer but are still waiting to be received; in other words, count value #a may be the lower boundary of the reordering window, that is, the smallest count value in the reordering window. Count value #a may be recorded by the second PDCP entity through the variable RX_DELIV. The initial value of the variable RX_DELIV may be 0. For example, if the second PDCP entity has delivered PDCP SDUs with count values ​​of 0 to 3 to a higher layer of the PDCP layer, the count value corresponding to the first PDCP SDU that has not been delivered to the higher layer of the PDCP layer is 4, that is, the count value #a is 4. In this case, if the count value corresponding to PDCP PDU#1 is 1, because the count value corresponding to PDCP PDU#1 is less than the count value #a, the second PDCP entity may determine not to deliver the PDCP SDU in PDCP PDU#1 to a higher layer of the PDCP layer, and discard PDCP PDU#1.

[0135] If the count value corresponding to PDCP PDU#1 is greater than or equal to count value #a, the second PDCP entity determines that the PDCP SDU in PDCP PDU#1 can be stored in the receive buffer. For example, if the second PDCP entity has already delivered PDCP SDUs with corresponding count values ​​of 0 to 3 to a higher layer of the PDCP layer, the count value corresponding to the first PDCP SDU that has not been delivered to the higher layer of the PDCP layer is 4, that is, count value #a is 4. If the count value corresponding to PDCP PDU#1 is 5, the second PDCP entity determines that the PDCP SDU in PDCP PDU#1 can be stored in the receive buffer.

[0136] Through the above steps, the second PDCP entity may store one or more PDCP SDUs in the receiving buffer.

[0137] 3) Determine whether the PDCP SDU in the receive buffer can be delivered to a higher layer of the PDCP layer based on the count value corresponding to the PDCP PDU:

[0138] Taking PDCP SDU#1 as the PDCP SDU with the smallest corresponding count value in the receive buffer as an example, the following describes how the second PDCP entity determines whether to pass the PDCP SDU in the receive buffer to a higher layer of the PDCP layer based on the count value corresponding to the PDCP PDU.

[0139] When the count value corresponding to PDCP SDU#1 is equal to count value #a, the second entity may pass at least one PDCP SDU starting from PDCP SDU#1 in the receive buffer to a higher layer of the PDCP layer and update count value #a to the maximum count value corresponding to the at least one PDCP SDU+1. The count values ​​corresponding to the at least one PDCP SDU are continuous. For example, if count value #a is 3, the receive buffer includes PDCP SDU#1 and PDCP SDU#2, and the count values ​​corresponding to PDCP SDU#1 and PDCP SDU#2 are 3 and 4, respectively, the second PDCP entity may pass PDCP SDU#1 and PDCP SDU#2 to a higher layer of the PDCP layer and update count value #a to 5. For another example, if the count value #a is 3, the receive buffer includes PDCP SDU #1, PDCP SDU #2, and PDCP SDU #3, and the count values ​​corresponding to PDCP SDU #1, PDCP SDU #2, and PDCP SDU #3 are 3, 4, and 6, respectively, the second PDCP entity may deliver PDCP SDU #1 and PDCP SDU #2 to a higher layer of the PDCP layer and update the count value #a to 5. In this case, PDCP SDU #3 will not be delivered to a higher layer of the PDCP layer.

[0140] When the count value corresponding to PDCP SDU #1 is greater than count value #a, whether the second PDCP entity delivers one or more PDCP SDUs in the receive buffer to a higher layer of the PDCP layer is related to the reordering timer. For ease of understanding, the reordering timer is first introduced below.

[0141] The reordering timer may be started in the following circumstances: the count value #b is greater than the count value #a. The count value #b may be the count value of the next PDCP SDU that the second PDCP entity expects to receive. Exemplarily, the count value #b may be determined based on the maximum count value corresponding to the PDCP SDU in the receiving buffer of the second PDCP entity. For example (hereinafter referred to as Example 1), the count value #b may be the maximum count value corresponding to the PDCP SDU in the receiving buffer of the second PDCP entity + 1. Optionally, the reordering timer will only be started when the count value #b is greater than the count value #a and the reordering timer is not running; in other words, when the count value #b is greater than the count value #a, but the reordering timer has been started, the reordering timer may not be restarted. For example, if the count value #a is 3, the second PDCP entity receives a PDCP SDU #2, and the count value corresponding to PDCP SDU #2 is 4, then the count value #b may be changed to 5. In this case, the count value #b is greater than the count value #a. If the reordering timer is not running at this time, the second PDCP entity may start the reordering timer.

[0142] When the reordering timer is started, the second PDCP entity may update the value of count value #c to the value of count value #b, where count value #c may be used to indicate a count value related to the PDCP PDU that triggered the reordering timer. Typically, count value #c may indicate the next count value of the count value corresponding to the PDCP PDU that triggered the reordering timer, such as count value #c may be the count value corresponding to the PDCP PDU that triggered the reordering timer + 1. For example, in Example 1 in the previous paragraph, the count value corresponding to the PDCP PDU that triggered the reordering timer is 4, and count value #c is 4+1=5.

[0143] The count value #b may be recorded by the second PDCP entity through the variable RX_NEXT. The initial value of the variable RX_NEXT may be 0. The count value #c may be recorded by the second PDCP entity through the variable RX_REORD.

[0144] When the reordering timer expires, the second PDCP entity may deliver at least one PDCP SDU starting from PDCP SDU #1 in the receive buffer to a higher layer of the PDCP layer, and update the count value #a to the count value #a1, where the count value #a1 is the count value corresponding to PDCP SDU #a1. PDCP SDU #a1 is the PDCP SDU with the smallest count value in PDCP SDU set #1, and PDCP SDU set #1 includes all PDCP SDUs that have not been uploaded to a higher layer and whose count values ​​are greater than or equal to count value #c.

[0145] The at least one PDCP SDU starting with PDCP SDU #1 may include all PDCP SDUs in PDCP SDU Set #2. In other words, when the reordering timer expires, the second PDCP entity may deliver all PDCP SDUs in PDCP SDU Set #2 to a higher layer of the PDCP layer. PDCP SDU Set #2 may include all PDCP SDUs in the receive buffer whose corresponding count values ​​are greater than and equal to the count value corresponding to PDCP SDU #1 and less than count value #c. For example, if count value #a is 3, the receive buffer includes PDCP SDU #1, PDCP SDU #2, PDCP SDU #3, PDCP SDU #4, and PDCP SDU #5, and the count values ​​corresponding to PDCP SDU #1, PDCP SDU #2, PDCP SDU #3, PDCP SDU #4, and PDCP SDU #5 are 4, 5, 8, 9, and 11, respectively, and count value #c is 8, then PDCP SDU Set #2 may include PDCP SDU #1 and PDCP SDU #2.

[0146] Optionally, when the reordering timer expires, if the count value corresponding to PDCP SDU#a2 in the receive buffer is equal to count value #c, the at least one PDCP SDU starting from PDCP SDU#1 may further include: one or more PDCP SDUs starting from PDCP SDU#a2 in the receive buffer; in other words, the second PDCP entity may deliver the one or more PDCP SDUs starting from PDCP SDU#a2 in the receive buffer to a higher layer of the PDCP layer, wherein the count values ​​corresponding to the one or more PDCP SDUs are consecutive. For example, if count value #a is 3, the receive buffer includes PDCP SDU #1, PDCP SDU #2, PDCP SDU #3, PDCP SDU #4, and PDCP SDU #5, the count values ​​corresponding to PDCP SDU #1, PDCP SDU #2, PDCP SDU #3, PDCP SDU #4, and PDCP SDU #5 are 4, 5, 8, 9, and 11, respectively, and count value #c is 8, then PDCP SDU set #2 may include PDCP SDU #1 and PDCP SDU #2; PDCP SDU #a2 is PDCP SDU #3, and one or more PDCP SDUs starting from PDCP SDU #a2 in the receive buffer may include PDCP SDU #3 and PDCP SDU #4. When the reordering timer expires, the second PDCP entity may deliver PDCP SDU #1, PDCP SDU #2, PDCP SDU #3, and PDCP SDU #4 to a higher layer of the PDCP layer and update count value #a to 10. In addition, in this scenario, the count value #b may be 12, so the second PDCP entity may update the value of the count value #c to the value of the count value #b and start the reordering timer.

[0147] 4. In the following text of this application, the number can be a count value or SN.

[0148] As previously described, the transmitting device may discard data units, such as PDCP PDUs or PDCP SDUs, based on a packet loss timer. This discarding of data units may result in gaps in the numbers corresponding to the data units on the receiving device. For example, the numbers corresponding to the data units on the receiving device may be discontinuous, or the numbers of data units received by the receiving device may be larger than the numbers of data units not received, or the numbers of data units discarded by the transmitting device may be smaller than the numbers of data units that have been sent or are to be sent, thereby affecting the receiving device's processing of the received data units.

[0149] The sent data unit may be understood as data that has been sent by the first device, such as a data unit that has been delivered to a lower layer and transmitted via an air interface or other media.

[0150] The data unit to be sent can be understood as a data unit that has not yet been sent in the first device. Among them, the data unit that has not yet been sent in the first device can be understood as a data unit in any layer or any entity in the first device. For example, the data unit to be sent may include data that has been processed by the first PDCP entity but has not yet been delivered to a lower layer (such as the first RLC entity). For another example, the data unit to be sent may include data that has been processed by the first PDCP entity and delivered to a lower layer but has not yet been sent.

[0151] For example, as shown in Figure 2A, the sending device discards the PDCP SDUs corresponding to count values ​​0 to 6, and sends the PDCP PDUs corresponding to count values ​​7 to 19 in sequence. After receiving the PDCP PDU corresponding to the count value 7, the second PDCP entity in the receiving device may start a reordering timer because the PDCP PDUs corresponding to count values ​​0 to 6 have not been received. During the operation of the reordering timer, the second PDCP entity may receive the PDCP PDUs corresponding to count values ​​8 to 13, and store the PDCP SDUs in the PDCP PDUs corresponding to count values ​​7 to 13 (i.e., the PDCP SDUs corresponding to count values ​​7 to 13) in the receiving buffer. During the operation of the reordering timer, the second PDCP entity will not pass the PDCP SDUs corresponding to count values ​​7 to 13 to a higher layer of the PDCP layer. Only when the reordering timer expires can the second PDCP entity pass the PDCP SDUs corresponding to count values ​​7 to 13 to a higher layer of the PDCP layer. This method increases the transmission delay of the PDCP SDUs corresponding to count values ​​7 to 13.

[0152] In addition, the lengths of packet loss timers corresponding to different data units in the sending device may be different. Thus, the numbers corresponding to the data units discarded by the sending device may include multiple segments, which may further affect the processing of the received data units by the receiving device.

[0153] For example, as shown in FIG2B , the duration of the packet loss timer set by the transmitting device for the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 is duration #1, and the duration of the packet loss timer set for the PDCP SDUs corresponding to count values ​​3 to 5 and 9 to 11 is duration #2, and duration #1 is less than duration #2. Exemplarily, duration #1 may be determined by packet loss timer #a, and duration #2 may be determined by packet loss timer #b. In this case, the transmitting device may discard the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8, and sequentially transmit the PDCP PDUs corresponding to count values ​​3 to 5 and 9 to 11. After receiving the PDCP PDU corresponding to count value 3, the second PDCP entity in the receiving device may start a reordering timer because the PDCP PDUs corresponding to count values ​​0 to 2 have not been received. While the reordering timer is running, the second PDCP entity may receive PDCP PDUs corresponding to count values ​​4 to 5 and 9 to 11, and store the PDCP SDUs in the PDCP PDUs corresponding to count values ​​3 to 5 and 9 to 11 (i.e., the PDCP SDUs corresponding to count values ​​3 to 5 and 9 to 11) in the receive buffer. While the reordering timer is running, the second PDCP entity will not pass the PDCP SDUs corresponding to count values ​​3 to 5 and 9 to 11 to higher layers of the PDCP layer. Only when the reordering timer expires can the second PDCP entity pass the PDCP SDUs corresponding to count values ​​3 to 5 to higher layers of the PDCP layer and update the count value #a to 6.

[0154] Since the PDCP PDUs corresponding to count values ​​6 to 8 have not been received, the second PDCP entity in the receiving device may restart the reordering timer. While the reordering timer is running, the second PDCP entity will not pass the PDCP SDUs corresponding to count values ​​9 to 11 to higher layers of the PDCP layer. Only when the reordering timer expires will the second PDCP entity pass the PDCP SDUs corresponding to count values ​​9 to 11 to higher layers of the PDCP layer and update the count value #a to 12.

[0155] This method further increases the transmission delay of the PDCP SDU corresponding to the count values ​​9 to 11.

[0156] An embodiment of the present application provides a communication method. Figure 3 is a flow chart corresponding to the communication method provided by the present application. In Figure 3, the method is illustrated by taking the first device and the second device as the execution subjects of the interaction diagram as an example, but the present application does not limit the execution subjects of the interaction diagram. For example, the first device can be a terminal (for example, UE), or a module applied to the terminal, such as a chip, a chip system, or a processor, or a logical node, a logical module, or software that can realize all or part of the terminal functions; the second device can also be an access network device (for example, RAN), or a module applied to the access network device, such as a chip, a chip system, or a processor, or a logical node, a logical module, or software that can realize all or part of the access network device functions.

[0157] As shown in FIG3 , the method includes the following steps:

[0158] S301: A first device may receive a first data unit and a second data unit at a first layer.

[0159] Among them, the first data unit may correspond to a first number. Optionally, the first number may be allocated by the first device to the first data unit. For example, the first number may be allocated by the entity corresponding to the first layer in the first device (hereinafter referred to as the first entity) to the first data unit. In the present application, the first number may be a count value or an SN. Therefore, for the specific content of the first entity allocating the first number to the first data unit, please refer to the explanation of "allocating count values ​​and SNs to PDCP SDUs" in the above explanation of terms. The only difference is that the first PDCP entity is replaced by the first entity, and the PDCP SDU is replaced by the first data unit. No further details will be given here.

[0160] The second data unit may correspond to a second number. Optionally, the second number may be allocated by the first device to the second data unit. For example, the second number may be allocated by the first entity to the second data unit. In the present application, the second number may be a count value or a sequence number. Therefore, for the specific content of the first entity allocating the second number to the second data unit, please refer to the explanation of "allocating count values ​​and SNs to PDCP SDUs" in the above explanation of terms. The only difference is that the first PDCP entity is replaced by the first entity, and the PDCP SDU is replaced by the second data unit. No further details will be given here.

[0161] In some implementations, the second number may be greater than the first number. Optionally, in this implementation, the first number and the second number may be numbers. For example, if the first number is 2 and the second number is 3, then the second number is greater than the first number.

[0162] In some other implementations, the second number may be after the first number. Optionally, in this implementation, the first number and the second number may belong to a sequence with a precedence relationship. For example, the first number and the second number may belong to a sequence including English letters. If the first number is A and the second number is B, then the second number is after the first number.

[0163] It should be understood that the first number and the second number can be continuous or discontinuous. In addition, when the first number is a count value, the second number can be a count value; or when the first number is an SN, the second number can be an SN.

[0164] Optionally, in S301, the first device may receive, at the first layer, the first data unit and the second data unit from a higher layer of the first layer. For example, the first layer may be a PDCP layer, and the first device may receive, at the PDCP layer, the first data unit and the second data unit from a higher layer of the PDCP layer (e.g., an SDAP layer); in other words, the first PDCP entity in the first device may receive the first data unit and the second data unit from a higher layer of the PDCP layer (e.g., an SDAP layer).

[0165] S302: When a first data unit is discarded, the first device may send a first message. In other words, when a first condition is satisfied, the first device may send the first message, where the first condition may include condition #1: the first data unit is discarded. Accordingly, the second device may receive the first message. The first message may indicate that a data unit is discarded.

[0166] For example, a first device receives a first data unit and a second data unit at a first layer. The first data unit corresponds to a first number 2, and the second data unit corresponds to a second number 3. When the first data unit is discarded, the first device may send a first message; accordingly, the second device may receive the first message.

[0167] In S302, the first device may determine that the first data unit is discarded, that is, determine that condition #1 is satisfied. There may be multiple ways to determine this, for example, way a1 and / or way a2.

[0168] Method a1: The first device may determine that the first data unit is discarded according to a packet loss timer corresponding to the first data unit.

[0169] In some examples, if the first data unit is still in the cache of the first device when the packet loss timer corresponding to the first data unit times out, the first device may determine that the first data unit is discarded and discard the first data unit.

[0170] In other examples, if the packet loss timer corresponding to the first data unit expires and the first data unit is not transmitted by a lower layer of the first layer, the first device may determine that the first data unit is discarded and discard the first data unit. Exemplarily, the first layer is the PDCP layer. When the packet loss timer corresponding to the first data unit expires, if the RLC layer of the first device does not deliver the first data unit to a lower layer of the RLC layer, or if the lower layer of the first layer does not send the first data unit through the radio frequency unit, the first device may determine that the first data unit is discarded and discard the first data unit.

[0171] Optionally, mode a1 may be applicable to RLC unacknowledged mode (UM). In UM, the second RLC entity may not send information indicating whether the data unit is successfully received to the first RLC entity.

[0172] Through this method a1, the first device can promptly and accurately determine that the first data unit is discarded based on the packet loss timer.

[0173] Mode a2: The first device may determine that the first data unit is discarded based on the feedback information for the first data unit. For example, if the first device does not receive feedback information indicating that the first data unit is successfully received, the first device may determine that the first data unit is discarded. Wherein, the first device does not receive feedback information indicating that the first data unit is successfully received, which can be understood as the feedback information being used to indicate that the first data unit is not successfully received, or, it can also be understood as the first device does not receive feedback information for the first data unit, or, it can also be understood as the first data unit is not confirmed by the feedback information.

[0174] Exemplarily, the first RLC entity in the first device and the second RLC entity in the second device may adopt acknowledged mode (AM). In AM, the second RLC entity may determine which data units corresponding to the numbers have not been received based on the numbers of the received data units, and thus may send the feedback information to the first RLC entity. After receiving the feedback information, the first RLC entity may send the feedback information to the first PDCP entity in the first device. The first PDCP entity may thereby determine that the first data unit is discarded. For example, the first number corresponding to the first data unit is 1. If the numbers of the data units received by the second RLC entity include 0 and 2, the second RLC entity may send feedback information to the first RLC entity, and the feedback information indicates that the first data unit corresponding to number 1 has not been successfully received. The first RLC entity indicates the reception status of the data of the first PDCP entity based on the feedback information, and the first PDCP entity may thereby determine that the first data unit corresponding to number 1 is discarded.

[0175] Through the method a2, the first device can quickly and accurately determine that the first data unit is discarded based on the feedback information.

[0176] Optionally, the first device may also determine that the first data unit is discarded through method a1 and method a2; in other words, method a1 and method a2 may also jointly determine that condition #1 is satisfied. Exemplarily, the first device may determine that the first data unit is discarded based on a packet loss timer corresponding to the first data unit and feedback information of the first data unit. For example, when the packet loss timer corresponding to the first data unit times out and the first device does not receive feedback information indicating that the first data unit is successfully received, the first device may determine that the first data unit is discarded.

[0177] Optionally, there are multiple ways to implement S302, for example, at least one of ways b1 to b5.

[0178] Method b1:

[0179] S302 may include steps B1 to B2:

[0180] Step B1: When the first data unit is discarded, the first device may start or restart the first timer; in other words, the first timer may be started or restarted when the first data unit is discarded, or, when condition #1 is met, the first device may start or restart the first timer, and condition #1 may include: the first data unit is discarded.

[0181] For example, a first device receives a first data unit and a second data unit at a first layer. The first data unit corresponds to a first number 2, and the second data unit corresponds to a second number 3. When the first data unit is discarded, the first device may start or restart a first timer.

[0182] The duration of the first timer may be pre-set, for example, specified by a protocol, or stored in the factory settings of the first device or a subscriber identity module (SIM) card, or may be determined by the first device, or may be determined by another device (for example, a second device or a core network device) and then notified to the first device, and this application does not impose any restrictions on this. For example, the duration of the first timer is obtained by the first device through a radio resource control (RRC) message. In addition, the first timer may be a traditional timer or a newly added timer, and this application does not impose any restrictions on this.

[0183] Optionally, step B1 may be performed by a first entity (eg, a first PDCP entity) in the first device. Specifically, when the first data unit is discarded, the first entity may start or restart a first timer.

[0184] In some possible ways, step B1 may be replaced by step B1': the first device may start or restart the first timer after the first data unit is discarded. Exemplarily, the first device starts or restarts the first timer after the first time period after the first data unit is discarded. The first time period may be pre-set, for example, specified by the protocol, or stored in the factory settings or SIM card of the first device, or determined by the first device, or notified to the first device after being determined by other devices (for example, a second device or a core network device), and this application does not impose any restrictions on this. In the case where the first time period is notified to the first device by other devices, the first time period may be semi-statically configured (such as carried in an RRC message) or dynamically indicated.

[0185] Step B2: When the first timer expires, the first device may send the first information.

[0186] In approach b1, when a first data unit is discarded, the first device may temporarily suspend sending the first message. The first device then sends the first message only when the first timer expires. Thus, if a new data unit is discarded while the first timer is running, the first device does not need to send a first message for each discarded data unit, thereby saving signaling overhead and transmission resources.

[0187] Optionally, in method b1, S302 may be replaced with: When a first condition is satisfied, the first device may send the first information. The first condition may include condition #1 and condition #2. Condition #1 may include: the first data unit is discarded; condition #2 may include: the first timer expires, where the first timer is started or restarted when the first data unit is discarded. For details on condition #1, refer to the description of "the first data unit is discarded" in S302. For details on condition #2, refer to the description of the first timer expiration in method b1.

[0188] Method b2:

[0189] S302 may include steps C1 to C2:

[0190] Step C1: When the first data unit is discarded, the first device may start or restart a first timer.

[0191] The specific content of step C1 can be referred to step B1 and will not be repeated here.

[0192] Step C2: When the first timer times out and there is no data unit corresponding to the first number during the entire duration of the first timer (or during the operation of the first timer), the first device may send the first message; in other words, if there is no data unit corresponding to the first number during the entire duration of the first timer, then when the first timer times out, the first device may send the first message.

[0193] The following describes that there is no data unit corresponding to the first number during the entire duration of the first timer.

[0194] Optionally, if the first device does not assign the first number to the subsequent data unit within the entire duration of the first timer, then there is no data unit corresponding to the first number within the entire duration of the first timer.

[0195] In some examples, if the number of data units received by the first device at the first layer is less than the number of discarded data units during the entire duration of the first timer, the first device may not assign the first number to the subsequent data units during the entire duration of the first timer. In this case, no data unit corresponding to the first number exists during the entire duration of the first timer. For example, during the entire duration of the first timer, the first device receives 4 data units at the first layer. The first device discards 5 data units, and the corresponding numbers of the 5 data units are 0 to 4, respectively. The first device may assign numbers 0 to 3 to the 4 received data units, respectively. During the entire duration of the first timer, no data unit corresponding to number 4 exists.

[0196] In other examples, if the number of data units whose numbers can be set or modified in the first device is less than the number of discarded data units during the entire duration of the first timer, the first device may not assign the first number to the subsequent data units during the entire duration of the first timer. The data unit whose number can be modified may be a data unit that has been assigned a number and has not completed encryption and integrity protection processing. In this case, there is no data unit corresponding to the first number during the entire duration of the first timer. For example, the number of data units whose numbers can be modified in the first device is 4 during the entire duration of the first timer. The first device discards 5 data units, and the numbers corresponding to the 5 data units are 0 to 4 respectively. The first device may change the numbers of the data units whose numbers can be modified to 0 to 3 respectively. There is no data unit corresponding to the number 4 during the entire duration of the first timer.

[0197] In some examples, if the sum of the first number is less than the number of discarded data units during the entire duration of the first timer, and the first sum is the sum of the number of data units whose numbers can be set or modified in the first device and the number of data units received by the first device at the first layer, then the first device may not assign the first number to subsequent data units during the entire duration of the first timer. In this case, no data unit corresponding to the first number exists during the entire duration of the first timer. For example, during the entire duration of the first timer, the number of data units whose numbers can be modified in the first device is 2, and the first device receives 2 data units at the first layer. The first device discards 5 data units, which are numbered 0 to 4, respectively. The first device may change the numbers of the two data units whose numbers can be modified to 0 to 1, respectively, and assign numbers 2 to 3, respectively, to the two received data units. No data unit corresponding to number 4 exists during the entire duration of the first timer.

[0198] Optionally, if there is a data unit corresponding to the first number during the entire duration of the first timer (such as the first timer is running), such as the first device assigns the first number to the data unit that subsequently arrives at the first layer, the first device may stop (or stop and reset) the first timer.

[0199] There may be various occasions when the first device determines that no data unit corresponding to the first number exists within the entire duration of the first timer.

[0200] In some implementations, the first device may determine, upon expiration of the first timer, whether no data unit corresponding to the first number exists during the entire duration of the first timer. For example, if, upon expiration of the first timer, no data unit corresponding to the first number has been sent or is to be sent, the first device may determine, upon expiration of the first timer, whether no data unit corresponding to the first number exists during the entire duration of the first timer.

[0201] In other implementations, the first device may periodically or irregularly determine, during the operation of the first timer, whether no data unit corresponding to the first number exists during the entire duration of the first timer. For example, during the operation of the first timer, the first device may periodically or irregularly determine whether there is a data unit corresponding to the first number that has been sent or is to be sent. If, during the operation of the first timer, the first device determines that there is no data unit corresponding to the first number that has been sent or is to be sent, the first device may determine whether there is no data unit corresponding to the first number during the entire duration of the first timer.

[0202] The following is an illustration of steps C1 and C2.

[0203] For example, a first device receives a first data unit and a second data unit at a first layer. The first number corresponding to the first data unit is 2, and the second number corresponding to the second data unit is 3. When the first data unit is discarded, the first device may start a first timer. If no data unit corresponding to the first number exists during the entire duration of the first timer, then when the first timer times out, the first device may send a first message. In this case, the first message may be determined based on the first number. The specific content of the first message will be described in methods c1 to c3 below and will not be expanded here.

[0204] Using method b2, when the first data unit is discarded, the first device may temporarily refrain from sending the first information. If the first device has a data unit corresponding to the first number within the entire duration of the first timer, the first device may refrain from sending the first information. If the first device has no data unit corresponding to the first number within the entire duration of the first timer, the first device may send the first information when the first timer expires. This allows the first device to send the first information on demand, thereby saving signaling overhead and transmission resources.

[0205] Optionally, in method b2, S302 may be replaced with: When a first condition is met, the first device may send the first information. The first condition may include condition #1, condition #2, and condition #3. Condition #1 may include: the first data unit is discarded; condition #2 may include: the first timer expires, which is started or restarted when the first data unit is discarded; and condition #3 may include: no data unit corresponding to the first number exists during the entire duration of the first timer. For the details of condition #1, refer to the description of "the first data unit is discarded" in S302; for the details of condition #2, refer to the description of the first timer expiration in method b1; and for the details of condition #3, refer to the description of "no data unit corresponding to the first number exists during the entire duration of the first timer" in method b2. Optionally, condition #3 may also be replaced with: no data unit corresponding to the first number exists when the first timer expires.

[0206] In some possible approaches, step C1 in approach b2 can be replaced with step C1': When the fifth data unit is discarded, the first device may start or restart the first timer; in other words, the first timer may be started or restarted when the fifth data unit is discarded. The fifth data unit may be associated with a fifth number. The fifth number and the first number may be different; for example, the fifth number may be greater than or less than the first number. The following example illustrates the replaced approach b2. For example, the first device receives a fifth data unit, a first data unit, and a second data unit at the first layer. The fifth number associated with the fifth data unit is 1, the first number associated with the first data unit is 2, and the second number associated with the second data unit is 3. When the fifth data unit is discarded, the first device may start the first timer. During the first timer, the first data unit is discarded. If the first device receives only one data unit during the entire duration of the first timer, the first device may assign the fifth number 1 to the received data unit. However, no data unit associated with the first number 2 exists during the entire duration of the first timer. Therefore, when the first timer expires, the first device may send the first message.

[0207] In this case, condition #2 can be replaced by condition #2': the first timer times out, the first timer is started or restarted when the fifth data unit is discarded, and the fifth data unit may correspond to the fifth number. The fifth number and the first number may be different.

[0208] Optionally, in this manner, the first device may determine whether there is no data unit corresponding to the first number within the entire duration of the first timer in the following manner.

[0209] After starting the first timer, the first device may record the fifth number and the sixth number. The sixth number may be the largest number corresponding to all data units in the first layer when the first timer is started (or the next number after the largest number, such as the count value #b), or the largest number corresponding to discarded data units in the first layer (or the next number after the largest number). If there is a number gap between the fifth number and the sixth number (such as the number corresponding to the discarded data unit) during the entire duration of the first timer (or before the first timer expires), the first device may determine that no data unit corresponding to the first number exists during the entire duration of the first timer.

[0210] For example, a first device receives a fifth data unit, a first data unit, and a second data unit at the first layer. The fifth data unit corresponds to a fifth number of 1, the first data unit corresponds to a first number of 2, and the second data unit corresponds to a second number of 3. When the fifth data unit is discarded, the first device may start a first timer and record the fifth and sixth numbers. If the sixth number is the highest number corresponding to all data units at the first layer, the sixth data unit may be the second number of 3; if the sixth number is the highest number corresponding to all data units at the first layer + 1, the sixth data unit may be 3 + 1 = 4. During the running of the first timer, the first data unit is discarded. If the first device receives only one data unit during the entire duration of the first timer, the first device may assign the received data unit a fifth number of 1. When the first timer expires, there is still a number between the fifth number of 1 and the sixth number of 3 (or 4) that has no corresponding data unit, such as 2. Therefore, the first device can determine that no data unit corresponding to the first number exists during the entire duration of the first timer.

[0211] Method b3:

[0212] S302 may include: when the first data unit is discarded and the number of discarded data units is greater than or equal to (or greater than) a first threshold, the first device may send the first information; in other words, when a first condition is met, the first device may send the first information, and the first condition may include condition #1 and condition #4. Condition #1 may include: the first data unit is discarded; and condition #4 may include: the number of discarded data units is greater than or equal to (or greater than) the first threshold.

[0213] For example, a first device receives six data units at a first layer, where the six data units are numbered 0 to 5, respectively. The six data units include a first data unit, and the first unit is numbered 0. The first threshold is 3. After discarding the first data unit, the first device may temporarily refrain from sending the first message. If the first device continues to discard data units corresponding to numbers 1 and 2 until the number of discarded data units equals the first threshold, the first device may send the first message.

[0214] Optionally, the first device may include a first counter that can be used to record the number of discarded data units. Exemplarily, the initial value of the first counter is 0. Each time a data unit is discarded, the value of the first counter may be incremented by 1. When the value of the first counter is equal to or greater than a first threshold, the first device may determine that the number of discarded data units is greater than or equal to the first threshold and send the first information. Optionally, when the value of the first counter is equal to or greater than the first threshold, the first device may reset the first counter to the initial value.

[0215] The first threshold value may be pre-set, for example, specified by a protocol, or stored in the factory settings or SIM card of the first device, or may be determined by the first device, or may be determined by another device (for example, a second device or a core network device) and then notified to the first device. This application does not impose any restrictions on this. If the first threshold value is notified to the first device by another device, the first threshold value may be carried in a semi-static message, for example, in an RRC message. In other words, the first threshold value may be semi-statically configured; or the first threshold value may be carried in a dynamic message, for example, in downlink control information (DCI) or MAC CE. In other words, the first threshold value may be dynamically indicated.

[0216] In approach b3, when the first data unit is discarded, the first device may temporarily suspend sending the first information. The first device only sends the first information when the number of discarded data units is greater than or equal to a first threshold. This avoids sending a first information message for each discarded data unit, thereby saving signaling overhead and transmission resources.

[0217] Method b4:

[0218] S302 may include: when the first data unit is discarded and the first data unit belongs to a first data unit group, such as a first PDU set, the first device may send the first information; in other words, when a first condition is satisfied, the first device may send the first information, and the first condition may include condition #1 and condition #5. Condition #1 may include: the first data unit is discarded; and condition #5 may include: the first data unit belongs to the first data unit group.

[0219] For example, if the first data unit group includes data units corresponding to numbers 0 to 6, and the first number corresponding to the first data unit is 0, the first device may send the first information when the first data unit is discarded.

[0220] Optionally, when the first data unit is discarded and the first data unit belongs to the first data unit group, the first device may send one first message for the first data unit group; in other words, the first device will not send two or more first messages for the first data unit group; or, in addition to conditions #1 and #5, the first condition may also include condition #6. Condition #6 includes: the first data unit group has not triggered the first message; in other words, any data unit in the first data unit group has not triggered the first message; or, the first device has not triggered or sent the first message based on any data unit in the first data unit group.

[0221] In some examples, when a first data unit is discarded and the first data unit belongs to a first PDU set, the first device may send a first message for the first PDU set. For example, if the first PDU set includes data units corresponding to numbers 0 to 6, and the first number corresponding to the first data unit is 0, then when the first data unit is discarded, the first device may determine to discard all data units in the first PDU set and send a first message. Optionally, the first data unit may be the first to be discarded, for example, the first data unit may be the data unit whose corresponding packet loss timer among the data units included in the first PDU set expires the earliest; or, the first data unit may also be the first data unit in the first PDU set to arrive at the first PDCP entity.

[0222] In some other examples, when a first data unit is discarded and the first data unit belongs to a first data unit group, if one or more data units in the first data unit group are discarded and the first data unit is the last data unit in the first data unit group, the first device may send a first signal. In this case, the first data unit may be the data unit whose corresponding packet loss timer has expired the latest among all data units in the first data unit group, or may be the last data unit in the first data unit group to reach the first layer of the first device.

[0223] For example, the first data unit group includes data units corresponding to numbers 0 to 6. When the data units corresponding to numbers 0 to 5 are discarded, the first device may temporarily not send the first information. When the data unit corresponding to number 6 is discarded, the first device may send a first message. Among them, when the data unit corresponding to number 6 is the data unit whose corresponding packet loss timer times out the latest among the data units corresponding to numbers 0-6, the first device may send a first message; or, when the data unit corresponding to number 6 is discarded and the data unit corresponding to number 6 is the last data unit to reach the first layer of the first device among the data units corresponding to numbers 0 to 6, the first device may send a first message.

[0224] In this manner, the first device can send a first message for the first data unit group. This eliminates the need for the first device to send a first message for each discarded data unit in the first data unit group, thereby saving signaling overhead and transmission resources. In this scenario, it can be understood that the first message is triggered at the granularity of the data unit group.

[0225] Optionally, if the first device is configured with packet loss based on a data unit group, such as a PDU set, when a first data unit is discarded and the first data unit belongs to a first PDU set, the first device may send a first message for the first PDU set.

[0226] Method b5:

[0227] S302 may include: when the first data unit is discarded and the second data unit is sent or is to be sent, the first device may send the first information. In other words, when the first data unit is discarded and the second data unit is not discarded, the first device may send the first information; or, when there is a gap in the numbering of data units transmitted between the first device and the second device, the first device may send the first information; or, when a first condition is met, the first device may send the first information, and the first condition may include condition #1 and condition #7. Among them, condition #1 may include: the first data unit is discarded; condition #7 may include: the second data unit is sent or is to be sent.

[0228] For example, a first device receives a first data unit and a second data unit at a first layer. The first data unit corresponds to a first number 2, and the second data unit corresponds to a second number 3. When the first data unit is discarded and the second data unit is sent or to be sent, the first device may send first information.

[0229] Optionally, the second data unit has been encrypted and / or integrity protected. In this way, the first device cannot modify the numbers of the second data units so that there are no gaps in the numbers of the data units.

[0230] With approach b5, the first device only transmits the first information when the first data unit is discarded and the second data unit is being sent or is pending, that is, when there is a gap in the data unit numbering due to the discarded first data unit. It should be understood that if all data units of the first device are discarded, even if the first device transmits the first information, the second device cannot process the received data units based on the first information, and transmission resources will be unnecessarily occupied. This approach b5 avoids resource waste.

[0231] It should be understood that, unless there is any contradiction, at least two of the above-mentioned methods b1 to b5 can be combined. For example, method b5 can be combined with one or more of methods b1 to b4. In this case, based on one or more of methods b1 to b4, the first condition can also include condition #7.

[0232] In some examples, mode b1 and mode b5 are combined. The first condition may include condition #1, condition #2, and condition #7. Exemplarily, when the first data unit is discarded and the second data unit is sent or to be sent, the first device may start or restart the first timer. For example, the first device receives the first data unit and the second data unit at the first layer. The first number corresponding to the first data unit is 2, and the second number corresponding to the second data unit is 3. When the first data unit is discarded, because there is still a second data unit to be sent, and the number of the second data unit is greater than the first data unit, the first device may start or restart the first timer. If there is no data unit corresponding to the first number during the entire duration of the first timer (or during the operation of the first timer), and the second data unit is sent or to be sent, then when the first timer times out, the first device may send the first information.

[0233] In other examples, method b3 and method b5 are combined. The first condition may include condition #1, condition #2, and condition #7. Exemplarily, when the first data unit is discarded, the second data unit is sent or is to be sent, and the number of discarded data units is greater than or equal to (or greater than) the first threshold, the first device may send the first information.

[0234] Optionally, in S302, the first device may further periodically determine whether to send the first information. In this case, the first condition described above may further include condition #8. Condition #8 may include: the current time is determined based on a transmission period. The transmission period may be pre-set, for example, specified by a protocol, stored in the factory settings of the first device or in a SIM card, determined by the first device, or determined by another device (for example, a second device or core network device) and then notified to the first device. This application is not limited in this regard. Optionally, if the transmission period is notified to the first device by another device, the transmission period may be indicated by configuration information. Thus, after receiving the configuration information, the first device may send the first information to the second device based on the transmission period indicated by the configuration information. For example, if the transmission period indicated by the configuration information is 100 time units, such as milliseconds (ms), then in S302, the time at which the first device sends the first information may belong to the time set: 0ms, 100ms, 200ms, 200+n*100, where n is a positive integer.

[0235] In some examples, the first condition may include condition #1 and condition #8. Time #1 is any time determined based on the transmission cycle. If a first data unit is discarded at time #1, the first device may send the first information; in other words, if no data unit is discarded at time #1, the first device may not send the first information. Exemplarily, the first device determines, based on the transmission cycle, a time set including 0ms, 100ms, 200ms, and 200+n*100, where n is a positive integer. At each time in the time set, the first device may determine whether a first data unit is discarded. If a first data unit is discarded, the first device may send the first information. For example, if the first data unit is not discarded at 0ms, the first device may not send the first information. If the first data unit is discarded between 0ms and 100ms, or at 100ms, the first device may send the first information at 100ms.

[0236] In other examples, the first condition may include condition #1, condition #8, and condition #7. Time #1 is any time determined based on the transmission cycle. If, at time #1, a first data unit is discarded, a second data unit is sent or is to be sent, and the second number corresponding to the second data unit is greater than the first number corresponding to the first data unit, then the first device may transmit the first information. Exemplarily, the first device determines, based on the transmission cycle, a time set including 0ms, 100ms, 200ms, and 200+n*100, where n is a positive integer. At each time in this time set, the first device may determine whether a first data unit is discarded, whether a second data unit is sent or is to be sent, and whether the second number corresponding to the second data unit is greater than the first number corresponding to the first data unit. If a first data unit is discarded, a second data unit is sent or is to be sent, and the second number corresponding to the second data unit is greater than the first number corresponding to the first data unit, then the first device may transmit the first information. For example, the first number corresponding to the first data unit is 2, and the second number corresponding to the second data unit is 3. If the first data unit is not discarded at 0 ms, the first device may not send the first information. If the first data unit is discarded between 0 ms and 100 ms, or at 100 ms, and there is a second data unit to be sent or has been sent at 100 ms, the first device may send the first information at 100 ms.

[0237] In some possible implementations, in S302, the first device sending the first information may include S3021 to S3023; in other words, the first device sending the first information may be replaced by S3021 to S3023. S3022 to S3023 may be optional steps. If S302 includes S3021 but does not include S3022 and S3023, then the sending in S302 may be replaced by triggering. For example, the step of S302 may be understood as: when the first condition is met, the first device may trigger the first information.

[0238] S3021: The first device triggers the first information.

[0239] Optionally, a first entity in the first device (eg, a first PDCP entity) may trigger the first information.

[0240] S3022: The first device generates first information.

[0241] This application does not limit the specific process of the first device generating the first information.

[0242] S3023: The first device sends the first information; accordingly, the second device receives the first information.

[0243] Optionally, the first device may execute steps S3021 and S3023 at different times. For example, S3022 may be performed after S3021, and S3023 may be performed after S3022.

[0244] As mentioned above, the first information may indicate that a data unit is discarded, and there may be multiple ways of indicating, for example, at least one of ways c1 to c3.

[0245] Mode c1: the first information may indicate that the first data unit is discarded.

[0246] Optionally, the first information may indicate that M data units are discarded, the M data units may include the first data unit, and M may be a positive integer.

[0247] In some implementations, the M data units may be a data unit that triggers the first information. For example, if in S302, when the first data unit is discarded, the first device may send the first information, then the M data units may be the first data unit.

[0248] In some other implementations, the M data units may include at least one of the following: all data units discarded by the first layer when the first information is triggered (or generated or constructed or sent), or the M data units may include: among all data units discarded by the first layer when the first information is triggered (or generated or constructed or sent), the corresponding numbers are not used, for example, allocated or set to data units used by subsequent data units.

[0249] In some examples, if S302 is implemented as method b1, the M data units may include: the first data unit, and all data units discarded during the execution of the first timer. For example, when the first data unit is discarded, the first device may start or restart the first timer. If the fourth data unit is discarded during the execution of the first timer, the M data units may include the first data unit and the fourth data unit.

[0250] In some examples, if S302 is implemented as method b2, the M data units may include: all data units corresponding to the numbers in the first numbering group. The first numbering group may include the first number corresponding to the first data unit. The data unit corresponding to any number in the first numbering group is discarded, and no data unit corresponding to any number exists during the entire duration of the first timer. For example, the first device receives the first data unit, the fourth data unit, and the second data unit at the first layer. The first number corresponding to the first data unit is 2, the fourth number corresponding to the fourth data unit is 3, and the second number corresponding to the second data unit is 4. When the first data unit is discarded, the first device may start or restart the first timer. If the fourth data unit is discarded during the operation of the first timer, and the first device assigns the fourth number 3 to the subsequent data unit. Then the M data units may include the first data unit.

[0251] In some examples, if S302 is implemented as method b4, the M data units may include: all discarded data units in the first data unit group. For example, the first device is configured with packet loss at the granularity of PDU set. If the first PDU set includes data units corresponding to numbers 0 to 6, when any data unit in the first PDU set is discarded, the first device may determine to discard all data units in the first PDU set, and the M data units may include: data units corresponding to numbers 0 to 6. For another example, if the first PDU set includes data units corresponding to numbers 0 to 6, and data units corresponding to numbers 0, 2, and 4 are discarded, the M data units may include data units corresponding to numbers 0, 2, and 4.

[0252] Optionally, if the first information indicates M numbers, and the M numbers are numbers corresponding to the M data units, the first information may indicate that the M data units are discarded. There are multiple ways for the first information to indicate M numbers, for example, at least one of ways d1 to d8.

[0253] Mode d1: The first information includes the M numbers.

[0254] For example, the first information may be as shown in FIG4A . The first number corresponding to the first data unit may be indicated by a discard count (DC) in FIG4A . Exemplarily, the length of the DC may be 32 bits. In this scenario, the first information includes M=1 numbers.

[0255] For another example, the first information may be as shown in FIG4B . The M numbers may be indicated by DC#1 to DC#M in FIG4B , respectively. Exemplarily, the length of each DC in DC#1 to DC#M may be 32 bits. Wherein, M may be an integer greater than or equal to 2. Optionally, in the first information, the M numbers may be arranged in ascending or descending order of the M numbers. For example, if the M numbers are 2, 5, and 7, respectively, and the M numbers are arranged in ascending order of the M numbers, the first information may include DC#1 to DC3, where DC#1 indicates the number 2, DC#2 indicates the number 5, and DC#3 indicates the number 7.

[0256] Optionally, in mode d1, the first information may further indicate M; in other words, the first information may further indicate the number of discarded data units, or the first information may further indicate the number of numbers corresponding to the discarded data units. For example, as shown in FIG4B , the first information may include field #1, and the value of field #1 may be used to indicate M, for example, the value of field #1 may be M or M-1.

[0257] The value range of field #1 may be related to the bit width x occupied by the field, where x may be expressed in bits. For example, the value of field 1 may be [0,2 x -1], so M can be at most 2 x or 2 x +1. For example, when Field #1 includes 4 bits, Field #1 can indicate that up to 16 or 17 data units are discarded. Field #1 can be named in various ways, such as the number of discarded count values, and this application does not impose any restrictions on this.

[0258] Optionally, when M is greater than or equal to 2, the first information may indicate M; in other words, when M is equal to 1, the first information may not indicate M.

[0259] Through the manner d1, the first information can accurately indicate the M numbers corresponding to the M discarded data units.

[0260] Method d2: The first information may indicate the first number among the M numbers and the first bitmap. A bit in the first bitmap may correspond to a number, which can be used to determine whether the number corresponding to the bit belongs to the M numbers. For example, the first information may include the first number among the M numbers and the first bitmap; alternatively, the first information may include information that corresponds to the first number among the M numbers and the first bitmap.

[0261] In some implementations, the first bit in the first bitmap may correspond to the first number in the M numbers, and the last M-1 numbers in the M numbers may be determined based on the bits in the first bitmap that have a first value (e.g., 1 or 0). Optionally, when a bit in the first bitmap has a first value, it indicates that the data unit corresponding to the bit is discarded; and / or, when a bit in the first bitmap has a second value (e.g., 0 or 1), it indicates that the data unit corresponding to the bit is not discarded (e.g., has been sent or is to be sent). The first value and the second value are different.

[0262] Optionally, the bits in the first bitmap may correspond to the first number and one or more subsequent numbers in the M numbers in ascending order of the numbers. For example, in the first information, the first number of the M numbers is 2, and the first bitmap is 1000101. The first bit in the first bitmap corresponds to number 2, and the next six bits in the first bitmap correspond to numbers 3 to 8, respectively. If the first value is 1, the M numbers may include 2, 6, and 8.

[0263] In some other implementations, the first bit in the first bitmap corresponds to the next adjacent number of the first number in the M numbers, and the last M-1 numbers in the M numbers can be determined based on the bits in the first bitmap that have the first value (e.g., 1 or 0). Optionally, when the value of a certain bit in the first bitmap is the first value, it means that the data unit corresponding to the bit is discarded; and / or, when the value of a certain bit in the first bitmap is the second value (e.g., 0 or 1), it means that the data unit corresponding to the bit is not discarded (e.g., has been sent or is to be sent). The first value and the second value are different.

[0264] Optionally, the bits in the first bitmap may correspond to the next adjacent number of the first number in the M numbers, and one or more subsequent numbers, in ascending order of numbers. For example, in the first information, the first number in the M numbers is 2, and the first bitmap is 1000101. Bits 1 to 7 in the first bitmap correspond to numbers 3 to 9, respectively. If the first value is 1, the M numbers may include 2, 3, 7, and 9, meaning that the data units corresponding to numbers 2, 3, 7, and 9 are discarded.

[0265] For example, in mode d2, the first information may be as shown in FIG4C . The first number of the M numbers may be indicated by the first discard count (FDC) in FIG4C . For example, the length of the FDC may be 32 bits. The first bitmap may include bitmap #1 to bitmap #N in FIG4C , which are used to indicate whether N*8 data units are discarded.

[0266] The length of the first bitmap may be related to a length parameter, for example, it may be related to N in FIG4C . The length parameter may be pre-set, for example, specified by the protocol, or stored in the factory settings or SIM card of the first device, or may be determined by the first device, or may be determined by another device (for example, a second device or a core network device) and then notified to the first device. This application does not impose any restrictions on this. If the length parameter is notified to the first device by another device, the length parameter may be carried in a semi-static message, for example, an RRC message. In other words, the length parameter may be semi-statically configured; or, the length parameter may be carried in a dynamic message, for example, a DCI or MAC CE. In other words, the length parameter may be dynamically indicated.

[0267] Optionally, when M is greater than or equal to 2, the first information may indicate the first bitmap; in other words, when M is equal to 1, the first information may not indicate the first bitmap.

[0268] Through this method d2, the first information can accurately indicate the M numbers corresponding to the M discarded data units. Furthermore, in this method, the first information can use a bit in the first bitmap to indicate whether the number corresponding to the bit is one of the M numbers, thereby saving signaling overhead and transmission resources. For example, if the first bitmap can occupy 15 bytes, the first bitmap can indicate that a maximum of 15*8=120 data units have been discarded.

[0269] Optionally, the first bitmap may also indicate the status of a data unit in the first device when constructing, generating, or compiling the first information. Exemplarily, the first bitmap may indicate: a data unit that does not exist in the first layer of the first device when constructing, generating, or compiling the first information. For example, when the value of a certain bit in the first bitmap is a first value, it means that the data unit corresponding to the bit is discarded or does not exist; and / or, when the value of a certain bit in the first bitmap is a second value, it means that the data unit corresponding to the bit is not discarded (such as has been sent or is to be sent). The first value and the second value are different.

[0270] Method d3: When the M numbers are consecutive, the first information may indicate the first and last numbers among the M numbers, which can be used to determine the M numbers. For example, the first information may include the first and last numbers among the M numbers; or the first information may include information that corresponds to the first and last numbers among the M numbers.

[0271] For example, the first information may be as shown in FIG4D . The first number of the M numbers may be indicated by the FDC in FIG4D . For example, the length of the FDC may be 32 bits. The last number of the M numbers may be indicated by the last discard count (LDC) in FIG4D . For example, the length of the LDC may be 32 bits. If the number indicated by the FDC is 1 and the number indicated by the LDC is 6, then the M numbers may range from 1 to 6.

[0272] Optionally, when M is greater than or equal to 2, the first information may indicate the first number and the last number of the M numbers.

[0273] Through this method d3, when the M numbers are continuous, the first information may include the first number and the last number of the M numbers, and does not need to include other numbers of the M numbers, thereby saving signaling overhead and transmission resources.

[0274] Method d4: When M numbers are consecutive, the first information may indicate the first number among the M numbers and M. The first number among the M numbers and M are used to determine the M numbers. For example, the first information may include the first number among the M numbers and M; alternatively, the first information may include information that corresponds to the first number among the M numbers and M, for example, the first information may include the first number among the M numbers and M-1. For another example, the first information may include the first number among the M numbers -1 and M.

[0275] For example, the first information may be as shown in FIG4E . The first number among the M numbers may be indicated by the FDC in FIG4E . Exemplarily, the length of the FDC may be 32 bits. M may be indicated by the value of field #1. The specific content of field #1 may refer to the description of field #1 in method d1 and will not be repeated here. If the value of FDC is 1, the value of FDC is the first number among the M numbers, and M indicated by field #1 is 6, then the M numbers may be 1 to 6. Alternatively, if the value of FDC is 1, the value of FDC is the first number among the M numbers - 1, and M indicated by field #1 is 6, then the M numbers may be 2 to 7.

[0276] Optionally, when M is greater than or equal to 2, the first information may indicate the first number among the M numbers and M.

[0277] Through this method d4, when M numbers are continuous, the first information may include the first number and M among the M numbers, and may not include other numbers among the M numbers, thereby saving signaling overhead and transmission resources.

[0278] Method d5: When M numbers are consecutive, the first information may indicate the last number among the M numbers and M, and the last number among the M numbers and M are used to determine the M numbers. Exemplarily, the first information may include the last number among the M numbers and M; alternatively, the first information may include information that corresponds to the last number among the M numbers and M, for example, the first information may include the last number among the M numbers and M-1, or for another example, the first information may include the last number among the M numbers + 1 and M.

[0279] For example, the first information may be as shown in Figure 4F. The last number among the M numbers may be indicated by the LDC in Figure 4F. Exemplarily, the length of the LDC may be 32 bits. M may be indicated by the value of field #1. The specific content of field #1 may refer to the description of field #1 in method d1 and will not be repeated here. If the value of LDC is 6, the value of LDC is the last number among the M numbers, and the M indicated by field #1 is 6, then the M numbers may be 1 to 6. Alternatively, if the value of LDC is 6, the value of LDC is the last number among the M numbers + 1, and the M indicated by field #1 is 6, then the M numbers may be 0 to 5.

[0280] Optionally, when M is greater than or equal to 2, the first information may indicate the last number of the M numbers and M.

[0281] Through this method d5, when M numbers are continuous, the first information may include the last number and M among the M numbers, and may not need to include other numbers among the M numbers, thereby saving signaling overhead and transmission resources.

[0282] Optionally, in methods d3 to d5, the M data units corresponding to the M numbers may belong to the same PDU set.

[0283] Method d6: When the M numbers include P segments, each segment in the P segment is continuous, and the P segments are discontinuous, the first information may indicate the first and last numbers in each segment in the P segment. The first and last numbers in each segment in the P segment can be used to determine the M numbers, where P is an integer greater than or equal to 2. The fact that the P segments are continuous can be understood as: the first to last numbers in the i-th segment of the P segment are continuous, or the i-th segment contains only one number, where i is an integer from 1 to P. The fact that the P segments are discontinuous can be understood as: when i is an integer from 1 to P-1, the last number in the i-th segment of the P segment and the first number in the i+1th segment of the P segment are discontinuous or non-adjacent. Exemplarily, the first information may include the first and last numbers in each segment in the P segment; alternatively, the first information may include information that corresponds to the first and last numbers in each segment in the P segment.

[0284] For example, the first information may be as shown in FIG4G . For the i-th segment number in the P segment numbers, the first number in the i-th segment number may be indicated by FDC#i. Exemplarily, the length of FDC#i may be 32 bits; the last number in the i-th segment number may be indicated by LDC#i. Exemplarily, the length of LDC#i may be 32 bits. Here, i may be an integer from 1 to P. If the first information includes: FDC#1, LDC#1, FDC#2, and LDC#2, and the value of FDC#1 is 0, indicating the first number in the first segment number, the value of LDC#1 is 2, indicating the last number in the first segment number, the value of FDC#2 is 6, indicating the first number in the second segment number, and the value of LDC#2 is 8, indicating the last number in the second segment number, then the M numbers include: 0 to 2, 6 to 8.

[0285] Optionally, when P is greater than or equal to 2, the first information may indicate the first number and the last number in each segment of P segment numbers.

[0286] Through this method d6, when the M numbers include P segment numbers, each segment number in the P segment numbers is continuous, and the P segment numbers are discontinuous, the first information may include the first number and the last number in each segment number in the P segment numbers, and there is no need to include other numbers in each segment number, thereby saving signaling overhead and transmission resources.

[0287] Method d7: When the M numbers include P segment numbers, each segment number in the P segment number is continuous, and the P segment numbers are discontinuous, the first information may indicate the first number in each segment number in the P segment number and the number of numbers in each segment number. The first number in each segment number in the P segment number and the number of numbers in each segment number can be used to determine the M numbers. Exemplarily, the first information may include the first number in each segment number in the P segment number and the number of numbers in each segment number; or the first information may include information that corresponds to the first number in each segment number in the P segment number and the number of numbers in each segment number. For example, for the i-th segment number in the P segment number, the first information may include the first number in the i-th segment number and the number of numbers in the i-th segment number, or the first information may include the first number in the i-th segment number and the number of numbers in the i-th segment number - 1, where i can be an integer from 1 to P.

[0288] For example, the first information may be as shown in Figure 4H. For the i-th segment number in the P segment numbers, the first number in the i-th segment number may be indicated by FDC#i. Exemplarily, the length of FDC#i may be 32 bits; the number of numbers in the i-th segment number may be indicated by Field#2i. Here, i may be an integer from 1 to P. If the first information includes: FDC#1, Field#21, FDC#2, and Field#22, and the value of FDC#1 is 0, indicating the first number in the first segment number, the value of Field#21 is 3, indicating the number of numbers in the first segment number, the value of FDC#2 is 6, indicating the first number in the second segment number, the number indicated by Field#22 is 3, and the number of numbers in the second segment number is indicated by Field#22, then the M numbers include: 0 to 2, and 6 to 8.

[0289] Optionally, when P is greater than or equal to 2, the first information may indicate the first number in each segment of P segments and the number of numbers in each segment.

[0290] Through this method d7, when M numbers include P segment numbers, each segment number in the P segment number is continuous, and the P segment numbers are discontinuous, the first information may include the first number in each segment number in the P segment number and the number of numbers in each segment number, and there is no need to include other numbers in each segment number, thereby saving signaling overhead and transmission resources.

[0291] Method d8: When the M numbers include P segments of numbers, each segment of the P segments is continuous, and the P segments are discontinuous, the first information may include the last number in each segment of the P segments and the number of numbers in each segment. The last number in each segment of the P segments and the number of numbers in each segment can be used to determine the M numbers. Exemplarily, the first information may include the last number in each segment of the P segments and the number of numbers in each segment; or the first information may include information that corresponds to the last number in each segment of the P segments and the number of numbers in each segment. For example, for the i-th segment of the P segments, the first information may include the last number in the i-th segment and the number of numbers in the i-th segment. Alternatively, the first information may include information that corresponds to the last number in the i-th segment and the number of numbers in the i-th segment. Alternatively, the first information may include the last number in the i-th segment and the number of numbers in the i-th segment - 1, where i can be an integer from 1 to P.

[0292] For example, the first information may be as shown in FIG4I . For the i-th segment number in the P segment numbers, the last number in the i-th segment number may be indicated by LDC#i. Exemplarily, the length of LDC#i may be 32 bits; the number of numbers in the i-th segment number may be indicated by field#2i. Here, i may be an integer from 1 to P. If the first information includes: LDC#1, field#21, LDC#2, and field#22, the value of LDC#1 is 2, indicating the last number in the first segment number, the value of field#21 is 3, indicating the number of numbers in the first segment number, the value of LDC#2 is 8, indicating the last number in the second segment number, the value of field#22 is 3, indicating the number of numbers in the second segment number, then it indicates that the M numbers include: 0 to 2, 6 to 8.

[0293] Optionally, when P is greater than or equal to 2, the first information may indicate the last number in each segment of P segments and the number of numbers in each segment.

[0294] Through this method d8, when M numbers include P segment numbers, each segment number in the P segment number is continuous, and the P segment numbers are discontinuous, the first information may include the last number in each segment number in the P segment number and the number of numbers in each segment number, and there is no need to include other numbers in each segment number, thereby saving signaling overhead and transmission resources.

[0295] Optionally, in methods d6 to d8, the first information may further include field #3. The value of field #3 may be used to indicate P. For example, the value of field #3 may be P or P-1. For example, when field #3 includes 4 bits, field #3 may indicate up to 16 or 17 segment numbers. Field #3 may be named in various ways, such as the number of groups of discarded count values, and this application does not impose any restrictions thereon.

[0296] Optionally, the count values ​​in methods d1 to d8 may be replaced with sequence numbers, which can further save overhead in the first information and transmission resources.

[0297] Mode c2: The first information may indicate a first count value, wherein the first count value may be determined according to a first number (eg, the count value or an SN corresponding to the count value) corresponding to the first data unit.

[0298] In some examples, if only one data unit is discarded, that is, only the first data unit is discarded, the first count value may be the count value corresponding to the first data unit + 1. For example, if only the first data unit is discarded and the number corresponding to the first data unit is 3, the first count value may be 3 + 1 = 4.

[0299] In other examples, if M data units are discarded, the first count value may be count value #1 + 1. Count value #1 may be the maximum count value corresponding to the M data units, which may include the first data unit. For example, if data units numbered 0 to 6 are all discarded, count value #1 may be 6, and the first count value may be 6 + 1 = 7. Alternatively, the M discarded data units may be M consecutively numbered data units.

[0300] There are various ways in which the first information may indicate the first count value. In some examples, the first information may explicitly indicate the first count value. For example, the first information may include the first count value. Exemplarily, the first information may be as shown in FIG4J , where the first count value may be indicated by an indication field of the first count value in FIG4J , and the length of the indication field of the first count value may be 32 bits. In other examples, the first information may implicitly indicate the first count value. For example, the first information may include information that corresponds to the first count value, such as the first information including an SN corresponding to the first count value; or the first information may include a first count value of -1.

[0301] Through manner c2, the first information can accurately indicate the first count value.

[0302] Optionally, in mode c1 and mode c2, the first information may be control information, for example, the first information may be a PDCP control PDU.

[0303] Mode c3: The first information may include a first packet header, and the first packet header may include first indication information, and the first indication information may indicate that the first data unit is discarded.

[0304] Optionally, if the first information is the information shown in method c3, then in S302, when the first data unit is discarded, the first device may send the first information; or, the implementation method of S302 may be method b5 mentioned above.

[0305] In some possible manners, if the first information is a data packet of the first type, and the first indication information includes a first number corresponding to the first data unit, it indicates that the first data unit is discarded.

[0306] If the first information satisfies the following condition #a or condition #b, then the first information is a data packet of the first type:

[0307] Condition #a: The first information includes a first header but does not include a data portion. In other words, the amount of data in the first information is 0. For example, the first information is a PDCP PDU that only includes a PDCP header.

[0308] Condition #b: The first information may include a first header and second indication information. The second indication information may include padding bits. Exemplarily, the first information may be a data unit, which includes a first header and second indication information. For example, the first information is a PDCP PDU, which includes a PDCP header and a PDCP SDU as the second indication information. The PDCP SDU includes padding bits. Optionally, the first device (for example, the first PDCP entity in the first device) may perform encryption and / or integrity protection on the PDCP SDU; or, the PDCP SDU may not be encrypted and / or integrity protected, thereby reducing complexity.

[0309] Among them, the size of the filling bit can be pre-set, for example, specified by the protocol, or saved in the factory settings or SIM card of the first device, or determined by the first device, or notified to the first device after being determined by other devices (for example, the second device or core network equipment). This application does not impose any restrictions on this.

[0310] Optionally, the size of the padding bits in the second indication information may be smaller than the size of the SDU in the first data unit, thereby saving transmission resources.

[0311] Since the first type of data packet may not include actual data, the first type of data packet may also be called a dummy packet. This method indicates that the first data unit is discarded by sending the first type of data packet, thereby saving transmission resources.

[0312] Optionally, the first packet header may further include information #1, where information #1 is used to indicate that the first information is a data packet of the first type. Exemplarily, if the value of information #1 is the third value, then the first information is a data packet of the first type. Information #1 is, for example, 1 bit of information, and the third value is, for example, 1.

[0313] In some possible implementations, if the first information indicates that a data unit was discarded, the first device may not assign subsequent data units a number corresponding to the discarded data unit. For example, if the first information indicates that the first data unit was discarded, the first device may not assign subsequent data units the first number corresponding to the first data unit. For another example, if the first information indicates that M data units were discarded, the first device may not assign subsequent data units the M numbers corresponding to the M data units. This approach can prevent the second device from having a single number corresponding to multiple data units, thereby preventing the second device from being confused about the data unit numbers.

[0314] Optionally, the method shown in FIG3 may further include S303.

[0315] S303: The second device processes the received data unit according to the first information.

[0316] In some possible ways, the first information may indicate that M data units are discarded, where the M data units may include the first data unit. The second device may regard the discarded data units indicated by the first information as received, or skip the discarded data units and process the received data units. Optionally, the second device regards the discarded data units indicated by the first information as received, which can also be understood as the second device regards the discarded data units indicated by the first information as received and / or delivered to a higher layer of the third layer (e.g., PDCP layer) in the second device.

[0317] Optionally, when count value #a is count value #d, the second device (e.g., the entity corresponding to the third layer in the second device) may pass at least one data unit starting with count value #d+1 from the receive buffer to a higher layer of the third layer. For the specific content of count value #a, please refer to the description of count value #a in the above explanation of terms and will not be repeated here. Count value #d may be determined based on the M discarded data units indicated by the first information. For example, count value #d may be the count value corresponding to one of the M data units. The at least one data unit may be a data unit with a consecutive number. Optionally, the at least one data unit may include: a data unit in the receive buffer, and / or some or all of the M data units. For example, if the first information indicates that the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 are discarded, the receiving buffer includes PDCP SDUs corresponding to count values ​​3 to 5 and 9 to 11, and the count value #a is 0, then at least one data unit starting with the count value #d+1 from the receiving buffer may include: the PDCP SDUs corresponding to count values ​​3 to 11.

[0318] In some examples, the first information may be as shown in method c1 above, wherein the first information may indicate that M data units are discarded. The second device may regard the M data units as received data units and process the received data units, such as delivering them to a higher layer of the third layer. Optionally, the second device regards the M data units as received data units, which can be understood as the second device regards the M data units as data units that have been received and / or delivered to a higher layer of the third layer.

[0319] For example, as shown in Figure 2A, the first device discards the PDCP SDUs corresponding to count values ​​0 to 6 and sequentially transmits the PDCP PDUs corresponding to count values ​​7 to 19. The first device may transmit first information to the second device, where the first information may indicate that the PDCP SDUs corresponding to count values ​​0 to 6 are discarded. The second PDCP entity in the second device may deem the PDCP SDUs corresponding to count values ​​0 to 6 as received and update the count value #a to 7. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​7 to 19 to a higher layer of the PDCP layer without waiting for the reordering timer to expire, thereby reducing the transmission delay of the PDCP PDUs corresponding to count values ​​7 to 19.

[0320] For another example, as shown in FIG2B , the first device discards the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8, and sequentially transmits the PDCP PDUs corresponding to count values ​​3 to 5 and 9 to 11. The first device may transmit first information to the second device, and the first information may indicate that the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 are discarded. The second PDCP entity in the second device may deem the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 as received and update the count value #a to 3. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​3 to 5 to a higher layer of the PDCP layer without waiting for the reordering timer to expire, and update the count value #a to 6. Since the second PDCP entity can deem the PDCP SDUs corresponding to count values ​​6 to 8 as received, the second PDCP entity may update the count value #a to 9. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​9 to 11 to a higher layer of the PDCP layer without waiting for the reordering timer to expire. Through this example, the transmission delay of the PDCP PDU corresponding to the count values ​​3 to 5 and 9 to 11 can be reduced.

[0321] In other examples, the first information may be as shown in method c3 above, where the first information may indicate that the first data unit is discarded. In this case, the second device may treat the first data unit as a data unit that has been received and / or delivered to a higher layer, or skip the first data unit and process the received data unit.

[0322] For example, as shown in Figure 2A, the first device discards the PDCP SDUs corresponding to count values ​​0 to 6 and sequentially transmits the PDCP PDUs corresponding to count values ​​7 to 19. The first device may transmit seven first messages, each indicating that the PDCP SDUs corresponding to count values ​​0 to 6 are discarded. The second PDCP entity in the second device may deem the PDCP SDUs corresponding to count values ​​0 to 6 as received and update the count value #a to 7. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​7 to 19 to a higher layer of the PDCP layer without waiting for the reordering timer to expire, thereby reducing the transmission delay of the PDCP PDUs corresponding to count values ​​7 to 19.

[0323] For another example, as shown in FIG2B , the first device discards the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8, and sequentially transmits the PDCP PDUs corresponding to count values ​​3 to 5 and 9 to 11. The first device may transmit six first information messages to the second device, indicating that the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 are discarded, respectively. The second PDCP entity in the second device may deem the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 as received, and update the count value #a to 3. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​3 to 5 to a higher layer of the PDCP layer without waiting for the reordering timer to expire, and update the count value #a to 6. Since the second PDCP entity can deem the PDCP SDUs corresponding to count values ​​6 to 8 as received, the second PDCP entity may update the count value #a to 9. In this way, the second PDCP entity can deliver the PDCP PDUs corresponding to count values ​​9 to 11 to a higher layer of the PDCP layer without waiting for the reordering timer to expire. Through this example, the transmission delay of the PDCP PDU corresponding to the count values ​​3 to 5 and 9 to 11 can be reduced.

[0324] Optionally, in this example, if the first information further includes information #1, where information #1 indicates that the first information is a first type of data packet, the second device may not pass the first information to a higher layer of the PDCP layer. For example, if the first information further includes information #1, the second PDCP entity in the second device may perform integrity verification and decryption on the first information and then discard the first information.

[0325] Optionally, in this manner, if the count value of the discarded data units indicated by the first information is greater than or equal to the count value #a, the second device may deem the discarded data units indicated by the first information as received, or skip the discarded data units and process the received data units; and / or, if the count value of the discarded data units indicated by the first information is less than the count value #a, the second device may skip the discarded data units, or in other words, if the maximum count value corresponding to the discarded data units indicated by the first information is less than the count value #a, the second device may ignore the first information. For example, the first information may indicate that the PDCP SDUs corresponding to count values ​​0 to 2 and 6 to 8 are discarded. If, upon receiving the first information, the second device determines that the count value #a is 3, the second device may skip the PDCP SDUs corresponding to count values ​​0 to 2 and deem the PDCP SDUs corresponding to 6 to 8 as received.

[0326] In some implementations, after receiving the first information, the second device (e.g., the entity corresponding to Layer 3 in the second device) updates count value #a. For example, the second device may update count value #a to count value #a1. The specific content of count value #a1 can be found in the explanation of count value #a1 in the above terminology section and is not further described here. For another example, the second device may update count value #a to count value #a2 or count value #a2+1. Count value #a2 may be the maximum number corresponding to M data units, and the M data units may be the discarded data units indicated by the first information. For another example, the second device may update count value #a to count value #a3. Count value #a3 may be the minimum count value corresponding to the data units in data unit set #1. Any data unit in data unit set #1 is not delivered to a higher layer of Layer 3 and is not among the M data units discarded as indicated by the first information; and the count value corresponding to any data unit in data unit set #1 is greater than count value #a.

[0327] Optionally, after updating the count value #a, the second device may process the reordering timer according to the updated count value #a. This application does not limit the specific content of this processing.

[0328] In some other implementations, if the first information indicates that M data units were discarded, the first device may update the count value #b based on the M data units. For details about the count value #b, please refer to the description of the count value #b in the explanation of terms above and will not be repeated here.

[0329] In some examples, if the count value #b is less than the maximum count value corresponding to the M data units + 1, the second device may update the count value #b to the maximum count value corresponding to the M data units + 1. For example, if the first information indicates that the PDCP SDUs corresponding to the count values ​​0 to 2 and 6 to 8 are discarded, and the count value #b is less than 8 + 1 = 9, the second device may update the count value #b to 9.

[0330] In other examples, the second device may update the count value #b to the maximum count value corresponding to the M data units + 1. For example, if the first information indicates that the PDCP SDUs corresponding to the count values ​​0 to 2 and 6 to 8 are discarded, the second device may update the count value #b to 9.

[0331] In other possible approaches, the first information may be as described in approach c2 above, where the first information may indicate a first count value. The second device may update count value #a to the first count value and process the received data unit based on count value #a. The specific content of count value #a can be found in the explanation of terminology above and will not be repeated here. Since count value #a may be the lower boundary of the reordering window, this approach can be understood as adjusting the lower boundary of the reordering window.

[0332] For example, as shown in FIG2A , the first device discards PDCP SDUs corresponding to count values ​​0 to 6 and sequentially transmits PDCP PDUs corresponding to count values ​​7 to 19. The first device transmits first information to the second device, and the first count value indicated by the first information may be 7. Thus, after receiving the PDCP PDU corresponding to the count value 7, the second device may update the count value #a to 7 and transmit the PDCP PDUs corresponding to the count values ​​7 to 19 to a higher layer of the PDCP layer, thereby reducing the transmission delay of the PDCP PDUs corresponding to the count values ​​7 to 19.

[0333] In this way, the first device indicates the first count value to the second device, and the second device can process the received data unit, thereby reducing the transmission delay of the received data unit. This method can further save signaling overhead and transmission resources.

[0334] In some possible approaches, the second device may further adjust the reordering timer according to the first information.

[0335] In some implementations, the second device may adjust the duration of the reordering timer based on the first information. Optionally, after receiving the first information, the second device may shorten the duration of the reordering timer. Exemplarily, within the second duration after receiving the first information, the second device may shorten the duration of the reordering timer. The adjusted duration of the reordering timer and / or the second duration may be pre-set, for example, specified by the protocol, or stored in the factory settings or SIM card of the second device, or may be determined by the second device, or may be determined by other devices (for example, the first device or the core network device) and then notified to the second device, and this application does not impose any restrictions on this. Optionally, if the adjusted duration of the reordering timer and / or the second duration is notified to the second device by other devices, the adjusted duration and / or the second duration may be semi-statically configured or dynamically configured.

[0336] In some other implementations, the second device may turn off the reordering timer based on the first information. Here, turning off the reordering timer can be understood as the reordering timer timing out, or it can be understood as changing the duration of the reordering timer to 0. Optionally, after receiving the first information, the second device may turn off the reordering timer. Exemplarily, within a third time period after receiving the first information, the second device may turn off the reordering timer. The third time period may be pre-set, for example, specified by the protocol, or saved in the factory settings or SIM card of the second device, or determined by the second device, or notified to the second device after being determined by other devices (for example, the first device or core network device), and this application does not impose any restrictions on this. Optionally, if the third time period is notified to the second device by other devices, then the third time period may be semi-statically configured or dynamically configured.

[0337] In some possible implementations, the method shown in FIG3 may further include step E1:

[0338] Step E1: When the first information is submitted to the second layer, the first device may start or restart the second timer. While the second timer is running, the first information is not submitted to the second layer (or triggered). In other words, the condition for sending or triggering the first information may also include: the second timer is not running, and the second timer is started or restarted when the first information is submitted to the second layer.

[0339] The second layer may be a lower layer(s) of the first layer; in other words, the second layer is lower than the first layer. For example, the second layer may be an RLC layer, and the first layer may be a PDCP layer.

[0340] The duration of the second timer can be pre-set, for example, specified by the protocol, or saved in the factory settings or SIM card of the first device, or determined by the first device, or notified to the first device after being determined by other devices (for example, the second device or core network equipment). This application does not impose any restrictions on this.

[0341] The second timer and the first timer can be the same timer or different timers, and this application does not impose any restrictions on this.

[0342] This application does not limit the execution order of S303 and step E1.

[0343] Through this method, within a certain period of time after the first information is delivered to the second layer, the first device will no longer trigger or send the first information, thereby avoiding the first device from frequently triggering or sending the first information, thereby saving signaling overhead and transmission resources.

[0344] It should be understood that the above description is based on the first data unit as an example. The first device and the second device may also process other data units in a similar manner. For example, the method shown in FIG3 may further include steps F1 to F3:

[0345] Step F1: The first device also receives a third data unit at the first layer.

[0346] Among them, the third data unit may correspond to a third number. Optionally, the third number may be allocated by the first device to the third data unit. For example, the third number may be allocated by the first entity to the third data unit. In the present application, the third number may be a count value or an SN. Therefore, for the specific content of the first entity allocating the third number to the third data unit, please refer to the explanation of "allocating count values ​​and SNs to PDCP SDUs" in the above explanation of terms, except that the first PDCP entity is replaced by the first entity, and the PDCP SDU is replaced by the third data unit, which will not be repeated here.

[0347] The third number is smaller than the second number corresponding to the second data unit and larger than the first number corresponding to the first data unit. For example, the first number is 1, the third number is 2, and the second number is 3.

[0348] The present application does not limit the execution order of S301 and step F1. For example, the first device may sequentially receive the first data unit, the third data unit, and the second data unit at the first layer.

[0349] Step F2: When the third data unit is discarded, the first device may send a third message, and correspondingly, the second device receives the third message, wherein the third message may indicate that a data unit is discarded.

[0350] The specific content of step F2 can refer to S302, except that the first data unit is replaced by the third data unit, and the first information is replaced by the third information. The repeated parts are not repeated here.

[0351] Step F3: The second device processes the received data unit according to the third information.

[0352] The specific content of step F3 can refer to S303, except that the first data unit is replaced by the third data unit and the first information is replaced by the third information, which will not be repeated here.

[0353] Optionally, the first information and the third information may be different information. Thus, each time a data unit is discarded, the first device may send a message indicating that a data unit has been discarded. This method can promptly notify the second device that a data unit has been discarded.

[0354] Using the method shown in FIG3 , when a first data unit is discarded, the first device may transmit a first message indicating that a data unit has been discarded. In this way, a second device that receives the first message may process the received data unit based on the first message, thereby avoiding or reducing the impact on the second device's processing of the received data unit.

[0355] Based on the same technical concept as the above-mentioned method embodiment, the embodiment of the present application provides a corresponding communication device, which can be used to perform the functions of the relevant steps in the above-mentioned method embodiment. This function can be implemented by hardware, can be implemented by software, or can be implemented by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions. The communication device can be a terminal, or can be a module in a terminal (such as a circuit or a chip), or can be a logical node, logical module or software that can implement all or part of the functions of a terminal or access network device; or the communication device can be an access network device or a module in an access network device (such as a circuit or a chip), or can be a logical node, logical module or software that can implement all or part of the functions of an access network device.

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

[0357] The interface unit 501 is used to input and / or output information. Input information can be replaced by receiving information, and output information can be replaced by sending information. When outputting information, the interface unit 501 can output information to other devices outside the communication device 500, or it can output information to other units in the communication device 500. In some embodiments, the interface unit 501 can be implemented by at least one of a physical interface, a communication module, a communication interface, and an input / output interface. In other embodiments, the interface unit 501 can be implemented by an interface circuit, for example, a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.

[0358] The processing unit 502 can be used to support the communication device 500 in performing the processing actions in the above-mentioned method embodiment. The processing unit 502 can be implemented by one or more processors. For example, the processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor.

[0359] In one embodiment, the communication device 500 is applied to the first device in the embodiment of the present application shown in Figure 3. The specific functions of the processing unit 502 in this embodiment are introduced below.

[0360] The processing unit 502 is used to: receive a first data unit and a second data unit at the first layer, where the first data unit corresponds to a first number, the second data unit corresponds to a second number, and the second number is greater than the first number; when the first data unit is discarded, send a first message through the interface unit 501, where the first message indicates that a data unit has been discarded.

[0361] In some possible embodiments, the processing unit 502 is specifically configured to: start or restart a first timer when the first data unit is discarded; and send first information through the interface unit 501 when the first timer times out.

[0362] Optionally, the processing unit 502 is specifically configured to: when the first timer times out and no data unit corresponding to the first number exists within the entire duration of the first timer, send the first information through the interface unit 501.

[0363] In some implementations, the processing unit 502 is also used to: receive a third data unit at the first layer, the third data unit corresponds to a third number, the third number is smaller than the second number and larger than the first number; when the third data unit is discarded, send third information through the interface unit 501, and the third information indicates that a data unit is discarded.

[0364] In some other possible embodiments, the processing unit 502 is specifically configured to: when the first data unit is discarded and the number of discarded data units is greater than or equal to a first threshold, send the first information through the interface unit 501.

[0365] In some implementations, the processing unit 502 is further configured to: when the first information is delivered to the second layer, start or restart a second timer; wherein, while the second timer is running, the first information is not delivered to the second layer.

[0366] In some further possible embodiments, the processing unit 502 is specifically configured to: when the first data unit is discarded and the first data unit belongs to the first data unit group, send the first information through the interface unit 501 .

[0367] In some further possible embodiments, the processing unit 502 is specifically configured to: when the first data unit is discarded and the second data unit is sent or to be sent, send the first information through the interface unit 501 .

[0368] A more detailed description of the processing unit 502 and the interface unit 501 can be directly obtained by referring to the relevant description in the method embodiment shown in FIG3 , and is not repeated here.

[0369] It should be noted that the division of modules in the above embodiments of the present application is illustrative and is only a logical functional division. In actual implementation, there may be other division methods. In addition, the functional units in the various embodiments of the present application may be integrated into a processing unit, or may exist separately physically, or two or more units may be integrated into a single unit. The above-mentioned integrated units may be implemented in the form of hardware or in the form of software functional units.

[0370] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

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

[0372] Optionally, the interface circuit 601, the processor 602, and the memory 603 are coupled to each other via a bus 604. Bus 604 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. Buses can be classified as address buses, data buses, control buses, etc. For ease of illustration, FIG6 shows only one thick line, but this does not mean that there is only one bus or only one type of bus.

[0373] Interface circuit 601 is used to input and / or output information. Inputting information can be replaced by receiving information, and outputting information can be replaced by sending information. When outputting information, interface circuit 601 can output information to other devices outside of communication device 600, or to other units within communication device 600. Exemplarily, interface circuit 601 can be implemented via at least one of a physical interface, a communication module, a communication interface, an input / output interface, and a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, an LNA, and the like.

[0374] Processor 602 can be used to support communication device 600 in executing the processing actions in the above-described method embodiments. When communication device 600 is used to implement the above-described method embodiments, processor 602 can also be used to implement the functions of processing unit 502. Processor 602 can be a CPU, other general-purpose processors, DSPs, ASICs, FPGAs, other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.

[0375] In one embodiment, the communication device 600 is applied to the first device in the embodiment of the present application shown in Figure 3. The specific functions of the processor 602 in this embodiment are introduced below.

[0376] Processor 602 is used to: receive a first data unit and a second data unit at the first layer, the first data unit corresponds to a first number, the second data unit corresponds to a second number, and the second number is greater than the first number; when the first data unit is discarded, send a first message through the interface circuit 601, and the first message indicates that a data unit is discarded.

[0377] The specific functions of the processor 602 can refer to the description of the communication method provided in the above embodiments and examples of the present application, as well as the specific functional description of the communication device 500 in the embodiment of the present application shown in Figure 5, and will not be repeated here.

[0378] The memory 603 is used to store program instructions and / or data, etc. Specifically, the program instructions may include program code, which includes computer operation instructions. The memory 603 may include RAM, and may also include non-volatile memory (non-volatile memory), such as at least one disk storage. The processor 602 executes the program instructions stored in the memory 603 and uses the data stored in the memory 603 to implement the above functions, thereby realizing the communication method provided in the above embodiment of the present application. The memory 603 can be integrated with the processor 602, or it can be a memory outside the communication device.

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

[0380] Based on the above embodiments, an embodiment of the present application further provides a computer program product including computer-executable instructions. When the computer program product is run, the method provided in the above embodiments is executed.

[0381] Based on the above embodiments, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the method provided in the above embodiments.

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

[0383] Based on the above embodiments, an embodiment of the present application further provides a chip, which is used to read a computer program stored in a memory to implement the method provided in the above embodiments.

[0384] Based on the above embodiments, embodiments of the present application provide a chip system, which includes a processor for supporting a computer device to implement the functions involved in each device in the above embodiments. In one possible design, the chip system also includes a memory for storing the necessary programs and data for the computer device. The chip system can be composed of a chip or can include a chip and other discrete devices.

[0385] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0386] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.

[0387] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0388] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0389] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. In the text description of this application, the character " / " generally indicates that the related objects are in an "or" relationship.

[0390] It is understood that the various numbers used in the embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.

[0391] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.

Claims

1. A communication method, characterized in that: include: receiving, at a first layer, a first data unit and a second data unit, wherein the first data unit corresponds to a first number, the second data unit corresponds to a second number, and the second number is greater than the first number; When the first data unit is discarded, first information is triggered, where the first information indicates that a data unit is discarded.

2. The method according to claim 1, wherein The first data unit is not delivered by the second layer to a lower layer of the second layer, the second layer being a lower layer of the first layer.

3. The method according to claim 1 or 2, wherein: Also includes: When the packet loss timer corresponding to the first data unit times out, the first data unit is discarded.

4. The method according to any one of claims 1 to 3, wherein When the first data unit is discarded, triggering first information includes: When the first data unit is discarded and the second data unit is not discarded, the first information is triggered.

5. The method according to any one of claims 1 to 4, characterized in that The first information indicates that M data units are discarded, where the M data units include the first data unit, and M is a positive integer.

6. The method according to claim 5, wherein The first information indicates M numbers, where the M numbers are numbers corresponding to the M data units.

7. The method according to claim 6, wherein The first information includes the smallest number among the M numbers; or the first information includes the first number among the M numbers.

8. The method according to claim 7, wherein When M is greater than 1, the first information also includes a first bit map, the first bit in the first bit map corresponds to the next adjacent number of the first number in the M numbers, and the last M-1 numbers in the M numbers are determined based on the bit in the first bit map that takes the first value.

9. The method according to claim 8, wherein The last M-1 numbers of the M numbers are determined according to the bits in the first bitmap having the first value, including: When the value of a bit in the first bit map is the first value, the data unit corresponding to the bit is discarded; and / or, when the value of a bit in the first bit map is the second value, the data unit corresponding to the bit is not discarded, and the first value and the second value are different.

10. The method according to claim 8 or 9, characterized in that The bits in the first bitmap correspond to the next adjacent number of the first number in the M numbers and one or more subsequent numbers in ascending order of numbers.

11. The method according to any one of claims 1 to 4, characterized in that The first information indicating that a data unit is discarded includes: The first information indicates a first count value, and the first count value is determined according to the first number.

12. The method according to any one of claims 1 to 11, characterized in that Also includes: The first information is delivered to a lower layer of the first layer.

13. The method according to any one of claims 1 to 12, characterized in that The first data unit and / or the second data unit is a service data unit SDU or a protocol data unit PDU.

14. The method according to claim 2, wherein The first layer includes a Packet Data Convergence Protocol (PDCP) layer, and the second layer includes a Radio Link Control (RLC) layer.

15. A communication method, characterized in that: include: receiving first information, where the first information is used to indicate that a data unit is discarded; Determine the discarded data unit according to the first information.

16. The method according to claim 15, wherein The first information indicates that M data units are discarded, where M is a positive integer.

17. The method according to claim 16, wherein The first information indicates M numbers, where the M numbers are numbers corresponding to the M data units.

18. The method according to claim 17, wherein The first information includes the smallest number among the M numbers; or the first information includes the first number among the M numbers.

19. The method according to claim 18, wherein When M is greater than 1, the first information also includes a first bit map, the first bit in the first bit map corresponds to the next adjacent number of the first number in the M numbers, and the last M-1 numbers in the M numbers are determined based on the bit in the first bit map that takes the first value.

20. The method according to claim 19, wherein The last M-1 numbers of the M numbers are determined according to the bits in the first bitmap having the first value, including: When the value of a bit in the first bit map is the first value, the data unit corresponding to the bit is discarded; and / or, when the value of a bit in the first bit map is the second value, the data unit corresponding to the bit is not discarded, and the first value and the second value are different.

21. The method according to any one of claims 16 to 20, characterized in that Also includes: When the value of the first variable is less than or equal to the maximum count value corresponding to the M data units, the value of the first variable is updated to the maximum count value corresponding to the M data units + 1, and the first variable indicates the count value corresponding to the next data unit expected to be received.

22. The method according to any one of claims 16 to 21, characterized in that Also includes: When the value of the second variable is equal to the second count value, at least one data unit starting with the value of the second variable + 1 is passed to a higher layer of the third layer; wherein the second variable indicates the smallest count value among the count values corresponding to data units that have not been passed to the higher layer of the third layer and are still waiting to be received, the second count value is the count value corresponding to one of the M data units, the numbering of the at least one data unit is continuous, and the at least one data unit includes: a data unit in a receiving buffer, and / or, part or all of the M data units.

23. The method according to claim 22, wherein Also includes: Update the value of the second variable to a third count value, where the third count value is the minimum count value corresponding to the data units in the data unit set, and any data unit in the data unit set is not submitted to a higher layer of the third layer and does not belong to the M data units; the count value corresponding to any data unit in the data unit set is greater than the value of the second variable before the update.

24. The method according to claim 22 or 23, wherein: The third layer includes a Packet Data Convergence Protocol (PDCP) layer.

25. A communication device, characterized in that: Used to implement the method according to any one of claims 1 to 14.

26. The communication device according to claim 25, characterized in that The communication device includes: user equipment or a chip.

27. A communication device, characterized in that: Used to implement the method according to any one of claims 15 to 24.

28. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program or instructions. When the computer program or instructions are executed, the method according to any one of claims 1 to 24 is implemented.

29. A computer program product, characterized in that The computer program product comprises computer program instructions or codes, and when the computer program instructions or codes are executed, the method according to any one of claims 1 to 24 is implemented.

Citation Information

Patent Citations

  • Data unit processing method and device and communication equipment

    CN117202255A

  • Timeout packet loss method and apparatus in network coding scenario, and readable storage medium

    WO2023005909A1

  • Methods and apparatus for differential quality of service (QOS) handling of packets within a same service stream

    WO2023212425A2