Data transmission method and communication device
By obtaining the instructions of the core network equipment, the first device adjusts the packet transmission delay, solving the problem of different data flow synchronization requirements in XR services, and achieving a high-quality service experience.
Patent Information
- Application Number
- CN202311288841.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-07
- Publication Date
- 2025-04-08
AI Technical Summary
In Extended Reality (XR) services, there is a need for synchronization between different data streams, but the prior art is difficult to effectively ensure the user's business experience.
By obtaining the indication information from the core network device, the first device can determine that the data packets of the first data stream and the second data stream need to be transmitted synchronously to the second device, and adjust the transmission delay of the data packets based on these indication information and other related information to meet the synchronization requirements.
It realizes synchronous transmission between different data streams, ensuring the service experience, especially in multi-modal services, such as VR movie viewing, ensuring the synchronization of video and audio and improving the immersive experience of users.
Smart Images

Figure CN119789193A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] Extended reality (XR) refers to various environments that combine reality and virtuality, as well as human-machine interactions, generated by computing technology and wearable devices. Specifically, it includes the following typical forms: augmented reality (AR), mixed reality (MR), and virtual reality (VR). XR services have synchronization requirements between different data streams. Synchronization requirements usually appear in multimodal services. For example, when watching a VR movie, there are 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. VR users need to hear the corresponding sound while watching the picture to get 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 to be solved. Summary of the invention
[0003] The present application provides a data transmission method and a communication device, which can ensure the synchronization requirements between different data streams and guarantee the service experience.
[0004] 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, a chip, or a chip system, etc.), or it can be implemented by a logic module or software that can implement 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 a data packet of a first data stream and a data packet of a second data stream need to be synchronously transmitted to a second device; according to the first indication information, transmitting a first data packet in the first data stream or a second data packet in the second data stream.
[0005] Based on the above method, the first device can learn, 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 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.
[0006] 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 a 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 learn the specific requirements for 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.
[0007] In a possible implementation, the method further includes: determining the transmission delay of the first data packet according to the threshold and the transmission delay budget of the first data stream; or determining the transmission delay of the second data packet according to 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 according to the threshold and the transmission delay budget of the data stream, thereby ensuring that the transmission delay of the data packet can meet the requirements of the threshold and guarantee the service experience.
[0008] In a possible implementation, based on 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. In this implementation, the first device can further determine that the two data packets in the first data stream and the second data stream need to be synchronously transmitted to the second device based on the time when the first data packet and the second data packet arrive at the first device.
[0009] In a possible implementation manner, 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.
[0010] In a possible implementation manner, the first indication information is included in configuration information of the first data flow and is identification information of the second data flow.
[0011] In a possible implementation, the first indication information is included in configuration information of the first data stream and 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.
[0012] 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.
[0013] In a possible implementation, 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: according to the first indication information, determining that the data packet of the first data stream and the data packet of the second data stream need to be synchronously transmitted 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 as the value of the transmission delay budget of the first data stream, or determining it as a value within a certain range of the difference with the transmission delay budget of the first data stream, so as to try to ensure the synchronous transmission of the data packet of the first data stream and the data packet of the second data stream.
[0014] In a possible implementation, the method also includes: obtaining first information about the data flow 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 flow and the data packets of the second data flow, the delay jitter of the data packets of the first data flow when transmitted between the server and the access network device, or the delay jitter of the data packets of the second data flow when transmitted between the server and the access network device.
[0015] 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.
[0016] In a possible implementation, the method also includes: obtaining 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, delay jitter of transmission of packets of the first data stream between an access layer and an application layer of the second device, or delay jitter of transmission of packets of the first data stream between an access layer and an application layer of the second 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 second information.
[0018] 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.
[0019] In a possible implementation manner, 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.
[0020] 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.
[0021] 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.
[0022] According to the above implementation, the first device can further 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, thereby more accurately and effectively ensuring the synchronous transmission of the two data packets at the granularity of the data packets.
[0023] In one possible implementation, the method also includes: receiving a first request message from the second device, the first request message being 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).
[0024] 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.
[0025] 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.
[0026] 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, a chip, or a 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 synchronously transmitted to a core network device; sending a 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 synchronously transmitted to the core network device.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] In a fourth aspect, a communication device is provided, comprising a processor, the processor being 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.
[0034] In a possible implementation manner, the device further includes a memory coupled to the processor.
[0035] In a possible implementation, there are one or more processors and / or one or more memories.
[0036] In a possible implementation, the memory may be integrated with the processor, or the memory may be separately provided with the processor.
[0037] In a possible implementation manner, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0038] In one implementation, the device is a first communication device. Exemplarily, the communication interface may be a transceiver, or an input / output interface.
[0039] In another implementation, the device is a chip in the first communication device. Exemplarily, the communication interface may be an input / output interface.
[0040] In a fifth aspect, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is used to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in any one of the above aspects or any possible implementation of any one of the aspects, or implements the method in the second aspect or any possible implementation of the second aspect.
[0041] In the specific implementation process, the processor can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, a gate circuit, a trigger, and various logic circuits. The signal input by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be transmitted by, for example, but not limited to, a transmitter, and the input circuit and the output circuit can be the same circuit, which is used 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.
[0042] 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.
[0043] In the seventh aspect, a computer program product is provided, which includes: a computer program (also referred to as code, or instruction), 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.
[0044] In an eighth aspect, a computer-readable storage medium is provided, which stores a computer program (also referred to as code, or instruction). 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.
[0045] 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
[0046] Figure 1 is a schematic block diagram of a communication system applicable to the present application;
[0047] Figure 2 It is a schematic diagram of a data packet transmission provided in an embodiment of the present application;
[0048] Figure 3 This is a QoS-based architecture diagram provided in an embodiment of the present application;
[0049] Figure 4 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0050] Figure 5 It is a flowchart of a data transmission method provided by an embodiment of the present application;
[0051] Figure 6 is a flowchart of another data transmission method provided in an embodiment of the present application;
[0052] Figure 7 It is a flowchart of another data transmission method provided in an embodiment of the present application;
[0053] Figure 8 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0054] Fig. 9 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0055] Fig.10 is a schematic diagram of audio data and tactile data transmission provided by an embodiment of the present application;
[0056] Fig.11 It is a flowchart of another data transmission method provided in an embodiment of the present application;
[0057] Fig.12 This is a schematic diagram of a data packet association provided in an embodiment of the present application.
[0058] Fig.13 It is a schematic diagram of data packet association provided by an embodiment of the present application;
[0059] Fig.14 It is a flowchart of another data transmission method provided in an embodiment of the present application;
[0060] Fig.15 It is a flowchart of another data transmission method provided in an embodiment of the present application;
[0061] Fig.16 is a schematic block diagram of a communication device provided in an embodiment of the present application;
[0062] Fig.17 is a schematic structural diagram of another communication device provided in an embodiment of the present application;
[0063] Fig.18 It is a schematic structural diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0065] The technical solutions of the embodiments of the present application can be applied to various communication systems, for example: 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 system (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), etc. 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 Internet of Vehicles.
[0066] Figure 1 It is a schematic diagram of a communication system provided in an embodiment of the present application.
[0067] like Figure 1 As shown, the communication system using the solution of the 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 the access network device and the core network, and can also be used for information exchange between access network devices. For example, Figure 1 As shown, both access network device #1 and access network device #2 can communicate with the core network through the NG interface. Access network device #1 and access network device #2 can communicate directly through the Xn interface, or access network device #1 and access network device #2 can communicate indirectly through the core network from the NG interface.
[0068] Terminal equipment, also known as user equipment (UE), mobile station (MS), mobile terminal (MT), etc., refers to equipment that provides voice and / or data connectivity to users. For example, the terminal equipment 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.
[0069] Access network equipment refers to the radio access network (RAN) node (or device) that connects the terminal to the wireless network, which can also be called a base station. For example, it can be an NR gNB or various types of base stations such as LTE eNB. For the sake of ease of description, the embodiments of the present application uniformly refer to "access network equipment" as "base station". Among them, NR gNB can adopt an architecture with a separation of centralized unit (CU) and distributed unit (DU), such as Figure 1 In the base station #1 shown, the CU and DU are connected via the F1 interface for message transmission; or the architecture of the CU and DU separation may not be adopted, such as Figure 1The base station #2 shown is not limited in the embodiments of the present application. In the separate deployment scenario where the access network equipment includes CU and DU, CU supports protocols such as radio resource control (RRC), packet data convergence protocol (PDCP), and service data adaptation protocol (SDAP); DU mainly supports radio link control layer (RLC), media access control layer (MAC) and physical layer protocols. Normally, a terminal device only maintains a data connection with one base station at the same time; in a dual connectivity (DC) scenario, a terminal device can be connected to two base stations at the same time, one of which serves as a control anchor point and provides control plane connection and user plane connection for the terminal, which is called a primary base station, and the other base station only provides a user plane connection for the terminal, which is called a secondary base station. The present invention can be applied to DC scenarios or not.
[0070] Core network equipment refers to 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.
[0071] In order to facilitate understanding of the embodiments of the present application, first, a brief introduction is given to the concepts and technologies involved in the embodiments of the application.
[0072] 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, including the following typical forms: VR, AR and MR. XR is one of the 5G multimedia applications that is currently being considered in 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, it can have the following service characteristics:
[0073] (1) Frame rate: The frame rate can be 60 frames per second (fps), that is, 60 video frames are generated per second, and one video frame appears approximately every 16.67ms. One video frame may be transmitted by multiple data packets, and these multiple data packets may be divided into one or more protocol data unit (PDU) sets. The frame rate can also be 120fps, that is, 120 video frames per second, and one video frame appears approximately every 8.33ms. This application does not impose any restrictions on this.
[0074] (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 XR data at the air interface of each cycle may fluctuate. That is, the data arrival time may be earlier or later than the expected cycle time, usually fluctuating within a few milliseconds.
[0075] (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 stream rate; taking F = 60fps and R = 20Mbps as an example, mean = 41.67KBytes; the size of a data frame is usually between 0.5*mean and 1.5*mean.
[0076] (4) Latency requirements: XR services usually have higher latency requirements. Taking the uplink AR service as an example, its typical packet delay budget (PDB) is 30ms, that is, the transmission delay from the time the data packet arrives at the UE access layer to the time the data packet arrives at the N6 interface of the UPF is capped at 30ms. If the data packet is not successfully transmitted within the PDB required time, it is considered that the data packet has timed out and has lost its function.
[0077] Alternatively, the packet set delay budget (PSDB) may also be considered in XR services. Its meaning is similar to that of PDB, and it defines the upper limit of the transmission delay of a group of data packets (a PDU set). For the uplink, it refers to the upper limit of the time 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 to the UE. The network should try to complete data scheduling and transmission within the delay budget to avoid data timeouts that affect the service experience.
[0078] (4) 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 a VR movie, 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 Figure 2 In the case shown in , 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 asynchrony between audio and video, which will seriously reduce the user experience.
[0079] At present, 3GPP has conducted a preliminary analysis on the synchronization requirements between different data streams of multimodal services. Combined with the sensitivity of the human body to visual, auditory, tactile and other signals, it has given the synchronization time threshold requirements between different types of data, for example:
[0080] - 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.
[0081] - For synchronization between vision and tactile, if the video data arrives first, the corresponding tactile data should arrive within 30ms; if the tactile data arrives first, the corresponding video data should arrive within 20ms;
[0082] -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.
[0083] It can be seen from this that there will be certain synchronization time requirements between different types of related data streams.
[0084] 2. XR service data packet: refers to the data packet belonging to the XR service. 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 form one or more PDU sets. Usually the network will have certain requirements for the transmission delay of each PDU set. For example, the transmission delay requirement for PDUset is the above-mentioned PSDB. PSDB is only an example and this application does not limit it.
[0085] It can be understood that a PDU set can correspond to one or more data packets. A PDU set contains 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 may 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).
[0086] For example, a PDU set may be composed of one or more PDUs, which are used to carry the payload of an information unit generated at the application level, such as a frame or video slice of 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.
[0087] 3. Quality of Service (QoS)
[0088] Quality of service refers to a technology used to solve problems such as network delay and congestion. When the network is congested, data may be discarded. In order to meet users' requirements for different QoS for different applications, the network needs to be able to allocate and schedule resources according to user requirements and provide different QoS for different data.
[0089] 4.QoS flow
[0090] The 5G system forwards and processes data based on the granularity of QoS flows and guarantees its QoS.
[0091] 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 Schematic diagram of a 5G system based on QoS architecture provided by an embodiment of the present application. Figure 3 As shown, a PDU session is established between the UE and UPF, a wireless bearer is established between the UE and NB, a core network tunnel is established between the NB and UPF, and the PDU session includes multiple QoS flows, including a first QoS flow, a second QoS flow, and the like.
[0092] For downlink, 5GC maps packets with the same characteristics to the same QoS flow by identifying the characteristics of the packet, including the source Internet Protocol (IP) address, destination IP address, source port number, destination port number, and transport layer protocol number of the packet, and carries a QoS flow ID (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 packet characteristics and QoS flow to the UE, and the UE will map the uplink data to be transmitted to different QoS flows.
[0093] The data of different QoS flows are independent of each other when transmitted in the 5G system. For each QoS flow, 5GC will send its QoS profile to the radio access network (RAN) to indicate its QoS requirements, such as packet delay budget (PDB), packet error rate (PER), etc., which indicates the expected service quality of the data of this QoS flow when it is transmitted in the 5G system. PDB represents the upper limit of the transmission delay of data packets between the core network and the UE. Data packets that are not correctly transmitted in the PDB are considered to be timed out. PER represents the upper limit of the packet error rate during the transmission of the QoS flow, that is, the proportion of data packets processed by the sender but not correctly received by the receiver. Specifically, the core network and the UE can be understood as starting from the UPF of the core network to the UE for downlink behavior; and starting from the UE to the UPF of the core network for uplink behavior.
[0094] For a PDU session, RAN will establish one or more data radio bearers (DRBs) for it and map each QoS flow to these DRBs for air interface transmission. Multiple QoS flows can be mapped to one DRB, but one QoS flow cannot be mapped to multiple DRBs. Usually, QoS flows with the same or similar QoS requirements will be mapped to the same DRB, thereby providing the same QoS guarantee on the air interface.
[0095] Currently, data transmission and QoS guarantee are performed at the granularity of QoS flow. Taking latency as an example, RAN tries its best to ensure that the transmission latency of data in QoS flow does not exceed the size of its PDB or PSDB according to QoS requirements. However, this latency guarantee only considers the latency upper limit of the QoS flow itself, and does not consider the possible correlation with other QoS flows, such as the synchronization requirements between different data flows of a service.
[0096] Figure 4 This is a specific example. Assume that an XR service has both audio data and tactile data, which are carried in different QoS flows. The PDB requirement for the audio stream is 30ms, and the PDB requirement for the tactile stream is 5ms. The application layer generates a set of tactile data packets and an audio data packet, such as the data packets drawn in the red box in the figure. They are related in content and need to meet the synchronization requirements. When transmitting the above data, the RAN side only provides guarantees according to the PDB, resulting in the worst case audio data arriving at the receiving side after 30ms, while the synchronization requirement for audio and tactile is only 25ms. At this time, the user will feel the lag of the sound, affecting the user's immersive experience. For example, when a user presses a button, he should feel the button squeezing his finger and hear the "click" sound of the button being pressed at the same time. If the sound lags, the user's perception of pressing the button will be unnatural.
[0097] In other words, the current QoS mechanism does not take into account the need for synchronous transmission between data of different QoS flows. In this regard, the present application provides a method for data transmission, so that data of different data flows can meet the delay requirements of synchronization between flows while meeting their own delay requirements, thereby ensuring service experience.
[0098] Figure 5 It is a flow chart of a data transmission method provided in an embodiment of the present application.
[0099] 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.
[0100] The core network device #1 may be used to provide a configuration file of a data flow to the first device, for example, it may be an access and mobility management function network element, such as AMF. The first device may be an access network device, and the second device may be a terminal device, another access network device, a core network device #2, or a data network device. The core network device #2 may be a user plane function network element, such as UPF.
[0101] 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 receiving the first indication information can learn, 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. 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 learns that the first data stream and the second data stream are associated, and can further 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.
[0102] In one example, the first indication information may specifically include identification information of a first session, wherein the first session includes a first data stream and a second data stream; or is included in configuration information of the first data stream and is identification information of the second data stream; or is included in configuration information of the first data stream and configuration information of the second data stream; or is in a header of a data packet of the first data stream and a header of a 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.
[0103] The first indication information may specifically include the identification information of the first session, and it can also be understood that the first indication information itself is the identification information of the first session. The first device receives the identification information of the first session, and it can be known that the multiple data streams in the first session are associated, 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 first session, 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.
[0104] When 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, and 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. 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 to the second device synchronously.
[0105] 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, which indicates 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 the same service, such as an XR service that has both audio data and tactile data.
[0106] 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, which shows 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 the same service, such as an XR service that has both audio data and tactile data.
[0107] 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 can be known that the multiple data streams in the data stream group are associated, that is, they all need to be transmitted to the second device synchronously. Because the first data stream and the second data stream belong to the data stream group, 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 to the second device synchronously.
[0108] In one example, the data flow in the present application is a QoS flow. However, QoS flow is the granularity of data flow division in the 5G system, and the data flow in the present 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 there is a concept of "service stream" above the QoS flow, etc. The data packet in the present application may be a data packet included in the above-mentioned PDU set. The data packet in the present application may also be referred to as a data unit, such as a PDU.
[0109] 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 a data packet of the first data flow and a data packet of the second data flow to the second device.
[0110] It is understandable that the second indication information can be the same 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 to the second device synchronously, 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 being transmitted to the second device. Figure 4 In the example shown, the threshold #1 is the synchronization requirement of 25ms for audio and tactile data. If the interval between the time when the data packet of the first data stream is transmitted to the second device and the time when the data packet of the second data stream is transmitted to the second device is less than or equal to the threshold #1, it can be considered as synchronous transmission; if the interval between the two is greater than the threshold, 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 #1, it can be considered as synchronous transmission; if the interval between the two is greater than or equal to the threshold, it can be considered that the requirement for synchronous transmission is not met.
[0111] Further, the first device may obtain first information of a data stream from a core network device, wherein the first information includes one or more of the following: an interval between the generation time of a data packet of the first data stream and a data packet of the second data stream, a delay jitter (such as jitter) of a data packet of the first data stream being transmitted between a server and an access network device, or a delay jitter of a data packet of the second data stream being transmitted between a server and an access network device. It is understandable that the first information may be further used by the first device to determine how to synchronously transmit a data packet of the first data stream and a data packet of the second data stream.
[0112] Further, the first device may obtain second information of 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 time of the first data stream and the second data stream, the delay jitter (such as 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. It is understandable that the second information may also be further used by the first device to determine how to synchronously transmit the data packet of the first data stream and the data packet of the second data stream.
[0113] That is, the first device may obtain the first information and / or the second information, and when both information are obtained, the first information and / or the second information may be used 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.
[0114] In one example, the first device obtains third indication information, and the third indication information indicates that the first data packet and the second data packet need to be transmitted synchronously to the second device. The first device may obtain the third indication information from the core network device #1, or may obtain the third indication information from the terminal device, the third indication information is included in the header of the first data packet and is the 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.
[0115] It is understandable that, in addition to being able to learn that the first data stream and the second data stream are associated according to the first indication information, that is, the granularity of the association is the data stream, the first device can further learn that the first data packet in the first data stream and the second data packet in the second data stream are associated according to the third indication information, that is, the granularity of the association is the data packet. The third indication information can be provided to the first device by the core network device #1 or the terminal device.
[0116] 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 learn, based on the third indication information, 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, and the first device thereby learns that the first data packet and the second data packet are associated, and can further determine that the first data packet and the second data packet need to be transmitted synchronously to the second device. The present 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.
[0117] The first device can learn, by combining the first indication information and the third indication information, that the first data packet in the first data stream and the second data packet in the second data stream need to be synchronously transmitted to the second device. It is understandable that the third indication information can be the same information as the first indication information, that is, the 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 synchronously transmitted to the second device.
[0118] S102: The first device transmits a first data packet in a first data stream and / or a second data packet in a second data stream according to first indication information.
[0119] 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 within a certain time range, that is, arrive at the second device, and 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.
[0120] In one example, the first device also needs to transmit the first data packet and / or the second data packet according to the second indication information, that is, according to threshold #1. For example, the time interval between the first data packet and the second data packet transmitted 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 synchronously transmitted to the second device.
[0121] Specifically, the first device can determine the transmission delay of the first data packet according to 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 according to 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). Then, the first device can transmit the first data packet and / or the second data packet to the second device according to the determined transmission delay transmission. Figure 4 Taking the example shown as an example, the RAN side can ensure the delay of the audio data according to 25ms based on the synchronization requirement that 25ms is less than 30ms of the PDB of the audio stream, and ensure that the audio data is transmitted to the receiving side within 25ms after the tactile data transmission is completed.
[0122] 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 the 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 the uplink, it may include the transmission delay from the terminal device to the first device and from the first device to the second device.
[0123] Alternatively, when the transmission delay budget of the first data stream is less than the transmission delay budget of 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 to the second device synchronously, and then adjust the transmission delay of the second data packet based on the transmission delay budget of the first data stream. Afterwards, the second data packet is transmitted to the second device at the transmission delay of the second data packet. Figure 4 Taking the example shown as an example, the RAN side can know that the audio data and the tactile data are related and have synchronization requirements, so the audio data is also delayed according to the 5ms PDB of the tactile data. This method can also ensure that the audio data and the tactile data are transmitted synchronously to the receiving side.
[0124] In one example, the first device obtains first information about a data stream from a core network device, and the first device may further transmit the first data packet or the 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. Figure 4 In the example, 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 packet of the first data stream transmitted between the server and the access network device, and / or the delay jitter of the data packet 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. Figure 4 In the example, if there is no jitter in the tactile data and there is jitter in the range of [-3,3]ms in the audio data, the audio data will arrive at the base station at most 3ms later than the tactile data. The base station should provide a delay guarantee for the audio data according to a delay of 25-3=22ms. For details on how the first device further transmits the first data packet or the second data packet based on the first information, please refer to Figure 7 Description in .
[0125] 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. For details on how the first device further transmits the first data packet or the second data packet based on the second information, please refer to Figure 7 Description in .
[0126] The first device may also transmit the first data packet or the second data packet according to the first information and the second information. For example, the first device determines the transmission delay of the first data packet or the second data packet according to one or more of the 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 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, and 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 according to 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 packets of the first data stream transmitted between the server and the access network device, or the delay jitter of the data packets 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 packets of the first data stream and the data packets of the second data stream are generated on the terminal side, 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 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. For details on 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 Figure 7 Description in .
[0127] 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, based on the first request message, that the sent data has associated 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 an associated data stream of a sent data stream; or the granularity of the data requested to be scheduled may be a data packet, i.e., requesting scheduling of an associated data stream and an associated data packet of a sent data packet of a sent data stream, which is not limited in the present application.
[0128] The first request information may also be used to indicate the identifier of the 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 according to the logical channel to which the associated data belongs and / or the data volume, and provide the second device with resources for sending the associated data.
[0129] according to Figure 5 According to the method shown, the first device can learn, 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, 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.
[0130] Figure 6 A flow chart of another data transmission method provided by the present application. The base station in the method can be understood as Figure 5 An example of a first device in the method shown; the QoS flow (hereinafter referred to as flow) in the method can be understood as Figure 5 An example of the data flow in the method shown. It can be understood that Figure 5 The method shown is Figure 6 The similarities among the methods shown can be used as reference for each other.
[0131] exist Figure 6 In the method shown, the core network provides the base station with the association relationship between different flows in addition to providing the QoS profile of each QoS flow, and the associated QoS flows have the requirement of synchronous transmission. Therefore, when the base station performs air interface scheduling, it can take into account the synchronization requirement of the associated QoS flows to ensure that the delay difference of the associated data in the air interface transmission is within a certain range.
[0132] 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.
[0133] Specifically, the core network can provide the base station with association information between different flows in an explicit or implicit manner (which can be understood as Figure 5 The core network may provide the base station with the associated information of the QoS flow in one or more of the following ways:
[0134] Method 1: Implicitly represent the association between QoS flows through PDU session.
[0135] PDU session is used to provide data exchange service between UE and DN. The QoS flow in a PDU session usually corresponds to the same application server. Therefore, it can be considered that the QoS flow in the same PDU session serves the same service and has an associated relationship. Optionally, the core network can send an indication message to the base station when establishing a PDU session, indicating that the QoS flows in the PDU session are interrelated (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.
[0136] Method 2: Indicates the QoS flows associated with a QoS flow.
[0137] 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.
[0138] Method 3: The core network marks the QoS flows with synchronization requirements with the same “synchronization flag”.
[0139] The "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 a 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 also 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 knows that they have synchronization requirements.
[0140] Method 4: The core network divides the QoS flows with synchronization requirements into the same "synchronization group" and provides the group division information to the base station.
[0141] Specifically, the core network may provide the base station with "synchronization group profile" information, which includes at least a group identifier and a QFI of a QoS flow within the group, so that the base station may learn that the QoS flow within the group has a synchronization requirement.
[0142] S202: According to the association relationship between QoS flows, the base station provides delay guarantee for the associated data.
[0143] For example, the base station can provide delay guarantee for related data during the scheduling process, so that data of different QoS flows do not generate additional delay differences when transmitted over the air interface, thus avoiding exceeding the synchronization threshold. Figure 4 In the example given in , the base station knows that the audio data and the tactile data are related and have synchronization requirements. Then the base station can also provide delay guarantee for the audio data according to the PDB requirement (5ms) of the tactile data. In this way, the time spent on the transmission of the related tactile and audio data on the air interface is relatively close, avoiding the delay introduced by the air interface causing the delay difference between the two to exceed the synchronization threshold.
[0144] It is understandable that QoS flow is the granularity of data flow division in the 5G system, and the so-called flow association relationship can also be extended to data flows divided in other ways, such as further dividing the concept of "sub-QoS flow" under QoS flow, or the concept of "service stream" above QoS flow. For different data flow division granularities, the QFI in the above scheme can be replaced with the corresponding "flow identifier", and the QoS profile can also be replaced with the corresponding "flow profile". This also applies to the method in the following figure, and will not be repeated later.
[0145] In this method, the core network provides the base station with the synchronization association relationship between QoS flows, so that the base station can understand the synchronization requirements between different data flows. Therefore, when transmitting over the air interface, the base station can take into account the synchronization between flows and perform reasonable delay guarantees to avoid data loss of synchronization due to excessive air interface delay differences.
[0146] Figure 7 A flow chart of another data transmission method provided by the present application is shown below. The base station in the method can be understood as Figure 5 An example of a first device in the method shown; the QoS flow in the method can be understood as Figure 5 An example of the data flow in the method shown. It can be understood that Figure 5 The method shown is Figure 7 The similarities among the methods shown can be used as reference for each other.
[0147] exist Figure 7 In the method shown, 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.
[0148] 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.
[0149] S302: The base station provides delay guarantee for the associated data according to the synchronization requirement information.
[0150] For example, the core network can provide synchronization threshold requirements between QoS flows (which can be understood as Figure 5 Specifically, the core network can provide a synchronization threshold for each two associated QoS flows, which can also be divided into two situations: "flow #1 arrives before flow #2" and "flow #2 arrives before flow #1". After the base station learns the synchronization threshold, it can make more reasonable adjustments to the delay of the associated flow. Figure 8 As shown, for Figure 4 In the example in FIG. 1 , if the base station knows that the audio and tactile data are related and the synchronization threshold is 25 ms, it only needs to ensure the audio data has a delay of 25 ms to ensure that the synchronization threshold of the audio and tactile data is not exceeded.
[0151] Optionally, the core network can also provide the data generation time of the 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 (that is, the time when the application starts to generate 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 the transport layer should try to prevent the delay difference from continuing to expand beyond the synchronization threshold. For another example, the core network can provide the maximum time interval that may occur when the application layer generates associated data for each two associated QoS flows, such as the associated data in flow #1 and flow #2 are generated at the application layer at a maximum interval of ΔT. When the corresponding data in the associated data streams are not aligned in generation time, the above information can further help the base station determine the available delay for air interface transmission. Fig. 9 As shown, for Figure 4 In the example, 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.
[0152] Optionally, the core network can also provide the delay jitter that may be generated when the data of the QoS flow is transmitted between the application server and the base station, including one or more of the jitter that may be generated when forwarding within the DN, transmitting on the N6 interface between the UPF and the DN, forwarding within the core network, and transmitting on the N3 interface between the UPF and the base station. For example, the core network can provide a jitter range for the QoS flow, indicating the delay jitter that may occur when the data of the QoS flow is transmitted from the server to the base station. For example, according to expectations, the application server should send data at time T1, and after forwarding, it arrives at the base station at time T2 (for example, T2 = T1 + 10ms), but due to coding and transmission jitter, the actual data may arrive at the base station within the range of T2-5ms to T2+5ms, then the jitter range can be expressed as [-5,5]ms. The use of jitter information is similar to the time interval for data generation, and can reflect the delay differences that may occur when data of different flows are forwarded between the server and the base station. For example Fig.10 As shown, for Figure 4 In the example, if there is no jitter in the tactile data and there is jitter in the range of [-3,3] ms in the audio data, 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.
[0153] Optionally, the core network may obtain the above information from the application layer, or the core network may infer the above information by observing the data. Optionally, the above information may be transmitted to the base station via the QoS profile or "synchronization group profile" mentioned above.
[0154] 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 QoSflow#2.
[0155] The above information can also be used in combination. After the base station obtains the above information, it can more clearly know the synchronization requirements and data transmission conditions between different QoS flows, so as to more accurately estimate what kind of delay the air interface needs to ensure to meet the synchronization requirements, so that the base station can make more accurate and effective scheduling. The following is a specific example to illustrate.
[0156] Assume that a user is watching a movie. The picture information of the movie is transmitted through QoS flow#1, and the sound information is transmitted through QoS flow#2. In order to satisfy the user's viewing experience, the time difference between the corresponding picture information and sound 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 delay requirements, where 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:
[0157] QoS flow association relationship: The core network indicates that QoS flow #1 and QoS flow #2 are associated and have synchronization requirements;
[0158] 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);
[0159] Generation time interval: The core network indicates that the time interval for the associated data in QoS flow#2 and QoS flow#1 (such as the picture data and sound data of the same frame of a movie) to be generated in the application server is [0,2]ms, which means that the audio data is generated together with the related picture data at the earliest and 2ms after the picture data is generated at the latest;
[0160] Jitter: The core network indicates that the jitter range of QoS flow#1 transmitted between the server and the base station is [-2,2]ms, which means that the data of QoS flow#1 arrives at the base station 2ms earlier than the expected time at the earliest and arrives at the UPF 2ms later than the expected time at the latest; the core network indicates that the jitter range of QoS flow#2 transmitted between the server and the base station is [-2,2]ms;
[0161] In addition, the UE also provides the base station with the following information:
[0162] Jitter: The UE reports to the base station that the jitter range of QoS flow#1 on the UE side is [-1,1]ms, which 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.
[0163] The base station can infer that, in the worst case, the audio data in QoS flow#2 arrives at the base station 6ms later than the corresponding picture data in QoS flow#1 (assuming that the picture data is transmitted unimpeded and arrives at the base station 2ms earlier than expected, the audio data is first generated 2ms later, and then arrives at the base station 2ms later than expected due to jitter), and in the worst case, the audio data and picture data will have an additional 2ms delay difference on the UE side (assuming that the picture data arrives at the application layer 1ms earlier than expected, and the audio data is 1ms later). Therefore, in order 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 ensure that the delay does not exceed 20-6-2=12ms when transmitting QoS flow#2 data. At the same time, the PDB requirement (30ms) of QoS flow#2 itself must also be guaranteed. Finally, the base station should provide transmission services for QoS flow#2 according to the 12ms delay guarantee to ensure the delay and synchronization requirements.
[0164] A similar analysis can be made for QoS flow#1. The data of flow#1 arrives at the base station at least 4ms later than the corresponding data of flow#2, and an additional 2ms delay difference can be generated on the UE side at most. Therefore, to ensure synchronization requirements, the base station should ensure that the delay of QoS flow#1 on the air interface does not exceed 20-2-4=14ms. Since the PDB of QoS flow#1 itself is only 10ms, the base station guarantees the delay of QoS flow#1 according to 10ms.
[0165] The above example takes downlink data transmission as an example, and the uplink direction is similar.
[0166] Optionally, the above information may not be transmitted 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 transmits the final calculation result as a delay parameter to the base station. For example, replace the PDB or PSDB parameter in the QoS profile, or introduce a new parameter, and transmit 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.
[0167] In this method, the core network and the UE provide the base station with relevant information about the QoS flow with synchronization requirements, including synchronization threshold, data generation time interval, data transmission jitter, etc. The base station combines the above information to more accurately determine the delay that the air interface can tolerate, thereby ensuring that the synchronization requirements are met.
[0168] Fig.11 A flow chart of another data transmission method provided by the present application is shown below. The base station in the method can be understood as Figure 5 An example of a first device in the method shown; the QoS flow in the method can be understood as Figure 5 An example of the data flow in the method shown. It can be understood that Figure 5 The method shown is Fig.11 The similarities among the methods shown can be used as reference for each other.
[0169] exist Figure 7 In the method shown, in order to enable the base station to perform delay guarantee more accurately, for downlink data, the core network can further provide association relationships between different data packets.
[0170] 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.
[0171] S402: The base station provides delay guarantee for associated data packets according to the association relationship between different data packets.
[0172] Specifically, the core network can provide the base station with association information between different data packets in an explicit or implicit manner (which can be understood as Figure 5 The core network may provide the base station with the associated information of the data packet in one or more of the following ways:
[0173] Method 1: Carry the sequence number of the associated data packet in the packet header of the data packet.
[0174] For example, when the core network forwards the data of QoS flow#1 to the base station, an associated sequence number (denoted as x) is carried in the general packet radio service (GPRS) user plane tunneling protocol (GPRS Tunnelling Protocol for the user plane, GTP-U) header of the data packet. The 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.
[0175] Optionally, the packet header may also carry a "length L" information, indicating that the packet is associated with L consecutive packets starting from sequence number x. Here, "L consecutive packets" can be L consecutive packets in QoS flow #2 or L consecutive packets on the GTP-U tunnel. The base station can Figure 6 The solution learns that QoS flow#1 and QoS flow#2 are associated, so the base station knows that the associated sequence number carried in the data packet header of QoS flow#1 points to the data packet in QoS flow#2. Fig.12 It is assumed that the core network has already provided the association relationship between QoS flow #1 and QoS flow #2 in advance. The core network adds information to the data packet headers of QoS flow #1 and #2 to point to the associated data packets. The association sequence number 2 is carried in data packets #3, #4, and #5, indicating that they are associated with data packet #2; the association sequence number 3 is carried in data packet #2 and the indicated length is 3, indicating that the three consecutive data packets starting from data packet #3 (i.e., #3, #4, and #5) are related.
[0176] Method 2: Carry the "synchronization sequence number" in the packet header.
[0177] Data packets with the same synchronization sequence number are considered to be associated. For example, when the core network forwards QoS flow#1 and #2 data packets to the base station, the core network carries the same synchronization sequence number in the GTP-U header for the associated data packets. The base station can Figure 6 The solution learns that QoS flow#1 and QoS flow#2 are associated, so the base station knows that the data packets with the same synchronization sequence number in QoS flow#1 and #2 are associated. Fig.13It is assumed that the core network has already provided the association between QoS flow#1 and QoS flow#2. The core network adds synchronization sequence numbers to the packet headers of QoS flow#1 and #2 respectively, and carries synchronization sequence number 1 in packets #2, #3, #4, and #5, indicating that #2, #3, #4, and #5 are associated with each other.
[0178] 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.
[0179] 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, in the example in Figure 7, the base station should provide a delay guarantee of 12ms for the data of QoS flow#2 according to 20-6-2=12ms. Fig.11 In this scheme, 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 learns from the packet header information that data packet #2 is associated with data packet #1, the base station only needs to ensure that the time difference between sending data packets #1 and #2 does not exceed 20ms (18ms considering the jitter on the UE side), without tightening the PDB of QoS flow #2 itself, thereby alleviating the scheduling pressure of the base station.
[0180] Fig.14 A flow chart of another data transmission method provided by the present application is shown below. The base station in the method can be understood as Figure 5 An example of a first device in the method shown; the UE in the method can be understood as Figure 5 An example of a terminal device in the method shown; the QoS flow in the method can be understood as Figure 5 An example of the data flow in the method shown. It can be understood that Figure 5 The method shown is Fig.14 The similarities among the methods shown can be used as reference for each other.
[0181] exist Fig.14 In the method shown, for uplink data, the UE may provide the base station with associations between different data packets.
[0182] 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.
[0183] S502: The base station provides delay guarantee for associated data packets according to the association relationship between different data packets.
[0184] Specifically, the UE may provide the base station with association information between different data packets in an explicit or implicit manner (which can be understood as Figure 5 The UE may provide the associated information of the data packet to the base station in one or more of the following ways:
[0185] The UE may carry an "association sequence number" or a "synchronization sequence number" in the header of the data packet.
[0186] 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" refers to the associated data packet in the associated QoS flow, which can be the PDUset sequence number, PDCP sequence number, 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 that carry the same synchronization sequence number are associated. The formats of the association sequence number and the synchronization sequence number are the same Fig.11 The base station can be Figure 6 The scheme obtains the information of the associated QoS flow.
[0187] After receiving the uplink data packet, the base station can adjust the time of submitting the data packet to the core network according to the association between the data packets, so that the time when the associated data packets enter the core network is as close as possible, and the time when they finally arrive at the application server is also as close as possible, avoiding exceeding the synchronization threshold. For example, it is known that QoS flow #1 and QoS flow #2 are associated and have synchronization requirements. After the base station receives data packet #1 belonging to QoS flow #1, it knows from the packet header information that data packet #1 is associated with data packet #2 in QoS flow #2. Then the base station can temporarily not submit data packet #1 to the core network, but wait until data packet #2 also arrives at the base station, and then submit data packets #1 and #2, thereby reducing the time difference between data packets #1 and #2, so that they can reach the application server as much as possible within the synchronization threshold.
[0188] 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 still has 5ms. If the base station receives the associated data packet #2 within 5ms, it submits data packets #1 and #2 upward; if data packet #2 is not received within 5ms, data packet #1 is directly submitted.
[0189] 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.
[0190] 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, and by flexibly adjusting the timing of submitting data packets to the core network, ensure that the associated data packets are synchronized at the core network entrance, thereby ensuring that the time of final arrival at the application server meets the synchronization requirements.
[0191] Fig.15 This is a flowchart of another data transmission method provided by the present application. It can be understood that, Figure 5 The method shown is Fig.14 The similarities among the methods shown can be used as reference for each other.
[0192] exist Fig.15 In the method shown, the base station ensures synchronization of associated data when performing uplink scheduling, and the UE can report the associated data information in the cache to help the base station achieve this goal.
[0193] S601: UE requests a base station to schedule associated data of sent data.
[0194] S602: The base station schedules associated data to the UE according to the request of the UE.
[0195] In one example, after the UE sends data, if there is data associated with the sent data in the cache, it sends an indication message to the base station, indicating that the associated data has not been scheduled (which can be understood as a request to schedule the associated data). After receiving the message, the base station should schedule the remaining associated data as soon as possible to avoid exceeding the synchronization threshold.
[0196] Optionally, the indication message may also indicate the ID of the logical channel (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.
[0197] Furthermore, after the UE sends data, if there is data associated with the sent data in the cache, it can start a "synchronization timer" first, 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 length of the timer according to the obtained synchronization threshold information, and the timer length is less than or equal to the synchronization threshold.
[0198] Optionally, the indication message may be a scheduling request (scheduling request, SR) or a buffer status report (buffer status report, BSR), and may be a physical uplink control channel (physical uplink control channel, PUCCH) signal or a MAC control element (control element, CE).
[0199] 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.
[0200] 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 or LCGs or LCHs. These several DRBs or LCGs or LCHs may be predefined or pre-configured by the base station.
[0201] In this method, by reporting to the base station whether there is information about associated data in the cache, the base station can promptly understand whether there is data in the UE cache that has synchronization requirements with the scheduled data during scheduling, and 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.
[0202] It is understandable that, in order to implement the functions in the above-mentioned embodiments, each device includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize 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.
[0203] 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, the access network device or the core network device in the above method embodiments, and thus can also achieve the beneficial effects possessed by the above method embodiments.
[0204] like Fig.16 As shown, the communication device 1600 includes a processing unit 1601 and a communication unit 1602. The communication device 1600 is used to implement the above Figure 5 the function of the first device or the second device, or Figures 6 to 15The functions of the base station, terminal device or core network device in any method embodiment.
[0205] When the communication device 1600 is used to implement Figure 5 The function of the first device in the method embodiment shown is: processing unit 1601, used to obtain first indication information from 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 communication unit 1602 according to the first indication information.
[0206] When the communication device 1600 is used to implement Figure 5 The functions of the terminal device in the method embodiment shown are: a processing unit 1601, used to determine 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; a communication unit 1602, sending a 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.
[0207] For a more detailed description of the processing unit 1601 and the communication unit 1602, please refer to Figures 5 to 15 The relevant description of any method embodiment in will not be repeated here.
[0208] It should be understood that the division of the units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And the units in the device can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some units can also be implemented in the form of software calling 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 in a certain chip of the device. In addition, it can also be stored in the memory in the form of a program, and called and executed by a certain processing element of the device. 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 an integrated logic circuit of hardware in the processor element or in the form of software calling through a processing element.
[0209] 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 (ASIC), or one or more digital singnal processors (DSP), or one or more field programmable gate arrays (FPGA), 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 processors that can call programs. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0210] The above unit for receiving is an interface circuit of the device, which is used to receive signals from other devices. For example, when the device is implemented in the form of a chip, the receiving unit is an interface circuit of the chip used to receive signals from other chips or devices. The above unit for sending is an interface circuit of the device, which is used to send signals to other devices. For example, when the device is implemented in the form of a chip, the sending unit is an interface circuit of the chip used to send signals to other chips or devices.
[0211] As another possible product form, the terminal device, access network device and core network device of the embodiment of the present application can be implemented by a general bus architecture. Fig.17 , Fig.17 1700 is a schematic diagram of the structure of the 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 may be a terminal device, or a chip or chip system therein; or the communication device 1700 may be an access network device, or a chip or module therein; the communication device 1700 may 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 may further include a memory 1703, and an input and output device (not shown in the figure).
[0212] Optionally, the processor 1701 is mainly used to process the communication protocol and communication data, and to control the entire communication device, execute the software program, and process the data of the software program. The memory 1703 is mainly used to store the software program and data. The transceiver 1702 may include a radio frequency circuit and an antenna. The radio frequency circuit is mainly used for converting the baseband signal and the radio frequency signal and processing the radio frequency signal. The antenna is mainly used to send and receive radio frequency signals in the form of electromagnetic waves. The input and output devices, such as a touch screen, a display screen, a keyboard, etc., are mainly used to receive data input by the user and output data to the user.
[0213] Optionally, the processor 1701, the transceiver 1702, and the memory 1703 may be connected via a communication bus.
[0214] When the communication device is turned 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 RF circuit. The RF circuit performs RF processing on the baseband signal and then sends the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF 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.
[0215] In another implementation, the RF circuit and antenna may be arranged independently of the processor performing baseband processing. For example, in a distributed scenario, the RF circuit and antenna may be arranged independently of the communication device in a remote manner.
[0216] In some embodiments, in terms of hardware implementation, those skilled in the art may imagine that the communication device 1600 may be implemented as Fig.17 The form of the communication device 1700 is shown.
[0217] As an example, Fig.16 The function / implementation process of the processing unit 1601 in Fig.17 The processor 1701 in the communication device 1700 shown calls the computer execution instructions stored in the memory 1703 to implement. Fig.16 The function / implementation process of the communication unit 1602 can be achieved by Fig.17 The transceiver 1702 in the communication device 1700 is shown to be implemented.
[0218] As another possible product form, the terminal device, access network device or core network device in this application can adopt Fig.18 The structure shown, or including Fig.18 Parts shown. Fig.18 A schematic diagram of the composition of a communication device 1800 provided in this application.
[0219] like Fig.18 As shown, the communication device 1800 includes at least one processor 1801. Optionally, the communication device also includes a communication interface 1802.
[0220] When the program instructions involved are executed in the at least one processor 1801, the device 1800 can implement the method provided by any of the aforementioned embodiments and any possible designs thereof. Alternatively, the processor 1801 is used to implement the method provided by any of the aforementioned embodiments and any possible designs thereof through a logic circuit or execution code instructions.
[0221] The communication interface 1802 may be used to receive program instructions and transmit them to the processor, or the communication interface 1802 may be used for the communication device 1800 to communicate and interact with other communication devices, such as interactive control signaling and / or business data, etc. Exemplarily, the communication interface 1802 may be used to receive signals from other devices outside the communication device 1800 and transmit them to the processor 1801, or to send signals from the processor 1801 to other communication devices outside the communication device 1800.
[0222] Optionally, the communication interface 1802 may be a code and / or data read / write interface circuit, or the communication interface 1802 may be a signal transmission interface circuit between a communication processor and a transceiver, or may be a pin of a chip.
[0223] 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 involved. 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 inside the communication device 1800, or may be located outside the communication device 1800, without limitation.
[0224] 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.
[0225] Optionally, the communication device 1800 may further include a bus, and various parts of the communication device 1800 may be interconnected via the bus.
[0226] In some embodiments, in terms of hardware implementation, those skilled in the art may think of the above Fig.10 The communication device 1000 shown may be used Fig.18 The form of the communication device 1800 is shown.
[0227] As an example, Fig.16 The function / implementation process of the processing unit 1601 in Fig.18 The processor 1801 in the communication device 1800 shown calls the computer execution instructions stored in the memory 1803 to implement. Fig.16 The function / implementation process of the communication unit 1602 can be achieved by Fig.18 The communication interface 1802 in the communication device 1800 is shown to be implemented.
[0228] It should be pointed out that Fig.18 The structure shown 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 some components, or split some 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.
[0229] 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 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 a component 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 be present in a base station or a terminal as discrete components.
[0230] It is understandable that the processor in the embodiments of the present application may be a central processing unit (CPU), or 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.
[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 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 a component 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 be present in a base station or a terminal as discrete components.
[0232] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When a computer program or instruction is loaded and executed on a computer, the process or function of the embodiment of the present application is executed in whole or in part. The computer can 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 instruction can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program or instruction can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, a hard disk, or a tape; it can also be an optical medium, such as a digital video disc; it can also be a semiconductor medium, such as a solid-state hard disk. The computer-readable storage medium may be a volatile or nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.
[0233] 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: 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 descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.
[0234] 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 than three. "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 refer to corresponding processing under certain objective circumstances, not to limit the time, and do not require judgment actions when implementing, nor do they mean that there are other limitations.
[0235] In the embodiments of the present 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 the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0236] In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products or devices.
[0237] In the various embodiments of the present application, unless otherwise specified or provided for in any logical conflict, the terms and / or descriptions between the different embodiments are consistent and may be referenced to each other, and the technical features in the different embodiments may be combined to form new embodiments according to their inherent logical relationships.
[0238] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may 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 may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, optical storage, etc.) that contain computer-usable program code.
[0239] 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 process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart 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 generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0240] These computer program instructions may also be stored in a computer-readable memory capable of directing 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 an article of manufacture comprising an instruction device, which implements the process Figure 1A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0241] Obviously, those skilled in the art can 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 also 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 Acquiring 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.