Communication method, apparatus and computer-readable storage medium

By obtaining the remaining time of the data packet and using the LCID indication to generate a MAC sub-PDU, the problem of data packet transmission delay fluctuation in the communication system is solved, ensuring that the data packet is transmitted within the expected time and improving the deterministic experience of the service.

WO2026138615A1PCT designated stage Publication Date: 2026-07-02HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-12-17
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

In communication systems, the transmission delay of data packets fluctuates, resulting in different transmission delays for different data packets within the same data stream, which affects the deterministic experience of services.

Method used

By obtaining the remaining time of the data packet and generating a MAC sub-PDU based on the correspondence between the remaining time and the Logical Channel Identifier (LCID), the remaining time of the data packet is indicated by the LCID, thus avoiding modification of the protocol header format design and improving the accuracy of transmission.

Benefits of technology

It enables data packet transmission to be completed within the expected transmission time, improving the deterministic experience of the business and reducing the implementation complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025143297_02072026_PF_FP_ABST
    Figure CN2025143297_02072026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a communication method, an apparatus and a computer-readable storage medium, which can ensure that transmission of a data packet can be completed at an expected transmission time, thereby ensuring deterministic experience for services. The method comprises: a first device determines, on the basis of an acquired first remaining time of a first data packet and a first correspondence relationship, that an LCID in a first MAC sub-PDU is a first LCID, the first MAC sub-PDU being generated on the basis of the first data packet, and sends the first MAC sub-PDU to a second device. Correspondingly, the second device receives the first MAC sub-PDU from the first device, determines the first remaining time corresponding to the first LCID in the first MAC sub-PDU on the basis of the first correspondence relationship, and determines a remaining time of the first data packet on the basis of the first remaining time, the first correspondence relationship indicating that a plurality of LCIDs correspond to a plurality of remaining times.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods, devices and computer-readable storage media

[0001] This application claims priority to Chinese Patent Application No. 202411945106.9, filed on December 24, 2024, entitled "Communication Method, Apparatus and Computer-Readable Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a communication method, apparatus and computer-readable storage medium. Background Technology

[0003] In communication systems, data transmission may experience multiple delays, and each delay fluctuates, resulting in different transmission delays for different data packets in the same data stream. Some data packets may fail to be transmitted within the expected transmission time, affecting the deterministic experience of services.

[0004] Therefore, ensuring that data packets are transmitted within the expected transmission time has become an urgent problem to be solved. Summary of the Invention

[0005] This application provides a communication method, apparatus, and computer-readable storage medium, so that data packets can be transmitted within the expected transmission time, ensuring a deterministic experience.

[0006] In a first aspect, this application provides a communication method that can be applied to a first device, or to a component (such as a chip, chip system, etc.) configured in the first device, or to a logic module or software capable of realizing all or part of the functions of the first device. This application does not limit the scope of the method.

[0007] For example, the method includes: obtaining a first remaining time of a first data packet; determining the logical channel identity field (LCID) in a first medium access control (MAC) sub-protocol data unit (PDU) as a first LCID based on the first remaining time and a first correspondence; and sending the first MAC sub-PDU to a second device.

[0008] The first correspondence indicates that multiple LCIDs correspond to multiple remaining times. The first MAC sub-PDU is generated based on the first data packet.

[0009] Based on this technical solution, the first device (i.e., the sending end) can obtain the first LCID corresponding to the first remaining time of the first data packet through the first correspondence between multiple LCIDs and multiple remaining times. Thus, the LCID of the first MAC sub-PDU generated based on the first data packet is determined as the first LCID. In this way, the method of indicating the remaining time of the first data packet by LCID does not require modification of the protocol header format design, reducing the complexity of implementation. At the same time, it takes into account the processing time of layer 2 and can more accurately reflect the remaining time of the data.

[0010] It is understandable that remaining time can be replaced with time already consumed. For example, the first mapping indicates that multiple LCIDs correspond to multiple consumed times.

[0011] Optionally, the first MAC sub-PDU can be included in a MAC PDU and sent to the second device.

[0012] In conjunction with the first aspect, in some implementations of the first aspect, determining the LCID in the subheader of the first MAC sub-PDU as the first LCID based on the first remaining time and the first correspondence includes: determining the second remaining time based on the first remaining time and the first time, wherein the first time is the time interval between generating the first MAC sub-PDU and sending the first MAC sub-PDU; and determining the first LCID based on the second remaining time and the first correspondence.

[0013] The second remaining time is less than the first remaining time. The second remaining time is the difference between the first remaining time and the first remaining time.

[0014] This approach, which considers the actual time the data was sent, can more accurately reflect the remaining time of the data.

[0015] In conjunction with the first aspect, in some implementations of the first aspect, the first data packet is a data packet in a first radio link control (RLC) entity, which is associated with multiple LCIDs.

[0016] Alternatively, the first data packet is a data packet from the RLC layer.

[0017] For example, the first device is a terminal device, and the multiple LCIDs associated with the first RLC entity can be configured by the network side.

[0018] In conjunction with the first aspect, in some implementations of the first aspect, the first MAC sub-PDU is generated based on a segment of data from multiple data segments, which are obtained by segmenting the first data packet.

[0019] Optionally, the method further includes: segmenting the first data packet to obtain multiple data segments.

[0020] For example, the RLC entity of the first device segments the first data packet to obtain multiple data segments.

[0021] Optionally, a MAC sub-PDU can be generated based on each of the multiple data segments. These multiple MAC sub-PDUs can be transmitted within a single MAC PDU or within multiple MAC PDUs.

[0022] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: sending a second MAC sub-PDU to a second device, the second MAC sub-PDU being generated based on the last segment of data among multiple segments, and the remaining time corresponding to the LCID in the second MAC sub-PDU being a third remaining time.

[0023] Optionally, the second MAC sub-PDU can be included in a MAC PDU and sent to the second device.

[0024] It is understandable that the second MAC sub-PDU and the first MAC sub-PDU can be included in the same MAC PDU and sent to the second device, or they can be included in different MAC PDUs and sent to the second device.

[0025] The third remaining time can be the time obtained after taking into account the actual transmission time of the second MAC sub-PDU. The method for determining the LCID in the second MAC sub-PDU can refer to the method for determining the LCID in the first MAC sub-PDU, and this application does not limit it in this regard.

[0026] In conjunction with the first aspect, in some implementations of the first aspect, obtaining the first remaining time of the first data packet includes: obtaining the first remaining time based on one of the following: the remaining time of the packet data convergence protocol (PDCP) discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; the remaining time of the PDCP discard timer corresponding to the first data packet in the data packet set to which the first data packet belongs; or, the time carried by the first data packet.

[0027] The duration of the PDCP drop timer can be configured on the network side, and the PDCP drop timer is started when the data packet arrives at the PDCP layer.

[0028] In conjunction with the first aspect, in some implementations of the first aspect, obtaining the first remaining time of the first data packet includes: determining the first time based on one of the following: the remaining time of the PDCP discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; the remaining time of the PDCP discard timer corresponding to the first packet in the data packet set to which the first data packet belongs; or, the time carried by the first data packet; and determining the difference between the first time and the second time as the first remaining time.

[0029] The second time is either the time consumed by the tethered connection or the processing time of the first data packet at the PDCP layer and / or RLC layer.

[0030] This approach, which considers a second time frame, can more accurately reflect the remaining time in the data.

[0031] In conjunction with the first aspect, in some implementations of the first aspect, multiple remaining times belong to multiple remaining time intervals respectively; the first correspondence indicates that multiple LCIDs correspond to multiple remaining time intervals, and these multiple remaining time intervals do not overlap.

[0032] These multiple remaining time zones can be replaced with: multiple consumed time intervals.

[0033] Secondly, this application provides a communication method that can be applied to a second device, or to a component (such as a chip, chip system, etc.) configured in the second device, or to a logic module or software capable of realizing all or part of the functions of the second device. This application does not limit the application in this regard.

[0034] For example, the method includes: receiving a first MAC sub-PDU from a first device, the first MAC sub-PDU being generated based on a first data packet; determining a first remaining time corresponding to a first LCID in the first MAC sub-PDU based on a first correspondence, the first correspondence indicating that multiple LCIDs correspond to multiple remaining times; and determining the remaining time of the first data packet based on the first remaining time.

[0035] Based on this technical solution, when the second device receives the first MAC sub-PDU, it obtains the first remaining time corresponding to the first LCID based on the first correspondence, and thus can obtain the remaining time of the first data packet. This method of using LCID to indicate the remaining time of data packets does not require modification of the protocol header format design, reducing implementation complexity, while taking into account the layer 2 processing time, and can more accurately reflect the remaining time of the data. In this way, the second device can adjust subsequent transmission strategies according to the obtained remaining time of the first data packet to ensure a deterministic service experience.

[0036] In conjunction with the second aspect, in some implementations of the second aspect, the first MAC sub-PDU is generated based on a segment of data from multiple data segments, which are obtained by segmenting the first data packet.

[0037] Optionally, the method further includes: receiving a second MAC sub-PDU from a first device, the second MAC sub-PDU being generated based on the last segment of data among multiple data segments; determining a third remaining time corresponding to the LCID in the second MAC sub-PDU based on a first correspondence; and determining the remaining time of a first data packet based on the first remaining time, including: determining the remaining time of the first data packet based on the third remaining time.

[0038] For a description of the second MAC sub-PDU, please refer to the description in the first aspect, which will not be repeated here.

[0039] This method of determining the remaining time of the first data packet based on the LCID indication of the MAC sub-PDU generated from the last segment of data in the first data packet can obtain a more accurate remaining data time, thereby ensuring that the transmission delay of multiple segments of the first data packet can meet the data transmission delay requirements of the first data packet.

[0040] In conjunction with the second aspect, in some implementations of the second aspect, multiple remaining times belong to multiple remaining time intervals respectively; the first correspondence indicates that multiple LCIDs correspond to the multiple remaining time intervals, and the multiple remaining time intervals do not overlap.

[0041] In conjunction with the second aspect, in some implementations of the second aspect, the second device is a network device, and the method further includes: adjusting the delivery strategy of the first data packet; determining the transmission time of the corresponding data packet based on the remaining time of the first data packet; or, sending the remaining time of the first data packet to other network elements.

[0042] In conjunction with the second aspect, in some implementations of the second aspect, the second device is a terminal device, and the method further includes: determining the available transmission time for the reciprocating data packet based on the remaining time of the first data packet; or, in the case of a tethered connection, adjusting the transmission strategy of the tethered connection based on the remaining time of the first data packet.

[0043] Thirdly, this application provides a communication device, including modules or units for implementing the methods of any of the above aspects and any possible implementations of any of the above aspects. It should be understood that each module or unit can implement its corresponding function by executing a computer program.

[0044] Fourthly, this application provides a communication device including a processor, the processor being configured to perform the methods described in any of the above aspects and any possible implementations of any of the above aspects.

[0045] Optionally, the communication device may further include a memory for storing instructions and data. The memory is coupled to the processor, which, when executing the instructions stored in the memory, can implement the methods described in the foregoing aspects.

[0046] Optionally, the communication device may further include a communication interface for communicating with other devices. For example, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.

[0047] Fifthly, this application provides a chip or chip system including at least one processor for supporting the implementation of the functions involved in any of the above aspects and any possible implementations of any of the above aspects, such as receiving or processing data and / or information involved in the above methods.

[0048] In one possible design, the chip system also includes a memory for storing program instructions and data, which may be located within or outside the processor.

[0049] The chip system can consist of chips or include chips and other discrete components.

[0050] Sixthly, this application provides a computer-readable storage medium including a computer program that, when run on a computer, causes the computer to implement the methods in any of the above aspects and any possible implementations of any of the above aspects.

[0051] In a seventh aspect, this application provides a computer program product comprising: a computer program (also referred to as code or instructions) that, when run, causes a computer to perform the methods described in any of the above aspects and any possible implementations of any of the above aspects.

[0052] Eighthly, this application provides a communication system including the aforementioned first device and second device. The first device is used to perform the methods described in the first aspect and any possible implementation thereof, and the second device is used to instruct the methods described in the second aspect and any possible implementation thereof.

[0053] It should be understood that the third to eighth aspects of this application correspond to the technical solutions of the first and second aspects of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description

[0054] Figure 1 is a schematic diagram of the network architecture provided in an embodiment of this application;

[0055] Figure 2 is a schematic diagram of the centralized unit (CU) - distributed unit (DU) separation architecture provided in the embodiments of this application;

[0056] Figure 3 is a schematic diagram of the entire Layer 2 downlink protocol stack processing flow;

[0057] Figure 4 is a schematic diagram of a MAC subheader structure;

[0058] Figure 5 is a schematic diagram of a data arrival model for extended reality (XR) services;

[0059] Figure 6 is a schematic diagram of data transmission between the application server and the terminal;

[0060] Figure 7 is a schematic diagram of data packets carrying time information;

[0061] Figure 8 is a schematic diagram of the air interface sensing data packet remaining time method;

[0062] Figure 9 is a schematic flowchart of the communication method provided in an embodiment of this application;

[0063] Figure 10 is a schematic diagram of three methods for obtaining the first remaining time using the DU according to an embodiment of this application;

[0064] Figure 11 is a schematic block diagram of the device provided in an embodiment of this application;

[0065] Figure 12 is another schematic block diagram of the device provided in the embodiments of this application. Detailed Implementation

[0066] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0067] To facilitate understanding of the embodiments of this application, the following points are explained first:

[0068] First, in the embodiments of this application, the use of prefixes such as "first" and "second" is merely for the purpose of distinguishing and describing different things belonging to the same name category, and does not constrain the order, size, or quantity of things. For example, "first device" and "second device" are simply different devices, and do not limit the number of devices or their priority; similarly, "first remaining time" and "second remaining time" are simply different times, and there is no temporal order, size, or priority relationship between them.

[0069] Second, in the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send the first MAC sub-PDU to the second device" can be understood as the destination of the first MAC sub-PDU being the second device, which may include direct transmission via the air interface or indirect transmission via the air interface by other units or modules. "Receive the second MAC sub-PDU from the first device" can be understood as the source of the second MAC sub-PDU being the first device, which may include direct reception from the first device via the air interface or indirect reception from the first device 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.

[0070] In other words, sending and receiving can be done between devices, such as between a second device and a first device; or it can be done within a device, such as between components, modules, chips, software modules, or hardware modules within a device via a bus, wiring, or interface.

[0071] It is understandable that information may undergo necessary processing, such as encoding and modulation, before being sent from the source to the destination. Similarly, the destination, upon receiving information from the source, can also perform corresponding processing, such as decoding and demodulation, to interpret the valid information from the source. Similar expressions in this application can be understood in a similar way and will not be elaborated further.

[0072] Third, for ease of understanding, this document provides examples of message structures, such as MAC headers. The positions, names, and data types of the fields shown in these examples are for illustrative purposes only and should not constitute any limitation on this application.

[0073] Fourth, in the embodiments of this application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates an "or" relationship between the preceding and following related objects, but it does not exclude the possibility of indicating an "and" relationship. The specific meaning can be understood in conjunction with the context. "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, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Here, a, b, and c can be single or multiple.

[0074] Fifth, in the embodiments of this application, "instruction" can include direct instruction and indirect instruction, as well as explicit instruction and implicit instruction. The information indicated by a certain piece of information is called the information to be instructed. In the specific implementation process, 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; or it can only indicate a part of the information to be instructed, while the other parts of the information to be indicated are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol predefined) arrangement order of various pieces of information, thereby reducing the instruction overhead to a certain extent. This application does not limit the specific method of instruction.

[0075] Sixth, in the embodiments of this application, descriptions such as "when," "under the circumstances," "if," and "if" all refer to the fact that the device (e.g., the first device or the second device) will make corresponding processing under certain objective circumstances. They are not time limits, nor do they require the device (e.g., the first device or the second device) to have a judgment action when implementing it, nor do they mean that there are other limitations.

[0076] Seventh, the predefined terms in this application can be understood as: definition, pre-defined, storage, pre-storage, pre-negotiation, pre-configuration, solidification, or pre-firing.

[0077] Eighth, the term "storage" in this application can refer to storage in one or more memory devices. These memory devices can be separate installations or integrated into an encoder, decoder, processor, or communication device. Alternatively, some memory devices can be separately installed, while others can be integrated into the decoder, processor, or communication device. The type of memory can be any form of storage medium, and this application does not limit this.

[0078] The technical solutions provided in this application can be applied to various communication systems, such as: Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, sidelink (SL) communication systems, 5th generation (5G) mobile communication systems, new radio access technology (NR) systems, satellite communication systems, etc. Among them, 5G mobile communication systems can include non-standalone (NSA) and / or standalone (SA) networks.

[0079] The technical solution provided in this application can also be applied to future communication networks.

[0080] Figure 1 is a schematic diagram of a network architecture 100 provided in an embodiment of this application. The network architecture 100 includes a terminal device 101, a terminal device 102, an access network (AN) device 103, a core network (CN) 104, and a data network (DN) 105.

[0081] Terminal equipment 101 and terminal equipment 102 are capable of transmitting carrier signals. Terminal equipment may also be referred to as user equipment, access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent, or user device. The terms "terminal" and "terminal equipment" may appear interchangeably in the following text.

[0082] Terminal devices can be devices that provide voice / data connectivity to users, such as handheld devices with wireless connectivity, in-vehicle devices, etc. Currently, examples of terminal devices include: mobile phones, tablets, computers with wireless transceiver capabilities (such as laptops and PDAs), mobile internet devices (MIDs), virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving vehicles, drones, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, wearable devices, terminal devices in 5G networks, or future public land mobile communication networks. Terminal equipment in a mobile network (PLMN), etc.

[0083] Wearable devices, also known as wearable smart devices, are a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices; they achieve powerful functions through software support, data interaction, and cloud interaction. Broadly defined, wearable smart devices include those with comprehensive functions, large sizes, and the ability to perform complete or partial functions without relying on a smartphone, such as smartwatches or smart glasses. They also include devices focused on a specific application function that require the use of other devices, such as smart bracelets and smart jewelry for vital sign monitoring.

[0084] Terminal devices can also be terminal devices in Internet of Things (IoT) systems. IoT is an important component of future information technology development. Its main technical characteristic is connecting objects to networks through communication technologies, thereby realizing an intelligent network that enables human-machine interconnection and machine-to-machine interconnection. IoT technology can achieve massive connectivity, deep coverage, and low power consumption at the terminal level through technologies such as narrowband (NB).

[0085] Terminal devices may also include sensors such as smart printers, train detectors, and gas station sensors. Their main functions include collecting data (for some terminal devices), receiving control information and downlink data from access network devices, and sending electromagnetic waves to transmit uplink data to access network devices.

[0086] Furthermore, the terminal device in this application can also be a virtualized device, for example, implemented through general-purpose hardware and instantiated virtualization functions, or dedicated hardware and instantiated virtualization functions. The general-purpose hardware can be a server, such as a cloud server.

[0087] It should be understood that this application does not limit the specific form of the terminal device.

[0088] AN device 103 is a device with wireless transceiver capabilities, such as a radio access network (RAN) device, used to provide wireless communication services and allow terminal devices to access the wireless network. A RAN device can be a node in the RAN network, referred to as a RAN node.

[0089] In one possible scenario, a RAN node can be a base station (BS), an evolved NodeB (eNodeB), a transmission reception point (TRP), a home evolved NodeB (or home Node B, HNB), an access point (AP) for wireless fidelity (Wi-Fi), a mobile switching center, or a base station in a future mobile communication system. A RAN node can also be a device that performs base station functions in device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, machine-to-machine (M2M) communication systems, and internet-to-things (IoT) communication systems. A RAN node can also be a RAN node in a non-terrestrial network (NTN), meaning that a RAN node can be deployed on a high-altitude platform or a satellite. RAN nodes can be macro base stations, micro base stations, indoor stations, relay nodes, donor nodes, or radio controllers in cloud radio access network (CRAN) scenarios, or nodes in open radio access network (O-RAN or ORAN) scenarios.

[0090] In another possible scenario, multiple RAN nodes collaborate to assist the terminal in achieving wireless access, with each RAN node performing a portion of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).

[0091] It can be understood that the RU is the unit that transmits, receives, amplifies, and digitizes radio frequency signals, and the RU is located near the antenna or integrated into the antenna; the DU and CU are the computing modules of the base station, which transmit digitized radio signals into the network. The DU is physically located at or near the RU, while the CU can be located closer to the core. It should be understood that in future systems, the functions provided by the CU, DU, and RU may be redefined.

[0092] The CU provides support for higher layers of the protocol stack, such as the Service Data Adaptation Protocol (SDAP) layer, the Packet Data Convergence Protocol (PDCP) layer, and the Radio Resource Control (RRC) layer, while the DU provides support for lower layers of the protocol stack, such as the Radio Link Control (RLC) layer, the Medium Access Control (MAC) layer, and the Physical (PHY) layer.

[0093] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in the ORAN system, CU can also be called open CU (O-CU), DU can also be called open DU (O-DU), CU-CP can also be called open CU-CP (O-CU-CP), CU-UP can also be called open CU-UP (O-CU-UP), and RU can also be called open RU (O-RU).

[0094] Any one of the CU (or CU-CP, CU-UP), DU, and RU units can be implemented through software modules, hardware modules, or a combination of software and hardware modules. That is, the wireless access network device in this application can be a virtualized device, for example, implemented through general-purpose hardware and instantiated virtualization functions, or dedicated hardware and instantiated virtualization functions. The general-purpose hardware can be a server, such as a cloud server.

[0095] For example, the access network device 103 shown in Figure 1 can adopt a CU / DU separation architecture and a CU-CP / CU-UP separation architecture, as detailed in Figure 2. As shown in Figure 2, one CU can be associated with one or more DUs. In one protocol stack partitioning method, the CU includes an RRC layer and a PDCP layer (and an SDAP layer), and the DU includes an RLC layer, a MAC layer, and a PHY layer, but this application does not limit the specific partitioning of CU and DU. Further, the CU can be separated into CU-CP and CU-UP. CU-CP includes an RRC layer, responsible for control plane signaling generation and processing, etc., and CU-UP may include a PDCP layer (and an SDAP layer), responsible for data processing. CU-CP and CU-UP can be connected via an E1 interface, CU-CP and DU can be connected via an F1-C interface, and CU-UP and DU can be connected via an F1-U interface.

[0096] It should be understood that this application does not limit the specific form of the wireless access network equipment.

[0097] It should also be understood that terminal devices and access network 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 aircraft, balloons, and artificial satellites. This application does not limit the application scenarios of terminal devices and access network devices.

[0098] The terminal device 102 and the access network device 103 can communicate via licensed spectrum, unlicensed spectrum, or both simultaneously. They can communicate via spectrum below 6 GHz, spectrum above 6 GHz, or both simultaneously. The embodiments of this application do not limit the spectrum resources used for wireless communication.

[0099] Core network 104 includes user plane functional units and control plane functional units. The user plane functional units are primarily responsible for packet forwarding, quality of service (QoS) control, billing information statistics, and connecting to external networks. Core network control plane 106 is primarily responsible for service process interaction, issuing packet forwarding policies and QoS control policies to the user plane, etc.

[0100] Currently, some examples of core network equipment include: Access and Mobility Management Function (AMF) entities, Session Management Function (SMF) entities, User Plane Function (UPF) entities, etc., which will not be listed here. Among them, the AMF entity is responsible for terminal access management and mobility management; the SMF entity is responsible for session management, such as user session establishment; and the UPF entity can be a user plane functional entity, mainly responsible for connecting to external networks. It should be noted that these entities can also be called network elements or functional entities. For example, an AMF entity can also be called an AMF network element or an AMF functional entity, and similarly, an SMF entity can also be called an SMF network element or an SMF functional entity, etc.

[0101] DN 105 is the network responsible for providing services to terminal device 102. For example, some DNs provide Internet access to terminal device 102, while others provide SMS functionality, and so on.

[0102] In the network architecture shown in Figure 1, terminal device 101 and terminal device 102 communicate via SL, and terminal device 101 communicates with access network device 103 via the Uu interface. Access network device 102 communicates with CN 103 via the N3 interface, which uses the General Packet Radio Service (GPRS) tunneling protocol (GTP-U) for user data tunneling transmission. CN 104 communicates with external DN 105 via the N6 interface.

[0103] It should be noted that the network device in the embodiments of this application can be an access network device or a core network element.

[0104] It should be understood that Figure 1 is only a schematic diagram. The network architecture shown in Figure 1 may also include a server, which can communicate with the terminal device through DN, CN, or access network equipment. For example, the server can send video service data or voice service data to the terminal device through DN, CN, or access network equipment. Alternatively, the network architecture shown in Figure 1 may not include terminal device 101.

[0105] To facilitate understanding of the embodiments of this application, definitions of technical terms that may appear in the embodiments of this application are given below. The terminology used in the implementation section of this application is only used to explain specific embodiments of this application and is not intended to limit this application.

[0106] 1. Layer 2 (L2).

[0107] The New Radio (NR) Layer 2 protocol stack defined in the 3rd Generation Partnership Project (3GPP) protocol consists of four logical layers from top to bottom: SDAP layer, PDCP layer, RLC layer, and MAC layer.

[0108] The SDAP layer is used to map the Quality of Service (QoS) flow to the radio bearer; the PDCP layer is used to implement data transmission, encryption, integrity protection, and header compression functions between the user plane and control plane; the RLC layer is used to implement packet size matching functions; and the MAC layer is used to implement data scheduling and mapping between logical channels and transport channels.

[0109] 2. MAC PDU and MAC sub-PDU.

[0110] MAC PDU is obtained after downlink data has been processed through the SDAP layer, PDCP layer, RLC layer and MAC layer.

[0111] Figure 3 is a schematic diagram of the entire Layer 2 downlink protocol stack processing flow. As shown in Figure 3, after the nth Internet Protocol (IP) packet, the (n+1)th IP packet, and the mth IP packet arrive at the SDAP layer, the SDAP layer adds the SDAP header (H) to the received data (SDAP Service Data Unit, SDU) to form an SDAP PDU and sends it to the PDCP layer. After completing certain functions, the PDCP layer adds the PDCP header to the received data (PDCP SDU) to form a PDCP PDU and sends it to the RLC layer. The RLC layer, depending on the available resources, adds an RLC header to the received data (RLC SDU) or segments it and adds an RLC header before sending it to the MAC layer. The MAC layer multiplexes one or more MAC SDUs to form a MAC PDU and sends it to the receiving end.

[0112] As shown in Figure 3, a MAC PDU can include multiple MAC sub-PDUs. A MAC sub-PDU is obtained by adding a MAC header to the received data (MAC SDU). The payload of a MAC sub-PDU can include any one of the following: MAC SDU, MAC control elements (MAC CE), and padding data. Padding data is the data added to fill in the gaps. When the RLC layer data volume is less than the actual scheduled resources, the MAC layer needs to add padding data to the end of the MAC PDU. Depending on the specific situation, a MAC PDU may or may not include padding data.

[0113] 3. MAC subheader.

[0114] The MAC subheader is the header of the MAC subPDU, that is, the header added by the MAC layer for the received data.

[0115] Figure 4 is a schematic diagram of a MAC subheader. As shown in Figure 4, a MAC subheader includes a reserved bit field R, a format field F, a logical channel ID field (LCID), and a length field L. The LCID typically occupies 6 bits. The format field F occupies 1 bit and is used to indicate the length of the length field L. For example, a value of 0 for the format field F indicates that the length of the length field L is 8 bits, while a value of 1 for the format field F indicates that the length of the length field L is 16 bits. The length field L is used to indicate the size of the MAC sub-PDU. In some other formats, the LCID may also be extended to a longer extension (eLCID).

[0116] For example, the network architecture shown in Figure 1 can transmit data for extended reality (XR) services. XR refers to various environments that combine reality and virtuality generated by computing technologies and wearable devices, as well as human-computer interaction, specifically including the following forms: augmented reality (AR); mixed reality (MR); and virtual reality (VR).

[0117] 3GPP has modeled and analyzed the characteristics of XR services, which typically generate data periodically. Figure 5 illustrates a data arrival model for an XR service. Taking an AR service with a frame rate of 60 frames per second (fps) as an example, 60 video images are generated per second, with one video frame appearing approximately every 16.66 milliseconds (ms). A single video frame may be transmitted by multiple data packets. As shown in Figure 5, one video frame corresponds to one data burst, and one video frame corresponds to one or more PDU sets. Furthermore, the size of the video frame is not fixed.

[0118] The size of a video frame typically follows a truncated Gaussian distribution, with its mean satisfying the formula: mean = R / F, where F is the frame rate and R is the data stream rate. For example, with F = 60 fps and R = 20 megabits per second (Mbps), mean = 41.67 kilobytes (KBytes). Typically, the size of a video frame is between 0.5 * mean and 1.5 * mean.

[0119] XR services typically have high latency requirements. Taking uplink AR services as an example, the packet delay budget (PDB) is 30ms, meaning the maximum transmission delay between the arrival of a data packet at the terminal device's access layer and its arrival at the N6 interface of the UPF is 30ms. If a data packet is not successfully transmitted within the time required by the PDB, it is considered to have timed out and become useless. Alternatively, XR services may also consider the packet set delay budget (PSDB), which has a similar meaning to PDB, defining the maximum transmission delay for a set of data packets (also called a PDU set). For uplink, PSDB refers to the maximum time from the arrival of the first data packet in the PDU set at the terminal device's access layer to the arrival of the last data packet at the N6 interface of the UPF; for downlink, PSDB refers to the maximum time from the arrival of the first data packet in the PDU set at the N6 interface of the UPF to the arrival of the last data packet at the terminal device's access layer.

[0120] Data transmission in a communication system may experience multiple delays (for example, in the architecture shown in Figure 1, data transmission may involve multiple delays from data network 105 to core network 104, from core network 104 to access network 103, from access network 103 to terminal device 102, and from terminal device 102 to terminal 101), and these delays fluctuate. This results in different data packets within the same data stream having different transmission delays, impacting the deterministic experience of services. This non-deterministic experience has a greater impact on services with high real-time requirements, such as XR. Therefore, ensuring that data packets are transmitted within the expected transmission time has become an urgent problem to be solved.

[0121] For example, for data that has experienced multiple delays, the remaining available transmission time (or the time consumed by the data packet in the previous transmission) can be known by obtaining the time when the intermediate nodes in the communication link receive the data packet. Then, the node can adopt an appropriate transmission strategy to continue transmitting the data packet based on the remaining available time (hereinafter referred to as the remaining time) to ensure that the subsequent transmission of the data packet can meet the deterministic requirements.

[0122] Figure 6 illustrates the data transmission between the application server and the terminal. The terminal can be a Type I terminal communicating directly with the RAN, or it can be a device connected to a Type I terminal via Wi-Fi, Bluetooth, StarFlash, SL, etc. (this method is called tethering). As shown in Figure 6, the required transmission latency from the application server to the device is 50ms. For uplink data, if the RAN or CN can determine the remaining time when it receives the data, it can determine an appropriate transmission strategy based on the obtained remaining time in subsequent transmissions. For example, for data with a short remaining time, the RAN can deliver it as quickly as possible, or the CN can choose a forwarding path with shorter latency. Similarly, for downlink data, if the CN, RAN, or Type I terminal can determine the remaining time when it receives the data, it can adjust the transmission strategy based on the obtained remaining time in subsequent transmissions to ensure a deterministic experience.

[0123] It should be understood that data can also be communicated between terminal devices and counterpart devices. For example, as shown in Figure 6, the application server is connected to another CN, RAN, or Type I terminal to enable communication between the two Type I terminals.

[0124] To enable communication nodes to obtain the remaining time of received data during air interface transmission, one existing technology involves including timestamp information in the packet header, thus transmitting the remaining time of each data packet hop by hop. Taking downstream transmission as an example, and referring to Figure 7, we can illustrate this. As shown in Figure 7, the data packet is generated or sent by the application device at time T1, and the time information T1 is carried in the packet header. This time information is carried hop by hop, so that each transmission node in the communication system (e.g., terminal, RAN, CN, or application server) can determine the remaining time of the data packet based on T1 and the packet's delay requirements when it receives the packet.

[0125] This method of obtaining the remaining time of a data packet requires modifying the packet header format in the protocol to carry timestamp information. Taking air interface data transmission as an example, it may be necessary to add new fields to the PDCP, RLC, or MAC headers to transmit timestamp information. This will increase the packet header overhead and consume air interface resources.

[0126] Another approach provided by existing technologies is to map different data radio bearers (DRBs) or different logical channels (LCHs) based on the remaining time of data packets, as shown in Figure 8. As shown in Figure 8(a), when data arrives at the RAN or terminal's access layer, it is mapped to different DRBs based on the remaining time. Alternatively, as shown in Figure 8(b), when data arrives at the RAN or terminal's access layer, it is mapped to different LCHs associated with the same DRB based on the remaining time. In this way, when the receiving end receives data, it can determine the remaining time of the data's arrival at the RAN or terminal based on the DRB or LCH to which the data belongs.

[0127] While this method of obtaining the remaining time of a data packet does not require modification of the packet header format, its reported remaining time is inaccurate, failing to consider the processing and waiting delays at the PDCP or RLC layers. Taking data mapping to different DRBs as an example, assuming the remaining time when data arrives at the access layer is 10ms, according to the above rules, this data might be mapped to DRB1. However, the data is not transmitted immediately but requires processing by PDCP and RLC. Transmission only occurs when a transmission opportunity becomes available. In other words, the actual remaining time for data transmission is already less than 10ms, for example, it might be 5ms. However, when the receiving end receives this data and finds it originates from DRB1, it determines the remaining time when the data arrived at the receiving end to be 10ms, which has a significant error compared to the actual time the data packet arrived at the receiving end.

[0128] In view of this, the present application provides a communication method, apparatus and computer-readable storage medium. In this method, the remaining time of the data is implicitly indicated by the LCID carried by the MAC sub-PDU, so that after the receiving end receives the data, it can determine the remaining time of the data according to the LCID, thereby adjusting the subsequent transmission strategy and ensuring deterministic experience.

[0129] The methods and apparatus provided in the embodiments of this application are described in detail below with reference to the accompanying drawings. The methods provided in this application can be applied to the communication system shown in FIG1, but the embodiments of this application are not limited thereto.

[0130] Figure 9 is a schematic flowchart of a communication method 900 provided in an embodiment of this application. The flowchart in Figure 9 illustrates the method from the perspective of interaction between a first device and a second device, but this application does not limit the entity executing the method. For example, the first device in Figure 9 can be replaced by a chip, chip system, or processor that supports the implementation of the method on the first device, or it can be a logic module or software that can implement all or part of the functions of the first device. Similarly, the second device in Figure 9 can be replaced by a chip, chip system, or processor that supports the implementation of the method on the second device, or it can be a logic module or software that can implement all or part of the functions of the second device.

[0131] It should be understood that the first device can be a terminal device or a network device, and the second device can be a network device or a terminal device. In this application, the first device is a device for sending data packets, which can be referred to as the sender; the second device is a device for receiving data packets, which can be referred to as the receiver.

[0132] As shown in Figure 9, method 900 may include steps S901 to S905. The steps in method 900 are described in detail below.

[0133] S901, the first device acquires the first remaining time of the first data packet.

[0134] In this application, the remaining time information of a data packet can be replaced with the time already consumed by the data packet. Alternatively, the remaining time of a data packet can be determined based on the time already consumed by the data packet and the transmission delay requirement of the data packet (e.g., PDB or end-to-end delay requirement). Assuming the transmission delay requirement of the first data packet is 20ms, if the remaining time of the first data packet is 5ms, then the time already consumed by the first data packet can be considered to be 15ms; or, if the time already consumed by the first data packet is 15ms, then the remaining time of the first data packet can be considered to be 5ms. That is, given the known data transmission delay requirement, the remaining time and the consumed time in this application can be interchanged.

[0135] The first data packet can be an IP packet, SDAP SDU, PDCP SDU, RLC SDU, or MAC SDU, as mentioned above. In other words, the data packet can be a packet from the SDAP, PDCP, or RLC layer.

[0136] S902, the first device determines the LCID in the first MAC sub-PDU as the first LCID based on the first remaining time and the first correspondence.

[0137] The first MAC sub-PDU is generated based on the first data packet. For a description of how the first data packet generates the first MAC sub-PDU, please refer to the relevant description in Figure 3 above; it will not be repeated here.

[0138] The first correspondence indicates that multiple LCIDs correspond to multiple remaining times. When the first remaining time belongs to these multiple remaining times, the first correspondence indicates that the first remaining time corresponds to the first LCID. Thus, when the first device generates the first MAC sub-PDU based on the first data packet, it can fill in LCID1 in the LCID field of the sub-header of the first MAC sub-PDU.

[0139] Optionally, the first correspondence can be predefined or configured by the network side.

[0140] In this application, the multiple LCIDs indicated by the first correspondence can be associated with one RLC entity or with multiple RLC entities. When multiple LCIDs are associated with multiple RLC entities, one RLC entity is associated with multiple LCIDs.

[0141] It is understandable that multiple LCIDs associated with the same RLC entity may correspond to different remaining times, while multiple LCIDs associated with different RLC entities may correspond to the same or different remaining times. For example, RLC entity 1 may be associated with LCID1 and LCID2, and RLC entity 2 may be associated with LCID3 and LCID4. The remaining times corresponding to LCID1 and LCID2 are different, and the remaining times corresponding to LCID3 and LCID4 are also different; however, the remaining times corresponding to LCID1 and LCID2 may be the same as or different from the remaining times corresponding to LCID3 and LCID4.

[0142] Optionally, the first device is a terminal device, and the method 900 may further include: receiving configuration information from a network device, the configuration information being used to configure multiple LCIDs for an RLC entity.

[0143] Optionally, the first device is a network device, and the method 900 may further include: sending configuration information to a terminal device, the configuration information being used to configure multiple LCIDs for an RLC entity.

[0144] S903, the first device sends a first MAC sub-PDU to the second device. Correspondingly, the second device receives the first MAC sub-PDU from the first device.

[0145] Optionally, the first MAC sub-PDU can be transmitted within a MAC PDU. The relationship between the MAC sub-PDU and the MAC PDU can be found in the description in Figure 3 above, and will not be repeated here.

[0146] S904, the second device determines the first remaining time corresponding to the first LCID in the first MAC sub-PDU based on the first correspondence.

[0147] For a description of the first correspondence, please refer to the description in S902, which will not be repeated here.

[0148] Since the first correspondence indicates multiple remaining times corresponding to multiple LCIDs, the second device can determine the first remaining time corresponding to the first LCID from multiple remaining times based on the first LCID in the first MAC sub-PDU.

[0149] S905, the second device determines the remaining time of the first data packet based on the first remaining time.

[0150] For example, the remaining time for the first data packet is the first remaining time.

[0151] It is understandable that if the second correspondence indicates that multiple LCIDs correspond to multiple consumed times, then the second device can determine the consumed time corresponding to the first LCID in the first MAC sub-PDU based on the first correspondence, and then the second device can obtain the remaining time of the first data packet based on the consumed time.

[0152] In this embodiment, the first device (i.e., the sending end) can obtain the first LCID corresponding to the first remaining time of the first data packet through a first correspondence between multiple LCIDs and multiple remaining times. This allows the LCID of the first MAC sub-PDU generated based on the first data packet to be determined as the first LCID. Similarly, the second device (i.e., the receiving end) receiving the first MAC sub-PDU can also obtain the first remaining time corresponding to the first LCID based on the first correspondence, and thus obtain the remaining time of the first data packet. This method of indicating the remaining time of a data packet using LCID does not require modification of the protocol header format design, reducing implementation complexity. It also considers L2 processing time, providing a more accurate reflection of the remaining data time. In this way, the second device can adjust subsequent transmission strategies based on the obtained remaining time of the first data packet, thereby ensuring a deterministic service experience.

[0153] One possible implementation is that the first device determines the LCID in the subheader of the first MAC sub-PDU as the first LCID based on the first remaining time and the first correspondence, including: the first device determines a second remaining time based on the first remaining time and the first time, wherein the first time is the time interval between generating the first MAC sub-PDU and sending the first MAC sub-PDU; and determines the first LCID based on the second remaining time and the first correspondence.

[0154] In this implementation, the second device can determine the remaining time corresponding to the first LCID in the first MAC sub-PDU as the second remaining time based on the first correspondence; and then the second device can determine the remaining time of the first data packet based on the second remaining time.

[0155] The second remaining time is less than the first remaining time. For example, the first remaining time can be the difference between the first remaining time and the first time. When the second remaining time belongs to multiple remaining times indicated by the first correspondence, the LCID corresponding to the second remaining time is the second LCID.

[0156] Since the MAC PDU generation / packet assembly time may be earlier than the actual transmission time of the MAC PDU, the transmission time of the first data packet can be used as the reference when considering the remaining time of the data packet. For example, if the first device generates a MAC sub-PDU containing the first data packet at time T1, and the remaining time of this first data packet at time T1 is 10ms, and there is still 1ms between time T1 and the actual transmission time T2 of the MAC sub-PDU, the first device can determine (10ms - 1ms = 9ms) as the remaining time of the first data packet, and determine the LCID corresponding to 9ms as the LCID of the MAC sub-PDU containing the first data packet. The relationship between the MAC sub-PDU and the MAC PDU can be referred to the description in the terminology section above, and will not be repeated here.

[0157] This method of taking into account the actual transmission time of the MAC PDU allows the second device to obtain a more accurate remaining time.

[0158] One possible implementation is that the first data packet is a data packet within a first RLC entity, for example, the first data packet is an RLC SDU. Alternatively, the first data packet originates from a first RLC entity. This first RLC entity is associated with multiple LCIDs.

[0159] The following describes two methods for the first device to obtain the first remaining time of the first data packet:

[0160] In one possible implementation, the first device obtains the first remaining time of the first data packet based on the following:

[0161] Item 1, the remaining time of the PDCP discard timer corresponding to the first data packet;

[0162] The second item is the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs;

[0163] Item 3, the remaining time of the PDCP discard timer corresponding to the first data packet in the data packet set to which the first data packet belongs;

[0164] Item 4, the time carried by the first data packet.

[0165] The duration of the PDCP drop timer can be configured on the network side. The PDCP drop timer is started when a data packet arrives at the PDCP layer.

[0166] For example, the first remaining time of the first data packet can be the remaining time of the PDCP discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the PDU set to which the first data packet belongs; or the remaining time of the PDCP discard timer corresponding to the first packet in the PDU set to which the first data packet belongs.

[0167] For example, the time carried by the first data packet can be the time when the source generates the first data packet, such as time T1 in Figure 7. In this way, the first device can determine the time that the first data packet has been consumed based on the time when the first data packet is received and the time it carries, and thus determine the remaining time of the first data packet.

[0168] In a second possible implementation, the first device obtains the first remaining time of the first data packet by: determining the first time based on items 1 to 4 above; and determining the difference between the first time and the second time as the first remaining time of the first data packet.

[0169] The second time is the time consumed by the tethered connection. This time can be determined, for example, by the timestamp information carried by the first device when transmitting data packets through the tethered connection, or by the average delay of the first device transmitting data on the tethered connection, which can be used as the time consumed by the tethered connection for each data packet.

[0170] Alternatively, the second time can be the processing time of the first data packet at the PDCP layer and / or RLC layer. The time consumed by the tethered connection here could be, for example, the time consumed by data transmission between the first type of terminal and the device, as shown in Figure 6.

[0171] One possible implementation is that the first MAC sub-PDU is generated based on a segment of multiple data segments, which are obtained by segmenting the first data packet.

[0172] Optionally, the method 900 further includes: the first device segmenting the first data packet to obtain multiple data segments. This process may be implemented at the RLC layer or other protocol layers defined in the future.

[0173] Based on the preceding description, the RLC layer segments the received data according to the available resources and adds an RLC header to the segmented data before sending it to the MAC layer. In other words, the RLC entity can segment the first data packet to obtain multiple data segments; these multiple data segments can then generate multiple MAC sub-PDUs.

[0174] For example, the first device can mark the multiple data segments according to their sequential position in the first data packet. For instance, it can mark whether a data segment is the first or last data segment of the first data packet, or mark the byte position of the start byte of each data segment in the first data packet. In this way, when the second device receives a MAC sub-PDU generated based on the multiple data segments, it can determine the position of the data segment that generated the MAC sub-PDU in the first data packet based on the data segment marking information.

[0175] For example, the first data packet is segmented to obtain N data segments. Based on the sequential positions of these N data segments within the first data packet, data segment 0, data segment 1, data segment 2, ..., data segment (N-1) can be obtained. Data segment 0 carries a marker indicating it is the first data segment, and data segment (N-1) carries a marker indicating it is the last data segment. Furthermore, data segments 0, 1, 2, ..., (N-1) each carry markers indicating their position within the first data packet, such as at byte 0, byte 1000, byte 2000, etc. The data segment used to generate the first MAC sub-PDU in this application can be any data segment other than data segment (N-1).

[0176] One possible implementation of the method 900 further includes: a first device sending a second MAC sub-PDU to a second device, the second MAC sub-PDU being generated based on the last data segment among multiple data segments. Correspondingly, the second device receives the second MAC sub-PDU from the first device; and determines a second remaining time corresponding to the LCID in the second MAC sub-PDU based on a first correspondence.

[0177] Optionally, the second MAC sub-PDU can be transmitted within a single MAC PDU. It is understood that the first and second MAC sub-PDUs can be contained within the same MAC PDU or in different MAC PDUs.

[0178] Based on the example above where the first data packet is divided into N segments, the last segment here is the data segment (N-1) mentioned above.

[0179] The remaining time corresponding to the LCID in the second MAC sub-PDU (hereinafter referred to as the third LCID for ease of description) is the third remaining time. The method for determining the LCID in the second MAC sub-PDU can be referred to the method for determining the LCID in the first MAC sub-PDU, and will not be repeated here.

[0180] It is understandable that the third LCID and the first LCID can be the same or different. Specifically, without considering the actual transmission time of the MAC sub-PDU, the third LCID and the first LCID may be the same, or the second MAC sub-PDU and the first MAC sub-PDU may be transmitted on the same MAC PDU, in which case the third LCID and the first LCID may also be the same. Alternatively, considering the actual transmission time of the MAC sub-PDU, and if the second MAC sub-PDU and the first MAC sub-PDU are transmitted on different MAC PDUs, the third LCID and the first LCID may be different.

[0181] Optionally, the second device determines the remaining time of the first data packet based on the first remaining time, including: the second device determines the remaining time of the first data packet based on a third remaining time. For example, the remaining time of the first data packet is the third remaining time.

[0182] In other words, when a data packet is divided into multiple segments for transmission, the LCID carried in the MAC sub-PDUs corresponding to these segments may be different. In this case, the receiving end can determine the remaining time of the data packet based on the LCID carried in the MAC sub-PDU corresponding to the last segment. Therefore, the remaining time of the first data packet determined by the second device should be the third remaining time.

[0183] One possible implementation is that the multiple remaining times corresponding to the aforementioned multiple LCIDs belong to multiple remaining time intervals. That is, the first correspondence indicates that multiple LCIDs correspond to multiple remaining time intervals, and the multiple remaining time intervals do not overlap.

[0184] The remaining time range can be replaced with the time range that has been consumed.

[0185] When the first correspondence indicates that multiple LCIDs correspond to multiple remaining time intervals, the second device can determine the first remaining time interval corresponding to the LCID in the first MAC sub-PDU based on the first correspondence; then the second device can determine the remaining time of the first data packet based on the first remaining time interval. For example, the remaining time of the first data packet can be the minimum value, maximum value, median value, or any value in the first remaining time interval, and this application does not limit it in this way.

[0186] For example, suppose RLC1 is associated with LCID1 and LCID2, and the remaining time threshold is X ms. Alternatively, the remaining time interval for RLC1 associated with LCID1 is greater than X ms; the remaining time interval for RLC1 associated with LCID2 is less than or equal to X ms. When generating a MAC sub-PDU containing the first information, if the remaining time of the RLC SDU is greater than X ms, then the LCID field in the MAC sub-header is filled with LCID1; otherwise, it is filled with LCID2 (this can also be extended to eLCID).

[0187] Based on the example above, the RLC entity divides RLC SDU1 into RLC SDU segment 1 (corresponding to MAC sub-PDU1) and segment 2 (corresponding to MAC sub-PDU1), which are then included in MAC PDU1 and MAC PDU2 for transmission, respectively. When MAC PDU1 is assembled, the remaining time of RLC SDU1 is greater than X ms, therefore the sub-PDU1 header carries LCID1; when MAC PDU2 is assembled, the remaining time of RLC SDU1 is less than X ms, therefore the sub-PDU2 header carries LCID2. Thus, after receiving MAC PDU1 and MAC PDU2, the second device can determine that the remaining time of SDU1 is less than X ms based on the LCID2 carried in the sub-PDU2 header corresponding to the latter segment.

[0188] In one possible implementation, the second device is a network device, and after the second device determines the remaining time of the first data packet, the method 900 further includes at least one of the following 1 to 3:

[0189] 1. Adjust the delivery strategy of the first data packet.

[0190] For example, if the remaining time for the first data packet is short, it should be delivered as soon as possible; if the remaining time for the first data packet is long, it should be delivered later.

[0191] 2. Based on the remaining time of the first data packet, determine the transmission time of the corresponding data packet.

[0192] In this context, the outgoing data packet can be understood as the downlink data packet obtained after the first data packet has been processed by the application server.

[0193] For example, in certain application scenarios, after a terminal device sends data to an application server or a peer terminal, it expects to receive a response within a certain time. For instance, a user takes a photo using their phone's camera and expects to upload it to the cloud and receive the processed photo from the cloud server within a short period. In this scenario, there is an expected time limit from when the terminal generates the original photo data to when it receives the processed photo data. Therefore, once the network device determines the time consumed by uplink data transmission, it can correspondingly calculate how long the downlink data should take to complete transmission. In this way, when scheduling downlink data, the network device can determine the available time of the corresponding downlink data based on the remaining time of the obtained uplink data, thereby ensuring that the user can receive the corresponding downlink data within the expected time.

[0194] 3. Remaining time to send the first data packet to other network elements.

[0195] Other network elements can be, for example, core network elements. This allows other network elements to adjust their transmission strategies based on the remaining time of the first data packet.

[0196] Optionally, when the network device sends the first data packet to other network elements, the remaining time can be deducted from the processing time of the first data packet on the network device's side. This makes the remaining time of the first data packet obtained by other network elements more accurate.

[0197] In one possible implementation, the second device is a terminal device, and after the second device determines the remaining time of the first data packet, the method 900 further includes at least one of the following four or five items:

[0198] 4. Determine the available transmission time for the target data packet based on the remaining time of the first data packet.

[0199] Similar to the reciprocal data packets in item 2 above, after receiving a downlink data packet, the terminal device needs to return an uplink data packet within a corresponding time. This returned uplink data packet is the reciprocal data packet. For example, in remote control, the control end issues a command to adjust the viewing angle (i.e., downlink data). After receiving it, the remote terminal needs to adjust the viewing angle and transmit the new viewing angle back to the server or control end (i.e., uplink data).

[0200] 5. In the presence of a tethered connection, adjust the transmission strategy of the tethered connection based on the remaining time of the first data packet.

[0201] For example, if the remaining time for the first data packet is short, the tethered connection transmission is accelerated to avoid exceeding the transmission delay requirement for the first data packet.

[0202] Taking the downstream transmission as an example, when the access network device adopts a CU-DU separation architecture, the first remaining time for the first device to obtain the first data packet can be replaced by the method of the DU obtaining the first remaining time.

[0203] As mentioned earlier, the first remaining time could be the remaining time of the PDCP discard timer. Since the PDCP discard timer is maintained by the CU, the DU cannot determine the remaining time of this timer. It was also mentioned earlier that the first remaining time could be determined based on the time carried in the first data packet. However, since this time might be carried in the outer header of the data packet received by the CU, this time information has been removed when the CU delivers the data packet to the DU, making it impossible for the DU to determine the remaining time.

[0204] Based on this, Figure 10 illustrates three methods for the DU to obtain the remaining time of the first data packet according to embodiments of this application. The downlink data packet mentioned below can be the first data packet in method 900, and the remaining time of the downlink data packet is the first remaining time. It can be understood that the remaining time mentioned below can also be replaced with the time already consumed.

[0205] In Method 1, when the CU submits a downlink data packet to the DU, it indicates the remaining time of the downlink data packet in the packet header. Correspondingly, after receiving the downlink data packet, the DU can continue to maintain the remaining time of the downlink data packet based on the remaining time indicated in the packet header, thereby determining the actual remaining time of the downlink data packet during packet assembly.

[0206] Optionally, the CU can carry a specific remaining time value in the data packet header, or it can carry an index of the remaining time corresponding to that remaining time.

[0207] Method 2: The CU sends indication information to the DU, which indicates one or more remaining times, and one or more downlink data packets corresponding to each remaining time. In this way, the DU can determine the remaining time for each downlink data packet based on the indication information from the CU.

[0208] For example, the CU indicates to the DU the remaining time T and the sequence number (SN) (or SN range) of the data packet or set of data packets corresponding to the remaining time T.

[0209] Optionally, the CU can send the specific value of the remaining time, or the index corresponding to the remaining time, to the DU.

[0210] It is understood that the remaining time indicated by the CU to the DU in Method 1 and Method 2 above can be replaced with a remaining time interval. This remaining time interval can be the remaining time interval in which the remaining time of the downlink data packet falls. For example, if the remaining time of the downlink data packet is 5ms, the remaining time interval indicated by the CU to the DU can be greater than or equal to 5ms. Accordingly, the DU can determine the remaining time interval of the downlink data packet based on the received remaining time interval, and thus determine the remaining time of the downlink data packet.

[0211] Method 3: When the CU determines that the remaining time of a downlink data packet is less than the remaining time threshold, or that the remaining time of a downlink data packet belongs to the target remaining time interval, it sends indication information to the DU. This indication information can be used to indicate one or more downlink data packet SNs or SN ranges. Correspondingly, the DU receives the indication information and determines that the remaining time of the one or more downlink data packets indicated by the indication information is less than the remaining time threshold, or that the remaining time of the one or more downlink data packets indicated by the indication information belongs to the target remaining time interval. Furthermore, the DU can determine the remaining time of the one or more downlink data packets based on the remaining time threshold and the target remaining time interval.

[0212] In this context, downlink data packets can be replaced by a set of downlink data packets. The remaining time threshold can be predefined or pre-configured by the CU to the DU. This remaining time threshold can include one or more. When multiple remaining time thresholds exist, the CU can send multiple indication messages to the DU, indicating downlink data packets or sets of downlink data packets with remaining time less than the corresponding remaining time threshold.

[0213] Optionally, after delivering a downlink data packet or a set of downlink data packets to the DU, the CU may send the aforementioned instruction information to the DU.

[0214] As an alternative embodiment, the first device may directly include a field in the header of the data packet indicating the remaining time of the data packet.

[0215] For example, the reserved (R) bits in the MAC sub-header or RLC header can be reused. Specifically, when the first device generates a MAC sub-PDU, the R bits can be filled in according to the remaining time of the RLC SDU. For example, if the remaining time of the RLC SDU is less than a remaining time threshold, R is filled with 1; if the remaining time of the RLC SDU is greater than or equal to the remaining time threshold, R is filled with 0. The remaining time threshold can be predefined or configured on the network side.

[0216] This method of reusing reserved bits in the existing header to indicate the remaining time of the data packet does not increase header overhead.

[0217] Figures 11 and 12 are schematic diagrams of possible apparatuses provided in embodiments of this application. These apparatuses can be used to implement the functions of the first or second device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.

[0218] Figure 11 is a schematic block diagram of the apparatus provided in an embodiment of this application. As shown in Figure 11, the apparatus 1100 includes a processing module 1110 and a transceiver module 1120.

[0219] One possible design is that the device 1100 is used to implement the function of the first device in the method embodiment shown in FIG9 above.

[0220] For example, the processing module 1110 is configured to: obtain the first remaining time of the first data packet; and determine the LCID in the first MAC sub-PDU as the first LCID based on the first remaining time and the first correspondence, wherein the first correspondence indicates that multiple LCIDs correspond to multiple remaining times, and the first MAC sub-PDU is generated based on the first data packet; the transceiver module 1120 is configured to: send the first MAC sub-PDU to the second device.

[0221] Optionally, the processing module 1110 is specifically used to: determine a second remaining time based on a first remaining time and a first time, wherein the first time is the time interval between generating the first MAC sub-PDU and sending the first MAC sub-PDU, and the second remaining time is less than the first remaining time; and determine a first LCID based on the second remaining time and a first correspondence.

[0222] Optionally, the processing module 1110 is further configured to: segment the first data packet to obtain multiple data segments, wherein the first MAC sub-PDU is generated based on one of the multiple data segments.

[0223] Optionally, the transceiver module 1120 is further configured to: send a second MAC sub-PDU, which is generated based on the last segment of data in a multi-segment data, and the remaining time corresponding to the LCID in the second MAC sub-PDU is the third remaining time.

[0224] Optionally, the processing module 1110 is further configured to: obtain a first remaining time based on one of the following: the remaining time of the PDCP discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; the remaining time of the PDCP discard timer corresponding to the first data packet in the data packet set to which the first data packet belongs; or, the time carried by the first data packet.

[0225] Optionally, the processing module 1110 is further configured to: determine a first time based on one of the following: the remaining time of the PDCP discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; the remaining time of the PDCP discard timer corresponding to the first packet in the data packet set to which the first data packet belongs; or, the time carried by the first data packet; and determine the difference between the first time and the second time as the first remaining time; wherein the second time is the time consumed by the tethered connection, or the second time is the processing time of the first data packet in the PDCP layer and / or RLC layer.

[0226] A more detailed description of the above-mentioned processing module 1110 and transceiver module 1120 can be obtained directly from the relevant description in the embodiment shown in Figure 9, and will not be repeated here.

[0227] Another possible design is that device 1100 is used to implement the function of the second device in the method embodiment shown in FIG9 above.

[0228] For example, the transceiver module 1120 is configured to: receive a first MAC sub-PDU from a first device, the first MAC sub-PDU being generated based on a first data packet; and the processing module 1110 is configured to: determine a first remaining time corresponding to a first LCID in the first MAC sub-PDU based on a first correspondence, the first correspondence indicating that multiple LCIDs correspond to multiple remaining times; and determine the remaining time of the first data packet based on the first remaining time.

[0229] Optionally, the transceiver module 1120 is further configured to: receive a second MAC sub-PDU from the first device, the second MAC sub-PDU being generated based on the last segment of data in a multi-segment data; the processing module 1110 is further configured to: determine a third remaining time corresponding to the LCID in the second MAC sub-PDU based on a first correspondence; and determine the remaining time of the first data packet based on the third remaining time.

[0230] Optionally, the processing module 1110 is further configured to: adjust the delivery strategy of the first data packet; or, determine the transmission time of the corresponding data packet based on the remaining time of the first data packet; or, the transceiver module 1120 is further configured to: determine the remaining time for other network elements to send the first data packet.

[0231] Optionally, the processing module 1110 is further configured to: determine the available transmission time for the reciprocating data packet based on the remaining time of the first data packet; or, in the case of a tethered connection, adjust the transmission strategy of the tethered connection based on the remaining time of the first data packet.

[0232] A more detailed description of the above-mentioned processing module 1110 and transceiver module 1120 can be obtained directly from the relevant description in the embodiment shown in Figure 9, and will not be repeated here.

[0233] It should be noted that device 1100 may include a transmitting module but not a receiving module. Alternatively, device 1100 may include a receiving module but not a transmitting module. Specifically, it depends on whether the above-described scheme executed by device 1100 includes both transmitting and receiving actions. It is understood that because device 1100 has communication capabilities, it can also be called a communication device.

[0234] Figure 12 is another schematic block diagram of the device provided in an embodiment of this application. As shown in Figure 12, the device 1200 includes one or more processors 1210. The processor 1210 may be a general-purpose processor or a special-purpose processor, etc. For example, it may be a baseband processor or a central processing unit. The baseband processor may be used to process communication protocols and communication data, and the central processing unit may be used to control the device (e.g., a first device, a second device, or a chip, etc.), execute software programs, and process data from the software programs.

[0235] Optionally, in one design, processor 1210 may include a program (also referred to as code or instructions) that can be executed on processor 1210, causing device 1200 to perform the method executed by the first or second device in the above method embodiments. In yet another possible design, device 1200 includes circuitry (not shown in FIG12) for implementing the functions of the first or second device in the above method embodiments.

[0236] For example, the processor 1210 can be used to execute computer programs or instructions in memory to implement the steps performed by the first or second device in any of the embodiments shown in FIG9.

[0237] Optionally, the device 1200 may include one or more memories 1220 storing programs (sometimes referred to as code or instructions) that can be run on the processor 1210, causing the device 1200 to perform the methods performed by the first or second device in the above embodiments.

[0238] Optionally, the processor 1210 and / or memory 1220 may also store data. The processor and memory may be configured separately or integrated together.

[0239] Optionally, the device 1200 may further include a communication interface 1230. The processor 1210, sometimes referred to as a processing unit, controls the device (e.g., the first device or the second device). The communication interface 1230, sometimes referred to as a transceiver unit, transceiver, transceiver circuit, or transceiver, is used to implement the transceiver function of the device.

[0240] Optionally, the device 1200 also includes a communication interface 1230. The processor 1210 and the communication interface 1230 are coupled to each other. It is understood that the communication interface 1230 can be a transceiver or an input / output interface.

[0241] It is understandable that since device 1200 has communication capabilities, it can also be called a communication device.

[0242] When device 1200 is used to implement the method of FIG9, processor 1210 is used to execute the functions of the aforementioned processing unit, and communication interface 1230 is used to execute the functions of the aforementioned transceiver module. Whether communication interface 1230 is used for sending or receiving depends on whether the scheme executed by device 1200 is used to perform a sending action or a receiving action.

[0243] When the aforementioned device 1200 is a chip applied to the first device, the chip implements the functions of the first device in the above method embodiments. The chip of the first device receives signals from other modules (such as radio frequency modules or antennas) in the first device, and these signals may be sent to the first device by the second device; or, the chip of the first device sends signals to other modules (such as radio frequency modules or antennas) in the first device, and these signals may be sent to the second device by the first device.

[0244] When the aforementioned device 1200 is a chip applied to the second device, the chip implements the functions of the second device in the above method embodiments. The chip of the second device receives signals from other modules (such as radio frequency modules or antennas) in the second device, and these signals may be sent from the first device to the second device; or, the chip of the second device sends signals to other modules (such as radio frequency modules or antennas) in the second device, and these signals may be sent from the second device to the first device.

[0245] It is understood that when the device 1200 is a first device or a second device, the communication interface 1230 can be a transceiver, specifically including a transmitter and a receiver, with the transmitter used to send signals and the receiver used to receive signals. When the device 1200 is a chip applied to the first device or the second device, the communication interface 1230 can be an input / output circuit, wherein the input circuit can be used for receiving and the output interface can be used for sending.

[0246] It should be noted that the above method embodiments can be applied to a processor, or implemented by a processor. A processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by software instructions.

[0247] The aforementioned processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.

[0248] The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in mature storage media in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. 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.

[0249] The memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can 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. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0250] The methods provided in the above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, in the form of a computer program product. The computer program product may include one or more computer instructions. When the computer program 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 may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center 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 may be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic disk), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0251] This application also provides a computer program product that, when run on a processor, can implement the methods shown in the above method embodiments.

[0252] This application also provides a computer-readable storage medium containing computer instructions that, when executed on a processor, can implement the methods shown in the above-described method embodiments.

[0253] This application also provides a chip or chip system, including at least one processor, for supporting the implementation of the methods shown in the above-described method embodiments.

[0254] This application also provides a communication system, including the aforementioned first device and second device.

[0255] 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.

[0256] 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.

[0257] 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.

[0258] 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.

[0259] 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.

[0260] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.

[0261] 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 scope of the technology 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, characterized in that, The method, which applies to a first device or a chip in a first device, includes: Get the first remaining time for the first data packet; Based on the first remaining time and the first correspondence, the Logical Channel Identifier (LCID) field in the first Media Access Control (MAC) Sub-Protocol Data Unit (PDU) is determined to be the first LCID. The first correspondence indicates that multiple LCIDs correspond to multiple remaining times. The first MAC sub-PDU is generated based on the first data packet. Send the first MAC sub-PDU to the second device.

2. The method according to claim 1, characterized in that, The step of determining the LCID in the first MAC sub-PDU sub-header as the first LCID based on the first remaining time and the first correspondence includes: Based on the first remaining time and the first time, a second remaining time is determined, wherein the first time is the time interval between generating the first MAC sub-PDU and sending the first MAC sub-PDU, and the second remaining time is less than the first remaining time; The first LCID is determined based on the second remaining time and the first correspondence.

3. The method according to claim 1 or 2, characterized in that, The first data packet is a data packet in the first radio link RLC entity, and the first RLC entity is associated with the plurality of LCIDs.

4. The method according to claim 3, characterized in that, The method further includes: The first data packet is segmented to obtain multiple data segments, and the first MAC sub-PDU is generated based on one of the multiple data segments.

5. The method according to claim 4, characterized in that, The method further includes: Send a second MAC sub-PDU to the second device. The second MAC sub-PDU is generated based on the last segment of data in the multiple data segments. The remaining time corresponding to the LCID in the second MAC sub-PDU is the third remaining time.

6. The method according to any one of claims 1 to 5, characterized in that, The process of obtaining the first remaining time for the first data packet includes: The first remaining time is obtained based on one of the following: The remaining time of the PDCP (Packet Data Convergence Protocol) discard timer corresponding to the first data packet; The remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; The remaining time of the PDCP discard timer corresponding to the first data packet in the data packet set to which the first data packet belongs; or, The time carried by the first data packet.

7. The method according to any one of claims 1 to 5, characterized in that, The process of obtaining the first remaining time for the first data packet includes: The first time is determined based on one of the following: the remaining time of the PDCP discard timer corresponding to the first data packet; the remaining time of the PDCP discard timer corresponding to the data packet set to which the first data packet belongs; the remaining time of the PDCP discard timer corresponding to the first packet in the data packet set to which the first data packet belongs; or, the time carried by the first data packet. The difference between the first time and the second time is determined as the first remaining time; Wherein, the second time is the time consumed by the tethered connection, or the second time is the processing time of the first data packet at the PDCP layer and / or RLC layer.

8. The method according to any one of claims 1 to 7, characterized in that, The multiple remaining times belong to multiple remaining time intervals respectively; the first correspondence indicates that the multiple LCIDs correspond to the multiple remaining time intervals, and the multiple remaining time intervals do not overlap.

9. A communication method, characterized in that, The method, which applies to a second device or a chip in a second device, includes: Receive a first MAC sub-PDU from a first device, the first MAC sub-PDU being generated based on a first data packet; Based on the first correspondence, the first remaining time corresponding to the first logical channel identifier field LCID in the first MAC sub-PDU is determined, and the first correspondence indicates that multiple LCIDs correspond to multiple remaining times; Based on the first remaining time, the remaining time of the first data packet is determined.

10. The method according to claim 9, characterized in that, The first MAC sub-PDU is generated based on a segment of data from multiple data segments, which are obtained by segmenting the first data packet. The method further includes: Receive a second MAC sub-PDU from the first device, the second MAC sub-PDU being generated based on the last segment of data in the multiple data segments; Based on the first correspondence, determine the third remaining time corresponding to the LCID in the second MAC sub-PDU; Determining the remaining time of the first data packet based on the first remaining time includes: The remaining time of the first data packet is determined based on the third remaining time.

11. The method according to claim 9 or 10, characterized in that, The multiple remaining times belong to multiple remaining time intervals respectively; the first correspondence indicates that the multiple LCIDs correspond to the multiple remaining time intervals, and the multiple remaining times do not overlap.

12. The method according to any one of claims 9 to 11, characterized in that, The second device is a network device, and the method further includes: Adjust the delivery strategy of the first data packet; Based on the remaining time of the first data packet, determine the transmission time of the corresponding data packet; or, The remaining time to send the first data packet to other network elements.

13. The method according to any one of claims 9 to 11, characterized in that, The second device is a terminal device, and the method further includes: The available transmission time for the corresponding data packet is determined based on the remaining time of the first data packet; or, In the presence of a tethered connection, the transmission strategy for the tethered connection is adjusted based on the remaining time of the first data packet.

14. A communication device, characterized in that, Includes modules for implementing the method as described in any one of claims 1 to 13.

15. A communication device, characterized in that, It includes at least one processor for causing the communication device to implement the method as described in any one of claims 1 to 13 by executing a computer program and / or by logic circuitry.

16. A communication system, characterized in that, It includes a first device and a second device, the first device being used to perform the method as described in any one of claims 1 to 8, and the second device being used to perform the method as described in any one of claims 9 to 13.

17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the method of any one of claims 1 to 13 is performed.

18. A computer program product, characterized in that, Includes a computer program, and when the computer program is run, the method of any one of claims 1 to 13 is performed.