Communication method, apparatus and system
By obtaining the latency budget of the data unit to determine whether to send a status report, the problem of the single triggering method of polling information is solved, and more flexible and reliable data transmission is achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-09
- Publication Date
- 2026-07-23
AI Technical Summary
In the confirmation mode of two-way data transmission, the triggering method of polling information is relatively simple and lacks flexibility, resulting in resource waste and data timeout risk.
By obtaining the latency budget of the data unit, it is determined whether to send a status report to trigger information. Combining latency requirements, the flexibility of polling information is improved, and resource waste and data timeouts are avoided.
It improves the flexibility of polling information triggering, reduces the waste of resources and timeout risk of data retransmission, and enhances the reliability of data transmission.
Smart Images

Figure CN2025140966_23072026_PF_FP_ABST
Abstract
Description
A communication method, apparatus and system
[0001] This application, application number 202510084173.4, entitled "Invention Title," is to be filed with the China National Intellectual Property Administration on January 17, 2025.
[0002] Priority is claimed in the Chinese patent application for “a communication method, apparatus and system”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communications, and more specifically, to a communication method, apparatus, and system. Background Technology
[0004] In acknowledged mode (AM) that supports bidirectional data transmission, retransmission of unsuccessfully transmitted data is possible to ensure transmission reliability. Current technology can trigger retransmission based on polling information. However, the triggering of polling information is determined by the amount or number of data already transmitted by the sender, making the judgment method relatively simple.
[0005] Therefore, improving the flexibility of polling information triggering in AM mode is an urgent problem to be solved. Summary of the Invention
[0006] This application provides a communication method, apparatus, and system that incorporates data latency requirements during data transmission.
[0007] Firstly, a communication method is provided, which can be executed by a first communication device. Unless otherwise specified, the "first communication device" in this application can refer to a transmitting first communication device (e.g., a network device, a terminal device, etc.), a component of the first communication device (e.g., a first entity, etc.), or a logic module or software that can implement all or part of the functions of the first communication device. For ease of description, the following description uses the execution by the first communication device as an example.
[0008] The method includes: obtaining a first delay budget, the first delay budget being related to a first data unit, the first data unit being a data unit that the first communication device has already sent to a second communication device; determining whether to send first information based on the first delay budget, the first information being used to trigger a status report, the status report being used to indicate the data unit transmission status between the first communication device and the second communication device.
[0009] Based on the above scheme, it is possible to determine whether to send the first information to trigger the status report according to the first delay budget associated with the first data unit, so that the data transmission can also be combined with the delay requirements (that is, the first communication device can determine whether to send the first information according to the first delay budget, the second communication device can trigger the status report according to the first information, and after receiving the status report, the first communication device can further transmit data according to the content of the status report), thereby improving the flexibility of polling information triggering.
[0010] In conjunction with the first aspect, in some implementations of the first aspect, if the first delay budget is lower than or equal to a first threshold, it is determined to send the first information, wherein the first threshold is greater than or equal to zero.
[0011] Based on the above scheme, the first information is sent when the first delay budget is lower than or equal to a first threshold. The first threshold can be determined by the first communication device itself (e.g., by a first entity of the first communication device; or by other entities of the first communication device instructing the first entity); or by other communication devices instructing the first communication device (or the first entity within the first communication device); or it can be predefined by the protocol. On the one hand, setting the first threshold can, to some extent, prevent the first information from being sent too early. If the first data unit is successfully transmitted, the first communication device may trigger (or send) the first information before receiving an acknowledgment of the first data unit, potentially leading to duplicate transmission of the first data unit and wasting resources. On the other hand, it can also improve the flexibility of data retransmission and reduce the risk of data timeout to some extent.
[0012] In conjunction with the first aspect, in some implementations of the first aspect, the step of determining to send the first information if the first latency budget is lower than or equal to the first threshold further includes: if the first latency budget is lower than or equal to the first threshold and it is determined that a first transmission opportunity exists, determining to send the first information, wherein the first transmission opportunity is a resource that can be used to send the first information.
[0013] Based on the above scheme, in one implementation, it can be first determined that a first transmission opportunity exists, and then the first information can be sent based on a first delay budget being lower than or equal to a first threshold. This ensures that a transmission opportunity for sending the first information always exists when the decision to send the first information is made. In another implementation, the first information can be sent based on a first delay budget being lower than or equal to a first threshold, and then the system can wait for the first transmission opportunity. When the first transmission opportunity arrives, the first information can be sent, thus ensuring the timeliness of triggering the first information.
[0014] In conjunction with the first aspect, in some implementations of the first aspect, when it is determined that the first information will be sent, the method further includes: if the first communication device does not have transmission resources for transmitting the first information, determining to trigger second information, the second information being used to request the first transmission opportunity; and receiving third information, the third information being used to indicate the first transmission opportunity.
[0015] Based on the above scheme, if it has been determined to send the first information, but the first communication device does not have the transmission resources to transmit the first information, the second information can be used to request the scheduling of resources, thereby ensuring the successful transmission of the first information.
[0016] In conjunction with the first aspect, in some implementations of the first aspect, the start time of the first delay budget is determined based on the reception time of the first data unit or the transmission time of the first data unit.
[0017] Based on the above solution, the flexibility of data transmission in combination with latency requirements is improved.
[0018] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: sending the first information;
[0019] Wherein, the first information is carried in the second data unit, the second data unit belongs to the first data unit group, the first data unit group includes the data units to be transmitted in the first communication device that can be multiplexed to the first transmission resource, and the first transmission resource is the transmission resource corresponding to the first transmission opportunity;
[0020] Alternatively, the first information may be carried in a third data unit, which belongs to a second data unit group. Any data unit in the second data unit group satisfies at least one of the following: a data unit that has been transmitted by the first communication device, a data unit for which the first communication device has not received feedback information or confirmation response, or a data unit whose corresponding delay budget is lower than or equal to the first threshold.
[0021] Based on the above scheme, the first information can be carried by different data units, which improves the flexibility of the first information transmission.
[0022] In conjunction with the first aspect, in some implementations of the first aspect, the second data unit is the first data unit in the first data unit group to be multiplexed into the first transmission resource;
[0023] Alternatively, the second data unit is the last data unit in the first data unit group that is multiplexed into the first transmission resource;
[0024] Alternatively, the second data unit is the data unit with the largest sequence number in the first data unit group;
[0025] Alternatively, the second data unit is the data unit with the smallest sequence number in the first data unit group;
[0026] The third data unit is the data unit with the shortest latency budget in the second data unit group;
[0027] Alternatively, the third data unit is the data unit with the longest delay budget in the second data unit group;
[0028] Alternatively, the third data unit is the data unit with the largest sequence number in the second data unit group;
[0029] Alternatively, the third data unit is the data unit with the smallest sequence number in the second data unit group.
[0030] In conjunction with the first aspect, in some implementations of the first aspect, the first communication device includes a Radio Link Control (RLC) entity, and before sending the first information, if the buffer of the RLC entity does not contain a data unit to be transmitted, or the RLC entity cannot transmit a new data unit, the first information is carried in the third data unit.
[0031] Based on the above scheme, if the RLC entity's cache does not contain the data unit to be transmitted (or the RLC entity cannot transmit a new data unit), the first information can be sent through the third data unit. Alternatively, it can be understood that the first information can be sent by retransmitting the third data unit, thus avoiding the situation where the first information cannot be sent due to the lack of data to be transmitted (or the RLC entity's inability to transmit a new data unit).
[0032] In conjunction with the first aspect, in some implementations of the first aspect, the first communication device further includes a fourth data unit, which is a data unit that the first communication device has already sent to the second communication device. Before determining that the first information is to be sent, the second delay budget is less than or equal to the first threshold, and the second delay budget is related to the fourth data unit.
[0033] Based on the above scheme, if multiple data units can satisfy the triggering conditions of the first information, only one first information can be sent, thus avoiding the first communication device from sending multiple first information to the second communication device based on multiple data units that satisfy the triggering conditions of the first information, which would cause confusion in the identification of the second communication device.
[0034] In conjunction with the first aspect, in some implementations of the first aspect, the first transmission opportunity is the first transmission opportunity that satisfies the first delay budget being less than or equal to the first threshold.
[0035] Based on the above scheme, the first message can be sent in a timely manner.
[0036] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: obtaining a second threshold, wherein the second threshold is lower than the first threshold;
[0037] The step of determining to send the first information if the first latency budget is lower than or equal to the first threshold includes: determining to send the first information if the first latency budget is lower than or equal to the first threshold and the first latency budget is higher than the second threshold.
[0038] Based on the above scheme, determining to send the first information when the first delay budget is lower than or equal to the first threshold and higher than the second threshold can avoid sending the first information too late. For example, if the first information is sent only when the transmission delay budget of the first data unit has expired, the second communication device may no longer need to acquire the first data unit, which may lead to the repeated transmission of the timed-out data unit and cause resource waste.
[0039] In conjunction with the first aspect, in some implementations of the first aspect, the latency budget corresponding to the second data unit is higher than the second threshold; and / or, the latency budget corresponding to the third data unit is higher than the second threshold; and / or, the second latency budget is higher than the second threshold.
[0040] Based on the above scheme, if the latency budget corresponding to the second or third data unit is lower than the second threshold (e.g., the transmission latency budget of the second or third data unit has timed out), the second communication device may no longer receive the second or third data unit (or discard it directly after receiving it), resulting in the second communication device being unable to obtain the first information carried by the second or third data unit, thus failing to trigger a status report. If the second latency budget is higher than the second threshold, the first information can be avoided from being sent too late, for example, if the first information is sent only after the transmission latency budget of the fourth data unit has timed out. In this case, the second communication device may no longer need to obtain the fourth data unit, potentially leading to duplicate transmission of timed-out data units and wasting resources.
[0041] In conjunction with the first aspect, in some implementations of the first aspect, determining whether to send the first information based on the first delay budget further includes: if the number of data units included in the third data unit group is greater than or equal to a third threshold; or, if the amount of data of the data units included in the third data unit group is greater than or equal to a fourth threshold, determining to send the first information; wherein the first data unit belongs to the third data unit group, and the delay budget corresponding to each data unit in the third data unit group is lower than or equal to the first threshold.
[0042] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: obtaining a first timer, the start time and duration of the first timer being used to determine the first threshold.
[0043] Based on the above scheme, it is possible to determine whether to send the first information according to the first timer, which increases the diversity of scheme implementation.
[0044] In conjunction with the first aspect, in some implementations of the first aspect, after determining to send the first information, the method further includes: determining to retransmit the first data unit, determining the time for retransmitting the first data unit and a first duration of the time interval for determining to send the first information.
[0045] In conjunction with the first aspect, in some implementations of the first aspect, before determining to retransmit the first data unit, the method further includes: if no feedback information of the first data unit is received within the first time period, determining to retransmit the first data unit.
[0046] Based on the above scheme, in the process of combining data transmission and latency requirements, compatibility with threshold-based retransmission mechanisms can be further achieved. For data units that do not receive an affirmative acknowledgment or status report indication, automatic retransmission based on thresholds can be used to ensure transmission reliability.
[0047] In a second aspect, a communication apparatus is provided for performing the method provided in the first aspect. Specifically, the communication apparatus may include units and / or modules for performing the method provided in any of the above implementations of the first aspect, such as a processing unit and a transceiver unit.
[0048] In one implementation, the transceiver unit can be a transceiver or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0049] In another implementation, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0050] For example, if the communication device is the first communication device described above or a component of the first communication device (e.g., a chip or circuit), then the communication device includes:
[0051] The processing unit is configured to determine whether to send first information based on the first delay budget, the first information being used to trigger a status report, and the status report being used to indicate the data unit transmission status between the first communication device and the second communication device.
[0052] The transceiver unit is used to obtain a first delay budget, which is related to a first data unit, which is a data unit that the first communication device has sent to the second communication device.
[0053] Thirdly, a processor is provided for executing the methods provided in the above aspects.
[0054] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.
[0055] Fourthly, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including methods for performing any of the implementations of the first aspect described above.
[0056] Fifthly, a chip is provided, which includes a processor and a communication interface. The processor reads instructions stored in a memory through the communication interface and executes the method provided by any of the implementations of the first aspect.
[0057] Optionally, as one implementation, the chip also includes a memory storing computer programs or instructions, and a processor for executing the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to execute the method provided by any of the implementations of the first aspect described above.
[0058] A sixth aspect provides a communication system, including a first communication device for performing the method provided in the first aspect.
[0059] In a seventh aspect, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method provided by any implementation of the first aspect described above. Attached Figure Description
[0060] Figure 1 is a schematic diagram of a communication system 100 applicable to an embodiment of this application.
[0061] Figure 2 is a schematic diagram of a network architecture applicable to an embodiment of this application.
[0062] Figure 3 is a schematic diagram of another network architecture applicable to embodiments of this application.
[0063] Figure 4 is a schematic diagram of the protocol stack applicable to an embodiment of this application.
[0064] Figure 5 is a schematic diagram of a communication method 500 applicable to an embodiment of this application.
[0065] Figure 6 is a schematic diagram of a method 600 for triggering polling information applicable to an embodiment of this application.
[0066] Figure 7 is a schematic diagram of a method 700 for triggering polling information applicable to an embodiment of this application.
[0067] Figure 8 is a schematic diagram of a method 800 for sending polling information applicable to an embodiment of this application.
[0068] Figure 9 is a schematic diagram of a method 900 for triggering a scheduling request applicable to an embodiment of this application.
[0069] Figure 10 is a schematic diagram of a communication method 1000 applicable to an embodiment of this application.
[0070] Figure 11 is a schematic diagram of the structure of a communication device 1100 provided in an embodiment of this application.
[0071] Figure 12 is a schematic diagram of the structure of a communication device 1200 provided in an embodiment of this application.
[0072] Figure 13 is a schematic diagram of the structure of a chip system 1300 provided in an embodiment of this application. Detailed Implementation
[0073] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0074] The technical solutions provided in this application can be applied to various communication systems, such as: 5th generation (5G) systems (or New Radio (NR) systems), beyond 5G (B5G) mobile communication systems, long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, and LTE time division duplex (TDD) systems. The technical solutions provided in this application can also be applied to future communication networks. Furthermore, the technical solutions provided in this application can also be applied to sidelink (SL) communication, vehicle-to-everything (V2X) communication, machine-to-machine (M2M) communication, machine-type communication (MTC), and Internet of Things (IoT) communication systems or other communication systems.
[0075] The Real-time Broadband Communication (RTBC) scenario under the 5.5G new vision aims to support high bandwidth and low interaction latency, with the goal of increasing bandwidth under given latency and certain reliability requirements to create an immersive experience when humans interact with the virtual world. Among them, Extended Reality (XR) Pro services, with their ultra-high bandwidth and ultra-low latency requirements, pose a more severe challenge to current 5G. XR Pro services consist of various types of data, such as video, audio, and other control signals. Video data typically consists of several ultra-high-definition images. Each image is compressed and encoded (e.g., High Efficiency Video Coding (HEVC)) to produce a large data block. The higher the video resolution, the larger the data block usually is. Therefore, an XR data (also called a data frame) usually requires several IP packets (or several protocol data units (PDUs)) for transmission. The following description uses PDU transmission as an example and does not constitute a limitation on the transmission content of the embodiments of this application. Typically, data consisting of multiple PDUs can be referred to as a Protocol Data Unit set (PDU set) or a data burst. The PDU set, introduced by the Release 18 standard for XR services, represents one or more PDUs carrying a payload of an information unit generated by the application layer. That is, a PDU set includes at least one PDU, and each of these at least one PDU can carry an information unit generated by an application (or the application layer). For example, for a video with a large frame size generated by an XR application, it is divided into multiple PDUs for transmission at the IP layer; these multiple PDUs are called a PDU set.
[0076] In addition, compared to the traditional QoS parameters PDB and PER, the R18 standard introduces the concepts of PSDB and PSER for XR services, representing the delay budget and error rate of a PDU set, respectively. Taking downlink transmission as an example, PSDB represents the delay budget from the arrival of the first PDU in a PDU set at the User Plane Function (UPF) until the last PDU is successfully transmitted to the UE; PSER represents the PDU set transmission success rate, calculated at the PDU set level. The UPF is a core network device located above the access layer.
[0077] Figure 1 is a schematic diagram of a communication system 100 applicable to an embodiment of this application.
[0078] As shown in Figure 1, the communication system 100 includes network equipment 110 and terminal equipment 120.
[0079] The terminal device involved in this application embodiment is a device with wireless transceiver capabilities. It can be a fixed device or a mobile device, and can refer to user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user equipment. The terminal device can also be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, Wireless Local Loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal device in a 5G network, or terminal device in a future evolved public land mobile network (PLMN), etc. The terminal device can also be a handheld device (e.g., mobile phone), wearable device, vehicle-mounted device, or a wireless device (e.g., communication module, modem, or chip system, etc.) built into the above devices. Terminal devices are used to connect people, things, and machines, and can be widely used in various scenarios, including but not limited to the following: cellular communication, sidelinks, vehicle-to-everything (V2X), machine-to-machine / machine-type communications (M2M / MTC), Internet of Things (IoT), virtual reality (VR), augmented reality (AR), industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city, drones, robots, and other scenarios. This application's embodiments do not limit these applications.
[0080] The network device involved in this application embodiment can be any communication device with wireless transceiver function used for communicating with terminal devices. The network device can be a device in a radio access network (RAN) that provides wireless communication function for terminal devices, referred to as RAN device. This equipment includes, but is not limited to: evolved Node B (eNB), radio network controller (RNC), Node B (NB), home evolved Node B (HeNB, or home Node B (HNB), baseband unit (BBU), access point (AP), wireless relay node, wireless backhaul node, transmission point (TP), or transmission and reception point (TRP) in a wireless fidelity (WIFI) system. It can also be a gNB in a 5G system, such as a transmission point (TRP or TP) in an NR system, one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system, or a network node constituting a gNB or transmission point, such as a baseband unit (BBU) or a distributed unit (DU).
[0081] Network devices and terminal devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites. This application does not limit the scenario in which the network devices and terminal devices are located. Network devices can also be servers, wearable devices, or vehicle-mounted devices, etc. For example, network devices in V2X technology can be roadside units (RSUs). This application does not limit this.
[0082] 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 called 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 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, chip, or circuit in the terminal device or network device that can call and execute a program.
[0083] As shown in Figure 1, in the communication system 100, the terminal device 120 and the network device 110 can communicate via the air interface (Uu).
[0084] It should be understood that the embodiments of this application do not limit the number of terminal devices and network devices included in the communication system 100. For example, the communication system 100 may also include terminal device 130. Terminal device 120 and terminal device 130 can also communicate with each other. For example, terminal device 120 and terminal device 130 can communicate through a PC5 interface, that is, terminal device 120 can perform SL communication with terminal device 130.
[0085] It should be understood that Figure 1 is a simplified schematic diagram for ease of understanding and does not limit the scope of protection claimed in this application. Terminal device 120 and terminal device 130 can be any of the terminal devices listed above, and network device 110 can be any of the network devices listed above.
[0086] Optionally, the communication system 100 may also include other network devices or other terminal devices (not shown in Figure 1). For example, the communication system 100 may also include core network equipment. The access network equipment provides wireless access connectivity to the terminal devices, enabling it to send data to or receive data sent by the terminal devices. Furthermore, the access network equipment is also connected to the core network equipment, allowing it to forward data received from the terminal devices to the core network or receive data from the core network that needs to be sent to the terminal devices.
[0087] Optionally, network device 110 can also connect to location management function (LMF) (not shown in Figure 1) via access and mobility management function (AMF) (not shown in Figure 1) to enable LMF to provide location management services to communication system 100.
[0088] Figure 2 is a schematic diagram of a network architecture applicable to an embodiment of this application.
[0089] As shown in Figure 2, this network architecture includes CN (Network Address Translation) equipment, RAN (Radio Address Translation) equipment, and terminal equipment. The RAN equipment includes baseband and radio frequency (RF) devices. The baseband device can be implemented by a single node or multiple nodes. The RF device can be implemented independently from the baseband device, integrated into the baseband device, or partially integrated with the baseband device. For example, in an LTE communication system, the RAN equipment includes baseband and RF devices. The RF device can be deployed remotely relative to the baseband device; for example, an RRU (Remote Radio Unit) is a remote radio unit deployed relative to the BBU (Baseband Unit).
[0090] Communication between RAN devices and terminal devices follows a certain protocol layer structure. For example, the control plane protocol layer structure may include the functions of protocol layers such as radio resource control (RRC) layer, packet data convergence protocol (PDCP) layer, radio link control (RLC) layer, medium access control (MAC) layer, and physical layer. The user plane protocol layer structure may include the functions of protocol layers such as PDCP layer, RLC layer, MAC layer, and physical layer. In one possible implementation, a service data adaptation protocol (SDAP) layer may also be included above the PDCP layer.
[0091] A RAN device can implement the functions of protocol layers such as RRC, PDCP, RLC, and MAC by a single node, or by multiple nodes. For example, in one evolution architecture, the RAN device can include CU and DU, with multiple DUs centrally controlled by a single CU. As shown in Figure 2, CU and DU can be divided according to the protocol layers of the wireless network. For example, the functions of protocol layers above PDCP are located in the CU, while the functions of protocol layers below PDCP, such as RLC and MAC, are located in the DU.
[0092] This layered protocol division is merely an example; it can also be applied to other protocol layers. For instance, at the RLC layer, functions of the RLC layer and above could be placed in the CU, while functions of lower-level protocol layers could be placed in the DU. Alternatively, it could be done within a specific protocol layer, for example, placing some functions of the RLC layer and functions of higher-level protocol layers in the CU, while placing the remaining functions of the RLC layer and functions of lower-level protocol layers in the DU. Furthermore, it can be divided in other ways, such as by latency, placing functions whose processing time needs to meet latency requirements in the DU, and functions that do not need to meet that latency requirement in the CU.
[0093] Furthermore, the radio frequency device can be integrated independently, not in the DU, or integrated into the DU, or partially remote and partially integrated into the DU; there are no restrictions on this.
[0094] Figure 3 is a schematic diagram of another network architecture applicable to embodiments of this application.
[0095] Compared to the network architecture shown in Figure 2, Figure 3 can also separate the CP and UP of the CU and implement them as different entities, namely: CU-CP entity and CU-UP entity.
[0096] In the above network architecture, signaling generated by the CU can be sent to the terminal device via the DU, or signaling generated by the terminal device can be sent to the CU via the DU. The DU can directly encapsulate the signaling through the protocol layer and transmit it to the terminal device or CU without parsing it. In the following embodiments, if such signaling transmission between the DU and the terminal device is involved, the DU's sending or receiving of signaling includes this scenario. For example, RRC or PDCP layer signaling will eventually be processed into PHY layer signaling and sent to the terminal device, or it may be transformed from received PHY layer signaling. In this architecture, the RRC or PDCP layer signaling can also be considered as being sent by the DU, or by the DU and the radio frequency device.
[0097] It should be understood that the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0098] To facilitate understanding of the embodiments of this application, the terms involved in this application will be briefly explained first.
[0099] It should be understood that the basic concepts introduced below are illustrated using the basic concepts specified in the NR protocol as examples, but do not limit the embodiments of this application to be applied only to NR systems. Therefore, the standard names that appear when describing NR systems are functional descriptions, and the specific names are not limited, but only indicate the functions of the device, and can be extended to other future systems accordingly.
[0100] 1. NR Protocol Architecture
[0101] The NR protocol architecture involved in the embodiments of this application can be divided into a user plane protocol stack and a control plane protocol stack. The above two protocol stacks will be described below with reference to Figure 4.
[0102] Figure 4 is a schematic diagram of the protocol stack applicable to an embodiment of this application.
[0103] Specifically, Figure 4 illustrates the interaction between a terminal device and a base station. Figure 4(a) shows the user plane protocol stack, and Figure 4(b) shows the control plane protocol stack.
[0104] User plane protocol stack: The protocol suite used for user data transmission. As shown in Figure 4(a), the user plane protocol stack can include five layers: PHY layer, MAC layer, RLC layer, PDCP layer, and SDAP layer.
[0105] Control plane protocol stack architecture: This refers to the protocol suite used for control signaling transmission in the system. As shown in Figure 4(b), the control plane protocol stack may include the non-access-stratum (NAS), RRC, PDCP, RLC, MAC, and PHY layers.
[0106] The PHY layer can handle one or more of the following physical layer functions: encoding / decoding, modulation / demodulation, multi-antenna mapping, and others. For example, the MAC layer can handle one or more of the following: Hybrid Automatic Repeat Request (HARQ), uplink scheduling, and downlink scheduling. The RLC layer can handle one or more of the following: segmentation, reassembly, and retransmission processing. For example, the PDCP layer can handle one or more of the following: header compression / decompression, security (encryption, integrity protection), retransmission, and in-order delivery. The RRC layer can handle one or more of the following: broadcasting, paging, RRC connection management, radio bearer control, mobility management, terminal device measurement reporting, and control. The NAS layer can handle one or more of the following: authentication, mobility management, and security control.
[0107] For the user plane protocol stack, the NR protocol stack has an additional SDAP layer compared to the LTE protocol stack. For the control plane protocol stack, the NR protocol stack is similar to the LTE protocol stack.
[0108] Optionally, in this embodiment, each layer in the protocol stack can also be replaced with an entity. For example, the PDCP layer can be replaced with a PDCP entity, and the SDAP layer can be replaced with an SDAP entity. This is explained uniformly here and will not be repeated later.
[0109] Based on the protocol architecture shown in Figure 4, in a common access network technology, data from higher layers (e.g., the application layer or IP layer) typically enters the access layer as a QoS stream. For example, the data, in QoS stream form, is mapped to the corresponding data radio bearer (DRB) at the SDAP layer and then enters the PDCP layer to generate a PDCP PDU, which is then further delivered downwards (e.g., to the RLC layer). The RLC layer processes the received PDCP PDU (also known as an RLC service data unit (SDU)) to generate an RLC PDU, which is then delivered to the MAC layer for further processing.
[0110] The PDCP layer primarily provides header compression, encryption, and integrity protection for data in the control plane and user plane, and supports lossless handover and data recovery for the UE. Typically, each radio bearer (excluding the signalalling radio bearer (SRB) 0 can correspond to a PDCP entity. Each PDCP entity is associated with one, two, or four RLC entities, depending on the characteristics of the transmitted radio bearer and the RLC transmission mode. After processing the PDCP PDU, the PDCP layer forwards it to the RLC layer (also known as the RLC transmit (TX) side). Correspondingly, for the RLC TX side, data from higher layers (such as PDCP PDUs) can also be called RLC SDUs.
[0111] The RLC entity can be one of the following three transmission modes: transparent mode (TM), unacknowledged mode (UM), and acknowledged mode (AM). The AM mode applicable to the embodiments of this application will be described in detail below.
[0112] 2. Acknowledged mode (AM)
[0113] RLC AM entities support bidirectional data transmission. An AM entity consists of a sender and a receiver. The sender receives SDUs from higher layers and transmits PDUs to its peer AM entity via lower layers. The receiver receives PDUs from its peer AM entity via lower layers and transmits the processed SDUs to higher layers. Functions supported by RLC AM entities include: data transmission, error correction via Automatic Repeat-reQuest (ARQ), segmentation and reassembly of RLC SDUs, resegmentation of RLC SDU segments, duplicate detection, and protocol error detection.
[0114] Additionally, AM data transmission can also include informing higher layers of the successful transmission of a higher-layer SDU. For example, when an RLC TX entity receives an ACK for an RLC SDU, it can send an indication message to higher layers to indicate that the RLC SDU has been successfully transmitted.
[0115] The RLC AM mode includes two parts for data processing: data transmission processing and data reception processing.
[0116] (1) Data transmission processing
[0117] AM RLC entities are used to support data transmission on logical channels such as dedicated traffic channels (DTCH) or dedicated control channels (DCCH). The types of data transmitted and received by AM RLC entities include RLC control PDUs and Acknowledgment Mode Data (AM data, AMD) PDUs.
[0118] The RLC control PDU is a status PDU used for transmitting feedback information (e.g., automatic repeat reQuest (ARQ)). An AM RLC PDU consists of a complete RLC SDU or a segment of an RLC SDU. The AM RLC entity sender can generate an RLC PDU for each RLC SDU. Normally, when the AM RLC entity receives a transmission opportunity indication from a lower layer (e.g., the MAC layer), it directly adds an RLC header to the RLC PDU and delivers it to the lower layer. However, when the authorized resources of the transmission opportunity indication are less than the RLC PDU requirement, the AM RLC entity sender segments the current SDU and updates the corresponding RLC header to accommodate the RLC PDU size indicated by the lower layer.
[0119] In addition, the AM RLC entity transmitter can also support retransmission of RLC SDUs or RLC SDU segments. When the size of the RLC SDU that needs to be retransmitted is not suitable for the size of the RLC PDU indicated by the current lower layer, the RLC SDU can be segmented or the segmented RLC SDU can be re-segmented, and there is no limit to the number of times it can be segmented.
[0120] It should be noted that the RLC layer generally submits data to lower layers in descending order of priority (RLC status report > RLC retransmission PDU > RLC new transmission PDU). The AM RLC entity sender can maintain and update the transmission window based on the sequence number (SN) of the AMD PDU. The specific value of the SN of the AMD PDU can be configured by higher-layer signaling (such as RRC messages). In this embodiment, the length of the SN is not limited; for example, it can be 12 bits or 18 bits.
[0121] When maintaining and updating the transmission window, the AM RLC entity transmitter can maintain the lower boundary of the transmission window through status reporting. The specific content of the status report is described in detail below, and will not be repeated here.
[0122] Specifically, the AM RLC entity transmitter can maintain the following transmission window related parameters:
[0123] (a)TX_Next_Ack: This parameter is a status variable used to determine the lower boundary of the sending window (initial value is 0).
[0124] Specifically, TX_Next_Ack will only be updated when the AM RLC entity transmitter receives a positive acknowledgment of a PDU equal to the current TX_Next_Ack value (by adding 1 to the highest SN value among the consecutive PDUs that have already received acknowledgments, which will serve as the lower boundary of the new transmission window).
[0125] It should be noted that all PDUs with an SN less than TX_Next_Ack have been confirmed by the receiving end, indicating that they have all been received correctly.
[0126] (b)TX_NEXT: This parameter is a state variable used to determine the SN of the next newly generated AMD PDU (initial value is 0).
[0127] Specifically, when receiving an RLC SDU from a higher layer, the AM RLC entity first associates the RLC SDU with an SN equal to TX_Next, constructs an AMD PDU with an SN of TX_Next, and then increments the value of TX_NEXT by 1.
[0128] When an AMD PDU containing RLC SDU segments is submitted to a lower layer, the RLC AM transmitter sets the SN of the AMD PDU to the SN of the corresponding RLC SDU.
[0129] (c)AM_Window_Size: This parameter is a constant and is used to represent the size of the reorganized (or reordered) window.
[0130] Specifically, the transmitter and receiver of an AM RLC entity each have a reassembly window, the size of which, AM_Window_Size, is half the effective value space of the SN. For example, when the SN length is configured to 12 bits, AM_Window_Size = 2048, and when the SN length is configured to 18 bits, AM_Window_Size = 131072.
[0131] It should be noted that the RLC AM transmission window adopts a lower boundary-driven method, that is, the window is updated by continuously updating the lower boundary. The definition of the RLC AM transmission window is the interval TX_Next_Ack ≤ SN < TX_Next_Ack + AM_Window_Size. In addition, when the RLC AM entity sender receives the acknowledgment feedback of the RLC SDU, it can send a transmission success indication of the RLC SDU to the higher layer.
[0132] (2) Data reception processing
[0133] After the AM RLC entity receiver receives the AMD PDU, the following operations can be performed: Detect whether the SN of the AMD PDU falls within the reception window (that is, determine whether SN satisfies RX_Next ≤ SN < RX_Next + AM_Window_Size). If SN is not within the reception window, discard the AMD PDU; otherwise, put the AMD PDU into the reception buffer. Detect whether the AMD PDU is received repeatedly. If it has been received before, discard the AMD PDU. Detect whether there are duplicate byte segment(s) in the RLC SDU corresponding to the AMD PDU. If some byte segments in the AMD PDU have been received before, discard the duplicate byte segments.
[0134] It should be noted that during the process of data reception by the AM RLC entity receiver, if it is detected that the AMD PDU reception fails, the AM RLC entity receiver can also trigger a status report when the "reassembly timer expires".
[0135] In addition, for the RLC AM entity receiver, if it receives a poll message from the corresponding RLC AM sender entity, such as a poll indication message carried in the AMD PDU, it can also trigger a status report. Exemplarily, if the AMD PDU (SN = x) carrying the poll has been discarded; or, if x < RX_Highest_Status or x >= RX_Next + AM_Window_size, then a status report is triggered. Otherwise, the status report is triggered later until x < RX_Highest_Status or x >= RX_Next + AM_Window_size.
[0136] At this time, the purpose of triggering the status report when the delay x < RX_Highest_Status is to ensure that the RLC SDU that triggers the status report has undergone the HARQ process. That is, if it is confirmed as lost, the status report is triggered. Otherwise, the triggering of the status report is delayed until the RLC SDU is still lost after being confirmed as having undergone the HARQ process.
[0137] Exemplarily, the SN numbers corresponding to the several AMDs can be from the SN number corresponding to the variable RX_Next that maintains the lower boundary of the reception window to the SN number corresponding to the variable RX_Highest_Status. That is, the upper limit of the AMD PDUs indicated in the status report is determined by RX_Highest_Status.
[0138] It should be noted that since the timeout of the reordering timer may also affect the RX_Highest_Status variable, and the RX_Highest_Status variable affects the content of the status report. Therefore, generally, after the reordering timer times out, the transmission of the status report can be triggered after updating RX_Highest_Status. That is, the content in the status report is determined according to the updated RX_Highest_Status after the reordering timer times out.
[0139] Correspondingly, the AM RLC entity receiver can maintain the following window-related parameters:
[0140] (a) RX_Next: This parameter is a status variable used to determine the lower boundary of the reception window (the initial value is 0).
[0141] Specifically, RX_Next is determined by the SN value of the AM SDU that the AM RLC entity receiver has received continuously and completely latest (RX_Next = SN + 1), and is updated only when the RLC SDU corresponding to the value of RX_Next is correctly received. When the SN value is lower than the RLC SDU corresponding to this RX_Next, they are all either completely received or considered discarded.
[0142] (b) RX_Next_Highest: This parameter is a status variable used to determine the SN of the next RLC SDU to be received (the initial value is 0).
[0143] Specifically, RX_Next_Highest is equal to the highest SN value corresponding to the RLC SDU received by the AM RLC entity receiver plus 1. When an SDU or SDU segment that is within the reception window and has an SN exceeding the original RX_Next_Highest is received, RX_Next_Highest is updated to the highest SN in the currently received SDU plus 1.
[0144] (c)AM_Window_Size: This parameter is a constant and is used to represent the size of the reassembled window.
[0145] Specifically, the details of AM_Window_Size can be found in the relevant description in the "Data Transmission Processing" section above, and will not be repeated here.
[0146] It should be noted that the AM RLC entity receiver can also set a status prohibition timer (t-StatusProhibit) to prevent the transmission of status reports during the t-StatusProhibit operation, thereby avoiding the AM RLC entity receiver from sending status reports frequently and reducing resource overhead.
[0147] For example, when a status report is triggered, if t-StatusProhibit is not running, upon receiving the first transmission opportunity from a lower layer, the AM RLC entity receiver can construct a STATUS PDU and deliver it to the lower layer. Otherwise, after t-StatusProhibit times out, upon receiving the first transmission opportunity from a lower layer, the AM RLC entity receiver can construct a STATUS PDU based on one or more status reports triggered during t-StatusProhibit's operation (but not sent) and deliver it to the lower layer. Once a STATUS PDU has been delivered to a lower layer, the AM RLC entity receiver can reactivate t-StatusProhibit.
[0148] Additionally, when the RLC AM entity sender receives a negative acknowledgment (NA) for an RLC SDU or RLC SDU segment through a status report sent by the RLC AM entity receiver, if the SN number corresponding to the RLC SDU falls within the highest SN of the AMD PDU delivered to the lower layer via TX_Next_Ack <= SN <=, the AM RLC entity sender should consider retransmitting the RLC SDU or RLC SDU segment corresponding to the NACK.
[0149] When considering retransmitting an RLC SDU or RLC SDU segment, if it is the first retransmission of the RLC SDU or RLC SDU segment, the sender of the RLC AM entity sets the corresponding RETX_COUNT (retransmission count value) of the RLC SDU segment to 0; if the RLC SDU or RLC SDU segment is not yet ready for retransmission, and the corresponding RETX_COUNT has not been increased by other indications of NACK for the RLC SDU or RLC SDU segment in the same status report, then RETX_COUNT is increased; if RETX_COUNT = maxRetxThreshold (maximum retransmission threshold, usually configured by higher layer signaling), the sender of the RLC AM entity will indicate to the higher layer that the maximum number of retransmissions has been reached.
[0150] When transmitting an RLC SDU or RLC SDU segment, the sender of the AM RLC entity can segment the RLC SDU or RLC SDU segment as needed to form a new AMD PDU (the size of which is within the total size of AMD PDU(s) that can be indicated by a lower layer); and deliver the newly generated AMD PDU to the lower layer.
[0151] 3. Status reporting
[0152] Status reports are used to indicate the reception status of several AMD PDUs and their corresponding segments. An AM RLC entity can send a STATUS PDU (used to carry status reports) to its peer AM RLC entity to provide an ACK or NACK response to an RLC SDU (or a part thereof).
[0153] A STATUS PDU consists of a STATUS PDU payload and an RLC control PDU header. For example, the payload of the STATUS PDU begins with the first bit after the RLC control PDU header and consists of an ACK_SN and an E1, zero or more NACK_SNs, E1, E2, and E3. Each NACK_SN may have a pair of SOstart and SOend or NACK range fields.
[0154] Among them, the ACK_SN (Acknowledgement SN) field indicates the sequence number of the RLC SDU that is not included in this status report and is immediately next to the next unacknowledged RLC SDU. It can also be understood that ACK_SN can be used to determine the maximum value of the SN indicated in the status report. The NACK_SN (Negative Acknowledgement SN) field indicates the SN of the RLC SDU (or RLC SDU segment) that is detected as lost at the receiving end of the AM RLC entity.
[0155] It should be understood that when the sending end receives the status report, it can be considered that, except for the SNs indicated by the RLC SDUs (or corresponding segments) indicated by NACK_SN, SOstart, SOend, and NACK range, the RLC SDUs with SN < ACK_SN have all been successfully received.
[0156] It should be understood that the RLC AM mode ensures the reliability of data transmission through the ARQ method (implemented based on status reports) and is applicable to services with relatively high reliability requirements. However, with the growth of service requirements, services with high reliability requirements also have the requirement of low transmission delay at the same time. The RLC AM mode will still retransmit data that has timed out.
[0157] Exemplarily, in the RLC AM mode, the sending end of the RLC AM entity sends data #0 (for example, RLC SDU #0) to the receiving end of the RLC AM entity. At the receiving end, if the receiving end of the RLC AM entity does not receive data #0, the receiving end of the RLC AM entity can start a reassembly timer and trigger the sending of a status report after the reassembly timer expires. After receiving the status report, the sending end of the RLC AM entity determines that data #0 has not been successfully transmitted, and thus can retransmit data #0. In a possible situation, the transmission time of data #0 has exceeded its transmission delay budget, and it may be of little significance for the receiving end of the RLC AM entity to receive data #0, but the sending end of the RLC AM entity will still retransmit it until data #0 is successfully received or the number of retransmissions of data #0 reaches the maximum retransmission count threshold.
[0158] For example, the transmission delay budget can be determined according to the packet delay budget (PDB) configured by the core network or the protocol data unit set delay budget (PSDB); or, it can also be determined according to a timer (for example, the transmission delay budget of data #0 can be determined according to the packet loss timer of the PDCP layer corresponding to data #0).
[0159] Specifically, the remaining transmission delay budget refers to the remaining time required for data transmission. In this application, the remaining transmission delay budget can be understood as a duration. The start time of the remaining transmission delay budget can be the current system time, and the end time of the remaining transmission delay budget can be the time when the transmission delay budget of the data to be transmitted is about to time out, or the time when the data to be transmitted is about to be discarded. In some examples, the transmission delay budget can be the packet delay budget (PDB) corresponding to the data to be transmitted. Here, PDB can be understood as the latency requirement from the terminal to the access network device or from the terminal to the UPF entity, for example, the maximum duration from the arrival of a PDU at the terminal to the successful reception of the PDU by the access network device or UPF entity. Typically, PDB can be configured by the core network (CN) through the 5G Quality of Service (QoS) identifier (5QI). For example, if data #1 arrives at the terminal's buffer at millisecond 0 (ms), the PDB of data #1 is 10ms. If the current system time is 3ms, then the remaining transmission delay of data #1 is 10-3=7ms.
[0160] In some examples, the transmission delay budget is determined based on a packet loss timer, for example, based on the maximum runtime of the packet loss timer. This packet loss timer can be configured and started by the PDCP entity for a PDCP SDU. For example, after receiving each PDCP SDU, the PDCP entity can configure and start a packet loss timer for that PDCP SDU; thus, each PDCP SDU can correspond to one packet loss timer. Since each PDCP PDU includes a PDCP SDU, and a PDCP PDU can also be referred to as an RLC SDU, each RLC SDU can correspond to one packet loss timer.
[0161] Optionally, the duration of the packet loss timer may differ for different PDCP SDUs. For example, if importance-based packet loss is enabled, the duration of the packet loss timer for important data (hereinafter referred to as packet loss timer #a) can be longer than the duration of the packet loss timer for unimportant data (hereinafter referred to as packet loss timer #b). Packet loss timer #a can be the regular packet loss timer mentioned above; packet loss timer #b can be a timer configured for low-importance packet loss in higher-layer signaling (discardTimerForLowImportance).
[0162] When the packet loss timer associated with a PDCP SDU expires, the RLC entity can receive information from the corresponding PDCP entity indicating that the packet loss timer has expired. If the RLC SDU corresponding to the PDCP SDU has not been transmitted at this time, for example, the RLC SDU or any segment of the RLC SDU has not been delivered to a lower layer, the transmitting device can discard the RLC SDU or the RLC PDU including the RLC SDU. For example, after receiving PDCP SDU#1, the PDCP entity can start the associated packet loss timer #1 for PDCP SDU#1. If the packet loss timer #1 expires and the RLC SDU#1 corresponding to PDCP SDU#1 or any segment of the RLC SDU#1 has not been delivered to a lower layer, the transmitting device can discard the RLC SDU#1. Again, for example, after receiving PDCP SDU#1, the PDCP entity can start the associated packet loss timer #1 for PDCP SDU#1. If the packet loss timer #1 times out and the RLC SDU #1 containing the PDCP SDU #1 or any segment of the RLC SDU #1 is not delivered to a lower layer, the transmitting device may discard the RLC PDU #1 containing the PDCP SDU #1.
[0163] In some implementations, if the transmitting device is configured to handle packet loss at the data unit group level, such as a PDU set, then when the RLC entity receives information indicating that the packet loss timer corresponding to any PDCP SDU in the PDU set has expired, if the RLC SDU corresponding to that PDU set has not been transmitted, the RLC entity may discard the RLC SDU corresponding to the PDU set or the RLC PDU including the RLC SDU. For example, a PDU set includes PDCP SDUs #1 to #4. PDCP SDUs #1 to #4 correspond to RLC SDUs #1 to #4, respectively. When the packet loss timer corresponding to any PDCP SDU from #1 to #4 expires, for example, when the packet loss timer associated with the first SDU arriving at the first PDCP entity expires, if the RLC SDUs #1 to #4 corresponding to that PDU set have not been transmitted, the first device may discard PDCP SDUs #1 to #4. For example, packet loss at the data unit group level can be configured by the access network device for the PDCP entity of the sending device (e.g., terminal) via RRC messages (such as PDU group discard (pdu-SetDiscard)).
[0164] In other examples, the transmission delay budget can be the PDU set delay budget (PSDB) for the data to be transmitted. The PSDB can be understood as the transmission delay requirement of a PDU set; for example, the maximum time from the arrival of the first PDU in a PDU set at the terminal until all PDUs in that set are successfully received by the access network device or UPF entity. For instance, if the first data unit of data unit group #1 arrives at the terminal's buffer at 0ms, the PSDB for data unit group #1 is 10ms. If the current system time is 3ms, then the remaining transmission delay budget for data unit group #1 is 10 - 3 = 7ms.
[0165] In some examples, the moment when the data to be transmitted is about to be discarded can be understood as the moment when the packet loss timer corresponding to the data to be transmitted times out. For example, if the current system time is 3ms, and the packet loss timer corresponding to data #1 times out at 10ms, then the remaining transmission delay budget for transmitting data #1 is 10-3=7ms.
[0166] Optionally, once the remaining latency of a certain data is equal to 0, the remaining transmission latency budget for that data may no longer decrease and will always remain at 0.
[0167] It should be understood that the remaining transmission delay budget may have other names, such as remaining time, remaining scheduling delay, remaining delay, remaining scheduling time, remaining packet delay budget, or remaining transmission time, as long as they represent the same meaning.
[0168] In one possible implementation, the status report is triggered by the RLC AM receiver entity. That is, the triggering of a retransmission can be determined based on the timeout of the RLC AM receiver entity's timer (t-Reassembly). For example, if t-Reassembly times out, a status report is triggered.
[0169] In another possible implementation, the status report can be triggered by the RLC AM sending entity. For example, when the RLC AM sending entity wants the receiving entity to provide a status report, it can send a polling message to the receiving entity. Correspondingly, upon receiving the polling message, the receiving entity can trigger a status report.
[0170] Specifically, the base station can configure the conditions for triggering polling for the RLC AM sending entity via RRC messages. For example, polling can be triggered when the amount of data sent, such as the number of bytes, is greater than or equal to a threshold (e.g., the value of which can be maintained by the "pollByte" variable). Similarly, polling can also be triggered when the number of PDUs sent is greater than or equal to a threshold (e.g., the value of which can be maintained by the "pollPDU" variable).
[0171] For example, for each AMD PDU delivered to a lower layer, if the AMD PDU contains an RLC SDU or RLC SDU segment that has not been transmitted (i.e., the data contained in the AMD PDU is being transmitted for the first time), and the RLC SDU segment does not contain previously transmitted byte segments, then: PDU_WITHOUT_POLL is incremented by 1. Here, PDU_WITHOUT_POLL is used to record the number of PDUs sent since the last polling was triggered. Polling is triggered when PDU_WITHOUT_POLL is greater than or equal to pollPDU.
[0172] Optionally, triggering polling can be understood as including poll information in the AMD PDU of PDU_WITHOUT_POLL>=polllPDU.
[0173] For example, BYTE_WITHOUT_POLL can be increased by the number of bytes in the data portion of the AMD PDU. BYTE_WITHOUT_POLL is used to record the number of newly transmitted bytes since the last polling was triggered. Polling is triggered when BYTE_WITHOUT_POLL >= pollByte.
[0174] Optionally, triggering polling can be understood as ensuring that the AMD PDU containing poll information is included in the BYTE_WITHOUT_POLL>=polllByte.
[0175] Additionally, polling can be triggered in the following ways: when the RLC layer transmitting entity receives a transmission opportunity indication from a lower layer (such as the MAC layer), for each AMD PDU delivered to the lower layer, if the transmission buffer and retransmission buffer become empty after the AMD PDU is transmitted; or if there are no new RLC SDUs available for transmission after the AMD PDU is transmitted, then the AMD PDU includes a poll message.
[0176] It should be understood that RLC SDUs or RLC SDU segments that are still awaiting acknowledgment may not be included in the buffered data volume. For example, if there is an RLC SDU waiting for an acknowledgment result, it is uncertain whether it has been successfully received by the other end or is considered a reception failure, therefore it cannot be counted in the retransmission buffer.
[0177] Adding polling information to an AMD PDU can be understood as setting the "P" field in the packet header of the AMD PDU to its first value, such as '1'. The "P" field indicates whether polling is enabled in the AMD PDU. After including polling information in an AMD PDU, set both PDU_WITHOUT_POLL and BYTE_WITHOUT_POLL to 0.
[0178] When the AMD PDU carrying poll information is delivered to a lower layer, the RLC AM sending entity will perform at least one of the following: POLL_SN (polling sequence number) is recorded as the largest SN number among the AMD PDUs delivered to the lower layer; if the polling retransmission timer (t-PollRetransmit) is not running, then t-PollRetransmit is started, otherwise t-PollRetransmit is restarted.
[0179] After receiving a status report, if the RLC AM transmitting entity includes a positive or negative response to the RLC SDU corresponding to POLL_SN, and if t-PollRetransmit is running, then stop and reset t-PollRetransmit.
[0180] After the t-PollRetransmit timeout, if the transmit buffer and retransmission buffer are empty; or if no new RLC SDUs or RLC SDU segments can be transmitted (e.g., due to window stalling, such as the SN of a newly transmitted SDU exceeding the upper boundary of the transmission window), then consider retransmitting the RLC SDU with the largest SN among the RLC SDUs delivered to the lower layer; or consider retransmitting any RLC SDU that has not received a positive response. This allows poll information to be added to the AMD PDU.
[0181] For the RLC AM receiving entity, when receiving the polling information from the RLC AM sending entity, if the AMD PDU carrying the polling (corresponding SN = x) has been discarded (refer to the description of the prior art, for example, if the AMD PDU has been successfully received and confirmed at the receiving end, then the reception of this AMD PDU can be regarded as a duplicate reception and thus discarded), or if x < RX_Highest_Status or x >= RX_Next + AM_Window_size, the RLC AM receiving entity triggers a status report. Otherwise, the RLC AM receiving entity delays triggering the status report until x < RX_Highest_Status or x >= RX_Next + AM_Window_size is satisfied.
[0182] It should be understood that triggering the status report when x < RX_Highest_Status is to ensure that the RLC SDU triggering the status report has gone through the HARQ process (i.e., confirmed as lost).
[0183] The current technology can perform retransmission based on the triggered polling information. However, the triggering of the polling information is determined based on the amount of data or the number of data already transmitted by the sending end, and the judgment method is relatively single.
[0184] In view of this, the embodiments of the present application provide a communication method, device and system, which combines the delay requirements of data, thereby improving the flexibility of triggering polling information.
[0185] FIG. 5 is a schematic diagram of a communication method 500 applicable to the embodiments of the present application.
[0186] It should be understood that the specific structure of the execution subject of the method provided by the embodiments of the present application is not particularly limited in the embodiments shown below. As long as it can communicate according to the method provided by the embodiments of the present application by running a program recording the code of the method provided by the embodiments of the present application, for example, the execution subject of the method provided by the embodiments of the present application can be a first communication device (as the sending end, for example, it can be a communication device (such as a terminal device or a network device), or it can also be a unit in the communication device) and a second communication device (as the receiving end, for example, it can be a communication device (such as a terminal device or a network device), or it can also be a unit in the communication device); or it is a functional module in the first communication device and the second communication device that can call the program and execute the function of the program.
[0187] Optionally, the first communication device may include a first entity (such as an RLC entity), a second entity (such as a MAC entity) and / or a third entity (such as a PDCP entity).
[0188] Without loss of generality, the communication method provided in this application embodiment will be described in detail below using the interaction between the first communication device and the second communication device as an example. Both the first and second communication devices support the NR protocol architecture, and both support the protocol architecture shown in Figure 4.
[0189] It should be understood that Figure 5 illustrates the steps or operations of the communication method, but these steps or operations are merely examples. Other operations or variations of the operations shown in Figure 5 may also be performed in the embodiments of this application.
[0190] Method 500 may include the following steps:
[0191] S501: Obtain the first latency budget.
[0192] The first delay budget is related to the first data unit, which is the data unit of the first entity in the first communication device.
[0193] Optionally, the first data unit can be a data unit that the first entity has already sent to the second communication device. For example, a data unit that has been delivered to a lower layer (such as the second entity).
[0194] Optionally, the first data unit may be a data unit that has not received feedback information or has confirmed a response.
[0195] Optionally, the first data unit can be an SDU or an SDU segment. For example, the first data unit can be an RLC SDU.
[0196] Optionally, the first data unit may be the data unit with the shortest remaining transmission delay budget in the first entity.
[0197] For example, the first data unit may be the data unit with the shortest remaining transmission delay budget among the data units in the first entity that have been delivered to a lower layer and have not received feedback information or a confirmed response. The remaining transmission delay budget for each data unit in the first entity can be referred to the explanation of the first data unit and the first delay budget in the embodiments of this application.
[0198] In this case, the first communication device can determine whether to send the first information by only one data unit (see the description below for details, which will not be repeated here), thereby avoiding the second communication device from being confused due to multiple triggers of the first information.
[0199] Optionally, the first delay budget is related to the first data unit and may include the following cases:
[0200] Case 1: The first delay budget is the remaining transmission delay budget of the first data unit.
[0201] Optionally, the remaining transmission delay budget for the first data unit can be determined based on the transmission delay budget of the first data unit. This transmission delay budget can be determined based on the packet delay budget (PDB) or protocol data unit set delay budget (PSDB) configured in the core network. Alternatively, the transmission delay budget can also be determined based on a timer (e.g., the transmission delay budget of the first data unit can be determined based on the packet loss timer of the PDCP entity corresponding to the first data unit). The termination time of the transmission delay budget is the same as that of the remaining transmission delay budget. The definition of the transmission delay budget can be found above and will not be repeated here.
[0202] For example, the transmission delay budget can be determined based on the remaining time of a timer that is in operation.
[0203] Case 2: The first delay budget is related to the first time interval, and the first time interval is related to the first data unit.
[0204] Wherein, the first time interval may correspond to the first data unit (i.e., the first time interval is dedicated to the first data unit); or, the first time interval may correspond to the first set, in which each data unit uses the same transmission resources (e.g., each data unit in the first set corresponds to a MAC PDU), and the first set includes the first data unit (i.e., the first time interval corresponds to multiple data units; or it can also be understood that multiple data units (including the first data unit) correspond to the same first time interval).
[0205] In one possible implementation, the first time interval can be maintained by a first timer. For example, the maximum duration (duration) of the first timer is the first time interval. In this case, the first delay budget is the remaining duration of the first timer.
[0206] Optionally, the method further includes: acquiring a first timer. The start time and duration of the first timer are used to determine a first threshold. For details regarding the first threshold, please refer to the relevant content in step S502 below; this embodiment will not elaborate further here. In one possible implementation, the stop time of the first timer corresponds to the first threshold.
[0207] For example, the first timer may correspond to the first data unit (i.e., a first timer may be started separately for the first data unit); or, the first timer may correspond to a first set, in which each data unit uses the same transmission resources, and the first set includes the first data unit (i.e., a first timer may be started together for multiple data units in the first set; or, a first timer may be started together for all data units in the first set).
[0208] Corresponding to the two scenarios of the first delay budget shown above, optionally, the start time of the first delay budget can be determined based on either the reception time or the transmission time of the first data unit. This improves the flexibility of data transmission in conjunction with delay requirements.
[0209] For example, corresponding to Case 1 shown above, the start time of the first delay budget (i.e., the remaining transmission delay budget of the first data unit) can be determined based on the start time of the transmission delay budget of the first data unit. For example, the time when the first delay budget starts timing is the start time of the transmission delay budget of the first data unit. Wherein, the start time of the transmission delay budget is determined based on the reception time of the first data unit (e.g., the reception time of the first data unit (or the transmission resource corresponding to the first data unit) in the first entity).
[0210] For example, corresponding to case 2 shown above, the start time of the first delay budget (i.e., the remaining duration of the first timer) can be determined based on the running time of the first timer. (For example, when the first timer is on, the start time of the first delay budget corresponds to the current time of the first timer, or it can also be understood as the time earlier than the timeout time of the first timer and the time interval between the timeout and the first delay budget.) The start time of the first timer can be the time when the first data unit is delivered to a lower layer (e.g., delivered to a second entity); or, it can be the time when the first data unit is multiplexed to the corresponding transmission resource; or, it can be the transmission time of the transmission resource carrying the first data unit.
[0211] S502: Determine whether to send the first information based on the first delay budget.
[0212] The first information is used to trigger a status report, which is used to indicate the data unit transmission status between the first communication device and the second communication device.
[0213] It should be noted that the status report is triggered by the second communication device. For example, after receiving the first information, the second communication device can generate a status report based on the data unit transmission status between the first and second communication devices, and send the status report to the first communication device.
[0214] For example, if the second communication device is a network device (e.g., a base station), the content of the status report can be determined by the second communication device itself. As another example, if the second communication device is a terminal device, the content of the status report may include the transmission status of the first data unit.
[0215] It should be understood that the triggering conditions for the status report and the specific content included in the status report can be referred to the terminology section above and the relevant descriptions in the current technology. This application embodiment will not elaborate on these details.
[0216] In this scenario, the first information for triggering a status report can be sent based on a first delay budget associated with the first data unit. This allows data transmission to be combined with delay requirements (i.e., the first communication device can determine whether to send the first information based on the first delay budget, the second communication device can trigger a status report based on the first information, and after receiving the status report, the first communication device can further transmit data based on the content of the status report), reducing the risk of data timeout and improving data transmission performance.
[0217] Optionally, if the first delay budget is lower than or equal to a first threshold, it is determined to send the first information, wherein the first threshold is greater than or equal to zero.
[0218] Optionally, the first message is sent when the first delay budget equals the first threshold. This can also be understood as the first message being sent at the point in time when the first delay budget equals the first threshold.
[0219] It should be noted that the method for obtaining the first threshold will be explained in step S503 below, and will not be repeated here in the embodiments of this application.
[0220] Corresponding to Case 1 shown above, the first delay budget is the remaining transmission delay budget of the first data unit. Therefore, "the first delay budget is less than or equal to the first threshold" can be understood as: the remaining transmission delay budget of the first data unit is less than or equal to the first threshold.
[0221] In one possible implementation, the remaining transmission delay budget for the first data unit can be maintained by a second timer.
[0222] For example, a second timer can be used to determine the current transmission delay of the first data unit (e.g., starting the second timer from the start time of the transmission delay budget of the first data unit), so that a first delay budget can be determined based on the transmission delay budget of the first data unit and the runtime of the second timer. If the first delay budget is lower than or equal to the first threshold, it is determined to send the first information.
[0223] For example, the duration (maximum duration) of the second timer can be the transmission delay budget of the first time unit. If the remaining duration of the second timer is less than or equal to the first threshold, the first message is sent.
[0224] Optionally, the second timer can be maintained by the first entity, so that when the remaining transmission delay budget of the first data unit is less than or equal to the first threshold, the first entity can determine to send the first information.
[0225] For example, the second timer can be determined by configuration information sent by the network device.
[0226] Optionally, the second timer may also be maintained by other entities (e.g., a third entity), so that when the remaining transmission delay budget of the first data unit is less than or equal to the first threshold, the third entity may send an indication message to the first entity to instruct the first entity to determine to send the first information; correspondingly, after receiving the indication message, the first entity may determine to send the first information according to the indication message.
[0227] For example, the second timer can be the packet loss timer corresponding to the first data unit.
[0228] Optionally, the first threshold can be 0, so "the first delay budget is less than or equal to the first threshold" can be further understood as: the second timer times out.
[0229] Corresponding to case 2 shown above, the first delay budget is the remaining duration of the first timer. Therefore, "the first delay budget is less than or equal to the first threshold" can be understood as: the remaining duration of the first timer is less than or equal to the first threshold.
[0230] Optionally, the first threshold can be 0, so "the remaining duration of the first timer is less than or equal to the first threshold" can be further understood as: the first timer has timed out.
[0231] In this case, determining to send the first information when the first delay budget is less than or equal to the first threshold can avoid sending the first information too early. If the first data unit is successfully transmitted, the first communication device may trigger (or send) the first information before receiving the confirmation response of the first data unit, which may lead to repeated transmission of the first data unit and waste of resources.
[0232] Optionally, if the first latency budget is higher than the first threshold, the first information may not be triggered; or, the triggering of the first information may be prohibited.
[0233] Optionally, when the first data unit can be a data unit that has not received feedback information or a confirmed response, the condition for triggering the first information can be understood as the first data unit not receiving the corresponding feedback information or confirmed response before the first delay budget reaches the first threshold.
[0234] Optionally, method 500 may further include S503: obtaining the first threshold.
[0235] For example, the first threshold may be determined by the first communication device itself (e.g., by the first entity of the first communication device itself; or, it may be indicated to the first entity by other entities of the first communication device); or, it may be indicated to the first communication device (or the first entity in the first communication device) by other communication devices; or, it may be predefined by the protocol.
[0236] Preferably, the first threshold can be determined based on configuration information sent by the network device (which may be the second communication device if it is a network device; or it may be another network device besides the second communication device). This application embodiment does not limit the method of obtaining the first threshold.
[0237] Optionally, the step of determining to send the first information if the first latency budget is lower than or equal to the first threshold further includes: determining to send the first information if the first latency budget is lower than or equal to the first threshold and a first transmission opportunity exists, wherein the first transmission opportunity is a resource that can be used to send the first information.
[0238] It should be noted that, in the embodiments of this application, a transmission opportunity can correspond to the concept of the time domain (i.e., used to indicate a segment of time domain resources. For example, a first transmission opportunity is a time domain resource that can be used to send the first information); and / or, a transmission opportunity can also correspond to the concept of the frequency domain (i.e., used to indicate a segment of frequency domain resources. For example, a first transmission opportunity is a frequency domain resource that can be used to send the first information); and / or, a transmission opportunity can also correspond to the concept of the spatial domain (i.e., used to indicate a block of spatial domain resources. For example, a first transmission opportunity is a spatial domain resource that can be used to send the first information). That is, the transmission opportunity in the embodiments of this application can also be understood as a transmission resource, and the embodiments of this application do not limit this.
[0239] Optionally, in addition to situations 1 and 2 shown above, it is also possible to determine whether to send the first information based on the third data unit group. Alternatively, if the above-described determination to send the first information based on situation 1 or situation 2 is satisfied, it is also possible to further determine whether to send the first information based on the third data unit group.
[0240] Specifically, if the number of data units in the third data unit group is greater than or equal to a third threshold; or if the amount of data in the data units in the third data unit group is greater than or equal to a fourth threshold, then the first information is determined to be sent. Here, the first data unit belongs to the third data unit group, and the latency budget corresponding to each data unit in the third data unit group is less than or equal to the first threshold.
[0241] Optionally, method 500 may also include S503a: obtaining a third threshold and / or a fourth threshold.
[0242] For example, the third and / or fourth thresholds may be determined by the first communication device itself (e.g., by the first entity of the first communication device itself; or, by other entities of the first communication device indicating to the first entity); or, by other communication devices indicating to the first communication device (or the first entity in the first communication device); or, may be predefined by the protocol.
[0243] Preferably, the third and / or fourth thresholds can be determined based on configuration information sent by the network device (which may be the second communication device if it is a network device; or it may be another network device besides the second communication device). This application embodiment does not limit the method of obtaining the third and / or fourth thresholds.
[0244] Optionally, thresholds, such as S503 and / or S503a, can be obtained before S501.
[0245] Optionally, if it is determined that the first information will be sent, method 500 may further include S504: if the first communication device does not have transmission resources for transmitting the first information, determine to trigger second information, the second information being used to request the first transmission opportunity.
[0246] It should be noted that the specific content of the second information and the process of triggering the second information can be referred to the relevant description in method 800 below. The second information may correspond to information #1 in method 800, which will not be elaborated here.
[0247] In this situation, if it has been determined to send the first information, but the first communication device does not have the transmission resources to transmit the first information, the second information can be used to request the scheduling of resources, thereby ensuring the successful transmission of the first information.
[0248] Optionally, method 500 may further include S505: receiving third information, the third information being used to indicate the first transmission opportunity.
[0249] It should be noted that step S505 can be executed after step S504. That is, if the first communication device does not have transmission resources for transmitting the first information, it can be determined that the second information is triggered, so that the first transmission opportunity indicated by the third information can be a transmission opportunity obtained according to the request of the second information.
[0250] Furthermore, since step S504 is an optional step, method 500 can execute step S505 without executing step S504. That is, it can be understood that the first communication device has transmission resources for transmitting the first information, and the transmission resources can be determined based on the third information.
[0251] In one possible implementation, the first communication device may execute step S505 before step S502. That is, the first communication device may first determine a first transmission opportunity, and after determining that a first transmission opportunity exists, determine whether to trigger the first information, thereby sending the first information through the first transmission opportunity.
[0252] In this scenario, we can first determine if a first transmission opportunity exists, and then, based on whether there is a first data unit with a first delay budget lower than or equal to the first threshold, determine whether to send the first information. For example, upon receiving a first transmission opportunity, if there is a first data unit with a first delay budget lower than or equal to the first threshold, we determine to send the first information. Alternatively, we can understand it as follows: upon receiving a first transmission opportunity, if there is no first data unit with a first delay budget lower than or equal to the first threshold, we determine not to send the first information. After determining to send the first information, we can then send the first information through the first transmission opportunity.
[0253] In another possible implementation, the first communication device may execute step S505 after step S502. That is, the first communication device may first determine whether to trigger the first information according to step S502, then determine the first transmission opportunity, and send the first information through the first transmission opportunity.
[0254] In this case, the first information can be sent first based on the first delay budget being lower than or equal to the first threshold, and then the first transmission opportunity can be waited for. When the first transmission opportunity arrives, the first information can be sent, thereby ensuring the timeliness of triggering the first information.
[0255] Optionally, the first transmission opportunity is the first transmission opportunity that satisfies the first delay budget being lower than or equal to the first threshold.
[0256] In this situation, the first message can be sent in a timely manner.
[0257] Optionally, if it is determined that the first information will be sent, method 500 may further include S506: sending the first information.
[0258] In one possible implementation, the first information is carried in a second data unit, which is a data unit belonging to a first data unit group. The first data unit group includes data units that can be multiplexed to a first transmission resource from the data units to be transmitted of the first entity. The first transmission resource is the transmission resource corresponding to the first transmission opportunity.
[0259] Optionally, the second data unit is the first data unit in the first data unit group that is multiplexed into the first transmission resource;
[0260] Alternatively, the second data unit is the last data unit in the first data unit group that is multiplexed into the first transmission resource;
[0261] Alternatively, the second data unit is the data unit with the largest sequence number in the first data unit group;
[0262] Alternatively, the second data unit is the data unit with the smallest sequence number in the first data unit group;
[0263] In one possible implementation, the first information is carried in a third data unit, which is a data unit belonging to a second data unit group, wherein any data unit in the second data unit group satisfies at least one of the following:
[0264] The data units that the first communication device (e.g., the first entity in the first communication device) has transmitted, the data units that the first communication device (e.g., the first entity in the first communication device) has not received feedback information or acknowledgment response from, or the data units whose corresponding delay budget is lower than or equal to the first threshold.
[0265] Optionally, the third data unit may also be the data unit with the shortest latency budget in the second data unit group;
[0266] Alternatively, the third data unit is the data unit with the longest delay budget in the second data unit group;
[0267] Alternatively, the third data unit is the data unit with the largest sequence number in the second data unit group;
[0268] Alternatively, the third data unit is the data unit with the smallest sequence number in the second data unit group.
[0269] It should be noted that the specific content of the second data unit can be referred to the relevant description of data unit B below; the content of the third data unit can be referred to the relevant description of data unit C and / or data unit D below, and will not be repeated here in the embodiments of this application.
[0270] In this scenario, the first piece of information can be carried by different data units, thus improving the flexibility of the first piece of information transmission.
[0271] Optionally, before sending the first information, if the buffer of the first entity does not contain the data unit to be transmitted, or the RLC entity cannot transmit a new data unit, the first information is carried in the third data unit.
[0272] Alternatively, the inability of an RLC entity to transmit new data units can also be understood as follows: during the process of an RLC entity sending new (and / or retransmitting) data units, there may be situations where data cannot be transmitted due to too many data units to be transmitted (or too fast transmission) (for example, the SN number of the data unit to be transmitted exceeds the upper boundary of the transmission window maintained by the sender (e.g., the RLC entity); or it can be understood as the RLC entity's transmission window being stagnant, etc.
[0273] Based on the above scheme, if the cache of the first entity does not include the data unit to be transmitted (or the RLC entity cannot transmit a new data unit), the first information can be sent through the third data unit. Alternatively, it can be understood that the first information can be sent by retransmitting the third data unit, thus avoiding the situation where the first information cannot be sent due to the lack of data to be transmitted (or the RLC entity cannot transmit a new data unit).
[0274] In one possible implementation, if multiple data units of the first communication device (e.g., first data unit #1 and first data unit #2) all meet the conditions for determining to send the first information (e.g., the first delay budget #1 corresponding to first data unit #1 is less than or equal to the first threshold #1, and the first delay budget #2 corresponding to first data unit #2 is less than or equal to the first threshold #2), then the first information can be carried by only one data unit (e.g., the second data unit or the third data unit).
[0275] For example, the first communication device further includes a fourth data unit, which is a data unit that the first communication device (e.g., a first entity in the first communication device) has sent to the second communication device, wherein a second delay budget is less than or equal to the first threshold before the first information is determined to be sent, and the second delay budget is related to the fourth data unit.
[0276] In this case, if multiple data units (such as the first data unit and the fourth data unit) can satisfy the triggering condition of the first information, only one first information can be sent, thus avoiding the first communication device from sending multiple first information to the second communication device based on multiple data units that satisfy the triggering condition of the first information, which would cause confusion in the identification of the second communication device.
[0277] It should be noted that the content regarding "the second delay budget is related to the fourth data unit" can be referred to the relevant description of "the first delay budget is related to the first data unit" in step S501 above. That is, the first delay budget can be replaced with the second delay budget, and the first data unit can be replaced with the fourth data unit. This application embodiment will not be elaborated here.
[0278] Optionally, the data unit (e.g., the first data unit and / or the fourth data unit) used to determine whether to send the first information in the embodiments of this application may be an SDU (e.g., an RLC SDU) or an SDU segment (e.g., an RLC SDU includes RLC SDU segment #1 and RLC SDU segment #2).
[0279] For example, the first data unit (SDU#1) includes SDU#1 segment #1 and SDU#1 segment #2. Corresponding to case 1 shown above, if the first entity of the first communication device has received feedback from SDU#1 segment #1 but has not received feedback from SDU#1 segment #2 when the remaining transmission delay budget of SDU#1 is less than or equal to the first threshold, then it can also be determined to send the first information (that is, SDU#1 segment #2 can also trigger the first information).
[0280] For example, the first data unit (SDU#1) includes SDU#1 segment #1 and SDU#1 segment #2, corresponding to case 2 shown above (the case where the first time interval is maintained by the first timer). The first timer can also be configured based on segments. For example, if the first timer is started separately for SDU#1, the start time of the first timer can be the transmission time of the first segment transmitted in SDU#1, the delivery time of the first segment delivered to a lower layer in SDU#1, the time when the first segment multiplexed to the corresponding transmission resource in SDU#1 is multiplexed to the corresponding transmission resource, or the transmission time of the transmission resource corresponding to the first segment transmitted in SDU#1.
[0281] It should be understood that the case of "the fourth data unit includes segments" can also be referred to the relevant description of "the first data unit includes segments" above, and will not be repeated here in the embodiments of this application.
[0282] Optionally, in this embodiment of the application, the data unit used to carry the first information (e.g., the second data unit and / or the third data unit) may be an SDU (e.g., an RLC SDU), an SDU segment (e.g., an RLC SDU including RLC SDU segment #1 and RLC SDU segment #2), a PDU (e.g., an AMD PDU), or a segment of a PDU (e.g., an AMD PDU including AMD PDU segment #1 and AMD PDU segment #2). Thus, the first information can also be carried in the segment of the corresponding data unit.
[0283] Optionally, the method further includes: obtaining a second threshold, wherein the second threshold is lower than the first threshold; the step of determining to send the first information if the first latency budget is lower than or equal to the first threshold includes: determining to send the first information if the first latency budget is lower than or equal to the first threshold and the first latency budget is higher than the second threshold.
[0284] For example, the second threshold is 0. Corresponding to case 1 shown above, this can be understood as follows: when the remaining transmission delay budget of the first data unit is greater than 0 and less than or equal to the first threshold, it is determined that the first information will be sent.
[0285] In this case, determining to send the first information when the first delay budget is lower than or equal to the first threshold and higher than the second threshold can avoid sending the first information too late. For example, if the first information is sent only when the transmission delay budget of the first data unit has already expired, the second communication device may no longer need to acquire the first data unit, which may lead to the repeated transmission of the timed-out data unit and waste of resources.
[0286] Optionally, the second threshold can be pre-configured or configured via signaling from the network device.
[0287] In one possible implementation, the second threshold could be the time when the first delay budget expires, such as the time when the second timer or PDB (or PSDB) expires.
[0288] It should be noted that the data units in Method 500 (including those mentioned above and below) that involve "latency budget is lower than or equal to the first threshold" can be further defined as data units that are "latency budget is lower than or equal to the first threshold and higher than the second threshold".
[0289] For example, the latency budget corresponding to the second data unit is higher than the second threshold; and / or, the latency budget corresponding to the third data unit is higher than the second threshold; and / or, the second latency budget is higher than the second threshold.
[0290] Similarly, corresponding to case 1 shown above, it can be understood that: the remaining transmission delay budget corresponding to the second data unit is greater than the second threshold and less than or equal to the first threshold; the remaining transmission delay budget corresponding to the third data unit is greater than the second threshold and less than or equal to the first threshold; and the second delay budget is greater than the second threshold and less than or equal to the first threshold.
[0291] In this scenario, if the latency budget corresponding to the second or third data unit is lower than the second threshold (e.g., the transmission latency budget of the second or third data unit has timed out), the second communication device may no longer receive the second or third data unit (or, after receiving it, discard it directly). This results in the second communication device being unable to acquire the first information carried by the second or third data unit, thus failing to trigger a status report. Conversely, if the second latency budget is higher than the second threshold, sending the first information too late can be avoided. For example, sending the first information only after the transmission latency budget of the fourth data unit has timed out. In this case, the second communication device may no longer need to acquire the fourth data unit, potentially leading to duplicate transmission of timed-out data units and wasting resources.
[0292] Optionally, after determining to send the first information, method 500 further includes S507: determining to retransmit the first data unit.
[0293] The time interval between determining the time to retransmit the first data unit (i.e., the time to execute step S507) and determining the time to send the first information (i.e., the time to execute step S502) is a first duration.
[0294] In one possible implementation, the time for determining the transmission of the first information is determined based on the first threshold, and the time for determining the retransmission of the first data unit is determined based on the fifth threshold.
[0295] Optionally, the first threshold and the fifth threshold can be configured with different configuration information; or they can be configured with the same configuration information. This application embodiment does not limit this.
[0296] Optionally, the retransmission of the first data unit can refer to the relevant content of the current technology of automatic retransmission mechanism based on threshold (or delay) (the first communication device can set a retransmission threshold for data unit #1 (for example, a timer can be started when sending or receiving data unit #1). If the first communication device still does not receive feedback information from data unit #1 when the timer expires, then data unit #1 is retransmitted). The embodiments of this application will not be elaborated here.
[0297] It should be noted that the embodiment of this application does not limit the value of the first duration.
[0298] In another possible implementation, the first duration can be maintained by a third timer. The start time of the third timer corresponds to the time at which the first information is determined to be sent (or the time at which the first information is sent), and the duration of the third timer is the first duration.
[0299] Optionally, while executing method 500 (i.e., determining whether to trigger the first information), the first communication device may also enable automatic retransmission, so that the first communication device can perform automatic retransmission based on the first information.
[0300] Optionally, the automatic retransmission can be enabled by separate configuration information, or the configuration information in method 500 can be reused (e.g., it can be configured by configuration information for configuring the first threshold, etc.). This application embodiment does not limit this.
[0301] Optionally, before determining to retransmit the first data unit, method 500 further includes S508: if no feedback information for the first data unit is received within the first time period, determine to retransmit the first data unit.
[0302] Optionally, the feedback information may include ACK or NACK corresponding to the first data unit.
[0303] In this context, in the combination of data transmission and latency requirements, compatibility with threshold-based retransmission mechanisms can be further achieved. For data units that do not receive an affirmative acknowledgment or status report indication, automatic retransmission based on thresholds can further ensure transmission reliability.
[0304] It should be noted that the specific content of the fifth data unit can be referred to the relevant description in method 900 below. The fifth data unit can correspond to data unit F in method 900, which will not be elaborated here.
[0305] Figure 6 is a schematic diagram of a method 600 for triggering polling information applicable to an embodiment of this application.
[0306] It should be understood that method 600 can be applied to the AM entity transmitting end (e.g., it can be a communication device (e.g., a terminal device or a network device), or it can be a unit in the communication device). Triggering polling can also be understood as adding polling information to a data unit (e.g., an AMD PDU, which can be any AMD PDU to be transmitted, including the initial AMD PDU and the retransmission AMD PDU). For specific details, please refer to the relevant descriptions above and in the current technology, which will not be repeated here.
[0307] Optionally, the first device including the RLC AM entity transmitter may include entity #1, entity #2, and / or entity #3. Entity #1 may be an RLC entity, entity #2 may be a PDCP entity, and entity #3 may be a MAC entity.
[0308] Method 600 may include the following steps:
[0309] S601: Determine whether to trigger polling.
[0310] Specifically, regarding how to determine whether to trigger polling, there are several specific implementation methods. For ease of understanding, this application embodiment uses the triggering of polling information by data unit A (for example, it can be the data unit of entity #1) as an example for illustration.
[0311] Optionally, data unit A can be an SDU, or a segment of an SDU.
[0312] Alternatively, data unit A can be an RLC SDU that has already been transmitted. For example, an RLC SDU that has been delivered to a lower level (such as entity #3).
[0313] Optionally, when data unit A is a transmitted RLC SDU, data unit A can also be a data unit that has not received any feedback information. For example, data unit A can be a data unit that has not received a corresponding ACK; or, data unit A can be a data unit that has not received a corresponding NACK; or, data unit A can be a data unit that has not received either a corresponding ACK or NACK.
[0314] Optionally, data unit A can be the data unit with the shortest remaining transmission delay budget in entity #1.
[0315] For example, data unit A can be the data unit with the shortest remaining transmission delay budget among the data units in entity #1 that have been delivered to a lower layer and have not received feedback information or a confirmed response. The remaining transmission delay budget for each data unit in entity #1 can be found in the description of data unit A and its remaining transmission delay budget in the embodiments of this application. Method 1: Determine the trigger for polling based on the remaining transmission delay budget of data unit A.
[0316] Specifically, polling can be triggered when the remaining transmission delay budget of data unit A is less than or equal to threshold #1.
[0317] Optionally, threshold #1 can be determined by entity #1 itself; or it can be indicated to entity #1 by other entities or other communication devices; or it can be predefined by the protocol.
[0318] Preferably, threshold #1 can be determined by configuration information sent by the network device. This application embodiment does not limit the method for determining threshold #1.
[0319] Optionally, the remaining transmission delay budget for data unit A can be determined based on the transmission delay budget of data unit A. This transmission delay budget can be determined based on the packet delay budget (PDB) or protocol data unit set delay budget (PSDB) configured in the core network. Alternatively, the transmission delay budget can also be determined based on a timer (e.g., the transmission delay budget of data unit A can be determined based on the packet loss timer of entity #2 corresponding to data unit A). The termination time of the transmission delay budget is the same as that of the remaining transmission delay budget. The definition of the transmission delay budget can be found above and will not be repeated here.
[0320] For example, the transmission delay budget can be determined based on the remaining time of a timer that is in operation.
[0321] Taking the packet loss timer of entity #2 as an example to determine the transmission delay budget of data unit A, when the remaining transmission delay budget of data unit A is lower than or equal to the threshold #1, entity #2 can send indication information #1 to entity #1 to instruct entity #1 to trigger polling.
[0322] Optionally, the remaining transmission delay budget for data unit A can be determined based on timer #1.
[0323] For example, timer #1 can be maintained by entity #1 so that entity #1 can trigger polling when the remaining transmission delay budget of data unit A is less than or equal to threshold #1.
[0324] For example, timer #1 can be determined by configuration information sent by the network device.
[0325] For example, timer #1 can also be maintained by other entities (e.g., entity #2), so that when the remaining transmission delay budget of data unit A is less than or equal to threshold #1, entity #2 can send indication information #1 to entity #1 to instruct entity #1 to trigger polling; correspondingly, after receiving indication information #1, entity #1 can trigger polling according to indication information #1.
[0326] It should be noted that the remaining transmission delay budget of data unit A can be determined based on the time when the AM entity transmitter (e.g., entity #1) receives the transmission opportunity (e.g., the time when entity #1 receives the transmission opportunity from the lower layer is the starting time of the remaining transmission delay budget); or, it can be determined based on the transmission time of data unit A (or the transmission resource corresponding to data unit A) (e.g., the transmission time of data unit A is the starting time of the remaining transmission delay budget of data unit A); or, it can be determined based on the time when data unit A is delivered to the lower layer (e.g., the time when data unit A is delivered to the lower layer is the starting time of the remaining transmission delay budget of data unit A); or, it can be determined based on the time when data unit A (or the transmission resource corresponding to data unit A) is received at the AM or the corresponding PDCP entity transmitter (e.g., entity #1 or entity #2).
[0327] Optionally, the remaining transmission delay budget of data unit A is less than or equal to threshold #1, and may also include less than or equal to threshold #1 and higher than threshold #4.
[0328] For example, threshold #4 can be 0.
[0329] For example, threshold #4 can be the end time of the transmission delay budget, such as the timeout time of the packet loss timer corresponding to data unit A, or the timeout time of the PDB (or PSDB). That is, polling is triggered when the remaining transmission delay budget of data unit A is less than or equal to threshold #1, and greater than threshold #4 (e.g., 0).
[0330] It should be noted that the data units in methods 600 (including those mentioned above and below) to 900 that involve "delay budget is less than or equal to threshold #1" can be further defined as data units that are "delay budget is less than or equal to threshold #1 and higher than threshold #4". For ease of description, this will not be repeated below.
[0331] Method 2: Determine the trigger polling based on the transmission time of data unit A and time interval #1.
[0332] Specifically, polling can be triggered at a time interval #1 after the transmission time of data unit A.
[0333] The transmission time of data unit A can be the time when data unit A is delivered to a lower layer (such as entity #3); or, the time when data unit A is multiplexed to the corresponding transmission resource; or, the transmission resource carrying data unit A can be the transmission time.
[0334] The transmission time and / or time interval #1 can be determined by entity #1 itself; or, it can be indicated to entity #1 by other entities or other communication devices (for example, entity #1 obtains configuration information #1, which is used to indicate the transmission time and / or time interval #1); or, it can be predefined by the protocol. This application embodiment does not limit the method for determining the transmission time and / or time interval #1.
[0335] Optionally, the time interval #1 can be determined based on timer #2.
[0336] Optionally, when data unit A is delivered to a lower layer (or when data unit A is sent), timer #2 is started, and the maximum duration of timer #2 is the time interval #1. If timer #2 times out, polling is triggered.
[0337] Optionally, if entity #1 receives feedback information or ACK corresponding to data unit A before timer #2 expires, then timer #2 stops counting. For example, the feedback information corresponding to data unit A can be either ACK or NACK corresponding to data unit A.
[0338] Optionally, timer #2 can be started at the data unit level (e.g., SDU, SDU segmentation, or PDU). For example, a corresponding timer can be started for each data unit delivered to a lower layer.
[0339] For example, entity #1 includes data unit A#1, data unit A#2 and data unit A#3. When entity #1 receives a transmission opportunity indication from a lower layer, entity #1 delivers data unit A#1, data unit A#2 and data unit A#3 to the lower layer and starts timer #2#1 (corresponding to data unit A#1), timer #2#2 (corresponding to data unit A#2) and timer #2#3 (corresponding to data unit A#3).
[0340] Optionally, timer #2 can also correspond to multiple data units. For example, timer #2 can be started at the granularity of transmission resources (such as MAC PDUs). That is, multiple data units can correspond to one timer.
[0341] For example, entity #1 includes data unit A#1, data unit A#2, and data unit A#3. When entity #1 receives a transmission opportunity indication from a lower layer, it delivers data units A#1, A#2, and A#3 to the lower layer via MAC PDU #1. A timer #2 can then be started for these three data units. That is, timer #2 can be used to determine the time intervals #1#1, #1#2, and #1#3 for data units A#1, A#2, and A#3, respectively. When timer #2 times out, it can be assumed that the remaining transmission delay budgets for data units A#1, A#2, and A#3 are all below or equal to threshold #1.
[0342] Optionally, Method 2 can also be combined with Method 1. If, before Timer #2 times out (i.e., while Timer #2 is running), the remaining transmission delay budget of Data Unit A is lower than or equal to threshold #5 (threshold #5 is lower than threshold #1; threshold #5 can be the same as or different from threshold #4. For example, threshold #5 is 0), then the corresponding Timer #2 can be terminated.
[0343] For example, assuming that time interval #1 is large, that is, the maximum duration of timer #2 is large, if the remaining transmission delay budget of data unit A at the current moment is already equal to the threshold #5 (for example, if the threshold #5 is 0, then the remaining transmission delay budget of data unit A is already 0), although timer #2 has not yet timed out, the AM entity receiver may no longer need data unit A at this time (for example, it may no longer receive data unit A, or it may receive it and then discard it directly). Therefore, timer #2 can be terminated, or it can be understood that data unit A will no longer trigger polling.
[0344] Method 3: Determine the trigger for polling based on the total amount of data in the first type of data unit and / or the number of data units.
[0345] Specifically, polling can be triggered when the total amount of data in the first type of data unit in entity #1 (e.g., the total number of bytes of the first type of data unit) reaches threshold #2; or polling can be triggered when the number of data in the first type of data unit in entity #1 reaches threshold #3.
[0346] Optionally, threshold #2 and / or threshold #3 can be determined by entity #1 itself; or, they can be indicated to entity #1 by other entities or other communication devices; or, they can be predefined by the protocol. This application embodiment does not limit the method of determining threshold #2 and / or threshold #3.
[0347] The first type of data unit may include at least one of the following: a data unit that has been delivered to a lower layer (i.e., a data unit that has been transmitted), a data unit whose remaining transmission delay budget is less than or equal to threshold #1, a data unit whose timer #2 has expired, or a data unit for which the RLC entity has not received the corresponding feedback information or ACK.
[0348] For example, the feedback information corresponding to the data unit can be either ACK or NACK. Optionally, data unit A is a first type of data unit.
[0349] It should be understood that the various methods described above can be combined to form the conditions for triggering polling, and the embodiments of this application do not limit this.
[0350] It should be noted that, in one possible implementation, Method 2 can also be considered an implementation of Method 1. For example, the time interval #1 in Method 2 can be regarded as the transmission delay budget of data unit A (correspondingly, the duration (maximum duration) of timer #2 can be regarded as time interval #1), and thus the remaining transmission delay budget of data unit A can be determined according to timer #2. That is, the remaining transmission delay budget of data unit A being less than or equal to threshold #1 can also be understood as the remaining runtime of timer #2 being less than or equal to threshold #1. Therefore, "the remaining transmission delay budget of data unit A being less than or equal to threshold #1" can be determined directly according to Method 1 or indirectly according to Method 2.
[0351] It should also be noted that the content involving "remaining transmission delay budget is less than or equal to threshold #1" in the following embodiments can be understood as directly corresponding to the case of method 1, or indirectly corresponding to the case of method 2.
[0352] Optionally, if polling is triggered by one or more of methods 1, 2, or 3, it can be assumed that there is a pending polling state. Once the polling is sent (e.g., an AMD PDU carrying polling information is delivered to a lower layer; or an AMD PDU carrying polling information is packaged; or an AMD PDU carrying polling information is sent), the pending state can be considered canceled.
[0353] Optionally, if polling is triggered and there is no transmission opportunity before the remaining transmission delay budget of data unit A reaches threshold #4, i.e. there is no uplink resource to transmit polling information, then the triggered polling information can be canceled when data unit A reaches threshold #4.
[0354] Optionally, when determining whether to trigger polling based on one or more of the methods 1, 2 or 3 mentioned above, it is also possible to further determine whether to trigger polling based on timer #3.
[0355] For example, timer #3 can be a disabled timer. Thus, when timer #3 is enabled (or running), even if there are data units that can trigger polling information (for example, one or more data units that can trigger polling information, which can be determined according to the methods 1, 2, 3 or existing technology mentioned above), polling information will not be triggered; while when timer #3 is disabled (or not running), if there are data units that can trigger polling information, polling information will be triggered.
[0356] Optionally, timer #3 can be started when polling information has been triggered. Alternatively, timer #3 can be started when a data unit carrying polling information is sent, or when a data unit carrying polling information is delivered to a lower layer.
[0357] Optionally, timer #3 may affect the triggering of polling information corresponding to the manner described in this application; or, timer #3 may affect the triggering of polling information corresponding to the prior art or the manner described in this application.
[0358] For example, when the remaining transmission delay budget of data unit A is less than or equal to threshold #1, if timer #3 is not running, polling information is triggered; if timer #3 is running, polling information is not triggered. In this case, frequent triggering of polling information can be avoided.
[0359] Optionally, if it is determined that polling is triggered, method 600 may further include step S602: sending polling information.
[0360] Optionally, it can be determined whether polling is triggered according to step S601. After determining that polling is triggered, method 600 may further include: entity #1 receiving a transmission opportunity indication from a lower layer. In other words, it can be determined whether polling is triggered according to one or more of methods 1, 2, or 3. After determining that polling is triggered, it waits for a transmission opportunity indication from a lower layer. After receiving the transmission opportunity indication from a lower layer, it sends polling information at the corresponding transmission opportunity.
[0361] Optionally, if polling is triggered, before sending polling information, it can be further determined whether to send polling information based on timer #4.
[0362] For example, timer #4 can be a disabled timer. Therefore, when timer #4 is enabled (or running), even if there is polling information that can be sent, no sending action will be performed (i.e., polling information can be triggered without being sent); while when timer #4 is disabled (or not running), if there is already triggered polling information, that polling information can be sent. In this case, frequent triggering of polling information can be avoided.
[0363] Optionally, timer #4 can be started when polling information is sent. Alternatively, timer #4 can be started when a data unit carrying polling information is sent, or when a data unit carrying polling information is delivered to a lower layer.
[0364] Optionally, timer #4 may affect the transmission of polling information corresponding to the manner described in this application; or, timer #4 may affect the transmission of polling information corresponding to the prior art or the manner described in this application.
[0365] For example, data unit A (SDU A#1) includes SDU A#1 segment #1 and SDU A#1 segment #2, corresponding to mode 1 shown above. If the first communication device has received feedback from SDU A#1 segment #1 but has not received feedback from SDU A#1 segment #2 when the remaining transmission delay budget of SDU A#1 is less than or equal to threshold #1, then it can also be determined to send the first information (that is, SDU A#1 segment #2 can also trigger the first information).
[0366] For example, data unit A (SDU A#1) includes SDU A#1 segment #1 and SDU A#1 segment #2, corresponding to mode 2 shown above (where time interval #1 is maintained by timer #2). Timer #2 can also be configured based on segments. For example, if timer #2 is started separately for SDU A#1, the start time of timer #2 can be the transmission time of the first segment sent in SDU A#1, the delivery time of the first segment delivered to a lower layer in SDU A#1, the time when the first segment in SDU A#1 multiplexed to its corresponding transmission resource, or the transmission time of the transmission resource corresponding to the first segment sent in SDU A#1.
[0367] Figure 7 is a schematic diagram of a method 700 for triggering polling information applicable to an embodiment of this application.
[0368] It should be noted that method 700 can be applied to the AM entity transmitter (e.g., a communication device (e.g., a terminal device or a network device), or a unit within the communication device).
[0369] For ease of understanding, we will take data unit A as an example to illustrate the process. For data unit A, please refer to the relevant description of data unit A in method 600. This embodiment will not be repeated here.
[0370] It should be noted that the first device including the RLC AM entity transmitter may include entity #1, entity #2, and / or entity #3. Entity #1 may be an RLC entity, entity #2 may be a PDCP entity, and entity #3 may be a MAC entity.
[0371] Method 700 may include the following steps:
[0372] S701: Receive transmission opportunity indication information.
[0373] Optionally, entity #1 may receive transmission opportunity indication information from a lower layer, which indicates available transmission opportunities (or transmission resources).
[0374] S702: Determine whether to trigger polling.
[0375] Specifically, the decision to initiate polling can be made based on one or more of methods 1, 2, or 3, or based on the polling information triggering conditions in the current technology.
[0376] Method 1: Determine the trigger for polling based on the remaining transmission delay budget of data unit A. For example, trigger polling when the remaining transmission delay budget of data unit A is less than or equal to threshold #1.
[0377] Method 2: Determine the trigger for polling based on the transmission time of data unit A and time interval #1. For example, if the maximum duration of timer #2 is time interval #1, polling is triggered if timer #2 times out.
[0378] Method 3: Determine the trigger for polling based on the total amount of data in the first type of data units and / or the number of data units. For example, polling is triggered when the total amount of data in the first type of data units reaches threshold #2; or, polling is triggered when the number of data units of the first type of data units in entity #1 reaches threshold #3. The first type of data unit may include at least one of the following: data units that have already been delivered to a lower layer (i.e., data units that have already been transmitted), data units whose remaining transmission delay budget is less than or equal to threshold #1, data units whose timer #2 has expired, or data units for which the RLC entity has not received corresponding feedback information or ACK.
[0379] It should be noted that only methods 1, 2 and 3 are briefly described here. For details about methods 1, 2 and 3, please refer to the relevant description in method 600 above. The embodiments of this application will not be repeated here.
[0380] For example, when the AM entity transmitter (e.g., entity #1) receives a transmission opportunity indication from a lower layer, if data unit A exists and data unit A satisfies the polling triggering condition of mode 1 (e.g., the remaining transmission delay of data unit A is first or equal to threshold #1), then polling is determined to be triggered.
[0381] For example, when the AM entity transmitter (e.g., entity #1) receives a transmission opportunity indication from a lower layer, if data unit A exists and data unit A satisfies the polling triggering condition of method 2 (e.g., timer #2 of data unit A times out), then polling is determined to be triggered.
[0382] For example, when the AM entity transmitter (e.g., entity #1) receives a transmission opportunity indication from a lower layer, if data unit A exists and data unit A satisfies the polling triggering condition of mode 3 (e.g., polling is triggered when the total amount of data of the first type of data unit in entity #1 reaches threshold #2; or, the number of data of the first type of data unit in entity #1 reaches threshold #3, and data unit A is a first type of data unit), then polling is determined to be triggered.
[0383] Optionally, method 700 may also include S703: sending polling information.
[0384] It should also be noted that during the execution of steps S702 and S703 based on one or more of methods 1, 2, and 3, the relevant options in method 600 may also be included. For example, when executing step S702, it may be further determined whether to trigger polling based on timer #3; when executing step S702, it may be further determined whether to send polling information based on timer #4, etc. It should be understood that method 700 can be combined with any of methods 600, and the embodiments of this application will not be described in detail here.
[0385] Unlike method 600, the AM entity transmitter, after receiving a transmission opportunity indication from a lower layer, can determine whether to trigger polling based on one or more of methods 1, 2, or 3, or based on the polling triggering conditions in the current technology. If polling is triggered, polling information is sent at the corresponding transmission opportunity (corresponding to the transmission opportunity or transmission resource indicated by the transmission opportunity indication information in step S701). This ensures that a transmission opportunity for sending the first information always exists when it is determined that the first information will be sent.
[0386] It should be noted that, corresponding to the method of triggering polling information shown in method 600 or method 700, the polling information can be carried in a data unit to be sent (e.g., AMD PDU); or it can be understood that polling information can be added to a data unit to be sent.
[0387] For example, corresponding to Method 1 (Method 600 or Method 700) above, if the AM entity transmitter has multiple RLC SDUs (e.g., Data Unit A#1 and Data Unit A#2), and each RLC SDU has its own remaining transmission delay budget, then both Data Unit A#1 and Data Unit A#2 may trigger polling information. If the remaining transmission delay budget of Data Unit A#1 and Data Unit A#2 is lower than a threshold, polling information can be added to any AMD PDU, which may result in polling information being added to multiple AMD PDUs. For example, since there is an interval between the time when polling information is triggered and the actual transmission opportunity (i.e., the time when polling information is sent), multiple polling information may be triggered before the transmission opportunity arrives. For example, in XR data transmission, multiple RLC SDUs may arrive at the UE's AS layer successively, resulting in multiple polling information being triggered.
[0388] For example, corresponding to method 2 above (method 600 or method 700), at a certain moment, if the AM entity transmitter has multiple RLC SDUs (e.g., data unit A#1 and data unit A#2), and each RLC SDU corresponds to a timer #2 (e.g., data unit A#1 corresponds to timer #2#1, and data unit A#2 corresponds to timer #2#2), then both data unit A#1 and data unit A#2 may trigger polling information. If both timer #2#1 and timer #2#2 time out, polling information can be added to any AMD PDU, which may result in polling information being added to multiple AMD PDUs.
[0389] In this scenario, after the polling information is triggered, it can be determined which data unit will carry the polling information. For example, it can be carried by data unit B.
[0390] For example, if multiple polling messages are triggered, the multiple polling messages can be reflected on a single data unit. That is, in the case of multiple polling messages being triggered, only one polling message is sent; in other words, the polling message can be carried by only one data unit (e.g., data unit B).
[0391] Optionally, if the AM entity sender triggers multiple polling messages based on the methods 600 and 700 above or existing technologies during the first time period, the polling messages can be carried only on data unit B.
[0392] For example, the first time period can be maintained by timer #4 in method 600 or method 700, that is, timer #4 is started during the first time period, and polling information is prohibited from being sent until timer #4 is turned off. The embodiments of this application will not be described in detail here.
[0393] Optionally, when the number of times polling information is triggered at the AM entity sending end based on the aforementioned method 600, 700 or existing technology (or the number of data units that can trigger polling information) reaches a first quantity, polling information is carried on data unit B; before reaching the first quantity, polling information is not sent.
[0394] For example, the first quantity can be maintained by counter #1 (with a maximum value of N). For instance, the initial value of counter #1 is 0. If the AM entity sends a polling message once (or there is a data unit that can trigger a polling message), then counter #1 is incremented by 1. When the value of the counter is N, a polling message is sent, and the value of counter #1 is reset to 0.
[0395] In one possible implementation, data unit B can be any data unit to be transmitted in entity #1.
[0396] For example, data unit B could be the next data unit delivered to a lower level.
[0397] In one possible implementation, data unit B can be any data unit in data unit group #1.
[0398] Optionally, data unit group #1 may include data units from entity #1 that are to be transmitted and will be multiplexed to transmission resource #1.
[0399] Optionally, corresponding to method 600, transmission resource #1 can be the transmission resource corresponding to the first transmission opportunity of data unit group #1 after determining the time of triggering polling (including determining the time of triggering polling).
[0400] Optionally, corresponding to method 700, transmission resource #1 can be the transmission resource corresponding to the transmission opportunity indication information received by entity #1 in step S701.
[0401] Optionally, the transfer resource #1 can be a MAC PDU.
[0402] Optionally, data unit B may include at least one of the following:
[0403] Data unit B is the data unit with the smallest (or largest) SN in data unit group #1;
[0404] Alternatively, data unit B can be the data unit with the smallest (or largest) SN among the data units initially transmitted in data unit group #1;
[0405] Alternatively, data unit B can be the data unit with the smallest (or largest) SN among the retransmitted data units in data unit group #1;
[0406] Alternatively, data unit B may be the first data unit in data unit group #1 to be multiplexed to transport resource #1 (or the last data unit to be multiplexed to transport resource #1).
[0407] Optionally, data unit B may have the same type as data unit A, or it may have a different data unit type. This application embodiment does not limit this.
[0408] For example, data unit B can be an SDU (e.g., an RLC SDU), an SDU segment (e.g., an RLC SDU including RLC SDU segment #1 and RLC SDU segment #2), a PDU (e.g., an AMD PDU), or a segment of a PDU (e.g., an AMD PDU including AMD PDU segment #1 and AMD PDU segment #2). Thus, polling information can also be carried within the segments of the corresponding data unit. Figure 8 is a schematic diagram of a method 800 for sending polling information applicable to an embodiment of this application.
[0409] As shown in Figure 8, for status reports triggered based on polling information (e.g., status reports triggered by one or more methods of triggering polling information as shown in methods 500-700 above; or status reports triggered based on polling information in the current technology), the receiving end can determine whether to trigger a status report based on the relationship between the SN of the data unit carrying polling information (i.e., data unit B) and the variable RX_Highest_Status. For details, please refer to the terminology section above and the relevant descriptions in the current technology; these will not be elaborated upon here. In this case, if the SN of data unit B is too large, the status report may not be triggered in a timely manner.
[0410] In this scenario, furthermore, data unit B can be a retransmission of data unit C. That is, data unit C is a data unit already transmitted by the AM entity's transmitter, and retransmission of data unit C can limit the AMD PDU carrying polling information, thereby satisfying the triggering conditions for status reports.
[0411] Alternatively, when data unit C includes segments, it can also be understood that data unit B is a retransmission of (any) segment of data unit C.
[0412] Among them, data unit C can be any data unit in data unit group #2.
[0413] Optionally, the data units in data unit group #2 may include at least one of the following:
[0414] Data units that have already been delivered to lower layers (i.e., data units that have already been transmitted);
[0415] Data units whose remaining transmission delay budget is less than or equal to threshold #1;
[0416] The corresponding data unit that timed out under Timer #2;
[0417] Data unit for which no corresponding feedback or ACK was received.
[0418] It should be noted that the "data unit whose remaining transmission delay budget is less than or equal to threshold #1" corresponds to the data unit that triggers polling in method 1 of the methods 600-700 above, and the "data unit whose timer #2 expires" corresponds to the data unit that triggers polling in method 2 of the methods 600-700 above. Therefore, the determination method and related options for the data unit that satisfies "the data unit whose remaining transmission delay budget is less than or equal to threshold #1" and "the data unit whose timer #2 expires" can also be found in the content of methods 600-700 above, and will not be repeated here in the embodiments of this application.
[0419] For example, data units with a "latency budget less than or equal to threshold #1" can be further defined as data units with a "latency budget less than or equal to threshold #1 and higher than threshold #4". Threshold #1 can be determined by configuration information sent by the network device, triggering polling when the remaining transmission latency budget of the data unit is less than or equal to threshold #1. Threshold #4 can be the termination time of the transmission latency budget, such as the timeout period of the packet loss timer corresponding to data unit A, or the timeout period of the PDB (or PSDB).
[0420] It should also be noted that, in one possible implementation, Method 2 can also be considered as an implementation of Method 1. For example, taking data unit C as an example, if time interval #1 in Method 2 is the transmission delay budget of data unit C (correspondingly, the duration (maximum duration) of timer #2 can be regarded as time interval #1), then the remaining transmission delay budget of data unit C can be determined according to timer #2. That is, the remaining transmission delay budget of data unit C being less than or equal to threshold #1 can also be understood as the remaining runtime of timer #2 being less than or equal to threshold #1. Therefore, in this case, the "data unit with remaining transmission delay budget less than or equal to threshold #1" and the "data unit whose corresponding timer #2 has timed out" can correspond to the same data unit. In other words, there exists a data unit C that simultaneously satisfies both "remaining transmission delay budget less than or equal to threshold #1" and "corresponding timer #2 has timed out".
[0421] Optionally, data unit C can be a retransmission of the data unit with the smallest (or largest) SN in data unit group #2.
[0422] Optionally, data unit B can be a retransmission of data unit C. This can be understood as the data corresponding to data unit B and data unit C being the same, such as an RLC SDU.
[0423] Optionally, the time for determining data unit group #2 may be the time for determining the time for triggering polling information; it may also be the time for receiving a lower-level transmission opportunity indication (e.g., for indicating a transmission opportunity corresponding to transmission resource #1); it may also be the time for lower-level (e.g., MAC layer) packet assembly of the RLC entity; or it may also be the transmission time of transmission resource #1.
[0424] Optionally, data unit C or data unit B can also be a retransmission of data unit A (or it can be understood that the data corresponding to data unit C and data unit A are the same, such as RLC SDU). Here, data unit A is a data unit that can be polled according to one or more of the methods 1-3 above, or according to the current technology.
[0425] In this scenario, if data unit A meets the conditions for triggering polling, then retransmitting data unit A (as data unit C, B, or D; the content of data unit D will be explained below and will not be repeated here) and adding polling information to data unit A can be considered. Optionally, data unit A can be the first data unit to trigger polling information after the last polling information transmission. Alternatively, data unit A can be the last data unit to trigger polling information before the most recent transmission opportunity after the last polling information transmission. Data unit A can be a data unit that triggers polling information according to the method described in this application; or, data unit A can be a data unit that triggers polling information according to existing technology.
[0426] For example, data unit C can be an SDU (e.g., an RLC SDU), an SDU segment (e.g., an RLC SDU including RLC SDU segment #1 and RLC SDU segment #2), a PDU (e.g., an AMD PDU), or a segment of a PDU (e.g., an AMD PDU including AMD PDU segment #1 and AMD PDU segment #2). Thus, polling information can also be carried in the segment of the corresponding data unit.
[0427] It should be noted that, in one possible scenario, if polling information is determined to be triggered (e.g., determined based on one or more methods shown in methods 500-700 above; or determined by current technology), but there are no data units to be transmitted (e.g., the RLC entity's transmission buffer and / or retransmission buffer are empty, or there is no data to be sent at a higher layer of the RLC), although the AM entity's transmitter has determined that polling information has been triggered, the polling information cannot be sent normally because there is no carrier to carry it. In this case, to ensure the transmission of polling information, retransmitting data unit D can be considered.
[0428] Alternatively, in another possible scenario, if it is determined that polling information is triggered (for example, by determining polling information based on one or more methods shown in methods 500-700 above; or by determining polling information using current technology), but new transmission of SDU or SDU segments cannot be performed (e.g., the transmission window is stalled), then in order to ensure the transmission of polling information, retransmission of data unit D may also be considered.
[0429] For example, a transmission window stall can also be understood as follows: during the process of the first communication device (e.g., entity #1) transmitting new (and / or retransmitted) data, there may be a situation where new data cannot be transmitted due to an excessive amount of new data. For example, the serial number (SN) of the data unit to be transmitted exceeds the upper boundary of the transmission window maintained by the transmitting end.
[0430] The transmission buffer includes data units that have not been transmitted (i.e., the transmission buffer is used for new transmissions), and the retransmission buffer includes data units that have already been transmitted (i.e., the retransmission buffer is used for retransmissions).
[0431] Optionally, the data units in the retransmission buffer are data units that are determined to need to be retransmitted. For example, the data unit that the AM entity transmitter receives a NACK feedback corresponding to the data unit, or the data unit that meets the automatic retransmission conditions, etc. This application does not limit this.
[0432] In this scenario, data unit B can be a retransmission of data unit D, meaning that the retransmission corresponding to data unit D can also carry polling information.
[0433] Among them, data unit D can be any data unit in data unit group #3.
[0434] Optionally, the data units in data unit group #3 may include at least one of the following:
[0435] Data units that have already been delivered to lower layers (i.e., data units that have already been transmitted);
[0436] Data units that have been transmitted but for which no corresponding feedback or ACK has been received;
[0437] Data units whose remaining transmission delay budget is less than or equal to threshold #1;
[0438] The corresponding timer #2 timed out data unit.
[0439] It should be noted that the "data unit whose remaining transmission delay budget is less than or equal to threshold #1" corresponds to the data unit that triggers polling in method 1 of the methods 600-700 above, and the "data unit whose timer #2 expires" corresponds to the data unit that triggers polling in method 2 of the methods 600-700 above. Therefore, the determination method and related options for the data unit that satisfies "the data unit whose remaining transmission delay budget is less than or equal to threshold #1" and "the data unit whose timer #2 expires" can also be found in the content of methods 600-700 above, and will not be repeated here in the embodiments of this application.
[0440] For example, data units whose "latency budget is less than or equal to threshold #1" can be further defined as data units whose "latency budget is less than or equal to threshold #1 and higher than threshold #4". Threshold #1 can be determined by configuration information sent by the network device, triggering polling when the remaining transmission latency budget of the data unit is less than or equal to threshold #1. Threshold #4 can be the termination time of the transmission latency budget, such as the timeout time of the packet loss timer corresponding to data unit A, or the timeout time of the PDB (or PSDB). It should also be noted that in one possible implementation, method 2 can also be considered an implementation of method 1. For example, taking data unit D as an example, if time interval #1 in method 2 is the transmission latency budget of data unit D (correspondingly, the duration (maximum duration) of timer #2 can be considered as time interval #1), then the remaining transmission latency budget of data unit D can be determined according to timer #2. That is, the remaining transmission latency budget of data unit D being less than or equal to threshold #1 can also be understood as the remaining runtime of timer #2 being less than or equal to threshold #1. Therefore, in this case, the data units whose "remaining transmission delay budget is less than or equal to threshold #1" and the data units whose "corresponding timer #2 timed out" can correspond to the same data unit. In other words, there exists a data unit D that simultaneously satisfies both "remaining transmission delay budget is less than or equal to threshold #1" and "corresponding timer #2 timed out".
[0441] Optionally, data unit D can also be the data unit with the largest (or smallest) SN in data unit group #3. Optionally, the time to determine whether the transmission buffer and / or retransmission buffer is empty can be the time to determine when to trigger polling information; it can also be the time to receive a transmission opportunity indication from a lower layer (e.g., indicating a transmission opportunity corresponding to transmission resource #1); it can also be the time when a lower layer (such as the MAC layer) of the RLC entity assembles a packet; or it can also be the transmission time of transmission resource #1. The time to determine whether the transmission buffer and / or retransmission buffer is empty can also be understood as the time to determine data unit group #3.
[0442] In this scenario, it can be understood that if data unit A meets the conditions for triggering polling, then retransmission of data unit A (as data unit D) can be considered, and polling information can be added to data unit A. Optionally, in this scenario, data unit A can be the first data unit to trigger polling information after the last polling information was sent. Alternatively, data unit A can be the last data unit to trigger polling information before the most recent transmission opportunity after the last polling information was sent. Wherein, data unit A can be a data unit whose polling information is triggered according to the manner described in this application; or, data unit A can be a polling information triggered according to existing technology or the manner described in this application.
[0443] It should be understood that data unit D is a data unit that has already been transmitted by the AM entity's transmitter. That is, when the transmitter has no data unit to be transmitted, polling information can be sent by sending data unit B or retransmitting data unit D.
[0444] For example, data unit D can be an SDU (e.g., an RLC SDU), an SDU segment (e.g., an RLC SDU including RLC SDU segment #1 and RLC SDU segment #2), a PDU (e.g., an AMD PDU), or a segment of a PDU (e.g., an AMD PDU including AMD PDU segment #1 and AMD PDU segment #2). Thus, polling information can also be carried in the segment of the corresponding data unit.
[0445] In one possible implementation, if the conditions for triggering polling information (or determining to send first information) shown in methods 500-700 are met, then data unit B (or data unit C, or data unit D) is sent. The conditions for meeting the triggering polling information (or determining to send first information) shown in methods 500-700 can also be understood as being based on one or more triggering polling information (or first information) from methods 500-700.
[0446] For example, if the conditions for triggering polling information (or determining to send first information) shown in methods 500-700 are met, and there is a data unit (e.g., data unit B or data unit C) that can carry polling information (or first information), then polling information (or first information) can be sent through that data unit.
[0447] For example, if the conditions for triggering polling information (or determining to send first information) as shown in methods 500-700 are met, but there is no data unit to be transmitted (e.g., the transmission buffer and / or retransmission buffer of the RLC entity is empty, or there is no data to be transmitted at a higher level of the RLC), or the RLC entity cannot transmit new data units (e.g., the RLC entity's transmission window is stalled), then data unit D (or the retransmission corresponding to data unit D) can be retransmitted. In other words, in this case, polling information (or first information) can be carried by data unit D (or the retransmission corresponding to data unit D).
[0448] Furthermore, the conditions for triggering polling information (or determining to send the first message) shown in methods 500-700 can further consider whether there is already triggered polling information (or the first message). For example, if the triggering conditions shown in methods 500-700 are met, but there is already triggered polling information (or the first message to be sent), then the polling information (or the first message to be sent) can be prevented from being triggered. In other words, if there is no already triggered polling information (or the first message) when the triggering conditions shown in methods 500-700 are met, then the polling information (or the first message) can be triggered.
[0449] It should be noted that for one or more methods of triggering polling information shown in methods 500-700, since triggering polling information and sending polling information may not be completed at the same time (for example, after triggering polling information, the sending end needs to wait for an available transmission opportunity before sending polling information), in this case, if the sending end does not receive a transmission opportunity indication after the polling information is triggered, the sending end will be unable to send polling information. Specifically, in the current technology, when uplink data needs to be sent but there are no available resources, an uplink scheduling authorization can be requested from the network through a scheduling request (SR). The triggering of the scheduling request is related to the triggering of the buffer status report (BSR) or delay status report (DSR).
[0450] For example, in current technology, the triggering conditions for scheduling requests mainly include the following:
[0451] (1) If there are uplink resources that can accommodate DSR MAC CE and the corresponding sub-packet header, DSR MAC CE can be generated according to the existing multiplexing and packet assembly criteria. Otherwise, if there is no scheduled request to be sent that has been triggered by the DSR process for the logical channel that triggers the DSR, a scheduling request can be triggered.
[0452] (2) When the logical channel scheduling request delay timer (logicalChannelSR-DelayTimer) configured for the logical channel corresponding to the BSR is not running, and the terminal device currently has no uplink resources available for transmitting the data to be transmitted, a scheduling request can be triggered.
[0453] (3) When the logical channel scheduling request delay timer configured for the logical channel corresponding to the BSR is in an inactive state, the SR-mask (logicalChannelSR-Mask) corresponding to the logical channel that triggered the BSR is in a closed (false) state, and the MAC entity has configured uplink resource grant scheduling for the terminal device, a scheduling request can be triggered.
[0454] (4) When the logical channel scheduling request delay timer configured for the logical channel corresponding to the BSR is not running, and the terminal device currently has uplink resources available for transmitting data to be transmitted, but these uplink resources do not meet the parameter requirements of the data to be transmitted in the logical channel (e.g., logical channel prioritization (LCP)), a scheduling request can be triggered. Here, the logical channel can be understood as the logical channel that triggers the BSR.
[0455] When the logical channel scheduling request delay timer for any logical channel is enabled, a scheduling request will not be triggered if a regular BSR (Block Response Scheduler) for that logical channel is already triggered. The logical channel scheduling trigger delay timer can be configured for a MAC entity. In this case, the network device can configure a logical channel scheduling request delay timer switch (logicalChannelSR-DelayTimerApplied) for each logical channel to indicate whether the logical channel will enable the logical channel scheduling request delay timer. When the logical channel scheduling request delay timer switch is off (e.g., false), the logical channel will not enable the logical channel scheduling request delay timer.
[0456] As shown above, the triggering of BSR is usually related to the priority of the logical channel (LCH) and the presence of new data. Therefore, the triggering of polling information may prevent SR or BSR from being triggered again. The triggering of DSR is usually related to the remaining transmission delay budget (e.g., PDCP SDUs that are below the threshold and have already been transmitted or reported by DSR MAC CE will not trigger DSR again). Therefore, the triggering of polling information may lead to unstable DSR triggering (e.g., retransmission of RLC SDUs may not trigger DSR).
[0457] Based on the above, after the polling information is triggered, the network device may not be aware that the terminal device has data to be sent, which will result in the polling information triggered by the AM entity sending end not being reported in a timely manner, causing data loss.
[0458] In view of this, embodiments of this application provide a method for triggering a scheduling request to ensure that the polling information can be successfully sent after it is triggered.
[0459] Figure 9 is a schematic diagram of a method 900 for triggering a scheduling request applicable to an embodiment of this application.
[0460] It should be understood that the embodiments shown below do not particularly limit the specific structure of the execution subject of the method provided in the embodiments of this application. As long as it is possible to communicate according to the method provided in the embodiments of this application by running a program that records the code of the method provided in the embodiments of this application, for example, the execution subject of the method provided in the embodiments of this application may be entity #1 (e.g., RLC entity) and entity #3 (e.g., MAC entity); or, it may be a functional module in entity #1 and entity #3 that can call and execute the program.
[0461] Without loss of generality, the communication method provided in this application embodiment will be described in detail below using the interaction between entity #1 and entity #3 as an example. It should be understood that FIG9 illustrates the steps or operations of the communication method, but these steps or operations are only examples, and other operations or variations of the various operations in FIG9 can also be performed in the embodiments of this application.
[0462] Method 900 may include the following steps:
[0463] S901: Entity #3 triggers information #1.
[0464] Specifically, information #1 can be used to indicate at least one of the following: to request uplink transmission resources; to report the amount of data to be transmitted; and / or to report the delay information of the data to be transmitted.
[0465] Alternatively, information #1 can also be viewed as a scheduling request in the current technology.
[0466] The amount of data to be transmitted can be the amount of urgent data. For example, urgent data can be data with a remaining latency budget below threshold #6, and thus the amount of data to be transmitted can be the amount of data with a remaining latency budget below threshold #6.
[0467] It should be understood that there is an LCH between entities #1 and #3, and the LCH is used to transmit data to be transmitted. Therefore, "entity #3 triggers information #1" can also be understood as entity #3 being LCH trigger information #1; or, entity #3 triggering information #1 used to indicate the data to be transmitted via LCH.
[0468] It should be noted that the timing of step S901 can include the following two methods:
[0469] Method A: If it is determined that polling information will be triggered, then entity #3 will trigger information #1.
[0470] In other words, the polling information was already determined to be triggered before entity #3 triggered information #1. That is, "information #1" was triggered based on the determination to trigger polling information.
[0471] It should be noted that, regarding the timing of "determining the trigger for polling information", please refer to the relevant content in Method 500, Method 600, Method 700 or the current technology mentioned above, and this application will not elaborate on it here.
[0472] Method B: If the conditions for triggering polling information are met, then entity #3 triggers information #1.
[0473] In other words, triggering information #1 is unrelated to determining whether to trigger polling information (or triggering polling information). If the conditions for determining whether to trigger polling information are met, polling information can be triggered, information #1 can be triggered, and both polling information and information #1 can be triggered.
[0474] It should be noted that, regarding "meeting the conditions for determining the triggering of polling information", one or more methods for triggering polling information shown in methods 500-700 above and related content in the current technology can be referred to, and will not be elaborated here.
[0475] In one possible implementation, entity #3 can directly trigger message #1. That is, when it is determined to trigger polling information, entity #3, which is the entity that triggered the polling information, can trigger message #1.
[0476] In one possible implementation, entity #3 can indirectly trigger information #1. That is, when determining whether to trigger polling information, entity #3, which is the entity that triggered the polling information, can first trigger BSR or DSR, and then determine whether to trigger information #1 based on BSR or DSR.
[0477] It should be noted that the specific implementation of "determining whether to trigger information #1 based on BSR or DSR" can be found in the relevant descriptions in the current technology, and will not be repeated here in the embodiments of this application.
[0478] Optionally, before step S901, method 900 may further include step S902: entity #1 sends information #2 to entity #3.
[0479] Specifically, information #2 is used to indicate the triggering of information #1. That is, the triggering of information #1 can be determined based on whether information #2 is received, and information #2 can be sent when entity #1 determines to trigger the polling information. In other words, after entity #1 determines to trigger the polling information, it can send information #2 to entity #3 to instruct entity #3 to trigger information #1. After receiving information #2, entity #3 can trigger information #1 according to the indication of information #2.
[0480] Optionally, entity #3 can determine whether to trigger message #1 based on whether message #1 already exists in a pending state.
[0481] For example, if entity #3 has information #1 that is already in a pending state, then information #1 may not be triggered after entity #1 determines to trigger polling and / or entity #3 receives information #2. Alternatively, if entity #3 does not have information #1 that has already been triggered, then information #1 may be triggered after entity #1 determines to trigger polling and / or entity #3 receives information #2.
[0482] Optionally, after step S901, method 900 may further include steps S903-S905.
[0483] S903: Entity #3 sends message #1.
[0484] It should be understood that the receiving end of information #1 can be a network device or a unit used to implement the functions of a network device. For example, after receiving information #1, the network device can schedule transmission resources according to the data to be transmitted for entity #1 based on information #1.
[0485] It should be noted that the specific implementation of the network device's "scheduling transmission resources based on information #1 for the data to be transmitted of entity #1" can be found in the relevant descriptions in the current technology, and will not be elaborated upon in the embodiments of this application.
[0486] S904: Entity #1 receives message #3.
[0487] Specifically, information #3 can be used to indicate the transmission resource identified for the data to be transmitted in entity #1. This application only illustrates the function of information #3 and does not limit its specific content. For example, information #3 may include specific information in the time domain, frequency domain, and / or spatial domain corresponding to the transmission resource, or it may include the identifier or index of the time domain resource, frequency domain resource, and / or spatial domain resource.
[0488] Optionally, after scheduling transmission resources for the data to be transmitted by entity #1 based on information #1, the network device can directly send information #3 to entity #1; or, it can send information #3 to entity #1 through entity #3.
[0489] S905: Entity #1 sends polling information.
[0490] Specifically, entity #1 can send polling information using the corresponding transmission resources based on the content of information #3.
[0491] It should be noted that existing technologies include retransmission enhancement methods based on RLC AM, which can ensure transmission reliability through automatic data retransmission mechanisms (e.g., current technologies use threshold (or delay)-based automatic retransmission mechanisms: the first communication device can set a retransmission threshold for data unit #1 (e.g., a timer can be started when sending or receiving data unit #1). If the first communication device still has not received feedback information from data unit #1 when the retransmission threshold is reached (e.g., the timer expires), then data unit #1 is retransmitted). However, the overhead of the automatic retransmission mechanism is relatively significant, which can easily lead to a waste of network resources. Furthermore, the automatic retransmission mechanism is independent of the data retransmission method in methods 500-800 that triggers polling information and can be configured simultaneously in the first communication device.
[0492] In view of this, embodiments of this application provide a data retransmission method that can achieve compatibility between transmission based on an automatic retransmission mechanism and transmission based on polling information, thereby reducing resource overhead.
[0493] Figure 10 is a schematic diagram of a communication method 1000 applicable to an embodiment of this application.
[0494] It should be understood that the embodiments shown below do not particularly limit the specific structure of the execution subject of the method provided in the embodiments of this application. As long as it is possible to communicate according to the method provided in the embodiments of this application by running a program that records the code of the method provided in the embodiments of this application, for example, the execution subject of the method provided in the embodiments of this application may be a first communication device (including RLC AM entity and PDCP entity, as the sending end, for example, it may be a communication device (e.g., terminal device or network device), or it may be a unit in the communication device); or it may be a functional module in the first communication device that can call and execute the program.
[0495] It should be understood that Figure 10 illustrates the steps or operations of the communication method, but these steps or operations are merely examples. Other operations or variations of the operations shown in Figure 10 may also be performed in the embodiments of this application.
[0496] Method 1000 may include the following steps:
[0497] S1001: The first communication device determines the trigger polling information.
[0498] It should be understood that the conditions for the first communication device to determine the triggering of polling information can be referred to methods 500-700 or relevant content in the prior art, and the embodiments of this application do not limit this.
[0499] S1002: The first communication device determines that automatic retransmission has been triggered.
[0500] The automatic retransmission is implemented based on the current technology of "threshold-based (or delay-based) automatic retransmission mechanism". The time of "determining to trigger automatic retransmission" is after the time of "determining to trigger polling information", and the time interval between the time of "determining to trigger automatic retransmission" and the time of "determining to trigger polling information" is duration #1. In other words, step S1002 can be executed after step S1001 at an interval of duration #1.
[0501] It should be understood that duration #1 can be a predefined value; or duration #1 can be determined by the first communication device itself; or duration #1 can be indicated to the first communication device by other communication devices. The embodiments of this application do not limit the value and determination method of duration #1.
[0502] Optionally, before step S1002, method 1000 may also include S1003 and S1004.
[0503] S1003: The first communication device sends polling information.
[0504] S1004: The first communication device receives a status report.
[0505] In one possible implementation, the timing of the execution of steps S1001 and S1002 can be determined based on a threshold.
[0506] For example, polling information triggering based on threshold #7 can be set (for example, when threshold #7 is reached, polling information is triggered, threshold #7 can be the first threshold in method 500 above, or it can be threshold #1 or time interval #1 in method 600 above (corresponding to the timeout time of timer #2)) and automatic retransmission triggering based on threshold #8 can be set.
[0507] For example, when the remaining transmission delay budget of data unit #1 reaches (e.g., is less than or equal to) threshold #8, the first entity of the first communication device (such as an RLC AM transmitting entity) can determine to retransmit data unit #1. Optionally, data unit #1 further includes at least one of the following characteristics: data unit #1 has been delivered to a lower layer (e.g., a MAC entity) or has been transmitted; or, data unit #1 has not received corresponding feedback information or positive acknowledgment; or, the remaining transmission delay budget of data unit #1 is greater than 0. The definitions of data unit #1 and remaining transmission delay budget can refer to the definitions of first data unit and first delay budget in 500.
[0508] Alternatively, threshold #7 and threshold #8 can be configured with different configuration information.
[0509] In this scenario, the first communication device (e.g., the first entity of the first communication device) can determine when to trigger polling information when the remaining transmission delay budget corresponding to data unit #1 reaches threshold #7, and send the polling information to the second communication device. The second communication device triggers a status report based on the polling information and feeds it back to the first communication device. Thus, the first communication device (e.g., the RLC entity of the first communication device) can determine the data units that need to be retransmitted based on the status report. Furthermore, for data unit #1 that has been sent but has not received feedback information, or data unit #1 that has not been indicated by a status report, automatic retransmission based on the threshold can be performed when the remaining transmission delay budget #1 reaches threshold #8, thereby ensuring transmission reliability. That is, automatic retransmission based on the threshold can be performed after the polling information takes effect.
[0510] Among them, duration #1 is used to ensure that the first communication device has enough time to provide feedback (send polling information) and process (receive status reports, determine retransmission data based on status reports, and further determine the data that needs to be automatically retransmitted based on thresholds).
[0511] In addition, data units that do not receive a positive response or are not indicated by a status report can be retransmitted based on automatic retransmission, thereby reducing resource overhead while ensuring data transmission reliability.
[0512] In another possible implementation, the timing of the execution of steps S1001 and S1002 can be determined based on timer #5.
[0513] For example, the first communication device can enable automatic retransmission based on polling information (for example, it can enable automatic retransmission based on a threshold according to configuration information #1 (for details, please refer to the content in the current technology, which will not be repeated here in this application embodiment), and it can also enable retransmission based on polling information according to configuration information #2 (for example, in the methods 500-800 shown above, configuration information #2 may include relevant configuration information of threshold #1 and / or timer #2; or, you can refer to the content in the current technology, which will not be repeated here in this application embodiment)).
[0514] Specifically, when polling information is sent (the polling information is carried in data unit E, for example, data unit E can be any of the data units AD mentioned above); or, when it is determined that polling information is triggered, the first communication device can start timer #5. And when timer #5 times out, it can be determined to retransmit data unit F (data unit F is the data that the first communication device has already transmitted).
[0515] Optionally, the configuration information of timer #5 (e.g., maximum runtime, start time, and / or start conditions) can be configured by configuration information #3; or, the configuration information of timer #5 can be a predefined configuration; or, the configuration information of timer #5 can be determined by the first communication device itself. This application embodiment does not limit the configuration method of the timer #5 configuration information. For example, timer #5 can be timer #2 as described above.
[0516] Data unit F satisfies at least one of the following: the SN number of data unit F is less than or equal to the SN number of data unit E; the transmission time of data unit F (e.g., the transmission time of the initial transmission) is earlier than the transmission time of data unit E; the remaining transmission delay budget of data unit F is less than or equal to threshold #1; the timer #2 corresponding to data unit F times out; or the RLC entity of the first communication device does not receive the feedback information or ACK corresponding to data unit F.
[0517] The absence of feedback information or ACK can be interpreted as data unit F not receiving feedback information or ACK during the operation of timer #5, or as data unit F not receiving feedback information or ACK before timer #5 expires (i.e., from the start of data unit F sending until timer #5 expires).
[0518] It should be noted that the "data unit whose remaining transmission delay budget is less than or equal to threshold #1" corresponds to the data unit that triggers polling in method 1 of the methods 600-700 above, and the "data unit whose timer #2 expires" corresponds to the data unit that triggers polling in method 2 of the methods 600-700 above. Therefore, the determination method and related options for the data unit that satisfies "the data unit whose remaining transmission delay budget is less than or equal to threshold #1" and "the data unit whose timer #2 expires" can also be found in the content of methods 600-700 above, and will not be repeated here in the embodiments of this application.
[0519] For example, data units with a "latency budget less than or equal to threshold #1" can be further defined as data units with a "latency budget less than or equal to threshold #1 and higher than threshold #4". Threshold #1 can be determined by configuration information sent by the network device, triggering polling when the remaining transmission latency budget of the data unit is less than or equal to threshold #1. Threshold #4 can be the termination time of the transmission latency budget, such as the timeout period of the packet loss timer corresponding to data unit A, or the timeout period of the PDB (or PSDB).
[0520] It should also be noted that, in one possible implementation, method 2 can also be considered as an implementation of method 1. For example, taking data unit E as an example, if time interval #1 in method 2 is the transmission delay budget of data unit E (correspondingly, the duration (maximum duration) of timer #2 can be regarded as time interval #1), then the remaining transmission delay budget of data unit E can be determined according to timer #2. That is, the remaining transmission delay budget of data unit E being less than or equal to threshold #1 can also be understood as the remaining runtime of timer #2 being less than or equal to threshold #1. Therefore, in this case, the "data unit with remaining transmission delay budget less than or equal to threshold #1" and the "data unit whose corresponding timer #2 has timed out" can correspond to the same data unit. In other words, there exists a data unit E that simultaneously satisfies both "remaining transmission delay budget less than or equal to threshold #1" and "corresponding timer #2 has timed out".
[0521] Optionally, there can be multiple data units F. That is, after timer #5 times out, the first communication device can retransmit at least one data unit F. For example, if data unit E also meets the conditions of data unit F, the first communication device can also retransmit data unit E.
[0522] It should be understood that in the embodiments of this application, the timer timeout situation can also be understood as the situation where the remaining runtime of the timer reaches (i.e., is lower than or equal to) the threshold of 0.
[0523] It should be noted that the embodiments of this application are not limited to the contents of methods 500-1000. Various embodiments of this application (such as methods 500-1000) can also be combined with each other to form new solutions, and this application does not limit them.
[0524] To facilitate understanding of the above embodiments provided in this application, the following points are made.
[0525] (1) In the embodiments of this application, "instruction" may include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information for the purpose of indicating A, it can be understood that the instruction information carries A, directly indicates A, or indirectly indicates A.
[0526] In this application, the information indicated by the instruction information is called the information to be instructed. In specific implementations, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is a relationship between the other information and the information to be instructed. It can also indicate only a part of the information to be instructed, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent. Furthermore, the information to be instructed can be sent as a whole or divided into multiple sub-information pieces, and the sending period and / or timing of these sub-information pieces can be the same or different.
[0527] (2) In this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which may include direct transmission via the air interface or indirect transmission via the air interface by other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which may include direct reception from YY via the air interface or indirect reception from YY via the air interface by other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface. In other words, sending and receiving can occur between devices, such as between network devices and terminal devices, or within a device, such as between components, modules, chips, software modules, or hardware modules within the device via a bus, wiring, or interface. In this application, descriptions relating to network element A sending messages, information, or data to network element B, and network element B receiving messages, information, or data from network element A, are intended to indicate which network element the message, information, or data is to be sent to, without specifying whether the transmission is direct or indirect via other network elements. Descriptions such as "when," "under the circumstances," "if," and "if" all indicate that the device will take corresponding actions under certain objective circumstances, not that they limit the time frame, nor do they require the device to perform a judgment action during implementation, nor do they imply any other limitations.
[0528] (3) In the various embodiments of this application, unless otherwise specified or logically conflicting, the terms and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0529] (4) In this application, "first" and "second" are used for descriptive convenience only to distinguish objects and are not intended to limit the scope of the embodiments of this application. They are not used to describe the order or sequence of features. It should be understood that the objects described in this way can be interchanged where appropriate so as to describe solutions other than those in the embodiments of this application.
[0530] (5) In this application, “predefined” can be achieved by pre-storing the corresponding code, table or other means that can be used to indicate relevant information in the device. This application does not limit the specific implementation method.
[0531] (6) In this application, the “protocol” may refer to standard protocols in the field of communications, such as the Long Term Evolution (LTE) protocol, the New Radio (NR) protocol, and related protocols applied to future communication systems. This application does not limit the scope of the term.
[0532] (7) In this application, the words “exemplary,” “for example,” “exemplary,” “as another example,” etc., are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as an “exemplary” in this application should not be construed as being more preferred or advantageous than other embodiments or designs.
[0533] (8) In this application, “comprising,” “including,” “having,” and variations thereof mean “including but not limited to,” unless otherwise specifically emphasized. “At least one” means one or more, and “more” means two or more.
[0534] (9) In this application, "and / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Where a, b, and c can be single or multiple.
[0535] (10) In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0536] (11) Some optional features in the various embodiments of this application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.
[0537] The methods of the embodiments of this application have been described in detail above with reference to Figures 5 to 10. In order to implement the functions of the methods provided in this application, both the transmitting device and the receiving device may include hardware structures and / or software modules, and the above functions may be implemented in the form of hardware structures, software modules, or hardware structures plus software modules. Whether a certain function is implemented in the form of hardware structures, software modules, or hardware structures plus software modules depends on the specific application and design constraints of the technical solution.
[0538] The communication device of the present application embodiment is described below with reference to Figures 11 to 13.
[0539] Figure 11 is a schematic diagram of the structure of a communication device 1100 provided in an embodiment of this application.
[0540] The device 1100 includes a transceiver unit 1110 and a processing unit 1120. The transceiver unit 1110 can communicate with the outside world, and the processing unit 1120 is used for data processing. The transceiver unit 1110 can also be referred to as a communication interface or a communication unit.
[0541] Optionally, the transceiver unit 1110 may also be referred to as a communication interface or communication unit, including a transmitting unit and / or a receiving unit. The transceiver unit 1110 may be a transceiver (including a transmitter and / or receiver), an input / output interface (including input and / or output interfaces), or pins or circuits, etc. The transceiver unit 1110 can be used to perform the transmitting and / or receiving steps in the above method embodiments.
[0542] Optionally, the processing unit 1120 may be a processor (which may include one or more) or a processing circuit with processor functions, and may be used to perform other steps in the above method embodiments besides sending and receiving.
[0543] Optionally, the device 1100 further includes a storage unit, which may be a memory, an internal storage unit (e.g., a register or cache), or an external storage unit (e.g., a read-only memory or a random access memory). The storage unit stores instructions, and the processing unit 1120 executes the instructions stored in the storage unit to cause the communication device to perform the aforementioned method.
[0544] In addition, the transceiver unit 1110 can also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing unit 1120 can be a processing circuit.
[0545] It should be noted that the device in Figure 11 can also be a chip or a chip system, such as a system-on-a-chip (SoC). The transceiver unit can be an input / output circuit or a communication interface; the processing unit is a processor, microprocessor, or integrated circuit integrated on the chip. This application does not impose any limitations on this.
[0546] The device 1100 can be used to perform the actions performed by the first communication device in the above method embodiment. In this case, the device 1100 can be the first communication device or a component that can be configured in the first communication device.
[0547] The transceiver unit 1110 is used to perform transceiver-related operations on the first communication device side in the above method embodiment, for example, to obtain a first delay budget, which is related to a first data unit, and the first data unit is a data unit that the first communication device has sent to the second communication device.
[0548] The processing unit 1120 is used to perform processing-related operations on the first communication device side in the above method embodiment. For example, it is used to determine whether to send the first information based on the first delay budget. The first information is used to trigger a status report, and the status report is used to indicate the data unit transmission status between the first communication device and the second communication device.
[0549] It should be understood that the device 1100 here is embodied in the form of a functional unit. The term "unit" here may refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memories for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components that support the described functions.
[0550] The apparatus 1100 of each of the above-described schemes has the function of implementing the corresponding steps performed by the communication device (such as the first communication device) in the above-described methods. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the transceiver unit can be replaced by a transceiver (e.g., the transmitting unit in the transceiver unit can be replaced by a transmitter, and the receiving unit in the transceiver unit can be replaced by a receiver), and other units, such as processing units, can be replaced by processors, respectively executing the transceiver operations and related processing operations in each method embodiment.
[0551] Figure 12 is a schematic diagram of the structure of a communication device 1200 provided in an embodiment of this application.
[0552] As shown in Figure 12, the device 1200 includes a processor 1210 and a transceiver 1220. The processor 1210 and the transceiver 1220 communicate with each other through an internal connection path. The processor 1210 is used to execute instructions to control the transceiver 1220 to send and / or receive signals.
[0553] Optionally, the device 1200 may further include a memory 1230, which communicates with the processor 1210 and the transceiver 1220 via internal connection paths. The memory 1230 is used to store instructions, and the processor 1210 can execute the instructions stored in the memory 1230.
[0554] In one possible implementation, the device 1200 is used to implement the various processes and steps corresponding to the first communication device in the above method embodiments.
[0555] It should be understood that the device 1200 may specifically be the first communication device in the above embodiments, or it may be a chip or a chip system. Correspondingly, the transceiver 1220 may be the transceiver circuit of the chip, which is not limited here. For example, the device 1200 may be used to execute the various steps and / or processes corresponding to the first communication device in the above method embodiments.
[0556] Optionally, the memory 1230 may include read-only memory and random access memory, and provide instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. For example, the memory may also store device type information. The processor 1210 may be used to execute instructions stored in the memory, and when the processor 1210 executes instructions stored in the memory, the processor 1210 is used to perform the various steps and / or processes of the method embodiment corresponding to the first communication device described above.
[0557] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0558] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor in the embodiments of this application can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0559] It is understood that the memory in the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory, dynamic random access memory, synchronous dynamic random access memory, double data rate synchronous dynamic random access memory, enhanced synchronous dynamic random access memory, synchronous linked dynamic random access memory, and direct memory bus random access memory. It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0560] Figure 13 is a schematic diagram of the structure of a chip system 1300 provided in an embodiment of this application.
[0561] As shown in Figure 13, the chip system 1300 (or processing system) includes logic circuits 1310 and input / output interface 1320.
[0562] The logic circuit 1310 can be a processing circuit in the chip system 1300. The logic circuit 1310 can be coupled to the storage unit, calling the instructions in the storage unit, so that the chip system 1300 can implement the methods and functions of the embodiments of this application. The input / output interface 1320 can be an input / output circuit in the chip system 1300, outputting the information processed by the chip system 1300, or inputting data or signaling information to be processed into the chip system 1300 for processing.
[0563] As one option, the chip system 1300 is used to implement the operations performed by the first communication device in the various method embodiments described above.
[0564] This application also provides a computer-readable medium having a computer program stored thereon, which, when executed by a computer, implements the functions of any of the above method embodiments.
[0565] This application also provides a computer program product that, when executed by a computer, implements the functions of any of the above method embodiments.
[0566] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0567] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed 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.
[0568] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0569] 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.
[0570] 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 according to actual needs.
[0571] 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.
[0572] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method applied to a first communication device, characterized in that, include: Obtain a first latency budget, which is related to a first data unit, which is a data unit that the first communication device has already sent to the second communication device. Whether to send the first information is determined based on the first delay budget. The first information is used to trigger a status report, which is used to indicate the data unit transmission status between the first communication device and the second communication device.
2. The method according to claim 1, characterized in that, If the first delay budget is lower than or equal to the first threshold, determine to send the first information, where the first threshold is greater than or equal to zero.
3. The method according to claim 1 or 2, characterized in that, If the first delay budget is lower than or equal to the first threshold, determining to send the first information further includes: If the first latency budget is lower than or equal to the first threshold, and it is determined that there is a first transmission opportunity, then the first information is sent. The first transmission opportunity is the resource that can be used to send the first information.
4. The method according to claim 3, characterized in that, If it is determined that the first information will be sent, the method further includes: If the first communication device does not have transmission resources for transmitting the first information, it determines to trigger the second information, which is used to request the first transmission opportunity. Receive third information, which is used to indicate the first transmission opportunity.
5. The method according to any one of claims 1 to 4, characterized in that, The start time of the first delay budget is determined based on the reception time of the first data unit or the transmission time of the first data unit.
6. The method according to any one of claims 2 to 5, characterized in that, The method further includes: Send the first message; Wherein, the first information is carried in the second data unit, the second data unit belongs to the first data unit group, the first data unit group includes the data units to be transmitted in the first communication device that can be multiplexed to the first transmission resource, and the first transmission resource is the transmission resource corresponding to the first transmission opportunity; Alternatively, the first information is carried in a third data unit, which belongs to a second data unit group, and any data unit in the second data unit group satisfies at least one of the following: The data units that the first communication device has already transmitted, the data units for which the first communication device has not received feedback information or confirmation response, or the data units whose corresponding delay budget is lower than or equal to the first threshold.
7. The method according to claim 6, characterized in that, The second data unit is the first data unit in the first data unit group that is multiplexed into the first transmission resource; Alternatively, the second data unit is the last data unit in the first data unit group that is multiplexed into the first transmission resource; Alternatively, the second data unit is the data unit with the largest sequence number in the first data unit group; Alternatively, the second data unit is the data unit with the smallest sequence number in the first data unit group; The third data unit is the data unit with the shortest latency budget in the second data unit group; Alternatively, the third data unit is the data unit with the longest delay budget in the second data unit group; Alternatively, the third data unit is the data unit with the largest sequence number in the second data unit group; Alternatively, the third data unit is the data unit with the smallest sequence number in the second data unit group.
8. The method according to claim 6 or 7, characterized in that, The first communication device includes a Radio Link Control (RLC) entity. Before sending the first information, if the buffer of the RLC entity does not contain the data unit to be transmitted, or the RLC entity cannot transmit a new data unit, the first information is carried in the third data unit.
9. The method according to any one of claims 1 to 8, characterized in that, The first communication device further includes a fourth data unit, which is a data unit that the first communication device has already sent to the second communication device. Before determining that the first information is to be sent, the second delay budget is lower than or equal to the first threshold, and the second delay budget is related to the fourth data unit.
10. The method according to any one of claims 3 to 9, characterized in that, The first transmission opportunity is the first transmission opportunity that satisfies the first delay budget being lower than or equal to the first threshold.
11. The method according to any one of claims 2 to 10, characterized in that, The method further includes: Obtain a second threshold, which is lower than the first threshold; The step of determining to send the first information if the first delay budget is lower than or equal to the first threshold includes: If the first latency budget is lower than or equal to the first threshold, and the first latency budget is higher than the second threshold, then the first information is sent.
12. The method according to claim 11, characterized in that, The latency budget corresponding to the second data unit is higher than the second threshold; And / or, the latency budget corresponding to the third data unit is higher than the second threshold; And / or, the second delay budget is higher than the second threshold.
13. The method according to any one of claims 1 to 12, characterized in that, The step of determining whether to send the first information based on the first delay budget further includes: If the number of data units included in the third data unit group is greater than or equal to the third threshold; or if the amount of data in the data units included in the third data unit group is greater than or equal to the fourth threshold, then the first information is to be sent. The first data unit belongs to the third data unit group, and the latency budget corresponding to each data unit in the third data unit group is lower than or equal to the first threshold.
14. The method according to any one of claims 2 to 13, characterized in that, The method further includes: Obtain a first timer, the start time and duration of which are used to determine the first threshold.
15. The method according to any one of claims 2 to 14, characterized in that, After determining to send the first information, the method further includes: Determine to retransmit the first data unit, determine the time for retransmitting the first data unit, and determine the first duration of the time interval for sending the first information.
16. The method according to claim 15, characterized in that, Before determining to retransmit the first data unit, the method further includes: If no feedback information is received from the first data unit within the first time period, it is determined to retransmit the first data unit.
17. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 1 to 16.
18. A communication device, characterized in that, The device includes a processor coupled to a memory for storing computer programs or instructions, and the processor is configured to execute the computer programs or instructions in the memory, causing the device to perform the method as described in any one of claims 1 to 16.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 16.
20. A chip or chip system, characterized in that, Includes: a processor for retrieving and running a computer program from memory, causing a communication device equipped with the chip system to perform the method of any one of claims 1 to 16.
21. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 16.