Communication method and application device
By adding a probe indicator and timer mechanism to the data packets in the RLC layer, the retransmission process of the RLC layer is optimized, the problem of high retransmission latency in the RLC layer is solved, efficient data transmission is achieved, and the high bandwidth and low latency requirements of XR services are met.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2026-03-27
AI Technical Summary
The existing RLC layer retransmission mechanism suffers from high latency in critical data packets, resulting in low data transmission efficiency and failure to trigger retransmissions in a timely manner, thus failing to meet the ultra-high bandwidth and ultra-low latency requirements of XR services.
By adding a probe indication to the data packet with the largest sequence number and starting a timer, unacknowledged data packets can be retransmitted in a timely manner, improving retransmission efficiency. The data transmission process can be optimized by using timers and status reports, reducing signaling overhead.
It improves the retransmission efficiency of critical data packets with delays, enhances the effectiveness and timeliness of data transmission, and meets the high bandwidth and low latency requirements of XR services.
Smart Images

Figure CN121751247A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a communication method and application device. Background Technology
[0002] With the continuous development of communication systems, data transmission latency is constantly decreasing and transmission capacity is increasing. Fifth-generation (5G) communication systems are gradually giving rise to some multimedia services with strong real-time requirements, such as video transmission, cloud gaming, extended reality (XR), and haptic internet. To achieve an immersive experience of interaction between humans and the virtual world, XR services, with their ultra-high bandwidth and ultra-low latency requirements, have attracted much attention.
[0003] Because XR services have high latency requirements, the retransmission latency at the RLC layer is high. Therefore, enhancing RLC retransmission is considered to enable timely retransmission. In Rel-18 XR enhancement, the RLC layer can obtain latency-critical data, thus allowing for rapid retransmission of these packets. Latency-critical data refers to packets with remaining time less than a threshold. Currently, this timely triggering of RLC retransmission was not discussed at the meeting. Summary of the Invention
[0004] This application discloses a communication method and application device that can report a search (or polling) indication for the data packet with the largest sequence number among data packets with a remaining time less than or equal to the remaining time threshold (e.g., delayed critical data). This can save signaling, improve the retransmission efficiency of such data packets, and enhance the effectiveness of data transmission.
[0005] In a first aspect, embodiments of this application disclose a communication method applied to a first device. The first device can be a terminal device or a network device, or it can be executed by a component (e.g., a chip, a chip system, a circuit, or a means) within the terminal device or network device. The first device can be understood as a data packet sender. Besides sending data packets, the first device can also send probe instructions, and can receive status reports to indicate the reception status of data packets. The method includes: determining first data, where the first data packet is a second data packet with the largest sequence number, and the remaining time of the second data packet is less than or equal to a remaining time threshold; adding a first probe instruction to the first data packet, the first probe instruction being used to request a first status report; and sending the first data packet with the added first probe instruction. Thus, a probe instruction can be reported for the data packet with the largest sequence number among data packets with a remaining time less than or equal to the remaining time threshold (e.g., delayed critical data), saving signaling, improving the retransmission efficiency of such data packets, and enhancing the effectiveness of data transmission.
[0006] In some feasible examples, the method further includes starting a first timer based on sending the first data packet with the first probe indication added. That is, the first timer starts counting when the first data packet with the first probe indication added is sent.
[0007] The first timer is used to determine whether to retransmit the first probe indication. This can be understood as follows: if the first timer expires and no first status report is received, or if the received first status report does not include the reception status of the first data packet's serial number (SN), then the first probe indication can be retransmitted. The retransmitted first probe indication can be carried in data packets with a remaining time less than or equal to a remaining time threshold. This data packet can be the one with the largest SN among all data packets with a remaining time less than or equal to the remaining time threshold. The first timer is a timer specifically for data packets with a remaining time less than or equal to the remaining time threshold. In other words, the first timer is used to indicate whether data packets with a remaining time less than or equal to the remaining time threshold should be retransmitted. The first timer is only activated when a data packet with a remaining time less than or equal to the remaining time threshold carries the first probe indication, or when a data packet with a remaining time less than or equal to the remaining time threshold is retransmitted and the first probe indication is added to that data packet.
[0008] In some feasible examples, the method further includes: determining a third data packet, wherein the sequence number of the third data packet is greater than the sequence number of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold; adding the first probe indication to the third data packet; sending the third data packet with the first probe indication added; and restarting the first timer based on sending the third data packet with the first probe indication added. As mentioned above, the first timer is used to indicate whether data packets with a remaining time less than or equal to the remaining time threshold should be retransmitted. It can be understood that after starting the first timer based on sending the first data packet with the first probe indication added, if it is determined that the sequence number of the third data packet is greater than the sequence number of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold, then the first probe indication can be added to the third data packet, and the first timer can be restarted based on sending the third data packet with the first probe indication added. In this way, the reception status of the second data packet preceding the third data packet can be probed, that is, the reception status of the second data packet preceding the first data packet can be included, and even data packets with a remaining time less than the remaining time threshold preceding the third data packet can be probed, which can improve the accuracy of data retransmission.
[0009] In some feasible examples, the method further includes: retransmitting data packets with unreceived reception status and / or undiscarded remaining time less than or equal to the remaining time threshold upon the first timer expires or the first status report is received. This allows for timely retransmission of data packets with unreceived reception status and / or undiscarded remaining time less than or equal to the remaining time threshold, thus improving the efficiency of data transmission.
[0010] In some feasible examples, the method further includes stopping the first timer based on a first condition.
[0011] In some feasible examples, the first condition includes at least one of the following: the first data packet or the third data packet is dropped; the second data packet is dropped; data packets with remaining time less than or equal to the remaining time threshold are dropped; the second timer times out; the reception status of data packets with remaining time less than or equal to the remaining time threshold is obtained; the first status report is received, and the first status report includes the reception status of the first data packet, the third data packet, or the second data packet; wherein, the second timer is a timer started by a second probe instruction sent based on the second condition, and the second probe instruction is used to request the second status report; the second condition includes at least one of the following: the number of newly sent data packets or bytes is greater than or equal to a threshold; there are no data packets in the buffer that need to be newly transmitted or retransmitted.
[0012] It is understandable that if the first or third data packet is discarded, indicating that the first or third data packet in the second data of a data packet with remaining time less than or equal to the remaining time threshold is also discarded, there is no need to retransmit the first or third data packet, and the first timer can be stopped. Similarly, if the second data packet is discarded, indicating that the second data in a data packet with remaining time less than or equal to the remaining time threshold is also discarded, there is no need to retransmit the second data packet, and the first timer can be stopped. Furthermore, if a data packet with remaining time less than or equal to the remaining time threshold is discarded, indicating that the data packet with remaining time less than or equal to the remaining time threshold is also discarded, there is no need to retransmit the data packet, and the first timer can be stopped, thus preventing retransmission of data packets with remaining time less than or equal to the remaining time threshold.
[0013] In this embodiment, the second timer can be a timer started based on a second probe instruction sent under a second condition. It can be understood as a reconfiguration timer, i.e., a trigger condition for receiving a status report in the prior art. The second probe instruction is used to request a second status report, which can be understood as a status report in the prior art. The second timer is not targeted at data packets with remaining time less than or equal to a remaining time threshold. Data packets in the second status report include data packets with remaining time less than or equal to the remaining time threshold, and may also include data packets with remaining time greater than the remaining time threshold. It is understood that if the second timer times out, indicating that status reports for data packets with remaining time less than or equal to the remaining time threshold and data packets with remaining time greater than the remaining time threshold have not been sent, the first timer can be stopped, the second timer can be restarted, or data packets that were not discarded or not received can be retransmitted, or even unreceived data packets from among the data packets that were not discarded can be retransmitted.
[0014] It should be noted that the first timer and the second timer in this application can also be executed independently. That is, the first timer and the second timer can be decoupled, so that the operation of the first timer is not affected by the timeout of the second timer. Alternatively, the first timer and the second timer can be associated, such as stopping the first timer when the first condition is that the second timer times out, so that the operation of the first timer is affected by the second timer.
[0015] It is understood that if the reception status of a data packet with a remaining time less than or equal to the remaining time threshold is obtained, it can be determined that the first probe instruction triggered the second device to send the data packet reception status, and the first timer can be stopped. If a first status report is received, and the first status report includes the reception status of the first data packet, the third data packet, or the second data packet, it can be determined that the first probe instruction triggered the second device to send the first status report, and the first status report indicates the reception status of a data packet with a remaining time less than or equal to the remaining time threshold, and the first timer can be stopped.
[0016] It should be noted that the first condition above is merely an example. In practice, it can include other first conditions, combinations of at least two of the above first conditions, or combinations of one or more of the above six first conditions with other first conditions. For example, a second timer times out and retransmits a data packet with a remaining time less than a remaining time threshold.
[0017] In some feasible examples, the method further includes: determining the first data packet based on the discard configuration of the Protocol Data Unit (PDU) set; wherein the discard configuration of the PDU set is used to indicate discarding based on the PDU set. That is, if one data packet in the PDU set is discarded, all data packets are discarded. It can be understood that, based on the discard configuration of the PDU set, if there is a data packet in the PDU set with a remaining time less than or equal to a remaining time threshold, then the remaining time of all data packets in that PDU set is less than or equal to the remaining time; that is, if there is a second data packet in the PDU set, then all data packets in that PDU set are the second data packet.
[0018] In some feasible examples, the first data packet belongs to the PDU set, and the first probe indication is used to request the reception status of data packets in the PDU set. Thus, the first probe indication can be added to a data packet at the granularity of the PDU set, avoiding the need to add a first probe indication to every data packet in the PDU set, thereby saving signaling.
[0019] In some feasible examples, the method further includes: obtaining indication information of a first protocol layer based on the discard configuration of the PDU set; wherein the indication information is used to indicate that, when the data packet in the PDU set is the second data packet, the data packet in the PDU set that was last sent to the second protocol layer is the first data packet.
[0020] In some feasible examples, the method further includes: the protocol layer of the first device can receive different data packets at the same time, and the remaining time of these data packets may be the same. In this case, the remaining time of these data packets will be less than or equal to the remaining time threshold at the same time. Then the second data packet will include multiple data packets, of which the first data packet is the data packet with the largest sequence number in the second data packet.
[0021] In some feasible examples, the method also includes retransmitting data packets when the remaining time of the data packets is less than or equal to a remaining time threshold. In this case, the data packets in the second data packet are also transmitted, but only the first data packet is retransmitted with a first probe instruction.
[0022] In this configuration, the first protocol layer can be the PDCP layer, and the second protocol layer can be the RLC layer. It can be understood that, based on the PDU set's discard configuration, if a second data packet exists within the PDU set, all data packets in that PDU set are considered second data packets. According to the indication information from the first protocol layer, the first data packet can be determined as the latest second data packet sent to the second protocol layer within the PDU set. This allows the identification of the first data packet within the PDU set, and further, it identifies the data packet with the largest sequence number sent to the second protocol layer. Thus, the second protocol layer can determine that all data packets in the PDU set are second data packets and can identify the first data packet within that second data packet. A first probe indication can be added to this first data packet, improving the efficiency of timely retransmission.
[0023] In some feasible examples, the first probe indication is located in a second protocol layer subheader, which includes a first field indicating one of the following: a normal probe, an enhanced probe for a single packet, or an enhanced probe for the PDU set.
[0024] In some feasible examples, the second protocol layer subheader also includes a second field that indicates whether a probe indication is sent.
[0025] In some feasible examples, when the first field is a first value, the first field is used to indicate enhanced probing for the PDU set, and the second protocol layer subheading also includes a third field; or when the first field is not a first value, the first field is used to indicate one of the following: normal probing, enhanced probing for a single packet, or enhanced probing for the PDU set, and the second protocol layer subheading does not include a third field; wherein the third field is used to indicate the sequence number of the PDU set. Thus, the sequence number of the PDU set in the enhanced probing for the PDU set can be determined through the third field.
[0026] In some feasible examples, the second protocol layer subheader also includes a fourth field indicating the sequence number of the latest data packet sent to the second protocol layer from the PDU set, with the third field following the fourth field. Thus, the sequence number of the latest data packet sent to the second protocol layer from the PDU set, i.e., the sequence number of the first data packet, can be determined through the fourth field.
[0027] In some feasible examples, the first probe instruction is an enhanced probe, and the trigger time of the first status report is shorter than the trigger time of the third status report, which is triggered by a normal probe. Thus, after sending an enhanced probe instruction, a status report can be received more promptly compared to sending a normal probe instruction.
[0028] Secondly, embodiments of this application disclose another communication method applied to a second device. The second device can be a terminal device or a network device, or it can be executed by a component (e.g., a chip, a chip system, a circuit, or a means, etc.) within the terminal device or network device. The second device can be understood as a data packet receiver, and it can also be understood as a status report sender. The method includes: receiving a first data packet with a first probe indication; and sending a first status report, the first status report indicating the reception status of the data packet, the reception status including a non-received reception status, the non-received reception status including an unacknowledged reception status and a non-received status.
[0029] In some feasible examples, the receiving status may include an acknowledgment of receiving status.
[0030] In some feasible examples, the unacknowledged received data packets are determined to be unacknowledged received data packets by the reassembly timer timeout, or unacknowledged received data packets are determined based on the probe sequence number, or data packets that have been received and then discarded; the unreceived data packets are data packets that have not been determined to be unacknowledged received by the reassembly timer and have not been received.
[0031] In some feasible examples, the method further includes receiving unreceived and / or undiscarded data packets with remaining time less than or equal to the remaining time threshold.
[0032] In some feasible examples, the first data packet belongs to a Protocol Data Unit (PDU) set, and the first probe indicates the reception status of a data packet for the PDU set.
[0033] In some feasible examples, the first probe indication is located in a second protocol layer subheader, which includes a first field indicating one of the following: a normal probe, an enhanced probe for a single packet, or an enhanced probe for the PDU set.
[0034] In some feasible examples, the second protocol layer subheader also includes a second field that indicates whether a probe indication is sent.
[0035] In some feasible examples, when the first field is a first value, the first field is used to indicate the enhanced probe type of the PDU set, and the second protocol layer subheader also includes a third field; or when the first field is not a first value, the first field is used to indicate one of the following: normal probe type, enhanced probe type for a single packet, enhanced probe type for the PDU set, and the second protocol layer subheader does not include a third field; wherein the third field is used to indicate the sequence number of the PDU set.
[0036] In some feasible examples, the second protocol layer subheader also includes a fourth field indicating the sequence number of the latest data packet sent to the second protocol layer from the PDU set, with the third field following the fourth field.
[0037] In some feasible examples, the first exploration indication is an enhanced exploration, the trigger time of the first status report is less than the trigger time of the third status report, which is triggered by a normal exploration.
[0038] It should be understood that the second aspect is implemented by the second device, and the specific content of the second aspect corresponds to the content of the first aspect. The corresponding features and beneficial effects of the second aspect can be referenced in the description of the first aspect; to avoid repetition, detailed descriptions are appropriately omitted here.
[0039] Thirdly, embodiments of this application provide a communication device, including units, modules, or means for performing the steps in the first aspect, the second aspect, or any one of the above aspects.
[0040] Fourthly, embodiments of this application provide another communication device, which may be a first device or a second device, or may include devices within these devices, such as a chip, a chip system, or a circuit, or a device capable of performing related functions. The communication device includes a processor for executing instructions stored in a memory, which, when executed, implement the communication method in the feasible examples of the first aspect, the second aspect, or any one of the aspects described above.
[0041] In some feasible examples, the communication device also includes one or more of a memory and a transceiver used for sending and receiving data and / or signaling.
[0042] Fifthly, embodiments of this application disclose a computer-readable storage medium for storing instructions or computer programs that, when executed by a processor, cause the communication method in the feasible examples of the first aspect, the second aspect, or any other aspect described above to be executed.
[0043] In a sixth aspect, embodiments of this application disclose a computer program product, including stored instructions or a computer program, which, when executed by a processor, causes the communication method in the feasible examples of the first aspect, the second aspect, or any other aspect described above to be executed.
[0044] In a seventh aspect, embodiments of this application disclose a first type of chip, including a processor, which is configured to retrieve and execute instructions stored in a memory, causing a device equipped with the chip to perform the communication method in the feasible examples of the first aspect, the second aspect, or any other aspect described above.
[0045] Eighthly, embodiments of this application disclose a second type of chip, including: an input interface, an output interface, and a processing circuit. The input interface, the output interface, and the processing circuit are connected through an internal connection path. The processing circuit is used to execute the communication method in the feasible examples of the first aspect, the second aspect, or any one of the above aspects.
[0046] Ninthly, embodiments of this application disclose a third type of chip, including: an input interface, an output interface, and a processor. Optionally, it also includes a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the communication method in the feasible examples of the first aspect, the second aspect, or any one of the above aspects.
[0047] In a tenth aspect, embodiments of this application disclose a chip system including at least one processor, a memory, and an interface circuit. The memory, transceiver, and at least one processor are interconnected via lines. At least one memory stores a computer program. The computer program is executed by the processor using the communication method in the feasible examples of the first aspect, the second aspect, or any other aspect described above.
[0048] Eleventhly, embodiments of this application provide a communication system, which includes a communication device corresponding to a transmitting end and a communication device corresponding to a receiving end. When the communication device is running in the communication system, it is used to execute the methods described in the first aspect, the second aspect, or feasible examples.
[0049] It should be understood that the implementations and beneficial effects of the above-mentioned aspects of this application can be referenced from each other. Attached Figure Description
[0050] The accompanying drawings used in the embodiments of this application are described below.
[0051] Figure 1 This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application;
[0052] Figure 2This is a schematic diagram of the structure of a user plane protocol stack provided in an embodiment of this application;
[0053] Figure 3 This is a schematic diagram of a transmission window for an RLC provided in an embodiment of this application;
[0054] Figure 4 This is a schematic diagram of a receiving window of an RLC provided in an embodiment of this application;
[0055] Figure 5A This is a schematic diagram of the structure of a status report of a PDU with a 12-bit SN provided in an embodiment of this application;
[0056] Figure 5B This is a schematic diagram of the structure of a status report of a PDU with an 18-bit serial number (SN) provided in an embodiment of this application;
[0057] Figure 6A This is a schematic diagram of the structure of a 12-bit SN non-segmented data packet provided in an embodiment of this application;
[0058] Figure 6B This is a schematic diagram of the structure of an 18-bit SN non-segmented data packet provided in an embodiment of this application;
[0059] Figure 6C This is a schematic diagram of the structure of a 12-bit SN segmented data packet provided in an embodiment of this application;
[0060] Figure 6D This is a schematic diagram of the structure of an 18-bit SN segmented data packet provided in an embodiment of this application;
[0061] Figure 7 This is a flowchart illustrating a communication method provided in an embodiment of this application;
[0062] Figure 8A This is a schematic diagram illustrating a method for reporting search information, provided in an embodiment of this application.
[0063] Figure 8B This is a schematic diagram illustrating another method of reporting search information provided in an embodiment of this application;
[0064] Figure 9A This is a schematic diagram of the structure of a first exploration instruction provided in an embodiment of this application;
[0065] Figure 9B This is a schematic diagram of another first exploration instruction provided in an embodiment of this application;
[0066] Figure 10A A schematic diagram illustrating data transmission as provided in an embodiment of this application;
[0067] Figure 10B A schematic diagram illustrating another data transmission method provided in an embodiment of this application;
[0068] Figure 11 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0069] Figure 12 This is a schematic diagram of another communication device provided in an embodiment of this application;
[0070] Figure 13 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation
[0071] The technical solutions of this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, New Radio (NR) systems, Public Land Mobile Network (PLMN) systems, LTE Advanced (LTE-A) systems, Device-to-Device (D2D) communication systems, Machine-to-Machine (M2M) communication systems, Internet of Things (IoT), Narrow Band Internet of Things (NB-IoT), Integrated Sensing and Communication Systems, Frequency Division Duplex (FDD) systems, Time Division Duplex (TDD) systems, Non-Terrestrial Communication (NTN) systems, Wireless Projection Communication Systems, Integrated Access and Backhaul (IAB) communication systems, and communication systems evolved after 5G communication systems (e.g., 6G communication systems), or can be used for non-3rd Generation Partnership Project (3G) systems. This application does not limit the scope of projects, 3GPP communication systems, etc.
[0072] Please see Figure 1 , Figure 1 This is a schematic diagram of the architecture of a communication system provided in an embodiment of this application. Figure 1As shown, the communication system may include at least one terminal device 101 and at least one network device 102. The terminal device 101 can be wirelessly connected to the network device 102. Uplink or downlink communication can occur between the terminal device 101 and the network device 102, and sidelink communication can occur between the terminal devices 101 themselves.
[0073] Terminal device 101 can be fixed in location or it can be mobile. Terminal device 101 and network device 102 can be deployed on land, for example, indoors or outdoors, handheld or vehicle-mounted, etc. Terminal device 101 and network device 102 can also be deployed on water, in the air, on aircraft, balloons, and satellites, etc., and this application does not limit them in this way.
[0074] In this embodiment of the application, the terminal device 101 may be an entity on the user side used to receive or transmit signals. Terminal device 101 can be a mobile phone, tablet, computer with wireless transceiver function, VR terminal device, AR terminal device, customer premise equipment (CPE), IoT terminal, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, terminal in integrated communication and sensing, vehicle terminal, vehicle with vehicle-to-vehicle (V2X) communication capability, intelligent connected vehicle, drone with unmanned aerial vehicle (UAV) to UAV (U2U) communication capability, personal digital assistance (PDA), wireless communication module / chip in various devices such as smart factories or smart grids, etc., without limitation.
[0075] Terminal equipment 101 may be referred to as user equipment (UE), terminal, access terminal, UE unit, UE station, mobile device, mobile station, mobile station, mobile terminal, mobile client, mobile unit, remote station, remote terminal equipment, remote unit, wireless unit, wireless communication equipment, user agent, or user device, etc. Among these, the access terminal can be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, PDA, handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal equipment in a PLMN evolved after 5G communication systems, or terminal equipment in a non-public network (NPN) evolved after 5G communication systems, etc. In a 5G communication system, terminal equipment 101 will use New Radio (NR) technology to establish signal and data connections with network equipment 102, thereby transmitting control signals and service data to the data network.
[0076] Network device 102 can be an entity used to transmit or receive signals. It is primarily used to implement wireless physical control functions, resource scheduling and wireless resource management, wireless access control, and mobility management, providing reliable wireless transmission protocols and data encryption protocols. Network device 102 can support both wired and wireless access; it will be referred to as an access network device.
[0077] Optionally, the access network equipment can be an access network (AN) / radio access network (RAN) device, composed of multiple AN / RAN nodes. AN / RAN nodes can include, but are not limited to: access points (APs), enhanced node Bs (eNBs), home base stations (e.g., home evolved node Bs, or home node Bs, HNBs), base band units (BBUs), next-generation node Bs (gNBs), transmission reception points (TRPs), transmission points (TPs), or other access nodes, such as wireless relay nodes or wireless backhaul nodes. AN / RAN nodes can be one or more antenna panels, or network nodes constituting gNBs or transmission points, such as BBUs or distributed units (DUs), or devices performing base station functions in communication systems such as D2D, V2X, M2M, and U2U. AN / RAN nodes can be radio controllers in cloud radio access network (CRAN) scenarios, open RAN (O-RAN or ORAN), base stations in communication systems that evolve after 5G communication systems, such as xNodeB in 6G communication systems, or access network equipment in PLMN networks that evolve after 5G communication systems, etc., without any limitation.
[0078] The main functions of access network equipment include: managing radio resources, compressing Internet Protocol (IP) headers and encrypting user data streams, selecting the Mobility Management Entity (MME) when user equipment attaches, routing user plane data to the Service Gateway (SGW), organizing and sending paging messages, organizing and sending broadcast messages, and configuring measurement and measurement reports for mobility or scheduling purposes, etc.
[0079] Optionally, network device 102 may also include core network equipment, which is responsible for maintaining the subscription data of the mobile network, managing the network elements of the mobile network, and providing functions such as session management, mobility management, policy management, and security authentication for terminal device 101.
[0080] The NR radio protocol stack is divided into two planes: the user plane (UP) and the control plane (CP). The control plane protocol stack contains the protocol suite used for system control signaling transmission, while the user plane protocol stack contains the protocol suite used for user data transmission. Compared to the LTE protocol stack, the NR user plane protocol stack has an additional service data adaptation protocol (SDAP) layer. An example is provided using the UE as the terminal device and the gNB as the access network device. Figure 2 As shown, the user plane protocol stack, from top to bottom, consists of: SDAP layer, Packet Data Convergence Protocol (PDCP) layer, RLC layer, Medium Access Control (MAC) layer, and Physical (PHY) layer. The SDAP layer includes the Service Data Application Protocol, whose main functions are to mark Quality of Service (QoS) flow identifiers in uplink and downlink data packets and to map QoS flows to data radio bearers (DRBs). Data packet transmission on the user plane is primarily accomplished through DRBs. Depending on the QoS flow, data between the UE and gNB can be carried on multiple DRBs.
[0081] The PDCP layer is primarily responsible for compressing and decompressing Internet Protocol (IP) headers, transmitting user data and maintaining sequence numbers (SNs) for radio bearers (RBs) (used to indicate the order in which data packets are sent), as well as processing RRC messages on the control plane and IP packets on the user plane. On the user plane, after receiving IP data packets from the upper layer, the PDCP sublayer can compress and encrypt the IP data packets before delivering them to the RLC sublayer. The PDCP sublayer can also provide in-order delivery and duplicate packet detection functions to the upper layer based on the SN of the PDCP data packets.
[0082] The RLC layer communicates with the PDCP layer through the RLC channel and with the MAC layer through the logic channel (LCH). Its main functions include segmentation and reassembly of RLC service data units (SDUs), automatic repeat-request (ARQ) error correction, and duplicate detection.
[0083] The MAC layer is primarily responsible for handling the mapping between logical channels and transport channels, as well as the scheduling of radio resources. Its main functions include mapping between logical channels and transport channels, multiplexing and demultiplexing of logical channels, and scheduling. The PHY layer is located at the bottom of the air interface protocol stack and is mainly responsible for encoding, modulation, multi-antenna processing, and time-frequency resource mapping.
[0084] The SDAP layer, PDCP layer, RLC layer, MAC layer, and PHY layer can also be referred to as SDAP entities, PDCP entities, RLC entities, MAC entities, and PHY entities, or as SDAP network elements, PDCP network elements, RLC network elements, MAC network elements, and PHY network elements, or simply SDAP, PDCP, RLC, MAC, and PHY. It should be understood that the above network elements are merely illustrative. In practice, network elements can be network components implemented on dedicated hardware, software instances running on dedicated hardware, or instances of virtualized functions on a suitable platform, such as a cloud platform. In future communication systems, the above network elements may have other names, which are not limited in this application.
[0085] Access network equipment can configure whether the PDCP layer of the RB (Replication Module) of the terminal equipment should copy the data of the PDCP entity and then send the copied data through two or more different paths (such as two different RLC entities). The PDCP data copying function can be activated or deactivated via MAC-control element (MAC-CE) signaling. When configuring the PDCP data copying function of the RB, the access network equipment can configure whether the PDCP data copying function should be started immediately after configuration. When the RLC entity is active, the PDCP entity can send data to that RLC entity.
[0086] In the NR user plane protocol stack, the RLC layer communicates with the PDCP layer (or RRC layer) through the RLC channel and with the MAC layer through the LCH. RLC configuration is at the LCH level; one RLC entity corresponds to only one LCH for one terminal device. Data received by the RLC entity from or sent to the PDCP layer is called an RLC service data unit (SDU) (or PDCP protocol data unit (PDU)). Data received by the RLC entity from or sent to the MAC layer is called an RLC PDU (or MAC SDU). RLC PDUs are divided into RLC (data) PDUs and RLC (control) PDUs.
[0087] The RLC layer includes transparent mode (TM), acknowledged mode (AM), and unacknowledged mode (UM). In AM and UM modes, the RLC layer is primarily responsible for segmenting / reassembling RLC SDUs, reassembling RLC SDUs, and discarding reassembled RLC SDUs. In AM mode, it performs error correction, duplicate packet detection, re-segmentation of segmented RLC SDUs, and protocol error detection via ARQ. Furthermore, the RLC layer can also be used to implement PDUs from the transport layer and for RLC layer reconstruction.
[0088] This application primarily considers AM mode. The RLC data PDUs transmitted and received by the AM RLC entity are called Acknowledgement Mode Data (AMD) PDUs. Each AMD PDU contains either a complete RLC SDU or an RLC SDU segment. The RLC control PDUs transmitted and received by the AM RLC entity are called Status PDUs.
[0089] The sender of an AM RLC entity should prioritize transmitting RLC control PDUs via AMD PDUs. The sender of an AM RLC entity should prioritize transmitting AMD PDUs containing previously transmitted RLC SDUs or RLC SDU segments.
[0090] The transmitter of an AM RLC entity should maintain its transmission window based on the TX_Next_Ack status variable. The RLC transmission window can be found in [reference needed]. Figure 3 ,like Figure 3 As shown, the state variables of the RLC's transmission window include the TX_Next_Ack state variable and the TX_Next state variable. The TX_Next_Ack state variable is an acknowledgement state variable, representing the serial number (SN) of the next data packet received in sequence as an acknowledgement packet, and it is the lower boundary of the transmission window. Once the SN of a received data packet is TX_Next_Ack, TX_Next_Ack needs to be updated.
[0091] The TX_Next state variable is the send state variable, representing the SN number of the next newly generated AMDPDU. Once the AM RLC entity constructs an AMD PDU with the SN number of TX_Next to update TX_Next, or it can be understood as an update of the send window. This AMD PDU includes an RLC SDU or an RLC SDU segment.
[0092] AM_Windows_Size is the size of the AM window, which depends on the number of bits of the RLC SN and comprehensive considerations of data transmission speed and the system, and is determined by the protocol. For example, when using a 12-bit SN, AM_Windows_Size = 2024; when using an 18-bit SN, AM_Windows_Size = 131072.
[0093] As Figure 3 shown, if TX_Next_Ack <= SN < TX_Next_Ack + AM_Window_Size, SN will fall within the send window; otherwise, SN will fall outside the send window. The sending end of the AM RLC entity will not transmit any AMD PDU with SN falling outside the send window to the lower layer.
[0094] For each RLC SDU received from the upper layer, the AM RLC entity will: associate an SN of the RLC SDU = TX_Next and construct an AMD PDU by setting the SN of the AMD PDU = TX_Next, and then increment TX_Next by 1.
[0095] When transmitting an AMD PDU containing an RLC SDU segment to the lower layer, the sending end of the AM RLC entity should: set the SN of the AMD PDU to the SN of the corresponding RLC SDU.
[0096] The AM RLC sending end receives a positive acknowledgment of an RLC SDU (the peer AM RLC entity acknowledges successful reception) from the STATUS PDU of the peer AM RLD entity. When receiving a positive acknowledgment with the SN of an RLC SDU = x, the AM RLC peer entity will: send an indication to notify the upper layer that the RLC SDU has been successfully sent; set TX_Next_Ack to be equal to the smallest SN of the RLCSDU within the range TX_Next_Ack <= SN <= TX_Next and for which a positive acknowledgment has not been received.
[0097] The receiving end of the AM RLC entity will maintain a receive window through the state variable RX_Next. The receive window of the RLC can refer to Figure 4 , as Figure 4 shown, the status variables of the receive window of RLC include the RX_Next status variable, the RX_Next_Status_Trigger status variable, the RX_Next_Status_Trigger status variable, and the RX_Next_Highest status variable. Among them, AM_Window_Size can refer to the description of the transmit window and will not be elaborated here.
[0098] The RX_Next status variable is the receive state variable, indicating the SN number of the latest in-sequence and complete RLC SDU received, which is the lower boundary of the receive window. Once the AM RLC entity receives a packet with SN equal to RX_Next, it will be updated. The RX_Next_Status_Trigger is the t-Reassembly state variable of the re-assembly timer, which is the next SN of the SN of the RLC SDU that triggers the re-assembly timer. The RX_Highest_Status status variable indicates the highest possible SN number when the status PDU needs to be constructed, and this SN number can be indicated as "ACK_SN". The RX_Next_Highest status variable is the highest received state variable, indicating the next SN number of the highest SN number in the received RLC SDU.
[0099] As Figure 4 shown, if RX_Next <= SN < RX_Next + AM_Window_Size, SN falls within the receive window; otherwise, SN falls outside the receive window. When receiving an AMD PDU from the lower layer, the entity at the AM RLC receiver end will either discard the AMD PDU or place it in the receive buffer; if the received AMD PDU has been placed in the receive buffer: update the status variables, re-assemble and send the RLC SDU to the upper layer, and start or stop t-Reassembly as needed.
[0100] When t-Reassembly times out, the AM RLC receiver entity will: update the status variables and initiate t-Reassembly as needed. When an AMD PDU has been received from the underlying layer, where the AMD PDU contains byte segment numbers y to z of an RLC SDU with SN=x, the AM RLC receiver entity will: if x falls outside the receive window; if byte segment numbers y to z of the RLC SDU with SN=x have already been received; discard the received AMD PDU. Alternatively, place the received AMD PDU into the receive buffer. If some byte segments of the RLC SDU contained in the AMD PDU have already been received; discard the duplicate byte segments.
[0101] When the AMD PDU with SN=x has been placed in the receive buffer, the AM RLC entity receiver will: if x>=RX_Next_Highest, update RX_Next_Highest=x+1; if all bytes of the RLC SDU with SN=x have been received, reassemble the RLC SDU from the AMD PDU with SN=x, remove the RLC header field, and send the reassembled RLC SDU to the upper layer. If x=RX_Highest_Status, update RX_Highest_Status to the SN of the first RLC SDU whose SN>current RX_Highest_Status, but not yet have all bytes received. If x=RX_Next, update RX_Next to the SN of the first RLC SDU whose SN>current RX_Next, but not yet have all bytes received.
[0102] If t-Reassembly is running and RX_Next_Status_Trigger = RX_Next; or RX_Next_Status_Trigger = RX_Next + 1 and there is no lost byte segment of the SDU associated with SN = RX_Next before the last byte of all receive segments of this SDU; or RX_Next_Status_Trigger falls outside the receive window and RX_Next_Status_Trigger is not equal to RX_Next + AM_Window_Size, stop and reset t-Reassembly.
[0103] If t-Reassembly is not running and RX_Next_Highest > RX_Next+1; or if RX_Next_Highest = RX_Next+1 and at least one SDU lost byte segment associated with SN = RX_Next precedes the last byte of all received segments of that SDU, start t-Reassembly and set RX_Next_Status_Trigger = RX_Next_Highest.
[0104] When t-Reassembly times out, the AM RLC entity receiver will: update RX_Highest_Status of SN>=RX_Next_Status_Trigger to the SN of the first RLC SDU, but has not yet received all bytes; if RX_Next_Highest>RX_Highest_Status+1, or if RX_Next_Highest=RX_Highest_Status+1, and at least one SDU byte segment associated with SN=RX_Highest_Status is missing before the last byte of all received segments of this SDU, initiate t-Reassembly and set RX_Next_Status_Trigger=RX_Next_Highest.
[0105] In this embodiment, terminal device 101 and network device 102, network devices 102 and each other, and terminal devices 101 and each other can communicate using licensed spectrum, unlicensed spectrum, or both. This application does not limit the spectrum resources used by terminal device 101 and network device 102. Terminal device 101 and network device 102 can communicate via uplink (UL) or downlink (DL) via user equipment-user equipment (uu) interfaces, and terminal devices 101 and each other can communicate via sidelink (SL) via a sidelink interface (PC5 interface).
[0106] Two terminal devices 101 may be located within the coverage areas of different network devices 102, or they may be located within the coverage area of the same network device 102. If a single terminal device 101 is located within the same coverage area of two network devices 102, multi-station cooperative transmission can be performed through these two network devices 102. It should be understood that communication reliability can be improved when both network devices 102 send the same data and / or information to the terminal device 101.
[0107] In this embodiment, the terminal device or network device includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also referred to as main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Furthermore, this embodiment does not specifically limit the specific structure of the execution entity of the method provided in this embodiment, as long as it can communicate according to the method provided in this embodiment by running a program that records the code of the method provided in this embodiment. For example, the execution entity of the method provided in this embodiment can be a terminal device or a network device, or a functional module in the terminal device or network device that can call and execute a program.
[0108] Furthermore, various aspects or features of this application can be implemented as methods, apparatus, or articles of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" as used herein encompasses a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). The various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0109] It should be noted that, Figure 1 The number and types of network devices and terminal devices included in the network architecture shown are merely examples, and the embodiments of this application are not limited thereto. For example, it may also include more or fewer terminal devices communicating with network devices. As another example, it may also include more or fewer core network devices communicating with network devices. For the sake of simplicity, they are not described one by one in the accompanying drawings.
[0110] In such Figure 1 or Figure 2 Although network devices and terminal devices are shown in the figure, the application scenario may not be limited to network devices and terminal devices. For example, it may also include devices for carrying virtualized network functions. These are obvious to those skilled in the art and will not be described in detail here.
[0111] To facilitate understanding of the embodiments of this application, definitions of technical terms that may appear in the embodiments of this application are given below. The terminology used in the implementation section of this application is only used to explain specific embodiments of this application and is not intended to limit this application.
[0112] (1) Extended Reality (XR) can be a term for different types of reality. For example, XR can refer to all real and virtual combined environments and human-computer interactions generated by computer technology and wearable devices. XR services may include, but are not limited to, the following: augmented reality (AR), mixed reality (MR), and virtual reality (VR).
[0113] To enhance the user experience of interacting with the virtual world, XR services have stringent requirements for bandwidth and latency. In this embodiment, XR data can refer to data related to XR services. The transmission latency requirements for XR data / XR services are high; for example, the latency requirement for uplink XR data can be 30ms.
[0114] (2) Delay-critical data refers to the minimum remaining time that is less than a threshold (such as the remaining time threshold). The remaining time can be obtained by using the discard timer of each data packet in the PDCP entity application (starting or enabling) to count down the remaining time threshold. That is, the minimum remaining time is the minimum remaining value of the cached data packet in the discard timer.
[0115] In this embodiment, the remaining time can also be referred to as the remaining duration or remaining delay. Correspondingly, the remaining time threshold can also be referred to as the remaining duration threshold or remaining delay threshold. Data packets with a remaining time less than the remaining time threshold can be understood as data packets with insufficient remaining time (delay). Existing XR standards introduce the reporting of delay information based on data packets, such as reporting the delay-critical data volume of data packets with a remaining time less than the remaining time threshold through a delay status report (DSR). This delay-critical data volume can also be referred to as delay-sensitive data volume, or simply delay-critical data volume.
[0116] Optionally, the amount of delay-critical data may include delay-critical PDCP data, delay-critical RLC data, etc. Delay-critical PDCP data refers to PDCP data whose remaining timer is less than a remaining time threshold if the PDU-Set discard configuration is not configured. If the PDU-Set discard configuration is configured, and the PDCP data belongs to a PDU set, and the remaining time before the discard timer expires for data in that PDU set is less than the remaining time threshold, then the data in that PDU set is considered delay-critical PDCP data.
[0117] If a PDCP SDU is a delay-critical PDCP SDU, and the corresponding PDCP data PDU has been submitted to the lower layer, then the delay-critical indication of the PDCP data PDU is provided to the lower layer (such as RLC entities).
[0118] Optionally, in order to report DSR, the terminal device (MAC) may transmit a delay-critical PDCP data volume, which includes at least one of the following: delay-critical data for which a PDCP data PDU has not been constructed; a PDCP data PDU containing delay-critical data that has not been submitted to a lower layer (e.g., RLC layer); a PDCP control PDU; a PDCP SDU to be retransmitted for AM DRB; or a PDCP data PDU to be retransmitted for AM DRB.
[0119] In this embodiment, the delay-critical RLC data volume is the data volume of the RLC layer. Optionally, in order to report DSR, the terminal device (or the RLC entity in the terminal device) may transmit the delay-critical RLC data volume. This delay-critical RLC data volume includes at least one of the following: a delay-critical RLC SDU and / or a delay-critical RLC SDU segment not included in the RLC data PDU; an RLC data PDU awaiting initial transmission, wherein the RLC data PDU contains a delay-critical RLC SDU and / or a delay-critical RLC SDU segment; an RLC data PDU awaiting retransmission (RLC AM); and an RLC control PDU.
[0120] (3) Status report, used to indicate the receiving status of the data packets sent by the sending end. The status report includes acknowledgment (ACK) information to indicate that the receiving status is confirmed, and may also include negative acknowledgment (NACK) information to indicate that the receiving status is negative acknowledgment.
[0121] The ACK information can determine the data packets received by the receiving end. The NACK information can determine the data packets not received by the receiving end. In this embodiment, the reception state where a data packet is determined not to be received can be called state 1, or unacknowledged reception state. The reception state where a data packet cannot be determined not to be received, nor a received data packet, based on the NACK and ACK information can be called state 2, or unreceived state. State 1 and state 2 can be collectively referred to as the unreceived reception state.
[0122] Optionally, packets in State 1 are unacknowledged packets (e.g., those already considered lost) determined by a reassembly timer timeout, or unacknowledged packets determined by polling (e.g., the SN of a received packet triggered by poll is less than RX_Highest_Status, or greater than RX_Next+AM_Window_Size), or packets discarded based on having already been received (e.g., the packet has already been received). Packets in State 2 are packets that were not determined to be unacknowledged by the reassembly timer and were not received. In other words, State 1 applies to packets that have been confirmed as lost. State 2 applies to packets that were not received and were not determined to be unreceived.
[0123] The prerequisites for the receiving end to send a status report may include: the reorganization timer expires, and / or, receiving a polling indication from the peer (i.e., the sending end) and meeting certain sending conditions (e.g., the SN of the polled data packet is less than RX_Highest_Status, or greater than RX_Next + AM_Window_Size). That is to say, when the reorganization timer expires, the receiving end can be triggered to send a status report. Or, after the sending end sends a polling indication to the receiving end, if the receiving end meets the sending conditions, the receiving end can be triggered to send a status report.
[0124] (4) The polling indication is sent from the sending end to the receiving end to request a status report to indicate whether the data packets sent by the sending end are received correctly. The polling indication in the prior art can be referred to as a legacy poll, and the conditions for triggering a status report may include: the number of newly sent bytes or data packets is greater than or equal to a threshold; there are no data packets that need to be newly transmitted or retransmitted in the buffer.
[0125] After receiving the polling indication, the receiving end does not immediately send a status report to the sending end, but needs to check whether the SN of the polled data packet meets the conditions. For example, in the case where SN is x, a status report can be sent when x < RX_Highest_Status, or x >= RX_Next + AM_Window_Size. That is to say, the receiving end can send a status report for data packets with SN less than RX_Highest_Status, or when the window has overflowed, a status report can be sent to feedback the current status information of the received data packets.
[0126] The RLC status report sent from the receiving end to the sending end may include a status report payload and an RLC control PDU header. The RLC control PDU header includes a data or control (D / C) and a control PDU type (CPT) field. Among them, the status report with a 12-bit SN of the PDU can be referred to Figure 5A and the status report with an 18-bit SN of the PDU can be referred to Figure 5B .
[0127] In Figure 5A or Figure 5BIn the status report shown, the D / C field, occupying 1 bit, is used to indicate whether it is a control PDU or a data PDU. The CPT field, occupying 3 bits, is used to indicate the type of RLC control PDU. The ACK_SN field, which can occupy 4 bits, is used to indicate the SN of the next RLC SDU that has not been received, and this RLC SDU is not reported as lost in the status report. When the sending end receives the status report, in addition to indicating the following in the status report: (1) RLC SDUs with NACK_SN; (2) RLC SDUs with NACK_SN and sequence number start (SOstart) and sequence number end (SOend); (3) RLC SDUs with NACK_SN and denial range (NACK_range); (4) RLC SDUs with NACK_SN, NACK range, SOstart, and SOend. These RLC SDUs, excluding all RLC SDUs with ACK_SN, have been received. That is, all RLC SDUs smaller than ACK_SN except for the above 4 types of RLC SDUs have been correctly received.
[0128] The NACK_SN field, in Figure 5A It occupies 12 bits, in Figure 5B It occupies 18 bits and is used to indicate that the RLCSDU (or RLC SDU segment) of this SN was detected and discarded on the receiving side.
[0129] exist Figure 5A or Figure 5B In the status report shown, the E1 field, occupying 1 bit, indicates whether NACK_SN, E1, E2, and E3 will follow. E1 being 0 indicates that NACK_SN, E1, E2, and E3 will not follow. The E2 field, occupying 1 bit, indicates whether SOstart and SOend will follow, thus indicating whether it is an RLC SDU segment. The explanation of the E1 field can be found in Table 1 below, and the explanation of the E2 field can be found in Table 2.
[0130] Table 1
[0131] value describe 0 There are no E1, E2, and E3 after a set of NACK_SN. 1 A set of NACK_SNs is followed by E1, E2, and E3.
[0132] Table 2
[0133] value describe 0 There is no SOstart and SO after a set of NACK_SN. 1 A set of NACK_SNs is followed by SOstart and SO
[0134] The SO start field occupies 16 bits. The SO start field (together with the SO end field) is used to indicate that a portion (segment) of the RLC SDU with SN NACK_SN has been detected and discarded. The SO start field indicates the position of the first byte of the RLC SDU portion in the original RLC SDU. That is, the first byte of the original RLC SDU is 0000000000000000, meaning it starts at 0.
[0135] The SO end field occupies 16 bits. When E3 is 0, the SO end field (together with the SO start field) indicates that a portion (segment) of the RLC SDU with SN of NACK_SN (SOend associated with SOend) has been detected as lost. The SO end field indicates the position of the last byte of the RLC SDU portion in the original RLC SDU. When E3 is 1, the SO end field indicates that a portion of the RLC SDU with SN of NACK_SN+NACK range–1 has been detected as lost.
[0136] The E3 field, occupying 1 bit, is used to indicate whether there is a consecutive sequence of RLC SDUs that have not been received. The interpretation of the E3 field can be found in Table 3. The NACK range field, occupying 8 bits, is used to indicate the number of consecutively lost RLC SDUs starting from NACK_SN.
[0137] Table 3
[0138] value describe 0 There is no consecutive NACK range field after NACK_SN. 1 NACK_SN is followed by a continuous NACK range field.
[0139] In existing technology, after sending a probe instruction, a probe retransmission timer is started. If a status report is received, and the status report includes the reception status of the SN of the data packet in the probe instruction, the probe retransmission timer is stopped; if the probe retransmission timer times out, and both the transmission buffer and the retransmission buffer are empty or there is no new data to be sent, the data packet corresponding to the largest SN at the bottom layer and the data packet for which no acknowledgment has been received are retransmitted, and the probe instruction is transmitted.
[0140] The data packets in the search indication can include: 12-bit SN unfragmented packets, 18-bit SN unfragmented packets, 12-bit SN fragmented packets, and 18-bit SN fragmented packets. A diagram of a 12-bit SN unfragmented packet can be found here. Figure 6A A schematic diagram of an 18-bit SN non-fragmented data packet can be found by referring to... Figure 6B A diagram of a 12-bit SN segmented data packet can be found by referring to... Figure 6C A diagram of an 18-bit SN segmented data packet can be found by referring to... Figure 6D The SO field occupies 16 bits. Please refer to the description of the SO start field mentioned above, which will not be repeated here.
[0141] exist Figures 6A to 6D In this context, the Probe (P) field occupies 1 bit and is used to indicate whether the sending end of the AM RLC entity requests a status report from the peer AM RLC entity. The explanation of the P field can be found in Table 4.
[0142] Table 4
[0143] value describe 0 Do not request status report 1 Request a status report
[0144] The sequence information (SI) field occupies 2 bits and is used to indicate whether there is a segmented RLC SDU in the RLC PDU. The interpretation of the SI field can be found in Table 5.
[0145] Table 5
[0146] value describe 00 The data fields contain all RLC SDU segments. 01 The data fields contain the segments of the first RLC SDU. 10 The data fields contain the segment of the last RLC SDU. 11 The data fields do not contain segments from the first RLC SDU, nor do they contain segments from the last RLC SDU.
[0147] When the PDU set is configured to be dropped, if even one packet in the PDU set is a delay-critical packet, then all packets in the PDU set will be delay-critical packets. The 12-bit status report with a SN has no spare bits for sending probe indications, causing each delayed packet in the PDU set to require a new format for sending probe indications, which consumes a significant amount of signaling.
[0148] When a status report is delayed (i.e., for a data packet with a SN greater than RX_Highest_Status), the receiver still needs to wait for the reassembly timer to expire before determining the reception status of the data packet. Therefore, after the sender sends the probe indication, there may be a delay before the receiver can determine the reception status, thus preventing a timely status report. Even if probe indications are triggered frequently or status reports are triggered promptly, the reception status of the probed data packet cannot be determined.
[0149] In addition, one of the reasons for introducing timely retransmission is that XR services have high latency requirements. Since the retransmission latency of the current RLC layer is high, we are considering enhancing RLC retransmission to enable timely retransmission.
[0150] To improve the retransmission efficiency of data packets and enhance the effectiveness of data transmission, this application proposes a communication method. The communication device involved in this method can be referred to... Figure 1 and Figure 2The description is as follows. In this application, the first and second devices can be terminal devices or network devices, or can be implemented by devices within the terminal device or network device (e.g., a chip, chip system, circuit, or means, etc.). Specifically, they can be implemented by a PDCP entity or RLC entity within the terminal device or network device. The first device can be understood as a data packet sender; in addition to sending data packets, this first device can also send probe instructions, etc., and can receive status reports to indicate the data packet reception status. The second device can be understood as a data packet receiver; this second device can also be understood as a status report sender.
[0151] Please refer to Figure 7 , Figure 7 This is a flowchart illustrating a communication method provided in an embodiment of this application. The communication method includes the following steps:
[0152] S701, the first device determines the first data packet, the first data packet is the second data packet with the largest sequence number, and the remaining time of the second data packet is less than or equal to the remaining time threshold.
[0153] The second data packet can be the aforementioned delay-critical data, or it can be any other data packet with a remaining time less than or equal to the remaining time threshold. It should be noted that data packets with a remaining time less than or equal to the remaining time threshold include the second data packet. In other words, data packets with a remaining time less than or equal to the remaining time threshold can include other data packets besides the second data packet. That is, the range of data packets with a remaining time less than or equal to the remaining time threshold is greater than the range of the second data packet.
[0154] The first data packet is the second data packet with the largest sequence number. That is, the second data packet includes the first data packet, the remaining time of the first data packet is less than or equal to the remaining time threshold, and it is the last second data packet sent to the lower layer. For example, if the first device is at the PDCP layer, then the first data packet is the last second data packet sent to the RLC layer.
[0155] In some feasible examples, the method further includes: a first device determining a first data packet based on a PDU set discard configuration. The PDU set discard configuration is used to indicate PDU set-based discarding. That is, if one data packet in the PDU set is discarded, all data packets are discarded. Further descriptions of the PDU set discard configuration can be found elsewhere and will not be repeated here. It can be understood that, based on the PDU set discard configuration, if there is a data packet in the PDU set with a remaining time less than or equal to a remaining time threshold, then the remaining time of all data packets in that PDU set is less than or equal to the remaining time. In other words, if there is a second data packet in the PDU set, then all data packets in that PDU set are the second data packet.
[0156] In some feasible examples, the method further includes: the first device obtaining indication information of a first protocol layer based on the discard configuration of the PDU set. This indication information is used to indicate that, in the case that a data packet in the PDU set is the second data packet, the data packet in the PDU set that was last sent to the second protocol layer is the first data packet.
[0157] In some feasible examples, the method further includes: the protocol layer of the first device can receive different data packets at the same time, and the remaining time of these data packets may be the same. In this case, the remaining time of these data packets will be less than or equal to the remaining time threshold at the same time. Then the second data packet will include multiple data packets, of which the first data packet is the data packet with the largest sequence number in the second data packet.
[0158] In some feasible examples, the method also includes retransmitting data packets when the remaining time of the data packets is less than or equal to a remaining time threshold. In this case, the data packets in the second data packet are also transmitted, but only the first data packet is retransmitted with a first probe instruction.
[0159] If the first protocol layer can be the PDCP layer, then the second protocol layer can be the RLC layer.
[0160] It is understandable that, based on the PDU set's discard configuration, if a second data packet exists within a PDU set, all data packets in that PDU set are considered second data packets. According to the indication information from the first protocol layer, the first data packet can be determined as the latest second data packet sent to the second protocol layer within the PDU set. Therefore, the first data packet within the PDU set can be identified, and this first data packet is the data packet with the largest sequence number sent to the second protocol layer. In this way, the second protocol layer can know that all data packets in the PDU set are second data packets, and can identify the first data packet within the second data packet. A first probe indication can be added to this first data packet, improving the efficiency of timely retransmission.
[0161] S702, the first device adds a first probe instruction to the first data packet, the first probe instruction being used to request a first status report.
[0162] The first status report can refer to the description of the aforementioned status report, including the reception status of data packets. However, in this embodiment, the data packet searched for in the first status report can be any data packet, or it can be the reception status of a second data packet with a sequence number less than or equal to that of the first data packet, or it can be the reception status of a data packet or a second data packet with a remaining time less than or equal to a remaining time threshold, etc. That is to say, the first status report can at least include the reception status of the first data packet and the reception status of the second data packet preceding the first data packet.
[0163] In some feasible examples, the first data packet belongs to the PDU set, and the first probe indicates the reception status of the data packet used to request the PDU set.
[0164] For example, please refer to Figure 8A , Figure 8A This is a schematic diagram illustrating a method for reporting search information according to an embodiment of this application. For example... Figure 8A As shown, the PDU set includes eight data packets, SDU1 to SDU8. If SDU1 is the second data packet, then every data packet in the PDU set is the second data packet. If the first data packet is the second data packet with the largest sequence number, then the first data packet is SDU8. After adding a first probe indication to the first data packet, the reception status of each data packet in the PDU set from SDU1 to SDU8 can be requested. It can be understood that adding a first probe indication to a data packet based on the granularity of the PDU set avoids adding a first probe indication to every data packet in the PDU set, thus saving signaling.
[0165] Alternatively, in some other feasible examples, the first data packet does not belong to the PDU set, and the first probe indication is used to request a reception status where the sequence number is less than or equal to the first data packet.
[0166] For example, please refer to Figure 8B , Figure 8B This is a schematic diagram illustrating another method of reporting search information provided in an embodiment of this application. For example... Figure 8B As shown, there are 8 data packets, from SDU1 to SDU8. SDU1, SDU3, SDU5, and SDU6 are the second data packets. The first data packet is the second data packet with the largest sequence number, therefore the first data packet is SDU6. After adding a first probe indication to the first data packet, the reception status of SDU6 and the data packets preceding it can be requested, i.e., the reception status of SDU1 to SDU6. Thus, by adding a first probe indication to the second data packet with the largest sequence number to indicate the reporting of the reception status of the data packets preceding it, it is not necessary to add a probe indication to every data packet, saving signaling.
[0167] This application does not limit how the first probe instruction is added to the first data packet. In some examples, the first probe instruction can be the current poll instruction. The current poll instruction can be understood as a probe instruction in the prior art or not using the definition of this application. The probe instructions defined in the prior art can refer to the foregoing definition, and will not be repeated here.
[0168] In some feasible examples, the first probe indication is located in the second protocol layer subheader. The second protocol layer subheader includes a first field that indicates one of the following: normal probe, enhanced probe for a single packet, or enhanced probe for a set of PDUs.
[0169] The second protocol layer header is the header of the data packet in the second protocol layer. The first probe instruction for adding the first data packet can be referenced... Figure 9A or Figure 9B .exist Figure 9A In this context, the first field can be an enhancement poll (EP) field, used to indicate the polling type, as shown in Table 6 below:
[0170] Table 6
[0171] EP field Exploring Types 00 ordinary exploration 01 Enhanced exploration for individual data packets 10 Enhancement exploration for PDU sets
[0172] exist Figure 9B In this context, the first field can be the D field, which indicates the search type, as shown in Table 7 below:
[0173] Table 7
[0174] D field Exploring Types 00 ordinary exploration 01 Enhanced exploration for individual data packets 10 Enhanced search for PDU sets, where no subsequent sequence number of the PDU set exists. 11 Enhanced search for PDU sets, with subsequent PDU set sequence numbers.
[0175] In some feasible examples, the second protocol layer header also includes a second field indicating whether a probe indication is sent. For example... Figure 9B As shown, the second field can be the P field. The description of the P field can be found in Table 4 above, and is not limited here. It is understood that determining whether to send an exploration instruction or request a first status report based on the second field can improve the flexibility of the instruction.
[0176] In some feasible examples, when the first field is a first value, the first field is used to indicate enhanced probing for a set of PDUs, and the second protocol layer subheading also includes a third field; or, when the first field is not a first value, the first field is used to indicate one of the following: normal probing, enhanced probing for a single packet, enhanced probing for a set of PDUs, and the second protocol layer subheading does not include a third field.
[0177] The third field indicates the sequence number of the PDU set (PDU set SN). Thus, the sequence number of the PDU set in the enhanced search for the PDU set can be determined through the third field.
[0178] Furthermore, in some feasible examples, the second protocol layer subheader also includes a fourth field, which indicates the sequence number of the latest data packet sent to the second protocol layer in the PDU set, with the third field following the fourth field.
[0179] The fourth field indicates the sequence number of the latest data packet sent to the second protocol layer from the PDU set, and the third field follows the fourth field. Thus, the sequence number of the latest data packet sent to the second protocol layer from the PDU set, i.e., the sequence number of the first data packet, can be determined through the fourth field.
[0180] As shown in Table 7 and Figure 9B As shown, when the first field is 11, the probe type is determined to be an enhanced probe for a PDU set. The fourth field is the sequence number of the PDU set, and the sequence number before the fourth field is the sequence number of the first data packet. As shown in Table 7, when the first field is not 11, but is 00, 01, or 10, the probe type is determined to be a normal probe, an enhanced probe for a single data packet, or an enhanced probe for a PDU set, and there is no subsequent sequence number for the PDU set, meaning the second protocol layer subheading does not include the third field.
[0181] This application does not limit the probe instructions for normal and enhanced probes. The following example uses the first probe instruction as an example of enhanced probe. In some feasible examples, the trigger time of the first status report is shorter than the trigger time of the third status report. The third status report is triggered by a normal probe. Thus, sending an enhanced probe instruction, compared to sending a normal probe instruction, allows for a more timely receipt of the status report, which is beneficial for improving timely retransmission.
[0182] S703, the first device sends a first data packet to the second device, adding a first search instruction.
[0183] Correspondingly, the second device receives a first data packet from the first device with a first probe instruction added. Sending the first data packet with the first probe instruction added can be understood as sending a first data packet carrying the first probe instruction.
[0184] In some feasible examples, the method may further include: the first device starting a first timer based on sending a first data packet with a first probe indication. That is, the first timer starts counting when the first data packet with the first probe indication is sent.
[0185] The first timer is used to determine whether to retransmit the first probe indication. This can be understood as follows: if the first timer expires and no first status report is received, or if the received first status report does not include the reception status of the first data packet's serial number (SN), then the first probe indication can be retransmitted. The retransmitted first probe indication can be carried in data packets with a remaining time less than or equal to a remaining time threshold. This data packet can be the one with the largest SN among all data packets with a remaining time less than or equal to the remaining time threshold. The first timer is a timer specifically for data packets with a remaining time less than or equal to the remaining time threshold. In other words, the first timer is used to indicate whether data packets with a remaining time less than or equal to the remaining time threshold should be retransmitted. The first timer is only activated when a data packet with a remaining time less than or equal to the remaining time threshold carries the first probe indication, or when a data packet with a remaining time less than or equal to the remaining time threshold is retransmitted and the first probe indication is added to that data packet.
[0186] For example, in some feasible examples, the method may further include: Upon the expiration of the first timer or the receipt of a first status report, the first device retransmits data packets with an unreceived reception status and / or undiscarded remaining time less than or equal to a remaining time threshold. Correspondingly, the second device receives data packets with an unreceived reception status and / or undiscarded remaining time less than or equal to the remaining time threshold. This allows for timely retransmission of data packets with an unreceived reception status and / or undiscarded remaining time less than or equal to the remaining time threshold, improving the efficiency of data transmission. The unreceived reception status can, as described above, include an unacknowledged reception status and a non-received status. The reception status can be ACK or NACK information fed back in the status report.
[0187] In some feasible examples, the method may further include: the first device determining a third data packet; the first device adding a first probe instruction to the third data packet; sending the third data packet with the added first probe instruction; and restarting a first timer based on sending the third data packet with the added first probe instruction.
[0188] Correspondingly, the second device receives a third data packet that includes the first search instruction.
[0189] In this scenario, the sequence number of the third data packet is greater than that of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold. As mentioned earlier, the first timer is used to indicate whether the second data packet with a remaining time less than or equal to the remaining time threshold should be retransmitted. It can be understood that, based on sending the first data packet with the added first probe indication, after starting the first timer, if it is determined that the sequence number of the third data packet is greater than that of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold, then the first probe indication can be added to the third data packet, the third data packet with the added first probe indication can be sent, and the first timer can be restarted. In this way, the reception status of the second data packets preceding the third data packet can be probed, including the reception status of the second data packets preceding the first data packet, and even data packets with a remaining time less than the remaining time threshold preceding the third data packet can be probed, which can improve the accuracy of data retransmission.
[0190] In some feasible examples, the method may further include: the first device starting a first prohibition timer based on sending a first data packet with a first probe instruction. The first prohibition timer indicates that data packets with a remaining time less than a threshold should not be sent within a first prohibition period. The first probe instruction can be sent if the first prohibition timer expires or stops. That is, if the first prohibition timer has not expired and a third data packet is identified, the first probe instruction is not added to the third data packet, thus neither the first probe instruction nor the third data packet with the first probe instruction is sent. However, if the first prohibition timer expires and a third data packet is identified, the first probe instruction can be added to the third data packet, and the third data packet with the first probe instruction can be sent to retransmit the first probe instruction, and the first timer can also be restarted. Similarly, the first device can also restart the first prohibition timer based on sending a third data packet with the first probe instruction. This prevents frequent sending of the first probe instruction.
[0191] Optionally, the first prohibition duration may be shorter than the duration of the first timer. The first prohibition timer may be started simultaneously with the first timer, or it may be started when a preset duration has elapsed after the first timer has started, etc., without any limitation here.
[0192] In the event of restarting the first timer, the following steps may also be performed: If the first timer expires or a first status report is received, the first device retransmits data packets with a received status that were not received and / or whose remaining time is less than or equal to the remaining time threshold. Correspondingly, the second device receives data packets with a received status that were not received and / or whose remaining time is less than or equal to the remaining time threshold.
[0193] For example, please refer to Figure 10A . Figure 10AThis is a schematic diagram illustrating data transmission as provided in an embodiment of this application. Figure 10A As shown, the first device sends a first data packet with a first search indication to the second device and starts a first timer to search for the reception status of the first data packet and other data packets. If a third data packet is identified, the first device sends a third data packet with the first search indication to the second device and restarts the first timer to search for the reception status of the first data packet and the third data packet, etc. If the first timer times out or a first status report is received, the first device retransmits data packets with unreceived reception status and / or data packets with remaining time less than or equal to the remaining time threshold, such as the first data packet and the third data packet.
[0194] In some feasible examples, the unacknowledged received data packets are determined to be unacknowledged received data packets by a reassembly timer timeout, or based on the probe sequence number, or based on data packets that have already been received and then discarded; the unreceived data packets are those that were not determined to be unacknowledged received by the reassembly timer and were not received. The unacknowledged received state can be referred to in the description of state 1, and the unreceived state can be referred to in the description of state 2, and will not be repeated here.
[0195] After the first device (or sending end) receives a status report from the second device (receiving end), if the status report determines that there are unreceived data packets, the data packets can be retransmitted. Optionally, both data packets with unacknowledged reception status and data packets with no reception status are retransmitted, and the retransmission count of the data packets is incremented by 1 after each retransmission. Alternatively, data packets with unacknowledged reception status are retransmitted, and the retransmission count of the data packets is incremented by 1 after each retransmission; data packets with no reception status are retransmitted, and the retransmission count of the data packets is not incremented by 1 after each retransmission. That is, both data packets in status 1 and data packets in status 2 can be retransmitted. Among them, data packets in status 1 can be incremented by 1 or not after each retransmission, while data packets in status 2 can be retransmitted without incrementing by 1. In this way, the retransmission count of data packets with unacknowledged reception status that are actually discarded is not increased.
[0196] This application does not limit the stopping conditions of the first timer, and may include the following six first conditions, among which:
[0197] The first scenario is that either the first or third data packet is discarded.
[0198] The second scenario is that the second data packet is discarded.
[0199] The third type is that data packets with remaining time less than or equal to the remaining time threshold are discarded.
[0200] The fourth type is when the second timer times out;
[0201] The fifth method is to obtain the reception status of data packets whose remaining time is less than or equal to the remaining time threshold.
[0202] The sixth type is receiving a first status report, and the first status report includes the reception status of a first data packet, a third data packet, or a second data packet.
[0203] As previously stated, data packets with remaining time less than or equal to the remaining time threshold include second data packets, which in turn include first and third data packets. Under the first condition, indicating that the first or third data packet within the second data packet with remaining time less than or equal to the remaining time threshold is discarded without retransmission, the first timer can be stopped. Under the second condition, indicating that the second data packet within the data packet with remaining time less than or equal to the remaining time threshold is discarded without retransmission, the first timer can be stopped. Under the third condition, indicating that the data packet with remaining time less than or equal to the remaining time threshold is discarded without retransmission, the first timer can be stopped, thus preventing retransmission of data packets with remaining time less than or equal to the remaining time threshold.
[0204] For example, please refer to Figure 10B . Figure 10B This is a schematic diagram illustrating another data transmission method provided in an embodiment of this application. For example... Figure 10B As shown, the first device sends a first data packet with a first search indication to the second device and starts a first timer to search for the reception status of the first data packet and other data packets. If a third data packet is detected, the first device sends a third data packet with the first search indication to the second device and restarts the first timer to search for the reception status of the first data packet, the third data packet, and other data packets. If the first data packet, the third data packet, or the second data packet is discarded, the first timer is stopped. Or in Figure 10B If, as not shown, a data packet is received with a remaining time less than or equal to the remaining time threshold, the first timer can also be stopped.
[0205] In this embodiment, the second timer can be a timer started by a second probe instruction sent based on a second condition, which can be understood as the aforementioned reassembly timer, i.e., a trigger condition for receiving a status report in the prior art. The second probe instruction is used to request a second status report, which can be understood as a status report in the prior art. The second condition includes at least one of the following: the number of newly sent data packets or bytes is greater than or equal to a threshold; there are no data packets in the buffer that need to be newly transmitted or retransmitted. The second timer is not for data packets with a remaining time less than or equal to a remaining time threshold. Data packets in the second status report include data packets with a remaining time less than or equal to a remaining time threshold, and may also include data packets with a remaining time greater than a remaining time threshold. It can be understood that if the second timer times out, indicating that a status report for data packets with a remaining time less than or equal to a remaining time threshold and data packets with a remaining time greater than a remaining time threshold has not been sent, the first timer can be stopped, the second timer can be restarted, or data packets that were not dropped or not received can be retransmitted, or even data packets that were not received from the data packets that were not dropped can be retransmitted.
[0206] It should be noted that the first timer and the second timer in this application can also be executed independently. That is, the first timer and the second timer can be decoupled, so that the operation of the first timer is not affected by the timeout of the second timer. Alternatively, the first timer and the second timer can be associated; for example, when the first condition causes the second timer to time out, the first timer can be stopped, so that the operation of the first timer is affected by the second timer. This application does not limit the timing duration of the first timer and the second timer.
[0207] With the second timer enabled, a second disable timer can also be enabled. The second disable timer indicates that no second probe instruction should be sent during the second disable duration. If the second disable timer expires, a second probe instruction can be sent. In other words, if the second condition is met even if the second disable timer has not expired, no second probe instruction will be sent. Instead, if the second condition is met only after the second disable timer has expired, a second probe instruction will be sent. This prevents the frequent sending of second probe instructions.
[0208] Optionally, the second prohibition duration may be shorter than the duration of the second timer. The second prohibition timer may be started simultaneously with the second timer, or it may be started when a preset duration has elapsed after the second timer has started, etc., without limitation. The second prohibition duration may be equal to or different from the first prohibition duration.
[0209] It is understandable that if the reception status of a data packet with a remaining time less than or equal to the remaining time threshold is obtained, it can be determined that the first probe instruction triggered the second device to send the data packet reception status, and the first timer can be stopped. If a first status report is received, and the first status report includes the reception status of the first data packet or the third data packet, it can be determined that the first probe instruction triggered the second device to send the first status report, and the first timer can be stopped.
[0210] It should be noted that the six first conditions above are merely examples. In practice, other first conditions, combinations of at least two of the six first conditions, or combinations of one or more of the six first conditions with other first conditions may be included. For example, a second timer expires and a data packet with a remaining time less than or equal to a remaining time threshold is retransmitted.
[0211] Optionally, if the number of retransmissions of a data packet exceeds a threshold, it is necessary to indicate to the higher layer that the maximum number of retransmissions has been reached, and the higher layer will trigger a wireless link failure.
[0212] S704. The second device sends a first status report to the first device. The first status report is used to indicate the reception status of the data packet. The reception status includes a reception status of not receiving the data packet, which includes an unacknowledged reception status and a status of not receiving the data packet.
[0213] Accordingly, the first device receives the first status report from the second device.
[0214] Optionally, when the second device receives a data packet carrying a first probe indication, it determines that the SN number of the data packet corresponding to the first probe indication is less than RX_Highest_Status, or greater than or equal to RX_Next+AM_Window_Size, or that the data packet segment has been received and discarded. If so, it triggers the sending of a first status report to the first device. Otherwise, the triggering of the first status report will be delayed until the SN number of the data packet corresponding to the first probe indication is less than RX_Highest_Status, or greater than or equal to RX_Next+AM_Window_Size.
[0215] In the first status report, the reception status for unreceived data packets can be referred to the aforementioned and is not limited here. In some feasible examples, the reception status may include an acknowledgment reception status. That is, the reception status of the data packets indicated in the first status report is either an unreceived reception status or an acknowledgment reception status. In other feasible examples, the reception status does not include an acknowledgment reception status. Here, the acknowledgment reception status can be understood as the reception status of the data packet corresponding to the ACK message. That is, the second device may only report the reception status of unreceived data packets. Alternatively, the second device may report both the reception status of unreceived data packets and the acknowledgment reception status of the data packets.
[0216] Understandable, Figure 7 In the method shown, a first probe indication is added to the first data packet, which is used to request a first status report. The first data packet is the second data packet with the largest sequence number, and the remaining time of the second data packet is less than or equal to a remaining time threshold. In this way, a probe indication can be reported for the data packet with the largest sequence number among data packets with a remaining time less than or equal to the remaining time threshold (e.g., delayed critical data), which can save signaling, improve the retransmission efficiency of such data packets, and help improve the effectiveness of data transmission.
[0217] Taking the PDCP layer as the first protocol layer, the RLC layer as the second protocol layer, and a delayed critical data packet as the second data as an example. If the PDCP layer determines that the data packet is a delayed critical data packet, and that the data packet is a packet in the PDU set and the PDU set is configured to be discarded, then it sends an indication to the RLC layer indicating that the data packet is a delayed critical data packet and that it is the latest submitted data packet in the PDU set. Upon receiving this indication, the RLC sender identifies the delayed critical data packet and adds a first probe indication to it. This first probe indication is used to inquire about the reception status of data packets in the corresponding PDU set. Upon receiving the first probe indication, the RLC receiver returns the reception status of the data packets in the PDU set. If the packet has been received, it returns an ACK message to indicate that the reception status is acknowledged; if the packet has not been received, it returns a NACK message to indicate that the reception status is unacknowledged.
[0218] Optionally, the method further includes: the first device updating the status variable of the sending window based on the reception status of data packets in the status report. Correspondingly, the second device updates the status variable of the receiving window based on the reception status of data packets in the status report. The status report includes a first status report and a second status report. The status variables of the receiving window and the sending window can be referenced... Figure 3 and Figure 4The description will not be repeated here. Thus, updating the status variables of the receive or send window based on the data packet reception status in the status report helps improve the accuracy of data retransmission.
[0219] Optionally, the method further includes the following steps: a first device determines the dropped data packet; the first device updates the state variable of the sending window according to the dropped data packet. For example, after the PDCP layer drops the data packet according to the drop timer, it indicates to the RLC that the data packet has been dropped so that the RLC layer can drop the data packet. If the SN number and TX_Next_Ack of the dropped data packet are equal, TX_Next_Ack is updated to the SN number of the retransmitted data packet, which is a data packet that was not dropped and has not received an acknowledgment.
[0220] The methods of the embodiments of this application have been described in detail above, and the apparatus of the embodiments of this application is provided below.
[0221] Please see Figure 11 , Figure 11 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Figure 11 As shown, the communication device may include a transceiver unit 1001 and a processing unit 1002. The transceiver unit 1001 may be a device that has signal input (receiving) or output (transmitting) for transmitting signals to other devices or other components in the device.
[0222] The processing unit 1002 can be a device with processing capabilities, and may include one or more processors. The processor can be a general-purpose processor or a dedicated processor. The processor can be a baseband processor or a central processing unit (CPU). The baseband processor can be used to process communication protocols and communication data, while the CPU can be used to control the device (e.g., a host node, relay node, or chip), execute software programs, and process data from the software programs.
[0223] The communication device can be either a first device or a second device. In this application, the first device and the second device can be terminal equipment or network equipment, or can be implemented by devices (e.g., chips, chip systems, circuits, or means, etc.) within the terminal equipment or network equipment. The first device can be understood as a data packet sender; in addition to sending data packets, the first device can also send probe instructions, etc., and can receive status reports to indicate the data packet reception status. The second device can be understood as a data packet receiver; the second device can also be understood as a status report sender.
[0224] When the communication device is the first device, wherein:
[0225] The processing unit is used to determine a first data packet, wherein the first data packet is a second data packet with the largest sequence number, and the remaining time of the second data packet is less than or equal to a remaining time threshold.
[0226] The transceiver unit is configured to add a first probing indication to the first data packet; wherein the first probing indication is used to request a first status report;
[0227] The transceiver unit is further configured to send the first data packet with the first probe instruction added to it.
[0228] In some feasible examples, the processing unit is also configured to start a first timer based on sending the first data packet with the first probe indication added.
[0229] In some feasible examples, the processing unit is further configured to determine a third data packet; wherein the sequence number of the third data packet is greater than the sequence number of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold; add the first probe indication to the third data packet; and restart the first timer based on sending the third data packet with the first probe indication added.
[0230] In some feasible examples, the transceiver unit is also configured to retransmit data packets with unreceived reception status and / or undiscarded remaining time less than or equal to the remaining time threshold, in the event that the first timer expires or the first status report is received.
[0231] In some feasible examples, the processing unit is also configured to stop the first timer based on a first condition.
[0232] In some feasible examples, the first condition includes at least one of the following: the first data packet or the third data packet is dropped; the second data packet is dropped; data packets with remaining time less than or equal to the remaining time threshold are dropped; the second timer times out; the reception status of data packets with remaining time less than or equal to the remaining time threshold is obtained; the first status report is received, and the first status report includes the reception status of the first data packet, the third data packet, or the second data packet; wherein, the second timer is a timer started by a second probe instruction sent based on the second condition, and the second probe instruction is used to request the second status report; the second condition includes at least one of the following: the number of newly sent data packets or bytes is greater than or equal to a threshold; there are no data packets in the buffer that need to be newly transmitted or retransmitted.
[0233] In some feasible examples, the processing unit is further configured to determine the first data packet based on the discard configuration of the Protocol Data Unit (PDU) set; wherein the discard configuration of the PDU set is used to indicate discarding based on the PDU set.
[0234] In some feasible examples, the first data packet belongs to the PDU set, and the first probe indicates the reception status of a data packet for requesting the PDU set.
[0235] In some feasible examples, the transceiver unit is further configured to obtain indication information of the first protocol layer based on the discard configuration of the PDU set; wherein the indication information is configured to indicate that, when the data packet in the PDU set is the second data packet, the data packet in the PDU set that was last sent to the second protocol layer is the first data packet.
[0236] In some feasible examples, the first probe indication is located in a second protocol layer subheader, which includes a first field indicating one of the following: a normal probe, an enhanced probe for a single packet, or an enhanced probe for the PDU set.
[0237] In some feasible examples, the second protocol layer subheader also includes a second field that indicates whether a probe indication is sent.
[0238] In some feasible examples, when the first field is a first value, the first field is used to indicate enhanced probing for the PDU set, and the second protocol layer subheading also includes a third field; or, when the first field is not a first value, the first field is used to indicate one of the following: normal probing, enhanced probing for a single packet, enhanced probing for the PDU set, and the second protocol layer subheading does not include a third field; wherein the third field is used to indicate the sequence number of the PDU set.
[0239] In some feasible examples, the second protocol layer subheader also includes a fourth field indicating the sequence number of the latest data packet sent to the second protocol layer from the PDU set, with the third field following the fourth field.
[0240] In some feasible examples, the first exploration indication is an enhanced exploration, the trigger time of the first status report is less than the trigger time of the third status report, which is triggered by a normal exploration.
[0241] When the communication device is the second device, wherein:
[0242] The transceiver unit is used to receive a first data packet with a first probe instruction added;
[0243] Send a first status report, which indicates the reception status of the data packet. The reception status includes a reception status of not received, which includes an unacknowledged reception status and a status of not received.
[0244] In some feasible examples, the receiving status may include an acknowledgment of receiving status.
[0245] In some feasible examples, the unacknowledged received data packets are determined by a reassembly timer timeout, or by an unacknowledged received data packet determined based on a probed sequence number, or by a data packet that has already been received and then discarded; the unreceived data packets are data packets that have neither been acknowledged nor received.
[0246] In some feasible examples, the transceiver unit is also used to receive data packets that are not received and / or whose remaining time is less than or equal to the remaining time threshold.
[0247] In some feasible examples, the first data packet belongs to a Protocol Data Unit (PDU) set, and the first probe indicates the reception status of a data packet for the PDU set.
[0248] In some feasible examples, the first probe indication is located in a second protocol layer subheader, which includes a first field indicating one of the following: a normal probe, an enhanced probe for a single packet, or an enhanced probe for the PDU set.
[0249] In some feasible examples, the second protocol layer subheader also includes a second field that indicates whether a probe indication is sent.
[0250] In some feasible examples, when the first field is a first value, the first field is used to indicate the enhanced probe type of the PDU set, and the second protocol layer subheader also includes a third field; or, when the first field is not a first value, the first field is used to indicate one of the following: normal probe type, enhanced probe type for a single packet, enhanced probe type for the PDU set, and the second protocol layer subheader does not include a third field; wherein the third field is used to indicate the sequence number of the PDU set.
[0251] In some feasible examples, the second protocol layer subheader also includes a fourth field indicating the sequence number of the latest data packet sent to the second protocol layer from the PDU set, with the third field following the fourth field.
[0252] In some feasible examples, the first exploration indication is an enhanced exploration, the trigger time of the first status report is less than the trigger time of the third status report, which is triggered by a normal exploration.
[0253] The implementation of the above-mentioned transceiver unit 1001 and processing unit 1002 can be referred to Figure 7 The relevant descriptions of the method embodiments shown are not repeated here.
[0254] Please see Figure 12 , Figure 12 This is a schematic diagram of another communication device provided in an embodiment of this application. For example... Figure 12 As shown, the communication device may include a processor 111, a memory 112, and a communication interface 113, which are interconnected via a bus 114.
[0255] The processor 111, also known as a processing unit, can perform certain control functions. The memory 112 is any other medium capable of carrying or storing desired program code in the form of instructions or data structures, accessible by a computer. The communication interface 113 is used to receive and send data and / or signaling.
[0256] Optionally, the communication device can be used to perform the embodiments of this application. Figure 7 Any method described.
[0257] The communication device described in the above embodiments may be a terminal device or a network device, but the scope of the device described in this application is not limited thereto, and the structure of the communication device may vary. Figure 12 The communication device may be a standalone device, such as a module, unit, element, circuit, chip, or interface, or it may be part of a larger device used to implement the methods described in the method embodiments.
[0258] Please see Figure 13 , Figure 13 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. For ease of explanation, Figure 13 Only the main components of the terminal device are shown. For example... Figure 13As shown, the terminal device includes a processor, memory, control circuitry, antenna, and input / output devices. The processor is primarily used to process communication protocols and data, control the entire terminal device, execute software programs, and process the data generated by those programs. The memory is mainly used to store software programs and data. The radio frequency (RF) circuitry is primarily used for converting baseband signals to RF signals and processing RF signals. The antenna is primarily used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are primarily used to receive user input data and output data to the user.
[0259] When the terminal device is powered on, the processor can read the software program from the storage unit, parse and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal to obtain the RF signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the terminal device, the RF circuit receives the RF signal through the antenna. This RF signal is further converted into a baseband signal and output to the processor. The processor converts the baseband signal back into data and processes the data.
[0260] For ease of explanation, Figure 13 Only one memory and processor are shown. In actual terminal devices, multiple processors and memories may exist. Memory can also be called storage medium or storage device, etc., and this application embodiment does not limit this.
[0261] In one embodiment, the antenna is used to perform the operations performed by the transceiver unit 1001 in the above embodiment. The processor is used to perform the operations performed by the processing unit 1002 in the above embodiment. The terminal device can also be used to perform the above... Figure 7 The method executed by the terminal device in the method embodiment will not be described in detail here.
[0262] This application also provides a computer-readable storage medium storing a computer program or instructions thereon, which, when executed by a processor, can implement the relevant processes in the communication method provided in the above-described method embodiments.
[0263] This application also provides a computer program product that, when run on a computer or processor, causes the computer or processor to execute one or more steps of any of the above-described communication methods. If the constituent modules of the aforementioned devices are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
[0264] This application also provides a chip system including at least one processor and a communication interface. The communication interface and the at least one processor are interconnected via a circuit. The at least one processor is used to run computer programs or instructions to perform the above-described... Figure 7 Any part or all of the steps described in the method embodiments. The chip system may be composed of chips, or may include chips and other discrete devices.
[0265] This application also provides a communication system, which includes a terminal device and a network device, or units thereof, such as a transmission object, as detailed in the following description. Figure 7 Any of the communication methods shown.
[0266] It should be understood that the memory mentioned in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be a hard disk drive (HDD), a solid-state drive (SSD), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). Memory is any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible by a computer, but is not limited thereto. The memory in the embodiments of this application may also be circuitry or any other means capable of implementing storage functions for storing program instructions and / or data.
[0267] It should also be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor, or any conventional processor, etc.
[0268] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) is integrated into the processor.
[0269] It should be noted that the memories described herein are intended to include, but are not limited to, these and any other suitable types of memories.
[0270] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0271] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments provided herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented 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 this application.
[0272] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0273] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0274] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0275] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the technology, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0276] The steps in the methods of this application can be adjusted, combined, or deleted according to actual needs. Each step in each embodiment can be partially performed (for example, the terminal device may not perform the steps performed by the terminal device in the above embodiments). The execution order of different steps can be changed. The embodiments described herein can be combined with other embodiments, different embodiments can be combined with each other, and different steps of different embodiments herein can be combined.
[0277] The modules / units in the device of this application embodiment can be merged, divided, and deleted according to actual needs.
[0278] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments.
[0279] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the embodiments of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0280] In the embodiments of this application, "including" can refer to a relationship of inclusion or an equality relationship. For example, A includes B, which could mean that A includes B and may also include other content, or that A and B are the same content.
[0281] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0282] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A communication method, characterized in that, include: Determine the first data packet; wherein the first data packet is the second data packet with the largest sequence number, and the remaining time of the second data packet is less than or equal to the remaining time threshold; Add a first probing indication to the first data packet; wherein the first probing indication is used to request a first status report; Send the first data packet with the first probe instruction added.
2. The method according to claim 1, characterized in that, Also includes: A first timer is started based on sending the first data packet that includes the first exploration instruction.
3. The method according to claim 2, characterized in that, Also includes: Determine the third data packet; wherein the sequence number of the third data packet is greater than the sequence number of the first data packet, and the remaining time of the third data packet is less than or equal to the remaining time threshold; Add the first probe instruction to the third data packet; Send the third data packet with the first probe instruction added; The first timer is restarted based on the sending of the third data packet that adds the first exploration indication.
4. The method according to claim 2 or 3, characterized in that, Also includes: If the first timer expires or the first status report is received, retransmit the data packets with the unreceived reception status and / or the remaining time before they are not discarded that is less than or equal to the remaining time threshold.
5. The method according to any one of claims 2 to 4, characterized in that, Also includes: Based on the first condition, stop the first timer.
6. The method according to claim 5, characterized in that, The first condition includes at least one of the following: The first data packet or the third data packet is discarded; The second data packet was discarded; Data packets with remaining time less than or equal to the remaining time threshold are discarded; The second timer timed out; Obtain the reception status of data packets whose remaining time is less than or equal to the remaining time threshold; The first status report is received, and the first status report includes the reception status of the first data packet, the third data packet, or the second data packet; Wherein, the second timer is a timer started by a second probe instruction sent based on a second condition, and the second probe instruction is used to request a second status report; The second condition includes at least one of the following: the number of newly sent data packets or bytes is greater than or equal to the threshold; there are no more data packets in the buffer that need to be newly transmitted or retransmitted.
7. The method according to any one of claims 1 to 6, characterized in that, Also includes: The first data packet is determined based on the discard configuration of the Protocol Data Unit (PDU) set; wherein the discard configuration of the PDU set is used to indicate discarding based on the PDU set.
8. The method according to claim 7, characterized in that, The first data packet belongs to the PDU set, and the first probe indication is used to request the reception status of the data packets in the PDU set.
9. The method according to claim 7, characterized in that, Also includes: Based on the discard configuration of the PDU set, obtain indication information of the first protocol layer; wherein, the indication information is used to indicate that when the data packet in the PDU set is the second data packet, the data packet in the PDU set that was last sent to the second protocol layer is the first data packet.
10. The method according to any one of claims 1 to 9, characterized in that, The first probe indication is located in the second protocol layer subheader, which includes a first field indicating one of the following: normal probe, enhanced probe for a single data packet, or enhanced probe for the PDU set.
11. The method according to claim 10, characterized in that, The second protocol layer header also includes a second field, which is used to indicate whether to send a probe indication.
12. The method according to claim 10, characterized in that, When the first field is a first value, the first field is used to indicate enhanced probing for the PDU set, and the second protocol layer subheading also includes a third field; or If the first field is not a first value, the first field is used to indicate one of the following: normal probe, enhanced probe for a single data packet, enhanced probe for the PDU set, and the second protocol layer subheading does not include the third field; The third field is used to indicate the sequence number of the PDU set.
13. The method according to claim 12, characterized in that, The second protocol layer subheader also includes a fourth field, which indicates the sequence number of the latest data packet sent to the second protocol layer from the PDU set, and the third field is located after the fourth field.
14. The method according to any one of claims 1 to 13, characterized in that, The first exploration indication is enhanced exploration, the trigger time of the first status report is shorter than the trigger time of the third status report, and the third status report is triggered by normal exploration.
15. A communication method, characterized in that, include: Receive the first data packet with the first probe instruction added; Send a first status report, which indicates the reception status of the data packet. The reception status includes a reception status of not received, which includes an unacknowledged reception status and a status of not received.
16. The method according to claim 15, characterized in that, The receiving status may include a confirmed receiving status.
17. The method according to claim 15, characterized in that, The unacknowledged received data packets are determined by the reassembly timer timeout, or by the unacknowledged received data packets determined based on the probe sequence number, or by the data packets that have already been received and are discarded. The data packets in the unreceived state are those that have not been determined as unacknowledged and unreceived by the reassembly timer.
18. The method according to any one of claims 15 to 17, characterized in that, Also includes: Receive packets that were not received and / or not discarded with a remaining time less than or equal to the remaining time threshold.
19. The method according to any one of claims 15 to 18, characterized in that, The first data packet belongs to a Protocol Data Unit (PDU) set, and the first probe indication is used to request the reception status of data packets in the PDU set.
20. The method according to claim 19, characterized in that, The first probe indication is located in the second protocol layer subheader, which includes a first field indicating one of the following: normal probe, enhanced probe for a single data packet, or enhanced probe for the PDU set.
21. The method according to claim 20, characterized in that, The second protocol layer header also includes a second field, which is used to indicate whether to send a probe indication.
22. The method according to claim 20, characterized in that, When the first field is a first value, the first field is used to indicate the enhanced probe type of the PDU set, and the second protocol layer subheader also includes a third field; or When the first field is not a first value, the first field is used to indicate one of the following: normal probe type, enhanced probe type for a single packet, enhanced probe type for the PDU set, and the second protocol layer subheading does not include the third field; The third field is used to indicate the sequence number of the PDU set.
23. The method according to claim 21, characterized in that, The second protocol layer subheader also includes a fourth field, which indicates the sequence number of the latest data packet sent to the second protocol layer from the PDU set, and the third field is located after the fourth field.
24. The method according to any one of claims 15 to 23, characterized in that, The first exploration indication is enhanced exploration, the trigger time of the first status report is shorter than the trigger time of the third status report, and the third status report is triggered by normal exploration.
25. A communication device, characterized in that, Includes the unit used to perform the method according to any one of claims 1-24.
26. A communication device, characterized in that, Includes a processor for executing instructions stored in a memory, which, when executed, implement the communication method as described in any one of claims 1-24.
27. A computer-readable storage medium or computer program product, characterized in that, Includes instructions or computer programs that, when executed by a processor, cause the method according to any one of claims 1 to 24 to be performed.
28. A chip or chip system, characterized in that, It includes at least one processor for calling and running instructions or computer programs stored in a memory, causing a communication device with a chip or chip system mounted thereon to perform the method as described in any one of claims 1 to 24.
29. A communication system, characterized in that, It includes a first device and a second device, the first device being used to perform the method according to any one of claims 1 to 14, and the second device being used to perform the method according to any one of claims 15 to 24.