Data transmission method and communication apparatus
By obtaining the instructions of the core network equipment, ensuring the synchronous transmission of data packets of different data streams in XR service, the problem of difficulty in ensuring service experience in synchronization needs is solved, and high-quality audio and video synchronization is achieved.
Patent Information
- Application Number
- PCT/CN2024/122413
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-07
- Filing Date
- 2024-09-29
- Publication Date
- 2025-04-10
AI Technical Summary
In Extended Reality (XR) services, there is a need for synchronization between different data streams, but the existing technology is difficult to effectively guarantee the user's business experience.
A data transmission method and a communication device are provided to ensure that data packets of the first data stream and the second data stream are transmitted simultaneously when transmitted to the second device by acquiring indication information from the core network device. The method includes obtaining the first indication information to determine that the data packet needs to be transmitted synchronously, and adjusting the transmission delay according to the second indication information to meet the synchronization requirement.
By synchronously transmitting data packets of different data streams, the XR service experience is guaranteed, ensuring that users can hear the corresponding sound in time when watching videos, and avoiding the problem of audio and video out of synchronization.
Smart Images

Figure CN2024122413_10042025_PF_FP_ABST
Abstract
Description
Data transmission method and communication device
[0001] This application claims priority to the Chinese patent application with application number 202311288841.2 filed with the State Intellectual Property Office of China on October 7, 2023, and priority to the Chinese patent application with the invention name “Method and Communication Device for Data Transmission”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of wireless communication technology, and in particular to a data transmission method and a communication device. Background Art
[0003] Extended reality (XR) refers to various environments that combine reality and virtuality, as well as human-machine interactions, generated by computing technologies and wearable devices. It includes the following typical forms: augmented reality (AR), mixed reality (MR), and virtual reality (VR). XR services require synchronization between different data streams. Synchronization requirements often arise in multimodal services. For example, when watching a movie in VR, there are both video and audio data streams. For a certain frame or segment of video, there is often corresponding audio. VR users need to hear the corresponding sound while watching the image to have a satisfactory viewing experience. However, when there is a synchronization requirement between different data streams, how to ensure the user's service experience is an urgent problem that needs to be solved.
[0004] Summary of the Invention
[0005] The present application provides a data transmission method and communication device, which can ensure the synchronization requirements between different data streams and guarantee the service experience.
[0006] In a first aspect, the present application provides a data transmission method, which can be applied to a first device, that is, it can be executed by the first device, or by a component of the first device (such as a processor, chip, or chip system, etc.), or it can be implemented by a logic module or software that can realize all or part of the functions of the first device. The method includes: obtaining first indication information from a core network device, the first indication information indicating that data packets of a first data stream and data packets of a second data stream need to be transmitted synchronously to a second device; and transmitting a first data packet in the first data stream or a second data packet in the second data stream according to the first indication information.
[0007] Based on the above method, the first device can, according to the first indication information, learn that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device, so that during data transmission, the data packets of the first data stream and / or the data packets of the second data stream are synchronously transmitted to the second device, thereby ensuring the service experience.
[0008] In a possible implementation, the method further includes: obtaining second indication information from the core network device, the second indication information indicating a threshold value of the time interval for transmitting the data packets of the first data stream and the data packets of the second data stream to the second device; then, according to the first indication information, transmitting the first data packet in the first data stream or the second data packet in the second data stream includes: transmitting the first data packet or the second data packet according to the first indication information and the second indication information. In this implementation, the first device can obtain the specific requirements for the synchronous transmission of the data packets of the first data stream and the data packets of the second data stream according to the second indication information, that is, the threshold value of the time interval for synchronous transmission of the data packets of the first data stream and the data packets of the second data stream to the second device. The first device transmits the data packets of the first data stream and / or the data packets of the second data stream according to the threshold, thereby ensuring the service experience within the range of the threshold.
[0009] In one possible implementation, the method further includes: determining the transmission delay of the first data packet based on the threshold and the transmission delay budget of the first data stream; or determining the transmission delay of the second data packet based on the threshold and the transmission delay budget of the second data stream. In this implementation, the first device can determine the transmission delay of the data packet of a data stream based on the threshold and the transmission delay budget of the data stream, thereby ensuring that the transmission delay of the data packet meets the threshold requirement and guarantees the service experience.
[0010] In one possible implementation, based on the first indication information and the time when the first and second data packets arrive at the first device, it is determined that the first and second data packets need to be synchronously transmitted to the second device. In this implementation, the first device can further determine that the two data packets in the first and second data streams need to be synchronously transmitted to the second device based on the time when the first and second data packets arrive at the first device.
[0011] In a possible implementation, the first indication information includes identification information of a first session, where the first session includes the first data flow and the second data flow.
[0012] In a possible implementation manner, the first indication information is included in the configuration information of the first data flow and is identification information of the second data flow.
[0013] In a possible implementation, the first indication information is included in the configuration information of the first data stream and the configuration information of the second data stream; or the first indication information is included in the header of the data packet of the first data stream and the header of the data packet of the second data stream.
[0014] In a possible implementation manner, the first indication information is identification information of a data stream group, and the first data stream and the second data stream belong to the data stream group.
[0015] In one possible implementation, transmitting the first data packet in the first data stream or the second data packet in the second data stream according to the first indication information includes: determining, according to the first indication information, that the data packet of the first data stream and the data packet of the second data stream need to be transmitted synchronously to the second device; and adjusting the transmission delay of the second data packet according to the transmission delay budget of the first data stream, wherein the transmission delay budget of the first data stream is smaller than the transmission delay budget of the second data stream. In this implementation, the first device can adjust the transmission delay of the data packet in the second data stream according to the smaller transmission delay budget of the first data stream, for example, determining the transmission delay of the data packet in the second data stream to be the value of the transmission delay budget of the first data stream, or to be a value within a certain range of the difference from the transmission delay budget of the first data stream, thereby striving to ensure the synchronous transmission of the data packet of the first data stream and the data packet of the second data stream.
[0016] In one possible implementation, the method further includes: obtaining first information of the data stream from the core network device, wherein the first information includes one or more of the following: the interval between the generation time of the data packets of the first data stream and the data packets of the second data stream, the delay jitter of the data packets of the first data stream when transmitted between the server and the access network device, or the delay jitter of the data packets of the second data stream when transmitted between the server and the access network device.
[0017] In a possible implementation, transmitting the first data packet in the first data stream or the second data packet in the second data stream according to the first indication information includes: transmitting the first data packet or the second data packet according to the first indication information and the first information.
[0018] In one possible implementation, the method further includes: obtaining second information about the data stream from the terminal device, wherein the second information includes one or more of the following: the interval between the data packet generation times of the first data stream and the second data stream, the delay jitter of the data packets of the first data stream transmitted between the access layer and the application layer of the second device, or the delay jitter of the data packets of the first data stream transmitted between the access layer and the application layer of the second device.
[0019] In a possible implementation, transmitting the first data packet in the first data stream or the second data packet in the second data stream according to the first indication information includes: transmitting the first data packet or the second data packet according to the first indication information and the second information.
[0020] According to the above implementation, the first device can obtain more information about the data stream, thereby more accurately and effectively ensuring the synchronous transmission of the data packets of the first data stream and the data packets of the second data stream.
[0021] In a possible implementation, the method further includes: acquiring third indication information, where the third indication information indicates that the first data packet and the second data packet need to be synchronously transmitted to the second device.
[0022] In a possible implementation, the third indication information is included in the header of the first data packet and is identification information of the second data packet; or the third indication information is included in the header of the first data packet and the header of the second data packet.
[0023] In a possible implementation, obtaining the third indication information includes: obtaining the third indication information from the core network device; or receiving the third indication information from the terminal device.
[0024] According to the above implementation, the first device can further know that the first data packet in the first data stream and the second data packet in the second data stream need to be transmitted synchronously, thereby ensuring the synchronous transmission of the two data packets more accurately and effectively at the granularity of the data packets.
[0025] In one possible implementation, the method further includes: receiving first request information from the second device, where the first request information is used to request scheduling of associated data of the sent data, wherein the associated data is data that needs to be transmitted synchronously with the sent data, that is, data that needs to be transmitted synchronously to a core network device (e.g., a user plane function (UPF) network element).
[0026] In a possible implementation manner, the first request information is further used to indicate an identifier of a logical channel to which the associated data belongs, and / or to indicate a data volume of the associated data.
[0027] According to the above implementation, the first device can learn the requirement for synchronous transmission of the sent data and the associated data based on the first request message, thereby scheduling the associated data to the second device to ensure synchronous transmission of the sent data and the associated data.
[0028] In a second aspect, the present application provides a data transmission method, which is applied to a terminal device, that is, it can be executed by the terminal device, or by a component of the terminal device (such as a processor, chip, or chip system, etc.), or it can be implemented by a logic module or software that can realize all or part of the functions of the terminal device. The method includes: determining that a first data packet in a first data stream and a second data packet in a second data stream need to be transmitted synchronously to a core network device; and sending third indication information to an access network device, wherein the third indication information indicates that the first data packet and the second data packet need to be transmitted synchronously to the core network device.
[0029] Based on the above method, the terminal device can indicate to the first device that the first data packet of the first data stream and the second data packet of the second data stream need to be transmitted synchronously to the core network device, so that the first device can synchronously transmit the first data packet and / or the second data packet to the core network device at the granularity of the data packet, thereby ensuring the service experience.
[0030] In a possible implementation, the third indication information is included in the header of the first data packet and is identification information of the second data packet; or the third indication information is included in the header of the first data packet and the header of the second data packet.
[0031] In a possible implementation manner, the method further includes: sending first request information to the access network device, where the first request information is used to request scheduling of associated data of the sent data.
[0032] In a possible implementation manner, the first request information is further used to indicate an identifier of a logical channel to which the associated data belongs, and / or to indicate a data volume of the associated data.
[0033] According to the above implementation method, the terminal device requests the first device to schedule the associated data of the sent data, so that the first device is aware of the need for synchronous transmission of the sent data and the associated data, and thus schedules the associated data to the second device to ensure synchronous transmission of the sent data and the associated data.
[0034] In a third aspect, a communication device is provided, comprising a module or unit for executing the method in the first aspect or any possible implementation of the first aspect, or comprising a module or unit for executing the method in the second aspect or any possible implementation of the second aspect.
[0035] In a fourth aspect, a communication device is provided, comprising a processor coupled to a memory, the memory being used to store computer programs or instructions, and the processor being used to execute the computer programs or instructions stored in the memory to implement the method in the first aspect or any possible implementation of the first aspect, or to implement the method in the second aspect or any possible implementation of the second aspect.
[0036] In one possible implementation, the apparatus further includes a memory coupled to the processor.
[0037] In a possible implementation, there are one or more processors and / or one or more memories.
[0038] In a possible implementation, the memory may be integrated with the processor, or the memory may be provided separately from the processor.
[0039] In a possible implementation, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0040] In one implementation, the device is a first communication device. Exemplarily, the communication interface may be a transceiver, or an input / output interface.
[0041] In another implementation, the device is a chip in the first communication device. Exemplarily, the communication interface may be an input / output interface.
[0042] In a fifth aspect, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method of any one of the aforementioned aspects or any possible implementation of any one of the aspects, or implements the method of the second aspect or any possible implementation of the second aspect.
[0043] In a specific implementation, the processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, or various logic circuits. The signal input to the input circuit may be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit may be transmitted by, for example, but not limited to, a transmitter. The input circuit and the output circuit may be the same circuit, which functions as an input circuit and an output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0044] In a sixth aspect, a communication system is provided, comprising the communication device provided in the third aspect and another communication device interacting with the communication device.
[0045] In the seventh aspect, a computer program product is provided, which includes: a computer program (also referred to as code, or instructions), which, when executed, enables a computer to execute a method in any one of the above aspects or any possible implementation of any one of the aspects.
[0046] In an eighth aspect, a computer-readable storage medium is provided, which stores a computer program (also referred to as code, or instructions). When the computer program runs on a computer, the computer executes a method in any one of the above aspects or any possible implementation of any one of the aspects.
[0047] In a ninth aspect, a chip is provided, comprising a processor for calling and running a computer program from a memory, so that a communication device equipped with the chip executes a method in any one of the above aspects or any possible implementation of any one of the aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] FIG1 is a schematic block diagram of a communication system applicable to the present application;
[0049] FIG2 is a schematic diagram of a data packet transmission provided in an embodiment of the present application;
[0050] FIG3 is a diagram of a QoS-based architecture provided in an embodiment of the present application;
[0051] FIG4 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0052] FIG5 is a flow chart of a data transmission method provided in an embodiment of the present application;
[0053] FIG6 is a flow chart of another data transmission method provided in an embodiment of the present application;
[0054] FIG7 is a flow chart of yet another data transmission method provided in an embodiment of the present application;
[0055] FIG8 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0056] FIG9 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0057] FIG10 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0058] FIG11 is a flow chart of yet another data transmission method provided in an embodiment of the present application;
[0059] FIG12 is a schematic diagram of a data packet association provided by an embodiment of the present application
[0060] FIG13 is a schematic diagram of a data packet association provided in an embodiment of the present application;
[0061] FIG14 is a flow chart of yet another data transmission method provided in an embodiment of the present application;
[0062] FIG15 is a flow chart of yet another data transmission method provided in an embodiment of the present application;
[0063] FIG16 is a schematic block diagram of a communication device provided in an embodiment of the present application;
[0064] FIG17 is a schematic structural diagram of another communication device provided in an embodiment of the present application;
[0065] FIG18 is a schematic structural diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0066] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0067] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as satellite communication systems, non-terrestrial network (NTN) systems such as drones, long term evolution (LTE) systems, LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD), universal mobile telecommunication systems (UMTS), 5G systems or communication systems evolved after 5G, device-to-device (D2D) systems, machine-to-machine (M2M) communication systems, Internet of Things (IoT), Worldwide Interoperability for Microwave Access (WiMAX) communication systems, and vehicle-to-everything (V2X) systems. Among them, V2X can include vehicle to network (V2N), vehicle to vehicle (V2V), vehicle to infrastructure (V2I), vehicle to pedestrian (V2P), long-term evolution-vehicle (LTE-V), and vehicle networking.
[0068] FIG1 is a schematic diagram of a communication system provided in an embodiment of the present application.
[0069] As shown in Figure 1, a communication system using the solution of an embodiment of the present application may include an access network device, a terminal device, and a core network. The communication system can be used for information exchange between an access network device and a core network, or for information exchange between access network devices. For example, as shown in Figure 1, both access network device #1 and access network device #2 can communicate with the core network via an NG interface. Access network device #1 and access network device #2 can communicate directly via an Xn interface, or access network device #1 and access network device #2 can communicate indirectly via the core network via the NG interface.
[0070] Terminal equipment, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), etc., refers to a device that provides voice and / or data connectivity to users. For example, a terminal device can be a mobile phone, a tablet computer (Pad), a computer with wireless transceiver function, a mobile internet device (MID), a wearable device, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, a drone, a drone controller, etc. The embodiments of the present application do not limit the application scenarios. Terminal devices also include devices capable of sidelink communication, such as vehicle-mounted terminals, or handheld terminals capable of V2X (vehicle-to-everything) communication.
[0071] Access network equipment refers to a radio access network (RAN) node (or device) that connects a terminal to a wireless network, and can also be called a base station. For example, it can be an NR gNB, or various types of base stations such as an LTE eNB. For ease of description, the embodiments of this application uniformly refer to "access network equipment" as "base station". Among them, the NR gNB can adopt an architecture with a centralized unit (CU) and a distributed unit (DU) separated, such as base station #1 shown in Figure 1, where the CU and DU are connected via the F1 interface for message transmission; or the architecture with no separation of CU and DU can be adopted, such as base station #2 shown in Figure 1, which is not limited in this embodiment of the application. In the separate deployment scenario where the access network equipment includes a CU and a DU, the CU supports protocols such as radio resource control (RRC), packet data convergence protocol (PDCP), and service data adaptation protocol (SDAP); the DU mainly supports radio link control layer (RLC), media access control layer (MAC), and physical layer protocols. Typically, a terminal device maintains a data connection with only one base station at a time. In a dual connectivity (DC) scenario, a terminal device can simultaneously connect to two base stations. One base station serves as a control anchor, providing both control and user plane connections for the terminal, known as the primary base station. The other base station only provides user plane connections for the terminal, known as the secondary base station. The present invention may or may not be applied to DC scenarios.
[0072] Core network equipment refers to the equipment in the core network (CN) that provides service support for terminals. At present, some examples of core network equipment are: access and mobility management function (AMF) entity, session management function (SMF) entity, user plane function (UPF) entity, etc., which are not listed here one by one. Among them, the AMF entity can be responsible for terminal access management and mobility management; the SMF entity can be responsible for session management, such as user session establishment, etc.; the UPF entity can be a functional entity of the user plane, mainly responsible for connecting to external networks, such as data networks. It should be noted that the entities in this application can also be referred to as network elements or functional entities. For example, the AMF entity can also be referred to as an AMF network element or an AMF functional entity. For another example, the SMF entity can also be referred to as an SMF network element or an SMF functional entity, etc.
[0073] To facilitate understanding of the embodiments of the present application, first, a brief introduction to the concepts and technologies involved in the embodiments of the application is given.
[0074] 1. XR: XR can refer to a combination of real and virtual environments generated by computing technology and wearable devices, as well as human-machine interactions. Specifically, it includes the following typical forms: VR, AR, and MR. XR is one of the 5G multimedia applications currently being considered by the industrial field. The 3rd Generation Partnership Project (3GPP) Rel-17 modeled and analyzed the service characteristics of XR. Usually, XR services will periodically generate data frames at a certain frame rate. Among them, for XR services, they can have the following service characteristics:
[0075] (1) Frame rate: The frame rate can be 60 frames per second (fps), i.e., 60 video frames are generated per second, with one video frame appearing approximately every 16.67 ms. A video frame may be transmitted by multiple data packets, which may be divided into one or more protocol data unit (PDU) sets. The frame rate can also be 120 fps, i.e., 120 video frames per second, with one video frame appearing approximately every 8.33 ms. This application does not impose any restrictions on this.
[0076] (2) Jitter: Due to the different sizes of data frames, each frame may have different encoding delays during encoding, and different forwarding delays during forwarding in the core network. As a result, the arrival time of the XR data at the air interface side in each cycle may jitter. That is, the data arrival time may be earlier or later than the expected cycle time, usually fluctuating within a few milliseconds.
[0077] (3) Frame size: The size of a data frame is not fixed and usually follows a truncated Gaussian distribution. The mean can be expressed as mean = R / F, where F is the frame rate and R is the data rate. For example, if F = 60 fps and R = 20 Mbps, mean = 41.67 KBytes. The size of a data frame is usually between 0.5*mean and 1.5*mean.
[0078] (4) Latency requirements: XR services typically have high latency requirements. For example, for uplink AR services, the typical packet delay budget (PDB) is 30ms. This means that the transmission delay between a data packet arriving at the UE access layer and the UPF's N6 interface is capped at 30ms. If a data packet is not successfully transmitted within the PDB time limit, it is considered to have timed out and lost its function.
[0079] Alternatively, the packet set delay budget (PSDB) may also be considered in XR services. Its meaning is similar to that of PDB, defining the upper limit of the transmission delay of a group of data packets (a PDU set). For the uplink, it refers to the time limit from the first data packet in the PDU set arriving at the UE access layer to the last data packet arriving at the N6 interface of the UPF. For the downlink, it refers to the delay from the first data packet from the UPF N6 interface to the last data packet arriving at the UE. The network should complete data scheduling and transmission within the delay budget as much as possible to avoid data timeouts that affect the service experience.
[0080] (5) Synchronization requirements (or synchronization requirements): XR services may have synchronization requirements between different data streams. Synchronization requirements usually appear in multimodal services. For example, when watching VR movies, there may be video data streams and audio data streams at the same time. For a certain frame or a certain section of video, there is often a corresponding audio. For example, in the case shown in Figure 2, the application server periodically generates video data frames. For each video frame, there may be one or more audio data packets that are related to the video in content and have the need for synchronous transmission. Users need to hear the corresponding sound while watching the picture to get a satisfactory viewing experience. If the time difference between the corresponding video data and audio data arriving at the user's player is too large, it will cause problems such as audio and video asynchrony, which will seriously reduce the user experience.
[0081] 3GPP has conducted a preliminary analysis of the synchronization requirements between different data streams of multimodal services. Taking into account the human body's sensitivity to visual, auditory, and tactile signals, it has proposed synchronization time threshold requirements between different types of data, such as:
[0082] -For synchronization between audio and haptics, if the audio data arrives at the receiving side first, the corresponding haptic data should arrive within 12ms after the audio; if the haptic data arrives first, the corresponding audio data should arrive within 25ms.
[0083] - For synchronization between vision and haptics, if video data arrives first, the corresponding haptic data should arrive within 30ms; if haptic data arrives first, the corresponding video data should arrive within 20ms;
[0084] -For synchronization between video and audio, if the audio data arrives first, the corresponding video data should arrive within 20ms; if the video data arrives first, the corresponding audio data should arrive within 20ms.
[0085] It can be seen from this that there are certain synchronization time requirements between different types of related data streams.
[0086] 2. XR service data packets: refers to data packets belonging to XR services. XR services can generate data periodically. For example, uplink AR services periodically generate data frames. Data frames can be transmitted by multiple data packets at the access layer. These data packets can be composed of one or more PDU sets. Typically, the network will have certain requirements for the transmission delay of each PDU set. For example, the transmission delay requirement for the PDU set is the above-mentioned PSDB. PSDB is only an example and is not limited in this application.
[0087] It can be understood that a PDU set can correspond to one or more data packets. A PDU set contains the data corresponding to an application layer information unit. An application layer information unit is the minimum granularity of application layer encoding and decoding, such as a video frame or a video coding strip or a video coding block. If a PDU set corresponds to multiple data packets, the multiple data packets can be transmitted in sequence at the access layer with data packets as the granularity. Among them, the application layer can include applications and application servers, which are endpoints where data is generated or used; the access layer provides transmission services for data, including the service data adaptation protocol (SDAP) layer (or entity), the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer and the physical layer (PHY).
[0088] For example, a PDU set may consist of one or more PDUs that carry the payload of an information unit generated at the application level, such as a frame or video slice for an XR service. In some implementations, the application layer requires all PDUs in the PDU set to use the corresponding information unit. In some implementations, when some PDUs are missing, the application layer can restore the corresponding information unit.
[0089] 3. Quality of Service (QoS)
[0090] Quality of Service (QoS) refers to a technology used to address network latency and congestion. When network congestion occurs, data may be discarded. To meet user requirements for different QoS levels for different applications, the network must be able to allocate and schedule resources based on user needs, providing different QoS levels for different data types.
[0091] 4. QoS flow
[0092] The 5G system forwards and processes data based on the granularity of QoS flows and guarantees its QoS.
[0093] The 5G core network establishes one or more protocol data unit sessions (PDU sessions) for a UE. A QoS flow is a data flow with the same source and destination addresses and the same QoS requirements within a PDU session. Figure 2 is a schematic diagram of a 5G system based on a QoS architecture provided by an embodiment of the present application. As shown in Figure 3, a PDU session is established between the UE and the UPF, a radio bearer is established between the UE and the NB, and a core network tunnel is established between the NB and the UPF. The PDU session includes multiple QoS flows, including a first QoS flow, a second QoS flow, and the like.
[0094] For downlink, 5GC identifies the characteristics of the data packet, including the source Internet Protocol (IP) address, destination IP address, source port number, destination port number, and transport layer protocol number, and maps data packets with the same characteristics to the same QoS flow. It also carries a QoS flow identifier (QFI) in the packet header to identify which QoS flow the packet belongs to. For uplink, 5GC can explicitly or implicitly configure the mapping relationship between the above data packet characteristics and QoS flows to the UE, and the UE will map the uplink data to be transmitted to different QoS flows.
[0095] Data from different QoS flows is transmitted independently within the 5G system. For each QoS flow, the 5GC sends its QoS profile to the radio access network (RAN), indicating its QoS requirements, such as the packet delay budget (PDB) and packet error rate (PER). This profile represents the expected quality of service for data transmitted within the 5G system. The PDB represents the upper limit of the transmission delay between the core network and the UE. Packets that fail to transmit correctly within the PDB are considered timed out. The PER represents the upper limit of the packet error rate during QoS flow transmission, representing the percentage of packets processed by the sender but not correctly received by the receiver. Specifically, the core network and the UE can be understood as, for downlink traffic, from the core network's UPF to the UE; for uplink traffic, from the UE to the core network's UPF.
[0096] For a PDU session, the RAN establishes one or more data radio bearers (DRBs) and maps each QoS flow to these DRBs for air interface transmission. Multiple QoS flows can be mapped to a single DRB, but a single QoS flow cannot be mapped to multiple DRBs. QoS flows with the same or similar QoS requirements are typically mapped to the same DRB, providing the same QoS guarantees over the air interface.
[0097] Currently, data transmission and QoS assurance are implemented at the granularity of a QoS flow. For example, based on QoS requirements, the RAN strives to ensure that the transmission latency of data within a QoS flow does not exceed the size of its PDB or PSDB. However, this latency assurance only considers the latency ceiling of the QoS flow itself and does not account for any dependencies with other QoS flows, such as synchronization requirements between different data flows within a service.
[0098] Figure 4 provides a specific example. Consider an XR service that includes both audio and haptic data, carried in separate QoS flows. The audio stream has a PDB requirement of 30ms, while the haptic stream has a PDB requirement of 5ms. The application layer generates a set of haptic packets and an audio packet, as outlined in the red box. These packets are content-dependent and must meet synchronization requirements. When transmitting this data, the RAN only guarantees the PDB. In the worst-case scenario, the audio data arrives at the receiver 30ms later, while the synchronization requirement for audio and haptic data is only 25ms. This results in a perceived audio lag, impacting the user's immersive experience. For example, when a user presses a button, they should feel the button squeeze their finger and hear the "click" sound simultaneously. However, if the sound lags, the user's perception of the button press will be unnatural.
[0099] In other words, the current QoS mechanism does not take into account the need for synchronous transmission of data between different QoS flows. In response, this application provides a data transmission method that allows data from different data flows to meet their own latency requirements while also meeting the latency requirements for inter-flow synchronization, thereby ensuring a guaranteed service experience.
[0100] FIG5 is a flow chart of a data transmission method provided in an embodiment of the present application.
[0101] S101: Core network device #1 provides first indication information to a first device, and the first device obtains the first indication information from core network device #1. The first indication information indicates that data packets of a first data stream and data packets of a second data stream need to be synchronously transmitted to a second device.
[0102] Core network device #1 can be used to provide a data flow configuration file to the first device. For example, it can be an access and mobility management function network element, such as an AMF. The first device can be an access network device, and the second device can be a terminal device, another access network device, core network device #2, or a data network device. Core network device #2 can be a user plane function network element, such as a UPF.
[0103] The first indication information indicates that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device (or indicates that the first data stream and the second data stream need to be transmitted synchronously). It can be understood that the first device that receives the first indication information can, based on the first indication information, know that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device. That is, the first indication information itself can directly indicate or implicitly indicate that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously. For example, the first indication information itself indicates that the first data stream and the second data stream are associated, and the first device thereby knows that the first data stream and the second data stream are associated, and can then determine that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device. The present application does not limit how the first indication information specifically indicates that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device.
[0104] In one example, the first indication information may specifically include identification information of the first session, wherein the first session includes the first data stream and the second data stream; or included in the configuration information of the first data stream and is the identification information of the second data stream; or included in the configuration information of the first data stream and the configuration information of the second data stream; or in the packet header of the data packet of the first data stream and the packet header of the data packet of the second data stream; or is identification information of a data stream group, to which the first data stream and the second data stream belong.
[0105] The first indication information may specifically include identification information of the first session, or the first indication information itself may be understood to be identification information of the first session. Upon receiving the identification information of the first session, the first device understands that the multiple data streams within the first session are associated, i.e., they all need to be transmitted synchronously to the second device. Because the first data stream and the second data stream belong to the first session, the first indication information, in this case, may indicate that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device.
[0106] If the first indication information is included in the configuration information of the first data stream and is the identification information of the second data stream, the first device receives the configuration information of the first data stream and finds that the configuration information of the first data stream includes the identification information of the second data stream. Therefore, it can be determined that the first data stream and the second data stream are associated, that is, they need to be transmitted synchronously to the second device. Therefore, the first indication information in this case can indicate that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device.
[0107] The first indication information is included in the configuration information of the first data stream and the configuration information of the second data stream, that is, the configuration information of the first data stream and the configuration information of the second data stream both include the same indication information. The first device receives the configuration information of the first data stream and the configuration information of the second data stream, and finds that the configuration information of the two data streams both include the same indication information. It can be known that the first data stream and the second data stream are associated, that is, they need to be transmitted synchronously to the second device. The indication information can indicate that it corresponds to the same service, such as an XR service that simultaneously includes audio data and tactile data.
[0108] The first indication information is included in the header of the data packet of the first data stream and the header of the data packet of the second data stream, that is, the header of the data packet of the first data stream and the header of the data packet of the second data stream both include the same indication information. The first device receives the data packet of the first data stream and the data packet of the second data stream, and finds that the headers of the data packets of the two data streams both include the same indication information. It can be known that the first data stream and the second data stream are associated, that is, they need to be transmitted to the second device synchronously. The indication information can indicate that it corresponds to the same service, such as an XR service that simultaneously contains audio data and tactile data.
[0109] The first indication information is the identification information of the data stream group. When the first device receives the identification information of the data stream group, it knows that the multiple data streams within the data stream group are linked, that is, they all need to be transmitted synchronously to the second device. Because the first data stream and the second data stream belong to the data stream group, the first indication information in this case indicates that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device.
[0110] In one example, the data flow in this application is a QoS flow. However, QoS flow is the granularity at which the 5G system divides data flows. The data flow in this application may also be a data flow divided in other ways, such as further dividing the concept of "sub-QoS flow" under the QoS flow, or having the concept of "service stream" above the QoS flow. The data packet in this application may be a data packet included in the above-mentioned PDU set. The data packet in this application may also be referred to as a data unit, such as a PDU.
[0111] Optionally, the first device may also obtain second indication information through the core network device #1. The second indication information indicates a threshold #1 of a time interval between transmitting data packets of the first data flow and data packets of the second data flow to the second device.
[0112] Among them, it is understandable that the second indication information can be the same information as the first indication information, that is, the information can indicate that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device, and can also indicate the threshold value #1 of the time interval between the data packets of the first data stream and the data packets of the second data stream to be transmitted to the second device. In the example shown in Figure 4, the threshold #1 is the synchronization requirement of 25ms for audio and tactile data. If the interval between the time when the data packets of the first data stream are transmitted to the second device and the time when the data packets of the second data stream are transmitted to the second device is less than or equal to the threshold value #1, it can be considered to be synchronous transmission; if the interval between the two is greater than the threshold value, it can be considered that the requirement for synchronous transmission is not met; or, if the interval between the two is less than the threshold value #1, it can be considered to be synchronous transmission; if the interval between the two is greater than or equal to the threshold value, it can be considered that the requirement for synchronous transmission is not met.
[0113] Furthermore, the first device may obtain first information about a data stream from a core network device, where the first information includes one or more of the following: an interval between the generation time of packets of the first data stream and packets of the second data stream, delay jitter (such as jitter) of packets of the first data stream during transmission between the server and the access network device, or delay jitter of packets of the second data stream during transmission between the server and the access network device. It is understood that the first information may be further used by the first device to determine how to synchronously transmit packets of the first data stream and packets of the second data stream.
[0114] Furthermore, the first device may obtain second information about the data stream from the terminal device, where the second information includes one or more of the following: an interval between the generation times of packets of the first data stream and the second data stream, delay jitter (such as jitter) during transmission of packets of the first data stream between the access layer and the application layer of the second device, or delay jitter during transmission of packets of the second data stream between the access layer and the application layer of the second device. It is understood that the second information may also be further used by the first device to determine how to synchronously transmit packets of the first data stream and packets of the second data stream.
[0115] That is, the first device may obtain the first information and / or the second information, and when both information are obtained, use them as considerations for determining how to synchronously transmit the data packets of the first data stream and the data packets of the second data stream.
[0116] In one example, a first device obtains third indication information, where the third indication information indicates that a first data packet and a second data packet need to be transmitted synchronously to a second device. The first device may obtain the third indication information from core network device #1 or from a terminal device, where the third indication information is included in a header of the first data packet and is identification information of the second data packet; or the third indication information is included in a header of the first data packet and a header of the second data packet.
[0117] It is understandable that, in addition to being able to learn, based on the first indication information, that the first data stream and the second data stream are associated (i.e., the granularity of the association is data stream), the first device can further learn, based on third indication information, that the first data packet in the first data stream and the second data packet in the second data stream are associated (i.e., the granularity of the association is data packet). The third indication information can be provided to the first device by core network device #1 or a terminal device.
[0118] Among them, the third indication information indicates that the first data packet and the second data packet need to be transmitted synchronously to the second device (or indicates that the first data packet and the second data packet need to be transmitted synchronously). It can be understood that the first device receiving the third indication information can, based on the third indication information, know that the first data packet and the second data packet need to be transmitted synchronously to the second device. That is, the third indication information itself can directly indicate or implicitly indicate that the first data packet and the second data packet need to be transmitted synchronously. For example, the third indication information itself indicates that the first data packet and the second data packet are associated. Based on this, the first device knows that the first data packet and the second data packet are associated, and can then determine that the first data packet and the second data packet need to be transmitted synchronously to the second device. This application does not limit how the third indication information specifically indicates that the first data packet and the second data packet need to be transmitted synchronously to the second device.
[0119] The first device, by combining the first indication information and the third indication information, can learn that the first data packet in the first data stream and the second data packet in the second data stream need to be transmitted synchronously to the second device. It is understood that the third indication information can be the same as the first indication information, i.e., the third indication information indicates that the first data packet in the first data stream and the second data packet in the second data stream need to be transmitted synchronously to the second device.
[0120] S102: The first device transmits a first data packet in the first data stream and / or a second data packet in the second data stream according to the first indication information.
[0121] It should be noted that the ultimate effect of synchronous transmission in the present application is that both data packets arrive at the receiving side, that is, arrive at the second device within a certain time range. The two data packets can be understood as synchronously transmitted data packets, or associated data packets. The first device can learn that the first data packet and the second data packet are associated based on the third indication information, or can determine that the first data packet and the second data packet are associated data packets based on the time when the first data packet and the second data packet arrive at the first device. For example, if the first data packet and the second data packet arrive at the first device at the same time, it can be determined that the first data packet and the second data packet are associated data packets; or, if the first data packet and the second data packet arrive at the first device within the range of threshold #2, it can be determined that the first data packet and the second data packet are associated data packets. Among them, threshold #2 can be pre-configured or configured by the core network device, and this application does not limit this.
[0122] In one example, the first device also needs to transmit the first data packet and / or the second data packet based on the second indication information, i.e., based on threshold #1. For example, the time interval between transmitting the first data packet and the second data packet to the second device is controlled within the range of threshold #1, so that the first data packet and the second data packet can be transmitted to the second device synchronously.
[0123] Specifically, the first device can determine the transmission delay of the first data packet based on the threshold #1 and the transmission delay budget of the first data stream (such as the PDB of the data packet in the first data stream); or determine the transmission delay of the second data packet based on the threshold #1 and the transmission delay budget of the second data stream (such as the PDB of the data packet in the second data stream). Furthermore, the first device can transmit the first data packet and / or the second data packet to the second device based on the determined transmission delay. Taking the example shown in Figure 4 as an example, the RAN side can, based on the synchronization requirement of 25ms less than 30ms of the PDB of the audio stream, provide a delay guarantee of 25ms for the audio data, ensuring that the audio data is transmitted to the receiving side within 25ms after the tactile data transmission is completed.
[0124] Among them, the transmission delay of the data packet may include the transmission delay of the data packet from the first device to the second device; for downlink, it may include the transmission delay from the core network device to the first device and from the first device to the second device; for uplink, it may include the transmission delay from the terminal device to the first device and from the first device to the second device.
[0125] Alternatively, if the transmission delay budget for the first data stream is less than the transmission delay budget for the second data stream, the first device can determine, based on the first indication information, that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device, and then adjust the transmission delay of the second data packet based on the transmission delay budget of the first data stream. Thereafter, the second data packet is transmitted to the second device using the transmission delay of the second data packet. Taking the example shown in Figure 4 as an example, the RAN side can learn that the audio data and tactile data are related and have synchronization requirements, and thus also provide a delay guarantee for the audio data according to the 5ms PDB of the tactile data. This approach can also ensure that the audio data and tactile data are transmitted synchronously to the receiving side.
[0126] In one example, a first device obtains first information of a data stream from a core network device, and the first device may further transmit a first data packet or a second data packet based on the first information. For example, the first device determines the transmission delay of the first data packet or the second data packet based on the interval between the time when the data packets of the first data stream and the data packets of the second data stream are generated on the core network side, and further transmits the first data packet or the second data packet based on the transmission delay. For example, in the example of FIG4 , if the audio data is generated ΔT later than the tactile data, the base station should guarantee the audio data according to the delay of 25ms-ΔT. For example, the first device determines the transmission delay of the first data packet or the second data packet based on the delay jitter of the data packets of the first data stream transmitted between the server and the access network device, and / or the delay jitter of the data packets of the second data stream transmitted between the server and the access network device, and further transmits the first data packet or the second data packet based on the transmission delay. For example, in Figure 4, if the tactile data has no jitter, but the audio data has jitter in the range of [-3, 3] ms, the audio data will arrive at the base station at most 3 ms later than the tactile data. The base station should ensure a delay of 25-3 = 22 ms for the audio data. For details on how the first device further transmits the first or second data packet based on the first information, see Figure 7.
[0127] In one example, the first device obtains second information about a data stream from a terminal device, and the first device may further transmit the first data packet or the second data packet based on the second information. For example, the first device determines the transmission delay of the first data packet or the second data packet based on the interval between the time when the data packets of the first data stream and the data packets of the second data stream are generated on the terminal side, and further transmits the first data packet or the second data packet based on the transmission delay. For example, the first device determines the transmission delay of the first data packet or the second data packet based on the delay jitter of the data packets of the first data stream transmitted between the access layer and the application layer of the second device, and / or the delay jitter of the data packets of the second data stream transmitted between the access layer and the application layer of the second device, and further transmits the first data packet or the second data packet based on the transmission delay. Regarding how the first device further transmits the first data packet or the second data packet based on the second information, please refer to the description in Figure 7 for details.
[0128] The first device may also transmit the first data packet or the second data packet based on the first information and the second information. For example, the first device may determine the transmission delay of the first data packet or the second data packet based on one or more of the time interval between the generation time of the data packet of the first data stream and the data packet of the second data stream on the core network side, the delay jitter of the data packet of the first data stream when transmitted between the server and the access network device, or the delay jitter of the data packet of the second data stream when transmitted between the server and the access network device, and the delay jitter of the data packet of the first data stream when transmitted between the access layer and the application layer of the second device, or the delay jitter of the data packet of the second data stream when transmitted between the access layer and the application layer of the second device, and further transmit the first data packet or the second data packet based on the transmission delay. For another example, the first device determines the transmission delay of the first data packet or the second data packet based on one or more of the delay jitter of the data packet of the first data stream transmitted between the server and the access network device, or the delay jitter of the data packet of the second data stream transmitted between the server and the access network device, as well as the interval between the time when the data packet of the first data stream and the data packet of the second data stream are generated on the terminal side, the delay jitter of the data packet of the first data stream transmitted between the access layer and the application layer of the second device, or the delay jitter of the data packet of the second data stream transmitted between the access layer and the application layer of the second device, and further transmits the first data packet or the second data packet based on the transmission delay. Regarding how the first device further transmits the first data packet or the second data packet based on the first information and the second information, please refer to the description in Figure 7 for details.
[0129] Optionally, the first device may also receive a first request message from the second device, where the first request message is used to request scheduling of associated data of the sent data, wherein the associated data is data that needs to be synchronously transmitted to the second device with the sent data. The first device may learn from the first request message that there is associated data with the sent data, and may schedule the associated data as soon as possible to ensure that the sent data and the associated data are transmitted within the synchronization requirements. The sent data may include one or more data packets in one or more data streams, and the associated data may include one or more data packets in one or more data streams. That is, the granularity of the data requested to be scheduled by the first request message may be a data stream, i.e., requesting scheduling of associated data streams of the sent data stream; or the granularity of the data requested to be scheduled may be a data packet, i.e., requesting scheduling of associated data streams and associated data packets of the sent data packets of the sent data stream, which is not limited in this application.
[0130] The first request information may also be used to indicate an identifier of a logical channel to which the associated data belongs and / or to indicate the data volume of the associated data. In this way, the first device may schedule the associated data based on the logical channel to which the associated data belongs and / or the data volume, and provide the second device with resources for transmitting the associated data.
[0131] According to the method shown in Figure 5, the first device can obtain from the first indication information that the data packets of the first data stream and the data packets of the second data stream need to be transmitted synchronously to the second device, so that during data transmission, the data packets of the first data stream and / or the data packets of the second data stream are synchronously transmitted to the second device, thereby ensuring the service experience.
[0132] Figure 6 is a flowchart of another data transmission method provided by this application. The base station in this method can be understood as an example of the first device in the method shown in Figure 5; the QoS flow (hereinafter referred to as a flow) in this method can be understood as an example of the data flow in the method shown in Figure 5. It is understood that the similarities between the method shown in Figure 5 and the method shown in Figure 6 can be referenced from each other.
[0133] In the method shown in Figure 6, the core network not only provides a QoS profile for each QoS flow but also provides the base station with the associations between different flows. Associated QoS flows require synchronized transmission. This allows the base station to consider the synchronization requirements of associated QoS flows during air interface scheduling, ensuring that the delay variation of associated data transmitted over the air interface remains within a certain range.
[0134] S201: The core network provides the base station with the association relationship between different flows, and the base station obtains the association relationship between different flows from the core network.
[0135] Specifically, the core network may provide the base station with association information between different flows (which can be understood as the first indication information in the method shown in FIG5 ) in an explicit or implicit manner. The core network may provide the base station with association information of QoS flows in one or more of the following ways:
[0136] Method 1: Implicitly represent the association between QoS flows through PDU session.
[0137] PDU session is used to provide data exchange services between UE and DN. The QoS flow within a PDU session usually corresponds to the same application server. Therefore, it can be considered that the QoS flows within the same PDU session serve the same service and have an associated relationship. Optionally, the core network can send an indication message to the base station when establishing the PDU session, indicating that the QoS flows within the PDU session are mutually associated (i.e., there is a synchronization requirement). For example, the indication information can be carried in the PDU session resource setup request message sent by the AMF to the base station.
[0138] Method 2: Indicates the QoS flows associated with a QoS flow.
[0139] Specifically, for a QoS flow, the core network can provide the base station with "associated flow" information, such as providing the ID (i.e., QFI) of the QoS flow that has synchronization requirements with the QoS flow. Alternatively, for each QoS flow, the core network can provide one or more "associated flows." Specifically, the above-mentioned "associated flow" information can be included in the QoS profile provided by the core network. Optionally, if the associated QoS flows do not belong to the same PDU session, it is necessary to additionally indicate the PDU session to which the associated QoS flow belongs, such as indicating another PDU session ID. Alternatively, the QFI of the "associated flow" can also be carried in the data packet header.
[0140] Method 3: The core network marks the QoS flows with synchronization requirements with the same "synchronization identifier".
[0141] This "synchronization identifier" can also be understood as a "service identifier" / "business identifier" because QoS flows with synchronization requirements usually belong to the same application service. Specifically, when providing a QoS profile to the base station, the core network can carry a "synchronization identifier" in the QoS profile, and the QoS profile of the QoS flow with synchronization requirements will carry the same "synchronization identifier". Alternatively, the "synchronization identifier" can be carried in the data packet header, and data packets of different QoS flows carry the same "synchronization identifier" and different QFIs, so that the base station understands that they have synchronization requirements.
[0142] Method 4: The core network divides QoS flows with synchronization requirements into the same "synchronization group" and provides group division information to the base station.
[0143] Specifically, the core network may provide the base station with "synchronization group profile" information, which includes at least the group identifier and the QFI of the QoS flow in the group, so that the base station may know that the QoS flow in the group has synchronization requirements.
[0144] S202: Based on the association relationship between QoS flows, the base station provides delay guarantee for the associated data.
[0145] For example, during the scheduling process, the base station can provide latency guarantees for related data, ensuring that data from different QoS flows does not incur additional latency differences during air interface transmission, thus preventing the synchronization threshold from being exceeded. For example, in the example shown in Figure 4, the base station understands that audio data and tactile data are related and require synchronization. Therefore, the base station can also provide latency guarantees for the audio data based on the PDB requirements (5ms) for tactile data. This ensures that the time spent transmitting the related tactile and audio data over the air interface is similar, preventing the delay introduced by the air interface from causing the latency difference between the two to exceed the synchronization threshold.
[0146] It's understandable that QoS flow is the granularity at which 5G systems divide data flows. The so-called flow association relationship can also be extended to data flows divided in other ways, such as further dividing "sub-QoS flows" under the QoS flow, or the concept of "service streams" above the QoS flow. For different data flow division granularities, the QFI in the above solution can be replaced with the corresponding "flow identifier," and the QoS profile can be replaced with the corresponding "flow profile." This also applies to the method shown in the following figure and will not be further explained.
[0147] In this method, the core network provides the base station with synchronization associations between QoS flows, so that the base station understands the synchronization requirements between different data flows. When transmitting over the air interface, the base station takes into account the synchronization between flows and performs reasonable delay guarantees to avoid data loss of synchronization due to excessive air interface delay differences.
[0148] Figure 7 is a flowchart illustrating another data transmission method provided by this application. The base station in this method can be understood as an example of the first device in the method shown in Figure 5 ; the QoS flow in this method can be understood as an example of the data flow in the method shown in Figure 5 . It is understood that similarities between the method shown in Figure 5 and the method shown in Figure 7 can be used to draw on each other.
[0149] In the method shown in FIG. 7 , in addition to the association information between QoS flows, the core network can also provide more information about synchronization requirements to help the base station make better scheduling decisions.
[0150] S301: The core network provides synchronization requirement information to the base station, and the base station obtains the synchronization requirement information from the core network device.
[0151] S302: The base station provides delay guarantee for the associated data based on the synchronization requirement information.
[0152] For example, the core network can provide synchronization threshold requirements between QoS flows (which can be understood as the second indication information in the method shown in Figure 5). Specifically, the core network can provide a synchronization threshold for every two associated QoS flows, and can also be divided into two situations: "flow #1 arrives before flow #2" and "flow #2 arrives before flow #1". After the base station knows the synchronization threshold, it can make more reasonable adjustments to the delay of the associated flows. As shown in Figure 8, for the example in Figure 4, if the base station knows that the audio and tactile data are associated and the synchronization threshold is 25ms, it only needs to ensure the audio data has a delay of 25ms to ensure that it does not exceed the synchronization threshold of the audio and tactile data.
[0153] Optionally, the core network can also provide the data generation time of a QoS flow or the interval between the data generation times of different QoS flows. For example, the core network indicates to the base station that the data flow start time of flow #1 (i.e., the time when the application begins generating data for flow #1) is T1, and the data flow start time of flow #2 is T2. The base station then knows that there is already a delay difference of |T2-T1| between flows #1 and #2 at the application layer, and should strive to prevent this delay difference from further increasing beyond the synchronization threshold at the transport layer. For another example, the core network can provide the maximum time interval that can occur between the application layer generation of associated data for each two associated QoS flows, such as the maximum interval ΔT between the generation of associated data in flows #1 and #2 at the application layer. When the generation times of corresponding data in associated data flows are not aligned, this information can further help the base station determine the available delay for air interface transmission. As shown in Figure 9, for the example in Figure 4, if the audio data is generated ΔT later than the tactile data, the base station should guarantee the audio data with a delay of 25ms-ΔT.
[0154] Optionally, the core network can also provide information about the potential jitter incurred when transmitting QoS flow data between the application server and the base station. This information can include jitter generated during forwarding within the DN, transmission over the N6 interface between the UPF and DN, forwarding within the core network, or transmission over the N3 interface between the UPF and the base station. For example, the core network can provide a jitter range for a QoS flow, indicating the potential jitter incurred when transmitting data from the server to the base station. For example, the application server is expected to send data at time T1, and after forwarding, it should arrive at the base station at time T2 (e.g., T2 = T1 + 10ms). However, due to coding and transmission jitter, the data may actually arrive at the base station within the range of T2-5ms to T2+5ms. The jitter range can be expressed as [-5, 5]ms. Jitter information serves a similar purpose as the data generation interval, reflecting the potential latency differences incurred when forwarding data from different flows between the server and the base station. As shown in Figure 10, for the example in Figure 4, if there is no jitter in the tactile data and the audio data has jitter in the range of [-3, 3] ms, then the audio data will arrive at the base station at most 3 ms later than the tactile data. The base station should ensure the delay of the audio data according to 25-3=22 ms.
[0155] Optionally, the core network can obtain the above information from the application layer, or the core network can infer the above information by observing the data. Optionally, the above information can be transmitted to the base station via the QoS profile or "synchronization group profile" mentioned above.
[0156] Similarly, the UE can also report to the base station the data generation time (interval) of the associated QoS flow and the possible delay jitter of the data from the access stratum (AS) layer to the application layer. The UE can report the above information based on the network configuration, for example, the network specifies the UE to report the jitter range for a certain QoS flow, or the network specifies the UE to report the data generation time interval of QoS flow #1 and QoS flow #2.
[0157] The above information can also be combined and used. After obtaining this information, the base station can more clearly understand the synchronization requirements and data transmission status between different QoS flows. This allows it to more accurately estimate the air interface latency required to meet synchronization requirements, allowing the base station to make more accurate and effective scheduling. The following is a specific example to illustrate this.
[0158] Suppose a user is watching a movie. The movie's visual information is transmitted via QoS flow #1, and the audio information is transmitted via QoS flow #2. To ensure a satisfactory viewing experience, the time difference between the corresponding visual and audio information reaching the user-side application player should be less than 20ms. At the same time, QoS flow #1 and QoS flow #2 also have their own transmission latency requirements. The PDB requirement for QoS flow #1 is 10ms, and the PDB requirement for QoS flow #2 is 30ms. The core network provides the base station with the following information:
[0159] QoS flow association: The core network indicates that QoS flow #1 and QoS flow #2 are associated and have synchronization requirements;
[0160] Synchronization requirement: The core network indicates that the synchronization thresholds between QoS flow #1 and QoS flow #2 are 20ms (QoS flow #1 arrives first) and 20ms (QoS flow #2 arrives first);
[0161] Generation interval: The core network indicates that the interval between the generation of the associated data in QoS flow #2 and QoS flow #1 (e.g., the image data and audio data of the same frame of a movie) at the application server is [0,2] ms. This means that the audio data is generated at the earliest together with the associated image data and at the latest 2 ms after the image data is generated.
[0162] Jitter: The core network indicates that the jitter range for QoS flow #1 transmitted between the server and the base station is [-2, 2] ms. This means that the data of QoS flow #1 arrives at the base station 2 ms earlier than expected and arrives at the UPF 2 ms later than expected. The core network indicates that the jitter range for QoS flow #2 transmitted between the server and the base station is [-2, 2] ms.
[0163] In addition, the UE also provides the base station with the following information:
[0164] Jitter: The UE reports to the base station that the jitter range of QoS flow#1 on the UE side is [-1,1]ms. This means that the data of QoS flow#1 arrives at the application player 1ms earlier than the expected time at the earliest and 1ms later than the expected time at the latest. The UE also reports to the base station that the jitter range of QoS flow#2 on the UE side is [-1,1]ms.
[0165] The base station can infer that, in the worst-case scenario, the audio data in QoS flow #2 arrives at the base station 6ms later than the corresponding picture data in QoS flow #1 (assuming the picture data transmission is unobstructed and arrives at the base station 2ms earlier than expected, the audio data is initially generated 2ms later and then arrives at the base station 2ms later than expected due to jitter). Furthermore, in the worst-case scenario, an additional 2ms of latency difference will occur between the audio and picture data at the UE (assuming the picture data arrives at the application layer 1ms earlier than expected and the audio data arrives 1ms later). Therefore, to ensure that the time difference between the two arriving at the application layer player does not exceed the synchronization threshold of 20ms, the base station can guarantee a latency of no more than 20-6-2 = 12ms when transmitting QoS flow #2 data. At the same time, the PDB requirement of QoS flow #2 itself (30ms) must also be met. Ultimately, the base station should provide transmission services for QoS flow #2 with a 12ms latency guarantee, ensuring both latency and synchronization requirements.
[0166] A similar analysis applies to QoS flow #1. Flow #1 data arrives at the base station at least 4ms later than the corresponding data in flow #2, and an additional 2ms of latency can occur on the UE side. Therefore, to ensure synchronization, the base station should ensure that the air interface latency of QoS flow #1 does not exceed 20-2-4 = 14ms. Since QoS flow #1's own PDB is only 10ms, the base station guarantees a 10ms latency for QoS flow #1.
[0167] The above example takes downlink data transmission as an example, and the uplink direction is similar.
[0168] Optionally, the above information may not be passed to the base station. Instead, the core network collects the information and directly performs the above delay analysis to calculate the tolerable air interface delay for the QoS flow with synchronization requirements, and passes the final calculation result to the base station as a delay parameter. For example, replace the PDB or PSDB parameters in the QoS profile, or introduce a new parameter and pass it to the base station through the control plane or data plane interface. The base station only needs to ensure the air interface delay of the corresponding QoS flow according to this delay parameter. Optionally, in this case, the information on the UE side can be forwarded to the core network through the base station, or the core network can obtain this information directly from the application layer.
[0169] In this method, the core network and the UE provide the base station with relevant information about the QoS flow with synchronization requirements, including the synchronization threshold, data generation time interval, data transmission jitter, etc. The base station combines this information to more accurately determine the delay that the air interface can tolerate, thereby ensuring that the synchronization requirements are met.
[0170] Figure 11 is a flowchart illustrating another data transmission method provided by this application. The base station in this method can be understood as an example of the first device in the method shown in Figure 5 ; the QoS flow in this method can be understood as an example of the data flow in the method shown in Figure 5 . It is understood that similarities between the method shown in Figure 5 and the method shown in Figure 11 can be used to draw on each other.
[0171] In the method shown in FIG11 , in order to enable the base station to perform delay guarantee more accurately, for downlink data, the core network may further provide association relationships between different data packets.
[0172] S401: The core network provides the base station with the association relationship between different data packets, and the base station obtains the association relationship between different data packets from the core network.
[0173] S402: The base station provides delay guarantee for associated data packets according to the association relationship between different data packets.
[0174] Specifically, the core network may provide the base station with association information between different data packets in an explicit or implicit manner (which can be understood as the third indication information in the method shown in FIG5 ). The core network may provide the base station with association information of data packets in one or more of the following ways:
[0175] Method 1: The header of a data packet carries the sequence number of the associated data packet.
[0176] For example, when the core network forwards data from QoS flow #1 to the base station, it carries a sequence number (denoted as x) in the GPRS Tunnelling Protocol for the user plane (GTP-U) header of the data packet. This sequence number points to one or more data packets (denoted as data packet A) in another QoS flow #2. x can be the GTP-U sequence number of data packet A, the QFI sequence number of data packet A in QoS flow #2, or the PDU set sequence number of data packet A.
[0177] Optionally, the packet header may also carry "length L" information, indicating that the packet is associated with L consecutive packets starting with sequence number x. Here, "L consecutive packets" can refer to L consecutive packets in QoS flow #2 or L consecutive packets on the GTP-U tunnel. The base station can use the solution in Figure 6 to understand that QoS flow #1 and QoS flow #2 are associated. Therefore, the base station knows that the associated sequence number carried in the packet header of QoS flow #1 refers to the packet in QoS flow #2. Figure 12 assumes that the core network has pre-configured the association between QoS flow #1 and QoS flow #2. The core network adds information to the packet headers of QoS flows #1 and #2 to point to the associated packets. Packets #3, #4, and #5 carry an associated sequence number of 2, indicating an association with packet #2. Packet #2 carries an associated sequence number of 3 and a length of 3, indicating an association with the three consecutive packets starting with packet #3 (i.e., #3, #4, and #5).
[0178] Method 2: Carry the "synchronization sequence number" in the packet header.
[0179] Packets with the same synchronization sequence number are considered associated. For example, when the core network forwards packets for QoS flows #1 and #2 to the base station, it carries the same synchronization sequence number in the GTP-U header for these associated packets. The base station can learn from the solution in Figure 6 that QoS flows #1 and #2 are associated, and thus, the base station knows that packets with the same synchronization sequence number in QoS flows #1 and #2 are associated. Figure 13 assumes that the core network has already established the association between QoS flows #1 and #2. The core network adds synchronization sequence numbers to the packet headers of QoS flows #1 and #2, respectively. Packets #2, #3, #4, and #5 carry synchronization sequence number 1, indicating that packets #2, #3, #4, and #5 are associated.
[0180] Optionally, the core network can obtain the association relationship between data packets from the application layer, for example, using method 1 or method 2 mentioned above, or the core network can also distinguish the association relationship between data packets based on its own implementation, for example, using machine learning methods to identify related data packets.
[0181] In this method, by indicating the association between downlink data packets, the base station can more accurately understand the tolerable delay of data packets transmitted on the air interface. For example, taking the example in Figure 7, the base station should provide a delay guarantee for the data of QoS flow#2 according to 12ms of 20-6-2=12ms. However, using the solution of Figure 11, if the base station receives a data packet #1 belonging to QoS flow#1 and a data packet #2 belonging to QoS flow#2, and knows through the packet header information that data packet #2 is associated with data packet #1, then the base station only needs to ensure that the time difference between sending data packets #1 and #2 does not exceed 20ms (considering the jitter on the UE side, it can be 18ms), without tightening the PDB of QoS flow#2 itself, thereby alleviating the scheduling pressure of the base station.
[0182] Figure 14 is a flowchart illustrating another data transmission method provided by this application. The base station in this method can be understood as an example of the first device in the method shown in Figure 5; the UE in this method can be understood as an example of the terminal device in the method shown in Figure 5; and the QoS flow in this method can be understood as an example of the data flow in the method shown in Figure 5. It is understood that similarities between the method shown in Figure 5 and the method shown in Figure 14 can be used in conjunction with each other.
[0183] In the method shown in FIG14 , for uplink data, the UE may provide the base station with association relationships between different data packets.
[0184] S501: The UE provides the base station with the association relationship between different data packets, and the base station obtains the association relationship between different data packets from the UE.
[0185] S502: The base station provides delay guarantee for associated data packets according to the association relationship between different data packets.
[0186] Specifically, the UE may provide the base station with association information between different data packets (which can be understood as the third indication information in the method shown in FIG5 ) in an explicit or implicit manner. The UE may provide the base station with association information of data packets in one or more of the following ways:
[0187] The UE may carry an "association sequence number" or a "synchronization sequence number" in the header of a data packet.
[0188] For example, the "associated sequence number" or "synchronization sequence number" is carried in the SDAP header, PDCP header, RLC header or MAC subheader of the data packet. Among them, the "associated sequence number" points to the associated data packet in the associated QoS flow, which can be the PDU set sequence number, PDCP sequence number, or QFI sequence number of the associated data packet. Alternatively, the UE carries the "synchronization sequence number" in the uplink data packet header, such as in the SDAP header, PDCP header, RLC header or MAC subheader. Data packets belonging to the associated QoS flow and carrying the same synchronization sequence number are associated. The format of the associated sequence number and the synchronization sequence number is similar to that in Figure 11. The base station can obtain the information of the associated QoS flow through the scheme of Figure 6.
[0189] After receiving uplink data packets, the base station can adjust the time it delivers them to the core network based on the association between the packets. This ensures that the associated packets enter the core network as close together as possible and ultimately arrive at the application server as close together as possible, avoiding exceeding the synchronization threshold. For example, if QoS flow #1 and QoS flow #2 are known to be associated and require synchronization, after the base station receives packet #1 belonging to QoS flow #1 and learns from the packet header that packet #1 is associated with packet #2 in QoS flow #2, it can temporarily withhold delivery of packet #1 to the core network. Instead, it waits until packet #2 also arrives at the base station before delivering both packets #1 and #2. This reduces the time difference between packets #1 and #2, ensuring they arrive at the application server within the synchronization threshold.
[0190] Optionally, the base station performs the above adjustment under the premise of ensuring the data packet's own delay requirements. For example, after data packet #1 arrives at the base station, its air interface available delay is still 5ms. If the base station receives the associated data packet #2 within 5ms, it will submit data packets #1 and #2 upward; if data packet #2 is not received within 5ms, data packet #1 will be directly submitted.
[0191] Optionally, the UE may obtain the association relationship between the data packets from the application layer, or the UE may also identify the association relationship between the data packets based on its own implementation, such as using a machine learning method to identify associated data packets.
[0192] In this method, by indicating the association relationship between uplink data packets, the base station can more accurately understand the current synchronization status of the data packets. By flexibly adjusting the timing of submitting data packets to the core network, it can ensure that the associated data packets are synchronized at the core network entrance, thereby ensuring that the time they finally arrive at the application server meets the synchronization requirements.
[0193] FIG15 is a flow chart of another data transmission method provided by the present application. It is understood that the similarities between the method shown in FIG5 and the method shown in FIG14 can be used for reference.
[0194] In the method shown in FIG15 , the base station ensures synchronization of associated data when performing uplink scheduling, and the UE can report associated data information in the cache to help the base station achieve this goal.
[0195] S601: The UE requests the base station to schedule associated data of the transmitted data.
[0196] S602: The base station schedules associated data to the UE according to the request of the UE.
[0197] In one example, after a UE sends data, if there is data associated with the sent data in its cache, it sends an indication message to the base station, indicating that the associated data has not yet been scheduled (which can be understood as a request to schedule the associated data). Upon receiving the message, the base station should schedule the remaining associated data as quickly as possible to avoid exceeding the synchronization threshold.
[0198] Optionally, the indication message may also indicate the ID of the logical channel (LCH) to which the remaining associated data belongs, so that the base station schedules the corresponding LCH. Optionally, the indication message may also indicate the amount of the remaining associated data, so that the base station allocates reasonable transmission resources.
[0199] Furthermore, after sending data, if the UE has data associated with the sent data in its cache, it can start a "synchronization timer" and then send the above indication message to the base station after the timer expires. The timer can be pre-configured by the base station. For example, the base station configures the timer length based on the obtained synchronization threshold information, and the timer length is less than or equal to the synchronization threshold.
[0200] Optionally, the indication message may be a scheduling request (SR) or a buffer status report (BSR), and may be a physical uplink control channel (PUCCH) signal or a MAC control element (CE).
[0201] Optionally, the UE may obtain the association relationship between the data packets from the application layer, or the UE may also identify the association relationship between the data packets based on its own implementation, such as using a machine learning method to identify associated data packets.
[0202] Optionally, after the UE sends data, the range for determining whether there is data associated with the sent data in the cache may be the entire UE cache, or the cache corresponding to a specified number of DRBs, LCGs, or LCHs. These specified number of DRBs, LCGs, or LCHs may be predefined or pre-configured by the base station.
[0203] In this method, by reporting to the base station whether there is information about associated data in the cache, the base station can promptly know whether there is data in the UE cache that has synchronization requirements with the scheduled data during scheduling. Then, the base station can promptly schedule the associated data with synchronization requirements to avoid the delay difference of the associated data being too large and exceeding the synchronization threshold.
[0204] It is understandable that in order to implement the functions in the above embodiments, each device includes a hardware structure and / or software module that performs the corresponding functions. It should be readily apparent to those skilled in the art that, in combination with the units and method steps of each example described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0205] The following is a schematic diagram of the structure of possible communication devices provided in the embodiments of the present application. These communication devices can be used to implement the functions of the first device or the second device, or the terminal device, access network device, or core network device in the above method embodiments, thereby also achieving the beneficial effects of the above method embodiments.
[0206] As shown in Figure 16, the communication device 1600 includes a processing unit 1601 and a communication unit 1602. The communication device 1600 is used to implement the functions of the first device or the second device in Figure 5, or the functions of the base station, terminal device, or core network device in any method embodiment in Figures 6 to 15.
[0207] When the communication device 1600 is used to implement the function of the first device in the method embodiment shown in Figure 5: the processing unit 1601 is used to obtain the first indication information from the core network device #1 and transmit the first data packet in the first data stream and / or the second data packet in the second data stream through the communication unit 1602 according to the first indication information.
[0208] When the communication device 1600 is used to implement the functions of the terminal device in the method embodiment shown in Figure 5: the processing unit 1601 is used to determine that the first data packet in the first data stream and the second data packet in the second data stream need to be transmitted synchronously to the core network device; the communication unit 1602 sends a third indication information to the access network device, and the third indication information indicates that the first data packet and the second data packet need to be transmitted synchronously to the core network device.
[0209] For a more detailed description of the above-mentioned processing unit 1601 and communication unit 1602, please refer to the relevant description of any method embodiment in Figures 5 to 15, which will not be repeated here.
[0210] It should be understood that the division of units in the above device is merely a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or physically separated. Moreover, the units in the device can all be implemented in the form of software called through processing elements; or all be implemented in the form of hardware; or some units can be implemented in the form of software called through processing elements, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or it can be integrated into a certain chip of the device. In addition, it can also be stored in the form of a program in a memory, called by a certain processing element of the device and execute the function of the unit. In addition, all or part of these units can be integrated together, or they can be implemented independently. The processing element here can also be a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each operation of the above method or each unit above can be implemented by the integrated logic circuit of the hardware in the processor element or by software called through the processing element.
[0211] In one example, the unit in any of the above devices may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital singnal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor that can call a program. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0212] The above-mentioned receiving unit is an interface circuit of the device, which is used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is the interface circuit of the chip used to receive signals from other chips or devices. The above-mentioned sending unit is an interface circuit of the device, which is used to send signals to other devices. For example, when the device is implemented as a chip, the sending unit is the interface circuit of the chip used to send signals to other chips or devices.
[0213] As another possible product form, the terminal equipment, access network equipment and core network equipment of the embodiment of the present application can be implemented by a general bus architecture. For ease of explanation, refer to Figure 17, which is a structural diagram of a communication device 1700 provided in an embodiment of the present application, and the communication device 1700 includes a processor 1701 and a transceiver 1702. The communication device 1700 can be a terminal device, or a chip or chip system therein; or, the communication device 1700 can be an access network device, or a chip or module therein; the communication device 1700 can be a core network device, or a chip or chip system therein. In addition to the processor 1701 and the transceiver 1702, the communication device 1700 can further include a memory 1703, and an input and output device (not shown in the figure).
[0214] Optionally, processor 1701 is primarily used to process communication protocols and communication data, as well as control the entire communication device, execute software programs, and process software program data. Memory 1703 is primarily used to store software programs and data. Transceiver 1702 may include a radio frequency circuit and an antenna. The radio frequency circuit is primarily used to convert baseband signals into radio frequency signals and process radio frequency signals. The antenna is primarily used to transmit and receive radio frequency signals in the form of electromagnetic waves. Input and output devices, such as a touch screen, display, and keyboard, are primarily used to receive user input and output data to the user.
[0215] Optionally, the processor 1701 , the transceiver 1702 , and the memory 1703 may be connected via a communication bus.
[0216] When the communication device is powered on, the processor 1701 can read the software program in the memory 1703, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be sent wirelessly, the processor 1701 performs baseband processing on the data to be sent and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal to the outside in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1701. The processor 1701 converts the baseband signal into data and processes the data.
[0217] In another implementation, the RF circuit and antenna can be set independently of the processor performing baseband processing. For example, in a distributed scenario, the RF circuit and antenna can be arranged remotely from the communication device.
[0218] In some embodiments, in terms of hardware implementation, those skilled in the art may conceive that the above-mentioned communication device 1600 may take the form of the communication device 1700 shown in FIG. 17 .
[0219] As an example, the functions / implementation processes of the processing unit 1601 in FIG16 may be implemented by the processor 1701 in the communication device 1700 shown in FIG17 calling computer-executable instructions stored in the memory 1703. The functions / implementation processes of the communication unit 1602 in FIG16 may be implemented by the transceiver 1702 in the communication device 1700 shown in FIG17.
[0220] As another possible product form, the terminal device, access network device or core network device in this application may adopt the structure shown in Figure 18, or include the components shown in Figure 18. Figure 18 is a schematic diagram of the composition of a communication device 1800 provided in this application.
[0221] As shown in FIG18 , a communication device 1800 includes at least one processor 1801. Optionally, the communication device further includes a communication interface 1802.
[0222] When the program instructions are executed in the at least one processor 1801, the apparatus 1800 can implement the method provided in any of the aforementioned embodiments and any possible designs thereof. Alternatively, the processor 1801 implements the method provided in any of the aforementioned embodiments and any possible designs thereof through logic circuits or by executing code instructions.
[0223] The communication interface 1802 can be used to receive program instructions and transmit them to the processor. Alternatively, the communication interface 1802 can be used for communication between the communication device 1800 and other communication devices, such as exchanging control signaling and / or service data. Exemplarily, the communication interface 1802 can be used to receive signals from devices other than the communication device 1800 and transmit them to the processor 1801, or to send signals from the processor 1801 to other communication devices other than the communication device 1800.
[0224] Optionally, the communication interface 1802 may be a code and / or data read and write interface circuit, or the communication interface 1802 may be a signal transmission interface circuit between a communication processor and a transceiver, or a pin of a chip.
[0225] Optionally, the communication device 1800 may further include at least one memory 1803, which may be used to store required program instructions and / or data. It should be noted that the memory 1803 may exist independently of the processor 1801 or may be integrated with the processor 1801. The memory 1803 may be located within or outside the communication device 1800, without limitation.
[0226] Optionally, the communication device 1800 may further include a power supply circuit 1804, which may be used to supply power to the processor 1801. The power supply circuit 1804 may be located in the same chip as the processor 1801, or in another chip other than the chip where the processor 1801 is located.
[0227] Optionally, the communication device 1800 may further include a bus, and various parts of the communication device 1800 may be interconnected via the bus.
[0228] In some embodiments, in terms of hardware implementation, those skilled in the art may conceive that the communication device 1000 shown in FIG. 10 may take the form of the communication device 1800 shown in FIG. 18 .
[0229] As an example, the functions / implementation processes of the processing unit 1601 in FIG16 may be implemented by the processor 1801 in the communication device 1800 shown in FIG18 calling computer-executable instructions stored in the memory 1803. The functions / implementation processes of the communication unit 1602 in FIG16 may be implemented by the communication interface 1802 in the communication device 1800 shown in FIG18.
[0230] It should be noted that the structure shown in FIG18 does not constitute a specific limitation on the terminal device or network device. For example, in other embodiments of the present application, the terminal device or network device may include more or fewer components than shown in the figure, or combine or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0231] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a base station or a terminal. Of course, the processor and the storage medium can also exist in a base station or a terminal as discrete components.
[0232] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0233] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a base station or a terminal. Of course, the processor and the storage medium can also exist in a base station or a terminal as discrete components.
[0234] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. A computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, all or part of the processes or functions of the embodiments of the present application are performed. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media, such as floppy disks, hard disks, or magnetic tapes; optical media, such as digital video disks; or semiconductor media, such as solid-state drives. The computer-readable storage medium may be a volatile or nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.
[0235] In the description of the embodiments of the present application, "and / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. In addition, it should be understood that in the description of the present application, words such as "first" and "second" are only used for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.
[0236] It should be understood that in the present application, "at least one (item)" refers to one or more. "Multiple" refers to two or more. "At least two (items)" refers to two or three and more. "At least one of the following (items)" or similar expressions refers to any combination of these items, including any combination of single items (items) or plural items (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", where a, b, c can be single or multiple. "... when" and "if" both mean that corresponding processing will be carried out under certain objective circumstances, and do not limit the time, nor do they require any judgment action when implementing, nor do they mean that there are other limitations.
[0237] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner to facilitate understanding.
[0238] Furthermore, the terms "include," "comprise," and "have," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements, but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or apparatus.
[0239] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0240] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, optical storage, etc.) that contain computer-usable program code.
[0241] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.
[0242] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0243] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.
Claims
1. A data transmission method, characterized in that: The method is applied to a first device, and the method includes: Acquire first indication information from a core network device, where the first indication information indicates that data packets of the first data stream and data packets of the second data stream need to be synchronously transmitted to the second device; According to the first indication information, a first data packet in the first data stream or a second data packet in the second data stream is transmitted.
2. The method according to claim 1, characterized in that The method further includes: acquiring second indication information from the core network device, the second indication information indicating a threshold of a time interval between transmission of a data packet of the first data flow and a data packet of the second data flow to the second device; Transmitting the first data packet in the first data stream or the second data packet in the second data stream according to the first indication information includes: transmitting the first data packet or the second data packet according to the first indication information and the second indication information.
3. The method according to claim 2, characterized in that The method further comprises: determining a transmission delay of the first data packet according to the threshold and a transmission delay budget of the first data flow; or A transmission delay of the second data packet is determined according to the threshold and a transmission delay budget of the second data flow.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: According to the first indication information and the time when the first data packet and the second data packet arrive at the first device, it is determined that the first data packet and the second data packet need to be synchronously transmitted to the second device.
5. The method according to any one of claims 1 to 4, characterized in that The first indication information includes identification information of a first session, wherein the first session includes the first data flow and the second data flow.
6. The method according to any one of claims 1 to 5, characterized in that The first indication information is included in the configuration information of the first data flow and is identification information of the second data flow.
7. The method according to any one of claims 1 to 5, characterized in that The first indication information is included in the configuration information of the first data stream and the configuration information of the second data stream; or The first indication information is included in a packet header of a data packet of the first data stream and a packet header of a data packet of the second data stream.
8. The method according to any one of claims 1 to 5, characterized in that The first indication information is identification information of a data stream group, and the first data stream and the second data stream belong to the data stream group.
9. The method according to any one of claims 1 to 8, characterized in that Transmitting, according to the first indication information, a first data packet in the first data stream or a second data packet in the second data stream includes: Determining, according to the first indication information, that the data packets of the first data stream and the data packets of the second data stream need to be synchronously transmitted to the second device; The transmission delay of the second data packet is adjusted according to the transmission delay budget of the first data stream, wherein the transmission delay budget of the first data stream is smaller than the transmission delay budget of the second data stream.
10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: Obtain first information about the data stream from the core network device, wherein the first information includes one or more of the following: an interval between the time at which data packets of the first data stream and data packets of the second data stream are generated, a delay jitter when data packets of the first data stream are transmitted between a server and an access network device, or a delay jitter when data packets of the second data stream are transmitted between a server and an access network device.
11. The method according to claim 10, characterized in that Transmitting, according to the first indication information, a first data packet in the first data stream or a second data packet in the second data stream includes: The first data packet or the second data packet is transmitted according to the first indication information and the first information.
12. The method according to any one of claims 1 to 10, characterized in that The method further comprises: Obtain second information about a data stream from a terminal device, wherein the second information includes one or more of the following: an interval between packet generation times of the first data stream and the second data stream, a delay jitter when the packets of the first data stream are transmitted between an access layer and an application layer of the second device, or a delay jitter when the packets of the first data stream are transmitted between an access layer and an application layer of the second device.
13. The method according to claim 12, characterized in that Transmitting, according to the first indication information, a first data packet in the first data stream or a second data packet in the second data stream includes: The first data packet or the second data packet is transmitted according to the first indication information and the second information.
14. The method according to any one of claims 1 to 13, characterized in that The method further comprises: Acquire third indication information, where the third indication information indicates that the first data packet and the second data packet need to be synchronously transmitted to the second device.
15. The method according to claim 14, characterized in that The third indication information is included in the header of the first data packet and is identification information of the second data packet; or the third indication information is included in the header of the first data packet and the header of the second data packet.
16. The method according to any one of claims 14 or 15, characterized in that The obtaining of the third indication information includes: Obtain the third indication information from the core network device; or Receive the third indication information from the terminal device.
17. The method according to any one of claims 1 to 16, characterized in that The method further comprises: First request information is received from the second device, where the first request information is used to request scheduling of associated data of the sent data, wherein the associated data is data that needs to be transmitted synchronously with the sent data.
18. The method according to claim 17, characterized in that The first request information is further used to indicate an identifier of a logical channel to which the associated data belongs, and / or to indicate a data volume of the associated data.
19. A communication device, characterized in that: The method comprises means for executing the steps of the method according to any one of claims 1 to 18.
20. A communication device, characterized in that: The device comprises a processor, wherein the processor is coupled to a memory, wherein the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the device executes the method according to any one of claims 1 to 18.
21. A communication device, characterized in that: The method comprises a processor and an interface, wherein the interface is used to send and / or receive signals, so that the processor executes the method according to any one of claims 1 to 18.
22. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed, the computer is caused to perform the method according to any one of claims 1 to 18.
23. A computer program product, characterized in that Comprising computer program instructions, the computer program instructions causing the computer to execute the method according to any one of claims 1-18.
Citation Information
Patent Citations
Communication method and device
CN113596929A
Transmission method and device
CN114916005A
Data transmission method and communication device
CN116155875A
Methods, architectures, apparatuses and systems for multi-flow synchronization
WO2023081152A1