A communication method, a communication device, and a communication system
By handling false acknowledgment characters while keeping the frame number unchanged in the sending device, the problem of asynchronous encryption counters between the sending and receiving devices is solved, ensuring the stability and security of XR services.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-31
- Publication Date
- 2026-03-24
AI Technical Summary
In existing technologies, fake ACK characters cause the encryption counters of the sending and receiving devices to become out of sync, resulting in the disruption of security context synchronization and consequently, the interruption of XR services.
By sending data packets based on the frame number provided by the counter, and keeping the frame number unchanged after receiving the acknowledgment message, the system prevents erroneous state updates caused by false ACKs and ensures safe operation.
This prevents illegal state progression caused by fake ACKs, ensuring that the security context is not contaminated and avoiding decryption failures and application crashes in XR services.
Smart Images

Figure CN121037424B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and more particularly, to a communication method, a communication device and a communication system. BACKGROUND
[0002] At present, in order to support low-latency services such as extended reality (XR), a new mechanism of "discarding outdated data" is introduced in the packet data convergence protocol (PDCP) layer, that is, the protocol stack is allowed to actively discard the transmission of data packets that are about to time out. However, this mechanism leads to the side effect of "stagnation of the sending window" in the radio link control (RLC) layer, that is, the sending device waits for the acknowledgement of the discarded outdated data packets, and thus the RLC layer cannot move the sending window forward to send new data packets. To solve the problem of sending window stagnation, the current technical solution is to send a "fake acknowledge character (fake ACK)" message from the receiving device to the sending device, that is, the fake ACK is used to indicate that the receiving device has received the data packet sent by the sending device (actually, the data packet is actively discarded due to timeout), and then the sending device moves the sending window forward to send new data packets after confirming that the data packet has been received.
[0003] However, the fake ACK will be misinterpreted by the PDCP layer of the sending device, and thus the PDCP layer of the sending device unilaterally advances the hyper frame number (HFN) provided in the encryption counter for encrypting the data packet, such as increasing the value of the HFN. Since the receiving device does not receive the data packet, the HFN provided in the encryption counter for decrypting the data packet does not advance, that is, the value of the HFN remains unchanged. Then, the HFNs of the sending device and the receiving device may have different values, that is, the situation of "out of step" occurs, which leads to the destruction of the synchronization of the security context, and all subsequent encrypted communications will fail, eventually leading to the instantaneous interruption of the XR service. SUMMARY
[0004] The present application provides a communication method, a communication device and a communication system, which can skip the erroneous security state update and prevent any illegal and additional state advancement caused by the fake ACK.
[0005] In a first aspect, an embodiment of the present application provides a communication method, which can be executed by a sending device such as a terminal device or a network device, or by a module such as a chip system or a circuit in the sending device, or by a logic node, a logic module or software capable of implementing all or part of the functions of the sending device, and the present application does not make any limitation in this regard.
[0006] The method comprises: sending a first data packet to a receiving device based on a first value of a frame number provided by a counter, wherein the first value of the frame number is used by the sending device to encrypt the first data packet; receiving a first acknowledgement message from the receiving device, wherein the first acknowledgement message is used to acknowledge that the receiving device receives the first data packet, and the first acknowledgement message comprises first information used to indicate that the first data packet is discarded; and performing a security maintenance operation according to the first information, wherein the security maintenance operation is used to determine that the value of the frame number of the counter remains the first value.
[0007] By means of the technical solution, the erroneous security state update can be skipped, any illegal and additional state advancement caused by a false ACK message can be prevented, and any erroneous security state update caused by the false ACK message can be prevented, thereby ensuring that the security context of the sending device is not contaminated. For example, the XR game data stream is encrypted throughout, the HFN security vulnerability can be eradicated, the decryption failure caused by HFN asynchronization can be prevented, and thus the catastrophic problem of a game picture being full of screen, or even the entire application being forced to quit can be avoided.
[0008] In some implementations, the first acknowledgement message comprises an RLC STATUS PDU, and the first information is included in the RLC STATUS PDU.
[0009] In some implementations, the RLC STATUS PDU comprises a first field and a second field used to carry the first information, a second value of the first field is used to indicate that the receiving device acknowledges receiving the first data packet, and a third value of the second field is used to indicate that the first data packet is actually discarded due to timeout, and the third value corresponds to the first information.
[0010] In some implementations, the second field is located in a reserved bit of a header of the RLC STATUS PDU.
[0011] In some embodiments, the sending device is provided with a first PDCP entity and a first RLC entity, and receiving the first acknowledgement message from the receiving device comprises: the first RLC entity receives the first acknowledgement message; after the first RLC entity receives the first acknowledgement message, the method further comprises: according to the first information, the first RLC entity sends second information to the first PDCP entity, the second information being used to indicate that the transceiving process of the first data packet has ended; and according to the second information, the first PDCP entity deletes the first data packet and releases the memory of the first data packet.
[0012] In some embodiments, the sending device is provided with a first PDCP entity and a first RLC entity, and receiving the first acknowledgement message from the receiving device comprises: the first RLC entity receives the first acknowledgement message; keeping the value of the frame number of the counter unchanged at the first value comprises: according to the first information, the first RLC entity sends second information to the first PDCP entity, the second information being used to indicate that the transceiving process of the first data packet has ended; and according to the second information, the first PDCP entity performs a security keeping operation to determine that the value of the frame number remains at the first value.
[0013] In some embodiments, the method further comprises: determining a first time node when the sending device sends the first data packet and a second time node when the first acknowledgement message is received; determining a difference between the first time node and the second time node as a first time length; and according to the first time length, adjusting the communication between the sending device and the receiving device.
[0014] Through the technical solution, by measuring a specific time difference, adaptively adjusting future key parameters in a communication network, and using the identifiable signaling to statistically determine the specific time difference of the packet loss acknowledgement delay, an evaluation index is provided for active QoS guarantee and resource management.
[0015] In some embodiments, the sending device is provided with a first RLC entity, a first PDCP entity and a first RRC entity, determining the first time node when the sending device sends the first data packet and the second time node when the sending device receives the first acknowledgement message comprises: the first RLC entity receiving the first time node from the first PDCP entity; the first RLC entity determining the second time node when the first acknowledgement message is received; determining the difference between the first time node and the second time node as the first time length comprises: the first RLC entity determining the first time length; and adjusting the communication between the sending device and the receiving device according to the first time length comprises: the first RLC entity sending third information to the first PDCP entity, the third information comprising the first time length; the first PDCP entity sending the third information to the first RRC entity; and the first RRC entity adjusting the communication between the sending device and the receiving device according to the third information.
[0016] In some embodiments, the method further comprises: determining the first time node when the sending device sends the first data packet and the second time node when the sending device receives the first acknowledgement message; determining the difference between the first time node and the second time node as the first time length; and sending fourth information to the receiving device or a network device serving the sending device according to the first time length, the fourth information being used to indicate a statistical index corresponding to the first time length, the fourth information being used to adjust the communication between the sending device and the receiving device by the receiving device or the network device.
[0017] In some embodiments, the sending device is provided with a first RLC entity, a first PDCP entity and a first RRC entity, determining the first time node when the sending device sends the first data packet and the second time node when the sending device receives the first acknowledgement message comprises: the first RLC entity receiving the first time node from the first PDCP entity; the first RLC entity determining the second time node when the first acknowledgement message is received; determining the difference between the first time node and the second time node as the first time length comprises: the first RLC entity determining the first time length; and adjusting the communication between the sending device and the receiving device according to the first time length comprises: the first RLC entity sending third information to the first PDCP entity, the third information comprising the first time length; the first PDCP entity sending the third information to the first RRC entity; and the first RRC entity adjusting the communication between the sending device and the receiving device according to the third information.
[0018] In a second aspect, an embodiment of the present application provides a communication method, which can be executed by a receiving device such as a terminal device or a network device, or a module such as a chip system or a circuit in the receiving device, or a logic node, a logic module or software capable of implementing all or part of the functions of the receiving device, and the present application does not limit the same.
[0019] The method comprises: detecting a first data packet sent by a sending device, wherein the receiving device decrypts the first data packet based on a first value of a frame number provided by a counter; and in a case where the first data packet from the sending device is not received within a first time period, sending a first acknowledgement message to the sending device, the first acknowledgement message being used for the sending device to acknowledge that the receiving device receives the first data packet, the first acknowledgement message comprising first information, the first information being used for indicating that the first data packet is discarded.
[0020] In some implementations, the first acknowledgement message comprises an RLC STATUS PDU, and the first information is included in the RLC STATUS PDU.
[0021] In some implementations, the RLC STATUS PDU comprises a first field and a second field used for carrying the first information, a second value of the first field is used for indicating that the receiving device acknowledges receiving the first data packet, and a third value of the second field is used for indicating that the first data packet is actually discarded due to timeout, the third value corresponding to the first information.
[0022] In some implementations, the second field is located in a reserved bit of a header of the RLC STATUS PDU.
[0023] In some implementations, the receiving device is provided with a second PDCP entity and a second RLC entity, and sending the first acknowledgement message to the sending device comprises: the second RLC entity sending the first acknowledgement message to the second PDCP entity; and the method further comprises: according to the first information, the second RLC entity sending fifth information to the second PDCP entity, the fifth information being used for indicating that the first data packet is discarded due to timeout and acknowledged by the sending device.
[0024] In some implementations, the method further comprises: receiving fourth information from the sending device, the fourth information being used for indicating a statistical index corresponding to a first time length, the first time length being a difference between a first time node and a second time node, the first time node being a time node when the sending device sends the first data packet, and the second time node being a time node when the sending device receives the first acknowledgement message; and according to the fourth information, adjusting the communication between the sending device and the receiving device.
[0025] In some embodiments, the receiving device is provided with a second RRC entity, and receiving the fourth information comprises: the second RRC entity receiving the fourth information from the first RRC entity of the sending device; and adjusting the communication between the sending device and the receiving device according to the fourth information comprises: the second RRC entity adjusting the communication between the sending device and the receiving device according to the fourth information.
[0026] In a third aspect, a communication apparatus is provided. The apparatus comprises: a transceiver configured to: send a first data packet to a receiving device based on a first value of a frame number provided by a counter, wherein the first value of the frame number is used by the sending device to encrypt the first data packet; and receive a first acknowledgement message from the receiving device, the first acknowledgement message being used to acknowledge that the receiving device receives the first data packet, the first acknowledgement message comprising first information used to indicate that the first data packet is discarded; and a processing unit configured to: perform a security maintenance operation according to the first information, the security maintenance operation being used to determine that the value of the frame number of the counter remains the first value.
[0027] In some embodiments, the first acknowledgement message comprises an RLC STATUS PDU, and the first information is comprised in the RLC STATUS PDU.
[0028] In some embodiments, the RLC STATUS PDU comprises a first field and a second field used to carry the first information, a second value of the first field is used to indicate that the receiving device acknowledges receiving the first data packet, and a third value of the second field is used to indicate that the first data packet is actually discarded due to timeout, the third value corresponding to the first information.
[0029] In some embodiments, the second field is located in a reserved bit of a header of the RLC STATUS PDU.
[0030] In some embodiments, the transceiver is provided with a first PDCP entity and a first RLC entity, and the transceiver is specifically configured to: the first RLC entity receives the first acknowledgement message; after the first RLC entity receives the first acknowledgement message, the transceiver is further configured to: according to the first information, the first RLC entity sends second information to the first PDCP entity, the second information being used to indicate that the transceiving process of the first data packet has been terminated; and the first PDCP entity deletes the first data packet and releases the memory of the first data packet according to the second information.
[0031] In some embodiments, the transceiver is configured to have a first PDCP entity and a first RLC entity, and the transceiver is specifically configured to: receive, by the first RLC entity, the first acknowledgement message; keep the first value of the frame number unchanged, including: according to the first information, sending, by the first RLC entity, second information to the first PDCP entity, the second information being used to indicate that the transceiving process of the first data packet has ended; and according to the second information, performing, by the first PDCP entity, a security keeping operation to determine the value of the frame number as the first value.
[0032] In some embodiments, the processing unit is further configured to: determine a first time node when the sending device transmits the first data packet and a second time node when the first acknowledgement message is received; determine a first time length between the first time node and the second time node; and adjust the communication between the sending device and the receiving device according to the first time length.
[0033] In some embodiments, the transceiver is configured to have a first RLC entity, a first PDCP entity and a first RRC entity, and the transceiver is specifically configured to: receive, by the first RLC entity, the first time node from the first PDCP entity; determine, by the first RLC entity, the second time node when the first acknowledgement message is received; determine, by the first RLC entity, the first time length between the first time node and the second time node; and the processing unit is specifically configured to: send, by the first RLC entity, third information to the first PDCP entity, the third information including the first time length; send, by the first PDCP entity, the third information to the first RRC entity; and adjust, by the first RRC entity, the communication between the sending device and the receiving device according to the third information.
[0034] In some embodiments, the transceiver is specifically configured to: determine a first time node when the sending device transmits the first data packet and a second time node when the first acknowledgement message is received; determine a first time length between the first time node and the second time node; and send, to the receiving device or a network device serving the sending device, fourth information according to the first time length, the fourth information being used to indicate a statistical indicator corresponding to the first time length, the fourth information being used by the receiving device or the network device to adjust the communication between the sending device and the receiving device.
[0035] In some embodiments, the transceiver is configured to have a first RLC entity, a first PDCP entity and a first RRC entity, and the transceiver is specifically configured to: the first RLC entity receives the first time point from the first PDCP entity; the first RLC entity determines the second time point when the first acknowledgement message is received; the processing unit is specifically configured to: the first RLC entity determines the first time length; the transceiver is specifically configured to: the first RLC entity sends third information to the first PDCP entity, the third information including the first time length; the first PDCP entity sends the third information to the first RRC entity; the first RRC entity determines the fourth information according to the third information and sends the fourth information to the second RRC entity of the receiving device or a third RRC entity of a network device serving the sending device.
[0036] In an implementation form, the communication apparatus is a sending device. When the communication apparatus is a sending device, the transceiver can be a transceiver, or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0037] In another implementation form, the communication apparatus is a chip, chip system or circuit used in a sending device. When the communication apparatus is a chip, chip system or circuit used in a device, the transceiver can be an input / output interface, interface circuit, output circuit, input circuit, pin or related circuit on the chip, chip system or circuit, etc.; the processing unit can be at least one processor, processing circuit or logic circuit, etc.
[0038] The explanations and beneficial effects of the communication apparatus provided by the third aspect can refer to those of the communication method of the first aspect, which will not be repeated here.
[0039] In a fourth aspect, a communication apparatus is provided. The apparatus includes: a processing unit configured to: detect a first data packet sent by a sending device, wherein the receiving device decrypts the first data packet based on a first value of a frame number provided by a counter; and a transceiver configured to: in a case where the first data packet from the sending device is not received within a first time period, send a first acknowledgement message to the sending device, the first acknowledgement message being used by the sending device to confirm that the receiving device receives the first data packet, the first acknowledgement message including first information, the first information being used to indicate that the first data packet is discarded.
[0040] In some embodiments, the first acknowledgement message includes an RLC STATUS PDU, and the first information is included in the RLC STATUS PDU.
[0041] In some embodiments, the RLC STATUS PDU includes a first field and a second field for carrying the first information, a second value of the first field is used to indicate that the receiving device acknowledges receiving the first data packet, and a third value of the second field is used to indicate that the first data packet is actually discarded due to timeout, the third value corresponding to the first information.
[0042] In some embodiments, the second field is located in a reserved bit of a header of the RLC STATUS PDU.
[0043] In some embodiments, the transceiver unit is provided with a second PDCP entity and a second RLC entity, and the transceiver unit is specifically configured to: send, by the second RLC entity, the first acknowledgement message to the second PDCP entity; and send, by the second RLC entity, fifth information to the second PDCP entity according to the first information, the fifth information being used to indicate that the first data packet is discarded due to timeout and acknowledged by the sending device.
[0044] In some embodiments, the transceiver unit is further configured to: receive, from the sending device, fourth information used to indicate a statistical index corresponding to a first time length, the first time length being a difference between a first time node and a second time node, the first time node being a time node when the sending device sends the first data packet, and the second time node being a time node when the sending device receives the first acknowledgement message; and adjust, according to the fourth information, the communication between the sending device and the receiving device.
[0045] In some embodiments, the transceiver unit is provided with a second RRC entity, and the transceiver unit is specifically configured to: receive, by the second RRC entity, the fourth information from the first RRC entity of the sending device; and the processing unit is specifically configured to: adjust, by the second RRC entity, the communication between the sending device and the receiving device according to the fourth information.
[0046] In one implementation, the communication apparatus is a receiving device. When the communication apparatus is a receiving device, the transceiver unit can be a transceiver, or an input / output interface; and the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0047] In another implementation, the communication apparatus is a chip, chip system or circuit used in a receiving device. When the communication apparatus is a chip, chip system or circuit used in a device, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin or related circuit on the chip, chip system or circuit, etc.; and the processing unit can be at least one processor, processing circuit or logic circuit, etc.
[0048] The explanation and beneficial effects of the communication device provided by the fourth aspect can refer to the communication method shown in the second aspect, and will not be repeated here.
[0049] In the fifth aspect, a communication device is provided, which includes a memory for storing programs, and at least one processor for executing the computer programs or instructions stored in the memory to perform the method provided by the first aspect or any of the implementation manners of the first aspect, or to perform the method provided by the second aspect or any of the implementation manners of the second aspect.
[0050] In an implementation manner, the communication device is a device (such as a sending device, or a receiving device).
[0051] In another implementation manner, the device is a chip, a chip system or a circuit used in a device (such as a sending device, or a receiving device).
[0052] In the sixth aspect, a processor is provided for executing the method provided by the above aspects.
[0053] For the sending and obtaining / receiving operations of the processor, if there is no special description, or if it does not contradict the actual role or internal logic in the related description, it can be understood as the output and receiving, input operations of the processor, or the sending and receiving operations performed by the radio frequency circuit and the antenna, and the present application does not limit this.
[0054] In the seventh aspect, a computer readable storage medium is provided, which stores program codes for execution by a device, and the program codes include instructions for executing the method provided by the first aspect or any of the implementation manners of the first aspect, or include instructions for executing the method provided by the second aspect or any of the implementation manners of the second aspect.
[0055] In the eighth aspect, a computer program product including instructions is provided, which, when the computer program product is run on a computer, causes the computer to execute the method provided by the first aspect or any of the implementation manners of the first aspect, or causes the computer to execute the method provided by the second aspect or any of the implementation manners of the second aspect.
[0056] In the ninth aspect, a chip system is provided, which includes a processor and a communication interface, and the processor reads instructions stored on a memory through the communication interface, and executes the method provided by the first aspect or any of the implementation manners of the first aspect, or executes the method provided by the second aspect or any of the implementation manners of the second aspect.
[0057] Optionally, as an implementation form, the chip system further comprises a memory, and the memory stores a computer program or instructions, and the processor is configured to execute the computer program or instructions stored in the memory, and when the computer program or instructions are executed, the processor is configured to execute the method provided by the first aspect or any one of the implementation forms of the first aspect, or execute the method provided by the second aspect or any one of the implementation forms of the second aspect.
[0058] In a tenth aspect, a communication system is provided, comprising at least one communication device of the third aspect and at least one communication device of the fourth aspect.
[0059] The beneficial effects of the fifth aspect to the tenth aspect can be referred to the description of the first aspect to the second aspect. BRIEF DESCRIPTION OF DRAWINGS
[0060] Figure 1 is a schematic diagram of a communication system provided by an embodiment of the present application;
[0061] Figure 2 is a schematic block diagram of another communication system provided by an embodiment of the present application;
[0062] Figure 3 is a schematic block diagram of still another communication system provided by an embodiment of the present application;
[0063] Figure 4 is a schematic diagram of a network element function division and a protocol layer structure of an open radio access network (O-RAN) system provided by an embodiment of the present application;
[0064] Figure 5 is a schematic flowchart of a communication method provided by an embodiment of the present application;
[0065] Figure 6 is a schematic diagram of an RLC STATUS PDU provided by an embodiment of the present application;
[0066] Figure 7A shows a schematic flowchart of a communication method executed by different entities of a sending device and a receiving device;
[0067] Figure 7B shows still another schematic flowchart of a communication method executed by different entities of a sending device and a receiving device;
[0068] Figure 8 is still another schematic flowchart of a communication method provided by an embodiment of the present application;
[0069] Figure 9 is still another schematic flowchart of a communication method provided by an embodiment of the present application;
[0070] Figure 10 is another exemplary flow chart of a communication method provided by an embodiment of the present application;
[0071] Figure 11 is an exemplary structural block diagram of a communication device provided by an embodiment of the present application;
[0072] Figure 12 is an exemplary structural block diagram of another communication device provided by an embodiment of the present application;
[0073] Figure 13 is an exemplary structural block diagram of another communication device provided by an embodiment of the present application;
[0074] Figure 14 is an exemplary diagram of a chip system provided by an embodiment of the present application. DETAILED DESCRIPTION
[0075] The technical solutions in the present application will be described below with reference to the accompanying drawings.
[0076] First, the accompanying drawings will be combined to describe the technical solutions in the present application. Figure 1 to the accompanying drawings will be combined to describe the technical solutions in the present application. Figure 4 The communication system and network architecture applicable to the embodiments of the present application will be introduced.
[0077] The technical solutions of the embodiments of the present application can be applied to various communication systems, including but not limited to: long term evolution (long term evolution, LTE) system, NR system, etc. Fifth generation (5 th generation, 5G) mobile communication system, narrowband internet of things (narrow band internet of things, NB-IoT) system, enhanced machine type communication (enhanced machine type communication, eMTC) system, enhanced mobile broadband (enhanced mobile broadband, eMBB) system, ultra reliable low latency communication (ultra reliable low latency communication, URLLC) system, satellite communication system, LTE-machine to machine (LTE-machine to machine, LTE-M) system, or like future sixth generation (6 th generation, 6G) mobile communication system and other systems evolved after 5G.
[0078] In addition, the present application can be applied to 5G and future wireless communication scenarios with extremely high requirements for delay and security, especially XR services such as cloud gaming, remote collaboration, virtual / augmented reality social, etc. In these service scenarios, the immersive experience of users highly depends on continuous, stable, low-delay and secure data interaction between the cloud server and the terminal device. For example, the game picture rendered by the cloud needs to be pushed to the user's virtual reality (VR) / augmented reality (AR) headset in real time, and at the same time, the user's control signaling also needs to be uploaded in real time.
[0079] Figure 1 is a schematic diagram of a communication system 100. As shown in Figure 1 , the communication system 100 includes a wireless access network 110 and a core network 120. Optionally, the communication system 100 can also include the Internet 130. The wireless access network 110 can include at least one network device (such as 111a and 111b in Figure 1 ), and can also include at least one terminal device (such as 112a-112j in Figure 1 ). The terminal device is connected to the network device in a wireless manner. The network device is connected to the core network 120 in a wireless or wired manner. The core network 120 can include one or more core network devices. The core network device and the network device can be independent and different physical devices, or the functions of the core network device and the logical functions of the network device can be integrated on the same physical device, or a physical device can integrate part of the functions of the core network device and part of the functions of the network device. The terminal device and the terminal device, and the network device and the network device can be connected to each other in a wired or wireless manner. The terminal device and the terminal device, the network device and the network device, and the terminal device and the network device can communicate with each other in a wireless manner through air interface resources. Exemplarily, the air interface resources can include at least one of time domain resources, frequency domain resources, code resources, and space resources. Figure 1 This is only a schematic diagram, and the communication system 100 can also include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in Figure 1 .
[0080] The network device can also be referred to as an access network device or an access network node. It can be understood that in systems using different wireless access technologies, the names of devices with network device functions may be different. For the convenience of description, the apparatuses providing wireless communication access functions for terminal devices in the embodiments of the present application are collectively referred to as base stations. In the embodiments of the present application, the network device includes but is not limited to various forms of macro base stations (such as 111a in Figure 1 ), micro base stations or indoor stations (such as 111b in Figure 1The network device can include an evolved node B (eNB or eNodeB) in LTE, a radio controller in a cloud radio access network (CRAN) scenario, a network device in a future evolved public land mobile network (PLMN), an access point (AP) in a wireless fidelity (WiFi) system, a wireless relay node, a wireless backhaul node, a transmission point (TP) or a transmission reception point (TRP), and the like, and can also include a next generation NodeB (gNB) or a transmission point (TRP or TP) in a 5G system, one or a group of (including multiple antenna panels) antenna panels of a base station in a 5G system, a network node constituting a gNB or a transmission point, such as a baseband unit (BBU) or a distributed unit (DU), and can also include a network device, a server, a wearable device, or a vehicle-mounted device, and the like in a future mobile communication system and the like evolved after 5G. The network device can also be a module or unit that completes the function of the base station, for example, can be a central unit (CU), or can be a DU. In addition, the network device can be understood as a general term for all devices (including stations) on the network side, for example, a plurality of stations can be collectively referred to as a network device. The station refers to a transmission node that is specifically located at a physical location. In other words, the network device conceptually contains the station.
[0081] In the embodiments of the present application, the device for implementing the function of the network device can be the network device itself, or a device capable of supporting the network device to implement the function, such as a chip system or a chip, which can be installed in the network device. The chip system can be composed of a chip, or can include a chip and other discrete devices.
[0082] In another possible scenario, a plurality of network devices cooperates to assist a terminal to implement wireless access, and different network devices respectively implement part of functions of a base station. For example, a network device can be a CU, a DU, a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and the DU can be separately arranged, or can be included in a same network element, for example, in a BBU. The RU can be included in a radio frequency device or a radio frequency unit, for example, in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).
[0083] In different systems, the CU (or CU-CP and CU-UP), the DU, or the RU can also have different names, but a person skilled in the art can understand their meanings. For example, in an O-RAN system, the CU can also be referred to as an O-CU (open CU), the DU can also be referred to as an O-DU, the CU-CP can also be referred to as an O-CU-CP, the CU-UP can also be referred to as an O-CU-UP, and the RU can also be referred to as an O-RU. For the convenience of description, the CU, the CU-CP, the CU-UP, the DU, and the RU are taken as examples for description in this application. Any one of the CU (or the CU-CP, the CU-UP), the DU, and the RU in this application can be implemented by means of a software module, a hardware module, or a combination of a software module and a hardware module. The embodiments of this application do not limit the specific technology and the specific device form adopted by the network device.
[0084] The terminal device can be a device providing voice and / or data connectivity to users; the terminal device can also be a device having wireless connection function. The terminal device can be deployed on land, including indoor or outdoor, handheld or vehicle-mounted; can also be deployed on water surface (such as ships, etc.); can also be deployed in the air (such as airplanes, balloons and satellites, etc.). The terminal device can also be called user equipment (UE), access terminal, terminal, subscriber unit, user station, mobile station (MS), mobile terminal (MT), remote station, remote terminal, mobile device, user terminal, wireless network device, user agent or user apparatus. In the embodiments of the present application, the terminal device includes but is not limited to: cellular phone, mobile phone, wireless data card, wireless modem, pad, laptop computer, notebook computer, palm computer, mobile internet device (MID), computer with wireless transceiver function, cordless phone, session initiation protocol (SIP) phone, smart phone, wireless local loop (WLL) station, personal digital assistant (PDA), handset with wireless communication function, computing device or other device connected to wireless modem, vehicle-mounted device (such as automobile, bicycle, electric vehicle, airplane, ship, train, high-speed rail, etc.), wearable device (such as smart watch, smart bracelet, pedometer, smart glasses, etc.), satellite terminal, terminal device in Internet of Things or Internet of Vehicles, and any form of terminal in future network, relay user equipment or terminal in future evolved PLMN, etc.The terminal device can also be a virtual reality (VR) device, an augmented reality (AR) device, a smart point of sale (POS) machine, customer-premises equipment (CPE), a light terminal device (light UE), a reduced capability UE (RedCap UE), a machine type communication (MTC) terminal, a terminal device in industrial control, a terminal device in self driving, a terminal device in remote medical treatment, a terminal device in a smart grid, a wireless terminal in transportation safety, a terminal device in a smart city, a terminal device in a smart home, a haptic terminal device, a smart home device (for example, a refrigerator, a television, an air conditioner, an electricity meter, etc.), a smart robot, a mechanical arm, a workshop device, a wireless terminal in self driving, or a flying device (for example, a smart robot, a hot air balloon, a drone, an airplane), and the like. The terminal device can also be a vehicle device, for example, a transport vehicle with a wireless communication function, a communication module, a whole vehicle device, a vehicle-mounted module, a vehicle-mounted chip, an on board unit (OBU), or a telematics box (T-BOX), and the like. The terminal device can also be other devices with terminal functions, for example, the terminal device can also be a device that plays a terminal function in device to device (D2D) communication. The embodiments of the present application are not limited in this regard.
[0085] In the embodiments of the present application, the device for implementing the function of the terminal device can be a terminal device, or a device capable of supporting the terminal device to implement the function, such as a chip or a chip system, which can be installed in the terminal device. The chip system can be composed of a chip, or can include a chip and other discrete devices. In the technical solutions of the embodiments of the present application, the device for implementing the function of the terminal device is taken as an example of the terminal device. The terminal device can also be referred to as a terminal. The following can take the terminal device as an example of the UE to describe the technical solutions provided by the embodiments of the present application.
[0086] The roles of the base station and the terminal can be relative, for example, Figure 1The helicopters or unmanned aerial vehicles in the figure can be configured as base stations for terminal devices 112j accessing the wireless access network 110 through 112i, and the terminal devices 112i are base stations for the terminal devices 112j; but for the network device 111a, 112i is a terminal, that is, 111a and 112i communicate through a wireless air interface protocol. Of course, 111a and 112i can also communicate through a base station-to-base station interface protocol, in which case 112i is also a base station relative to 111a. Therefore, the base station and the terminal can be collectively referred to as a communication device, Figure 1 The 111a and 111b in the figure can be referred to as a communication device with a base station function, Figure 1 The 112a-112j in the figure can be referred to as a communication device with a terminal function.
[0087] The network device and the terminal device can communicate through a wireless link. The transmission link from the network device to the terminal device can be referred to as a downlink (DL) or a downlink channel, which is used to transmit a downlink signal. The transmission link from the terminal device to the network device can be referred to as an uplink (UL) or an uplink channel, which is used to transmit an uplink signal. The transmission link from the terminal device to the terminal device can be referred to as a sidelink (SL) or a sidelink channel. In the embodiments of the present application, multiple network devices can send information to multiple different terminal devices and receive information from multiple different terminal devices; multiple network devices can also send information to the same terminal device and receive information from the same terminal device, which is not limited in the present application.
[0088] The communication between different devices involved in the embodiments of the present application can mean direct communication between different devices (i.e. without the need for other devices to transfer or forward), or can mean communication between different devices through other devices (i.e. the need for other devices to transfer or forward), or can mean that a functional unit inside a device communicates with other devices through another functional unit. The information between the source and the destination of the information transmission can be processed as necessary, such as format change, digital-to-analog conversion, amplification, or filtering, etc., but the destination can understand the valid information from the source. Similar expressions in the present application can be understood similarly, and will not be repeated here.
[0089] Figure 2 is a schematic block diagram of another communication system. Figure 2 Taking the communication between the terminal device and the network device as an example.
[0090] As Figure 2As shown, the terminal device 210 can include a processor 211, a memory 212, and a transceiver 213. Exemplarily, the transceiver 213 can include a transmitter 2131, a receiver 2132, and an antenna 2133. The network device 220 can include a processor 221, a memory 222, and a transceiver 223. Exemplarily, the transceiver 223 can include a transmitter 2231, a receiver 2232, and an antenna 2233. The receiver 2132 can be configured to receive information from the network device 220 through the antenna 2133, and the transmitter 2131 can be configured to send information to the network device 220 through the antenna 2133. The transmitter 2231 can be configured to send information to the terminal device 210 through the antenna 2233, and the receiver 2232 can be configured to receive information from the terminal device 210 through the antenna 2233.
[0091] The network device in the embodiments of the present application can include a chip in the network device. For example, the network device can include the processor 221, the memory 222, and the transceiver 223. The terminal device in the embodiments of the present application can include a chip in the terminal device. For example, the terminal device can include the processor 211, the memory 212, and the transceiver 213.
[0092] Figure 3 is a schematic block diagram of another communication system. Figure 3 An O-RAN system is shown. The O-RAN system in the present application can include Figure 3 In addition to the components shown, other components can also be included, or only some of the components shown can be included. Figure 3 In the O-RAN system, some components can be included.
[0093] Referring to Figure 3 The network device can communicate with a core network device through a backhaul link 310, and communicate with a terminal device through an air interface. Exemplarily, a BBU in the network device can communicate with the core network device through the backhaul link 310. An RU in the network device can communicate with at least one terminal device through the air interface. The BBU can communicate with at least one RU through a front-haul link 330. The BBU and the RU can be co-located or not co-located. Exemplarily, the BBU can include at least one CU and at least one DU. The CU and the DU can communicate through at least one mid-haul link 320.
[0094] Figure 4 is a schematic diagram of network element function division and protocol layer structure of an O-RAN system. The O-RAN system in the embodiments of the present application can adopt Figure 4 The network element function and the protocol layer can be divided in part or all of the manners shown, or other manners can be adopted.
[0095] In some examples, the CU can be used to carry logical nodes of a radio resource control (RRC) layer, a service data adaptation protocol (SDAP) layer, a packet data convergence protocol (PDCP) layer, and other control functions of the access network device. Illustratively, the CU can be connected to network nodes such as a core network through some interfaces, for example, the interfaces can include an E2 interface and the like. Optionally, the CU has part of the functions of the core network.
[0096] Illustratively, the CU (e.g., a PDCP layer or a layer higher than PDCP) is connected to a DU (e.g., a radio link control (RLC) layer or a layer lower than RLC) through some interfaces, for example, the interfaces can be an F1 interface and the like. In some examples, the above-mentioned interface (e.g., the F1 interface) can provide CP and UP functions, for example, interface management, system information management, UE context management, RRC message transmission, and the like. The F1 interface can adopt an F1 application protocol (F1AP).
[0097] In some examples, the CU can be split into a CU-CP and a CU-UP.
[0098] The CU-CP can be used to carry logical nodes of an RRC layer and a PDCP control plane part (PDCP-C) layer, for implementing control plane functions of the CU. The CU-CP can interact with network elements in the core network for implementing control plane functions. Illustratively, the network element in the core network for implementing control plane functions can be an access and mobility function network element, for example, an access and mobility management function (AMF) in a 5G system. Illustratively, the AMF network element can be used to be responsible for mobility management in a mobile network, such as location updating of a terminal device, registration of the terminal device to a network, handover of the terminal device, and the like.
[0099] The CU-UP can be used to carry logical nodes of an SDAP layer and a PDCP user plane part (PDCP-U) layer, for implementing user plane functions of the CU. The CU-UP can interact with network elements in the core network for implementing user plane functions. For example, a user plane function (UPF) in a 5G system can be used to be responsible for forwarding and receiving data in a terminal device.
[0100] The above CU or DU configurations are merely examples; the functions of the CU or DU can be configured as needed. For instance, the CU or DU can be configured to have more protocol layer functions, or to have only some protocol layer processing functions. For example, some RLC layer functions and protocol layer functions above the RLC layer can be placed in the CU, while the remaining RLC layer functions and protocol layer functions below the RLC layer can be placed in the DU. Furthermore, the functions of the CU or DU can be divided according to service type or other system requirements, such as by latency. Functions that require low latency can be placed in the DU, while functions that do not require low latency can be placed in the CU.
[0101] In some examples, a DU can be used as a logical node to carry the RLC layer, medium access control (MAC) layer, higher physical layer (Higher PHY) layer, and other functions. In some examples, a DU can control at least one RU. For example, a DU can connect to an RU through interfaces, which may be fronthaul interfaces. In some examples, the Higher PHY layer may include PHY layer processing functions such as forward error correction (FEC) encoding, decoding, scrambling, modulation, or demodulation.
[0102] In some examples, the RU can be used as a logical node to host lower physical layer (PHY) and radio frequency (RF) chain processing. In some examples, the RU can be a 3rd Generation Partnership Project (3GPP) node. rd Entities with TRP, RRH, or other similar functions in the Generation Partnership Project (3GPP). In some examples, the Low PHY layer includes PHY processing functions such as Fast Fourier Transform (FFT), Inverse Fast Fourier Transform (IFFT), digital beamforming, or filtering. The RU can communicate with one or more UEs via a radio link.
[0103] The DU and the RU can or can not be co-located. For example, the DU and the RU can exchange control plane and user plane information via a lower-layer split control / user / synchronization (LLS-C / U / S) interface over a fronthaul link. For example, the O-RAN CUS plane in the DU can communicate with the O-RAN CUS plane in the RU over the LLS-C / U / S interface. Illustratively, the LLS-C / U / S can include a LLS-control (C) interface and a LLS-user (U) interface that provide CP and UP, respectively. In some examples, the CP can refer to real-time control between the DU and the RU. Management information can be exchanged between the DU and the RU over a LLS-management (M) interface of the fronthaul link, and the M plane can refer to non-real-time management operations between the DU and the RU. For example, the O-RAN M plane in the DU can communicate with the O-RAN M plane in the RU over the LLS-M interface. For another example, the O-RAN M plane in the DU or the RU can communicate with a management system over the LLS-M interface.
[0104] The DU and the RU can cooperate with each other to jointly implement the functionality of the PHY layer. For example, one DU can be connected to one or more RUs. The functionality of the DU and the RU can be configured in multiple ways according to design. For example, the DU can be configured to implement baseband functionality, and the RU can be configured to implement mid- radio frequency functionality. For another example, the DU is configured to implement high-layer functionality (e.g., high PHY) in the PHY layer, and the RU is configured to implement low-layer functionality (e.g., low PHY) in the PHY layer or to implement the low-layer functionality and radio frequency functionality (e.g., RF chain). The high-layer functionality in the PHY layer can include a portion of the functionality of the PHY layer that is closer to the MAC layer, and the low-layer functionality in the PHY layer can include another portion of the functionality of the PHY layer that is closer to the mid-radio frequency side.
[0105] Before introducing embodiments, terms related to the present application are described in detail.
[0106] 1. “Drop Stale Data” Mechanism
[0107] The current XR service (including VR, AR, cloud gaming, etc.) has the characteristics of strict delay budget, high throughput, burstiness and high reliability. For example, each frame of image of the XR service must be delivered and rendered within a specific time window (such as 5-20 ms). If this time window is missed, the data will lose its value due to timeout. For another example, losing a small number of data packets in a video frame may only cause a momentary slight screen flicker, which is acceptable to the user experience. However, if the subsequent multiple frames of data packets are delayed due to retransmission of data packets, it will cause serious lag and dizziness, which is worse for the user experience.
[0108] Under the traditional mechanism, when the sending device fails to transmit a PDCP data packet to the receiving device over the air, the RLC layer of the sending device will retransmit the PDCP data packet that fails to transmit. If the channel condition is poor, the PDCP data packet may be repeatedly retransmitted, even if it is eventually successfully delivered to the receiving device, it has far exceeded its rendering deadline, that is, it has missed the specific time window mentioned above. In this way, not only does the PDCP data packet itself become invalid, but it also blocks the transmission of subsequent more important new data packets, thereby causing a series of frame delays and seriously degrading the user experience.
[0109] To solve the above problem, the current stage introduces a "discard outdated data" mechanism. Specifically, the mechanism assigns a timer to each data packet of the PDCP layer, so that the protocol stack can determine whether to actively discard the data packet that is about to expire based on the time recorded by the timer. For example, the application that generates XR service data (such as a cloud game server) will stamp a timestamp on each data packet or each frame of data and indicate its rendering deadline. The timestamp and rendering deadline can be delivered to the core network such as the core network shown in FIG. 1 through a quality of service (QoS) flow, and ultimately delivered to the network device through the core network. The network device can configure a "discard timer (discardTimer)" for the corresponding data radio bearer according to the QoS characteristics of the XR service and the network status. Figure 1
[0110] For the transmitting device, when the PDCP layer receives a service data unit (SDU) from the upper layer, it calculates the "deadline" of the data packet according to its timestamp and rendering deadline. Then, each PDCP protocol data unit (PDU) is monitored by the discard timer when it is waiting for transmission or retransmission in the buffer. If the current time is close to or reaches the "deadline" of the data packet, the PDCP layer will discard the data packet immediately, regardless of whether the data packet is waiting for initial transmission or undergoing RLC retransmission. After discarding, the PDCP layer will notify the RLC layer to stop any operation on the data packet (including retransmission).
[0111] For the receiving device, the receiving device can confirm that the transmitting device discards a specific data packet through inter-layer signaling between the PDCP layers of the transmitting device. Alternatively, the receiving device can confirm that a data packet with a certain sequence number is not received in a timely manner through the timing of a local timer (e.g., a preset specific time threshold), and then determine that the data packet is discarded.
[0112] Through the "discard outdated data" mechanism, the perceived latency can be significantly reduced, and "zombie" data packets can be timely cleared, avoiding head-of-line blocking, so that subsequent new frame data can be transmitted more quickly to ensure timely delivery of subsequent frames and improve overall experience smoothness.
[0113] 2. Pseudo ACK
[0114] The RLC layer of the transmitting device maintains a sliding transmission window when transmitting data packets in acknowledged mode (AM). Only data packets with a serial number (SN) within the transmission window (e.g., SN x 1) can be transmitted by the RLC layer, and the advancement of the transmission window depends on the acknowledgment of the receiving device to the data packets at the lower end of the transmission window (i.e., data packets with SN x 1). In other words, after the transmitting device receives the ACK message sent by the receiving device to the data packets at the lower end of the transmission window, the transmission window advances, and the transmitting device can continue to transmit subsequent data packets (e.g., data packets with SN x 2). However, if the data packets at the lower end of the transmission window (i.e., data packets with SN x 1) have not been acknowledged or the transmitting device has not received the ACK message from the receiving device to the data packets, the transmission window will be stuck and unable to transmit any new data packets. That is, even if the subsequent data packets (e.g., data packets with SN x 2) have been acknowledged, they will not be transmitted.
[0115] As mentioned in the background section, the "discard outdated data" mechanism can cause the side effect of "stalling of the sending window" in the RLC layer. The reason is that the PDCP layer of the sending device decides to discard a data packet (e.g. SN= x 3) that is about to time out, but the RLC layer is unaware of this and thus, for the RLC layer, the data packet (SN= x 3) has already been sent by the RLC layer and the RLC layer is waiting for an acknowledgement feedback (e.g. ACK or NACK) from the receiving device for the data packet (SN= x 3). However, if the receiving device has not correctly received the data packet (SN= x 3), it will not send any feedback (i.e. no ACK or NACK) to the sending device for the data packet (SN= x 3). Further, the RLC layer of the sending device is stuck in a deadlock state of waiting for the feedback for the data packet (SN= x 3), causing the sending window to be stuck at the data packet (SN= x 3) and thus causing the sending window to stall.
[0116] To solve the problem of the sending window stalling, a pseudo-ACK scheme is proposed. Specifically, when the RLC layer of the receiving device knows that the PDCP layer of the sending device has discarded a data packet (e.g. SN= x 4), it can further know that the sending window of the RLC layer of the sending device is stalled due to the data packet (e.g. SN= x 4). Then, the RLC layer of the receiving device can generate and send a pseudo-ACK message for the data packet (SN= x 4) to move the sending window of the sending device forward. After receiving the pseudo-ACK message for the data packet (SN= x 4), the RLC layer of the sending device can consider that the data packet (SN= x 4) has been successfully received and thus move the lower edge of the sending window forward.
[0117] Since the receiving device has never actually received the data packet (SN= x 4) and the ACK message is only used to move the sending window of the sending device forward, the ACK message is also called a "pseudo-ACK" message. Through the pseudo-ACK message, the deadlock state of the sending window can be quickly broken and data transmission can be resumed, solving the problem of lagging and poor user experience. Moreover, the pseudo-ACK message has little impact on the existing protocol, and the ACK mechanism of the RLC layer is used without the need to define a new signaling primitive or make significant modifications to the RLC state machine, achieving backward compatibility and minimizing changes.
[0118] 3. Encryption counter, hyper frame number HFN
[0119] A cipher counter (counter, COUNT) is used to generate a cipher keystream, which is used by a transmitting device to encrypt a data packet or by a receiving device to decrypt a data packet, and ensures that each data packet is encrypted using a different keystream to prevent replay attacks and guarantee confidentiality. The COUNT value can be composed of two parts: a hyper frame number (HFN) and a sequence number (SN), i.e., COUNT = (HFN « n) | SN, where n is the number of bits of the SN (e.g., 12 or 18 bits).
[0120] The SN is a sequence number of each PDCP data packet, which is transmitted in a PDCP header and has a length of 12 or 18 bits. The HFN is a high-bit counter, which is maintained locally by the transmitting device and the receiving device. When the SN reaches a maximum value (i.e., 2 n -1) and wraps around to 0, the HFN is incremented by 1. For example, assuming that the SN has a length of 12 bits, the SN range is 0~4095. When the SN changes from 4095 to 0 (i.e., wraps around), the HFN is incremented by 1. In this way, the COUNT value changes from (HFN, 4095) to (HFN+1, 0), ensuring that the COUNT value is incremented and unique. In this way, even if the SN wraps around, the COUNT value is not repeated, thereby ensuring the uniqueness of the cipher keystream.
[0121] The transmitting device and the receiving device must keep the HFN synchronized, otherwise the decryption process of the receiving device will fail, thereby triggering a recovery mechanism such as RRC connection reestablishment.
[0122] The following describes the technical problems in the prior art.
[0123] As described in the foregoing background, the pseudo ACK will be mistakenly trusted by the PDCP layer of the transmitting device, thereby the PDCP layer of the transmitting device unilaterally advances the HFN provided in the cipher counter for encrypting the data packet, such as incrementing the value of the HFN. Since the receiving device does not receive the data packet, the HFN provided by the cipher counter of the receiving device for decrypting the data packet is not advanced, i.e., the value of the HFN remains unchanged. This results in the HFN of the transmitting device and the receiving device being "out of step".
[0124] In particular, the PDCP layer of the transmitting device maintains a transmitting state variable TX_Next and the PDCP layer of the receiving device maintains a receiving state variable RX_Next, the values of which respectively represent the next PDCP packet sequence number expected to be transmitted and received. The values of the two variables are usually the same, so that the transmitting device can transmit PDCP packets in sequence and the receiving device can process the received PDCP packets in sequence. When the transmitting device confirms that a packet with the same sequence number as TX_Next has been delivered, the value of TX_Next is incremented by 1. When the receiving device successfully receives and processes a packet with the same sequence number as RX_Next, RX_Next is incremented by 1.
[0125] For example, assuming that the SN length is 12 bits, when the PDCP layer of the transmitting device discards the packet with SN = 4095 and advances the transmitting window through the pseudo-ACK, the transmitting device considers that the packet with SN = 4095 has been successfully delivered. Then, TX_Next is wrapped from the maximum value 4095 to 0, and the PDCP layer of the transmitting device advances its HFN, for example, from 0 to 1. However, for the receiving device, if RX_Next is wrapped from the maximum value (e.g. 4095) to 0, the PDCP layer of the receiving device will increment the HFN by 1. However, in fact, since the packet with SN = 4095 is discarded, the PDCP layer of the receiving device does not receive the packet with SN = 4095, so the value of RX_Next remains at 4095 and is not wrapped, and therefore the HFN of the receiving device is not incremented, and remains at 0.
[0126] At this time, the value of the HFN of the transmitting device is 1 and the value of the HFN of the receiving device is 0, and the HFNs at the transmitting and receiving ends are not synchronized. Subsequently, the next packet (SN = 0) transmitted by the transmitting device is encrypted using COUNT = (HFN = 1, SN = 0), while the receiving device decrypts using COUNT = (HFN = 0, SN = 0), resulting in decryption failure. Furthermore, this HFN out-of-sync condition causes all subsequent packets to be incorrectly decrypted starting from the first out-of-sync packet, resulting in complete failure of the security context and the need to re-establish the PDCP connection (i.e. RRC connection re-establishment), ultimately leading to interruption of the XR service.
[0127] To solve the above technical problem, the present application proposes a communication method 500 which can prevent any illegal and additional HFN state advance caused by the pseudo-ACK message. Figure 5 A schematic flowchart of the communication method 500 is shown. As shown in Figure 5 The communication method 500 can include steps S510 to S540.
[0128] S510, the sending device sends the first data packet to the receiving device based on a first value of a frame number provided by the counter.
[0129] The sending device can be a terminal device, and the receiving device can be a network device, such as Figure 1 The communication between the terminal device 112i (such as a drone) and the network device 111a (such as a base station) is shown in FIG. 1, i.e., the terminal device 112i sends the first data packet to the network device 111a. Alternatively, the sending device can be a network device, and the receiving device can be a terminal device, such as Figure 1 The communication between the network device 111b (such as a station (STA)) and the terminal device 112f (such as a mobile phone) is shown in FIG. 1, i.e., the network device 111b sends the first data packet to the terminal device 112f. Alternatively, the sending device and the receiving device can both be terminal devices, such as Figure 1 The communication between the terminal device 112a (such as a mobile phone) and the terminal device 112b (such as a vehicle) is shown in FIG. 1, i.e., the terminal device 112a sends the first data packet to the terminal device 112b.
[0130] In step S510, the first value of the frame number provided by the counter is used by the sending device to send the first data packet. For example, in step S510, the counter can be the encryption counter described above, and the frame number can be the hyper frame number (HFN) described above. In other words, the sending device can encrypt the first data packet based on the value of the HFN provided by the encryption counter and send the encrypted first data packet to the receiving device. It should be noted that the counter in step S510 can also be other types of counters used to encrypt data packets, not just the encryption counter mentioned in the present application. The frame number can also be other types or other names of frame numbers, not just the HFN mentioned in the present application. For example, the encryption counter can also use other types of frame numbers to encrypt data packets. The present application does not limit this.
[0131] S520, the receiving device detects the first data packet sent by the sending device.
[0132] In other words, the sending device and the receiving device respectively encrypt and decrypt the first data packet based on the same first value of the frame number. For example, in the case where the counter is an encryption counter and the frame number is an HFN, the first data packet (SN=5) sent by the sending device can be encrypted using COUNT=(HFN=3, SN=5), and at this time the first value of the HFN is 3, and the receiving device will also use COUNT=(HFN=3, SN=5) to decrypt the first data packet (SN=5).
[0133] The way in which the receiving device detects the first data packet can refer to the current data packet detection mechanism, and the present application does not limit this.
[0134] S530, in case that the first data packet from the sending device is not received within the first time period, the receiving device sends a first acknowledgement message to the sending device.
[0135] Correspondingly, the sending device receives the first acknowledgement message from the receiving device. The first acknowledgement message is used for the sending device to confirm that the receiving device receives the first data packet. The first acknowledgement message includes first information, which is used to indicate that the first data packet is discarded. Compared with the existing pseudo ACK message, the first acknowledgement message further includes the first information, and the first information can indicate that the first data packet is discarded, such as not being delivered within the first time period and thus being discarded due to the “discard outdated data” mechanism, thereby more explicitly indicating that the first acknowledgement message is a pseudo ACK message.
[0136] In embodiments of the present application, the first acknowledgement message can include a radio link control (RLC) status protocol data unit (STATUS PDU), and the first information is included in the RLC STATUS PDU. For example, the RLC STATUS PDU can include a first field and a second field for carrying the first information. A second value of the first field is used to indicate that the receiving device confirms receiving the first data packet, and a third value of the second field is used to indicate that the first data packet is discarded. The third value corresponds to the first information. In some embodiments of the present application, the second field can be located in the reserved bit of the header of the RLC STATUS PDU.
[0137] Exemplarily, Figure 6 A schematic diagram of an RLC STATUS PDU provided by an embodiment of the present application is shown. As shown in the figure, Figure 6 The RLC STATUS PDU can include an RLC header and a payload part including an (ACK / NACK list). The RLC header includes a data / control field (D / C), a control PDU type (CPT) field, a reserved bit field, an acknowledgement sequence number (ACK_SN) field, and an extension field 1 (E1) field.
[0138] In embodiments of the present application, the RLC STATUS PDU marks the first data packet as a positive acknowledgement to implement the function of a pseudo ACK. For example, the first field can be the ACK_SN field, indicating the sequence number of the data packet that has been correctly received. The second value can be any value greater than the sequence number of the first data packet. For example, if the sequence number of the first data packet is 9, the second value of the ACK_SN field can be 10, indicating that the data packets with SN=0~9 have been correctly received.
[0139] For another example, the second field can be located in the reserved bit field of the header of the RLC STATUS PDU, for indicating whether the data packet is discarded. In other words, the embodiments of the present application can utilize one currently reserved bit of the RLC STATUS PDU as a flag for indicating whether the data packet is discarded, which can be named as a discard flag (D-Flag) field. For example, the D-Flag field can be set as 0 to indicate that the ACK / NACK carried in the RLC STATUS PDU reflects the real reception success or failure, and the D-Flag field can be set as 1 to correspond to the first information, which indicates that the SN in the ACK list carried in the RLC STATUS PDU is not successfully received, but is discarded due to the "discard obsolete data" mechanism. In this case, the third value can be 1 when the second field is the D-Flag field, and further correspond to the first information. Figure 6
[0140] Optionally, when the receiving device does not receive the first data packet from the sending device within the first time period, the RLC layer of the receiving device can determine that the first data packet is discarded due to the "discard obsolete data" mechanism, by receiving the inter-layer indication from the PDCP layer of the sending device as mentioned above. Alternatively, the receiving device can determine that the first data packet is discarded due to the "discard obsolete data" mechanism, by confirming that the detection time of the first data packet has exceeded the preset time length of the first time period by using a local timer.
[0141] S540, according to the first information, the sending device performs a security maintenance operation, which is used to determine that the value of the frame number of the counter remains as the first value.
[0142] In other words, according to the first information, the sending device determines that the first acknowledgement message is a pseudo ACK message rather than an ACK message of successful reception of the first data packet. Further, the sending device keeps the value of the frame number of the counter as the first value based on the pseudo ACK message, or in other words, the sending device skips the advancing operation of the frame number of the counter, i.e., the operation of incrementing the frame number of the counter. Through this step, the sending device can skip the erroneous security state update, and prevent the illegal state advancing caused by the pseudo ACK.
[0143] For example, as mentioned above, when the PDCP layer of the sending device discards the data packet with SN=4095 and advances the sending window by the pseudo ACK, the sending device considers that the data packet with SN=4095 is successfully sent, and thus considers that the frame number is incremented from 0 to 1. However, through step S540, the sending device determines, based on the first information, that the data packet with SN=4095 is discarded due to the "discard outdated data" mechanism and that the first acknowledgement message is a pseudo ACK message, and thus maintains the value of the frame number as 0, so as to be consistent with the value of the frame number of the receiving device, and to realize synchronization of the frame numbers of the sending device and the receiving device. In addition, the sending device can also move the lower edge of the sending window forward based on the first acknowledgement message, and thus send a new data packet to the receiving device.
[0144] Optionally, when the sending device continues to send a new data packet, such as a second data packet, the communication method 500 can further include S550, i.e., the receiving device performs a security maintenance operation according to the first information to determine that the value of the frame number of the counter is the first value. In other words, since the sending device maintains the first value of the frame number of the counter unchanged, the sending device still uses the frame number with the first value when encrypting the second data packet, and thus the receiving device determines to decrypt the second data packet based on the first value of the frame number.
[0145] Through the communication method 500, the erroneous security state update is skipped, any illegal and additional state advancement caused by the pseudo ACK message is prevented, and any erroneous security state update caused by the pseudo ACK message is prevented, and thus the security context of the sending device is prevented from being contaminated. For example, the XR game data stream is encrypted throughout, and the communication method 500 of the present application can eradicate the HFN security vulnerability, prevent decryption failure caused by HFN asynchronization, and thus avoid the catastrophic problem of game screen tearing or even application crash.
[0146] In addition, compared with the scheme in which the receiving device internally corrects the value of the frame number (i.e., the receiving device advances the frame number provided by the counter after sending the first acknowledgement message, and the sending device continues to perform the operation of advancing the frame number), the communication method 500 of the present application does not rely on the internal correction logic invisible to the opposite end for the security state of the sending device, but the sending device performs the operation of maintaining the value of the frame number, thereby reducing the uncertainty (such as the sending device being unable to determine whether the receiving device performs the operation of advancing the frame number) and the non-error-correcting property of the communication process, realizing self-control of risks, and finally building a more robust and more universal security protection system in architecture.
[0147] Optionally, in an embodiment of the present application, the identifiable signaling can also be used to statistically determine the packet loss acknowledgement delay, and thus to provide an evaluation index for QoS guarantee and resource management. For example, as mentioned above, the sending device can send a plurality of data packets to the receiving device, and the receiving device can send a plurality of acknowledgement messages to the sending device. Figure 5As shown, the communication method 500 may also include S515, S555, and S560 to S590.
[0148] In step S515, the transmitting device determines a first time node, which is the time node when the transmitting device sends the first data packet. For example, after processing the first data packet, the PDCP entity of the transmitting device starts a discard timer and records the timestamp T1 corresponding to the first time node, and associates and sends the first time node to the RLC entity of the transmitting device.
[0149] In step S555, the transmitting device determines a second time node and a first time length. The second time node is the time when the transmitting device receives the first acknowledgment message, and the first time length is the difference between the first and second time nodes. For example, after receiving the first acknowledgment message, the transmitting device's RLC entity records the timestamp T2 of the second time node. Furthermore, the transmitting device's RLC entity can obtain the first time length Δt = T2 - T1 based on the timestamps T1 and T2. This first time length can also be referred to as the delay for completing one end-to-end "packet loss acknowledgment" process. Therefore, in communication method 500, the first time length can be used to adjust the communication between the transmitting and receiving devices.
[0150] Figure 5 Three examples of adjusting the communication between the transmitting and receiving devices based on a first time length are also shown.
[0151] For example, if the transmitting device is a network device such as a base station, such as Figure 5 As shown in option 1, the communication method 500 further includes S560, in which the transmitting device adjusts the communication between the transmitting device and the receiving device according to a first time length. Specifically, the transmitting device may first determine fourth information based on the first time length, which is used to indicate a statistical indicator corresponding to the first time length, and then adjust the communication between the transmitting device and the receiving device based on the fourth information.
[0152] Optionally, the fourth information used to indicate the statistical indicators corresponding to the first time length may include the moving average of the first time length, the 95th percentile value, etc., or may include one or more of the statistical indicators such as the average latency of business data, extreme latency, service quality of business, link quality, and whether the link is congested.
[0153] For another example, if the sending device is a terminal device and the receiving device is a network device, the sending device can determine the fourth information according to the first time length, the fourth information being used to indicate the statistical index corresponding to the first time length. Then, the sending device sends the determined fourth information to the receiving device, so that the receiving device adjusts the network based on the fourth information. Further, as shown in option 2 in the table 1, the communication method 500 further includes S570 and S580. In step S570, the sending device sends the fourth information to the receiving device. Further, in step S580, the receiving device adjusts the communication between the sending device and the receiving device according to the fourth information. Figure 5
[0154] For another example, if both the sending device and the receiving device are terminal devices, the sending device needs to send the fourth information to other network devices, such as a network device providing services for the sending device. Further, as shown in option 3 in the table 1, the communication method 500 further includes S590, in which the sending device sends the fourth information to a network device (such as a network device providing services for the sending device), so that the network device adjusts the communication between the sending device and the receiving device according to the fourth information. Figure 5
[0155] Optionally, in the case that the sending device needs to send the fourth information to other devices, the fourth information can be carried in the UE assistance information. In other words, the sending device can report the fourth information to the receiving device or other network devices through the UE assistance information.
[0156] Optionally, in the embodiments of the present application, the measures for adjusting the communication between the sending device and the receiving device can include at least one of the following: determining the average delay and / or the extreme delay of the service data according to the multiple values of the first time length acquired multiple times, and then determining the user experience level; determining the quality of service of the XR service according to the first time length, and then outputting a final decision according to the optimization strategy preset by the network operator; determining whether the communication link is congested or the link quality is degraded according to the comparison between the first time length and the first time period preset by the discard timer, and then actively allocating more wireless resources (such as physical resource blocks (PRBs)) for the user corresponding to the XR service, or using a more robust modulation and coding scheme (MCS) level, or improving the priority of the uplink channel carrying the "pseudo ACK", in the case that the communication link is congested or the link quality is degraded.
[0157] Exemplarily, in the embodiments of the present application, a data buffer can be maintained, a queue for the data flow of the XR service or the user of the XR service is maintained, and the last N (such as 20) times of reported Δt measurement values are stored. Further, statistical calculation is performed on the N times of reported Δt measurement values. After receiving N times of Δt values, the RRC entity can calculate some key statistical indicators, for example, a sliding average value avg(Δt) can be calculated to observe the change of the average delay, and then the long-term trend and concentrated performance of the delay are judged to take optimization measures. For another example, a 95th percentile value p95(Δt) can be calculated to capture occasional extreme delay, and then the user experience bottom line is measured to take optimization measures. Among them, p95(Δt) can measure the “quasi-worst-case performance” of the network, and for the XR service, p95(Δt) can reflect whether the user will experience lag more than the average value.
[0158] For another example, in the embodiments of the present application, the final decision can be output according to the optimization strategy preset by the network operator and configurable. As a comprehensive indicator containing the processing and scheduling delay of the opposite end, Δt can adapt to different service requirements and operation targets, and can be used for service quality evaluation. For example, for the XR service, it is often not how good the average performance is, but how bad the worst case is that determines the user experience. The “packet loss confirmation” process itself is a typical “unhealthy” state, and Δt is a direct measurement of the system response capability in the “worst case”. Further, optimization based on Δt can truly improve the resilience of the system and ensure that the experience does not collapse when the network fluctuates.
[0159] For another example, when it is determined that the average value of Δt approaches the time threshold preset by the discard timer discardTimer (for example, approaches 70%), or p95(Δt) exceeds 90% of the time threshold preset by the discard timer, it can be regarded as a strong warning of congestion or link quality degradation. Further, more wireless resources (such as PRB) can be actively allocated to the user of the XR service, a more robust MCS level can be used, or the priority of the uplink channel carrying the “pseudo ACK” can be improved. For the XR user in motion, the continuous and rapid deterioration of Δt can indicate that the service capability of the current cell cannot meet the low delay requirement of the user, and then optimization measures can be taken to serve more accurate mobility management (such as handover decision).
[0160] Further, by measuring the specific time difference of Δt (packet loss confirmation delay), the RRC entity can adaptively adjust its future key parameters according to this feedback, and use the identifiable signaling to statistically measure the specific time difference of the packet loss confirmation delay, to provide an evaluation indicator for active QoS guarantee and resource management.
[0161] Optionally, the communication method 500 can be performed by respective entities of the transmitting device and the receiving device. Figure 7A and Figure 7B A schematic flowchart showing the communication method 500 performed by different entities of the transmitting device and the receiving device is shown. For example, as shown in Figure 7A and Figure 7B The transmitting device can include a first PDCP entity, a first RLC entity and a first RRC entity, and the receiving device can include a second PDCP entity, a second RLC entity and a second RRC entity.
[0162] As shown in Figure 7A corresponding to step S515, in step S702, the first PDCP entity processes the first data packet (the data packet at this time can include a PDU), starts a discard timer and records a first time node, and then in step S704, the first PDCP entity sends the processed first data packet such as an SDU to the first RLC entity. Corresponding to step S510, in step S706, the first RLC entity sends the first data packet to the second RLC entity based on the first value of the frame number provided by the counter. Then, corresponding to step S520, in step S708, the second RLC entity detects the first data packet, and corresponding to step S530, in step S710, the second RLC entity sends a first acknowledgement message to the first RLC entity.
[0163] At this time, in step S714, the first RLC entity sends second information to the first PDCP entity, the second information being used to indicate that the transmission and reception process of the first data packet has ended. The second information is an internal indication sent by the first RLC entity to the first PDCP entity, and can include the sequence number of the first data packet. Then, in step S716, the first PDCP entity deletes the first data packet and releases the memory of the first data packet. And, corresponding to step S540, in step S718, the first PDCP entity can perform a security maintenance operation to determine that the value of the frame number remains the first value according to the second information.
[0164] In addition, corresponding to step S550, in step S712, the second RLC entity sends fifth information to the second PDCP entity, the fifth information being used to indicate that the first data packet is discarded due to timeout and is acknowledged by the transmitting device to explicitly inform which data packet has been pseudo-acknowledged. This can enable the PDCP entity of the receiving device to update its state variables such as the aforementioned RX_Next according to the fifth information, so that it can subsequently synchronize with the transmitting device to advance the HFN. Then, in step S720, the second PDCP entity performs a security maintenance operation to determine that the value of the frame number remains the first value.
[0165] As shown in Figure 7BAs shown, corresponding to step S515, after the first PDCP entity determines the first time node through step S702, the first PDCP entity sends the first time node to the first RLC entity through step S722. Further, corresponding to step S555, in step S724, the first RLC node records a second time node when the first acknowledgement message is received and determines the first time length.
[0166] After that, in option 1 as shown in FIG. 7, corresponding to step S560, the first RLC entity sends third information including the first time length to the first PDCP entity, and the first PDCP entity forwards the third information to the first RRC entity, and further in step S730, the first RRC entity adjusts the communication between the sending device and the receiving device according to the first time length. Figure 7B Figure 7B As shown in option 2, after the first RRC entity receives the third information, the first RRC entity determines fourth information according to the third information, and further corresponding to step S570, the first RRC entity sends the fourth information to the second RRC entity. Finally, corresponding to step S580, the second RRC entity adjusts the communication between the sending device and the receiving device according to the fourth information.
[0167] In some embodiments of the present application, the aforementioned second information and third information can also be sent by the first RLC entity to the first PDCP entity through the same signaling. In other words, the signaling can simultaneously include the sequence number of the first data packet and the first time length.
[0168] Further, through the processes as shown in FIG. 8 and FIG. 9, the present application provides deterministic information for the sending device under the premise that the receiving device performs the internal correction operation, thereby realizing the closed loop of safety responsibility and the self-control of risk. Meanwhile, the identifiable signaling is used to statistically calculate the specific time difference (i.e., the first time length) of the packet loss confirmation delay, thereby providing an evaluation index for the active QoS guarantee and resource management. Figure 7A Figure 7B
[0169] The embodiments of the communication method 500 in the present application will be introduced below in combination with FIG. 10, FIG. 11 and FIG. 12. In the embodiment 1 introduced below, the sending device is a network device and the receiving device is a terminal device; in the embodiment 2, the sending device is a terminal device and the receiving device is a network device; in the embodiment 3, both the sending device and the receiving device are terminal devices. Figures 8 to 10
[0170] Figure 8 A flowchart illustrating the communication method 800 of Embodiment 1 is shown. The transmitting device is gNB 801, and the receiving device is UE 802. gNB 801 may be configured with a third PDCP entity, a third RLC entity, and a third RRC entity, while UE 802 may be configured with a fourth PDCP entity, a fourth RLC entity, and a fourth RRC entity. gNB 801 can be... Figure 1 The network device shown is 111a or 111b, and UE 802 can be... Figure 1 Any of the terminal devices shown. Furthermore, gNB 801 and UE 802 have established an RRC connection and configured a data bearer using RLC AM mode for XR services.
[0171] like Figure 8 As shown, corresponding to step S702, in step S802, the third PDCP entity of gNB 801 processes the downlink data packet with sequence number SN1, and corresponding to step S515, in step S804, the third PDCP entity starts a discard timer and records a timestamp T1. Corresponding to step S704, in step S806, the third PDCP entity sends the downlink data packet (SN1) to the third RLC entity. Then, corresponding to steps S510 and S706, in step S808, the third RLC entity sends the downlink data packet (SN1) (i.e., the first data packet) based on COUNT = (HFN = 1, SN = SN1), at which time the counter is the encryption counter COUNT, the frame number is the superframe number HFN, and the first value is 1.
[0172] Corresponding to steps S520 and S708, the fourth RLC entity detects the downlink data packet (SN1) and decides to abandon the downlink data packet (SN1) due to a local timer timeout. Then, corresponding to steps S530 and S710, the fourth RLC entity sends an RLC STATUS PDU (i.e., a first acknowledgment message) to the third RLC entity. The structure of this RLC STATUS PDU can be as follows: Figure 6corresponding to step S716, the third PDCP entity deletes the downlink packet (SN1) and releases the memory of the downlink packet (SN1), and corresponding to steps S540 and S718, the third PDCP entity performs the security keeping operation to determine that the value of the HFN keeps 1. In addition, corresponding to step S712, in step S812, the fourth RLC entity sends the fifth information to the fourth PDCP entity, and corresponding to steps S550 and S720, in step S822, the fourth PDCP entity performs the security keeping operation to determine that the value of the HFN keeps 1.
[0173] Then, corresponding to step S722, in step S824, the third PDCP entity sends the timestamp T1 to the third RLC entity. Corresponding to steps S555 and S724, in step S826, the third RLC entity determines the timestamp T2 and the At. Further, corresponding to steps S726 and S728, in step S828, the third RLC entity sends the third information to the third PDCP entity, and the third PDCP entity sends the third information to the third RRC entity. Finally, corresponding to steps S560 and S730, in step S830, the third RRC entity adjusts the communication between the gNB 801 and the UE 802 according to the At or the statistical index corresponding to the At.
[0174] Figure 9 A flowchart of the communication method 900 of embodiment 2 is shown. Wherein the sending device is the UE 901 and the receiving device is the gNB 902, the UE 901 can be provided with a fifth PDCP entity, a fifth RLC entity and a fifth RRC entity, and the gNB 902 can be provided with a sixth PDCP entity, a sixth RLC entity and a sixth RRC entity. The gNB 902 can be the network device 111a or 111b shown, and the UE 901 can be any terminal device shown. Figure 1 The gNB 902 and the UE 901 have established an RRC connection and configured one data bearer in RLC AM mode for XR service. Figure 1 The gNB 902 and the UE 901 have established an RRC connection and configured one data bearer in RLC AM mode for XR service.
[0175] As shown in FIG. 9, the UE 901 sends the first information to the gNB 902, and the gNB 902 sends the second information to the UE 901. Figure 9As shown, in the communication method 900, the steps S902 to S928 can refer to the description of the steps S802 to S828, and the method flow is basically the same, which will not be repeated here. The difference is that the PDCP entity executed is the fifth and sixth PDCP entity, the RLC entity is the fifth and sixth RLC entity, the RRC entity is the fifth and sixth RRC entity, and the UE 901 sends the uplink data packet SN2, and the first value of the hyper frame number HFN is 3. The different processes of the communication method 900 and the communication method 800 are described below.
[0176] Corresponding to step S732, after the fifth RRC entity receives the third information from the fifth RLC entity (the fifth PDCP entity forwards), the fourth information is determined according to the △t in the third information. Further, corresponding to steps S570 and S734, in step S932, the fifth RRC entity sends the fourth information to the sixth RRC entity. Finally, corresponding to steps S580 and S736, in step S934, the sixth RRC entity adjusts the communication between the UE 901 and the gNB 902 according to the fourth information.
[0177] Figure 10 A flowchart of the communication method 1000 of embodiment 3 is shown. Among them, the sending device is the UE 1001 and the receiving device is the UE 1002, the UE 1001 can be provided with the seventh PDCP entity, the seventh RLC entity and the seventh RRC entity, and the UE 1002 can be provided with the eighth PDCP entity, the eighth RLC entity and the eighth RRC entity. The UE 1001 can be Figure 1 Any terminal device as shown, the UE 1002 can be Figure 1 Any terminal device different from the UE 1001 as shown.
[0178] As Figure 10 As shown, in the communication method 1000, the steps S1002 to S1028 can refer to the description of the steps S802 to S828, and the method flow is basically the same, which will not be repeated here. The difference is that the PDCP entity executed is the seventh and eighth PDCP entity, the RLC entity is the seventh and eighth RLC entity, the RRC entity is the seventh and eighth RRC entity, and the UE 1001 sends the sidelink data packet SN3, and the first value of the hyper frame number HFN is 0. The different processes of the communication method 1000 and the communication method 800 are described below.
[0179] Corresponding to step S732, after the seventh RRC entity receives the third information from the seventh RLC entity (the seventh PDCP entity forwards), the fourth information is determined according to the in the third information. Further, corresponding to step S590, the seventh RRC entity sends the fourth information to the eighth RRC entity of the gNB 1003, so that the gNB 1003 adjusts the communication between the UE 1001 and the UE 1002. Wherein, the gNB 1003 can be a base station serving the UE 1001 and the UE 1002.
[0180] Exemplarily, the following embodiment 4 takes the high-definition video conference and quality of experience (QoE) monitoring scene as an example to introduce an example of the RRC entity adjusting the communication between the sending device and the receiving device. In a high-definition video conference with multiple participants, each participant has a dual role of data sending end (i.e. sending device) and receiving end (i.e. receiving device). Whether the conference can achieve a smooth experience depends on the network quality of each participant, and the network status of each participant directly affects the transmission efficiency and integrity of audio and video data, and then determines the overall conference effect.
[0181] When the network status of a participant is poor, causing the audio and video data packets corresponding to his speech to be discarded by other participants or the center server, the technical solution of the present application can play a key role in ensuring HFN synchronization. The scheme of the present application can not only ensure that the point-to-point secure session between participants or the secure session between participants and the center server is not destroyed, but also can avoid security problems such as session interruption and identity verification failure caused by data discarding, thereby ensuring the stability and security of conference communication.
[0182] Exemplarily, Δt becomes a core key performance indicator for measuring link quality of experience in this scenario. The conference center server can collect the Δt statistical values reported by all participants in real time, and establish a performance portrait of the whole link by aggregating the data. For example, based on real-time analysis of Δt data, the server can accurately locate the source of the current network problem, i.e. determine which participant's uplink network (link for sending audio and video data) or downlink network (link for receiving audio and video data) is abnormal.
[0183] Exemplarily, based on the analysis result of Δt, the server can make fine-grained business layer decisions to achieve intelligent scheduling. For example, the server can actively notify the user client with poor network, triggering it to automatically reduce the video sending code rate, reduce the data transmission amount to reduce the network burden, and avoid the spread of the participant's network problem affecting the conference experience of other participants. For another example, in the conference interface, mark "poor network" next to the avatar of the participant with poor network to let all participants intuitively understand the current situation, reduce misunderstandings caused by audio and video stalls and delays, and improve the overall participant experience.
[0184] Finally, the device embodiment of the embodiment of the application is introduced.
[0185] In order to realize the functions in the method provided by the application, the communication device such as a terminal device or a base station can include a hardware structure and / or a software module to realize the above-mentioned functions in the form of hardware structure, software module, or hardware structure plus software module. Whether a certain function in the above-mentioned functions is executed in the form of hardware structure, software module, or hardware structure plus software module depends on the specific application of the technical solution and the design constraint conditions.
[0186] Figure 11 is a schematic block diagram of the communication device 1100 of the embodiment of the application. The communication device 1100 can be a sending device such as a network device or a terminal device, or the communication device 1100 can be a receiving device such as a terminal device or a network device. In addition, the communication device 1100 can also be a chip or a module in the sending device or the receiving device, etc., for realizing the method related by the above-mentioned embodiments. The communication device 1100 includes a transceiver unit 1110 and a processing unit 1120. The transceiver unit 1110 is exemplarily introduced as follows.
[0187] The transceiver unit 1110 can include a sending unit and a receiving unit. The sending unit is used to execute the sending action of the communication device, and the receiving unit is used to execute the receiving action of the communication device. For the convenience of description, the sending unit and the receiving unit are combined into one transceiver unit in the embodiments of the application. This is uniformly described here, and will not be described again hereinafter.
[0188] In some embodiments of the application, the transceiver unit 1110 can also be referred to as a transceiver or a transceiver, etc., which can include an antenna and a radio frequency circuit, wherein the radio frequency circuit can be used for the conversion between a baseband signal and a radio frequency signal and the processing of the radio frequency signal, and the antenna can be used for transceiving the radio frequency signal in the form of electromagnetic wave. The foregoing radio frequency circuit and the foregoing antenna can be arranged independently of the processor performing the baseband processing, that is, as a separately arranged module, for example, in a distributed scenario, the radio frequency circuit and the antenna can be independently of the communication device and arranged in a radio frequency remote unit (RRU) in a remote manner.
[0189] In some other embodiments of the application, the transceiver unit 1110 can also be an input / output interface realized by only an input / output circuit.
[0190] When the communication device 1100 is a sending device, exemplarily, the transceiver unit 1110 is used to send the first data packet and receive the first acknowledgement message; the processing unit 1120 can be used to determine that the value of the frame number remains the first value.
[0191] When the communication apparatus 1100 is a receiving device, the transceiver 1110 is configured to receive the first data packet, and the processing unit 1120 is configured to send the first acknowledgement message.
[0192] The above description is only exemplary. When the communication apparatus 1100 is a sending device or a receiving device, it will be responsible for performing the methods or steps related to the sending device or the receiving device in the foregoing method embodiments.
[0193] Optionally, the communication apparatus 1100 further comprises a storage unit (not shown in the figure), which is configured to store programs or codes for performing the foregoing methods.
[0194] Figure 12 is a schematic block diagram of a communication apparatus 1200 according to an embodiment of the present application. The communication apparatus 1200 comprises a processor 1210 and a communication interface 1220, which can be connected to each other through a bus 1230. The communication apparatus 1200 can be a first device or a second device, etc. performing the communication method 800.
[0195] Optionally, the communication apparatus 1200 can further comprise a storage unit 1240. The storage unit 1240 comprises, but is not limited to, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read only memory (EPROM), or a compact disc read-only memory (CD-ROM), which is configured to store relevant instructions and data.
[0196] The processor 1210 can be one or more central processing units (CPUs). In the case where the processor 1210 is a CPU, the CPU can be a single-core CPU or a multi-core CPU.
[0197] The communication interface 1220 can comprise the foregoing antenna and the foregoing radio frequency circuit. The radio frequency circuit can be configured to convert a baseband signal and a radio frequency signal and process the radio frequency signal, and the antenna can be configured to transceive a radio frequency signal in the form of an electromagnetic wave. The foregoing radio frequency circuit and the foregoing antenna can be arranged independently of the processor performing baseband processing, i.e., as a separately arranged module. For example, in a distributed scenario, the radio frequency circuit and the antenna can be arranged in a remote radio unit (RRU) independently of the communication apparatus, i.e., in a pull-out manner.
[0198] When the communication apparatus 1200 is a sending device, the communication interface 1220 is configured to send the first data packet and receive the first acknowledgement message; and the processor 1210 is configured to determine that the value of the frame number remains the first value.
[0199] When the communication apparatus 1200 is a receiving device, the communication interface 1220 is configured to send the first acknowledgement message; and the processor 1210 is configured to detect the first data packet.
[0200] The above description is only exemplary. When the communication apparatus 1200 is a sending device or a receiving device, it will be responsible for performing the methods or steps related to the sending device or the receiving device in the foregoing method embodiments.
[0201] The above description is only exemplary. The specific content can be referred to the content shown in the foregoing method embodiments. Figure 12 The implementation of each operation of the communication apparatus 1300 can also correspond to the description of the method embodiments shown in Figures 5 to 10 .
[0202] Figure 11 The device embodiments shown in Figure 12 are used to implement the content described in Figures 5 to 10 . Figure 11 The specific execution steps of the device and the method can be referred to the content described in the foregoing method embodiments. Figure 12
[0203] Figure 13 is a schematic block diagram of a communication apparatus 1300 of an embodiment of the present application. The communication apparatus 1300 is configured to implement the functions of a sending device or a receiving device. The communication apparatus 1300 can be a chip in the sending device or the receiving device.
[0204] The communication apparatus 1300 comprises an input / output interface 1320 and a processor 1310. The input / output interface 1320 can be an input / output circuit. The processor 1310 can be a signal processor, a chip, or other integrated circuits that can implement the method of the present application. The input / output interface 1320 is configured to input or output signals or data.
[0205] For example, when the communication apparatus 1300 is a sending device, the input / output interface 1320 is configured to send the first data packet and receive the first acknowledgement message; and the processor 1310 is configured to determine that the value of the frame number remains the first value.
[0206] For example, when the communication apparatus 1300 is a receiving device, the input / output interface 1320 is configured to send the first acknowledgement message; and the processor 1310 is configured to detect the first data packet.
[0207] In a possible implementation, the processor 1310 implements the functions of the sending device or the receiving device by executing the instructions stored in the memory.
[0208] Optionally, the communication apparatus 1300 further includes a memory.
[0209] Optionally, the processor and the memory are integrated.
[0210] Optionally, the memory is outside the communication apparatus 1300.
[0211] In a possible implementation, the processor 1310 can be a logic circuit, and the processor 1310 inputs / outputs messages or signaling through the input / output interface 1320. The logic circuit can be a signal processor, a chip, or other integrated circuits that can implement the method of the embodiments of the present application.
[0212] The above description of the communication apparatus 1300 is only exemplary and can be used to execute the method described in the foregoing embodiments. Details can be referred to the description of the foregoing method embodiments, which will not be repeated here.
[0213] Optionally, the memory is outside the communication apparatus 1300.
[0214] In a possible implementation, the communication apparatus 1300 can be a chip system 1400.
[0215] Figure 14 FIG. 1 is a schematic diagram of a chip system 1400 provided by the embodiments of the present application. The chip system 1400 (or also referred to as a processing system) includes a logic circuit 1410 (i.e., a processor 1310) and an input / output interface 1420.
[0216] The logic circuit 1410 can be a processing circuit in the chip system 1400. The logic circuit 1410 can be coupled to a storage unit to invoke instructions in the storage unit, so that the chip system 1400 can implement the methods and functions of the embodiments of the present application. The input / output interface 1420 can be an input / output circuit in the chip system 1400, which outputs information processed by the chip system 1400 or inputs data or signaling information to be processed by the chip system 1400.
[0217] As an option, the chip system 1400 is configured to implement the operations performed by the sending device or the receiving device in the above method embodiments.
[0218] For example, the input / output interface 1420 is configured to implement the sending and / or receiving related operations performed by the sending device or the receiving device in the above method embodiments.
[0219] The above description of the communication device is only exemplary, which can be used to execute the method described in the foregoing embodiments, and the details can be referred to the description of the foregoing method embodiments, which will not be repeated here.
[0220] The application further provides a chip comprising a processor, which is configured to call and run instructions stored in a memory, so that a communication device installed with the chip executes the method in any of the examples.
[0221] The application further provides a chip comprising an input interface, an output interface and a processor, which are connected through internal connection paths, and the processor is configured to execute codes in a memory, and when the codes are executed, the processor is configured to execute the method in any of the examples. Optionally, the chip further comprises a memory configured to store computer programs or codes.
[0222] The application further provides a processor configured to be coupled with a memory, and configured to execute the method and functions of the sending device or the receiving device in any of the foregoing embodiments.
[0223] The application provides a computer program product comprising instructions, when the computer program product is executed on a computer, the method of the foregoing embodiments is implemented.
[0224] The application further provides a computer program, when the computer program is executed on a computer, the method of the foregoing embodiments is implemented.
[0225] The application further provides a computer readable storage medium, which stores a computer program, and when the computer program is executed on a computer, the method of the foregoing embodiments is implemented.
[0226] Those skilled in the art can understand that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the application.
[0227] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
[0228] In several embodiments provided in the present application, the disclosed system, device and method can be implemented in other manners. For example, the described device embodiments are merely illustrative. For example, the division of the units is only a logical function division. There can be another division manner for the actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different units, can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.
[0229] The units described as separated components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the technical solutions of the embodiments of the present application.
[0230] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be a physically separate unit, or two or more units can be integrated in one unit.
[0231] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application essentially or the parts that make contributions to the prior art, or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk, and various other media that can store program codes.
[0232] The above description is merely a specific implementation of the present application, but the protection scope of the embodiments of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the embodiments of the present application, which should be covered in the protection scope of the embodiments of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A communication method, characterized in that, Applied to transmitting devices, including: Based on the first value of the frame number provided by the counter, a first data packet is sent to the receiving device, wherein the first value of the frame number is used by the sending device to encrypt the first data packet; Receive a first confirmation message from the receiving device, the first confirmation message being used to confirm that the receiving device has received the first data packet, the first confirmation message including first information, the first information being used to indicate that the first data packet has been discarded; Based on the first information, a security retention operation is performed, wherein the security retention operation is used to determine that the frame number value of the counter is retained as the first value.
2. The method according to claim 1, characterized in that, The first confirmation message includes an RLC STATUS PDU, and the first information is included in the RLC STATUS PDU.
3. The method according to claim 2, characterized in that, The RLC STATUS PDU includes a first field and a second field for carrying the first information. The second value of the first field is used to indicate that the receiving device acknowledges receiving the first data packet, and the third value of the second field is used to indicate that the first data packet was actually discarded due to timeout. The third value corresponds to the first information.
4. The method according to claim 3, characterized in that, The second field is a reserved bit in the header of the RLC STATUS PDU.
5. The method according to any one of claims 1 to 4, characterized in that, The transmitting device is configured with a first PDCP entity and a first RLC entity, and receiving a first acknowledgment message from the receiving device includes: The first RLC entity receives the first confirmation message; After the first RLC entity receives the first confirmation message, the method further includes: Based on the first information, the first RLC entity sends the second information to the first PDCP entity, the second information being used to indicate that the sending and receiving process of the first data packet has been terminated; The first PDCP entity deletes the first data packet and releases the memory of the first data packet based on the second information.
6. The method according to any one of claims 1 to 4, characterized in that, The transmitting device is configured with a first PDCP entity and a first RLC entity, and receiving a first acknowledgment message from the receiving device includes: The first RLC entity receives the first confirmation message; Maintaining the frame number of the counter as the first value unchanged includes: Based on the first information, the first RLC entity sends the second information to the first PDCP entity, the second information being used to indicate that the sending and receiving process of the first data packet has been terminated; Based on the second information, the first PDCP entity performs the security maintenance operation to determine that the frame number is the first value.
7. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Determine the first time point when the sending device sends the first data packet and the second time point when it receives the first confirmation message; The difference between the first time node and the second time node is determined to be the first time length; The communication between the transmitting device and the receiving device is adjusted according to the first time length.
8. The method according to claim 7, characterized in that, The transmitting device is configured with a first RLC entity, a first PDCP entity, and a first RRC entity. Determining the first time point when the transmitting device transmits the first data packet and the second time point when it receives the first acknowledgment message includes: The first RLC entity receives the first time node from the first PDCP entity; The first RLC entity determines the second time point when it receives the first confirmation message; Determining the difference between the first time node and the second time node as the first time length includes: The first RLC entity determines the first time length; The step of adjusting the communication between the transmitting device and the receiving device according to the first time length includes: The first RLC entity sends third information to the first PDCP entity, the third information including the first time length; The first PDCP entity sends the third information to the first RRC entity; The first RRC entity adjusts the communication between the transmitting device and the receiving device based on the third information.
9. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Determine the first time point when the sending device sends the first data packet and the second time point when it receives the first confirmation message; The difference between the first time node and the second time node is determined to be the first time length; Based on the first time length, a fourth message is sent to the receiving device or the network device providing services to the sending device. The fourth message is used to indicate the statistical indicators corresponding to the first time length, and the fourth message is used by the receiving device or the network device to adjust the communication between the sending device and the receiving device.
10. The method according to claim 9, characterized in that, The transmitting device is configured with a first RLC entity, a first PDCP entity, and a first RRC entity. Determining the first time point when the transmitting device transmits the first data packet and the second time point when it receives the first acknowledgment message includes: The first RLC entity receives the first time node from the first PDCP entity; The first RLC entity determines the second time point when it receives the first confirmation message; Determining the difference between the first time node and the second time node as the first time length includes: The first RLC entity determines the first time length; Sending the fourth information to the receiving device or the network device providing services to the sending device according to the first time length includes: The first RLC entity sends third information to the first PDCP entity, the third information including the first time length; The first PDCP entity sends the third information to the first RRC entity; The first RRC entity determines the fourth information based on the third information and sends the fourth information to the second RRC entity of the receiving device or the third RRC entity of the network device providing services to the sending device.
11. A communication method, characterized in that, Applied to receiving devices, including: The receiving device detects the first data packet sent by the transmitting device, wherein the receiving device decrypts the first data packet based on a first value of the frame number provided by the counter; If the first data packet is not received from the sending device within a first time period, a first confirmation message is sent to the sending device. The first confirmation message is used by the sending device to confirm that the receiving device has received the first data packet. The first confirmation message includes first information, which is used to indicate that the first data packet was discarded.
12. The method according to claim 11, characterized in that, The first confirmation message includes an RLC STATUS PDU, and the first information is included in the RLC STATUS PDU.
13. The method according to claim 12, characterized in that, The RLC STATUS PDU includes a first field and a second field for carrying the first information. The second value of the first field is used to indicate that the receiving device acknowledges receiving the first data packet, and the third value of the second field is used to indicate that the first data packet was actually discarded due to timeout. The third value corresponds to the first information.
14. The method according to claim 13, characterized in that, The second field is a reserved bit in the header of the RLC STATUS PDU.
15. The method according to any one of claims 11 to 14, characterized in that, The receiving device is equipped with a second PDCP entity and a second RLC entity, and sending the first confirmation message to the transmitting device includes: The second RLC entity sends the first confirmation message to the second PDCP entity; The method further includes: Based on the first information, the second RLC entity sends a fifth message to the second PDCP entity, the fifth message indicating that the first data packet was dropped due to timeout and was acknowledged by the sending device.
16. The method according to any one of claims 11 to 14, characterized in that, The method further includes: The sending device receives fourth information, which is used to indicate a statistical indicator corresponding to a first time length. The first time length is the difference between a first time node and a second time node. The first time node is the time node when the sending device sends the first data packet, and the second time node is the time node when the sending device receives the first confirmation message. Based on the fourth information, the communication between the transmitting device and the receiving device is adjusted.
17. The method according to claim 16, characterized in that, The receiving device is equipped with a second RRC entity, and the receiving of the fourth information includes: The second RRC entity receives the fourth information from the first RRC entity of the transmitting device; The step of adjusting the communication between the transmitting device and the receiving device based on the fourth information includes: The second RRC entity adjusts the communication between the transmitting device and the receiving device based on the fourth information.
18. A communication device, characterized in that, The communication device includes a unit for implementing the method as described in any one of claims 1 to 10.
19. A communication device, characterized in that, The communication device includes a unit for implementing the method as described in any one of claims 11 to 17.
20. A communication device, characterized in that, include: A processor configured to be coupled to memory, read and execute instructions and / or program code in the memory to perform the method as claimed in any one of claims 1 to 10.
21. A communication device, characterized in that, include: A processor configured to be coupled to a memory, read and execute instructions and / or program code in the memory to perform the method as described in any one of claims 11 to 17.
22. A communication system, characterized in that, It includes at least one communication device as described in claim 18 and at least one communication device as described in claim 19.
23. A chip system, characterized in that, include: A logic circuit for coupling with an input / output interface, through which data is transmitted to perform the method as claimed in any one of claims 1 to 10, or to perform the method as claimed in any one of claims 11 to 17.
24. A computer-readable medium, characterized in that, The computer-readable medium stores program code that, when executed on a communication device, causes the communication device to perform the method as described in any one of claims 1 to 10, or the method as described in any one of claims 11 to 17.
25. A computer program product, characterized in that, It includes computer program code that, when run, implements the method as described in any one of claims 1 to 10, or implements the method as described in any one of claims 11 to 17.
Citation Information
Patent Citations
Communication method and communication apparatus
WO2022206983A1
Method and apparatus for enhanced radio link control transmission for extended reality in a wireless communication system
WO2025206654A1