Data processing method and device
By updating the receiving end's variables based on the highest serial number of discarded data units, the method addresses processing delays and inefficiencies caused by data unit discarding in 5G communication systems, enhancing data processing efficiency.
Patent Information
- Application Number
- JP2025507231
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-09
- Filing Date
- 2023-07-21
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2043-07-21
AI Technical Summary
The discarding of data units in the PDCP and RLC layers of a 5G mobile communication system leads to processing delays and inefficiencies due to the inability of the receiving end to timely update its variables based on discarded data units.
The receiving end updates its first variable to be greater than or equal to the highest serial number indicated in the first indication information, effectively managing the processing and discarding of data units to reduce delays and improve processing efficiency.
This approach reduces processing delays and improves the efficiency of data processing by ensuring timely handling of discarded data units, allowing smoother operation of the receiving end.
Smart Images

Figure 2025528125000001_ABST
Abstract
Description
[Technical Field]
[0001] [Related Applications] This application claims priority to Chinese Patent Application No. 202210952523.0, filed with the State Intellectual Property Office of China on August 9, 2022, entitled "DATA PROCESSING METHOD AND APPARATUS," which is incorporated herein by reference in its entirety.
[0002] [Technical field] TECHNICAL FIELD Embodiments of the present application relate to the field of communication technology, and in particular to a data processing method and device. [Background technology]
[0003] The user plane protocol stack of a 5th generation (5G) mobile communication system may include a service data adaptation protocol (SDAP) layer, a packet data convergence protocol (PDCP) layer, a radio link control (RLC) layer, a media access control (MAC) layer, and a physical layer (PHY).
[0004] For confidentiality of data transmission, security protection is required for data transmitted over the radio air interface, including operations such as encryption and integrity protection. In 5G new radio (NR), the security protection function can be performed in the PDCP layer. The RLC layer is mainly responsible for segmenting RLC service data units (SDUs) from the PDCP layer into appropriately sized RLC protocol data units (PDUs). For example, SDU (or PDU) discarding can occur when the PDCP entity and / or the RLC entity processes the SDU (or PDU).
[0005] However, the discarded SDU (or PDU) may affect the processing process of the corresponding entity. Summary of the Invention
[0006] The embodiments of the present application provide a data processing method and apparatus for effectively improving the limited process of a corresponding entity due to discarding a data unit, and effectively reducing the delay in processing the data unit by the corresponding entity.
[0007] According to a first aspect, an embodiment of the present application provides a data processing method, the method comprising: a receiving end receiving first indication information, the first indication information indicating the highest serial number of one or more data units to be discarded; and updating a value of a first variable maintained by the entity at the receiving end to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable will be processed by the entity at the receiving end; or updating a value of a first variable maintained by an entity at the receiving end to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable will be processed by the entity at the receiving end; Includes:
[0008] Whether the transmitting end discards one or more data units or the receiving end discards one or more data units, the receiving end entity needs to maintain a first variable based on the serial numbers of the data units received by the receiving end entity. If a data unit is discarded but the receiving end entity cannot obtain the highest serial number of the discarded data units in time and cannot update the first variable held by the receiving end entity based on the discarded data units, the receiving end entity's process of delivering the data unit to the upper layer will be restricted, increasing processing delay. According to the solution provided in this embodiment of the present application, the receiving end updates the value of the first variable held by the receiving end to be greater than the highest serial number indicated in the first instruction information, or updates the value of the first variable held by the receiving end to be equal to the highest serial number indicated in the first instruction information. This effectively reduces processing delays caused by discarded data units when the receiving end entity processes the data units, and effectively improves the processing progress of the receiving end.
[0009] In a possible implementation, the serial numbers of the data units are consecutive.
[0010] In a possible implementation, the method comprises: when the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of said first variable is updated to be equal to said maximum serial number, discarding data units having serial numbers less than or equal to the value of said first variable; Further includes:
[0011] In this embodiment of the present application, data units with serial numbers less than or equal to the value of the first variable are discarded so that the buffer of the receiving entity can be properly cleared.
[0012] In a possible implementation, the step of updating a value of a first variable maintained by the receiving entity to be greater than the maximum serial number comprises: updating the value of the first variable maintained by the entity at the receiving end to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity at the receiving end to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; Includes:
[0013] In a possible implementation, the first variable indicating that data units having serial numbers equal to or greater than the value of the first variable are to be processed by the entity at the receiving end may comprise: the first variable indicates that data units having serial numbers equal to or greater than the value of the first variable will be reassembled by the entity at the receiving end; or the first variable indicating that data units having serial numbers equal to or greater than the value of the first variable are to be delivered to a higher layer by the entity at the receiving end; Includes:
[0014] In a possible implementation, the first variable indicating that data units having serial numbers greater than the value of the first variable are to be processed by the entity at the receiving end may comprise: the first variable indicates that data units having serial numbers greater than the value of the first variable are to be reassembled by the entity at the receiving end; or the first variable indicating that data units having serial numbers greater than the value of the first variable are to be delivered to an upper layer by the entity at the receiving end; Includes:
[0015] In a possible implementation, the receiving end obtaining the first indication information includes the receiving end receiving the first indication information.
[0016] In this embodiment of the present application, when discarding one or more data units, the entity at the transmitting end can send first indication information to the receiving end, so that after receiving the first indication information, the receiving end can timely and effectively update the value of the first variable based on the first indication information, and the receiving end can smoothly perform the data processing process.
[0017] In a possible implementation, the receiving end obtaining the first indication information includes the receiving end deciding to discard the one or more data units and determining the first indication information.
[0018] In an embodiment of the present application, when the receiving end entity decides to discard one or more data units, the receiving end entity can independently determine the first indication information, so that the receiving end entity can timely update the value of the first variable of the receiving end entity, and the receiving end can smoothly carry out the data processing process.
[0019] In a possible implementation, the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong.
[0020] In this embodiment of the present application, one or more data units may belong to one data unit set, or multiple data units may belong to multiple data unit sets, so the first indication information can indicate the serial number of the data unit set to be discarded.
[0021] In a possible implementation, the method comprises: obtaining a serial number of the set of data units to be discarded; determining a maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded; Further includes:
[0022] In a possible implementation, the entity at the receiving end includes at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity.
[0023] In a possible implementation, the first indication information indicates a maximum serial number of one or more data units to be discarded, The first indication information indicates a maximum sequence number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; Includes:
[0024] In a possible implementation, the method further includes: the receiving end entity sending second instruction information, wherein the second instruction information indicates to the transmitting end entity to discard the one or more data units, or the second instruction information indicates to the transmitting end entity to discard a data unit set corresponding to the one or more data units.
[0025] In this embodiment of the present application, the receiving end sends second indication information to the transmitting end, so that the entity at the transmitting end can clear the buffer according to the second indication information.
[0026] According to a second aspect, an embodiment of the present application provides a data processing method, the method comprising: triggering a buffer status report (BSR) when a data unit set is discarded, the buffer status report including a buffered data volume of a logical channel queue after the data unit set is discarded; transmitting the BSR; Includes:
[0027] In a possible implementation, the step of triggering a buffer status report (BSR) when a data unit set is discarded includes the step of triggering the BSR when the data unit set is discarded and a variable value of a buffered data volume of a logical channel or logical channel group is greater than or equal to a first threshold.
[0028] According to a third aspect, an embodiment of the present application provides a communications device, the device comprising: a processing unit configured to obtain first indication information, the first indication information indicating a highest serial number of one or more data units to be discarded; the processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable are to be processed by the communications equipment entity; or The processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable are to be processed by the communications equipment entity.
[0029] In a possible implementation, the processing unit comprises: When the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of the first variable is updated to be equal to the maximum serial number, discarding data units having serial numbers less than or equal to the value of the first variable; It is further configured as follows.
[0030] In a possible implementation, the processing unit specifically: updating the value of the first variable maintained by the entity of the communication device to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity of the communication device to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; It is configured as follows.
[0031] In a possible implementation, the first variable indicates that data units having a serial number equal to or greater than the value of the first variable are to be reassembled by the entity of the communication device; or The first variable indicates that data units having serial numbers equal to or greater than the value of the first variable are to be delivered to a higher layer by the entity of the communication device.
[0032] In a possible implementation, the first variable indicates that data units greater than the value of the first variable are to be reassembled by the entity of the communication device, or The first variable indicates that data units having serial numbers greater than the value of the first variable are to be delivered to a higher layer by the entity of the communication device.
[0033] In a possible implementation, the device further includes a transceiver unit, and the processing unit is specifically configured to receive the first indication information via the transceiver unit.
[0034] In a possible implementation, the processing unit is specifically configured to determine to discard the one or more data units and to determine the first indication information.
[0035] In a possible implementation, the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong.
[0036] In a possible implementation, the processing unit is configured to obtain serial numbers of the set of data units to be discarded and determine a maximum serial number of a plurality of data units based on the serial numbers of the set of data units to be discarded.
[0037] In a possible implementation, the entities of the communication device include at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity.
[0038] In a possible implementation, the first indication information indicates a maximum serial number of one or more data units to be discarded, the first indication information indicates a maximum serial number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; Includes:
[0039] In a possible implementation, the transceiver unit is further configured to transmit second instruction information, wherein the second instruction information indicates to the transmitting end entity to discard the one or more data units, or the second instruction information indicates to the transmitting end entity to discard a data unit set corresponding to the one or more data units.
[0040] According to a fourth aspect, an embodiment of the present application provides a communication device, the device comprising: a processing unit configured to trigger a buffer status report (BSR) when a data unit set is discarded, the buffer status report including a buffered data volume of a logical channel queue after the data unit set is discarded; a transceiver unit configured to transmit the BSR; Includes:
[0041] In a possible implementation, the step of triggering a buffer status report (BSR) when a data unit set is discarded includes the step of triggering the BSR when the data unit set is discarded and a variable value of a buffered data volume of a logical channel or logical channel group is greater than or equal to a first threshold.
[0042] According to a fifth aspect, an embodiment of the present application provides a communications device, the communications device including a processor configured to perform the method of the first aspect or any one of the possible implementations of the first aspect. Alternatively, the processor is configured to execute a program stored in a memory. When the program is executed, the method of the first aspect or any one of the possible implementations of the first aspect is performed.
[0043] In a possible implementation, the memory is located external to the communication device.
[0044] In a possible implementation, the memory is located inside the communication device.
[0045] In this embodiment of the present application, the processor and the memory may alternatively be integrated into one device, in other words, the processor and the memory may alternatively be integrated together.
[0046] In a possible implementation, the communication device further includes a transceiver. The transceiver is configured to receive and / or transmit signals. For example, the transceiver may be configured to receive data units. For example, the transceiver may be configured to receive first indication information. For example, the transceiver may be configured to transmit second indication information.
[0047] According to a sixth aspect, an embodiment of the present application provides a communications device, the communications device including a processor configured to perform the method of the second aspect or any one of the possible implementations of the second aspect. Alternatively, the processor is configured to execute a program stored in a memory, the program being executed to perform the method of the second aspect or any one of the possible implementations of the second aspect.
[0048] In a possible implementation, the memory is located external to the communication device.
[0049] In a possible implementation, the memory is located inside the communication device.
[0050] In this embodiment of the present application, the processor and the memory may alternatively be integrated into one device, in other words, the processor and the memory may alternatively be integrated together.
[0051] In a possible implementation, the communication device further includes a transceiver configured to receive and / or transmit signals. For example, the transceiver may be configured to receive data units. For example, the transceiver may be configured to transmit BSRs.
[0052] According to a seventh aspect, an embodiment of the present application provides a communications device, the communications device including a logic circuit and an interface, the logic circuit coupled to the interface, the logic circuit coupled to the interface, the interface configured to obtain first indication information, and the logic circuit configured to update, based on the first indication information, a value of a first variable maintained by an entity of the communications device to be equal to or greater than a maximum serial number.
[0053] According to an eighth aspect, an embodiment of the present application provides a communication device, the communication device including: a logic circuit and an interface, the logic circuit configured to trigger a BSR when a data unit set is discarded, and the interface configured to output the BSR.
[0054] According to a ninth aspect, an embodiment of the present application provides a computer-readable storage medium configured to store a computer program, which, when executed, performs the method of the first aspect or any one of the possible implementations of the first aspect.
[0055] According to a tenth aspect, an embodiment of the present application provides a computer-readable storage medium configured to store a computer program, which, when executed, performs the method of the second aspect or any one of the possible implementations of the second aspect.
[0056] According to an eleventh aspect, an embodiment of the present application provides a computer program product, the computer program product comprising a computer program or computer code (which may also be referred to as instructions), which, when run on a computer, performs the method of the first aspect or any one of the possible implementations of the first aspect.
[0057] According to a twelfth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising a computer program or computer code (which may also be referred to as instructions), which, when run on a computer, performs the method of the second aspect or any one of the possible implementations of the second aspect.
[0058] According to a thirteenth aspect, an embodiment of the present application provides a computer program, which, when executed, performs the method of the first aspect or any one of the possible implementations of the first aspect.
[0059] According to a fourteenth aspect, an embodiment of the present application provides a computer program, which, when executed, performs the method of the second aspect or any one of the possible implementations of the second aspect.
[0060] According to a fifteenth aspect, an embodiment of the present application provides a communication system, the communication system including a transmitting end and a receiving end, the receiving end configured to perform the method of the first aspect or any one of the possible implementations of the first aspect, the transmitting end configured to transmit first indication information, and alternatively, the transmitting end configured to receive second indication information.
[0061] According to a sixteenth aspect, an embodiment of the present application provides a communication system, the communication system including a terminal device and a network device, the terminal device configured to perform the method of the second aspect or any one of the possible implementations of the second aspect, and the network device configured to receive a BSR. [Brief explanation of the drawings]
[0062] [Figure 1] 1 is a diagram of the architecture of a communication system according to an embodiment of the present application; [Figure 2a] FIG. 2 is a diagram of the structure of a user plane protocol stack according to an embodiment of the present application. [Figure 2b] FIG. 2 is a diagram of another user plane protocol stack structure according to an embodiment of the present application; [Figure 3a] FIG. 10 is a diagram of a process by which a receiving PDCP entity maintains variables according to an embodiment of the present application. [Figure 3b] FIG. 1 is a diagram of a process by which a receiver unacknowledged mode (UM) RLC entity maintains variables according to an embodiment of the present application. [Figure 3c] FIG. 10 is a diagram of a process by which an acknowledged mode (AM) RLC entity transmitting end maintains variables according to an embodiment of the present application. [Figure 3d] 10 is a diagram of a process in which an AM RLC entity receiving end maintains variables according to an embodiment of the present application; [Figure 4] 1 is a schematic flowchart of a data processing method according to an embodiment of the present application; [Figure 5a] FIG. 1 is a diagram of a data processing scenario according to an embodiment of the present application. [Figure 5b] FIG. 1 is a diagram of a data processing scenario according to an embodiment of the present application. [Figure 5c] FIG. 1 is a diagram of a data processing scenario according to an embodiment of the present application. [Figure 6] 1 is a schematic flowchart of a data processing method according to an embodiment of the present application; [Figure 7] 1 is a diagram of the structure of a communication device according to an embodiment of the present application; [Figure 8] 1 is a diagram of the structure of a communication device according to an embodiment of the present application; [Figure 9] 1 is a diagram of the structure of a communication device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0063] To clarify the objectives, technical solutions and advantages of the present application, the following describes the present application with reference to the accompanying drawings.
[0064] In the present specification, claims, and accompanying drawings, terms such as "first," "second," etc. are used merely to distinguish different objects and not to describe a particular order. Furthermore, the terms "comprise" and "have" and variations thereof are intended to cover a non-exclusive inclusion. For example, a process, method, system, product, apparatus, etc. that includes a series of steps or units is not limited to the listed steps or units, but instead may optionally further include unlisted steps, units, etc., or may optionally further include other steps or units inherent to the process, method, product, or apparatus.
[0065] The term "embodiment" as used herein means that a particular feature, structure, or characteristic described with reference to an embodiment may be included in at least one embodiment of the present application. Phrases appearing in various places in the specification do not necessarily refer to the same embodiment, nor are they exclusive, independent of another embodiment, or any embodiment. Those skilled in the art may explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0066] In this application, "at least one (item)" means one or more, "multiple" means two or more, "at least two (items)" means two or more, and "and / or" is used to describe an association relationship between related objects and indicates that three relationships may exist. For example, "A and / or B" may indicate three cases: only A is present, only B is present, or both A and B are present, where A and B may be singular or plural. "Or" indicates that two relationships may exist, for example, only A is present and only B is present. Of course, if A and B are not mutually exclusive, "or" may also indicate that three relationships exist: for example, only A is present, only B is present, or both A and B are present. The character " / " typically indicates an "or" relationship between associated objects. "At least one of the following items" or similar expressions means any combination of these items. For example, at least one of a, b, or c may represent a, b, c, "a and b," "a and c," "b and c," or "a and b and c."
[0067] The technical solutions provided in the embodiments of the present application can be applied to various communication systems, for example, internet of things (IoT) systems, narrowband internet of things (NB-IoT) systems, long term evolution (LTE) systems, fifth generation (5G) communication systems, and new communication systems emerging in future communication developments, such as sixth generation (6G) communication systems.
[0068] The technical solutions provided in the embodiments of the present application can also be applied to non-terrestrial network (NTN) communication (sometimes referred to as non-terrestrial network communication), machine-type communication (MTC), long term evolution-machine (LTE-M), device-to-device (D2D) networks, machine-to-machine (M2M) networks, internet of things (IoT) networks, industrial internet, or other networks. IoT networks can include, for example, internet of things (IOT). Communication modes in IOT systems are collectively called vehicle-to-everything (V2X, where X stands for everything). For example, V2X may include vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-pedestrian (V2P) communication, or vehicle-to-network (V2N) communication. For example, in FIG. 1 shown below, terminal devices can communicate with each other using D2D technology, M2M technology, V2X technology, etc.
[0069] The technical solutions provided in the embodiments of the present application are also applicable to wireless local area network (WLAN) systems, such as Wi-Fi. For example, the methods provided in the embodiments of the present application are applicable to Institute of Electrical and Electronics Engineers (IEEE) 802.11 series protocols, such as the 802.11a / b / g protocol, the 802.11n protocol, the 802.11ac protocol, the 802.11ax protocol, the 802.11be protocol, or next-generation protocols, which are not listed here. As another example, the methods are also applicable to wireless personal area networks (WPANs) based on ultra-wideband (UWB) technology, such as the 802.15.4a protocol, the 802.15.4z protocol, and the 802.15.4ab protocol of the IEEE 802.15 series protocols, and future-generation UWB WPAN protocols. Other applicable protocols are not listed here. Those skilled in the art will readily appreciate that various aspects of the present embodiments can be extended to other networks using various standards or protocols, such as Bluetooth, high performance radio LAN (HIPERLAN) (a wireless standard similar to the IEEE 802.11 standard, primarily used in Europe), wide area networks (WANs), or other networks known or developed in the future. Therefore, the technical solutions provided in the present embodiments can be applied to any suitable wireless network, regardless of the coverage area and wireless access protocol used.
[0070] FIG. 1 is an architecture diagram of a communication system according to an embodiment of the present application. As shown in FIG. 1, the communication system may include at least one network device and at least one terminal device, for example, terminal device 1 to terminal device 4 in FIG. 1. For example, terminal device 3 and terminal device 4 shown in FIG. 1 can communicate directly with each other. For example, the terminal devices can communicate directly with each other using D2D technology. Terminal device 1 to terminal device 4 can each communicate with a network device. Terminal device 3 and terminal device 4 may communicate directly with the network device or indirectly with the network device. For example, they may communicate with the network device via another terminal device (not shown in FIG. 1). FIG. 1 illustrates an example of communication links between one network device, multiple terminal devices, and a communication device. Optionally, the communication system may include multiple network devices, and the coverage area of each network device may include a different amount of terminal devices, for example, more or fewer terminal devices. This is not limited in this embodiment of the present application. The following describes the terminal device and the network device in detail.
[0071] A terminal device is a device having wireless transmission and reception capabilities. The terminal device may communicate with an access network device (also called an access device) in a Radio Access Network (RAN). The terminal device may also be called a user equipment (UE), access terminal, terminal, subscriber unit, subscriber station, mobile station, remote station, remote terminal, mobile device, user terminal, user agent, user equipment, etc. In possible implementations, the terminal device may be located on land, including indoor, outdoor, handheld, or in-vehicle devices, or may be located on water (e.g., a ship). In possible implementations, the terminal device may be a handheld device, in-vehicle device, wearable device, sensor, terminal in the Internet of Things, terminal in the Internet of Vehicles, unmanned aerial vehicle, terminal device in a 5G network or future network, etc., having wireless communication capabilities. This is not limited to this embodiment of the present application. It should be understood that the terminal device described in this embodiment of the present application may include a vehicle (e.g., a car) in the Internet of Vehicles, an in-vehicle device in the Internet of Vehicles, an in-vehicle terminal, etc. The specific type of terminal device used in the Internet of Vehicles is not limited in the embodiments of the present application. It should be understood that the terminal devices described in the present embodiment of the present application may communicate with each other using D2D, V2X, M2M, etc. The communication method between the terminal devices is not limited in the present embodiment of the present application.
[0072] The network device may be a device disposed in a radio access network and providing wireless communication services to terminals. The network device may also be referred to as an access network device, an access device, a RAN device, etc. The network device may be, for example, a next generation NodeB (gNB), a next generation evolved NodeB (ng-eNB), a network device in 6G communication, etc. The network device may be any device having a radio transmission / reception function, including, but not limited to, a base station (including a base station deployed on a satellite). Alternatively, the network device may be a device having a 6G base station function. Optionally, the network device may be an access node, a radio relay node, a radio backhaul node, etc. in a wireless local area network (wireless fidelity, Wi-Fi) system. Optionally, the network device may be a radio controller in a cloud radio access network (CRAN) scenario. Optionally, the network device may be a wearable device, an in-vehicle device, etc. Optionally, the network device may be a small cell, a transmission reception point (TRP) (also called a transmission point), etc. It should be understood that the network equipment may alternatively be a base station, a satellite, etc. in a future evolved Public Land Mobile Network (PLMN). The network equipment may also be a communication device that functions as a base station in a non-terrestrial communication system, D2D, V2X, or M2M, etc. The specific type of network equipment is not limited in this embodiment of the present application. In systems using different radio access technologies, the names of communication equipment having network equipment functions may be different and are not listed in this embodiment of the present application.Optionally, in some configurations of the network device, the network device may include a central unit (CU) and a distributed unit (DU), etc. A network device including a CU and a DU can be understood as dividing the protocol layers of an eNB in an LTE system. Some protocol layer functions are centrally controlled by the CU, and some or all remaining protocol layer functions are distributed to the DUs, with the CU centrally controlling the DUs. In some other configurations of the network device, the CU may be further divided into a CU control plane (CP), a CU user plane (UP), etc. In still other configurations of the network device, the network device may alternatively be an open radio access network (ORAN) architecture, etc. The specific configuration type of the network device is not limited to this embodiment of the present application.
[0073] The network architectures and service scenarios described in the embodiments of the present application are intended to more clearly explain the technical solutions in the embodiments of the present application, and do not constitute limitations on the technical solutions provided in the embodiments of the present application. Those skilled in the art can understand that with the evolution of network architectures and the emergence of new service scenarios, the technical solutions provided in the embodiments of the present application can also be applied to similar technical problems.
[0074] First, the protocol stack in the embodiment of the present application will be described below.
[0075] As an example, Figure 2a is a diagram of a user plane protocol stack structure according to an embodiment of the present application. As shown in Figure 2a, the user plane protocol stacks of the UE and the gNB may include at least one of SDAP, PDCP, RLC, MAC, and PHY. In another example, Figure 2b is a diagram of another user plane protocol stack structure according to an embodiment of the present application. As shown in Figure 2b, SDAP and PDCP are located on the CU, and RLC, MAC, and PHY are located on the DU. The CU and DU may be connected via an F1 interface. The CU represents a gNB and is connected to a core network via an NG interface. The CU represents a gNB and is connected to another gNB via an Xn interface.
[0076] It should be noted that the user plane protocol stacks shown in Figures 2a and 2b are merely examples. As standards evolve, the user plane protocol stacks may change, and any user plane protocol stack that enables a communication device to perform the methods provided in the embodiments of the present application falls within the scope of protection of the embodiments of the present application. The functions implemented by each protocol layer shown in Figures 2a and 2b may be implemented by an entity in the corresponding protocol layer. The protocol layers and entities (entities corresponding to the protocol layers) described below may be understood to be corresponding or interchangeable.
[0077] Figure 2a is used as an example. When a UE transmits a data unit (i.e., the UE functions as a transmitting end), each entity in the UE may process the acquired SDU and then deliver the processed PDU to the next layer. For example, after receiving a PDCP SDU from an upper layer, the transmitting PDCP entity may assign a PDCP SN, perform header compression, encryption, and integrity protection, add a PDCP header to generate a PDCP PDU, and deliver the PDCP PDU to a lower layer for transmission over the air interface. When a gNB receives a data unit (i.e., the gNB functions as a receiving end), each entity in the gNB may process the acquired PDU and then deliver the processed SDU to a higher layer. For example, after receiving a PDCP PDU from a lower layer, the receiving PDCP entity may remove the PDCP header, perform decryption and integrity protection verification, perform duplicate detection, and finally deliver the acquired SDU to a higher layer. The above processing method is merely an example. Furthermore, each protocol layer in the user plane protocol stack shown in Figures 2a and 2b processes the SDU (or PDU). For specific processing methods, reference is made to the relevant standards or protocols.
[0078] According to the above user plane protocol stack, at the transmitting end, the function implemented by each protocol layer can be understood as processing the acquired SDU and delivering the PDU to the lower layer. At the receiving end, the function implemented by each protocol layer can be understood as processing the acquired PDU and delivering the SDU to the upper layer. Therefore, for brevity, in the following, SDUs and PDUs are not distinguished from each other and are uniformly represented by the term "data unit." For example, a data unit may include any of a PDCP SDU, an RLC SDU, a PDCP PDU, and an RLC PDU. Of course, PDCP and RLC described here are merely examples and do not represent the individual protocol layers in the user plane protocol stack. Alternatively, a data unit may be understood as a data packet, etc. The specific name of the data unit is not limited in this embodiment of the present application.
[0079] The PDCP entities are described below.
[0080] In a mobile communication system, security protection is required for data transmitted over the radio air interface, including operations such as encryption and integrity protection, to ensure confidentiality of data transmission. In 5G NR, the security protection function can be performed in the PDCP layer. Each radio bearer (RB) except for signaling radio bearer 0 (SRB0) may correspond to one PDCP entity. A PDCP entity is associated with either the control plane or the data plane depending on whether the RB associated with the PDCP entity is an SRB or a data radio bearer (DRB). Next, the processing procedures of the PDCP entity at the transmitting end and the PDCP entity at the receiving end will be described using a PDCP entity associated with a DRB as an example.
[0081] For a PDCP entity at the transmitting end, after receiving a data unit from the upper layer, the PDCP entity starts a discard timer corresponding to the data unit and assigns a PDCP SN to the data unit. Optionally, the PDCP entity may further perform one or more of header compression, encryption, integrity protection, and adding a PDCP header. Finally, the processed data unit is delivered to the lower layer for transmission over the radio interface. When the discard timer for the data unit expires, the PDCP entity discards the data unit (including the PDCP SDU and the corresponding PDCP PDU). If the data unit has been delivered to the RLC layer, the PDCP entity may instruct the RLC entity to discard the data unit. Note that the PDCP entity may instruct the RLC entity to discard the data unit, but it can only discard the data unit if the data unit and its segments have not been delivered to the MAC layer. That is, as long as one SDU segment of the data unit is transmitted over the radio interface, the RLC entity must transmit the entire data unit.
[0082] For a PDCP entity at the receiving end, after receiving a data unit from a lower layer, the PDCP entity first removes the PDCP header and performs decryption and integrity protection verification. If the integrity protection verification fails, the PDCP entity reports the failure to the upper layer and discards the data unit. Alternatively, if the integrity protection verification is successful, the PDCP entity performs duplicate detection, discards duplicate data units received due to retransmissions or enabled PDCP duplication, and places non-duplicate PDCP PDUs in the receive buffer. If out-of-order delivery is configured for the PDCP entity, the PDCP entity performs header decompression (if necessary) on the data unit before delivering the processed data unit to the upper layer. If the PDCP entity is configured for in-order delivery and the data units are in order (i.e., the serial number of the current data unit is the serial number of the previously delivered data unit plus one), the PDCP entity performs header decompression (if necessary) on the data unit and then delivers the processed data unit to the upper layer. Alternatively, if the data unit is out of order, the PDCP entity waits until the data units are in order before delivering them to the upper layer. For example, after a data unit with serial number 100 has been delivered to the upper layer, a data unit with serial number 102 is received. Since 102 and 100 are not consecutive, the data unit with serial number 102 is not delivered to the upper layer. After receiving the data unit with serial number 101, both the data unit with serial number 101 and the data unit with serial number 102 are delivered to the upper layer.
[0083] For example, a PDCP entity configured for in-order delivery may maintain the following variables: (1) RX_DELIV: A count (or COUNT) value of the first received data unit that has not been delivered to the upper layer. (2) RX_NEXT: Equal to the maximum count value of the currently received data unit + 1. (3) RX_REORD: Equal to the value of RX_NEXT when the reordering timer (t-Reordering) is started.
[0084] After receiving a data unit from a lower layer, the PDCP entity can determine a count value of the data unit based on the SN in the PDCP header. For a method of determining the count value based on the SN in the PDCP header, please refer to the relevant standard or protocol. Details are not described in this embodiment of the present application. For example, the count value = [HFN, SN], where the value of the hyperframe number (HFN) can satisfy one of the following: If SN(RCVD_SN) is less than SN(RX_DELIV) - Window_Size, then HFN = HFN(RX_DELIV) + 1; If SN(RCVD_SN) is equal to or greater than SN(RX_DELIV) + Window_Size, then HFN = HFN(RX_DELIV) - 1; And, if SN(RCVD_SN) is equal to or greater than SN(RX_DELIV) - Window_Size but not equal to or greater than SN(RX_DELIV) + Window_Size, then HFN = HFN(RX_DELIV). SN(RCVD_SN) represents the SN obtained when the PDCP entity receives a data unit. SN(RX_DELIV) represents the SN value of RX_DELIV when the PDCP entity receives a data unit. HFN(RX_DELIV) represents the value of the first 4 bits of the count value represented by RX_DELIV when the PDCP entity receives a data unit. For example, the count value may occupy 8 bits, and the SN may occupy 4 bits.
[0085] The process by which a PDCP entity maintains variables is as follows:
[0086] If in-order delivery is required, the PDCP entity delivers data units to the upper layer one by one in ascending order of count values from the data unit until a discontinuity occurs, if the count value of the currently received data unit is equal to RX_DELIV. The PDCP entity then updates the RX_DELIV variable to the count value of the first data unit not yet delivered to the upper layer. For example, Figure 3a illustrates a process by which a receiving PDCP entity maintains variables according to an embodiment of the present application. (1) in Figure 3a shows the initial state, e.g., RX_DELIV = 0 and RX_NEXT = 0. (2) in Figure 3a indicates that the PDCP entity has received a data unit with a count value of 1, in which case it updates RX_NEXT to 2. The PDCP entity has not received a data unit with a count value of 0, i.e., the data unit with a count value of 0 has not yet been delivered to the upper layer, so the value of RX_DELIV remains 0. Also, since the value of RX_DELIV is smaller than the value of RX_NEXT, for example, the PDCP entity has received only data units with a count value of 1 and has not received any data units with a count value of 0, and therefore cannot deliver the data units to the upper layer in order of 0 to 1, the PDCP entity can start the reordering timer. When the reordering timer is started, the value of RX_REORD is equal to the value of RX_NEXT, i.e., RX_REORD=2. If a data unit with a count value of 0 is received before the reordering timer expires, the PDCP entity can deliver the data units with a count value of 0 and the data units with a count value of 1 to the upper layer in order. The fact that the value of RX_DELIV is smaller than the value of RX_NEXT can be understood as indicating that no data units have been received before the received data unit with the maximum count value, and that there is space. Alternatively, the fact that the value of RX_DELIV is equal to the value of RX_NEXT indicates that the PDCP entity has received consecutive data units with count values, and that there is no need to start the reordering timer. (3) in FIG. 3a indicates that the PDCP entity has received a PDU with a count value of 3 and a PDU with a count value of 4, and in this case, it updates RX_NEXT to 5.The PDCP entity has not received a data unit with a count value of 0, i.e., the data unit with a count value of 0 has not been delivered to the upper layer, so the value of RX_DELIV remains 0. (4) in Figure 3a shows that the PDCP entity has received a data unit with a count value of 0. In this case, it delivers a PDU with a count value of 0 and a PDU with a count value of 1 and updates RX_DELIV to 2. In this case, the value of RX_DELIV is equal to the value of RX_REORD, so the reordering timer is stopped and reset (the condition for stopping the reordering timer can be understood as the value of RX_DELIV being equal to or greater than the value of RX_REORD). Because one data unit is missing between the data unit with a count value of 1 and the data unit with a count value of 3 (this can also be understood as the value of RX_DELIV being less than the value of RX_NEXT), the PDCP starts the reordering timer, and RX_REORD = 5. When the reordering timer expires, the PDCP entity delivers to the upper layer all data units in the receive buffer whose count value is less than RX_REORD and all data units whose count value is consecutive and greater than or equal to RX_REORD. That is, as shown in (5) of Figure 3a, when the reordering timer expires, the PDCP entity can deliver to the upper layer the data unit with count value 3 and the data unit with count value 4, and update RX_DELIV to the count value of the first data unit not delivered to the upper layer, e.g., RX_DELIV=5.
[0087] From the diagram shown in FIG. 3a, it can be seen that when in-order delivery is configured for the PDCP entity, if the PDCP entity at the transmitting end discards a data unit, the count value of the receive window of the PDCP entity at the receiving end becomes discontinuous, causing the reordering timer to be repeatedly triggered, consuming processing resources at the receiving end. Furthermore, the PDCP entity can deliver the data unit to upper layers only when the reordering timer expires, increasing processing delays at the receiving end and affecting the timely delivery of subsequent data units. Similarly, if the PDCP entity at the receiving end discards a data unit, the count value of the receive window of the PDCP entity at the receiving end becomes discontinuous, causing the reordering timer to be repeatedly triggered, consuming processing resources at the receiving end. Furthermore, the PDCP entity can deliver the data unit to upper layers only when the reordering timer expires, increasing processing delays at the receiving end and affecting the timely delivery of subsequent data units. It can be understood that the problem described herein is also applicable to a method in which the transmitting end or the receiving end discards a set of data units. In other words, if the transmitting end discards a set of data units, the above case also occurs in the PDCP entity at the receiving end. Or, if the receiving end discards a set of data units, the above case also occurs in the PDCP entity of the receiving end.
[0088] The RLC entities are described below.
[0089] Based on the type of service, the service mode of the RLC entity may include at least one of the following: Transparent mode (TM): Data packets are transmitted transparently without processing and header addition, where the TM RLC entity is unidirectional and is divided into a sending TMRLC entity and a receiving TMRLC entity. Unacknowledged mode (UM): Supports segment reassembly and duplicate detection, where the UM RLC entity is unidirectional and is divided into a sending UM RLC entity and a receiving UM RLC entity; and Acknowledged mode (AM): Supports segment reassembly, duplicate detection, and retransmission of data packets. Here, the AM RLC entity is bidirectional and is divided into an AM RLC entity transmitter and an AM RLC entity receiver.
[0090] "Unidirectional" above can be understood as an RLC entity being able to support either transmitting a data unit or receiving a data unit, and "bidirectional" can be understood as an RLC entity being able to support transmitting a data unit and receiving a data unit.
[0091] It can be understood that the RLC entity at the transmitting end described in this embodiment of the present application may include a transmitting UM RLC entity or an AM RLC entity transmitting end, and the RLC entity at the receiving end may include a receiving UM RLC entity or an AM RLC entity receiving end. In other words, for ease of explanation, the RLC entity at the transmitting end and the RLC entity at the receiving end described below do not distinguish between service modes, and the functions or steps performed by the RLC entity at the transmitting end are applicable to at least one of the transmitting UM RLC entity and the AM RLC entity transmitting end, and the functions or steps performed by the RLC entity at the receiving end are applicable to at least one of the receiving UM RLC entity and the AM RLC entity receiving end.
[0092] After receiving a data unit from the PDCP layer, the RLC entity at the transmitting end may add an RLC header to the data unit. After receiving a notification regarding a transmission opportunity sent from the MAC layer, the RLC entity at the transmitting end checks whether the data volume of the data unit matches the size of the transmission opportunity. If the data volume matches the size of the transmission opportunity, the data unit with the added RLC header is transmitted to the MAC layer. Or, if the data volume of the data unit does not match the size of the transmission opportunity, the data unit is segmented, the RLC header is modified, information such as SN is added to the RLC header, and the data unit is transmitted to the MAC layer. It can be understood that the SNs transmitted in the SDU segments obtained by segmenting the same data unit are the same.
[0093] In the example, the receiving-side UM RLC entity can maintain the following variables. (1) RX_Next_Highest: The upper limit of the reconfiguration window. The value of that variable is equal to the value obtained by adding 1 to the maximum SN of the received data unit for which reconfiguration is not complete. Here, the lower limit of the reconfiguration window is RX_Next_Highest - UM_Window_Size, where UM_Window_Size indicates the size of the reconfiguration window and may be a constant. When the SN satisfies the following condition: (RX_Next_Highest - UM_Window_Size) <= SN < RX_Next_Highest, the SN is within the reconfiguration window, or when the SN does not satisfy the following condition: (RX_Next_Highest - UM_Window_Size) <= SN < RX_Next_Highest, the SN is outside the reconfiguration window. (2) RX_Next_Reassembly: Equal to the SN of the first RLC SDU to be reassembled. And (3) RX_Timer_Trigger: Equal to the value of RX_Next_Highest when the reconfiguration timer (t-Reassembly) is started.
[0094] Optionally, the value of the variable maintained by the receiving UM RLC entity may be between 0 and 2. SN-FieldLength The SN-FieldLength indicates the length of the SN, and can range from -1.
[0095] The first SN described in this embodiment of the present application may be understood as the earliest SN, the smallest SN, etc. In other words, the description of the first SN may be replaced with the earliest SN or the smallest SN.
[0096] It should be noted that "first SN," "earliest SN," "maximum SN," and similar descriptions such as operations between variables in this embodiment of the present application all represent the result of a modulo operation. For example, if the value of a variable ranges from 0 to 511 and the SNs of data units received sequentially by an entity are 0, 1, 2, and 3, then the first SN is 0, the earliest SN is 0, and the maximum SN is 3. As another example, if 510, 511, 0, 1, and 2 are received sequentially, then the first SN is 510, the earliest SN is 510, and the maximum SN is 2. It should be understood that the variables described herein may be understood as variables maintained by an entity.
[0097] Upon receiving a data unit, the receiving UM RLC entity checks whether the RLC header of the data unit contains a SN. If the RLC header does not contain a SN, it indicates that the data unit contains a complete RLC SDU, and the receiving UM RLC entity removes the RLC header of the data unit and delivers the data unit to the upper layer. Or, if the RLC header contains a SN, the receiving UM RLC entity further checks whether the SN of the data unit satisfies (RX_Next_Highest - UM_Window_Size) <= SN < RX_Next_Reassembly. If the SN of the data unit satisfies (RX_Next_Highest - UM_Window_Size) <= SN < RX_Next_Reassembly, the data unit is discarded, or if the SN of the data unit does not satisfy (RX_Next_Highest - UM_Window_Size) <= SN < RX_Next_Reassembly, the data unit is placed in the receive buffer.
[0098] If the SDU segments contained in a data unit can be reconstructed into a complete RLC SDU using the existing SDU segments in the receive buffer, the receiving UM RLC entity delivers the complete RLC SDU obtained by the reconstruction to the upper layer. In this case, if the SN of the data unit is equal to RX_Next_Reassembly, the receiving UM RLC entity updates the variable RX_Next_Reassembly to the SN of the first data unit whose SN is greater than the current RX_Next_Reassembly and whose reconstruction has not been completed. If the SDU segments contained in a data unit cannot be reconstructed into a complete RLC SDU using the existing SDU segments in the receive buffer, if the SN of the data unit is greater than or equal to RX_Next_Highest, the receiving UM RLC entity updates the variable RX_Next_Highest to be equal to SN+1 and discards all RLC PDUs whose SN is outside the reconstruction window. If RX_Next_Reassembly is outside the reassembly window, the receiving UM RLC entity sets the variable RX_Next_Reassembly to the SN of the first data unit whose SN is greater than RX_Next_Highest-UM_Window_Size and for which reassembly has not been completed.
[0099] If the reconfiguration timer t-Reassembly is not running and one of the following conditions is met, the receiving UM RLC entity starts t-Reassembly and sets the value of the variable RX_Timer_Trigger to the current value of RX_Next_Highest: (1) RX_Next_Highest > RX_Next_Reassembly + 1, and (2) RX_Next_Highest = RX_Next_Reassembly + 1 (i.e., only the reassembly of the data unit with SN = RX_Next_Reassembly has not been completed), and there is an SDU segment that has not been received before the last byte of the currently received data unit with SN = RX_Next_Reassembly.
[0100] When the reassembly timer t-Reassembly expires, the receiving UM RLC entity sets the variable RX_Next_Reassembly to the SN of the first data unit whose SN is greater than RX_Timer_Trigger and whose reassembly has not been completed, and discards all SDU segments in the receive buffer whose SN is less than RX_Next_Reassembly.
[0101] For example, Figure 3b is a diagram of a process by which a receiving UM RLC entity maintains variables according to an embodiment of the present application. (1) in Figure 3b shows an initial state in which the receiving UM RLC entity has not received any data units. (2) in Figure 3b shows that the receiving UM RLC entity receives an SDU segment with an SN of 2. In this case, the upper limit of the reconfiguration window is updated, so that the variable value of the upper limit of the reconfiguration window becomes the maximum SN of received data units for which reconfiguration has not been completed (here, the maximum SN is 2) + 1, i.e., RX_Next_Highest = 3. Based on the start condition of the reconfiguration timer described above, since RX_Next_Highest (i.e., 3) > RX_Next_Reassembly (i.e., 0) + 1, the receiving UM RLC entity starts the reconfiguration timer, and when the reconfiguration timer is restarted, the value of RX_Timer_Trigger becomes equal to the value of RX_Next_Highest, i.e., RX_Timer_Trigger = 3. (3) in Figure 3b indicates that the reassembly of the data unit with SN=0 is completed, the data unit with SN=0 is delivered to the upper layer, and the variable RX_Next_Reassembly is updated to 1. Furthermore, the receiving UM RLC entity receives an SDU segment of the data unit with SN=5. In this case, the upper limit of the reassembly window is updated, and the variable value of the upper limit of the reassembly window becomes the highest SN of the received data units that have not yet been reassembled (here, the highest SN is 5) + 1, i.e., RX_Next_Highest = 6. (41) in Figure 3b indicates that if the reassembly of the RLC SDU with SN=1 and the RLC SDU with SN=2 is completed while the reassembly timer has not yet expired, the receiving UM RLC entity delivers the RLC SDU to the upper layer and updates RX_Next_Reassembly to 3. Since RX_Timer_Trigger(=3)<=RX_Next_Reassembly(=3), the reassembly timer is stopped and reset. Since RX_Next_Highest>RX_Next_Reassembly+1, the reassembly timer is started and RX_Timer_Trigger=6.(42) in Figure 3b indicates that when the reconfiguration timer expires, if the reconfiguration of the data unit with SN=1 and the data unit with SN=2 is not complete, the receiving UM RLC discards the buffered SDU segments with SN=1 and SN=2 and updates the variables and the reconfiguration timer maintained by the receiving UM RLC entity. For ease of distinction, it can be seen that (41) and (42) are used in Figure 3b to represent parallel solutions, respectively.
[0102] From (3) in Figure 3b, we can see that the conditions for updating RX_Next_Reassembly by the UM RLC entity include the UM RLC entity completing the reconstruction of the data unit with SN=RX_Next_Reassembly. From (42) in Figure 3b, we can see that the conditions for updating RX_Next_Reassembly by the UM RLC entity include the expiration of the reconstruction timer.
[0103] From the above, it can be seen that if the transmitting end discards a data unit, the UM RLC entity at the receiving end will continue to wait for the data unit until the reconfiguration timer expires, which results in an increased delay in processing the data unit by the UM RLC entity at the receiving end.
[0104] In another example, the AM RLC entity transmit end maintains the following variables: (1) TX_Next_Ack: For data units with SN less than TX_Next_Ack, the AM RLC entity transmitter receives an acknowledgment message from the receiver indicating that the data unit has been successfully received. Here, the AM RLC entity transmitter maintains a transmission window with a size of [TX_Next_Ack, TX_Next_Ack + AM_Window_Size] and can only transmit PDUs whose SN is within the transmission window, where AM_Window_Size indicates the size of the transmission window. (2) TX_Next: The SN to be assigned to the next newly generated data unit.
[0105] After receiving a data unit from the upper layer, the AM RLC entity transmitter sets the data unit's SN to TX_Next, adds an RLC header, and updates the value of TX_Next. After receiving a transmission opportunity notification from the MAC layer, the AM RLC entity transmitter segments the data unit based on the size of the transmission opportunity if necessary, modifies the RLC header, and delivers the processed data unit to the MAC layer. If an acknowledgement message for the data unit is received from the receiving end, the AM RLC entity transmitter indicates to the upper layer that the data unit was successfully transmitted and updates the variable TX_Next_Ack to the SN of the next unacknowledged data unit.
[0106] For example, Figure 3c is a diagram of a process by which an AM RLC entity transmitter maintains variables according to an embodiment of the present application. (1) in Figure 3c can be understood as the initial state, i.e., TX_Next=0 and TX_Next_Ack=0. (2) in Figure 3c shows that the AM RLC entity transmitter transmits a data unit with SN=0 through a data unit with SN=3, and the receiving end acknowledges successful reception of the data unit with SN=1. Therefore, the AM RLC entity transmitter updates the value of TX_Next to 4, and the value of TX_Next_Ack remains 0. (3) in Figure 3c shows that the receiving end acknowledges successful reception of the data unit with SN=0, in which case the AM RLC entity transmitter updates the variable TX_Next_Ack to 2.
[0107] In yet another example, the receiving end of the AM RLC entity maintains the following variables: (1) RX_Next: Reconstruction of all RLC SDUs with SN less than RX_Next is considered complete. (2) RX_Next_Highest: The highest SN of the received data unit plus 1. (3) RX_Next_Status_Trigger: The value of this variable is equal to the value of RX_Next_Highest when the reassembly timer (t-Reassembly) is triggered. (4) RX_Highest_Status: The highest possible value of the “ACK_SN” field in the status report.
[0108] The receiving end of the AM RLC entity maintains a receive window [RX_Next, RX_Next + AM_Window_Size] and receives only PDUs whose SN falls within the receive window. After receiving a data unit, the receiving end of the AM RLC entity discards the data unit if its SN is not within the receive window or if the entire data unit overlaps with a previously successfully received data unit, or discards some overlapping SDU segments within the data unit if the SDU segments overlap with previously successfully received SDU segments. The receiving end of the AM RLC entity then places the data unit for which duplicate detection has been performed in the receive buffer. If the SN of the data unit is equal to or greater than RX_Next_Highest, the receiving end of the AM RLC entity updates the variable RX_Next_Highest to the SN of the PDU + 1. If the data unit contains a complete RLC SDU, or if the SDU segments within the data unit can be reconstructed into a complete SDU using other SDU segments in the receive buffer, the receiving end of the AM RLC entity removes the RLC header after the reconstruction is complete and delivers the SDU to the upper layer. If the SN of the SDU obtained by reconfiguration is equal to RX_Next, RX_Next is updated to the SN of the first RLC SDU whose SN is greater than the current RX_Next and whose reconfiguration has not been completed, and if the SN of the SDU obtained by reconfiguration is equal to RX_Highest_Status, RX_Highest_Status is updated to the SN of the first RLC SDU whose SN is greater than the current RX_Highest_Status and whose reconfiguration has not been completed.
[0109] If the reconfiguration timer is not running and one of the following conditions is met, the receiving end of the AM RLC entity starts the reconfiguration timer and sets the variable RX_Timer_Trigger equal to RX_Next_Highest: (1)RX_Next_Highest>RX_Next+1, (2) RX_Next_Highest=RX_Next+1 and there is an unreceived segment before the last byte of the currently received data unit having SN=RX_Next.
[0110] If the reconfiguration timer is running and any one of the following conditions is met, the receiving end of the AM RLC entity stops and resets the reconfiguration timer: (1)RX_Next_Status_Trigger=RX_Next, (2) RX_Next_Status_Trigger=RX_Next+1 and all segments have been received prior to the last byte of the currently received data unit with SN=RX_Next; (3) RX_Next_Status_Trigger is outside the receive window and RX_Next_Status_Trigger is not equal to RX_Next+AM_Window_Size.
[0111] When the reconfiguration timer expires, the receiving end of the AM RLC entity updates the variable RX_Highest_Status to the SN of the first data unit whose SN is greater than or equal to RX_Next_Status_Trigger and for which reconfiguration has not been completed, and triggers a status report (requesting the transmitting end to retransmit the RLC SDU or SDU segment indicated in the status report and which was not successfully received). If RX_Next_Highest > RX_Highest_Status + 1, or RX_Next_Highest = RX_Highest_Status + 1, and there is an unreceived segment before the last byte of the currently received RLC SDU with SN = RX_Highest_Status, the receiving end of the AM RLC entity starts the reconfiguration timer and sets the variable RX_Next_Status_Trigger equal to the current value of RX_Next_Highest.
[0112] For example, FIG. 3d is a diagram of a process in which an AM RLC entity receiver according to an embodiment of the present application maintains variables. (1) in FIG. 3d can be understood as the initial state. (2) in FIG. 3d may be understood as follows. An RLC PDU with SN = 2 is received, and the variable RX_Next_Highest is updated to 3. In this case, RX_Next < RX_Next_Highest. The reconfiguration timer is started, and RX_Next_Status_Trigger is set to 3. (3) in FIG. 3d may be understood as follows. An RLC PDU with SN = 5 is received, and the variable RX_Next_Highest is updated to 6. (4) in FIG. 3d may be understood as follows. The reconfiguration timer expires, the variable RX_Highest_Status is updated to 3, and a status report is triggered. (5) in FIG. 3d may be understood as follows. Since RX_Highest_Status < RX_Next_Highest, the reconfiguration timer is triggered, and RX_Next_Status_Trigger is set to 6. (6) in FIG. 3d may be understood as follows. A reconfigured RLC SDU with SN = 0 is delivered to the upper layer, and RX_Next is updated to 1. (7) in FIG. 3d may be understood as follows. When the reconfiguration of RLC SDUs with SN from 0 to 5 is completed, these RLC SDUs are delivered to the upper layer, and RX_Next is updated to 6. In this case, RX_Next = RX_Next_Status_Trigger. The reconfiguration timer is stopped and reset.
[0113] From Figure 3d, we can see that the condition for the AM RLC entity to update RX_Next is that all RLC SDUs with a SN less than RX_Next have been reconstructed. As shown in (6) of Figure 3d, the value of RX_Next can only be updated after the reconstruction of RLC SDUs with SN=0 has been completed. In AM, the receiving end of the AM RLC entity updates the value of RX_Next only after a data unit with a SN equal to the lower limit of the receive window, RX_Next, has been successfully reconstructed and delivered to the upper layer. If a data unit is not successfully received, the receiving end of the AM RLC entity uses a status report to instruct the transmitting end to retransmit the data unit until it is successfully received or the maximum number of retransmissions has been reached. Therefore, if the transmitting end discards a data unit, the receiving end of the AM RLC entity cannot update the variables maintained by the receiving end of the AM RLC entity in time and will continue to request retransmission of the discarded data unit. This will waste air interface resources and device energy, increase transmission delays, and even cause a radio link failure when the maximum number of retransmissions is reached, affecting normal service operation. The problems that exist at the receiving end of an AM RLC entity when the transmitting end discards a data unit also exist at the receiving end of an AM RLC entity when the receiving end discards a data unit. Similarly, the problems that exist here when the transmitting end or receiving end discards a data unit also exist when the transmitting end or receiving end discards a set of data units.
[0114] 3a to 3d, the embodiments of the present application provide a data processing method and device, which can timely update variables maintained by the receiving end when at least one of the sending end and the receiving end discards a data unit, thereby effectively alleviating the stagnation of processing at the receiving end caused by discarding the data unit and reducing the delay in processing the data unit by the receiving end.
[0115] Before describing the methods provided in the embodiments of the present application, relevant terms or methods in the embodiments of the present application will be explained first.
[0116] 1st: Data unit set The data unit set may be understood as a service data unit set, a protocol data unit set (PDU set), a frame, etc. In one example, the data unit set may include M data units, and the value of M is not limited in the embodiments of the present application. In another example, the data unit set may be understood as a set of all data units for transmitting one information element, and the information element may be understood as a video frame, a video slice, etc. For example, use an example in which the video frame is a video frame in an extended reality (XR) service. XR is an environment that integrates the real world and the virtual world and supports human-computer interaction. It is generated using computer technology and wearable devices and is a collective term for multiple forms such as augmented reality (AR), virtual reality (VR), and mixed reality (MR). XR realizes an "immersive" experience of seamless switching between the virtual world and the real world by combining three visual interaction technologies. A video in an XR service is formed by continuous playback of consecutive images (or pictures, photographs, or the like). One video frame may be understood as one image, and one video frame may be divided into multiple data packets and transmitted. Therefore, a data unit set may be understood as one video frame, and one video frame may include multiple data units. Generally, an application server can periodically generate sets (also referred to as PDU sets, etc.) based on a specific frame rate. For example, a frame rate of 60 frames per second (fps) indicates that 60 images are generated per second, and one data unit set is generated approximately every 16.66 ms. The application server may include an XR application server, etc. This is not limited to the embodiments of the present application.
[0117] Second: A method for determining that a data unit belongs to a data unit set (which may also be understood as a method for determining a data unit included in a data unit set) may include:
[0118] Method 1: For downlink services, a user plane function (UPF) may add a start flag and / or an end flag of each data unit set to a user plane (general packet radio system tunneling protocol for the user plane, GTP-U) header, and a network device may determine which data units belong to each data unit set based on the start flag and / or the end flag. For example, the UPF may add a start flag or an end flag to a first set of GTP-U headers. In this case, the amount of data units included in the first set may be fixed. Therefore, the network device may determine that a first data unit belongs to the first set based on the start flag or the end flag. As another example, the UPF may add a start flag and an end flag to the first set of GTP-U headers so that the network device can quickly and efficiently determine that a first data unit belongs to the first set. In one example, a start flag may be added to the first packet of each set. For example, if a network device receives 10 data packets and identifies that the first and sixth packets each carry a beginning flag, the first through fifth packets are considered to belong to one set and the sixth through tenth packets are considered to belong to another set. In another example, an ending flag may be added to the last packet of each set. For example, if a network device receives 10 data packets and identifies that the fifth and tenth packets each carry a beginning flag, the first through fifth packets are considered to belong to one set and the sixth through tenth packets are considered to belong to another set. In yet another example, an beginning flag may be added to the first packet of each set and an ending flag may be added to the last packet.For example, if a network device receives 10 data packets and identifies that the first and sixth packets each carry a start flag and the fifth and tenth packets each carry a end flag, the first through fifth packets are considered to belong to one set and the sixth through tenth packets are considered to belong to another set. In Method 1, in addition to being able to determine the set to which a data unit belongs, the network device can also determine the first data unit belonging to a set based on the start flag, or the last data unit in the set based on the end flag (which is equivalent to determining the first data unit of the next set after the set).
[0119] Method 2: For downlink services, the UPF may add the set serial numbers of the data units included in each data unit set to the GTP-U header. For example, the UPF may add the set serial numbers of the data units included in each data unit set to the GTP-U header. This allows the network device to determine the data unit set to which the data unit belongs based on the set serial number included in each data unit.
[0120] Method 3: The network device (or terminal device) may maintain a timer, and the period of the timer may be set to a maximum period or an average period during which all data units in a data unit set arrive at the network device (or terminal device). The maximum period (or average period) here refers to the period from the time when the first data unit in the data unit set arrives at the network device to the time when the last data unit in the data unit set arrives at the network device. If the network device receives a data unit during the non-execution period of the timer, the timer is started and the data unit is considered to be the first data unit of the data unit set. All data units received during the execution period of the timer are considered to belong to the data unit set. Generally, data units of a data unit set arrive at the network device (or terminal device) in the form of bursts. In other words, data units of a data unit set arrive at the network device (or terminal device) in a concentrated manner. Therefore, the network device (or terminal device) can determine whether a data unit is the first data unit of the data unit set based on the concentration of arrival of the data units.
[0121] Optionally, at the transmitting end, after determining (e.g., in at least one of Methods 1 to 3) that the first data unit belongs to the first set, the transmitting end can associate a set serial number with the first data unit. That is, the set serial numbers of different data units in the first set can be the set serial numbers of the first set. Optionally, the transmitting end can maintain a counter, where the initial value of the counter is 0 and the value of the counter is incremented by 1 each time the transmitting end entity receives the first data unit or the last data unit in the set. Since data units received when the counter value does not change belong to the same set, the transmitting end can associate data units obtained when the counter value does not change with the same set serial number. It should be understood that the counter can be referred to as a set serial number counter, a counter configured to increment set serial numbers, etc. The name of the counter is not limited in the embodiments of the present application. As for the receiving end, the receiving end can identify data units belonging to the first set using the set serial number associated with each data unit by the transmitting end. After obtaining the first data unit, the receiving end can conveniently and quickly determine that the first data unit belongs to the first set based on the set serial number associated with the first data unit. The set serial number can also be understood as a set identifier, a set flag, etc.
[0122] It is understood that whether different data unit sets contain the same amount of data units is not limited in the embodiment of the present application.In order to facilitate the distinction between specific methods with different steps (for example, method 1 to method 3), in the embodiment of the present application, different serial numbers are used for distinction, which does not indicate that there is a sequence between these serial numbers.
[0123] Third: The method for discarding a data unit set includes:
[0124] Method 4: When the transmitting end entity detects that the packet loss status of the data unit set satisfies the first condition, the transmitting end entity can decide to discard the data unit set. The transmitting end entity can include at least one of the transmitting end PDCP entity or the transmitting end RLC entity. The packet loss status of the data unit set includes at least one of the following: an amount of data units discarded by the transmitting end PDCP entity, an amount of data units not successfully transmitted by the transmitting end PDCP entity, an amount of data units discarded by the transmitting end RLC entity, and an amount of data units not successfully transmitted by the transmitting end RLC entity. The packet loss status of the data unit set satisfying the first condition includes at least one of the following: the amount of data units in the discarded data unit set is equal to or greater than a second threshold; the amount of data units in the data unit set that were not successfully transmitted is equal to or greater than the second threshold; a ratio of the amount of data units in the discarded data unit set to the total amount of data units in the data unit set is equal to or greater than a third threshold; and a ratio of the amount of data units in the data unit set that were not successfully transmitted to the total amount of data units in the data unit set is equal to or greater than a third threshold. The total amount of data units included in the data unit set may be indicated to the transmitting end by the application server. For example, the application server transmits information indicating the total amount to the transmitting end. As another example, the transmitting end may determine the total amount based on the start flag and the end flag described in method 1. As another example, the transmitting end may determine the total amount of data units included in the data unit set based on the concentration of data units obtained by the transmitting end.
[0125] Method 5: When the receiving end detects that the packet loss status of the data unit set satisfies a first condition, the receiving end may decide to discard the data unit set. The packet loss status of the data unit set may include at least one of the following: an amount of data units not successfully delivered to an upper layer by the PDCP entity of the receiving end, an amount of data units not reconstructed by the UM RLC entity of the receiving end, and an amount of data units not reconstructed by the AM RLC entity receiving end. The packet loss status of the data unit set satisfying the first condition includes at least one of the following: an amount of data units in the data unit set not successfully delivered to an upper layer is equal to or greater than a second threshold, an amount of data units in the data unit set that are not successfully reconstructed is equal to or greater than a second threshold, a ratio of the amount of data units in the data unit set that are not successfully delivered to an upper layer to the total amount of data units in the data unit set is equal to or greater than a third threshold, and a ratio of the amount of data units in the data unit set that are not successfully reconstructed to the total amount of data units in the data unit set is equal to or greater than a third threshold.
[0126] The second and third thresholds associated with the first condition are described below. For example, the second and third thresholds may be defined in a protocol. As another example, the second and third thresholds may be indicated to the transmitting end or the receiving end by an application server using instruction information, and the instruction information conveys at least one of the second and third thresholds. The second and third thresholds may be set differently based on different services. For example, the second threshold corresponding to a high-reliability, low-latency service may be different from the second threshold corresponding to another service. The specific values and setting methods of the second and third thresholds are not limited to the embodiments of the present application. Note that the values of the second threshold in Method 4 and Method 5 may be the same or different. Similarly, the values of the third threshold in Method 4 and Method 5 may be the same or different. This is not limited to the embodiments of the present application.
[0127] It should be noted that the above-mentioned method of discarding a data unit set is merely an example, and if the transmitting end and the receiving end decide to discard a data unit set in a different way, the above-mentioned problem in the embodiment of the present application also occurs, and is also within the scope of protection of the embodiment of the present application.
[0128] The following describes in detail the data processing method in the embodiment of the present application.
[0129] FIG. 4 is a schematic flowchart of a data processing method according to an embodiment of the present application. This method can be applied to a communication system including a UE and a base station, a V2X system, a Wi-Fi system, etc. For systems to which this method is applied, please refer to the above description. Details will not be described again here. In this embodiment of the present application, the transmitting end (including the transmitting end entity) can be understood as a party that transmits data units, and the receiving end (including the receiving end entity) can be understood as a party that receives data units. During data processing at the transmitting end and the receiving end, the transmitting end can discard one or more data units and therefore transmit first indication information to the receiving end. Alternatively, after the receiving end receives data units from the transmitting end, the receiving end can discard one or more data units and therefore determine the first indication information. For example, the transmitting end may be referred to as a network device, and the receiving end may be referred to as a terminal device. Alternatively, the transmitting end may be referred to as a terminal device, and the receiving end may be referred to as a network device. Alternatively, both the transmitting end and the receiving end may be terminal devices. Details will not be described again here. Of course, there may be one or more forwarding devices during the data transmission between the sending end and the receiving end, which is not limited in this embodiment of the present application.
[0130] As shown in FIG. 4, the method includes the following steps:
[0131] 401: The receiving end obtains first indication information, where the first indication information indicates the highest serial number of one or more discarded data units.
[0132] In this embodiment of the present application, if one data unit is discarded, the maximum serial number indicates the serial number of the data unit. If multiple data units are discarded, the maximum serial number indicates the maximum serial number among the serial numbers of the multiple data units. The serial numbers of the multiple data units may be consecutive. For example, the multiple data units belong to different data unit sets, and the first indication information indicates the serial number of each of the multiple discarded data unit sets or the maximum set serial number of the multiple data unit sets. As another example, the multiple data units may belong to the same data unit set, and the first indication information may indicate the serial number of the discarded data unit set. Of course, the multiple data units may not be discarded in sets, but may be multiple data units discarded by the transmitting end or the receiving end and have consecutive serial numbers. The multiple data units may be some data units in one data unit set with consecutive serial numbers, or some data units in multiple data unit sets with consecutive serial numbers.
[0133] In one example, the maximum serial number can be represented by a maximum sequence number (SN). Generally, the entity at the transmitting end can assign SNs to data units. Therefore, the maximum serial number in the first instruction information can be represented by an SN. For example, the first instruction information can indicate the maximum SN of one or more data units to be discarded. In another example, the maximum serial number can be represented by a maximum count value. Generally, when processing data units, the PDCP entity at the receiving end maintains a variable of the PDCP entity based on the count value of the data units. Therefore, the maximum serial number in the first instruction information can be represented by a count value. For example, the first instruction information can indicate the maximum count value of one or more data units to be discarded. Of course, representing serial numbers by SNs or count values in this specification is merely an example, and any expression method that allows the transmitting end and receiving end to identify the serial numbers of data units based on the serial numbers falls within the scope of protection of this embodiment of the present application. For the relationship between SNs and count values, please refer to the above description. Details will not be described again here.
[0134] The first indication information may indicate the maximum serial number of one or more data units to be discarded in the following manner.
[0135] Method 6: The first instruction information includes the maximum serial number of one or more data units to be discarded. Since the first instruction information conveys the maximum serial number, the receiving end can conveniently and quickly obtain the maximum serial number. Of course, the first instruction information can also include a floating value near the maximum serial number. For example, the first instruction information includes the maximum serial number +1. Alternatively, the first instruction information includes the maximum serial number +2. Alternatively, the first instruction information includes the maximum serial number -1. Alternatively, the first instruction information includes the maximum serial number -2. Details will not be described again here. Note that, if the content included in the first instruction information is a floating value near the maximum serial number, the floating value may be set by the network device, and the network device may further transmit the floating value to the terminal device. Alternatively, the floating value may be defined by a standard. For example, if the terminal device is configured from the factory, the floating value is set in the terminal device, and if the network device is configured from the factory, the floating value is set in the network device.
[0136] Method 7: The first indication information includes an offset value, which is an offset value between the maximum serial number and the reference serial number. The reference serial number may be defined by a protocol or determined by a network device. The specific value of the reference serial number is not limited in the embodiments of the present application. The reference serial number may be fixed or not fixed. Since the first indication information includes the offset value, the signal overhead of the first indication information can be reduced.
[0137] Method 8: The first instruction information includes a serial number of a data unit set to be discarded. In an example, if multiple data units belong to one data unit set, the first instruction information may include the serial number of the data unit set. In another example, if multiple data units belong to different data unit sets, the first instruction information may include the serial number of each of the multiple data unit sets, or the first instruction information may include the maximum serial number of the multiple data unit sets.
[0138] Optionally, if the first instruction information includes the serial number of the discarded data unit set, the receiving end may further perform the following operation: obtain the serial number of the discarded data unit set, and determine the maximum serial number of the multiple data units based on the serial number of the discarded data unit set. For example, if the first instruction information includes the serial number of the discarded data unit set 1, the receiving end may determine the maximum serial number of the multiple discarded data units based on the data units included in the data unit set 1. It should be understood that the operation of the receiving end described here is also applicable to the transmitting end. The transmitting end and the receiving end may determine the data units included in the data unit set in the above-mentioned methods 1 to 3.
[0139] The receiving end may obtain the first indication information in the following manner:
[0140] Method 9: The receiving end receives first indication information from the transmitting end.
[0141] When a transmitting end transmits data units to a receiving end, and the transmitting end actively discards one or more data units in the process of transmitting the data units, the transmitting end transmits first indication information to the receiving end, and the receiving end executes the method shown in FIG.
[0142] In one example, the entity at the transmitting end may decide to discard one or more data units. For example, the PDCP entity at the transmitting end may decide to discard one or more data units based on a discard timer maintained by the PDCP entity. In another example, the RLC entity at the transmitting end may decide to discard one or more data units according to the method shown in Figure 3c. It will be understood that when multiple data units are discarded, the serial numbers of the multiple data units may be consecutive.
[0143] In another example, the transmitting end may decide to discard one or more data unit sets, for example, the transmitting end may decide to discard one or more data unit sets in method 4.
[0144] The above-mentioned method of discarding one or more data units by the transmitting end is merely an example and should not be understood as a limitation of this embodiment of the present application.
[0145] Method 10: The receiving end determines one or more data units to be discarded, and determines first indication information based on the one or more data units.
[0146] The receiving end independently determines the first indication information, and as a result, the entity at the receiving end maintains the first variable based on the first indication information. It can be understood that the receiving end determines one piece of the first indication information based on the data unit to be discarded, or the receiving end does not need to determine the first indication information, but directly updates the first variable maintained by the receiving end based on one or more data units to be discarded by the receiving end.
[0147] In one example, the PDCP entity at the receiving end may decide to discard one or more data units according to Figure 3a. In another example, the RLC entity at the receiving end may decide to discard one or more data units according to Figure 3b or Figure 3d.
[0148] In another example, the receiving end may decide to discard one or more data unit sets in method 5.
[0149] In a possible implementation, after the receiving end decides to discard one or more data units, the receiving end may further perform the following actions:
[0150] The receiving end entity transmits second instruction information, where the second instruction information indicates to the transmitting end entity to discard one or more data units, or the second instruction information indicates to the transmitting end entity to discard a data unit set corresponding to one or more data units. For example, after the receiving end determines to discard one or more data units, the receiving end can update a variable maintained by the receiving end based on the one or more data units discarded by the receiving end and transmit the second instruction information. After the receiving end determines to discard one or more data units, the receiving end does not need to perform the step of determining the first instruction information, but instead updates the first variable maintained by the receiving end based on the one or more data units discarded by the receiving end and transmits the second instruction information.
[0151] A data unit set corresponding to one or more data units described in this specification can be understood as at least one of the following: one or more data unit sets to which one or more data units belong, or one or more data unit sets to which one or more data units belong and a data unit set dependent on one or more data unit sets. For example, data unit set A dependent on data unit set B indicates that information contained in data unit set B needs to be used in the processing process of data unit set A. Therefore, when discarding data unit set B, the receiving end can discard data unit set A. Of course, based on the description of the second indication information, the first indication information described in this embodiment of the present application may also indicate to discard a data unit set corresponding to one or more data units.
[0152] The receiving end entity may include a receiving end PDCP entity, and the transmitting end entity may include a transmitting end PDCP entity. Alternatively, the receiving end entity may include a receiving end RLC entity, and the transmitting end entity may include a transmitting end RLC entity.
[0153] In this embodiment of the present application, the receiving end sends second indication information to the transmitting end, so that the entity at the transmitting end can clear the buffer according to the second indication information.
[0154] 402: Update the value of a first variable maintained by the receiving entity to be greater than the maximum serial number, where the first variable indicates that data units having serial numbers greater than or equal to the value of the first variable will be processed by the receiving entity.
[0155] Updating the value of the first variable maintained by the receiving entity to be greater than the maximum serial number can be understood as updating the value of the first variable maintained by the receiving entity to the maximum serial number + 1, the maximum serial number + 2, the maximum serial number + 3, etc. Details will not be described again here. The first variable indicating that data units whose serial numbers are equal to or greater than the value of the first variable are to be processed by the receiving entity can be understood as follows: The first variable indicates that data units whose serial numbers are less than the value of the first variable do not need to be processed by the receiving entity. For example, if the maximum serial number is 5, the value of the first variable can be updated to 6. Therefore, the receiving entity does not need to process data units whose serial numbers are less than 6, and only needs to pay attention to data units whose serial numbers are 6 or greater. For example, the receiving entity may reconstruct data units whose serial numbers are 6 or greater, or sequentially deliver data units whose serial numbers are 6 or greater to an upper layer.
[0156] In a possible implementation, updating the value of the first variable maintained by the receiving entity to be greater than the maximum serial number includes updating the value of the first variable maintained by the receiving entity to a serial number of a first data unit that is greater than the maximum serial number and that has not been reconstructed. The first variable indicates that data units whose serial numbers are equal to or greater than the value of the first variable will be reconstructed by the receiving entity (this can also be understood as data units whose serial numbers are less than the value of the first variable need not be reconstructed by the receiving entity). The serial number of the first data unit that has not been reconstructed can be understood as the serial number of the oldest data unit that has not been reconstructed, or the smallest serial number of data units that have not been reconstructed.
[0157] In another possible implementation, updating the value of the first variable maintained by the receiving entity to be greater than the maximum serial number includes updating the value of the first variable maintained by the receiving entity to a serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to a higher layer. The first variable indicates that data units whose serial numbers are equal to or greater than the value of the first variable will be delivered to a higher layer by the receiving entity. The serial number of the first non-contiguous data unit that has not been delivered to a higher layer can be understood as the smallest or earliest serial number of the non-contiguous data units that have not been delivered to a higher layer.
[0158] In a possible implementation, the method shown in FIG. 4 further includes the following steps:
[0159] 403: If the value of the first variable is updated to be greater than the maximum serial number, discard data units whose serial numbers are less than the value of the first variable.
[0160] Since data units whose serial numbers are smaller than the value of the first variable do not need to be processed by the receiving entity, the receiving entity can discard data units whose serial numbers are smaller than the value of the first variable. Of course, when discarding data units whose serial numbers are smaller than the value of the first variable, the receiving entity can discard the data units based on the status of the data units delivered to the upper layer by the receiving entity and the maximum serial number indicated by the sender. If one or more data units belong to one or more data unit sets, the receiving entity can discard one or more data unit sets.
[0161] As described herein, discarding a data unit based on the status of the data unit delivered to the upper layer by the receiving entity and the maximum serial number indicated by the transmitting end can be understood as follows: the receiving entity can discard a data unit based on the data units buffered in the receiving buffer of the receiving end and the maximum serial number indicated by the transmitting end. For example, the receiving entity can discard a data unit in the receiving buffer whose serial number is smaller than the value of the first variable.
[0162] It should be understood that in this embodiment of the present application, the order of step 402 and step 403 is not limited. As described in step 403, discarding data units whose serial numbers are smaller than the value of the first variable when the value of the first variable is updated to be larger than the maximum serial number does not mean that the value of the first variable needs to be updated to be larger than the maximum serial number before discarding data units whose serial numbers are smaller than the value of the first variable, but rather indicates that step 402 and step 403 may be combined with each other. Similarly, step 404 and step 405 described below may be combined with each other.
[0163] 404: Update the value of a first variable maintained by the receiving entity to be equal to the maximum serial number, where the first variable indicates that data units having serial numbers greater than the value of the first variable will be processed by the receiving entity.
[0164] The first variable indicating that data units whose serial numbers are greater than the value of the first variable are processed by the receiving end entity can be understood as follows: data units whose serial numbers are equal to or less than the value of the first variable do not need to be processed by the receiving end entity. Alternatively, data units whose serial numbers are greater than the value of the first variable are reconstructed by the receiving end entity. Alternatively, data units whose serial numbers are greater than the value of the first variable are delivered to an upper layer by the receiving end entity. Whether data units whose serial numbers are greater than the value of the first variable include data units whose reconstruction has been completed or data units that have been delivered to an upper layer is not limited in this embodiment of the present application.
[0165] In a possible implementation, the method shown in FIG. 4 further includes the following steps:
[0166] 405: If the value of the first variable is updated to be equal to the maximum serial number, discard data units whose serial numbers are less than or equal to the value of the first variable.
[0167] For a specific description of step 405, please refer to step 403. Details will not be described here. In Examples 1 to 3 described below, step 402 and step 403 are used as examples and should not be understood as limitations of this embodiment of the present application.
[0168] It should be understood that in this embodiment of the present application, the order of step 404 and step 405 is not limited.
[0169] It should be noted that step 402 and step 404 should be understood as a parallel solution, that is, the method shown in FIG. 4 may include step 401, step 402, and step 403, or may include step 401, step 404, and step 405.
[0170] Regardless of whether the transmitting end discards one or more data units or the receiving end discards one or more data units, the receiving end entity must maintain the first variable based on the serial numbers of the data units received by the receiving end entity. If a data unit is discarded but the receiving end entity cannot obtain the highest serial number of the discarded data units in time and cannot update the first variable held by the receiving end entity based on the discarded data units, the receiving end entity's process of delivering the data units to the upper layer will be restricted, and processing delay will increase.
[0171] According to the solution provided in this embodiment of the present application, the receiving end updates the value of the first variable maintained by the receiving end according to the maximum serial number indicated in the first indication information so that the value is greater than the maximum serial number, thereby effectively reducing the processing delay caused by the discarded data units when the receiving end entity processes the data units, and effectively improving the processing progress of the receiving end.
[0172] 4 will be described below with reference to specific protocol layers, however the protocol layers described below should not be understood as limitations of this embodiment of the present application.
[0173] In some embodiments of the present application, the PDCP entity at the transmitting end can trigger active discarding of one or more data units and instruct the RLC entity to discard one or more data units. Alternatively, the PDCP entity at the transmitting end can trigger active discarding of a set of data units and instruct the RLC entity to discard all data units belonging to the discarded data unit set. The RLC entity at the transmitting end triggers active discarding of a data unit. Alternatively, the RLC entity at the transmitting end triggers active discarding of a set of data units to discard all data units belonging to the discarded data unit set.
[0174] From the above PDCP entity, it can be seen that when the PDCP entity's discard timer expires, the RLC entity is instructed to discard a data unit. The condition for the RLC entity to discard a data unit is that the data unit and data unit segments have not been delivered to the MAC layer. In particular, for the AM RLC entity transmitting end, once a data unit is delivered to the MAC layer, the AM RLC entity transmitting end stores the data unit in a retransmission buffer and continuously retransmits the data unit before receiving an acknowledgment message fed back by the AM RLC entity receiving end. The prerequisite for the PDCP entity to instruct the RLC entity to discard a data unit is that the data unit is unnecessary. In this case, if the RLC entity continues to transmit the data unit, this not only wastes air interface resources but also affects the data unit processing process of the RLC entity at the receiving end. Particularly for XR services, if the transmission delay of a data unit exceeds the packet delay budget (PDB), the data unit is considered to have failed or been lost, and the transmitting end does not need to attempt to retransmit or retransmit the data unit.
[0175] The above description is not only applicable to a single data unit, but also to a data unit set. For example, in some cases, a packet loss state of a data unit set that meets the first condition indicates that the data unit set is unusable, and the transmitting end does not need to try to transmit other data units of the untransmitted data unit set. Therefore, this embodiment of the present application provides the following example 1 and example 2.
[0176] <Example 1> To solve the above problem, when the RLC entity is instructed to discard a data unit in case of a discard timer of the PDCP entity at the transmitting end, or when the RLC entity at the transmitting end triggers active discard of a data unit, the RLC entity at the transmitting end may perform at least one of the following actions:
[0177] (1) Discard a data unit regardless of whether a segment of the data unit has been delivered to the MAC layer. Similarly, if the PDCP entity at the transmitting end decides to discard a set of data units, the PDCP entity can instruct the RLC entity to discard the set of data units regardless of whether any data unit in the set has been delivered to the MAC layer or whether any segment of the data unit in the set has been delivered to the MAC layer.
[0178] In the AM service mode, the RLC entity at the transmitting end can further discard at least one of a data unit (such as an RLC SDU or an RLC PDU) or a segment of a data unit in the retransmission buffer, or can discard at least one of a data unit set, a data unit included in the data unit set, or a segment of a data unit in the retransmission buffer.
[0179] (2) Send first indication information to the RLC entity at the receiving end to indicate the maximum SN of the data units that have been discarded this time.
[0180] Optionally, the RLC entity at the transmitting end may maintain a variable, e.g., discardSN. The value of the variable may be set equal to the maximum SN of the currently discarded data units, and the first indication information may include the value of the variable. Alternatively, the value of the variable may be equal to the maximum SN of the currently discarded data units plus one, and the first indication information may include the value of the variable minus one.
[0181] In one example, the RLC entity at the transmitting end can send the first indication information to the RLC entity at the receiving end when the discarding of the data unit or data unit set is completed. In another example, in the AM service mode, the RLC entity at the transmitting end can send the first indication information to the RLC entity at the receiving end when the RLC entity at the transmitting end receives an RLC status report. The occasion when the RLC entity at the transmitting end sends the first indication information is not limited to this embodiment of the present application.
[0182] For example, the first indication information may be included in an RLC control protocol data unit (control PDU) or an RLC data protocol data unit (data PDU). For example, the RLC entity at the transmitting end may include a maximum serial number in each RLC header of N subsequently transmitted data PDUs (relative to the discarded data unit with the maximum serial number), where the value of N may be configured by the network device for the terminal device using radio resource control (RRC) signaling, a MAC control element (CE), or Layer 1 signaling (e.g., downlink control information (DCI)). As another example, the RLC entity at the transmitting end may include an offset between the SN of the currently transmitted data PDU and the maximum serial number in each RLC header of N subsequently transmitted data PDUs. For example, if the maximum serial number is 103, an offset value of 1 is transmitted in a data PDU with an SN of 104, an offset value of 2 is transmitted in a data PDU with an SN of 105, etc. In this embodiment, there is no limitation as to whether or not to discard the data PDUs with SN 104 and the data PDUs with SN 105. The maximum serial number of 103 can be understood as the maximum serial number of the data units discarded this time.
[0183] After receiving the first indication information, the receiving UM RLC entity may perform at least one of the following operations: (1) Update the variable RX_Next_Reassembly (i.e., the first variable) to the SN of the first data unit whose SN is greater than the maximum serial number indicated in the first instruction information and for which reassembly has not been completed (this can also be understood as the SN of the oldest data unit for which reassembly has not been completed, or the smallest SN for which reassembly has not been completed). (2) Discard SDU segments in the receive buffer whose SN is smaller than the updated RX_Next_Reassembly. (3) Correspondingly, modify other receiver variables and timer states, e.g., if the updated RX_Next_Reassembly is greater than or equal to the RX_Timer_Trigger, stop the reconfiguration timer t-Reassembly.
[0184] After receiving the first indication information, the receiving end of the AM RLC entity may perform at least one of the following operations: (1) Update the variable RX_Next (i.e., the first variable) to the SN of the first data unit whose SN is greater than the maximum serial number indicated in the first instruction information and for which reconstruction has not been completed (this can also be understood as the SN of the oldest data unit for which reconstruction has not been completed, or the smallest SN for which reconstruction has not been completed). (2) Discard SDU segments in the receive buffer whose SN is smaller than the updated RX_Next. (3) Correspondingly, change other receiver variables and timer states, e.g., if the updated value of RX_Next is greater than RX_Next_Status_Trigger, stop the reassembly timer t-Reassembly.
[0185] Please refer to the above description for the update of other variables and timer states other than the first variable by the receiving UM RLC entity, and the details will not be described again here.
[0186] 5a and 5b are diagrams of data processing scenarios according to an embodiment of the present application. As shown in FIGS. 5a and 5b, the transmitting end of an AM RLC entity discards a data unit set. This data unit set includes data units from SN=100 to SN=103, with the highest serial number being 103. The differences between FIGS. 5a and 5b are as follows: in FIG. 5a, after the transmitting end transmits the data unit with SN=100, at least one of the following cases occurs in the process of transmitting subsequent data units: the discard timer corresponding to SN=101 expires, and the discard timer corresponding to SN=102 expires. Because the packet loss status of the data unit set satisfies the first condition, the transmitting end decides to discard the data unit set. However, in FIG. 5b, the transmitting end transmits data units with SN=100 to SN=103, and the receiving end successfully receives the data units with SN=101 and SN=103, but does not receive the data units with SN=100 and SN=102. Therefore, the receiving end instructs the transmitting end in the status report to retransmit the data units of SN=100 and SN=102. When the transmitting end retransmits the data units of SN=100 and SN=102, the discard timer corresponding to SN=100 expires, and the discard timer corresponding to SN=102 expires. Therefore, the transmitting end decides to discard the data unit set.
[0187] 5b, the receiving end of the AM RLC entity has not received the highest serial number indicated in the first indication information. In this case, the receiving end of the AM RLC entity has not received the data unit with SN=100, so it cannot update RX_Next. The receiving end of the AM RLC entity then repeatedly triggers a status report to instruct the transmitting end of the AM RLC entity to retransmit the data unit with SN=100. However, because the transmitting end discarded the data unit with SN=100, the receiving end cannot receive the data unit with SN=100, and the processing process of the receiving end of the AM RLC entity is interrupted.
[0188] However, in this embodiment of the present application, the transmitting end of the AM RLC entity indicates the highest serial number (SN=103) to the receiving end of the AM RLC entity. Upon receiving the highest serial number, the receiving end of the AM RLC entity updates the variable RX_Next maintained by the receiving end of the AM RLC entity to the smallest SN greater than 103 that has not yet been reconfigured, for example, 104.
[0189] In this embodiment of the present application, when the PDCP entity at the transmitting end instructs the RLC entity at the transmitting end to discard a set of data units, the RLC entity can discard the set of data units regardless of whether the RLC entity has delivered the SDU segments to the MAC layer. Therefore, transmission of the set of data units over the air interface can be effectively avoided, and the RLC entity at the receiving end (e.g., an AM RLC entity) can be effectively avoided from repeatedly triggering status reports to request retransmission. This can effectively save air interface resources and transmission energy and reduce energy consumption of the communication device. The PDCP entity at the transmitting end instructs the RLC entity at the transmitting end to discard a set of data units, and the RLC entity at the transmitting end sends first indication information to the RLC entity at the receiving end, allowing the RLC entity at the receiving end to timely update variables maintained by the RLC entity at the receiving end. This can effectively avoid interruptions in the processing process due to the RLC entity at the receiving end being unable to receive the set of data units discarded by the RLC entity at the transmitting end. Furthermore, in the case of an AM RLC entity, repeated triggering of status reports by the AM RLC entity receiving end can be effectively avoided. Therefore, the receiving end of the AM RLC entity updates the variables maintained by the receiving end of the AM RLC entity to ensure that the processes of the receiving end of the AM RLC entity are not affected by the discarded data unit set and to avoid loss of energy consumption due to repeated triggering of status reports.
[0190] <Example 2> If the transmitting PDCP entity decides to discard the data unit set, the transmitting PDCP entity may perform at least one of the following actions: (1) Discard the data unit set and clear the data unit set buffer. (2) Sending first indication information to the receiving PDCP entity to indicate the highest serial number of the data unit in the data unit set.
[0191] Optionally, the transmitting PDCP entity may maintain a variable, e.g., discardSN. The value of the variable may be equal to the maximum SN or maximum count value of the discarded PDCP SDUs, and the first indication information may include the value of the variable. Alternatively, the value of the variable may be equal to the maximum SN or maximum count value of the currently discarded data units plus one, and the first indication information may include the value of the variable minus one.
[0192] For example, the first indication information may be included in a PDCP control PDU or a PDCP data PDU. Figure 5c is used as an example. If the maximum serial number of the data units discarded by the transmitting PDCP entity is 205, the transmitting PDCP entity may add the maximum serial number or the maximum count value to the control PDU. For the conversion relationship between the count value and the SN, please refer to the relevant standard or protocol. The details will not be described in this embodiment of the present application.
[0193] As another example, the transmitting PDCP entity can add first indication information to each PDCP header of N PDCP data PDUs to be subsequently transmitted. The first indication information may be the maximum SN or maximum count value of the currently discarded PDCP SDUs. Alternatively, the first indication information may be an offset between the maximum SN / maximum count value for discard and the SN / count value of the currently transmitted PDCP data PDU. For example, an offset value of 1 may be transmitted in the PDCP data PDU with SN 206, an offset value of 2 may be transmitted in the PDCP data PDU with SN 207, etc.
[0194] After receiving the first indication information, the receiving PDCP entity may perform the following steps: (1) Determine the maximum count value of discarded PDCP SDUs based on the first indication information. Specifically, if the indication information is an SN, the receiving PDCP entity derives the corresponding maximum count value, and the derivation method may be the same as the method that the transmitting PDCP entity derives the count value based on the SN in the PDCP header. Alternatively, if the indication information of a data PDU is an offset value, the maximum count value is obtained by subtracting the offset value from the SN / count value of the current PDCP data PDU. (2) The receiving PDCP entity discards all PDCP SDUs in the receive buffer whose count value is less than or equal to the maximum count value, delivers SDUs to the upper layer sequentially, starting with the PDCP SDU whose count value is the maximum count value + 1, until a discontinuous count value occurs, and sets the variable RX_DELIV (i.e., the first variable) equal to the count value of the first SDU not delivered to the upper layer. For example, if the maximum count value is 5 and the count values of the SDUs in the receive buffer are 3, 4, 5, 6, 7, 8, and 10, the receiving PDCP entity discards SDUs whose count values are 3, 4, and 5, delivers SDUs whose count values are 6, 7, and 8 to the upper layer, and sets the variable RX_DELIV equal to 9.
[0195] Optionally, the transmitting PDCP entity may maintain a variable, e.g., discardSN. The value of the variable may be equal to the maximum SN or maximum count value of the currently discarded PDCP SDUs, and the first indication information may include the value of the variable. Alternatively, the value of the variable may be equal to the maximum SN or maximum count value of the currently discarded data units plus one, and the first indication information may include the value of the variable minus one. Optionally, the receiving PDCP entity may maintain the variable discardSN, and the value of the variable may be correspondingly changed based on the first indication information.
[0196] In this embodiment of the present application, the first indication information is sent to the receiving PDCP entity, which can effectively avoid the increase in processing delay caused by the triggering of reordering by the receiving PDCP entity due to discontinuous count values of PDCP SDUs in the receiving window and the impact on the delivery of subsequent PDU sets.
[0197] It can be understood that the above Example 2 may be combined with Example 1. In other words, if the transmitting PDCP entity decides to discard a data unit set, the transmitting PDCP entity may instruct the receiving PDCP entity to update variables maintained by the receiving PDCP entity. Alternatively, the transmitting PDCP entity may instruct the RLC entity at the transmitting end to discard a data unit set, and the RLC entity at the transmitting end may instruct the RLC entity at the receiving end to update variables maintained by the RLC entity at the receiving end.
[0198] Both Example 2 and Example 1 were described using an example in which the transmitting PDCP entity decides to discard a set of data units. Example 3 is described using an example in which the receiving PDCP entity decides to discard a data unit.
[0199] <Example 3> If the receiving PDCP entity decides to discard the data unit set, it may perform the following actions: (1) Discard all PDCP SDUs in the receive buffer that belong to the data unit set. (2) The receiving PDCP entity updates the lower limit of the receiving window, e.g., updates the variable RX_DELIV (i.e., the first variable) to be greater than the maximum serial number, which is the maximum serial number of the data units in the data unit set. For example, the variable RX_DELIV can be updated to the count value of the first PDCP SDU belonging to the next data unit set. (3) Send second indication information to the transmitting PDCP entity.
[0200] For example, the second indication information can be included in a PDCP control PDU. The PDCP control PDU may be a PDCP status report or a new PDCP control PDU. For example, the second indication information may indicate the set serial number of the data unit set discarded by the receiving PDCP entity. Alternatively, the second indication information may indicate the maximum serial number of the data unit in the data unit set discarded by the receiving PDCP entity. For a description of the second indication information, see FIG. 4. Details will not be described again here.
[0201] In this embodiment of the present application, when the receiving PDCP entity decides to discard a data unit set, it updates a variable maintained by the receiving PDCP entity, thereby effectively avoiding a case in which reordering is repeatedly triggered due to discontinuities in the count values of SDUs in the receiving window of the receiving PDCP entity, and effectively reducing the processing delay of the receiving PDCP entity.Furthermore, since the receiving PDCP entity discards the data unit set, it is effectively possible to avoid delivering useless data unit sets to upper layers, thereby simplifying processing and reducing the energy consumption of the device.
[0202] It should be noted that the specific expression formats of the variables described in this embodiment of the present application are merely examples and do not limit this embodiment of the present application.
[0203] In some other embodiments of the present application, in uplink services, if a PDCP entity or an RLC entity on the UE side actively discards unnecessary PDU sets, the data volume that needs to be transmitted can be significantly reduced. Note that if the base station allocates uplink transmission resources to the UE based on the BSR reported before the active frame discard, resource waste may occur.
[0204] Therefore, the embodiments of the present application further provide a data processing method and apparatus for effectively saving transmission resources.
[0205] 6 is a schematic flowchart of a data processing method according to an embodiment of the present application. As shown in FIG. 6, the method includes the following steps:
[0206] 601: When a data unit set is discarded, the UE triggers a BSR, and the BSR includes the buffered data volume of the logical channel queue after the data unit set is discarded.
[0207] In this embodiment of the present application, the UE triggers a BSR when at least one of the following conditions is met: The PDCP entity of the UE discards the data unit set. The RLC entity of the UE discards the data unit set. A PDCP entity of the UE discards a data unit set and a change value of the buffered data volume of a logical channel or logical channel group corresponding to the PDCP entity is greater than or equal to a first threshold.An RLC entity of the UE discards a data unit set and a change value of the buffered data volume of a logical channel or logical channel group corresponding to the RLC entity is greater than or equal to a first threshold.
[0208] The first threshold may be configured by the base station for the UE using at least one of RRC signaling, MAC CE signaling, or Layer 1 signaling.
[0209] For example, the transmitting PDCP entity may include at least one of the following data volumes: PDCP SDUs from which PDCP data PDUs have not been constructed, PDCP data PDUs that have not been delivered to lower layers, PDCP control PDUs, retransmitted PDCP SDUs (in the case of a PDCP entity corresponding to an AM DRB), and retransmitted PDCP data PDUs (in the case of a PDCP entity corresponding to an AM DRB). An AM DRB can be understood as a DRB corresponding to an AM RLC entity or a PDCP entity corresponding to an AM RLC entity.
[0210] For example, the data volume of an RLC entity may include at least one of the following data volumes: RLC SDUs or RLC SDU segments not included in an RLC data PDU, the RLC data PDU that is to be transmitted initially, the retransmitted RLC data PDU (in case of AM RLC), and the size of the status report, which is estimated by the UE when a status report is triggered and t-StatusProhibit is not executed or has expired, and is used as part of the data volume of the RLC entity.
[0211] An RLC SDU or an RLC SDU segment that is not included in an RLC data PDU can be understood as a data unit that has not been captured and processed by an RLC entity.
[0212] The above-described methods for measuring the data volume of the transmitting PDCP entity and RLC entity are merely examples and are not intended to limit the present embodiment of the present application.
[0213] Optionally, the BSR can be transmitted using a BSR MAC CE format in protocol 38.321, for example a short BSR MAC CE, or can be transmitted using a new MAC CE format.
[0214] The BSR may contain the latest buffered data volume of the logical channel or logical channel group corresponding to the PDCP entity or RLC entity that performs the active frame discard.
[0215] 602: The UE sends a BSR to the base station, and the base station receives the BSR in response.
[0216] For example, the BSR can be used to request resources for transmitting a data volume, or alternatively, to provide information to the base station regarding the uplink data volume.
[0217] It should be understood that the above-mentioned triggering of a BSR means that the UE transmits a BSR to the base station when certain conditions are met after triggering the BSR. The conditions for transmitting a BSR being met may include the following: uplink shared channel transmission resources for new transmission are available, and when configuring a packet based on logical channel priority, the size of the uplink shared channel transmission resources is sufficient to accommodate the BSR MAC CE and the BSR MAC CE subheader. It should be noted that the conditions for the UE to transmit a BSR are not limited in this embodiment of the present application.
[0218] In this embodiment of the present application, when a data unit set is discarded, the UE triggers a BSR to report the latest buffered data volume to the base station, thereby avoiding resource waste caused by a mismatch between the amount of uplink transmission resources allocated by the base station and the uplink data volume that the UE needs to transmit after actively discarding frames, thereby enabling the base station to allocate an appropriate amount of uplink transmission resources based on the latest buffer status, thereby achieving appropriate resource allocation and avoiding resource waste.
[0219] The following describes in detail the communication device in the embodiment of the present application.
[0220] In the present application, a communication device may be divided into functional modules according to the embodiment of the method. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. It should be noted that the module division in the present application is an example and is merely a logical functional division. In actual implementation, other division methods may be used. The following describes the communication device according to the embodiment of the present application in detail with reference to FIGS. 7 to 9.
[0221] 7 is a structural diagram of a communication device according to an embodiment of the present application. As shown in FIG. 7, the communication device includes: a processing unit 701 and a transceiver unit 702.
[0222] In some embodiments of the present application, the communication device may be the receiving end or the chip described above, and the chip may be located at the receiving end, i.e., the communication device may be configured to perform the steps, functions, etc. performed by the receiving end in the method embodiments described above.
[0223] The processing unit 701 is configured to obtain the first indication information. The processing unit 701 is further configured to update a value of a first variable maintained by the communication device entity to be greater than the maximum serial number. Alternatively, the processing unit 701 is further configured to update a value of the first variable maintained by the communication device entity to be equal to the maximum serial number.
[0224] For example, the processing unit 701 may receive the first indication information from the transmitting end via the transceiver unit 702. Alternatively, the processing unit 701 may determine the first indication information.
[0225] In a possible implementation, the processing unit 701 is further configured to discard data units having serial numbers less than the value of the first variable when the value of the first variable is updated to be greater than the maximum serial number, or to discard data units having serial numbers less than or equal to the value of the first variable when the value of the first variable is updated to be equal to the maximum serial number.
[0226] In a possible implementation, the processing unit 701 is specifically configured to update the value of a first variable maintained by the entity of the communication equipment to a serial number of a first data unit that is greater than the maximum serial number and for which reconstruction has not been completed, or to update the value of a first variable maintained by the entity of the communication equipment to a serial number of a first non-contiguous data unit that is greater than the maximum serial number and for which reconstruction has not been completed.
[0227] In a possible implementation, the processing unit 701 is specifically configured to input the first indication information via the transceiver unit 702 .
[0228] In a possible implementation, the processing unit 701 is specifically configured to determine to discard one or more data units and determine the first indication information.
[0229] In a possible implementation, the processing unit 701 is configured to obtain the serial numbers of the set of data units to be discarded, and determine the maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded.
[0230] In a possible implementation, the transceiver unit 702 is further configured to output second indication information.
[0231] It should be understood that the specific descriptions of the transceiver unit and the processing unit described in this embodiment of the present application are merely examples. For the specific functions, steps, etc. performed by the transceiver unit and the processing unit, please refer to the aforementioned method embodiments. The details will not be described again here.
[0232] It should be noted that in this embodiment of the present application, the first instruction information, the maximum serial number, the one or more data units to be discarded, the second instruction information, etc., please refer to the description of the above-mentioned method embodiment, and the details will not be described again here.
[0233] 7 is reused. In some other embodiments of the present application, the communication device may be the terminal device or chip described above, and the chip may be located in the terminal device, i.e., the communication device may be configured to perform the steps, functions, etc. performed by the terminal device or UE in the method embodiments described above.
[0234] For example, the processing unit 701 is configured to trigger a BSR when a data unit set is discarded, and the transceiver unit 702 is configured to output a BSR.
[0235] It should be understood that the specific descriptions of the transceiver unit and the processing unit described in this embodiment of the present application are merely examples. For the specific functions, steps, etc. performed by the transceiver unit and the processing unit, please refer to the aforementioned method embodiments. The details will not be described again here.
[0236] In this embodiment of the present application, please refer to the description of the above method embodiment for the description of BSR, buffer status report, etc. The details will not be described again here.
[0237] The above describes the communication device in this embodiment of the present application. The following describes possible product forms of the communication device. It should be understood that any product in any form having the functions of the communication device in Figure 7 falls within the protection scope of the embodiment of the present application. It should be understood that the following description is merely an example, and the product form of the communication device in this embodiment of the present application is not limited thereto.
[0238] In a possible implementation, in the communication device shown in FIG. 7 , the processing unit 701 may be one or more processors. The transceiver unit 702 may be a transceiver. Alternatively, the transceiver unit 702 may be a transmitting unit and a receiving unit, where the transmitting unit may be a transmitter and the receiving unit may be a receiver, or the transmitting unit and the receiving unit may be integrated into one component, such as a transceiver. In this embodiment of the present application, the processor and the transceiver may be combined, etc. The connection method between the processor and the transceiver is not limited to this embodiment of the present application. In the process of performing the above-mentioned method, the process of transmitting information in the above-mentioned method can be understood as a process of outputting information by the processor. When outputting information, the processor outputs the information to the transceiver, and the transceiver transmits the information. After the information is output by the processor, other processing may need to be performed on the information before it arrives at the transceiver. Similarly, the process of receiving information in the above-mentioned method can be understood as a process of receiving input information by the processor. When the processor receives input information, the transceiver receives the information and inputs the information to the processor. Additionally, after the transceiver receives the information, other processing may need to be performed on the information before it is input to a processor.
[0239] As shown in FIG. 8, the communications device 80 includes one or more processors 820 and a transceiver 810 .
[0240] For example, when a communication device is configured to perform a step, method, or function that is performed by a receiving end: The processor 820 is configured to obtain first indication information, and the processor 820 is further configured to update the value of the first variable maintained by the communication equipment entity to be greater than the maximum serial number, or the processor 820 is further configured to update the value of the first variable maintained by the communication equipment entity to be equal to the maximum serial number.
[0241] In a possible implementation, the processor 820 is further configured to discard data units having serial numbers less than the value of the first variable when the value of the first variable is updated to be greater than the maximum serial number, or to discard data units having serial numbers less than or equal to the value of the first variable when the value of the first variable is updated to be equal to the maximum serial number.
[0242] In a possible implementation, the processor 820 is specifically configured to update the value of a first variable maintained by the communication device entity to a serial number of a first data unit that is greater than the maximum serial number and for which reconstruction has not been completed, or to update the value of a first variable maintained by the communication device entity to a serial number of a first discontinuous data unit that is greater than the maximum serial number and for which reconstruction has not been completed.
[0243] In a possible implementation, the transceiver 810 is configured to receive the first indication information.
[0244] In a possible implementation, the processor 820 is specifically configured to determine to discard one or more data units and to determine the first indication information.
[0245] In a possible implementation, the processor 820 is configured to obtain serial numbers of the set of data units to be discarded, and determine the maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded.
[0246] In a possible implementation, the transceiver 810 is further configured to transmit second indication information.
[0247] It should be noted that in this embodiment of the present application, the first instruction information, the maximum serial number, the one or more data units to be discarded, the second instruction information, etc., please refer to the description of the above-mentioned method embodiment, and the details will not be described again here.
[0248] For example, when the communication device is configured to perform the steps, methods, or functions performed by a terminal device, the processor 820 is configured to trigger a BSR when a data unit set is discarded, and the transceiver 810 is configured to transmit the BSR.
[0249] In this embodiment of the present application, please refer to the description of the above method embodiment for the description of BSR, buffer status report, etc. The details will not be described again here.
[0250] For a specific description of the processor and transceiver, please refer to the description of the processing unit and transceiver unit shown in Figure 7. The details will not be described again here.
[0251] In each implementation of the communications device shown in Figure 8, the transceiver may include a receiver and a transmitter. The receiver is configured to perform receiving functions (or operations), and the transmitter is configured to perform transmitting functions (or operations). The transceiver is configured to communicate with another device / equipment over a transmission medium.
[0252] Optionally, the communication device 80 may further include one or more memories 830 configured to store program instructions, data, etc. The memory 830 is coupled to the processor 820. A coupling in this embodiment of the present application refers to an electrical, mechanical, or other type of indirect coupling or communication connection between devices, units, or modules, used for information exchange between the devices, units, or modules. The processor 820 may cooperate with the memory 830. The processor 820 may execute program instructions stored in the memory 830. Optionally, at least one of the one or more memories may be included in the processor.
[0253] In this embodiment of the present application, the particular connection medium between the transceiver 810, the processor 820, and the memory 830 is not limited. In this embodiment of the present application, the memory 830, the processor 820, and the transceiver 810 may be connected through a bus 840 in FIG. 8. The bus is represented by a bold line in FIG. 8. The connections between other components are merely examples for purposes of illustration and are not to be construed as limitations. The bus may be categorized as an address bus, a data bus, a control bus, etc. For ease of presentation, only one bold line represents a bus in FIG. 8, but this does not imply that there is only one bus or only one type of bus.
[0254] In the present embodiments of the present application, the processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic element, a discrete gate or transistor logic element, a discrete hardware component, etc., capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor, any conventional processor, etc. The steps of the methods disclosed in connection with the embodiments of the present application may be performed directly by a hardware processor, or may be performed using a combination of hardware and software modules within the processor, etc.
[0255] In this embodiment of the present application, memory includes, but is not limited to, non-volatile memory such as a hard disk drive (HDD) or a solid-state drive (SSD), random access memory (RAM), erasable programmable read-only memory (EPROM), read-only memory (ROM), portable read-only memory (CD-ROM), etc. Memory is any storage medium that can be used to carry or store program code in the form of instructions or data structures and that can be read and / or written by a computer (e.g., a communication device as described herein). Memory in this embodiment of the present application may alternatively be a circuit or any other device capable of implementing a memory function and configured to store program instructions and / or data.
[0256] For example, the processor 820 is mainly configured to process communication protocols and communication data, control the entire communication device, execute software programs, and process data of the software programs. The memory 830 is mainly configured to store software programs and data. The transceiver 810 may include a control circuit and an antenna. The control circuit is mainly configured to perform conversion between baseband signals and radio frequency signals and process radio frequency signals. The antenna is mainly configured to transmit and receive radio frequency signals in the form of electromagnetic waves. An input / output device such as a touch screen, a display, or a keyboard is mainly configured to receive data input by a user and output data to a user.
[0257] After the communication device is started, the processor 820 may read the software program from the memory, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 820 performs baseband processing 1001 on the data to be transmitted and then outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal in the form of an electromagnetic wave through an antenna. When data is to be transmitted to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 820. The processor 820 converts the baseband signal into data and processes the data.
[0258] In another embodiment, the radio frequency circuitry and antenna may be located independently from the processor that performs the baseband processing, for example, in a distributed scenario, the radio frequency circuitry and antenna may be located independently and remotely from the communication device.
[0259] It should be understood that the communication device described in this embodiment of the present application may further include more components than those in FIG. 8. This is not limited to this embodiment of the present application. The methods performed by the processor and transceiver are merely examples. Please refer to the above-mentioned methods for specific steps performed by the processor and transceiver.
[0260] In another possible implementation, in the communication device shown in FIG. 7 , the processing unit 701 may be one or more logic circuits. The transceiver unit 702 may be an input / output interface, also referred to as a communication interface, interface circuit, interface, etc. Alternatively, the transceiver unit 702 may be a transmitting unit and a receiving unit, where the transmitting unit may be an output interface and the receiving unit may be an input interface, or the transmitting unit and the receiving unit may be integrated into one unit, such as an input / output interface. As shown in FIG. 9 , the communication device shown in FIG. 9 includes a logic circuit 901 and an interface 902. In other words, the processing unit 701 may be implemented using the logic circuit 901, and the transceiver unit 702 may be implemented using the interface 902. The logic circuit 901 may be a chip, a processing circuit, an integrated circuit, a system-on-chip (SoC) chip, etc. The interface 902 may be a communication interface, an input / output interface, a pin, etc. For example, FIG. 9 illustrates an example in which the communication device is a chip. The chip includes the logic circuit 901 and the interface 902.
[0261] In this embodiment of the present application, the logic circuit and the interface may be coupled to each other, and the specific connection method between the logic circuit and the interface is not limited to this embodiment of the present application.
[0262] For example, if the communication device is configured to perform a method, function, or step performed by the receiving end, the interface 902 is configured to obtain the first indication. The logic circuit 901 is configured to update the value of a first variable maintained by the communication device entity to be greater than the maximum serial number. Alternatively, the logic circuit 901 is configured to update the value of the first variable maintained by the communication device entity to be equal to the maximum serial number.
[0263] In a possible implementation, the logic circuit 901 is further configured to discard data units having serial numbers less than the value of the first variable when the value of the first variable is updated to be greater than the maximum serial number, or to discard data units having serial numbers less than or equal to the value of the first variable when the value of the first variable is updated to be equal to the maximum serial number.
[0264] In a possible implementation, the logic circuit 901 is specifically configured to update the value of a first variable maintained by the entity of the communication device to a serial number of a first data unit that is greater than the maximum serial number and for which reassembly has not been completed, or to update the value of a first variable maintained by the entity of the communication device to a serial number of a first non-contiguous data unit that is greater than the maximum serial number and for which reassembly has not been completed.
[0265] In a possible implementation, the logic circuit 901 is specifically configured to input the first instruction information via the interface 902 .
[0266] In a possible implementation, the logic circuit 901 is specifically configured to determine to discard one or more data units and to determine first indication information.
[0267] In a possible implementation, the logic circuit 901 is configured to obtain serial numbers of the set of data units to be discarded and determine the maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded.
[0268] In a possible implementation, the interface 902 is further configured to output a second indication.
[0269] For example, when the communications device is configured to perform a method, function, or step performed by a terminal device, the logic circuitry 901 is configured to trigger a BSR when a data unit set is discarded, and the interface 902 is configured to output the BSR.
[0270] It should be understood that the communication device described in this embodiment of the present application may implement the method provided in the embodiment of the present application in the form of hardware, or may implement the method provided in the embodiment of the present application in the form of software, which is not limited in this embodiment of the present application.
[0271] For specific implementation of the embodiment shown in Figure 9, please refer to the above-mentioned embodiment, and the details will not be described again here.
[0272] An embodiment of the present application further provides a wireless communication system. The communication system includes a transmitting end and a receiving end. The transmitting end and the receiving end can be configured to perform the method of any one of the above-mentioned embodiments (shown in FIG. 4, Examples 1 to 3, and FIG. 6). Alternatively, the transmitting end and the receiving end can refer to the communication devices shown in FIGS. 7 to 9.
[0273] Furthermore, the present application further provides a computer program, which can be used to implement the actions and / or processes performed by the receiving end in the methods provided herein.
[0274] The present application further provides a computer program, which can be used to implement the actions and / or processes performed by a terminal device in the methods provided herein.
[0275] The present application further provides a computer-readable storage medium having computer code stored thereon, which, when executed on a computer, enables the computer to perform the actions and / or processes performed by the receiving end in the methods provided herein.
[0276] The present application further provides a computer-readable storage medium that stores computer code that, when executed on a computer, enables the computer to perform the actions and / or processes performed by a terminal device in the methods provided herein.
[0277] The present application further provides a computer program product, which includes computer code or a computer program that, when executed on a computer, performs the operations and / or processes performed by a receiving end in the methods provided herein.
[0278] The present application further provides a computer program product, which includes computer code or a computer program that, when executed on a computer, performs the operations and / or processes performed by a terminal device in the methods provided herein.
[0279] In some embodiments provided herein, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the described device embodiments are merely examples. For example, the division into units is merely a logical division of function, and actual implementation may involve other divisions. For example, multiple units or components may be combined or integrated into another system, or some functions may be ignored or not performed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through several interfaces, indirect couplings, or communication connections between devices or units, or electronic, mechanical, or other types of connections.
[0280] The units described as separate parts may or may not be physically separated. The parts shown as units may or may not be physical units, and may be located in one place or distributed among multiple network units. Some or all of the units may be selected based on actual requirements to achieve the technical effects of the solutions provided in the embodiments of the present application.
[0281] Furthermore, the functional units in the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.
[0282] When an integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or a portion contributing to the prior art, or all or a portion of the technical solution may be implemented in the form of a software product. The computer software product is stored in a readable storage medium and includes a plurality of instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or a portion of the steps of the method described in the embodiments of the present application. The readable storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0283] The above description is merely a specific implementation of the present application and is not intended to limit the scope of protection of the present application. Any modifications or replacements that are readily conceived by those skilled in the art within the technical scope disclosed in the present application should be embraced within the scope of protection of the present application. Therefore, the scope of protection of the present application should be subject to the scope of protection of the claims.
[0284] According to examples of the present invention, the present application further provides the following examples. (Example 1) A data processing method, the method comprising: obtaining, by a receiving end, first indication information, the first indication information indicating the highest serial number of one or more data units to be discarded; and updating a value of a first variable maintained by the entity at the receiving end to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable will be processed by the entity at the receiving end; or updating a value of a first variable maintained by an entity at the receiving end to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable will be processed by the entity at the receiving end; A method comprising: (Example 2) The method comprises: when the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of said first variable is updated to be equal to said maximum serial number, discarding data units having serial numbers less than or equal to the value of said first variable; The method of Example 1, further comprising: (Example 3) The step of updating a value of a first variable maintained by the receiving end entity to be greater than the maximum serial number includes: updating the value of the first variable maintained by the entity at the receiving end to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity at the receiving end to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; 3. The method of claim 1 or 2, comprising: (Example 4) The first variable indicating that a data unit having a serial number equal to or greater than the value of the first variable is to be processed by the entity at the receiving end may include: the first variable indicates that data units having serial numbers equal to or greater than the value of the first variable will be reassembled by the entity at the receiving end; or the first variable indicating that data units having serial numbers equal to or greater than the value of the first variable are to be delivered by the entity at the receiving end to the upper layer; The method according to any one of Examples 1 to 3, comprising: (Embodiment 5) The step of obtaining first indication information by the receiving end includes: 5. The method according to any one of embodiments 1 to 4, further comprising receiving, by the receiving end, the first indication information. (Example 6) The step of obtaining first indication information by the receiving end includes: The method according to any one of embodiments 1 to 4, comprising: determining, by the receiving end, to discard the one or more data units; and determining the first indication information. (Example 7) A method described in any one of Examples 1 to 6, wherein the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong. Example 8: The method comprises: obtaining a serial number of a set of data units to be discarded; determining a maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded; The method of Example 7, further comprising: (Example 9) The method according to any one of Examples 1 to 8, wherein the entity at the receiving end includes at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity. (Example 10) The first indication information indicates the maximum serial number of one or more data units to be discarded, the first indication information indicates a maximum serial number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; The method according to any one of Examples 1 to 9, comprising: (Example 11) The method comprises: sending second instruction information by the entity of the receiving end, the second instruction information instructing the entity of the transmitting end to discard the one or more data units, or the second instruction information instructing the entity of the transmitting end to discard a data unit set corresponding to the one or more data units; The method of any one of Examples 6 to 10, further comprising: (Example 12) A communication device, the device comprising: a processing unit configured to obtain first indication information, the first indication information indicating a highest serial number of one or more data units to be discarded; the processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable are to be processed by the communications equipment entity; or the processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable are to be processed by the communications equipment entity. device. (Example 13) The processing unit When the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of the first variable is updated to be equal to the maximum serial number, discarding data units having serial numbers less than or equal to the value of the first variable; 13. The device of Example 12, further configured to: (Example 14) The processing unit specifically includes: updating the value of the first variable maintained by the entity of the communication device to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity of the communication device to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; 14. The device of claim 12 or 13, configured to: (Example 15) The first variable indicates that a data unit having a serial number equal to or greater than the value of the first variable will be reassembled by the entity of the communication device; or the first variable indicates that a data unit having a serial number equal to or greater than the value of the first variable is to be delivered to a higher layer by the entity of the communication device; The device according to any one of Examples 12 to 14. (Example 16) The device described in any one of Examples 12 to 15, wherein the device further includes a transceiver unit, and the processing unit is specifically configured to receive the first instruction information via the transceiver unit. (Example 17) The device according to any one of Examples 12 to 15, wherein the processing unit is specifically configured to: determine to discard the one or more data units; and determine the first instruction information. (Example 18) An apparatus described in any one of Examples 12 to 17, wherein the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong. (Example 19) The device described in Example 18, wherein the processing unit is configured to obtain the serial number of the set of data units to be discarded and determine the maximum serial number of the plurality of data units based on the serial number of the set of data units to be discarded. (Example 20) The device according to any one of Examples 12 to 19, wherein the entities of the communication device include at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity. (Example 21) The first indication information indicates the maximum serial number of one or more data units to be discarded, the first indication information indicates a maximum serial number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; 21. The device of any one of Examples 12 to 20, comprising: (Example 22) The device described in any one of Examples 17 to 21, wherein the transceiver unit is further configured to transmit second instruction information, the second instruction information instructing the transmitting end entity to discard the one or more data units, or the second instruction information instructing the transmitting end entity to discard a data unit set corresponding to the one or more data units. (Example 23) A communications device including a processor and a memory, wherein the memory is configured to store instructions, and the processor is configured to execute the instructions so that the method described in any one of Examples 1 to 11 is performed. (Example 24) A communication device comprising a logic circuit and an interface, the logic circuit coupled to the interface, the interface configured to input and / or output code instructions, and the logic circuit configured to execute the code instructions so as to perform the method described in any one of Examples 1 to 11. (Example 25) A computer-readable storage medium, the computer-readable storage medium configured to store a computer program, the computer program, when executed, performing the method described in any one of Examples 1 to 11.
Claims
1. 1. A data processing method, the method comprising: obtaining, by a receiving end, first indication information, the first indication information indicating the highest serial number of one or more data units to be discarded; and updating a value of a first variable maintained by the entity at the receiving end to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable will be processed by the entity at the receiving end; or updating a value of a first variable maintained by an entity at the receiving end to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable will be processed by the entity at the receiving end; A method comprising:
2. The method comprises: when the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of said first variable is updated to be equal to said maximum serial number, discarding data units having serial numbers less than or equal to the value of said first variable; The method of claim 1 further comprising:
3. updating a value of a first variable maintained by the receiving entity to be greater than the maximum serial number; updating the value of the first variable maintained by the entity at the receiving end to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity at the receiving end to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; 3. The method of claim 1 or 2, comprising:
4. The first variable indicating that a data unit having a serial number equal to or greater than the value of the first variable is to be processed by the entity at the receiving end may include: the first variable indicates that data units having serial numbers equal to or greater than the value of the first variable will be reassembled by the entity at the receiving end; or the first variable indicating that data units having serial numbers equal to or greater than the value of the first variable are to be delivered by the entity at the receiving end to the upper layer; The method according to any one of claims 1 to 3, comprising:
5. The step of obtaining first indication information by the receiving end includes: The method according to any one of claims 1 to 4, comprising the step of receiving, by the receiving end, the first indication information.
6. The step of obtaining first indication information by the receiving end includes: The method according to any one of claims 1 to 4, comprising the step of: determining, by the receiving end, to discard the one or more data units; and determining the first indication information.
7. The method according to any one of claims 1 to 6, wherein the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong.
8. The method comprises: obtaining a serial number of a set of data units to be discarded; determining a maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded; The method of claim 7 further comprising:
9. The method according to any one of claims 1 to 8, wherein the entities at the receiving end include at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity.
10. The first indication information indicates the highest serial number of one or more data units to be discarded, the first indication information indicates a highest serial number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; The method according to any one of claims 1 to 9, comprising:
11. The method comprises: sending second instruction information by the entity of the receiving end, the second instruction information instructing the entity of the transmitting end to discard the one or more data units, or the second instruction information instructing the entity of the transmitting end to discard a data unit set corresponding to the one or more data units; The method of any one of claims 6 to 10, further comprising:
12. A communications device, the device comprising: a processing unit configured to obtain first indication information, the first indication information indicating a highest serial number of one or more data units to be discarded; the processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be greater than the maximum serial number, the first variable indicating that data units having serial numbers greater than or equal to the value of the first variable are to be processed by the communications equipment entity; or the processing unit is further configured to update a value of a first variable maintained by the communications equipment entity to be equal to the maximum serial number, the first variable indicating that data units having serial numbers greater than the value of the first variable are to be processed by the communications equipment entity. device.
13. The processing unit When the value of the first variable is updated to be greater than the maximum serial number, discarding data units having serial numbers less than the value of the first variable; or when the value of the first variable is updated to be equal to the maximum serial number, discarding data units having serial numbers less than or equal to the value of the first variable; 13. The apparatus of claim 12, further configured to:
14. The processing unit specifically includes: updating the value of the first variable maintained by the entity of the communication device to a serial number of a first data unit that is greater than the maximum serial number and that has not yet been reassembled; or updating the value of the first variable maintained by the entity of the communication device to the serial number of a first non-contiguous data unit that is greater than the maximum serial number and that has not been delivered to an upper layer; 14. The device according to claim 12 or 13, configured to:
15. the first variable indicates that data units having serial numbers equal to or greater than the value of the first variable will be reassembled by the entity of the communications device; or the first variable indicates that a data unit having a serial number equal to or greater than the value of the first variable is to be delivered to a higher layer by the entity of the communication device; An apparatus according to any one of claims 12 to 14.
16. The device according to any one of claims 12 to 15, wherein the device further includes a transceiver unit, and the processing unit is specifically configured to receive the first indication information via the transceiver unit.
17. The apparatus according to any one of claims 12 to 15, wherein the processing unit is specifically configured to: decide to discard the one or more data units; and determine the first indication information.
18. The device of any one of claims 12 to 17, wherein the first instruction information indicating the maximum serial number of the one or more data units to be discarded includes the first instruction information indicating the serial number of a data unit set to which the one or more data units to be discarded belong.
19. 20. The apparatus of claim 18, wherein the processing unit is configured to obtain serial numbers of the set of data units to be discarded and determine a maximum serial number of the plurality of data units based on the serial numbers of the set of data units to be discarded.
20. The device of any one of claims 12 to 19, wherein the entities of the communications device include at least one of a Packet Data Convergence Protocol (PDCP) entity and a Radio Link Control (RLC) entity.
21. The first indication information indicates the highest serial number of one or more data units to be discarded, the first indication information indicates a highest serial number (SN) of the one or more data units to be discarded; or the first indication information indicating a maximum count value of the one or more data units to be discarded; 21. The device according to any one of claims 12 to 20, comprising:
22. The device of any one of claims 17 to 21, wherein the transceiver unit is further configured to transmit second instruction information, wherein the second instruction information indicates to a transmitting end entity to discard the one or more data units, or the second instruction information indicates to a transmitting end entity to discard a data unit set corresponding to the one or more data units.
23. A communications device comprising a processor and a memory, the memory configured to store instructions, and the processor configured to execute the instructions such that a method according to any one of claims 1 to 11 is performed.
24. A communications device comprising a logic circuit and an interface, the logic circuit coupled to the interface, the interface configured to input and / or output code instructions, and the logic circuit configured to execute the code instructions such that a method according to any one of claims 1 to 11 is performed.
25. 12. A computer-readable storage medium configured to store a computer program which, when executed, performs the method of any one of claims 1 to 11.
Citation Information
Patent Citations
Packet transmission and reception in a wireless communication network
WO2022081073A1
Cited By
Data processing method and apparatus
JP2026508000A