Communication methods and communication devices

By determining and updating the state variable based on the count value of discarded data, the method and device address data packet loss issues, enhancing communication system transmission performance.

JP2026517652APending Publication Date: 2026-06-02HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-03-26
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing communication systems face issues with data packet loss due to ineffective updating of the PDCP entity state variable, leading to poor transmission performance.

Method used

A communication method and device that determine the count value of discarded data and update the state variable accordingly, considering the count value of discarded data to prevent data packet loss.

Benefits of technology

Effectively avoids data packet loss by updating the state variable based on the count value of discarded data, thereby improving transmission performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026517652000001_ABST
    Figure 2026517652000001_ABST
Patent Text Reader

Abstract

A communication method and communication device are provided. The communication method includes the steps of determining first information, wherein the first information includes information about the count value of first data, and the first data is discarded data; and updating a state variable based on the first count value, wherein the first count value is the count value of the first data. In order to effectively avoid packet loss, the state variable is updated based on the count value of the discarded data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application claims the priority of Chinese Patent Application No. 202310417379.5, titled "Communication Method and Communication Device", filed with the China National Intellectual Property Administration on April 7, 2023, the entire content of which is incorporated herein by reference.

[0002] This application relates to the field of communication technologies, and more particularly, to communication methods and communication devices.

Background Art

[0003] In the prior art, a receiving end receives a packet data convergence protocol (PDCP) protocol data unit (PDU). The PDCP PDU includes a sequence number (SN). The receiving end further calculates the hyper frame number (HFN) of the PDCP PDU based on the received SN to obtain the count COUNT value of the PDCP PDU. The receiving end determines whether the PDCP PDU should be discarded based on the obtained COUNT value. If the receiving end determines that the data should not be discarded, the receiving end may update the state variable based on the COUNT value.

[0004] In some cases, the transmitting end may discard data. In this case, there is no effective method for the receiving end to update the state variable.

Summary of the Invention

Means for Solving the Problems

[0005] Embodiments of this application provide a communication method and a communication device for avoiding the problem of data packet loss caused by updating the PDCP entity state variable so as to improve the transmission performance.

[0006] According to a first aspect, a communication method is provided. The method may be performed by a terminal device, or by a chip, circuit, or module within a terminal device, but is not limited to this application. Alternatively, the method may be performed by a network device, or by a chip, circuit, or module within a network device, but is not limited to this application. This application is described by using the first apparatus without causing ambiguity in context.

[0007] The method includes the following:

[0008] The first device determines first information, where the first information includes information about the count value of first data, the first data is discard data, the first device updates a state variable based on the first count value, and the first count value is the count value of first data.

[0009] According to the method provided in this application, a first device determines the count value of first data and updates a state variable based on the first count value. The first count value is the count value of first data, and first data is discarded data. Compared to the prior art, it may be understood that the first device determines the count value of discarded data and updates the state variable based on the count value of discarded data in order to effectively avoid the problem of data packet loss caused by direct updating of a state variable based on a count value greater than the count value of the discarded data.

[0010] Referring to the first aspect, in some possible implementations, the first data is assumed to be received by the first device.

[0011] Based on the above technical solution, the first data is considered discard data and is assumed to have been received by the first device. The first device determines that the first data is discard data and assumes that the first data has been received.

[0012] It should be understood that in some specific implementation processes, the first device may pretend that first data has been received and update a state variable, or the first device may construct an empty data packet at the location corresponding to discarded data and update a state variable.

[0013] Referring to the first aspect, in some possible implementations, if a first condition is met, the first data is considered to have been received by the first device. The first condition includes that a first state variable is less than or equal to a first count value, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0014] Based on the above technical solution, when the first state variable is less than or equal to the first count value, the first data is considered to have been received by the first device.

[0015] Referring to the first aspect, in some possible implementations, the first information includes a count value of at least one data, at least one data includes the first data, and each of the at least one data is discard data.

[0016] Based on the above technical solution, the first information includes the count value of at least one data, and the at least one data may include one or more data, each of which is discard data, and the at least one data includes the first data. The first count value is the minimum count value among the at least one data.

[0017] Generally, it is important to understand that one data point can correspond to one count value.

[0018] Referring to the first aspect, in some possible implementations, the first data is considered to have been received by the first device and stored in a buffer by the first device.

[0019] Referring to the first aspect, in some possible implementations, the first information further includes information about a first quantity, where the first quantity indicates the quantity of discarded data.

[0020] Referring to the first aspect, in some possible implementations, the first device updating a state variable based on a first count value includes the following:

[0021] If the first count value is greater than or equal to the second state variable, the first device updates the second state variable to the sum of the first count value and the first quantity, or the first device updates the second state variable to the sum of the first count value and 1, and / or If the first count value is equal to the first state variable, the first device delivers at least one third piece of data, where the third piece of data includes data received by the first device and stored in a buffer by the first device, and the count value corresponding to the third piece of data is greater than or equal to the first state variable, and / or If the first count value is equal to the first state variable, the first device updates the first state variable to the fourth count value, where the fourth count value is greater than the first state variable. The first state variable indicates the count value of the first data that the first device awaits to deliver, the second state variable indicates the count value of the next data that the first device expects to receive, and the first quantity indicates the quantity of discarded data.

[0022] Based on the above technical solution, when the first device updates the state variable based on the first count value, if the first count value is greater than or equal to the second state variable indicating the count value of the next data expected to be received by the first device, the first device updates the second state variable to the sum of the first count value and the first quantity. When at least one piece of data contains multiple (two or more) pieces of data, the first device only needs to update the second state variable once. Alternatively, the first device updates the second state variable to the sum of the first count value and 1, and the first device needs to determine the relationship between the count value of each piece of at least one piece of data and the second state variable, and further determine whether the second state variable should be updated.

[0023] When the first count value is equal to the first state variable, the first device delivers at least one piece of third data to the upper layer. When multiple (two or more) fragments of the third data are delivered, the count values of the third data are consecutive, and the count value corresponding to the third data is greater than or equal to the first state variable.

[0024] According to the first aspect, in some possible implementations, for the first device to update the state variable based on the first count value, when the sorting timer is running and the first state variable is greater than or equal to the third state variable, the first device stops the sorting timer, and / or when the sorting timer is not running and the first state variable is less than the second state variable, the first device further includes starting the sorting timer. The first state variable indicates the count value of the first data that the first device waits to deliver, the second state variable indicates the count value of the next data expected to be received by the first device, and the third state variable indicates the sum of the count value of the data that triggers the sorting timer and 1.

[0025] According to the first aspect, in some possible implementations, the first device obtains the sequence number SN of the first data or the first count value.

[0026] Based on the above technical solution, the first device may further obtain the sequence number SN of the first data or the first count value. The first device may determine the first count value based on the obtained sequence number SN of the first data.

[0027] According to the first aspect, in some possible implementation forms, when the first device obtains the sequence number SN of the first data, the method further includes the first device determining the first count value based on the sequence number SN of the first data and the first state variable, where the first state variable indicates the count value of the first data that the first device waits to deliver.

[0028] Based on the above technical solution, when the first device obtains the sequence number SN of the first data, the first device determines the first count value based on the sequence number SN of the first data and the first state variable.

[0029] Specifically, the first device may calculate the hyperframe number HFN based on the sequence number SN of the first data, and may determine the first count value based on the sequence number SN and the hyperframe number HFN.

[0030] According to the first aspect, in some possible implementation forms, when the first information includes the count value of at least one data, the method further includes the first device obtaining any one or more of the following information of the at least one data, that is, the start sequence number SN, the end sequence number SN, the start count value, the end count value, and the first quantity, where the first quantity is the quantity of discarded data in the first data set.

[0031] Based on the above technical solution, when the first information determined by the first device includes the count value of at least one data, the first device may further obtain information such as the start sequence number SN, end sequence number SN, start count value, end count value, and first quantity of the at least one data. The first device may further determine the count value related to at least one data based on one or more of the above information. The count value related may be the start count value of at least one data, the end count value of at least one data, or one or more count values ​​of any one or more data within at least one data.

[0032] According to a first aspect, in several possible implementations, the first device determines the starting count value of at least one data based on a starting sequence number SN and a first state variable, and / or the first device determines the count value of at least one of at least one data based on the starting count value of at least one data and a first quantity, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0033] According to a second aspect, a communication method is provided. The method may be performed by a terminal device, or by a chip, circuit, or module within a terminal device, but is not limited to this application. Alternatively, the method may be performed by a network device, or by a chip, circuit, or module within a network device, but is not limited to this application. This application is described by using the first apparatus without causing ambiguity in context.

[0034] The method includes the following:

[0035] The first device determines first information, where the first information includes a count value of at least one data, each of which at least one data is discard data.

[0036] If the second condition is met, the first device performs one or more of the following:

[0037] The first device delivers at least one received data whose count value is greater than or equal to (second count value + 1), The first device updates the first state variable to a third count value, where the third count value is greater than the second count value. If the sorting timer is running and the first state variable is greater than or equal to the third state variable, the first device stops the sorting timer, or If the sorting timer is not running and the first state variable is less than the second state variable, the first device starts the sorting timer.

[0038] The second condition is that the first state variable is equal to the first count value, where the first count value is the count value of the first data, and the first data is the data with the smallest count value among at least one data; the second count value is the count value of the second data, and the second data is the data with the largest count value among at least one data; the first state variable indicates the count value of the first data that the first device is waiting to deliver; the second state variable indicates the count value of the next data that the first device expects to receive; and the third state variable indicates the sum of the count value of the data that triggers the sorting timer and 1.

[0039] According to the method provided in this application, a first device determines first information, which includes a count value of at least one data, each of which is discard data. The first device further updates a state variable based on the first count value and a first state variable of at least one data. When the first device determines that the first state variable is equal to a first count value, the first device delivers at least one received data whose count value is greater than or equal to (second count value + 1), where the second count value is the highest count value among the count values ​​of at least one data. The first device delivers at least one received data whose count value is greater than or equal to (second count value + 1) to a higher layer, and the count values ​​of the at least one data delivered to the higher layer by the first device are consecutive. When the first device determines that a first state variable is equal to a first count value, the first device may update the first state variable to a third count value, where the third count value is greater than the second count value, and the third count value is the count value of the first data packet that is not delivered to the upper layer by the first device and is greater than the second count value. According to the technical solution provided in this application, when the first device determines that a first state variable is equal to a first count value, the first device further determines that it should update the state variable in order to avoid data packet loss and improve transmission performance.

[0040] Referring to the second aspect, in some possible implementations, when the second state variable is less than the second count value, the method further includes the first device updating the second state variable to the second count value + 1.

[0041] Referring to the second aspect, in some possible implementations, after the first device has determined the first information, the method further includes the first device ignoring the first information if a third condition is met. The third condition includes the first state variable being greater than a second count value.

[0042] Based on the above technical solution, if the first device determines the first piece of information and the first state variable is greater than the second count value, the first device ignores the first piece of information; in other words, the first device does not need to update the state variable when the second condition is met.

[0043] Referring to the second aspect, in some possible implementations, the method is such that the first device obtains the following information from at least one piece of data, namely, The further includes obtaining one or more of the following: a start sequence number SN, an end sequence number SN, a start count value, an end count value, and a first quantity.

[0044] The first quantity is the quantity of discarded data in at least one data set.

[0045] Based on the above technical solution, before the first device determines the first information, the first device may further obtain one or more of the following: a start sequence number SN, an end sequence number SN, a start count value, an end count value, and a first quantity for at least one piece of data. The first device may determine the count value of at least one piece of data based on the obtained information.

[0046] Referring to a second aspect, in some possible implementations, when the first device obtains the sequence number SN of the first data, the method further includes the first device determining a first count value based on the sequence number SN of the first data and a first state variable, where the first state variable indicates the count value of the first data that the first device is waiting to deliver.

[0047] Based on the above technical solution, when the first device obtains the sequence number SN of the first data among at least one set of data, the first device determines the count value of the first data, i.e., the first count value, based on the sequence number SN of the first data and the first state variable.

[0048] Referring to a second aspect, in some possible implementations, the method further includes the first device determining a starting count value for at least one data based on a starting sequence number SN and a first state variable, and / or the first device determining an ending count value for at least one data based on an ending sequence number SN and a first state variable, and / or the first device determining an ending count value for at least one data based on a first count value and a first quantity, the first state variable indicating the count value of the first data awaiting delivery by the first device.

[0049] According to a third aspect, an apparatus is provided. The apparatus includes a processing unit configured to determine first information, wherein the first information includes information about a count value of first data, and the first data is discard data. The processing unit is further configured to update a state variable based on the first count value, wherein the first count value is the count value of first data.

[0050] Referring to the third aspect, in some possible implementations, the first data is assumed to be received by the first device.

[0051] Referring to the third aspect, in some possible implementations, if the first condition is met, the first data is considered to have been received by the first device. The first condition includes that the first state variable is less than or equal to the first count value, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0052] Referring to the third aspect, in some possible implementations, the first information includes a count value of at least one data, at least one data includes the first data, and each of the at least one data is discard data.

[0053] Referring to the third aspect, in some possible implementations, the first data is considered to have been received by the first device and stored in a buffer by the first device.

[0054] Referring to the third aspect, in some possible implementations, the first information further includes information about a first quantity, where the first quantity indicates the quantity of discarded data.

[0055] Referring to the third aspect, in some possible implementations, the processing unit is configured to update a state variable based on a first count value, which includes the following:

[0056] If the first count value is greater than or equal to the second state variable, the processing unit is further configured to update the second state variable to the sum of the first count value and the first quantity, or the processing unit is further configured to update the second state variable to the sum of the first count value and 1, and / or If the first count value is equal to the first state variable, the processing unit is further configured to deliver at least one third piece of data, where the third piece of data includes data received by the first device and stored in a buffer by the first device, and the count value corresponding to the third piece of data is greater than or equal to the first state variable, and / or If the first count value is equal to the first state variable, the processing unit is further configured to update the first state variable to a fourth count value, where the fourth count value is greater than the first state variable.

[0057] The first state variable indicates the count value of the first data awaiting delivery by the first device, the second state variable indicates the count value of the next data expected to be received by the first device, and the first quantity indicates the quantity of discarded data.

[0058] Referring to a third aspect, in some possible implementations, the processing unit being configured to update a state variable based on a first count value further includes the processing unit being configured to stop the sort timer if the sort timer is running and the first state variable is greater than or equal to a third state variable, and / or the sort timer is not running and the first state variable is less than a second state variable. The first state variable indicates the count value of the first data that the first device is waiting to deliver, the second state variable indicates the count value of the next data that the first device expects to receive, and the third state variable indicates the sum of the count value of the data that triggers the sort timer and 1.

[0059] Referring to a third aspect, in some possible implementations, the receiving unit is configured to obtain the sequence number SN or a first count value of the first data.

[0060] Referring to a third aspect, in some possible implementations, when a receiving unit is configured to obtain the sequence number SN of the first data, the processing unit is further configured to determine a first count value based on the sequence number SN of the first data and a first state variable, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0061] Referring to a third aspect, in some possible implementations, when the first information includes a count value for at least one data, the receiving unit is further configured to obtain one or more of the following information for at least one data: a start sequence number SN, an end sequence number SN, a start count value, an end count value, and a first quantity, where the first quantity is the quantity of data in the first dataset.

[0062] Referring to a third aspect, in some possible implementations, the processing unit is further configured to determine the starting count value of at least one data based on a starting sequence number SN and a first state variable, and / or the processing unit is further configured to determine the count value of at least one of at least one data based on the starting count value of at least one data and a first quantity, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0063] According to a fourth aspect, a communication device is provided. The device includes a processing unit configured to determine first information, wherein the first information includes a count value of at least one piece of data, each of which is discarded data.

[0064] If the second condition is met, the first device performs one or more of the following:

[0065] The processing unit is further configured to deliver at least one received data whose count value is greater than or equal to (second count value + 1), The processing unit is further configured to update the first state variable to a third count value, where the third count value is greater than the second count value. If the sorting timer is running and the first state variable is greater than or equal to the third state variable, the processing unit is further configured to stop the sorting timer, or If the sorting timer is not running and the first state variable is smaller than the second state variable, the processing unit is further configured to start the sorting timer.

[0066] The second condition is that the first state variable is equal to the first count value, where the first count value is the count value of the first data, and the first data is the data with the smallest count value among at least one data; the second count value is the count value of the second data, and the second data is the data with the largest count value among at least one data; the first state variable indicates the count value of the first data that the first device is waiting to deliver; the second state variable indicates the count value of the next data that the first device expects to receive; and the third state variable indicates the sum of the count value of the data that triggers the sorting timer and 1.

[0067] Referring to the fourth aspect, in some possible implementations, when the second state variable is less than the second count value, the processing unit is further configured to update the second state variable to the second count value + 1.

[0068] Referring to the fourth aspect, in some possible implementations, after the first device has determined the first information, the processing unit is further configured to ignore the first information if a third condition is met. The third condition includes that the first state variable is greater than the second count value.

[0069] Referring to the fourth aspect, in some possible implementations, the method is such that the processing unit obtains the following information from at least one piece of data, namely, The system is further configured to obtain one or more of the following: a start sequence number SN, an end sequence number SN, a start count value, an end count value, and a first quantity.

[0070] The first quantity is the quantity of discarded data in at least one data set.

[0071] Referring to the fourth aspect, in some possible implementations, when the transceiver unit is further configured to obtain the sequence number SN of the first data, the processing unit is further configured to determine a first count value based on the sequence number SN of the first data and a first state variable, where the first state variable indicates the count value of the first data awaiting delivery by the first device.

[0072] Referring to the fourth aspect, in some possible implementations, when the transceiver unit is further configured to obtain a start sequence number SN of at least one piece of data, the processing unit is further configured to determine a start count value of at least one piece of data based on the start sequence number SN and a first state variable, and / or the processing unit is further configured to determine an end count value of at least one piece of data based on an end sequence number SN and a first state variable, and / or the processing unit is further configured to determine an end count value of at least one piece of data based on a first count value and a first quantity. The first state variable indicates the count value of the first piece of data awaiting delivery by the first device.

[0073] According to a fifth aspect, a communication device is provided. The communication device may be a terminal device or a network device, or a component of a terminal device or network device (e.g., a chip or circuit). The communication device includes a processor, the processor is configured to call a computer program from memory and run the computer program, and as a result, the communication device performs a method in any one of the possible implementations of the first or second aspect.

[0074] Optionally, there may be one or more processors.

[0075] Optionally, the communication device further includes one or more memories. The memories may be integrated with the processor, or the memories and processor may be located separately.

[0076] Optionally, the communication device further includes a transmitter and a receiver. When the communication device is a terminal device or network device, the transmitter and receiver may be radio frequency modules, etc. When the communication device is a component of a terminal device or network device (e.g., a chip or circuit), the transmitter and receiver may be output / input circuits, interfaces, etc.

[0077] A communication method is provided that includes a method in any one of the possible implementations of the first embodiment and a method in any one of the possible implementations of the second embodiment.

[0078] According to the seventh aspect, a communication system is provided which includes a network device and a terminal device. The terminal device is configured to perform a method in any one of the possible implementations of the first aspect, and the network device is configured to perform a method in any one of the possible implementations of the second aspect.

[0079] According to the eighth aspect, a communication system is provided, including a network device, a first terminal device, and a second terminal device. The first terminal device may be configured to perform a method in any one of the possible implementations of the first aspect, and the second terminal device may be configured to perform a method in any one of the possible implementations of the second aspect, wherein the first terminal device is different from the second terminal device.

[0080] According to the ninth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program or code. When the computer program or code is executed in a computer, the computer is made capable of performing a method in any one of the possible implementations of the first or second aspect.

[0081] According to the tenth aspect, a chip is provided which includes at least one processor. The at least one processor is coupled to memory. The memory is configured to store a computer program. The processor is configured to call a computer program from memory and run the computer program, so that a device to which the chip system is mounted performs the method in any one of the possible implementations of the first or second aspect.

[0082] The chip may include an input circuit or input interface configured to send information or data, and an output circuit or output interface configured to receive information or data.

[0083] According to the ninth aspect, a computer program product is provided. The computer program product includes computer program code. When the computer program code is executed in a device, the device is made capable of performing a method in any one of the possible implementations of the first or second aspect. [Brief explanation of the drawing]

[0084] [Figure 1] This is a diagram of a communication system to which one embodiment of this application can be applied. [Figure 2] This is a diagram of another network architecture to which one embodiment of this application may be applied. [Figure 3] This is a diagram of yet another network architecture used in one embodiment of the present application. [Figure 4] This is a diagram showing the structure of a GOP to which one embodiment of this application can be applied. [Figure 5] This is a diagram of a protocol stack according to one embodiment of the present application. [Figure 6] This diagram shows the relationship between the PDU and SDU in each protocol layer according to one embodiment of this application. [Figure 7] This is a diagram of a PDCP PDU according to one embodiment of this application. [Figure 8] This is a diagram of COUNT according to one embodiment of this application. [Figure 9] This is a block diagram of a communication method according to one embodiment of the present application. [Figure 10] This is a diagram illustrating a packet loss scenario according to one embodiment of this application. [Figure 11] This is a block diagram of another communication method according to one embodiment of the present application. [Figure 12] This is a block diagram of yet another communication method according to one embodiment of the present application. [Figure 13] This is a block diagram of a communication device according to one embodiment of this application. [Figure 14] This is a block diagram of another communication device according to one embodiment of this application. [Figure 15] This is a block diagram of yet another communication device according to one embodiment of this application. [Modes for carrying out the invention]

[0085] The following describes the technical solutions of the embodiments in this application with reference to the attached drawings.

[0086] The technical solutions in the embodiments of this application include Global System of Mobile communications (GSM), Code Division Multiple Access (CDMA) systems, Wideband Code Division Multiple Access (WCDMA®) systems, General Packet Radio Service (GPRS), Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication systems, and fifth-generation (5) systems. th 5G (6th Generation) system, or New Radio (NR) system, 6th generation (6 th It can be applied to various communication systems, such as Generation 6G, or future communication systems.

[0087] In embodiments of this application, the terminal device is a device having wireless transceiver functionality, which may be a fixed device or a mobile device, and may be referred to as user equipment, access terminal, subscriber unit, subscriber station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, user equipment, etc. Alternatively, the terminal device may be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, Wireless Local Loop (WLL) station, Personal Digital Assistant (PDA), handheld device with wireless communication capabilities, computing device, another processing device connected to a wireless modem, in-vehicle device, wearable device, terminal device in a 5G network, terminal device in a future advanced Public Land Mobile Network (PLMN), etc. Alternatively, the terminal device may be a handheld device (e.g., a mobile phone), a wearable device, an in-vehicle device, or a wireless device (e.g., a communication module, modem, or chip system) built into the above devices.The terminal device is configured to connect to people, things, machines, etc., and may be widely used in a variety of scenarios, including, but not limited to, cellular communication, device-to-device (D2D) communication, vehicle-to-everything (V2X), machine-to-machine / machine-type communication (M2M / MTC), Internet of Things (IoT), virtual reality (VR), augmented reality (AR), industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transport, smart city, unmanned aerial vehicles, robots, etc. This is not limited to the embodiments of this application.

[0088] The network device in the embodiments of this application may be a device configured to communicate with a terminal device. The network device may be a Base Transceiver Station (BTS) in a Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), a Node B (NB) in a wideband code division multiple access (WCDMA®) system, an Evolutionary Node B (eNB or eNodeB) in an LTE system, or a radio controller in a Cloud Radio Access Network (CRAN) scenario. Alternatively, the network device may be a relay station, an access point, an in-vehicle device, a wearable device, a network device in a 5G network, a network device in a future evolved PLMN network, etc. For example, the network device may include an access network device and / or a core network device. The access network device is a device having wireless transceiver functionality and is configured to communicate with a terminal device. Access network devices include, but are not limited to, base stations (BTS, NodeB, eNodeB / eNB, or gNodeB / gNB) in the above-mentioned communication systems, transmission reception points (TRPs), base stations that continue to evolve from 3GPP®, and access nodes, wireless relay nodes, wireless backhaul nodes, etc., in Wi-Fi systems. Base stations may be macro base stations, micro base stations, picocell base stations, small cells, relay stations, etc. Multiple base stations may support a network of the same access technology as described above, or support a network of different access technologies as described above.A base station may include one or more jointly or non-jointly installed transmit / receive points. Network devices may, alternatively, be radio controllers, central units (CUs), and / or distributed units (DUs) in a cloud radio access network (CRAN) scenario. Network devices may, alternatively, be servers, wearable devices, in-vehicle devices, etc. For example, a network device in V2X technology may be a roadside unit (RSU). This is not particularly limited in this application.

[0089] In embodiments of this application, a terminal device or network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system may be any one or more computer operating systems that perform service processing through processes, such as a Linux® operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, word processing software, and instant messaging software. In addition, the specific structure of the implementer of the method provided in embodiments of this application is not particularly limited in embodiments of this application, provided that a program that records the code of the method provided in embodiments of this application is executable for performing communication by the method provided in embodiments of this application. For example, the implementer of the method provided in embodiments of this application may be a terminal device or network device, or a functional module, chip, or circuit that can call and execute a program in the terminal device or network device.

[0090] The technical solutions of this application will be described in further detail below with reference to the accompanying drawings of this specification.

[0091] Figure 1 is a diagram of a communication system to which one embodiment of the present application may be applied. As shown in Figure 1, terminal device 130 may access a wireless network to obtain services from an external network (e.g., the Internet) by using the wireless network, or to communicate with another device by using the wireless network, for example, to communicate with another terminal device. The wireless network includes a radio access network (RAN) device 110 and / or a core network (CN) device 120. The RAN device 110 is configured to connect terminal device 130 to the wireless network, and the CN device 120 is configured to manage terminal devices and provide a gateway for communication with the external network.

[0092] It should be understood that the number of devices in the communication system shown in Figure 1 is only an example. This embodiment of the present application is not limited to these. In actual applications, the communication system may include more terminal devices 130 and more RAN devices 110, and may include other devices further.

[0093] It should be further understood that the technical solutions in the embodiments of this application are also applicable when terminal device 130 communicates with another terminal device (for example, terminal device 130').

[0094] Figure 2 is a diagram of another network architecture to which one embodiment of this application may be applied. As shown in Figure 2, the network architecture includes CN devices, RAN devices, and terminal devices. The RAN device includes baseband equipment and radio frequency equipment. The baseband equipment may be implemented by one node or by multiple nodes. The radio frequency equipment may be implemented independently by being located remotely from the baseband equipment or integrated into the baseband equipment. Alternatively, some functions of the radio frequency equipment may be integrated independently, and some functions of the radio frequency equipment may be integrated into the baseband equipment. For example, in an LTE communication system, the RAN device (eNB) includes baseband equipment and radio frequency equipment. The radio frequency equipment may be located remotely from the baseband equipment. For example, a remote radio unit (RRU) is a remote radio unit located relative to the BBU.

[0095] Communication between RAN devices and terminal devices conforms to a protocol layer structure. For example, a control plane protocol layer structure may include the functions of protocol layers such as the radio resource control (RRC) layer, packet data convergence protocol (PDCP) layer, radio link control (RLC) layer, media access control (MAC) layer, and physical layer. A user plane protocol layer structure may include the functions of protocol layers such as the PDCP layer, RLC layer, MAC layer, and physical layer. In one possible implementation, a service data adaptation protocol (SDAP) layer may be further included above the PDCP layer.

[0096] A RAN device may implement the functions of protocol layers such as the RRC layer, PDCP layer, RLC layer, and MAC layer by using one node, or by using multiple nodes. For example, in an advanced structure, a RAN device may include CUs and DUs, and multiple DUs may be centrally controlled by one CU. As shown in Figure 2, the CU and DU may be partitioned based on the protocol layers of the wireless network. For example, the functions of the PDCP layer and protocol layers above the PDCP layer may be set on the CU, and the functions of protocol layers below the PDCP layer, such as the RLC layer and MAC layer, may be set on the DU.

[0097] Such partitioning at a protocol layer is just one example. The partitioning may also be performed at another protocol layer, such as the RLC layer, resulting in the functions of the RLC layer and the protocol layers above the RLC layer being set on the CU, and the functions of the protocol layers below the RLC layer being set on the DU. Alternatively, the partitioning may be performed within a specific protocol layer. For example, some functions of the RLC layer and the functions of the protocol layers above the RLC layer may be set on the CU, and the remaining functions of the RLC layer and the functions of the protocol layers below the RLC layer may be set on the DU. In addition, partitioning may be performed in a different manner as an alternative. For example, partitioning may be performed based on delay. Functions whose processing time must meet delay requirements may be set on the DU, and functions whose processing time does not need to meet delay requirements may be set on the CU.

[0098] In addition, radio frequency equipment may be integrated independently, not located within the DU, or integrated within the DU. Alternatively, a portion of the radio frequency equipment may be remotely integrated within the DU. This is not limited to the foregoing.

[0099] Figure 3 shows yet another network architecture to which one embodiment of the present application may be applied. Compared to the network architecture shown in Figure 2, in Figure 3 the control plane (CP) and user plane (UP) of the CU may be further separated and divided into different entities for implementation. The different entities are the control plane (CP) CU entity (i.e., the CU-CP entity) and the user plane (UP) CU entity (i.e., the CU-UP entity), respectively.

[0100] In the network architecture described above, signaling generated by a CU may be sent to a terminal device using a DU, or signaling generated by a terminal device may be sent to a CU using a DU. The DU may transparently transmit the signaling to a terminal device or CU by immediately encapsulating the signaling at the protocol layer without parsing the signaling. In the following embodiments, when such transmission of signaling between the DU and a terminal device is involved, sending or receiving the signaling by the DU includes this scenario. For example, signaling at the RRC or PDCP layer may be processed last as signaling at the PHY layer to be sent to the terminal device, or converted from received signaling at the PHY layer. This architecture may also consider that signaling at the RRC or PDCP layer may be sent by the DU or by the DU and radio frequency equipment.

[0101] The network architectures shown in Figures 1, 2, or 3 are applicable to various radio access technologies (RATs), such as LTE communication systems, 5G (or new radio, NR) communication systems, and transitional systems between LTE and 5G communication systems, where the transitional system may also be called a 4.5G communication system or certainly a future communication system. The network architectures and service scenarios described in the embodiments of this application are intended to more clearly illustrate the technical solutions in the embodiments of this application and do not constitute a limitation to the technical solutions provided in the embodiments of this application. With the development of communication network architectures and the emergence of new service scenarios, those skilled in the art may find that the technical solutions provided in the embodiments of this application are also applicable to similar technical challenges. For example, the present invention is applicable to vehicle-to-everything (V2X) scenarios.

[0102] The first device may be located within a terminal device or a network device, based on the functions realized by the device in the following embodiments of this application. When the above CU-DU structure is used, the network device may be a CU node, a DU node, or a RAN device including CU nodes and DU nodes. This is not particularly limited in this application.

[0103] It should be understood that the network architectures shown in Figures 1 to 3 are merely examples of the present application and do not limit the embodiments of this application. More specifically, the embodiments of this application may be further applicable to other network architectures in which, for example, base stations and core networks are not distinguished, i.e., base stations and core networks may belong to the same network device. Network devices communicate with terminal devices, or terminal devices communicate with other terminal devices.

[0104] To better understand the embodiments of this application, the terminology used in this application is briefly explained before the embodiments are described. It should be understood that while the explanations and descriptions are intended to facilitate understanding of the embodiments of this application, they should not be construed as limitations on the scope of protection claimed in the embodiments of this application.

[0105] 1. Extended reality (XR) XR may encompass a combination of reality and virtuality, as well as various environments generated by computing technology and wearable devices, and human-computer interaction, primarily including interaction technologies between reality and virtuality such as virtual reality (VR), augmented reality (AR), and mixed reality (MR). To improve the experience of interaction between humans and the virtual world, XR services have stringent requirements for bandwidth and latency.

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

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

[0108] Optionally, in actual transmission systems, data jitter occurs due to data encoding delay and network transmission delay. For example, it may be taken into consideration that jitter follows a truncated Gaussian distribution, with the truncation range being approximately [-4ms, 4ms].

[0109] For example, in the case of an XR video service, images may be encoded using a GOP encoding scheme and / or slice encoding mode during encoding. For example, in slice encoding mode, a video frame may contain one I-slice and one or more P-slices. For example, in GOP encoding mode, a GOP may contain one I-frame, or a GOP may contain one I-frame and one or more P-frames. Optionally, a GOP may further contain B-frames. For example, an I-frame is an internally encoded frame (sometimes called an intraframe encoded frame, key frame, important frame, etc.), and the I-frame is a reference frame for P-frames and / or B-frames, and has the characteristic of independent encoding and decoding. For example, a P-frame is a forward-predictive frame (sometimes called a forward-predictive encoded frame, forward-reference frame, dependent frame, non-key frame, etc.). When a P-frame is decoded, the nearest previous I-frame or P-frame must be referenced, and the P-frame may be a reference frame for subsequent P-frames and / or B-frames. For example, a B-frame is a bi-directional interpolated prediction frame, sometimes called a dependent frame or non-keyframe. When a B-frame is decoded, the nearest previous I-frame or P-frame and the nearest subsequent P-frame must be referenced. For example, an I-frame is a complete picture, and a P-frame records changes relative to the I-frame. If there is no I-frame, the P-frame cannot be decoded. Therefore, the transmission priority of I-frames must be higher than that of P-frames. If an I-frame fails to be transmitted during transmission (for example, if it fails to be transmitted when the delay requirement for the I-frame is met), the receiver will still be unable to perform accurate decoding, even if subsequent video frames dependent on the I-frame (e.g., P-frames) are successfully transmitted. Figure 4 shows the structure of a GOP according to one embodiment of this application.As shown in Figure 4, one GOP sequence (for example, one GOP#1 or one GOP#2) contains one I-frame and multiple P-frames.

[0110] For example, a data burst, sometimes called a data burst, is a set of PDUs generated and sent by an application in a short period of time.

[0111] For example, a PDU set may contain one or more PDUs, and the PDU set is carried on a valid payload of an information unit generated at the application level (for example, a frame or video slice for XRM Services, as used in TR 26.926

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

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

[0113] Optionally, each data burst contains at least one PDU set.

[0114] For example, data burst 1 may be associated with one or more data bursts, and one or more data bursts must be dependent on data burst 1. If data burst 1 is discarded, one or more data bursts may not be decryptable. For example, PDU set 1 may be associated with one or more PDU sets, and one or more PDU sets must be dependent on PDU set 1. If PDU set 1 is discarded, one or more PDU sets may not be decryptable.

[0115] 2. New Radio (NR) Protocol Architecture The NR protocol architecture in the embodiments of this application may be divided into a user plane protocol stack and a control plane protocol stack. The two protocol stacks described above will be explained in detail below with reference to Figure 5. Figure 5 is illustrated by using the interaction between a terminal device and a base station as an example, where (a) in Figure 5 shows the user plane protocol stack and (b) in Figure 5 shows the control plane protocol stack.

[0116] The user plane protocol stack is a protocol cluster used for transmitting user data. As shown in Figure 5(a), the user plane protocol stack may include five layers: the PHY layer, MAC layer, RLC layer, PDCP layer, and SDAP layer.

[0117] The architecture of the control plane protocol stack is a protocol cluster used for transmitting control signaling to the system. As shown in Figure 5(b), the control plane protocol stack may include a non-access stratum (NAS), an RRC layer, a PDCP layer, an RLC layer, a MAC layer, and a PHY layer.

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

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

[0120] Optionally, in embodiments of this application, each layer in the protocol stack may be replaced with an entity. For example, the PDCP layer may be replaced with a PDCP entity, and the SDAP layer may be replaced with an SDAP entity. An integrated explanation is provided herein, and further details are not described below.

[0121] 3. PDU and SDU (Service Data Unit) In each protocol layer (for example, one or more of the SDAP, RRC, PDCP, RLC, and MAC layers), the SDU in the Nth layer corresponds to the PDU in the higher layer. In other words, the PDU in the current layer is the SDU in the lower layer, and the SDU in the current layer is the PDU in the higher layer.

[0122] Referring to Figure 6, the relationship between the PDU and SDU will be explained in detail below, using the interaction between a terminal device and a base station as an example.

[0123] Figure 6 is a diagram illustrating the relationship between PDUs and SDUs in each protocol layer according to one embodiment of the present application. As shown in Figure 6, after the RRC layer generates a signaling to be transmitted (e.g., an RRC message or RRC PDU) to the transmitting end, or after the SDAP layer obtains data to be transmitted, the RRC layer may deliver the signaling to be transmitted to the corresponding PDCP layer, or the SDAP layer may deliver the data to be transmitted to the corresponding PDCP layer. For ease of explanation, signaling is exchanged with data hereafter. For data received from the RRC or SDAP layer (e.g., a PDCP SDU), the PDCP layer may or may not perform specific processing to obtain a PDCP PDU, and then deliver the PDCP PDU to the RLC layer corresponding to the PDCP layer. For data received from the PDCP layer (e.g., an RLC SDU), the RLC layer may or may not perform specific processing to obtain an RLC PDU, and then deliver the RLC PDU to the corresponding MAC layer. For data received from the RLC layer (e.g., MAC SDU), the MAC layer may or may not perform specific processing to obtain the MAC PDU, and then deliver the MAC PDU to the PHY layer. The PHY layer may or may not perform specific processing, and the PHY layer performs an air interface transmission.

[0124] Correspondingly, after receiving data (e.g., a transport block, TB) from the receiving end, the PHY layer delivers that data to the MAC layer. For data received from the PHY (e.g., a TB or MAC PDU), the MAC layer may or may not perform specific processing to obtain a MAC SDU, and then deliver the MAC SDU to the corresponding RLC layer. For data received from the MAC layer (e.g., an RLC PDU), the RLC layer may or may not perform specific processing to obtain an RLC SDU, and then deliver the RLC SDU to the corresponding PDCP layer. For data received from the RLC layer (e.g., a PDCP PDU), the PDCP layer may or may not perform specific processing to obtain a PDCP SDU, and then deliver the PDCP SDU to the RRC layer or SDAP layer. For data received from the PDCP layer (e.g., an RRC message or RRC PDU), sometimes called signaling, the RRC layer performs RRC decoding or ASN.1 decoding to determine the meaning of the received data. Alternatively, with respect to data received from the PDCP layer (e.g., an SDAP PDU), the SDAP layer may or may not perform specific processing to obtain an SDAP SDU, and then deliver the SDAP PDU to a higher layer (e.g., an application layer).

[0125] To send and receive data (or signaling), the data may be encapsulated / processed at each corresponding layer, or transmitted transparently. For example, to a sender, data received by a layer from a higher layer is called an SDU, and data delivered by that layer to a lower layer is called a PDU. For that layer, the data received from the higher layer and the data delivered to the lower layer may be the same or different (for example, in transparent transmission) (for example, the data received from the higher layer is encapsulated / processed at that layer to obtain the data delivered to the lower layer). For example, data received from a higher layer by a PDCP layer is called a PDCP SDU, and data sent to a lower layer by a PDCP layer is called a PDCP PDU, data received from a higher layer by an RLC layer is called an RLC SDU, and data sent to a lower layer by an RLC layer is called an RLC PDU, data received from a higher layer by a MAC layer is called a MAC SDU, and data sent to a lower layer by a MAC layer is called a MAC PDU or TB. For example, at a receiving end, data received by a layer from a lower layer is called a PDU, and data delivered by that layer to a higher layer is called an SDU. For that layer, the data received from the lower layer and the data delivered to the higher layer may be the same or different (for example, in transparent transmission) (for example, the data received from the lower layer is processed at that layer to obtain the data to be delivered to the higher layer).For example, data received from lower layers by the PDCP layer is called a PDCP PDU, data sent to higher layers by the PDCP layer is called a PDCP SDU, data received from lower layers by the RLC layer is called an RLC PDU, data sent to higher layers by the RLC layer is called an RLC SDU, data received from lower layers by the MAC layer is called a MAC PDU or TB, and data sent to higher layers by the MAC layer is called a MAC SDU.

[0126] In this embodiment of the present application, the upper and lower layers are relative concepts. For example, an RLC layer is used as an example. With respect to the RRC layer, the RLC layer may be a lower layer of the RRC layer, but with respect to the MAC layer, the RLC layer may be an upper layer of the MAC layer. In another example, the lower layers of the PDCP layer may include one or more of the following: namely, the PHY layer, the MAC layer, and the RLC layer. In another example, the upper layers of the PDCP layer may include one or more of the following: namely, the RRC layer, the SDAP layer, and the application layer.

[0127] Figure 7 shows a PDCP PDU according to one embodiment of the present application. Figure 7(a) shows the PDCP data PDU format for a signaling radio bearer (SRB), Figure 7(b) shows the PDCP data PDU format for a 12-bit PDCP SN, and Figure 7(c) shows the PDCP data PDU format for a data radio bearer (DRB) having an 18-bit PDCP SN.

[0128] At the transmitting end, the PDCP layer may or may not perform certain processing (e.g., one or more of the following) to obtain the PDCP PDU from the SDAP or RRC layer (e.g., PDCP SDU).

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

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

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

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

[0133] For example, a data field may contain one or more of the following: PDCP service data units (SDUs), compressed PDCP SDUs, and uncompressed PDCP SDUs. For example, data may be represented by Data. For example, a data field may be represented by a Data field. Note that the data in a data field may or may not be encrypted. For example, one or more of the PDCP SDUs, compressed PDCP SDUs, and uncompressed PDCP SDUs may contain user plane data and / or control plane data. For example, the number of bits in a data field (i.e., the number of bits occupied) may be variable. For example, the number of bits in a data field (i.e., the number of bits occupied) may be X bytes or 8*Y bits, where X and / or Y may be one or more positive integers.

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

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

[0136] 4. PDCP operation COUNT may be used for one or more of the following functions: integrity protection and integrity checking, encryption and decryption, header compression and decompression, sequential delivery, and duplicate discarding. For example, after encrypting a data packet using COUNT, the transmitting end sends the encrypted data packet to the receiving end, which then needs to decrypt the data packet based on the COUNT. Generally, it should be understood that one PDCP PDU is associated with one COUNT. For example, COUNT is 32 bits. As shown in Figure 8, COUNT may consist of two parts: a hyperframe number (HFN) with high significance bits, and a PDCP sequence number (SN) with low significance bits. The number of bits in the PDCP SN is determined by a higher layer (e.g., the RRC layer) or network device, and the number of bits in the HFN varies along with the number of bits in the PDCP SN. For example, the number of bits in the PDCP SN may be 12 or 18. Correspondingly, the number of bits in HFN may be 32 - PDCP SN size, where PDCP SN size is the number of bits in PDCP SN. For example, if the PDCP SN size is 12 bits, the number of bits in HFN is 32 - 12, i.e., 20.

[0137] To avoid air interface overhead, the PDCP PDU does not include the complete COUNT, but only the least significant bit of the COUNT (i.e., SN).

[0138] For example, RCVD_HFN is the HFN of the received PDCP data PDU, calculated by the receiving PDCP entity.

[0139] For example, RCVD_SN is the PDCP SN of the received PDCP data PDU and is carried within the PDU header.

[0140] For example, RCVD_COUNT is the count value of the received PDCP data PDU, i.e., COUNT=[RCVD_HFN, RCVD_SN].

[0141] For example, the sorting window may include / may be replaced with a receive window, a PDCP window, or a PDCP receive window.

[0142] For example, RX_DELIV is a state variable that indicates the COUNT value of the first PDCP SDU that has not been delivered to the upper layer but is still waiting to be delivered. For example, the initial value of RX_DELIV may be 0. For example, RX_DELIV may also be understood as the lower bound of the sort window.

[0143] For example, RX_NEXT indicates the COUNT value of the next PDCP SDU that is expected to be received. For example, the initial value of RX_NEXT is 0.

[0144] For example, RX_REORD indicates a COUNT value greater than the COUNT value associated with the PDCP data PDU that triggers t-Reordering.

[0145] For example, t-Reordering may be configured to detect the loss of PDCP data PDUs. For example, if t-Reordering is already running, another t-Reordering should not be started. It may be understood that a single receiving PDCP entity cannot start multiple t-Reorderings simultaneously, or that within a given time period, a single receiving PDCP entity will only run one t-Reordering. Optionally, the duration of t-Reordering may be configured by the RRC layer or network device.

[0146] 4.1. Actions performed after a PDCP data PDU is received After receiving PDCP data PDUs, the receiving end (e.g., the receiving PDCP entity) needs to calculate the HFN to obtain the COUNT. For example, the methods used by the receiving end to calculate the HFN may include one or more of the following:

[0147] [Table 1]

[0148] For example, the sort window size is 2 (X-1) Equal to X, where X represents the number of bits corresponding to SN. For example, RX_DELIV indicates the COUNT of the first PDCP SDUs that are not delivered to the upper layer but are still waiting to be delivered. For example, the initial value of RX_DELIV is 0. In addition, "≧" represents "greater than or equal to".

[0149] The receiving end (for example, the receiving PDCP entity) determines the COUNT of the PDCP data PDU based on the calculated PDCP HFN and PDCP SN of the PDCP data PDU, where COUNT is sometimes referred to as RCVD_COUNT.

[0150] For example, after determining the COUNT of PDCP data PDUs, the receiving end (e.g., the receiving PDCP entity) may perform one or both of the following:

[0151] [Table 2]

[0152] If an received PDCP data PDU with COUNT value = RCVD_COUNT is not discarded based on the above decision, the receiving end (e.g., the receiving PDCP entity) may perform one or more of the following actions:

[0153] [Table 3]

[0154] For example, in order to explain operations (1) to (5) above, it can be seen that in operation (1), the receiving end storing the received PDCP PDU in a buffer has an effect on the sequential delivery and / or updating of RX_DELIV in operation (3).

[0155] 4.2. Actions when t-Reordering expires When t-Reordering is complete, the receiving end (for example, the receiving PDCP entity) may perform one or more of the following actions:

[0156] [Table 4]

[0157] For example, after receiving a PDCP PDU, the receiving end first determines the COUNT of the PDCP PDU and, based on that COUNT, decides whether to discard the PDCP PDU. If the receiving end decides not to discard the PDCP PDU, it then performs a further sorting process based on the relationship between the COUNT of the PDCP PDU and state variables (e.g., RX_NEXT and / or RX_DELIV). The sorting process may include updating the state variables and / or delivering data.

[0158] For information related to PDCP, please refer to 3GPP® TS38.323: "NR; Packet Data Convergence Protocol (PDCP) protocol specification". Further details are not provided herein.

[0159] From the perspective of the transmitting end, it may, in some cases, discard some (or specific) data. For example, if some data is not transmitted completely, or is not transmitted after the data delay requirements have been met, the transmitting end may discard the data; in other words, the transmitting end will not continue sending the data. In another example, in the case of network congestion, the transmitting end may discard some data. In this case, according to the techniques described above, the discarded data may cause the receiving end's PDCP window (or RX_DELIV) to remain immobile for a certain period of time, and the PDCP window will not move until t-Reordering has expired. This can increase the delay in delivering data from the PDCP layer to higher layers.

[0160] For example, one or more of the following may be taken into consideration for delay requirements: packet delay budget (PDB), PDU set delay budget (PSDB), and timers related to data discard.

[0161] For example, in the following scenario, when the transmitting end discards data, the receiving end may need to continue waiting for the data prior to the discarded data.

[0162] Scenario 1: In the event of network congestion, the sender may discard data #1 (e.g., unimportant data) but not the data preceding data #1 (e.g., data #2, e.g., important data), and the delay requirement for the data preceding data #1 may not be exceeded / met. The receiver must continue to receive (or wait for) the data preceding data #1.

[0163] For example, in the case of communication between a network device and a terminal device, network congestion may be indicated to the terminal device by the network device, determined by the terminal device / network device through detection, or reported to the network device by the terminal device. This is not limited in this application. For example, in the case of communication between terminal devices, network congestion may be indicated to the terminal device by the terminal device, determined by the terminal device through detection, indicated to the terminal device by the network device, or reported to the network device by the terminal device. This is not particularly limited in this application.

[0164] Scenario 2: When the delay requirements of a data packet are exceeded / met, assuming that different data packets correspond to different discard timers and the delay requirement for data #1 is exceeded, the sender discards data #1. The delay requirements for the data preceding data #1 (e.g., data #2) are not exceeded, and the data is not discarded. The receiver must continue to receive (or wait for) the data preceding data #1.

[0165] For scenarios 1 and 2 described above, the transmitting end may decide that data should be discarded, and the receiving end may need to continue receiving (or waiting for) the data prior to the discarded data. The communication method provided in embodiments of this application will be described in detail below with reference to the accompanying drawings. In embodiments of this application, an example is used in which the first device is the receiving end to illustrate the method in embodiments of this application.

[0166] Figure 9 is a schematic flowchart of a communication method according to one embodiment of this application. As shown in Figure 9, the following steps are included.

[0167] 901: The first device receives information about the discarded data.

[0168] In one possible implementation, the first device may receive information about discarded data from the transmitting end, and this information about discarded data may be sent to the first device using a PDCP control PDU.

[0169] 902: The first device updates RX_DELIV to the first value.

[0170] The first value may be equal to the maximum COUNT+1 of discarded data, or it may be greater than the maximum COUNT+1 of discarded data.

[0171] In one example, it is assumed that the discard data includes data #1, data #2, and data #3, with the COUNT of data #1 being 3, the COUNT of data #2 being 4, and the COUNT of data #3 being 5. The maximum COUNT of the discard data is 5, and therefore the first device updates RX_DELIV to 5+1, i.e., updates RX_DELIV to 6.

[0172] In another example, assuming that the discard data contains only data #1 and the COUNT of data #1 is 9, the first device updates RX_DELIV to 9+1, i.e., updates RX_DELIV to 10.

[0173] It should be understood that the first device updates RX_DELIV to the first value. Even if the first device subsequently receives data whose count value is smaller than the first value, it will still discard the data because the COUNT of the received data is smaller than RX_DELIV.

[0174] In one example, it is assumed that the first device updates RX_DELIV to 8 based on information about discarded data. Before receiving information about discarded data, the first device does not receive any data whose COUNT is equal to 4. Later, the first device receives data whose COUNT is equal to 4, and the first device discards that data as well.

[0175] In another example, as shown in Figure 10, the first device is the receiving end (RX) and the second device is the transmitting end (TX), where RX_DELIV of the first device corresponds to the COUNT of data #2 (e.g., 2) and RX_NEXT corresponds to the COUNT of data #4 (e.g., 4). The first device receives information about discarded data sent by the second device, where this information includes data #4 and data #5. According to the method shown in Figure 9, the first device immediately updates RX_DELIV to the COUNT of data #6 (e.g., 6). Subsequently, if the first device receives data #2, it also discards data #2.

[0176] According to the method shown in Figure 9, after receiving information about discarded data, the first device immediately updates RX_DELIV to a value greater than or equal to (maximum COUNT in the discarded data + 1). For data where the count value is smaller than the minimum COUNT in the discarded data, even if the first device subsequently receives the corresponding data, the first device still discards that corresponding data, causing the issue of data packet loss.

[0177] In response to the technical challenges shown in Figure 9, one embodiment of the present application provides a communication method to solve the problem of data packet loss caused by updating state variables by the first device in a scenario in which the first device receives information about discarded data.

[0178] Figure 11 is a schematic block flowchart of another communication method according to one embodiment of this application.

[0179] 1101: The first device determines the first piece of information.

[0180] For example, in this application, “deciding” may include / be replaced with “obtaining” or “receiving.”

[0181] Optionally, the first piece of information may include information about the count value of the first piece of data.

[0182] For example, the first data includes / is discarded data, i.e., data discarded by the second device.

[0183] For example, the first device is the receiving end and the second device is the transmitting end. For example, the first device may be a terminal device and the second device may be a network device. Alternatively, for example, the first device may be a network device and the second device may be a terminal device. Alternatively, for example, the first device may be a terminal device and the second device may be a terminal device.

[0184] For example, the second device may discard the first data due to network congestion, or because the delay requirements for the first data are exceeded / met, or for any other reason. This is not particularly limited in this application.

[0185] For example, in this application, data may include / may be exchanged with a PDCP PDU, a PDCP data PDU, or a PDCP SDU.

[0186] For example, the count value of the first data may be referred to as the first count value, the first COUNT, or by another name. This is not particularly limited in this application.

[0187] For example, the first data is related to the first PDCP entity and / or the first RB.

[0188] Optionally, prior to step 1101, this application further includes 1100: the first device acquires second information.

[0189] For example, in this application, "to obtain" may include / be replaced with "to receive".

[0190] For example, the acquisition of second information by the first device may include one or more of the following: the PDCP layer of the first device acquires second information, or the PDCP layer of the first device receives / acquires second information from a lower layer (e.g., an RLC layer), or the first device acquires second information from the second device, and in response, the second device sends second information to the first device.

[0191] Optionally, the second piece of information may include information about the signal-to-noise ratio (SN) of the first data or information about the first count value.

[0192] For example, in this application, SN may include / be replaced with PDCP SN. For example, SN of the first data may include / be replaced with PDCP SN of the first data.

[0193] Optionally, the determination of first information by the first device may include the first device determining a first count value based on one or more of the following: the signal-to-noise ratio (SN) of the first data, a first state variable (or the SN of the first state variable), and a first parameter.

[0194] For example, the SN of the first state variable may include / may be replaced with the SN portion of the first state variable.

[0195] Optionally, the first state variable indicates the count value of the first data awaiting delivery, or the first data awaiting delivery but not delivered, or the first data awaiting reception, or the first data awaiting reception but not received, or the first data awaiting delivery but not received. For example, the first state variable may include RX_DELIV. For example, the first state variable is RX_DELIV. For example, RX_DELIV may indicate the COUNT of the first PDCP PDU awaiting delivery but not delivered to the upper layer. For example, RX_DELIV may be understood as the lower bound of the sorting window. For example, the sorting window may include / be interchangeable with the receive window, the PDCP window, or the PDCP receive window.

[0196] Optionally, the first parameter is the sort window size (i.e., 2 (X-1) ) may be such. For example, X represents the number of bits in SN.

[0197] For example, the upper layers may include an SDAP layer or an RRC layer.

[0198] For example, one or more of the first state variable, the first parameter, and X are associated with the first PDCP entity and / or the first RB.

[0199] For example, the first device determines the HFN of the first data based on one or more of the following:

[0200] (1) If SN of the first data < (SN of the first state variable - the first parameter), then HFN of the first data = HFN of the first state variable + 1.

[0201] (2) If the SN of the first data is ≥ (SN of the first state variable + the first parameter), or if the SN of the first data is ≥ (SN of the first state variable - the first parameter) and the SN of the first data is ≥ (SN of the first state variable + the first parameter), then the HFN of the first data is HFN-1 of the first state variable.

[0202] (3) If the SN of the first data ≥ (SN of the first state variable - the first parameter) and / or the SN of the first data < (SN of the first state variable + the first parameter), then the HFN of the first data = the HFN of the first state variable.

[0203] For example, the first device obtains a first count value based on the SN and HFN of the first data.

[0204] For example, if the first device acquires a first count value, the first device may immediately determine the first information.

[0205] Optionally, the first piece of information may include information about the count value of at least one data point.

[0206] For example, the count value of at least one data may include / be replaced with the following: the start count value of at least one data, the end count value of at least one data, and one or more count values ​​of one or more data contained within at least one data.

[0207] For example, at least one data set may include / be exchanged with a first dataset. For example, at least one data set includes / is discard data, i.e., data discarded by a second device. For example, each of at least one data set is discard data.

[0208] For example, at least one data may include the first data. Optionally, the first data may be any one of the at least one data. For example, the first data may be the data with the smallest count value among the at least one data, or the first data may be the data with the largest count value among the at least one data, or the first data may be the data with an intermediate count value among the at least one data. This is not particularly limited in this application.

[0209] Optionally, the count values ​​of all data points within at least one data point may or may not be consecutive. This is not limited to this.

[0210] For example, at least one data point is related to the first PDCP entity and / or the first RB.

[0211] Optionally, the second information may include one or more of the following information from at least one data: start SN, end SN, start count value, end count value, first quantity, one or more SNs of one or more included data, and one or more count values ​​of one or more included data.

[0212] Optionally, the starting SN of at least one data set may be the SN of the data set having the smallest count value among at least one data set, or the SN of the data set having the smallest SN among at least one data set. Note that the starting SN of at least one data set is not necessarily the SN of the data set having the smallest SN among at least one data set, nor is the starting SN of at least one data set necessarily less than or equal to each of the SNs of at least one data set.

[0213] Optionally, the ending SN of at least one data set may be the SN of the data set with the highest count value among at least one data set, or the SN of the data set with the highest SN among at least one data set. Note that the ending SN of at least one data set is not necessarily the SN of the data set with the highest SN among at least one data set, nor is the ending SN of at least one data set necessarily greater than or equal to the SN of each of the at least one data set.

[0214] Optionally, the starting count value of at least one data point may be the count value of the data point that has the minimum count value among at least one data point.

[0215] Optionally, the end count value of at least one data point may be the count value of the data point with the highest count value among at least one data point.

[0216] For example, "one or more included data" may be replaced with / may include a portion or all of the included data.

[0217] For example, the first quantity is the quantity of data in at least one data point.

[0218] In one example, at least one data set includes data #1, data #2, and data #3. The first quantity of at least one data set is 3. Assuming that the number of bits in SN is equal to 12, the count value of data #1 is 4095, and the HFN and SN of data #1 are 0 and 4095, respectively, the count value of data #2 is 4096, and the HFN and SN of data #1 are 1 and 0, respectively, the count value of data #3 is 4097, and the HFN and SN of data #3 are 1 and 1, respectively, then the starting count value of at least one data set is 4095, the ending count value is 4097, and the starting SN of at least one data set is 1, and the ending SN is 0.

[0219] In one example, at least one data set includes data #1, data #2, and data #3. The first quantity of at least one data set is 3. Assuming the count values ​​of data #1, data #2, and data #3 are 6, 8, and 9, respectively, the starting count value of at least one data set is 6 and the ending count value is 9. For example, assuming the SNs of data #1, data #2, and data #3 are 1, 2, and 3, respectively, the starting SN of at least one data set is 1 and the ending SN is 3.

[0220] In one possible implementation, after the first device acquires the second information, the first device may determine the count value of at least one piece of data.

[0221] Optionally, the determination of first information by the first device may include the first device determining the starting count value of at least one data based on one or more of the following: the starting signal number (SN) of at least one data, a first state variable (or the SN of the first state variable), and a first parameter.

[0222] Optionally, the determination of first information by the first device may include the first device determining the end count value of at least one data based on one or more of the end signal number (SN) of at least one data, a first state variable (or the SN of the first state variable), and a first parameter.

[0223] Optionally, the determination of first information by the first device may include the first device determining one or more count values ​​of one or more data contained in at least one set of data based on one or more SNs of one or more data contained in at least one set of data, a first state variable (or the SN of the first state variable), and a first parameter.

[0224] In another example, assuming that the first device obtains the starting SN and first quantity of at least one data, the first device may determine the starting count value of at least one data based on one or more of the starting SN, a first state variable (or the SN of the first state variable), and a first parameter, and may determine one or more count values ​​(e.g., one or more ending count values) of any one or more data (or other parts or all of the data) within the at least one data based on the starting count value and the first quantity.

[0225] For example, at least one data set includes data #1, data #2, and data #3. The first quantity of at least one data set is 3. It is assumed that a first device obtains the starting SN (e.g., 4095) and a first quantity (e.g., 3) of at least one data set. It is assumed that the first device determines that the starting count value of at least one data set is 4095 based on one or more of the starting SN (e.g., 4095), a first state variable (or the SN of the first state variable), and a first parameter. The first device then determines that the count values ​​of the other data (e.g., two other data sets) are 4096 (e.g., 4095+1) and 4097 (e.g., 4095+2 or 4096+1), respectively, based on the starting count value (e.g., 4095) and a first quantity (e.g., 3) of at least one data set.

[0226] 1102: The first device updates a state variable based on a first count value, the count value of at least one data, or the count value of one or more data from at least one set of data.

[0227] For example, after determining the first information, the first device updates the state variable based on the first count value, the count value of at least one data, or the count value of one or more data within at least one data, which are included in the first information.

[0228] For example, updating a state variable may include / may be replaced by sorting or a sorting process, or updating the PDCP window.

[0229] Optionally, this application further includes 1103: the first device being deemed to have received first data or at least one data by the first device.

[0230] Optionally, the phrase "deemed to be received by the first device" may include / be replaced with "deemed to be received by the first device and stored in the buffer by the first device."

[0231] For example, step 1103 may be performed before or after step 1102, or simultaneously with step 1102. This is not limited to the present application.

[0232] In one possible implementation, the first device determines first information, the first device assumes that first data or at least one piece of data has been received by the first device, and updates a state variable based on the first count value, the count value of at least one piece of data, or the count value of one or more pieces of data within at least one piece of data.

[0233] Optionally, if the first condition is met, the first device performs step 1103.

[0234] Optionally, if the first condition is met, the first device performs step 1102.

[0235] For example, the first condition may include that the first state variable is less than or equal to the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data).

[0236] For example, any count value of at least one data may include / be replaced with a count value of at least one data (e.g., one or any one of them), or a count value of one of the at least one data (e.g., one or any one of them).

[0237] In one example, it is assumed that the first state variable is 3 and the count value of data #1 is 6. The first device determines that the first information includes the count value of data #1, where data #1 is discarded data. The first state variable is less than the count value of data #1, i.e., 3 < 6, and the first device considers that data #1 has been received by the first device. The first device updates the state variable based on the count value of data #1.

[0238] In one example, it is assumed that the first state variable is 3 and the count value of data #1 is 6. The first device determines that the first information includes the count value of data #1, where data #1 is discard data. The first state variable is less than the count value of data #1, i.e., 3 < 6, and the first device updates the state variable based on the count value of data #1.

[0239] Optionally, the first device updating a state variable based on a first count value, the count value of at least one data, or the count value of one or more data from at least one set of data may include / be replaced with one or more of operations A, B, C, D, and E.

[0240] Action A: If the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) is greater than or equal to the second state variable, the first device updates the second state variable to the sum of the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) and 1. Alternatively, if the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) is greater than or equal to the second state variable, the first device updates the second state variable to the sum of the first count value (or the start count value of at least one data) and the first quantity.

[0241] Optionally, a second state variable indicates the count value of the next data expected to be received. For example, the second state variable may include RX_NEXT. For example, the second state variable is RX_NEXT. For example, RX_NEXT may indicate the COUNT of the next PDCP PDU expected to be received. For example, RX_NEXT may be understood as the count value of the data that has been received / is expected to be received and has a maximum count value + 1.

[0242] For example, assuming that the first count value is 6, the second state variable is 3, and the first count value is greater than the second state variable, the first device updates the second state variable to 6+1, that is, the second state variable is updated to 7.

[0243] In one possible implementation, the first information includes the count value of at least one data. If the count value of at least one data is greater than or equal to the second state variable, or if the starting count value of at least one data is greater than or equal to the second state variable, the first device may update the second state variable based on the count value of each of the at least one data. For example, if the first quantity is 3, the first device may update the second state variable three times.

[0244] For example, suppose the second state variable is RX_NEXT and RX_NEXT is 2. The first information determined by the first device includes the count value of at least one data. The at least one data includes data #1, data #2, and data #3. The COUNT of data #1 is 3, the COUNT of data #2 is 4, and the COUNT of data #3 is 5. The first device updates the second state variable based on the COUNT of each data. When the COUNT of data #1 is 3, where 3 > 2, RX_NEXT is updated to the COUNT of data #1 + 1, i.e., RX_NEXT is updated to 4. When the COUNT of data #2 is 4, where 4 = 4, RX_NEXT is updated to the COUNT of data #2 + 1, i.e., RX_NEXT is updated to 5. When the COUNT of data #3 is 5, where 5 = 5, RX_NEXT is updated to the COUNT of data #3 + 1, i.e., RX_NEXT is updated to 6.

[0245] In another possible implementation, the first information includes the count value of at least one data. If the count value of at least one data is greater than or equal to the second state variable, or if the start count value of at least one data is greater than or equal to the second state variable, or if the end count value of at least one data is greater than or equal to the second state variable, the first device may update the second state variable based on the start or end count value of at least one data. For example, if the first quantity is 3, the first device may update the second state variable once.

[0246] For example, suppose the second state variable is RX_NEXT and RX_NEXT is 2. The first information determined by the first device includes the count value of at least one data. The at least one data includes data #1, data #2, and data #3. The first quantity is 3. The COUNT of data #1 is 3, the COUNT of data #2 is 4, and the COUNT of data #3 is 5. The first device updates the second state variable based on the start count value (e.g., 3) or end count value (e.g., 5) of at least one data. For example, if the start count value of at least one data is 3, where 3 > 2, then RX_NEXT is updated to the start count value of at least one data (COUNT of data #1) + 3, or RX_NEXT is updated to the end count value of at least one data (COUNT of data #3) + 1, i.e., RX_NEXT is updated to 6. For example, if the end count value of at least one data is 5, and 5 > 2, then RX_NEXT is updated to the start count value of at least one data (COUNT of data #1) + 3, or RX_NEXT is updated to the end count value of at least one data (COUNT of data #3) + 1, i.e., RX_NEXT is updated to 6.

[0247] Optionally, the first piece of information may further include information about the first quantity.

[0248] For example, the first data is the data having the minimum count value among at least one data, and the first count value is greater than or equal to the second state variable. The first device may immediately update the second state variable based on the first count value and the first quantity without updating the second state variable based on the COUNT of each of the at least one data.

[0249] Operation B: If the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) is equal to the first state variable, the first device delivers at least one third data.

[0250] For example, the delivery may include / may be replaced with delivery to a higher layer or a higher layer of the first device.

[0251] For example, the third data may include one or more of the following: data received by the first device or the PDCP layer of the first device, data not delivered by the first device or the PDCP layer of the first device, and data present in / stored in the receiving buffer of the first device or the PDCP layer of the first device.

[0252] For example, the count value corresponding to the third data point is greater than or equal to the first state variable.

[0253] For example, at least one of the third data count values ​​may be consecutive.

[0254] For example, at least one of the third data sets does not have to include discarded data or data that is considered to have been received by the first device.

[0255] For example, excluding discarded data (or data that is considered to have been received by the first device), the count values ​​of at least one third data set may be consecutive.

[0256] For example, at least one third data is one of the following: data that has been received but not delivered and whose count value is greater than or equal to the first state variable; data that exists / is stored in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is greater than or equal to the first state variable; data whose count value is greater than or equal to the first state variable and is continuously received (or is considered to be received) / continuously stored (or is considered to be stored); data that is continuously received (or is considered to be received) / in the correct order and whose count value is greater than or equal to the first state variable; data that starts from the first state variable and is continuously received (or is considered to be received) / continuously stored (or is considered to be stored); discarded data (or the first It may include one or more of the following: data whose count value is greater than or equal to the first state variable and is continuously received (or considered to be received) / continuously stored (or considered to be stored), excluding data that is considered to be received by the device; data that is continuously received (or considered to be received) / stored (or considered to be stored) in the correct order and whose count value is greater than or equal to the first state variable, excluding discarded data (or data that is considered to be received by the first device); and data that is continuously received (or considered to be received) / continuously stored (or considered to be stored), starting from the first state variable, excluding discarded data (or data that is considered to be received by the first device).

[0257] Please note that "continuously received data" is not limited to cases where the first device continuously receives a sequence of data, but merely indicates that the COUNT values ​​of the received data are consecutive. Optionally, continuously received data is data with consecutive count values. This does not mean that the data is continuously received by the first device or at the PDCP layer of the first device.

[0258] In one example, suppose the first state variable is 4, and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT for data #5 is 5, the COUNT for data #6 is 6, and the COUNT for data #7 is 8. If the first count value is equal to the first state variable, the first device may send data #5 and data #6 to the upper layer.

[0259] In one example, suppose the first state variable is 4, and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT for data #5 is 5, the COUNT for data #6 is 6, and the COUNT for data #7 is 8. The COUNT for the data considered to have been received by the first device is 7. If the first count value is equal to the first state variable, the first device may deliver data #5, data #6, and data #7 to the upper layer.

[0260] In one possible implementation, after the first device has delivered at least one third piece of data, the first device may further update the first state variable to a fourth count value.

[0261] Operation E: If the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) is equal to the first state variable, the first device updates the first state variable to the fourth count value.

[0262] Optionally, the fourth count value is greater than the first state variable.

[0263] Optionally, the data corresponding to the fourth count value is not received by the first device.

[0264] Optionally, the data corresponding to the fourth count value does not include / do not include discarded data or data that is considered to have been received by the first device.

[0265] For example, the failure of the first device to receive data corresponding to the fourth count value may include / may be replaced with one or both of the following: namely, the data corresponding to the fourth count value has not been delivered to the upper layer, and the data corresponding to the fourth count value is not present in / not stored in the first device or the receiving buffer of the first device's PDCP layer.

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

[0267] Optionally, the data corresponding to the fourth count value is the first data that is not received and whose count value is greater than the first state variable. Optionally, excluding discarded data (or data considered to have been received by the first device), the data corresponding to the fourth count value is the first data that is not received and whose count value is greater than the first state variable.

[0268] For example, the first data that is not received and whose count value is greater than the first state variable may be replaced with one or both of the following: the first data that has not been delivered to a higher layer and whose count value is greater than the first state variable, and the first data that is not present / storage in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is greater than the first state variable.

[0269] For example, excluding discarded data (or data deemed to have been received by the first device), the first data that has not been received and whose count value is greater than the first state variable may include / be exchanged for one or both of the following: excluding discarded data (or data deemed to have been received by the first device), the first data that has not been delivered to a higher layer and whose count value is greater than the first state variable, and excluding discarded data (or data deemed to have been received by the first device), the first data that does not exist / is not stored in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is greater than the first state variable.

[0270] For example, the first device updates the first state variable to the COUNT of the first data (e.g., PDCP SDU) that has not been delivered to the upper layer, and the COUNT of the first data is greater than the first state variable. For example, the first device updates the first state variable to the first empty space after the first state variable. For example, the first device updates the first state variable to the first empty space after the first state variable, excluding discarded data (or data that is considered to have been received by the first device).

[0271] In one example, suppose the first state variable is 4, and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT for data #5 is 5, the COUNT for data #6 is 6, and the COUNT for data #7 is 8. If the first count value is equal to the first state variable, the first device delivers data #5 and data #6 to the upper layer. The first device determines that the COUNT for the first PDCP SDU that is not delivered to the upper layer is 7, and the first device updates the first state variable RX_DELIV from 4 to 7.

[0272] In one example, it is assumed that the first state variable is 4 and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT of data #5 is 5, the COUNT of data #6 is 6, and the COUNT of data #7 is 8. The COUNT of the data regarded as being received by the first device is 7. When the first count value is equal to the first state variable, the first device delivers data #5, data #6, and data #7 to the upper layer. The first device updates the first state variable RX_DELIV from 4 to 9.

[0273] In one example, it is assumed that the first state variable is 4 and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT of data #5 is 5, the COUNT of data #6 is 6, and the COUNT of data #7 is 7. The COUNT of the data regarded as being received by the first device is 8. When the first count value is equal to the first state variable, the first device delivers data #5, data #6, and data #7 to the upper layer. The first device updates the first state variable RX_DELIV from 4 to 9.

[0274] Operation C: When the reordering timer is operating and the first state variable is greater than or equal to the third state variable, the first device stops the reordering timer.

[0275] For example, "when the reordering timer is operating" may include / is exchangeable with "if the reordering timer is operating".

[0276] For example, stopping may include stopping and resetting.

[0277] For example, the reordering timer is configured to detect data loss. For example, the reordering timer may be t-Reordering.

[0278] For example, the third state variable represents the sum of the data count value that triggers the sort timer and 1. For example, the third state variable may contain RX_REORD. For example, the third state variable is RX_REORD.

[0279] For example, if we assume that the first state variable is 4 and the third state variable is 2, this indicates that the first device has received or does not need to receive data whose count value is smaller than that of the first state variable. The first device stops the sorting timer.

[0280] In one possible implementation, the first device determines that the first state variable is greater than or equal to the third state variable, and the first device stops and resets the sorting timer.

[0281] In one example, it is assumed that the first state variable is 4, the third state variable is 2, and the first state variable is greater than the third state variable. The first device stops the sorting timer.

[0282] Action D: When the sort timer is not running and the first state variable is less than the second state variable, the first device starts the sort timer and / or the first device updates the third state variable to the second state variable.

[0283] For example, "when the sort timer is not running" may include / may be replaced with "when the sort timer is not running".

[0284] For example, if we assume that the sorting timer is not running, and the first state variable is 4 and the second state variable is 7, then this indicates that the first device will receive data with a count value of 6, and there are cases where the first device will not receive data with a count value less than 6. In these cases, the first device will start the sorting timer.

[0285] In another example, when the first state variable is less than the second state variable, the first device starts the sorting timer. The first device may further update the third state variable RX_REORD to RX_NEXT. For example, the first device updates RX_REORD to 7.

[0286] It should be understood that the above lists possible actions that the first device may perform when it updates a state variable based on a first count value. The order of actions A, B, C, D, and E above is not limited. The first device may perform one or more of actions A, B, C, D, and E. This is not particularly limited in this application. For example, action B may be performed before action E. For example, action E may be performed before action C. For example, action C may be performed before action D. For example, action A may be performed before action D. For example, the first device updates a state variable based on a relationship between a first count value (or a start count value for at least one data, or an end count value for at least one data, or any count value for at least one data), a first state variable, a second state variable, and a third state variable.

[0287] For example, if at least one data contains three data, the first device may perform step 1102 once, or the first device may perform step 1102 three times.

[0288] According to the method shown in Figure 11, the first device determines the count value of the first data and updates the state variable based on the first count value. The first data is discarded data, and in order to effectively avoid the problem that the receiving end's PDCP window (or RX_DELIV) may not be able to move due to discarded data, reduce the delay when the PDCP layer delivers data to the upper layer, effectively avoid the problem of data packet loss, and improve transmission reliability, the first device updates the state variable based on the count value of the discarded data to provide a state update method.

[0289] FIG. 12 is a block diagram of another communication method according to an embodiment of the present application.

[0290] 1201: The first device determines the first information.

[0291] Optionally, the first information may include information about the count value of at least one data.

[0292] For example, the at least one data includes / is discarded data, i.e., data discarded by the second device.

[0293] For example, the at least one data includes one or more data.

[0294] In one example, the at least one data may be discarded by the second device due to network congestion, or due to meeting the timeout / delay requirement of the at least one data, or due to another reason. This is not particularly limited in the present application.

[0295] It should be understood that for the related content of step 1201, refer to the related content of FIG. 11 (e.g., step 1101). Details will not be described again in this specification.

[0296] Optionally, before step 1201, the present application further includes 1200: The first device obtains the second information.

[0297] Optionally, the second information may include one or more of the following information of the at least one data, namely, start SN, end SN, start count value, end count value, first quantity, one or more SNs of the one or more included data, and one or more count values of the one or more included data.

[0298] Optionally, all count values ​​within at least one data point may be consecutive.

[0299] For details relating to step 1200, please refer to the relevant content in Figure 11 (for example, steps 1101 and / or 1100). Further details will not be explained again in this specification.

[0300] Optionally, the determination of first information by the first device may include the first device determining the starting count value of at least one data based on one or more of the following: the starting signal number (SN) of at least one data, a first state variable (or the SN of the first state variable), and a first parameter.

[0301] Optionally, the determination of first information by the first device may include the first device determining the end count value of at least one data based on one or more of the end signal number (SN) of at least one data, a first state variable (or the SN of the first state variable), and a first parameter.

[0302] Optionally, the determination of first information by the first device may include the first device determining one or more count values ​​of one or more data contained in at least one set of data based on one or more SNs of one or more data contained in at least one set of data, a first state variable (or the SN of the first state variable), and a first parameter.

[0303] Optionally, in step 1202, the first device updates a state variable based on the count value of at least one data or the count values ​​of one or more data from at least one set of data.

[0304] For example, after determining the first information, the first device updates the state variable based on the count value of at least one data or the count value of one or more data within at least one data set included in the first information.

[0305] Optionally, if the second condition is met, the first device performs step 1202.

[0306] For example, the second condition may include that the first state variable is equal to (or greater than) the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data).

[0307] For example, the condition "when the second condition is met" may be replaced with either "when the first state variable is equal to (or greater than) the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data)" or "until the first state variable becomes equal to (or greater than) the first count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data)."

[0308] Optionally, the first count value is the count value of the first data. For example, the first data is the data with the minimum count value among at least one data. For example, the first count value is the starting count value of at least one data.

[0309] In one example, suppose the first state variable is 3, and at least one data contains data #1 and data #2, with the count value of data #1 being 3 and the count value of data #2 being 4. The first device determines that the first information contains the count values ​​of data #1 and data #2, and that data #1 and data #2 are discarded data. The first state variable is equal to the count value of data #1, i.e., 3 = 3. The first device updates the state variable based on the count value of data #1 and / or the count value of data #2.

[0310] Optionally, the updating of a state variable by the second data first device based on the count value of at least one data or the count values ​​of one or more data within at least one data may include / be replaced with one or more of the actions A', actions B', actions C', and actions D'.

[0311] Operation A': The first device delivers at least one received data whose count value is greater than or equal to (second count value + 1).

[0312] Optionally, the second count value is the count value of the second data. For example, the second data is the data with the highest count value among at least one data. For example, the second count value is the end count value of at least one data.

[0313] For example, the delivery of at least one received data whose count value is greater than or equal to (second count value + 1) by the first device may include one or more of the following: data received by the first device or the PDCP layer of the first device, data not delivered by the first device or the PDCP layer of the first device, and data present in / stored in the receiving buffer of the first device or the PDCP layer of the first device.

[0314] For example, the count values ​​of at least one received data set whose count value is (second count value + 1) or greater may be consecutive.

[0315] For example, the first device delivering at least one received data whose count value is greater than or equal to (second count value + 1) may include / be replaced with the first device delivering at least one received fourth data whose count value is greater than or equal to (second count value + 1).

[0316] For example, the fourth data may include one or more of the following: data received by the first device or the PDCP layer of the first device, data not delivered by the first device or the PDCP layer of the first device, and data present in / stored in the receiving buffer of the first device or the PDCP layer of the first device.

[0317] For example, the count value corresponding to the fourth data point is greater than or equal to (the second count value + 1).

[0318] For example, at least one of the fourth data count values ​​may be consecutive.

[0319] For example, at least one fourth data may include one or more of the following: data that has been received but not delivered and whose count value is (second count value + 1) or greater; data that exists / is stored in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is (second count value + 1) or greater; data whose count value is (second count value + 1) or greater and is continuously received / continuously stored; data that is continuously received / stored in the correct order and whose count value is (second count value + 1) or greater; and data that is continuously received / continuously stored starting from second count value + 1.

[0320] Please note that "continuously received data" is not limited to cases where the first device continuously receives a sequence of data, but merely indicates that the COUNT values ​​of the received data are consecutive. Optionally, continuously received data is data with consecutive count values. This does not mean that the data is continuously received by the first device or at the PDCP layer of the first device.

[0321] In one example, suppose the first state variable is 4, and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT for data #5 is 5, the COUNT for data #6 is 6, and the COUNT for data #7 is 8. If the first count value is equal to the first state variable, the first device may send data #5 and data #6 to the upper layer.

[0322] Please understand that operation A' is similar to operation B in step 1102 in Figure 11. For details, please refer to the explanation in Figure 11. To avoid redundancy, details will not be explained again by using an example in this specification.

[0323] In one possible implementation, after the first device has delivered at least one received data whose count value is greater than or equal to (second count value + 1), the first device may further update the first state variable to a third count value.

[0324] Action B': The first device updates the first state variable to the third count value.

[0325] Optionally, the third count value is greater than the first state variable.

[0326] Optionally, the third count value is greater than the second count value.

[0327] Optionally, the data corresponding to the third count value is not received by the first device.

[0328] Optionally, the data corresponding to the third count value does not include / does not include discarded data.

[0329] For example, the failure of the first device to receive data corresponding to a third count value may include / be exchanged for one or both of the following: namely, the data corresponding to the third count value is not delivered to the upper layer, and the data corresponding to the third count value is not present in / not stored in the first device or the receiving buffer of the first device's PDCP layer.

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

[0331] Optionally, the data corresponding to the third count value is the first data that was not received and whose count value is greater than the first state variable (or the second count value). Optionally, excluding discarded data, the data corresponding to the third count value is the first data that was not received and whose count value is greater than the first state variable (or the second count value).

[0332] For example, the first data that is not received and whose count value is greater than the first state variable (or second count value) may be replaced with one or both of the following: the first data that has not been delivered to a higher layer and whose count value is greater than the first state variable (or second count value), and the first data that is not present / storage in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is greater than the first state variable (or second count value).

[0333] For example, excluding discarded data, the first data that has not been received and whose count value is greater than the first state variable (or second count value) may include / be exchanged for one or both of the following: excluding discarded data, the first data that has not been delivered to a higher layer and whose count value is greater than the first state variable (or second count value), and excluding discarded data, the first data that is not present / storage in the receiving buffer of the first device or the PDCP layer of the first device and whose count value is greater than the first state variable (or second count value).

[0334] For example, the first device updates the first state variable to the COUNT of the first data (e.g., PDCP SDU) that has not been delivered to the upper layer, and the COUNT of the first data is greater than the first state variable (or the second count value). For example, the first device updates the first state variable to the first empty space after the first state variable (or the second count value). For example, the first device updates the first state variable to the first empty space after the first state variable (or the second count value), excluding discarded data.

[0335] In one example, suppose the first state variable is 4, and the data received and stored by the first device includes data #5, data #6, and data #7. The COUNT for data #5 is 5, the COUNT for data #6 is 6, and the COUNT for data #7 is 8. If the first count value is equal to the first state variable, the first device delivers data #5 and data #6 to the upper layer. The first device determines that the COUNT for the first PDCP SDU that is not delivered to the upper layer is 7, and the first device updates the first state variable RX_DELIV from 4 to 7.

[0336] It should be understood that operation B' is similar to operation E in step 1102 in Figure 11. For details, please refer to the explanation in Figure 11. To avoid redundancy, details will not be explained again by using an example in this specification.

[0337] Operation C': When the sorting timer is running and the first state variable is greater than or equal to the third state variable, the first device stops the sorting timer.

[0338] Action D': When the sorting timer is not running and the first state variable is less than the second state variable, the first device starts the sorting timer and / or the first device updates the third state variable to the second state variable.

[0339] It should be understood that operations C' and D' are similar to operations C and D in step 1102 shown in Figure 11. For details, please refer to the example in Figure 11. To avoid redundancy, further details will not be described again in this specification.

[0340] It should be understood that the above lists specific examples of when the first device may update a state variable when the second condition is met. The order of operations A', B', C', and D' described above is not limited. The first device may perform one or more of operations A', B', C', and D'. This is not particularly limited in this application. For example, operation A' may be performed before operation B'. For example, operation B' may be performed before operation C'. For example, operation C' may be performed before operation D'.

[0341] After step 1201, please understand that the method may further include the following steps.

[0342] Optionally, this application may further include 1203: The first device updates a second state variable to a second count value + 1.

[0343] For example, if the second count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data) is greater than or equal to the second state variable, the first device performs step 1203.

[0344] In one example, it is assumed that the second state variable is RX_NEXT and that RX_NEXT is 3. The first information determined by the first device includes the count value of at least one data. The at least one data includes data #1, data #2, and data #3. The COUNT of data #1 is 3, the COUNT of data #2 is 4, and the COUNT of data #3 is 5. The second count value of at least one data is 5, where 5 > 3. The first device updates RX_NEXT to the COUNT of data #3 + 1, i.e., updates RX_NEXT to 6.

[0345] It should be understood that steps 1203 and 1202 shown in Figure 12 are not logically distinct. In other words, the sequence of steps 1203 and 1202 is not limited in this application.

[0346] For example, in order to update a state variable, step 1203 may be executed before step 1202, or after step 1202, or simultaneously with step 1202.

[0347] It should be further understood that step 1203 is not limited to cases in which the first apparatus can perform step 1203 when the second condition is met. This is not particularly limited in this application.

[0348] The application is not limited to the fact that either step 1202 or step 1203 may be performed, or both steps 1202 and 1203 may be performed. For example, the first apparatus may perform only step 1202, or only step 1203, or both steps 1202 and 1203.

[0349] Optionally, if the first device determines the first information and then the third condition is met, the first device may ignore the first information.

[0350] For example, the third condition may include the first state variable being greater than the second count value (or the start count value of at least one data, or the end count value of at least one data, or any count value of at least one data).

[0351] For example, the fact that the first device may ignore the first information may include / be replaced with the fact that the first device may ignore the second information, and that the first device does not perform step 1202 and / or step 1203.

[0352] For example, when the first device determines the first piece of information, the first piece of information includes a count value of at least one piece of data. The first device determines that the second count value is smaller than the first state variable, and the first device ignores the first piece of information.

[0353] In one possible implementation, if the first device determines, after determining the first information, that the third condition is not met, the first device does not need to (or does not) perform step 1202 or step 1203 above, and the first device immediately ignores the first information.

[0354] In one possible implementation, if, after the first device determines the first information, it is determined that the third condition is met, the first device may perform steps 1202 and / or 1203.

[0355] According to the method shown in Figure 12, the first device updates the state variable when the second condition is met. A state update method is provided to effectively avoid the problem that the receiving end's PDCP window (or RX_DELIV) may not move due to discarded data, to reduce the delay when the PDCP layer delivers data to higher layers, to effectively avoid the problem of data packet loss, and to improve transmission reliability.

[0356] The following describes the technical solutions in the embodiments of this application with reference to the accompanying drawings.

[0357] The terms “first” and “second” as used below are for illustrative purposes only and should not be understood as an indication, implication, or implicit indication of the relative importance of the technical features indicated by their number. Thus, features limited by “first” or “second” may explicitly or implicitly include one or more features. In the description of embodiments, “multiple” means two or more unless otherwise specified.

[0358] In addition, the terms “including” and “having” and any other variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a set of steps or units may, at its discretion, include, but is not limited to, any other steps or units not listed, or any other specific steps or units of the process, method, product, or device.

[0359] In addition, in embodiments of this application, the terms “example” or “for example” are used to indicate that an example, illustration, or explanation is being given. No embodiment or design scheme described as “example” or “for example” in embodiments of this application should be described as being preferable to or having more advantages than another embodiment or design scheme. Strictly speaking, the use of terms such as “example” or “for example” is intended to present relevant concepts in a particular manner for ease of understanding.

[0360] In this application, please understand that “at least one (item)” means one or more. “Multiple” means two or three or more. “At least two (items)” means two, three, or four or more. “And / or” is used to express a relational relationship between related objects and indicates that three relationships may exist. For example, “A and / or B” may indicate three cases, namely that only A exists, only B exists, and both A and B exist, where A and B may be singular or plural. The letter “ / ” generally indicates an “or” relationship between related objects. “At least one of the following (items)” or a similar expression means any combination of these items, including any combination of singular or plural (items). For example, at least one of a, b, and / or c may represent a, b, c, "a and b", "a and c", "b and c", or "a, b, and c", where a, b, and c may be singular or plural. Both "when" and "in the case of" mean that the corresponding process is performed in the intended case, and are not intended to limit the time, require no decision action during implementation, or imply any other limitation.

[0361] Please understand that prior art may change as technological solutions develop, and that the technological solutions provided in this application are not limited to the provided prior art.

[0362] It should be noted that different embodiments of this application or some steps in different embodiments (for example, any one or more steps) may be combined with each other to form new embodiments. It should be noted that some steps in different embodiments or any one or more steps may include optional steps in one embodiment, required steps in one embodiment, or optional and required steps in one embodiment. This is not limited to the present application.

[0363] Unless otherwise specified or unless a logical conflict arises, it should be noted that terms and / or descriptions in different embodiments are consistent and can be referenced to one another.

[0364] Please note that the sequence of steps in the embodiments of this application is not limited herein.

[0365] It should be noted that the determination sequences of different conditions in the embodiments of this application are not limited herein.

[0366] Please note that the terms "after" and "when" in this application do not necessarily strictly define a specific time period.

[0367] Please note that the nouns and terms used in this application are merely examples, and other names may be used. This is not limited to the present application.

[0368] The above describes in detail the embodiments of the communication method of this application with reference to Figures 9 to 12. The following describes in detail the embodiments of the communication device of this application with reference to Figures 13 and 15. The description of the device embodiments corresponds to the description of the method embodiments, and therefore, please understand that for parts that are not described in detail, refer to the method embodiments described above.

[0369] Figure 13 is a block diagram of a communication device 1300 according to one embodiment of the present application. As shown in Figure 13, the device 1300 may include a transceiver unit 1310 and a processing unit 1320. The transceiver unit 1310 may communicate with the outside, and the processing unit 1320 is configured to process data. The transceiver unit 1310 may also be called a communication interface or a transmit / receive unit.

[0370] In a possible design, the apparatus 1300 may perform steps or procedures performed by the first apparatus in the embodiment of the method described above. The processing unit 1320 is configured to perform processing-related operations of the first apparatus in the embodiment of the method described above, and the transceiver unit 1310 is configured to perform transmission and reception-related operations of the first apparatus in the embodiment of the method described above.

[0371] It should be understood that device 1300 in this specification is implemented in the form of a functional unit. The term “unit” as used herein may mean an application-specific integrated circuit (ASIC), an electronic circuit, a processor configured to run one or more software or firmware programs (e.g., a shared processor, a dedicated processor, or a group processor), memory, an integrated logic circuit, and / or another suitable component that supports the function described. In an optional example, a person skilled in the art will understand that device 1300 may be a transmitting end in particular in the above embodiments and may be configured to perform the procedures and / or steps corresponding to the transmitting end in the above embodiments of the method, or that device 1300 may be a receiving end in particular in the above embodiments and may be configured to perform the procedures and / or steps corresponding to the receiving end in the above embodiments of the method. For the sake of avoiding repetition, further details are not described again herein.

[0372] In the above solution, device 1300 has the function of performing the corresponding steps performed by the transmitting end in the above method. Alternatively, device 1300 in the above solution has the function of performing the corresponding steps performed by the receiving end in the above method. The functions may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver unit may be replaced with a transceiver (for example, the transmitting unit in the transceiver unit may be replaced with a transmitter, and the receiving unit in the transceiver unit may be replaced with a receiver), and another unit, for example, a processing unit may be replaced with a processor to separately perform the receive-transmit operation and associated processing operation in an embodiment of the method.

[0373] In addition, the transceiver unit may, alternatively, be a transceiver circuit (for example, including a receiving circuit and a transmitting circuit), and the processing unit may be a processing circuit. In this embodiment of the present application, the device in Figure 13 may be the receiving end or transmitting end in the above embodiment, or it may be a chip or chip system, for example, a system on a chip (SoC). The transceiver unit may be an input / output circuit or a communication interface. The processing unit is a processor, microprocessor, or integrated circuit on a chip. This is not limited to the present specification.

[0374] Figure 14 is a block diagram of a communication device 2000 according to one embodiment of the present application. As shown in Figure 14, the device 2000 includes a processor 2010 and a transceiver 2020. The processor 2010 and the transceiver 2020 communicate with each other through an internal connection path. The processor 2010 is configured to execute instructions to control the transceiver 2020 to send and / or receive signals.

[0375] Optionally, device 2000 may further include memory 2030. Memory 2030 communicates with processor 2010 and transceiver 2020 through an internal connection path. Memory 2030 is configured to store instructions, and processor 2010 may execute instructions stored in memory 2030.

[0376] In one possible implementation, the apparatus 2000 is configured to perform the procedures and steps corresponding to the first apparatus in the embodiment of the method described above.

[0377] It should be understood that device 2000 may be the transmitting or receiving end in particular in the embodiments described above, or it may be a chip or a chip system. Correspondingly, transceiver 2020 may be a chip transceiver circuit. This is not limited to the foregoing. In detail, device 2000 may be configured to perform the steps and / or procedures corresponding to the transmitting or receiving end in the embodiments of the method described above.

[0378] Optionally, memory 2030 may include read-only memory and random-access memory, and may provide instructions and data to the processor. A portion of the memory may further include non-volatile random-access memory. For example, the memory may further store device type information. The processor 2010 may be configured to execute instructions stored in memory. When the processor 2010 executes instructions stored in memory, the processor 2010 is configured to perform the steps and / or procedures in the embodiment of the method described above, corresponding to the transmitting or receiving end.

[0379] In the implementation process, the steps in the above method may be implemented by using hardware integrated logic circuits in a processor or by using instructions in the form of software. The steps in the method disclosed in relation to embodiments of this application may be performed and completed directly by a hardware processor, or by using a combination of hardware and software modules in the processor. The software modules may be located in mature storage media in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage media are located in memory. The processor reads the information in the memory and, in combination with the hardware, completes the steps of the method. To avoid repetition, further details are not described again herein.

[0380] It should be noted that the processor in the embodiments of this application may be an integrated circuit chip and may have signal processing capabilities. In the implementation process, the steps in the embodiments of the method described above may be implemented by using hardware integrated logic circuits in the processor or by using instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or another programmable logic device, an discrete gate or transistor logic device, or a discrete hardware component. The processor in the embodiments of this application may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps in the methods disclosed in relation to embodiments of this application may be executed and completed directly by a hardware decoding processor, or by using a combination of hardware and software modules in the decoding processor. The software modules may be located in mature storage media in the art, such as random-access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage media are located in memory. The processor reads information from memory and combines it with the hardware to complete the steps of the process.

[0381] It can be understood that the memory in the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM) used as an external cache. Through illustrative but non-limiting descriptions, many forms of RAM may be used, such as static random-access memory (static RAM, SRAM), dynamic random-access memory (dynamic RAM, DRAM), synchronous dynamic random-access memory (synchronous DRAM, SDRAM), double data-rate synchronous dynamic random-access memory (double data-rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random-access memory (enhanced SDRAM, ESDRAM), synch-link dynamic random-access memory (synch-link DRAM, SLDRAM), and direct rambus dynamic random-access memory (direct rambus RAM, DR RAM). Note that the memory in the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0382] Figure 15 is a block diagram of a chip system 3000 according to one embodiment of the present application. As shown in Figure 15, the chip system 3000 (sometimes called a processing system) includes a logic circuit 3010 and an input / output interface 3020.

[0383] The logic circuit 3010 may be a processing circuit within the chip system 3000. The logic circuit 3010 may be coupled to and connected to a memory unit, and may call instructions within the memory unit, so that the chip system 3000 can implement the methods and functions of the embodiments of this application. The input / output interface 3020 may be an input / output circuit within the chip system 3000, which outputs information processed by the chip system 3000 or inputs data or signaling information to be processed into the chip system 3000 for processing.

[0384] In the solution, the chip system 3000 is configured to perform the operations performed by the first device in the embodiment of the method described above.

[0385] For example, the logic circuit 3010 is configured to perform processing-related operations performed by the first device in the embodiment of the above method, for example, processing-related operations performed by the first device in the embodiment shown in Figure 11. The input / output interface 3020 is configured to perform transmission and / or reception-related operations performed by the first device in the embodiment of the above method, for example, transmission and / or reception-related operations performed by the first device in the embodiment shown in Figure 11.

[0386] One embodiment of the present application further provides a computer-readable storage medium that stores computer instructions used to perform a method performed by a terminal device or network device in an embodiment of the above method.

[0387] One embodiment of this application further provides a computer program product including instructions. When the instructions are executed by the computer, a method is performed by a terminal device or a network device in the embodiment of the above method.

[0388] One embodiment of this application further provides a communication system, which includes terminal devices and network devices in the above embodiment.

[0389] For a description of the relevant aspects and beneficial effects of any one of the devices provided above, please refer to the corresponding embodiment of the method provided above. Further details will not be described again herein.

[0390] Those skilled in the art may notice, in combination with the examples described in the embodiments disclosed herein, that units and algorithmic steps may be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use various methods to implement the functions described for each specific application, but should not be taken into consideration that the implementations described here exceed the scope of this application.

[0391] For the purpose of convenient and concise explanation, it will be readily apparent to those skilled in the art that the detailed working processes of the above systems, apparatus, and units are described by referring to the corresponding processes in the embodiments of the above methods. Further details are not described herein.

[0392] In some embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the embodiments of the devices described are merely examples. For example, the division into units is merely a logical functional division, and other divisions may be in actual implementations. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the mutual coupling, direct coupling, or communication connection shown or described may be implemented by using some interfaces. Indirect coupling or communication connection between devices or units may be implemented in electronic, mechanical, or other forms.

[0393] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, may be located in one location, or may be distributed across multiple network units. Some or all of the units may be selected based on the actual requirements for achieving the objectives of the solution of the embodiment.

[0394] In addition, the functional units in the embodiments of this application may be integrated into a single processing unit, each unit may exist physically independently, or two or more units may be integrated into a single unit.

[0395] When a function is implemented in the form of a software function unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, some of the technical solutions of this application, or parts or technical solutions that contribute to the prior art, may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, server, or device) to perform all or part of the steps of the method described in embodiments of this application. The storage medium includes any medium capable of storing program code, such as a USB flash disk, removable hard disk drive, read-only memory, random-access memory, magnetic disk, or optical disk.

[0396] The above description represents only a specific implementation of this application and is not intended to limit the scope of protection. Any modification or substitution readily apparent to a person skilled in the art within the scope of the technical scope disclosed herein shall fall within the scope of protection. Accordingly, the scope of protection of this application shall be limited to the scope of protection of the claims. [Explanation of Symbols]

[0397] 110 Wireless Access Network (RAN) Devices 120 Core Network (CN) Devices 130 terminal devices 1300 Communication equipment, devices 1310 Transceiver Unit 1320 Processing Units 2000 Communication equipment, devices 2010 Processor 2020 Transceiver 2030 memory 3000 Chip System 3010 Logic Circuits 3020 Input / Output Interface

Claims

1. A method of communication, A step of determining first information, wherein the first information includes information about the count value of first data, and the first data is discarded data. A step of updating a state variable based on a first count value, wherein the first count value is the count value of the first data. Methods that include...

2. The method according to claim 1, wherein the first data is deemed to have been received.

3. If the first condition is met, the first data is deemed to have been received. The method according to claim 2, wherein the first condition includes that a first state variable is less than or equal to the first count value, and the first state variable indicates the count value of the first data awaiting delivery.

4. The method according to any one of claims 1 to 3, wherein the first information includes a count value of at least one data, the at least one data includes the first data, and each of the at least one data is discard data.

5. The method according to any one of claims 2 to 4, wherein the first data is deemed to have been received and stored in a buffer.

6. The method according to any one of claims 1 to 5, wherein the first information further includes information about a first quantity, and the first quantity indicates the quantity of the discarded data.

7. The step of updating the state variable based on the first count value is: If the first count value is greater than or equal to the second state variable, the steps are to update the second state variable to the sum of the first count value and the first quantity, or to update the second state variable to the sum of the first count value and 1, and / or If the first count value is equal to the first state variable, the step of delivering at least one third data, wherein the third data includes data that has been received and stored in a buffer, and the count value corresponding to the third data is greater than or equal to the first state variable, and / or If the first count value is equal to the first state variable, the step of updating the first state variable to a fourth count value, wherein the fourth count value is greater than the first state variable, The method according to any one of claims 1 to 6, wherein the first state variable indicates a count value of the first data awaiting delivery, the second state variable indicates a count value of the next data expected to be received, and the first quantity indicates the quantity of the discarded data.

8. The step of updating the state variable based on the first count value is: If the sorting timer is running and the first state variable is equal to or greater than the third state variable, the step of stopping the sorting timer, and / or If the sorting timer is not running and the first state variable is smaller than the second state variable, the step of starting the sorting timer is further included. The method according to any one of claims 1 to 7, wherein the first state variable indicates a count value of the first data awaiting delivery, the second state variable indicates a count value of the next data expected to be received, and the third state variable indicates the sum of the count value of the data that triggers the sorting timer and 1.

9. The method described above is The method according to any one of claims 1 to 8, further comprising the step of obtaining a sequence number SN of the first data or the first count value.

10. When the sequence number SN of the first data is obtained, the method The method according to claim 9, further comprising the step of determining a first count value based on the sequence number SN of the first data and the first state variable, wherein the first state variable indicates the count value of the first data awaiting delivery.

11. When the first information includes the count value of the at least one piece of data, the method The following information from at least one of the aforementioned data, namely, The step further includes obtaining one or more of the following: a start sequence number SN, an end sequence number SN, a start count value, an end count value, and the first quantity. The method according to any one of claims 4 to 10, wherein the first quantity is the quantity of discarded data among the at least one data.

12. The method described above is A step of determining the starting count value of the at least one data based on the starting sequence number SN and the first state variable, and / or The step further includes determining the count value of at least one of the at least one data based on the starting count value of the at least one data and the first quantity, The method according to claim 11, wherein the first state variable indicates a count value of the first data awaiting delivery.

13. A method of communication, A step of determining first information, wherein the first information includes a count value of at least one data, and each of the at least one data is discard data. If the second condition is met, then, namely, To deliver at least one received data whose count value is greater than or equal to (second count value + 1), Updating a first state variable to a third count value, wherein the third count value is greater than the second count value, and If the sorting timer is running and the first state variable is equal to or greater than the third state variable, the sorting timer is stopped, or If the sorting timer is not running and the first state variable is smaller than the second state variable, the sorting timer is started. The step includes performing one or more of the following steps: The second condition is that the first state variable is equal to a first count value, the first count value is the count value of a first data, the first data is the data having the minimum count value among the at least one data, the second count value is the count value of a second data, the second data is the data having the maximum count value among the at least one data, the first state variable indicates the count value of the first data awaiting delivery, the second state variable indicates the count value of the next data expected to be received, and the third state variable indicates the sum of the count value of the data that triggers the sorting timer and 1.

14. When the second state variable is smaller than the second count value, the method The method according to claim 13, further comprising the step of updating the second state variable to the second count value + 1.

15. After determining the above-mentioned first information, the method, If the third condition is met, the process further includes the step of ignoring the first information, The method according to claim 13 or 14, wherein the third condition includes that the first state variable is greater than the second count value.

16. The method described above is The following information from at least one of the aforementioned data, namely, The step further includes obtaining one or more of the following: start sequence number SN, end sequence number SN, start count value, end count value, and first quantity. The method according to any one of claims 13 to 15, wherein the first quantity is the quantity of discarded data among the at least one data.

17. When the sequence number SN of the first data is obtained, the method The method according to any one of claims 13 to 16, further comprising the step of determining a first count value based on the sequence number SN of the first data and the first state variable, wherein the first state variable indicates the count value of the first data awaiting delivery.

18. The method described above is A step of determining the starting count value of the at least one data based on the starting sequence number SN and the first state variable, and / or A step of determining the termination count value of the at least one data based on the termination sequence number SN and the first state variable, and / or The step further includes determining the end count value of the at least one data based on the first count value and the first quantity, The method according to claim 16 or 17, wherein the first state variable indicates a count value of the first data awaiting delivery.

19. A communication device comprising a module or unit configured to perform the method described in any one of claims 1 to 12, or a module or unit configured to perform the method described in any one of claims 13 to 18.

20. A communication device comprising a processor, wherein the processor is configured to enable the communication device to perform the method described in any one of claims 1 to 12, or to enable the communication device to perform the method described in any one of claims 13 to 18.

21. A computer-readable storage medium wherein the computer-readable storage medium contains an instruction, and when the instruction is executed, the computer is enabled to perform the method described in any one of claims 1 to 12, or the computer is enabled to perform the method described in any one of claims 13 to 18.

22. A computer program product wherein the computer program product includes instructions, and when the instructions are executed, it is realized that a computer is enabled to perform the method according to any one of claims 1 to 12 or the method according to any one of claims 13 to 18.