Communication method and apparatus, and storage medium and program product
By using time information carried in the protocol header for data caching and adjustment between the terminal and network element, the problem of unstable latency in the transmission layer of real-time video services is solved, and network throughput and latency stability are improved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-01-05
- Publication Date
- 2026-07-30
AI Technical Summary
The lack of effective solutions in existing technologies to improve the latency stability of the transport layer for real-time video services leads to insufficient network throughput.
By using time information carried in the protocol header to cache and adjust data when transmitting data between the terminal and network element, controlling data transmission according to preset thresholds, and promptly reporting failures due to latency upper limits, network adjustments are triggered to improve stability.
It improves the stability of transport layer latency and network throughput, ensuring the stability and efficiency of data transmission.
Smart Images

Figure CN2026070582_30072026_PF_FP_ABST
Abstract
Description
Communication methods, devices, storage media and software products
[0001] This application claims priority to Chinese Patent Application No. 202510127721.7, filed on January 27, 2025, entitled "Communication Method, Apparatus, Storage Medium and Program Product", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to a communication method, apparatus, storage medium and program product. Background Technology
[0003] For some services, such as real-time video services, the need for stable latency jitter is more pressing than simply pursuing low latency. Stable latency is beneficial for improving network throughput.
[0004] Currently, there are no feasible solutions to improve the stability of transport layer latency for services. Summary of the Invention
[0005] This application provides a communication method, apparatus, storage medium, and program product to improve the stability of transport layer latency in services.
[0006] Firstly, a communication method is provided. Exemplarily, this method can be applied to a terminal side. For example, the method can be executed by the terminal itself or by a module (e.g., processor, chip, chip system, circuit, etc.) within the terminal. This module can be a communication module within the terminal, or a circuit or chip within the terminal responsible for communication functions, such as a modem chip (also known as a baseband chip), or a system-on-a-chip (SoC) chip containing a modem core, or a system-in-package (SIP) chip. Taking the application of this method to a terminal as an example, in this method, the terminal receives first information, which is used to indicate a first indicator; receives first data and first time information, where the first time information is used to indicate the time when a first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data; if a first buffer time is greater than or equal to a first threshold, buffers the first data, where the first buffer time is determined based on the first indicator and the first time information; and if the first buffer time is less than or equal to a second threshold, transmits the first data to the upper layer of the terminal, where the second threshold is less than the first threshold.
[0007] Using this method, the third network element generates a first indicator and a third indicator based on the first requirement. The terminal receives the first indicator sent by the third network element and performs data caching based on the first indicator, thereby improving the stability of the transmission layer latency of the service.
[0008] In one possible implementation of the first aspect, the first time information is included in the protocol header of the terminal carrying the first data and the first network element, and / or, the protocol header of the access network device of the serving terminal and the user plane function network element of the serving terminal.
[0009] With this design, when there is no direct connection interface (peer-to-peer protocol layer) between the terminal and the user plane function network element, the access network device needs to copy the first time information in the protocol header between the access network device and the user plane function network element carrying the first data, so that the terminal and the first network element can perform data caching based on the time information carried in the protocol header; when there is a direct connection interface (peer-to-peer protocol layer) between the terminal and the user plane function network element, the first time information can be included in the protocol header between the terminal and the first network element carrying the first data.
[0010] In another possible implementation of the first aspect, the method further includes: if the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator, sending second information, the second information being used to indicate that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
[0011] This design allows the terminal to report a failure when the stable latency upper bound is not reached. This enables the fourth network element to update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thus improving network throughput. This reporting can be at the data granularity level.
[0012] In another possible implementation of the first aspect, the method further includes: obtaining the number N of data transmitted from the first network element to the terminal within a first time window that exceeds a first indicator, wherein the first data is any one of the N data and N is a positive integer; and sending third information when N is greater than or equal to a third threshold, wherein the third information is used to indicate that the time for the N data within the first time window to be transmitted from the first network element to the terminal exceeds the first indicator.
[0013] This design allows the terminal to report a failure when the stable latency upper bound is not reached. This enables the fourth network element to update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thus improving network throughput. This reporting can be done at the time window granularity.
[0014] In another possible implementation of the first aspect, the method further includes: the terminal receiving fourth information, the fourth information being used to indicate the second indicator.
[0015] With this design, when the upper limit of stable latency fails, the terminal notifies the fourth network element that the upper limit of stable latency has failed. The fourth network element can then update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thereby improving network throughput.
[0016] In another possible implementation of the first aspect, the method further includes: the terminal sending second data and second time information, the second time information being used to indicate the timestamp of the terminal's transport layer receiving the second data from the terminal's upper layer.
[0017] With this design, when the terminal sends uplink data, it also sends a second time information, so that the first network element can determine whether to buffer the uplink data based on the second time information and the third indicator, thereby improving the stability of the transmission layer latency of the service.
[0018] Secondly, a communication method is provided. Exemplarily, this method can be applied to a first network element. For example, the method can be executed by the first network element or by a module (e.g., processor, chip, chip system, circuit, etc.) within the first network element. This module can be a communication module within the first network element, or a circuit or chip within the first network element responsible for communication functions, such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core. Taking the application of this method to a first network element as an example, in this method, the first network element receives fifth information, which is used to indicate a third indicator; receives uplink second data and second time information, where the second time information is used to indicate the timestamp or second buffer time at which the terminal's transport layer receives the second data from the terminal's upper layer; buffers the second data if the third buffer time is greater than or equal to a fourth threshold, where the third buffer time is determined based on the third indicator and the second time information, or the third buffer time is determined based on the second buffer time; and sends the second data if the third buffer time is less than or equal to the fifth threshold, where the fifth threshold is less than the fourth threshold.
[0019] Using this method, the third network element generates a first indicator and a third indicator based on the first requirement, and the first network element receives the third indicator sent by the third network element and performs data caching based on the third indicator, thereby improving the stability of the transmission layer latency of the service.
[0020] In one possible implementation of the second aspect, the second time information is included in the protocol header between the terminal carrying the second data and the first network element, and / or the protocol header between the access network device of the serving terminal and the first network element.
[0021] With this design, when there is no direct connection interface (peer-to-peer protocol layer) between the terminal and the user plane function network element, the access network device needs to copy the second time information into the protocol header between the access network device and the user plane function network element carrying the second data, so that the terminal and the first network element can perform data caching based on the time information carried in the protocol header; when there is a direct connection interface (peer-to-peer protocol layer) between the terminal and the user plane function network element, the second time information can be included in the protocol header between the terminal carrying the second data and the first network element.
[0022] In another possible implementation of the second aspect, the method further includes: if the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator, sending a sixth message, the sixth message indicating that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0023] With this design, when the stable latency upper bound fails, the first network element can report the situation, allowing the fourth network element to update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thus improving network throughput. This reporting can be at the data granularity level.
[0024] In another possible implementation of the second aspect, the method further includes: the first network element acquiring the number M of data transmitted from the upper layer of the terminal to the first network element within a second time window for a time exceeding a third indicator, wherein the second data is any one of the M data, and M is a positive integer; and if M is greater than or equal to a sixth threshold, sending seventh information, the seventh information being used to indicate that the time for the M data within the second time window to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0025] With this design, when the stable latency upper bound fails, the first network element can report the situation, allowing the fourth network element to update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thus improving network throughput. This reporting can be at the time window granularity.
[0026] In another possible implementation of the second aspect, the method further includes: a first network element receiving eighth information, the eighth information being used to indicate a fourth indicator.
[0027] In another possible implementation of the second aspect, the method further includes: the first network element sending downlink first data and first time information, wherein the first time information is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0028] In another possible implementation of the second aspect, the fifth information is also used to indicate the addition of time information to the downlink data; the first time information is included in the protocol header of the first network element and the access network device carrying the first data.
[0029] Thirdly, a communication method is provided. Exemplarily, this method can be applied to a second network element. For example, the method can be executed by the second network element or by a module (e.g., processor, chip, chip system, circuit, etc.) within the second network element. This module can be a communication module within the second network element, or a circuit or chip within the second network element responsible for communication functions, such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core. Taking the application of this method to a second network element as an example, in this method, the second network element receives ninth information, which is used to indicate the addition of time information to downlink data; receives first data and first time information from a first network element, where the first data is any one of the downlink data; and sends the first data and first time information, where the first time information is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0030] Using this method, when there is no direct connection interface (peer-to-peer protocol layer) between the terminal and the user plane function network element, the access network device needs to copy the time information in the protocol header of the data access network device and the user plane function network element, so that the terminal and the first network element can cache data according to the time information carried in the protocol header.
[0031] In one possible implementation of the third aspect, the first time information is included in the protocol header of the first network element and the second network element carrying the first data.
[0032] In another possible implementation of the third aspect, the ninth information is further used to indicate the addition of time information to the uplink data, and the method further includes: receiving second data and second time information from the terminal, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer, the second data being any one of the uplink data; and sending the second data and the second time information.
[0033] In another possible implementation of the third aspect, the ninth information is further used to indicate the addition of time information to the uplink data, and the method further includes: receiving fifth information, the fifth information being used to indicate a third indicator; receiving second data and second time information from the terminal, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer, the second data being any one of the uplink data; and sending the second data and a second buffer time, the second buffer time being determined based on the third indicator and the second time information.
[0034] Fourthly, a communication method is provided. Exemplarily, this method can be applied to a third network element. For example, the method can be executed by the third network element or by a module (e.g., processor, chip, chip system, circuit, etc.) within the third network element. This module can be a communication module within the third network element, or a circuit or chip within the third network element responsible for communication functions, such as a modem chip (also known as a baseband chip), or a SoC chip or SIP chip containing a modem core. Taking the application of this method to a third network element as an example, in this method, the third network element receives tenth information, which is used to indicate a first requirement; based on the first requirement, it generates a first indicator and a third indicator; it sends first information, which is used to indicate the first indicator; and it sends fifth information, which is used to indicate the third indicator.
[0035] Using this method, the third network element generates a first indicator and a third indicator based on the first requirement, and sends them to the terminal and the first network element respectively. The terminal and the first network element cache data based on the first indicator and the third indicator respectively, thereby improving the stability of the transmission layer latency of the service.
[0036] In one possible implementation of the fourth aspect, the first requirement includes at least one of the following information: the stable latency value of the uplink, the stable latency value of the downlink, the stable latency value of the round-trip time, and the percentage probability that the stable latency is stabilized.
[0037] In another possible implementation of the fourth aspect, the fifth information is also used to indicate the addition of time information to the downlink data.
[0038] In another possible implementation of the fourth aspect, the method further includes: the second network element sending ninth information, the ninth information being used to indicate the addition of time information to downlink data, and / or the addition of time information to uplink data.
[0039] In another possible implementation of the fourth aspect, the method further includes: a second network element receiving second information, the second information indicating that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator; and sending fourth information, the fourth information indicating the second indicator.
[0040] With this design, when the upper limit of stable latency fails, the terminal notifies the fourth network element that the upper limit of stable latency has failed. The fourth network element can then update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thereby improving network throughput.
[0041] In another possible implementation of the fourth aspect, the method further includes: the second network element receiving sixth information, the sixth information indicating that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator; and sending eighth information, the eighth information indicating the fourth indicator.
[0042] With this design, when the upper bound of stable latency fails, the first network element notifies the fourth network element that the upper bound of stable latency has failed. The fourth network element can then update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thereby improving network throughput.
[0043] Fifthly, a communication device is provided. This communication device can perform the methods described in any one of the first to fourth aspects or any one of the embodiments described above. The communication device can be a terminal, a first network element, a second network element, or a third network element, or it can be a module (e.g., a chip) applied to a terminal, the first network element, the second network element, or the third network element.
[0044] In one possible implementation, the communication device includes a transceiver unit and a processing unit. The transceiver unit performs the receiving and / or transmitting operations in the methods of the first to fourth aspects or any one of the first to fourth aspects described above; the processing unit performs the processing operations in the methods of the first to fourth aspects or any one of the first to fourth aspects described above.
[0045] When the communication device is used to execute the method in the first aspect or any embodiment of the first aspect, the transceiver unit is used to receive first information, which is used to indicate a first indicator; the transceiver unit is also used to receive first data and first time information, which is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data; the processing unit is used to cache the first data when the first cache time is greater than or equal to a first threshold, the first cache time being determined based on the first indicator and the first time information; the processing unit is also used to transmit the first data to the upper layer of the terminal when the first cache time is less than or equal to a second threshold, the second threshold being less than the first threshold.
[0046] Optionally, the first-time information is included in the protocol header of the terminal carrying the first data and the first network element, and / or in the protocol header of the access network device of the serving terminal and the user plane function network element of the serving terminal.
[0047] Optionally, the transceiver unit is further configured to send second information if the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator. The second information is used to indicate that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
[0048] Optionally, the processing unit is configured to obtain the number N of data transmitted from the first network element to the terminal within a first time window that exceeds a first indicator, wherein the first data is any one of the N data and N is a positive integer; and the transceiver unit is further configured to send third information if N is greater than or equal to a third threshold, wherein the third information is used to indicate that the time for the N data within the first time window to be transmitted from the first network element to the terminal exceeds the first indicator.
[0049] Optionally, the transceiver unit is also configured to receive a fourth message, which is used to indicate the second indicator.
[0050] Optionally, the transceiver unit is also configured to send second data and second time information, wherein the second time information is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer.
[0051] When the communication device is used to execute the method of the second aspect or any embodiment of the second aspect described above, the transceiver unit is configured to receive fifth information, which is used to indicate a third indicator; the transceiver unit is further configured to receive uplink second data and second time information, which is used to indicate the timestamp or second buffer time at which the transmission layer of the terminal receives the second data from the upper layer of the terminal; the processing unit is configured to buffer the second data if the third buffer time is greater than or equal to a fourth threshold, wherein the third buffer time is determined based on the third indicator and the second time information, or the third buffer time is determined based on the second buffer time; and the transceiver unit is further configured to send the second data if the third buffer time is less than or equal to the fifth threshold, wherein the fifth threshold is less than the fourth threshold.
[0052] Optionally, the second time information is included in the protocol header between the terminal carrying the second data and the first network element, and / or the protocol header between the access network device of the serving terminal and the first network element.
[0053] Optionally, the transceiver unit is further configured to send a sixth message if the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator. The sixth message is used to indicate that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0054] Optionally, the processing unit is further configured to obtain the number M of data transmitted from the upper layer of the terminal to the first network element within the second time window for a time exceeding a third indicator, wherein the second data is any one of the M data, and M is a positive integer; and the transceiver unit is further configured to send a seventh message if M is greater than or equal to a sixth threshold, wherein the seventh message is used to indicate that the time for M data within the second time window to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0055] Optionally, the transceiver unit is also configured to receive an eighth message, which is used to indicate the fourth indicator.
[0056] Optionally, the transceiver unit is further configured to transmit downlink first data and first time information, wherein the first time information is used to indicate the time when the first network element transmits the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0057] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data; the first time information is included in the protocol header of the first network element carrying the first data and the access network device.
[0058] When the communication device is used to perform the method in the third aspect or any embodiment of the third aspect, the transceiver unit is configured to receive ninth information, which is used to indicate the addition of time information to downlink data; the transceiver unit is also configured to receive first data and first time information from the first network element, wherein the first data is any one of the downlink data; and the transceiver unit is also configured to transmit the first data and the first time information, wherein the first time information is used to indicate the time when the first network element transmits the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0059] Optionally, the first-time information is included in the protocol header of the first network element and the second network element carrying the first data.
[0060] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The transceiver unit is also used to receive the second data and the second time information from the terminal. The second time information is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The transceiver unit is also used to send the second data and the second time information.
[0061] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The transceiver unit is also used to receive the fifth information, which is used to indicate the third indicator. The transceiver unit is also used to receive the second data and the second time information from the terminal. The second time information is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The transceiver unit is also used to send the second data and the second buffer time, which is determined based on the third indicator and the second time information.
[0062] When the communication device is used to perform the method in the fourth aspect or any embodiment of the fourth aspect, the transceiver unit is used to receive tenth information, which is used to indicate a first requirement; the processing unit is used to generate a first indicator and a third indicator based on the first requirement; the transceiver unit is also used to send the first information, which is used to indicate the first indicator; and the transceiver unit is also used to send the fifth information, which is used to indicate the third indicator.
[0063] Optionally, the first requirement includes at least one of the following information: the stable latency value of the uplink, the stable latency value of the downlink, the stable latency value of the round-trip time, and the percentage probability that the stable latency is stabilized.
[0064] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data.
[0065] Optionally, the transceiver unit is also configured to send a ninth message, which indicates the addition of time information to downlink data and / or the addition of time information to uplink data.
[0066] Optionally, the transceiver unit is further configured to receive second information, the second information indicating that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator; and the transceiver unit is further configured to send fourth information, the fourth information indicating the second indicator.
[0067] Optionally, the transceiver unit is further configured to receive a sixth message, which indicates that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator; and the transceiver unit is further configured to send an eighth message, which indicates a fourth indicator.
[0068] In another possible implementation, the communication device includes a processor coupled to a memory; the processor is configured to support the device in performing the corresponding functions in the communication method described above. The memory, coupled to the processor, stores the computer program (or computer-executable instructions) and / or data necessary for the device. Optionally, the communication device may further include a communication interface for supporting communication between the device and other network elements, such as the transmission or reception of data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface. Optionally, the memory may be located internally within the communication device and integrated with the processor; alternatively, it may be located externally to the communication device.
[0069] When the communication device is used to execute the method in the first aspect or any embodiment of the first aspect, the communication interface is used to receive first information, which is used to indicate a first indicator; the communication interface is also used to receive first data and first time information, which is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data; the processor is used to cache the first data when the first cache time is greater than or equal to a first threshold, the first cache time being determined based on the first indicator and the first time information; the processor is also used to transmit the first data to the upper layer of the terminal when the first cache time is less than or equal to a second threshold, the second threshold being less than the first threshold.
[0070] Optionally, the first-time information is included in the protocol header of the terminal carrying the first data and the first network element, and / or in the protocol header of the access network device of the serving terminal and the user plane function network element of the serving terminal.
[0071] Optionally, the communication interface is further configured to send second information if the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator. The second information is used to indicate that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
[0072] Optionally, the processor is configured to acquire the number N of data transmitted from the first network element to the terminal within a first time window that exceeds a first indicator, wherein the first data is any one of the N data and N is a positive integer; and the communication interface is further configured to send third information when N is greater than or equal to a third threshold, wherein the third information is used to indicate that the time for the N data within the first time window to be transmitted from the first network element to the terminal exceeds the first indicator.
[0073] Optionally, the communication interface is also used to receive a fourth message, which is used to indicate the second indicator.
[0074] Optionally, the communication interface is also used to send second data and second time information, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer.
[0075] When the communication device is used to execute the method of the second aspect or any embodiment of the second aspect described above, the communication interface is used to receive fifth information, which is used to indicate a third indicator; the communication interface is also used to receive uplink second data and second time information, which is used to indicate the timestamp or second buffer time of the second data received by the terminal's transport layer from the upper layer of the terminal; the processor is used to buffer the second data when the third buffer time is greater than or equal to a fourth threshold, wherein the third buffer time is determined based on the third indicator and the second time information, or the third buffer time is determined based on the second buffer time; and the communication interface is also used to send the second data when the third buffer time is less than or equal to the fifth threshold, wherein the fifth threshold is less than the fourth threshold.
[0076] Optionally, the second time information is included in the protocol header between the terminal carrying the second data and the first network element, and / or the protocol header between the access network device of the serving terminal and the first network element.
[0077] Optionally, the communication interface is also used to send a sixth message if the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator. The sixth message is used to indicate that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0078] Optionally, the processor is further configured to acquire the number M of data transmitted from the upper layer of the terminal to the first network element within the second time window for a time exceeding a third indicator, wherein the second data is any one of the M data, and M is a positive integer; and the communication interface is further configured to send a seventh message if M is greater than or equal to a sixth threshold, the seventh message being used to indicate that the time for M data within the second time window to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0079] Optionally, the communication interface is also used to receive an eighth message, which is used to indicate the fourth indicator.
[0080] Optionally, the communication interface is also used to send downlink first data and first time information, wherein the first time information is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0081] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data; the first time information is included in the protocol header of the first network element carrying the first data and the access network device.
[0082] When the communication device is used to perform the method in the third aspect or any embodiment of the third aspect, the communication interface is used to receive ninth information, which is used to indicate the addition of time information to downlink data; the communication interface is also used to receive first data and first time information from the first network element, wherein the first data is any one of the downlink data; and the communication interface is also used to send the first data and the first time information, wherein the first time information is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0083] Optionally, the first-time information is included in the protocol header of the first network element and the second network element carrying the first data.
[0084] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The communication interface is also used to receive second data and second time information from the terminal. The second time information is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The communication interface is also used to send the second data and the second time information.
[0085] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The communication interface is also used to receive the fifth information, which indicates the third indicator. The communication interface is also used to receive the second data and the second time information from the terminal, which indicates the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The communication interface is also used to send the second data and the second buffer time, which is determined based on the third indicator and the second time information.
[0086] When the communication device is used to perform the method in the fourth aspect or any embodiment of the fourth aspect, the communication interface is used to receive tenth information, which indicates a first requirement; the processor is used to generate a first indicator and a third indicator based on the first requirement; the communication interface is also used to send the first information, which indicates the first indicator; and the communication interface is also used to send the fifth information, which indicates the third indicator.
[0087] Optionally, the first requirement includes at least one of the following information: the stable latency value of the uplink, the stable latency value of the downlink, the stable latency value of the round-trip time, and the percentage probability that the stable latency is stabilized.
[0088] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data.
[0089] Optionally, the communication interface is also used to send a ninth message, which indicates the addition of time information to downlink data and / or the addition of time information to uplink data.
[0090] Optionally, the communication interface is further configured to receive second information, which indicates that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator; and the communication interface is further configured to send fourth information, which indicates the second indicator.
[0091] Optionally, the communication interface is also used to receive a sixth message, which indicates that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator; and the communication interface is also used to send an eighth message, which indicates a fourth indicator.
[0092] In another possible implementation, the communication device includes a processor and a transceiver device. The processor is coupled to the transceiver device and executes computer programs or instructions to control the transceiver device to receive and transmit information. When the processor executes the computer programs or instructions, it is also used to design the above-described method through logic circuits or execution code instructions. The transceiver device can be a transceiver circuit, a transceiver module, or an input / output interface, used to receive signals from other communication devices outside the communication device and transmit them to the processor, or to send signals from the processor to other communication devices outside the communication device. When the communication device is a chip, the transceiver device is a transceiver circuit or an input / output interface.
[0093] When the communication device is used to execute the method of the first aspect or any embodiment of the first aspect, the transceiver is used to receive first information, which is used to indicate a first indicator; the transceiver is also used to receive first data and first time information, which is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data; the processor is used to cache the first data when the first cache time is greater than or equal to a first threshold, the first cache time being determined based on the first indicator and the first time information; the processor is also used to transmit the first data to the upper layer of the terminal when the first cache time is less than or equal to a second threshold, the second threshold being less than the first threshold.
[0094] Optionally, the first-time information is included in the protocol header of the terminal carrying the first data and the first network element, and / or in the protocol header of the access network device of the serving terminal and the user plane function network element of the serving terminal.
[0095] Optionally, the transceiver is further configured to send second information if the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator, wherein the second information is used to indicate that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
[0096] Optionally, the processor is configured to acquire the number N of data transmitted from the first network element to the terminal within a first time window that exceeds a first indicator, wherein the first data is any one of the N data and N is a positive integer; and the transceiver is further configured to send third information if N is greater than or equal to a third threshold, wherein the third information is used to indicate that the time for the N data within the first time window to be transmitted from the first network element to the terminal exceeds the first indicator.
[0097] Optionally, the transceiver is also configured to receive a fourth message, which is used to indicate a second indicator.
[0098] Optionally, the transceiver is also configured to send second data and second time information, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer.
[0099] When the communication device is used to execute the method of the second aspect or any embodiment of the second aspect described above, the transceiver is configured to receive fifth information, which is used to indicate a third indicator; the transceiver is further configured to receive uplink second data and second time information, which is used to indicate the timestamp or second buffer time at which the transmission layer of the terminal receives the second data from the upper layer of the terminal; the processor is configured to buffer the second data if the third buffer time is greater than or equal to a fourth threshold, wherein the third buffer time is determined based on the third indicator and the second time information, or the third buffer time is determined based on the second buffer time; and the transceiver is further configured to transmit the second data if the third buffer time is less than or equal to the fifth threshold, wherein the fifth threshold is less than the fourth threshold.
[0100] Optionally, the second time information is included in the protocol header between the terminal carrying the second data and the first network element, and / or the protocol header between the access network device of the serving terminal and the first network element.
[0101] Optionally, the transceiver is further configured to send a sixth message if the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator. The sixth message is used to indicate that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0102] Optionally, the processor is further configured to acquire the number M of data transmitted from the upper layer of the terminal to the first network element within the second time window for a time exceeding a third indicator, wherein the second data is any one of the M data, and M is a positive integer; and the transceiver is further configured to send a seventh message if M is greater than or equal to a sixth threshold, the seventh message being used to indicate that the time for M data within the second time window to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
[0103] Optionally, the transceiver is also configured to receive an eighth message, which is used to indicate a fourth indicator.
[0104] Optionally, the transceiver is further configured to transmit downlink first data and first time information, wherein the first time information is used to indicate the time when the first network element transmits the first data, or the first time information is used to indicate the time when the first network element receives the first data.
[0105] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data; the first time information is included in the protocol header of the first network element carrying the first data and the access network device.
[0106] When the communication device is used to perform the method in the third aspect or any embodiment of the third aspect, the transceiver is configured to receive ninth information, which indicates the addition of time information to downlink data; the transceiver is also configured to receive first data and first time information from the first network element, wherein the first data is any one of the downlink data; and the transceiver is also configured to transmit the first data and the first time information, wherein the first time information indicates the time when the first network element transmits the first data, or the first time information indicates the time when the first network element receives the first data.
[0107] Optionally, the first-time information is included in the protocol header of the first network element and the second network element carrying the first data.
[0108] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The transceiver is also used to receive second data and second time information from the terminal. The second time information is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The transceiver is also used to send the second data and the second time information.
[0109] Optionally, the ninth information is also used to indicate the addition of time information to the uplink data. The transceiver is also used to receive the fifth information, which is used to indicate the third indicator. The transceiver is also used to receive the second data and the second time information from the terminal, which is used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer. The second data is any one of the uplink data. The transceiver is also used to send the second data and the second buffer time, which is determined based on the third indicator and the second time information.
[0110] When the communication device is used to perform the method in the fourth aspect or any embodiment of the fourth aspect, the transceiver is used to receive tenth information, which indicates a first requirement; the processor is used to generate a first indicator and a third indicator based on the first requirement; the transceiver is also used to send the first information, which indicates the first indicator; and the transceiver is also used to send a fifth information, which indicates the third indicator.
[0111] Optionally, the first requirement includes at least one of the following information: the stable latency value of the uplink, the stable latency value of the downlink, the stable latency value of the round-trip time, and the percentage probability that the stable latency is stabilized.
[0112] Optionally, the fifth piece of information is also used to indicate the addition of time information to the downlink data.
[0113] Optionally, the transceiver is also configured to send a ninth message, which indicates the addition of time information to downlink data and / or the addition of time information to uplink data.
[0114] Optionally, the transceiver is further configured to receive second information, the second information indicating that the time for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds a first indicator; and the transceiver is further configured to send fourth information, the fourth information indicating the second indicator.
[0115] Optionally, the transceiver is further configured to receive a sixth message indicating that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds a third indicator; and the transceiver is further configured to send an eighth message indicating a fourth indicator.
[0116] When the aforementioned communication device is a chip, the transmitting unit can be an output unit, such as an output circuit or a communication interface; the receiving unit can be an input unit, such as an input circuit or a communication interface. When the communication device is a terminal, the transmitting unit can be a transmitter or a receiver; the receiving unit can be a receiver or a receiver.
[0117] In a sixth aspect, a computer-readable storage medium is provided that stores a computer program or instructions which, when executed by a communication device, implement the method as described in the first aspect or any embodiment of the first aspect, or implement the method as described in the second aspect or any embodiment of the second aspect, or implement the method as described in the third aspect or any embodiment of the third aspect, or implement the method as described in the fourth aspect or any embodiment of the fourth aspect.
[0118] In a seventh aspect, a computer program product is provided that, when executed on a communication device, implements a method as described in the first aspect or any embodiment of the first aspect, or implements a method as described in the second aspect or any embodiment of the second aspect, or implements a method as described in the third aspect or any embodiment of the third aspect, or implements a method as described in the fourth aspect or any embodiment of the fourth aspect.
[0119] Eighthly, a communication system is provided, comprising a terminal, a first network element, a second network element, and a third network element, wherein the terminal is used to implement the method as described in the first aspect or any embodiment of the first aspect, the first network element is used to implement the method as described in the second aspect or any embodiment of the second aspect, the second network element is used to implement the method as described in the third aspect or any embodiment of the third aspect, and the third network element is used to implement the method as described in the fourth aspect or any embodiment of the fourth aspect. Attached Figure Description
[0120] Figure 1 is a schematic diagram of the communication system architecture;
[0121] Figures 2a and 2b are schematic diagrams of the RAN protocol stack and network element modules provided in the embodiments of this application;
[0122] Figure 3 is a schematic diagram of an open wireless access network architecture provided in an embodiment of this application;
[0123] Figures 4a and 4b are schematic diagrams of the architecture of the communication system provided in the embodiments of this application;
[0124] Figures 5a and 6-11 are schematic flowcharts of the communication method provided in the embodiments of this application;
[0125] Figure 5b is a schematic diagram of the communication protocol stack of an example embodiment of this application;
[0126] Figures 12 and 13 are schematic diagrams of the communication device provided in the embodiments of this application. Detailed Implementation
[0127] The scheme of this application will be further described below with reference to the accompanying drawings.
[0128] The terms "one or more" as used in this application refer to one or more items. "More than" means two or more items. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, it should be understood that although the terms "first," "second," etc., may be used to describe objects in this application, these objects should not be limited to these terms. These terms are only used to distinguish the objects from each other.
[0129] The terms "comprising" and "having," and any variations thereof, used in this application as described below, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units not listed, or optionally include other steps or units inherent to such process, method, product, or apparatus. It should be noted that in this application, words such as "exemplary" or "for example" are used to indicate illustrative, explanatory, or descriptive purposes. Any method or design described as "exemplary" or "for example" in this application should not be construed as preferred or advantageous over other methods or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0130] The technical solution provided in this application can be applied to various communication systems, such as fourth-generation (4G) communication systems. th Generation 4G mobile communication system, fifth generation (5G) th This technology can be applied to various scenarios, including 5G mobile communication systems, future evolution systems, and converged communication systems, as well as existing communication systems. The application scenarios of the technical solutions provided in this application can include multiple areas, such as machine-to-machine (M2M), macro-micro communication, enhanced mobile broadband (eMBB), ultra-reliable and low-latency communication (uRLLC), and massive machine-type communication (mMTC). These scenarios may include, but are not limited to, communication between terminals, communication between network devices, and communication between network devices and terminals. Network devices include access network devices and core network devices.
[0131] Figure 1 illustrates a possible, non-limiting architecture of a communication system. As shown in Figure 1, the communication system 1000 includes a radio access network (RAN) 100 and a core network (CN) 200. The communication system 1000 may also include an Internet 300. RAN 100 includes at least one RAN node (110a and 110b in Figure 1, collectively referred to as 110) and at least one terminal (120a-120j in Figure 1, collectively referred to as 120). RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 1). Terminal 120 is wirelessly connected to RAN node 110. RAN node 110 is wirelessly or wired connected to core network 200. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.
[0132] RAN 100 can be a 3GPP-related cellular system, such as a 4G or 5G mobile communication system, a non-terrestrial network (NTN) system, or a future communication network (or a future-oriented evolution system). RAN 100 can also be an open radio access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a Wi-Fi system, or a communication system that integrates two or more of the above systems.
[0133] The embodiments of this application mainly involve the following network elements: terminal 120, RAN node 110, and core network equipment.
[0134] A terminal can also be called a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, smart cities, etc. Terminals can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicles, drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, etc. The embodiments of this application do not limit the device form of the terminal.
[0135] RAN node 110, also known as network equipment, access network equipment, RAN entity, or access node, constitutes part of the communication system and assists UEs in achieving wireless access. Multiple RAN nodes 110 in communication system 1000 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and UE 120 are relative. For example, network element 120i in Figure 1 can be a helicopter or drone, which can be configured as a mobile base station. For UEs 120j accessing RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a UE. RAN node 110 and UE 120 are sometimes referred to as communication devices. For example, network elements 110a and 110b in Figure 1 can be understood as communication devices with base station functions, and network elements 120a-120j can be understood as communication devices with UE functions.
[0136] Communication between the RAN and UE follows a specific protocol layer structure. This protocol layer may include a control plane protocol layer and a user plane protocol layer. The control plane protocol layer may include at least one of the following: radio resource control (RRC) layer, packet data convergence protocol (PDCP) layer, radio link control (RLC) layer, media / medium access control (MAC) layer, or physical (PHY) layer, etc. The user plane protocol layer may include at least one of the following: service data adaptation protocol (SDAP) layer, PDCP layer, RLC layer, MAC layer, or physical layer, etc.
[0137] Base stations and UEs can be fixed or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can be deployed on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the base stations and UEs.
[0138] The roles of base station and UE can be relative. For example, the helicopter or drone 120i in Figure 1 can be configured as a mobile base station. For UEs 120j that access the radio access network 100 through 120i, UE 120i is a base station; however, for base station 110a, 120i is a UE, meaning that 110a and 120i communicate via a radio interface protocol. Of course, 110a and 120i can also communicate via a base station-to-base station interface protocol. In this case, relative to 110a, 120i is also a base station. Therefore, both base station and UE can be collectively referred to as communication devices. 110a and 110b in Figure 1 can be called communication devices with base station functions, and 120a-120j in Figure 1 can be called communication devices with UE functions.
[0139] In this embodiment, the base station is also referred to as an access network device. The apparatus used to implement the RAN function can be an access network device; it can also be an apparatus capable of supporting the RAN in implementing this function, such as a chip system, hardware circuit, software module, or hardware circuit plus software module. This apparatus can be installed in the RAN or used in conjunction with the RAN. In this embodiment, the apparatus used to implement the RAN function is only described as the RAN, and does not constitute a limitation on the scheme of this embodiment.
[0140] Furthermore, in this embodiment, the UE is also referred to as a terminal. The device used to implement the functions of the UE can be a terminal; it can also be a device capable of supporting the UE in implementing the functions, such as a chip system, hardware circuit, software module, or hardware circuit plus software module. This device can be installed in the UE or used in conjunction with the UE. In this embodiment, the UE is used only as an example to illustrate the device used to implement the functions of the UE, and the solution of this embodiment is not intended to limit the scope of the embodiments.
[0141] It should be understood that the number and type of each device in the communication system shown in Figure 1 are for illustrative purposes only, and this application is not limited thereto. In actual applications, the communication system may include more UEs, more RANs, and other network elements, such as core network equipment and / or network elements used to implement artificial intelligence functions.
[0142] It is understandable that all or part of the functions implemented by one or more of the UE, RAN, core network equipment, or network elements used to implement artificial intelligence functions can be virtualized, that is, implemented through one or more of dedicated or general-purpose processors and corresponding software modules. Among these, the UE and RAN, due to their air interface transmission, can have their transmit and receive functions implemented in hardware. Core network equipment, such as operation administration and maintenance (OAM) network elements, can also be virtualized. Optionally, one or more of the functions of the virtualized UE, RAN, core network equipment, or network elements used to implement artificial intelligence functions can be implemented by cloud devices, such as cloud devices in over-the-top (OTT) systems.
[0143] In one possible scenario, a RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a base station in a future mobile communication system, or an access node in a WiFi system. A RAN node can be a macro base station (as shown in Figure 1, 110a), a micro base station or indoor station (as shown in Figure 1, 110b), a relay node or donor node, or a radio controller in a cloud-radio access network (CRAN) scenario. Optionally, a RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, network equipment in vehicle-to-everything (V2X) technology can be a roadside unit (RSU).
[0144] In another possible scenario, multiple RAN nodes assist the UE in achieving radio access, with different RAN nodes implementing some of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), central unit-control planes (CU-CPs), central unit-user planes (CU-UPs), or radio units (RUs), etc. CUs and DUs can be set up separately or included in the same network element, such as the baseband unit (BBU). The CU and DU nodes separate the RAN's protocol layers; some protocol layer functions are centrally controlled by the CU, while the remaining partial or complete protocol layer functions are distributed in the DU, which is centrally controlled by the CU. As one implementation, the CU deploys the Radio Resource Control (RRC) layer, Packet Data Convergence Protocol (PDCP) layer, and Service Data Adaptation Protocol (SDAP) layer in the protocol stack; the DU deploys the Radio Link Control (RLC) layer, MAC layer, and Physical Layer (PHY) in the protocol stack. Thus, the CU has the processing capabilities of RRC, PDCP, and SDAP. The DU has the processing capabilities of RLC, MAC, and PHY. It is understood that the above functional division is merely an example and does not constitute a limitation on the CU and DU. The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), active antenna unit (AAU), or remote radio head (RRH).
[0145] Figure 2a shows a schematic diagram of a RAN protocol stack and network element module provided in an embodiment of this application. The RAN includes CU and DU, where CU further includes CU-CP and CU-UP. CU-CP and DU are connected via F1-C interface; CU-UP and DU are connected via F1-U interface. DU has RLC, MAC, and PHY processing capabilities; CU-CP has RRC and Packet Data Convergence Protocol (PDCP) layer processing capabilities; and CU-UP has SDAP and Packet Data Convergence Protocol (PDCP) layer processing capabilities.
[0146] Figure 2b shows a schematic diagram of another RAN protocol stack and network element module provided in an embodiment of this application. The RAN includes CU and DU. The CU has RRC, PDCP and SDAP processing capabilities; the DU has RLC, MAC and PHY processing capabilities. One CU can connect to one or more DUs, and the CU and DU are connected through the F1 interface.
[0147] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, as shown in Figure 3, which is a schematic diagram of an open radio access network architecture provided in an embodiment of this application, O-RAN includes CU, DU, and RU. One CU can be connected to one or more DUs, and one DU can be connected to one or more RUs. CU further includes CU-CP and CU-UP. In the ORAN system, CU can also be called an open-centralized unit (O-CU), DU can also be called an open-distributed unit (O-DU), CU-CP can also be called an open-centralized unit-control plane (O-CU-CP), CU-UP can also be called an open-centralized unit-user plane (O-CU-UP), and RU can also be called an open-radio unit (O-RU).
[0148] O-CU stands for Open RAN Central Unit or Open RAN Control Unit. The O-CU is used to implement the RRC layer, PDCP layer, SDAP layer, and other control functions in the 3GPP standard.
[0149] O-CU-CP is short for Open RAN Central Unit Control Plane or Open RAN Control Unit Control Plane. Similar to the CU-CP in the NR system, O-CU-CP is used to implement the functions of the RRC layer and the control plane functions of the PDCP layer.
[0150] O-CU-UP is short for Open RAN Central Unit User Plane or Open RAN Control Unit User Plane. Similar to CU-UP in NR systems, O-CU-UP is used to implement the functions of the SDAP layer and the user plane functions of the PDCP layer.
[0151] O-DU is short for Open Radio Access Network Distributed Unit. Based on the division of lower-layer functions, it is used to implement the higher layers (closer to the MAC layer) of the RLC layer, MAC layer, and PHY layer in the 3GPP standard. Among them, the higher-layer functions of the PHY layer include one or more of the following: forward error correction (FEC) encoding / decoding, scrambling / descrambling, or modulation / demodulation.
[0152] O-RAN is short for Open Radio Access Network Radio Unit. Based on low-layer function segmentation, it is used to implement the low-layer (near radio frequency) functions of the PHY and radio frequency functions in the 3GPP standard. The low-layer physical layer functions include one or more of the following: Fast Fourier Transform (FFT) / Inverse Fast Fourier Transform (iFFT), digital beamforming, or extraction and filtering of the physical random access channel (PRACH). It is similar to the Transmission Reception Point (TRP) or Remote Radio Head (RRH) in 3GPP, but includes the low-layer functions of the PHY, such as FFT / iFFT or PRACH extraction.
[0153] For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0154] Core network equipment refers to the equipment in the core network (CN) that provides service support for the UE.
[0155] The functions of each network element / functional entity that may be involved in the embodiments of this application are as follows:
[0156] Access and Mobility Functions (AMF): Primarily responsible for signaling processing, such as access control, mobility management, attach and detach, and gateway selection. When AMF provides services to a session within a UE, it provides control plane storage resources for that session to store the session identifier and the associated session management function entity identifier. It is responsible for signaling transmission with the UE via the N1 interface and with the RAN via the N2 interface.
[0157] Session Management Function: Provides control plane policy rules, supporting the distribution of various PCC policy rules (such as QoS policies) to the session management function via the N7 interface, including predefined rules and dynamic rules. It manages the creation / update / deletion of Protocol Data Unit (PDU) sessions, the creation / update / deletion of Dedicated Bearers, maintains PDU session context and user plane forwarding information, assigns Internet Protocol (IP) addresses to users, selects user plane functions that provide packet forwarding capabilities, generates QoS profiles for the RAN and QoS rules for the UE, and generates routing and forwarding rules for user plane functions, etc.
[0158] User plane functions: Primarily responsible for processing user packets, such as forwarding and billing. It implements the Quality of Service (QoS) forwarding rules issued by the session management function and transmits signaling with the session management function through the N4 interface; it possesses service awareness capabilities, able to identify user service usage (application identification information, uplink and downlink bandwidth, service flow information), and reports this information to core network elements subscribing to service information via the Nupf interface for data collection and analysis, and for assigning IP addresses to terminals.
[0159] Policy control function: It mainly supports providing a unified policy framework to control network behavior, providing policy rules (such as session control policy, UE access policy, slice selection policy, etc.) to the control plane network function, and is also responsible for obtaining user subscription information related to policy decisions.
[0160] UE: It transmits signaling with the core network through the N1 interface and can receive QoS-related filtering rules issued by the core network elements, which are used to bind uplink data to the corresponding dedicated bearer for transmission.
[0161] RAN: The control plane accesses the core network through the N2 interface, and the user plane accesses user plane functions through the N3 interface. It is responsible for the UE's radio signaling and data transmission.
[0162] Application function (AF) / application server (AS): refers to a program that exposes business logic to the client through various protocols. AF can be a functional module within AS, or AF and AS can be independent modules.
[0163] This application illustrates two 5G communication architectures. One communication architecture, as shown in Figure 4a, has no peer reference point / protocol layer between the UE and the user plane function (UPF) network element. The other communication architecture, as shown in Figure 4b, has a peer reference point / protocol layer between the UE and the UPF network element. The reference point between the UE and the UPF can be implemented based on the user-level GPRS tunneling protocol-user plane (GTP-U), quick UDP internet connections (QUIC), or a QUIC extension protocol. The user plane protocol stack between the UE and the UPF carries the timestamp of data transmission, and the UE and UPF clocks are synchronized.
[0164] It should be understood that the names of the aforementioned core network devices, such as SMF and UPF, are merely names and do not limit the devices themselves. It is understood that other names may be used in 5G networks and other future networks, and this application does not specifically limit such names. For example, SMF can also be called an SMF network element or an SMF entity; this will be explained uniformly here and will not be repeated below.
[0165] For ease of explanation, the network elements / functional entities involved in the embodiments of this application can be abbreviated as XX, for example, the SMF network element / functional entity can be abbreviated as SMF, etc.
[0166] Optionally, the aforementioned core network functions can be implemented by a single device, multiple devices working together, or a functional module within a single device; this application does not specifically limit this. It is understood that the aforementioned functional module can be a network element in a hardware device, a software functional module running on dedicated hardware, or a virtualized functional module instantiated on a platform (e.g., a cloud platform).
[0167] Research revealed that for some services, such as real-time video services, the need for stable latency jitter is more pressing than simply pursuing low latency. Stable latency is beneficial for improving network throughput (jatter causes jitter in application-layer congestion control and coding flow control, resulting in slow convergence and low network utilization).
[0168] From the perspective of congestion control at the transport layer, in congestion control algorithms based on latency or link capacity, latency jitter will affect throughput: (1) Congestion control based on latency: an increase in latency is considered as congestion, the congestion window is increased when latency increases, and the congestion window is decreased when latency decreases; (2) Congestion control based on link capacity: network bandwidth and latency are measured in real time, and congestion is considered to have occurred when the total number of packets on the network is greater than the product of bandwidth and latency.
[0169] Therefore, improving the stability of transport layer latency in services is an urgent problem to be solved.
[0170] To address this, this application provides a communication scheme in which a third network element obtains a first indicator and a third indicator according to a first requirement, and sends them to a terminal and a first network element respectively. The terminal and the first network element cache data according to the first indicator and the third indicator respectively, thereby improving the stability of the transmission layer latency of the service.
[0171] Based on the above communication system, the communication method provided in the embodiments of this application is described as follows:
[0172] As shown in Figure 5a, this is a flowchart illustrating a communication method provided in an embodiment of this application. Exemplarily, the method may include the following steps:
[0173] S501. The fourth network element sends the tenth information to the fifth network element. Correspondingly, the fifth network element receives the tenth information.
[0174] The fourth network element can propose a first request and send a tenth message to the fifth network element. This tenth message indicates the first request. The first request indicates the service's requirement for stable transmission latency (or transmission latency stability requirement), specifically a requirement for stable latency at the transport layer. This first request can also be referred to as a stable latency requirement. The fourth network element sends the tenth message to the fifth network element to request the network to provide stable transmission latency guarantees (specifically, stable latency guarantees at the transport layer). In this document, stable latency, stable transmission latency, stable transport layer latency, and stable network transmission latency can be used interchangeably. For example, this tenth message is carried in an Application Function Session (AFSessionWithQoS) request containing QoS (in a service-oriented architecture, this request can be an AFSessionWithQoS API call request). This QoS application function session can also include QoS requirements.
[0175] For example, the first requirement includes at least one of the following: a stable uplink latency value or range, a stable downlink latency value or range, and a stable round-trip time (RTT) latency value or range. Further, the first requirement may also include the percentage probability that the latency of a data packet or total amount of data is stabilized within a time interval. This is typically the percentage probability measured within a time interval (T1~T2, or Nms), the percentage probability for a certain total number of data packets (e.g., 1,000 data packets), or the percentage probability for a certain total amount of data (e.g., 10M of data). The percentage probability that the latency of a data packet or total amount of data is stabilized within a time interval refers to how many data packets meet the stable latency requirement, for example, as shown on page 99.
[0176] S502a. The fifth network element generates the first and third indicators based on the first requirement.
[0177] After receiving the aforementioned tenth information, the fifth network element generates a first indicator and a third indicator based on the first requirement. In one example, the fifth network element can directly use the corresponding values from the first requirement. For instance, if the first requirement includes both uplink and downlink stable latency values or ranges, the fifth network element determines the first indicator to be the downlink stable latency value or range from the first requirement, and the third indicator to be the uplink stable latency value or range from the first requirement. In another example, the fifth network element can also decompose the first requirement to obtain the first and third indicators. For instance, if the first requirement includes RTT stable latency values or ranges, the fifth network element can decompose the RTT stable latency values or ranges into values in the downlink indicator and values in the uplink indicator, then use the values in the downlink indicator as the first indicator and the values in the uplink indicator as the third indicator.
[0178] The first and third indicators are related indicators for this service. This service can be real-time video, voice, etc. The first and third indicators may differ for different services. The first indicator is a key performance indicator (KPI) for stable downlink latency. It indicates the downlink transmission latency that data for this service needs to meet to be transmitted from the network to the UE (this can also be understood as the first indicator indicating the transmission time of the first data from the first network element to the upper layer of the UE). It is a series of deterministic, stable values, including at least one of the following: a stable downlink transmission latency value or range (e.g., x milliseconds to y milliseconds, where x is less than y), and a stable RTT latency value / range (in this case, the stable downlink latency value or range can be understood as half of the stable RTT latency value and range). Optionally, it also includes the percentage probability that the downlink data transmission time meets the stable latency value or range. The downlink latency of the downlink data for this service transmitted from the network to the UE's transport layer needs to meet this first indicator. After meeting this first indicator, the UE's transport layer transmits the downlink data to the UE's upper layer. The UE's transport layer refers to the transport protocol layer that carries application layer protocols, such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and QUIC. The third indicator is a key performance metric for stable uplink latency. It indicates that the uplink transmission latency required for data transmission from the UE to the network for this service (which can also be understood as the third indicator indicating the transmission time of the second data from the UE's upper layer to the first network element) is a series of deterministic and stable values, including at least one of the following: a stable uplink latency value or range (e.g., m milliseconds to n milliseconds, where m is less than n), and a stable RTT latency value / range (in this case, the stable uplink latency value or range can be understood as half of the stable RTT latency value and range). Optionally, it also includes the percentage probability that the uplink data transmission time meets the stable latency value or range. The uplink latency of the service's uplink data transmission from the UE's upper layer to the first network element needs to meet this third indicator. After the third indicator is met, the first network element then sends the uplink data to the next-hop network device.
[0179] In one example, after generating the first and third indicators, the fifth network element sends the first and third indicators to the third network element. Specifically, the fifth network element sends a policy control and charging (PCC) rule to the third network element; this PCC rule indicates the first and third indicators, or in other words, the PCC rule contains the first and third indicators.
[0180] In another example, the fifth network element sends a second request to the third network element. This second request can be the first request mentioned above, or it can be obtained by processing based on the first request.
[0181] S502b. The third network element acquires the first and third indicators.
[0182] The descriptions of the first and third indicators are the same as above.
[0183] In one example, the third network element receives the first indicator and the third indicator from the fifth network element.
[0184] In another example, if the third network element is locally configured with a first requirement, then the third network element can generate a first indicator and a third indicator based on the first requirement. The method for the third network element to generate the first indicator and the third indicator based on the first requirement can be found in the description in S502a.
[0185] In another example, the third network element receives a second request from the fifth network element, and the third network element can generate a first indicator and a third indicator based on the second request. The method by which the third network element generates the first and third indicators based on the second request can be found in the description in S502a.
[0186] S503. The third network element sends the first information to the UE. Correspondingly, the UE receives the first information.
[0187] After the third network element obtains the first indicator, it sends first information to the UE. This first information indicates that the downlink latency of the service's downlink data transmission from the first network element to the UE's transport layer must meet this first indicator. After meeting this first indicator, the UE's transport layer transmits the downlink data to the UE's upper layer. Specifically, it instructs the UE's transport layer, upon receiving the service's downlink data, to determine whether the transmission latency from the first network element to the UE's transport layer has reached the stable latency indicated by the first indicator. If the stable latency value has not been reached, the data is buffered until it is reached before transmitting the downlink data to the UE's upper layer. For example, this first information is carried in a Non-Access Stratum Protocol Data Unit (NAS PDU) session establishment or modification accept message. Further, this NAS PDU session establishment or modification accept message may also include a Quality of Service (QoS) rule.
[0188] S504. The third network element sends the fifth information to the first network element. Correspondingly, the first network element receives the fifth information.
[0189] After generating the third indicator, the third network element sends the fifth information to the first network element. This fifth information indicates that the uplink latency of the service's uplink data transmission from the UE's upper layer to the first network element must meet this third indicator. After meeting the third indicator, the first network element then sends the uplink data to the next-hop network device. Specifically, this instructs the first network element, upon receiving the downlink data, to determine whether the transmission latency from the UE's upper layer to the first network element has reached the stable latency indicated by the third indicator. If the stable latency value has not been reached, the data is buffered until it is reached before transmitting the uplink data to the next-hop network device.
[0190] In one example, the first network element can be the RAN, and the fifth information can be carried in the N2 session message and sent to the RAN.
[0191] In another example, the first network element can be a user plane function network element, and for example, the fifth information is carried in an N4 session message.
[0192] After receiving the first indicator, the UE can perform the following downlink data caching process:
[0193] S505. The fourth network element sends the first data to the first network element. Correspondingly, the first network element receives the first data.
[0194] The first data refers to the application data sent by the service server to the UE, such as encoded and decoded voice, video, haptic, image, and text data. As shown in Figure 5b, which is a schematic diagram of the communication protocol stack in an embodiment of this application, the first data can be encapsulated by different protocol layers. For example, if the first data is voice or video data, it can be carried by the real-time transport protocol (RTP), i.e., as the payload of the RTP protocol data packet; the RTP protocol data packet can be carried by UDP, i.e., the RTP protocol data packet is used as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the Internet Protocol (IP), i.e., the UDP protocol data packet is used as the payload of the IP protocol data packet; the IP protocol data packet can be carried by layer 2 (L2), i.e., the IP protocol data packet is used as the payload of the L2 protocol data packet; and the L2 protocol data packet can be carried by layer 1 (L1), i.e., the L2 protocol data packet is used as the payload of the L1 protocol data packet.
[0195] In one example, the first network element is the UPF, and the fourth network element sends the first data to the UPF.
[0196] In another example, if the first network element is the RAN, then the fourth network element sends the first data to the RAN via the UPF.
[0197] S506. The first network element sends first data and first time information to the UE. Correspondingly, the UE receives the first data and first time information.
[0198] After receiving the first data, the first network element obtains the first real-time information.
[0199] The first time information is used to indicate the time when the first network element sends the first data, or the time when the first network element receives the first data. Specifically, the time when the first network element sends the first data can be the time when the peer protocol layer between the first network element and the UE sends the first data, such as the time when the Protocol Data Unit layer (PDU layer) of the UPF sends the first data, or the time when the Service Data Adaptation Protocol (SDAP) layer on the RAN side sends the first data. The time when the first network element receives the first data can be the time when the protocol stack layer on the other side corresponding to the peer protocol layer of the first network element and the UE receives the first data, such as the time when the IP layer of the UPF receives the first data, or the time when the GTP-U layer on the RAN side receives the first data. The sending time and receiving time can also be the time when other protocol layers of the first network element send or receive the first data.
[0200] The first network element sends the first data and the first time information to the UE.
[0201] In one scenario, there is no direct connection interface (peer-to-peer protocol layer) between the UE and the first network element. The first network element sends the first data and first time information to the UE through a second network element. A third network element sends a ninth message to the second network element, which instructs the addition of time information to the downlink data of the service; that is, the time information of the downlink data received from the first network element is sent to the UE along with the downlink data. For example, this ninth message is carried in an N2 session message. This ninth message may also include a Quality of Service (QoS) profile. After receiving the first data and first time information from the first network element, the second network element copies the first time information corresponding to the first data according to the ninth message and sends it to the UE along with the first data. For example, the first time information is copied from the header of the GTP-U carrying the first data to the header of the SDAP carrying the first data. Then, the second network element sends the first data and first time information to the UE.
[0202] Referring again to Figure 5b, after the L1 of the first network element receives the L1 protocol data packet from the L1 of the fourth network element, it parses and processes it to the L2 and IP layers. The IP layer carries UDP data packets, the UDP data packets carry RTP data packets, and the payload of the RTP data packets is the first data.
[0203] The process of the first network element sending the first data and the first time information to the second network element is as follows: The first data and the first time information can be carried by the GTP-U protocol, that is, the PDU protocol data packet (whose payload contains the first data, i.e., the aforementioned IP layer) is used as the payload of the GTP-U protocol data packet; the GTP-U protocol data packet can be carried by the UDP protocol, that is, the GTP-U protocol data packet is used as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the IP protocol, that is, the UDP protocol data packet is used as the payload of the IP protocol data packet; the IP protocol data packet can be carried by the L2 protocol, that is, the IP protocol data packet is used as the payload of the L2 protocol data packet; the L2 protocol data packet can be carried by the L1 protocol, that is, the L2 protocol data packet is used as the payload of the L1 protocol data packet.
[0204] After the L1 of the second network element receives the L1 protocol data packet from the L1 of the first network element, it sequentially parses it through the L1, L2, IP layer, UDP layer and GTP-U layer to obtain the first time information corresponding to the first data.
[0205] After the second network element obtains the first time information corresponding to the first data, the first data and the first time information corresponding to the first data can be carried by the 5G-AN protocol layers. That is, the first data is the content of the payload of the 5G-AN protocol data packet, and the first time information is carried in the header of the 5G-AN protocol data packet.
[0206] After the UE's 5G access network protocol layer receives the 5G access network protocol layer protocol data packet from the second network element, it obtains the first time information, and then obtains the first data through parsing of the PDU layer (i.e., the IP layer corresponding to the AS) and the application layer (i.e., the transport layer (such as TCP, UDP, QUIC, etc.) and the application layer (such as the RTP layer) equivalent to the AS).
[0207] In another scenario, the UE has a direct connection interface (peer-to-peer protocol layer) with the first network element, but still needs to send the first data and first time information to the UE through the second network element. The first network element adds the first time information to its peer-to-peer protocol layer with the UE (e.g., the PDU layer), where the peer-to-peer protocol layer between the first network element and the UE can be the QUIC protocol layer. After receiving the data, the UE can parse the first time information from the PDU layer. In this scenario, the first network element sends the first data and first time information to the second network element, and the second network element transparently transmits the first data and first time information to the UE.
[0208] In another scenario, the UE and the first network element have a direct connection interface (peer-to-peer protocol layer), allowing the first network element to directly send first data and first time information to the UE. In this case, the first network element can be the RAN. The RAN adds first time information to the SDAP protocol carrying the first data. After receiving the data, the UE parses the first time information from the SDAP protocol and continues parsing upwards to obtain the first data.
[0209] S507. If the first buffer time is greater than or equal to the first threshold, the UE buffers the first data.
[0210] After the UE receives the first data, specifically the first data delivered by the lower layer of the transport layer, the first buffer time can be determined based on the first indicator and the first time information. The first buffer time is equal to the transmission time of the first data from the first network element to the upper layer of the UE (the set target duration) indicated by the first indicator minus the transmission time already experienced (consumed) from the first network element to the transport layer of the UE. This is used to determine when the first data can be sent to the upper layer of the UE. The first buffer time can also be called the first buffer duration.
[0211] The UE determines the first cache time based on the first indicator and the first time information. If the first cache time is greater than or equal to the first threshold, the first data is cached, and the duration of caching the first data is the first cache duration.
[0212] In one implementation, the UE starts a first buffer remaining time timer. This first buffer remaining time timer is a time variable used to indicate the remaining time the UE can buffer the first data. The initial value of the first buffer remaining time timer is the first buffer time. As the time the UE buffers the first data increases, the value of the first buffer remaining time timer decreases. Before the first buffer remaining time timer expires, the UE continues to buffer the first data. For example, the first threshold can be factory configured or determined by the UE based on experience. For instance, if the first indicator (the transmission time of the first data from the first network element to the upper layer of the UE) is 10ms, and the UE calculates the transmission time (also called transmission delay) from the first network element to the UE's transmission layer as 8ms based on the first time information and the time when the UE's transmission layer receives the first data, and the first threshold is 0, then the first buffer time is 10ms - 8ms = 2ms > 0 (the initial value of the first buffer remaining time timer is 2ms), and the UE buffers the first data for the specific buffer duration, which is the first buffer time, as in the previous example, 2ms. When the UE buffers the first data in the UE's transport layer, it starts a first buffer remaining time timer. The duration of the first buffer remaining time timer is the first buffer duration (e.g., 2ms).
[0213] In another implementation, a first buffering timer is started. This first buffering timer is a time variable used to indicate the time the UE has buffered the first data. The initial value of the first buffering timer is 0, and the maximum value of the first buffering timer is the first buffering time. As the time the UE buffers the first data increases, the value of the first buffering timer increases. If the first buffering timer is less than the first buffering time, the UE continues to buffer the first data. For example, if the first indicator (the transmission time of the first data from the first network element to the upper layer of the UE) is 10ms, and the UE calculates the transmission time (also called transmission delay) from the first network element to the UE's transport layer based on the first time information and the time when the UE's transport layer receives the first data, it is 8ms. Then the first buffering time is 10ms - 8ms = 2ms, and the UE buffers the first data for the specific buffering duration, which is the first buffering time, as in the previous example, 2ms. The first buffering timer is started when the UE buffers the first data in the UE's transport layer, and the duration of the first buffering timer is the first buffering duration (e.g., 2ms). When the value of the first buffer usage timer is equal to the first buffer time, the UE transmits the first data to the upper layer of the UE.
[0214] S508. If the first buffer time is less than or equal to the second threshold, the UE transmits the first data to the upper layer of the UE.
[0215] If the first buffer time is less than or equal to a second threshold, the UE transmits the first data to its upper layer (generally referring to the layer above the UE's transport layer, such as the RTP layer or HTTP layer). For example, the second threshold may be factory-configured or determined by the UE based on experience. The second threshold is less than the first threshold. For example, the second threshold is 0.001ms. For instance, the UE's transport layer transmits the first data to its upper layer when or after the first timer expires, i.e., when or after the remaining first buffer time is 0.001ms.
[0216] Understandably, if the first buffer time is less than or equal to the second threshold, steps S507 and S508 are skipped, and the UE's transport layer transmits the first data to the UE's upper layer. For example, if the first indicator (the transmission time of the first data from the first network element to the UE's upper layer) is 10ms, and the UE calculates the transmission time (also known as the transmission delay) from the first network element to the UE's transport layer as 12ms based on the first time information and the time the UE receives the first data, then the UE's transport layer immediately transmits the first data to the UE's upper layer after receiving the first data.
[0217] It is understandable that the first data mentioned above is a downlink data of the example service mentioned above. For a downlink data, the UE determines whether it needs to be cached based on the first indicator and the first time information. When caching is required, the data is cached. The caching duration is the transmission time of the first data from the first network element to the upper layer of the UE (the set target duration) indicated by the first indicator minus the transmission time already experienced (consumed) from the first network element to the transmission layer of the UE. The transmission of the first data from the UE to the upper layer of the UE can make the downlink transmission delay between the first network element and the transmission layer of the UE a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0218] After receiving the third indicator, the first network element can perform the following process for caching uplink data:
[0219] S509. The UE sends the second data and the second time information to the first network element. Correspondingly, the first network element receives the uplink second data and the second time information.
[0220] The second data refers to the application data sent by the UE to the service server, such as encoded and decoded language, video, haptic, image, and text data.
[0221] The second time information is used to indicate the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer, or the timestamp at which the UE's transport layer sends the second data.
[0222] The UE sends the second data and the second time information to the first network element.
[0223] In one scenario, there is no direct connection interface (peer-to-peer protocol layer) between the UE and the first network element.
[0224] In this scenario, there are two further situations:
[0225] In the first scenario, the first network element calculates the third buffer time based on the third indicator and the second time information. In this case, the UE sends the second data and the second time information to the first network element through the second network element. The third network element sends a ninth message to the second network element, which instructs that time information be added to the uplink data for this service; that is, the time information of the uplink data received from the UE is sent to the first network element along with the uplink data. For example, this ninth message is carried in the N2 session message. This ninth message may also include a QoS profile. After receiving the second data and the second time information from the UE, the second network element copies the second time information corresponding to the second data according to the ninth message and sends it to the first network element along with the second data. For example, the second time information is copied from the header of the SDAP protocol data packet carrying the second data to the header of the GTP-U data packet carrying the first data. Then, the second network element sends the second data and the second time information to the first network element.
[0226] Referring again to Figure 5b, the 5G-AN protocol layer includes SDAP, Packet Data Convergence Protocol (PDCP), Radio Resource Control (RRC), Medium / Media Access Control (MAC), and the physical layer. The UE adds second time information to the SDAP protocol data packet carrying the second data. After receiving the SDAP protocol data packet, the second network element parses the second time information from it. The second data and second time information can be carried by the GTP-U protocol, meaning the second data is included in the payload of the GTP-U protocol data packet, and the second time information is carried in the header of the GTP-U protocol data packet; the GTP-U protocol data packet can be carried by the UDP protocol, meaning the GTP-U protocol data packet serves as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the IP protocol, meaning the UDP protocol data packet serves as the payload of the IP protocol data packet; the IP protocol data packet can be carried by the L2 protocol, meaning the IP protocol data packet serves as the payload of the L2 protocol data packet; and the L2 protocol data packet can be carried by the L1 protocol, meaning the L2 protocol data packet serves as the payload of the L1 protocol data packet. After the L1 of the first network element receives the L1 protocol data packet from the L1 of the second network element, it sequentially parses the data packet through the L1, L2, IP, UDP and GTP-U layers to obtain the second time information.
[0227] The second scenario involves the second network element calculating the second buffer time based on the third indicator and the second time information, and then sending the second data and the second buffer time to the first network element. The first network element then determines the third buffer time based on the second buffer time. Unlike the first scenario, in this case, the UE sends the second data and the second time information to the second network element, and the second network element sends the second data and the second buffer time to the first network element. This second buffer time is equal to the transmission time (set target duration) of the second data from the UE's upper layer to the first network element, as indicated by the third indicator, minus the already elapsed (consumed) transmission time from the UE's upper layer to the second network element.
[0228] Referring again to Figure 5b, the UE adds second time information to the SDAP protocol data packet carrying the second data. After receiving the SDAP protocol data packet, the second network element parses the second time information from the SDAP protocol data packet and determines the second buffer time based on the third indicator and the second time information. The second data and the second buffer time can be carried by the GTP-U protocol, that is, the second data is included in the payload of the GTP-U protocol data packet, and the second buffer time is carried in the header of the GTP-U protocol data packet; the GTP-U protocol data packet can be carried by the UDP protocol, that is, the GTP-U protocol data packet is used as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the IP protocol, that is, the UDP protocol data packet is used as the payload of the IP protocol data packet; the IP protocol data packet can be carried by the L2 protocol, that is, the IP protocol data packet is used as the payload of the L2 protocol data packet; the L2 protocol data packet can be carried by the L1 protocol, that is, the L2 protocol data packet is used as the payload of the L1 protocol data packet. After the L1 of the first network element receives the L1 protocol data packet from the L1 of the second network element, it parses it sequentially through the L1, L2, IP layer, UDP layer, and GTP-U layer to obtain the second buffer time.
[0229] In another scenario, the UE has a direct connection interface (peer-to-peer protocol layer) with the first network element, but still needs to send second data and second time information to the first network element through the second network element. The UE adds the second time information to its peer-to-peer protocol layer with the first network element (e.g., the PDU layer), where the peer-to-peer protocol layer between the UE and the first network element can be the QUIC protocol layer. After receiving the PDU protocol data packet carrying the second data, the first network element can parse the second time information from the PDU layer. In this scenario, the UE sends the second data and second time information to the second network element, and the second network element transparently transmits the second data and second time information to the first network element.
[0230] In another scenario, the UE and the first network element have a direct connection interface (peer-to-peer protocol layer), allowing the UE to directly send second data and second time information to the first network element. In this case, the first network element can be the RAN. Referring again to Figure 5b, the UE adds the second time information to the SDAP protocol data packet carrying the second data. After receiving the SDAP protocol data packet, the second network element parses the second time information from the SDAP protocol data packet.
[0231] S510. If the third buffer time is greater than or equal to the fourth threshold, the first network element buffers the second data. After receiving the second data, the first network element first determines the third buffer time.
[0232] The first network element determines the third buffer time, which falls into the following three cases:
[0233] In the first scenario, the UE sends second data and second time information to the first network element through the second network element. The second network element only copies the second time information from the header of the SDAP protocol data packet carrying the second data to the header of the GTP-U data packet carrying the first data. The first network element receives the second data and the second time information. The second time information is used to indicate the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer (or the timestamp at which the UE's transport layer sends the second data). Then, the first network element determines the third buffer time based on the third indicator and the second time information. This third buffer time is equal to the transmission time (set target duration) of the second data from the UE's upper layer to the first network element as indicated by the third indicator, minus the already experienced (consumed) transmission time from the UE's upper layer to the first network element. This is used to determine when to send the second data to the next-hop network device of the first network element. The third buffer time can also be called the third buffer duration.
[0234] In the second scenario, the second network element calculates the second buffer time based on the third indicator and the second time information, and sends the second data and the second buffer time to the first network element. Upon receiving the second data and the second buffer time from the second network element, the first network element determines the third buffer time based on the second buffer time. This second buffer time is equal to the transmission time (the set target duration) of the second data from the UE's upper layer to the first network element, as indicated by the third indicator, minus the already elapsed (consumed) transmission time from the UE's upper layer to the second network element. The first network element determines the third buffer time based on the second buffer time, which includes the following two implementations: One implementation is that the RAN and UPF know the transmission delay between the RAN and UPF in advance. This transmission delay can be a stable value. Then, after receiving the second buffer time sent by the RAN, the UPF can determine the third buffer time as the second buffer delay minus the transmission delay between the RAN and UPF. The other implementation is that the RAN and UPF know the transmission delay between the RAN and UPF in advance. This transmission delay can be a stable value. Then, when the RAN determines the second buffer time, it subtracts the transmission delay between the RAN and UPF. After receiving the second buffer time, the UPF can use the second buffer time as the third buffer time.
[0235] The third scenario assumes that the N3 interface latency between the RAN and UPF is stable, and latency jitter is introduced by the Uu interface transmission between the RAN and UE. Here, the first network element is the RAN. The UE sends second data and second time information to the RAN. The RAN determines a third buffer time based on a third indicator and the second time information. This third buffer time is equal to the transmission time of the second data from the UE's upper layer to the RAN (the set target duration) indicated by the third indicator, minus the already expended (consumed) transmission time from the UE's upper layer to the RAN. This is used to determine when to send the second data to the next-hop network device (e.g., UPF) of the RAN. The first network element determines whether to buffer the second data based on the third buffer time. If the third buffer time is greater than or equal to a fourth threshold, the second data is buffered for a duration equal to the third buffer time.
[0236] In one implementation, the first network element starts a second buffer remaining timer. This second buffer remaining timer is a time variable used to indicate the remaining time the first network element can buffer the second data. The initial value of the second buffer remaining timer is a third buffer time. As the time the first network element buffers the second data increases, the value of the second buffer remaining timer decreases. Before the second buffer remaining timer expires, the first network element continues to buffer the second data. For example, the fourth threshold can be factory configured, configured by the network through operation administration and maintenance (OAM), or determined by the first network element based on experience. For example, if the third indicator (the transmission delay of the second data from the UE's upper layer to the first network element) is 10ms, and the first network element calculates the transmission delay from the UE's upper layer to the first network element as 8ms based on the second time information and the time it takes for the UE's transport layer to receive the second data from the UE's upper layer, and the fourth threshold is 0ms, then the third buffer time is 10 - 8 = 2ms > 0ms. Therefore, the first network element buffers the second data for the specific duration of the third buffer time, which is 2ms in the previous example. When the first network element caches the second data, it starts a second cache remaining time timer. The duration of the second cache remaining time timer is the third cache time (e.g., 2ms).
[0237] In another implementation, the first network element calculates the second buffering time and starts a second buffering timer. This second buffering timer is a time variable used to indicate the time the first network element has buffered the second data. The initial value of the second buffering timer is 0, and its maximum value is the third buffering time. As the time the first network element has buffered the second data increases, the value of the second buffering timer increases. If the value of the second buffering timer is less than the third buffering time, the first network element continues to buffer the second data. For example, if the third indicator (the transmission time of the second data from the UE's upper layer to the first network element) is 10ms, and the first network element calculates the transmission time (also called transmission latency) from the UE's upper layer to the first network element to be 8ms, then the third buffering time is 10ms - 8ms = 2ms. If the current second buffering timer is 0ms, then the first network element buffers the second data for the same duration as the third buffering time, which is 2ms in the previous example. If the value of the second buffering timer equals the third buffering time, the first network element transmits the first data to its next-hop network device.
[0238] S511. If the third buffer time is less than or equal to the fifth threshold, the first network element sends the second data to the fourth network element.
[0239] For scenarios where there is no direct connection (peer-to-peer protocol layer) between the UE and the first network element, and the UE sends the second data and timestamp to the first network element through the second network element; or for scenarios where there is a direct connection (peer-to-peer protocol layer) between the UE and the first network element, but the UE still needs to send the second data and timestamp to the first network element through the second network element, the first network element sends the second data to the fourth network element if the third buffer time is less than or equal to the fifth threshold. For example, the fifth threshold can be factory configured, configured by the network through OAM, or determined by the first network element based on empirical values. The fifth threshold is less than the fourth threshold.
[0240] In the scenario described above, where there is a direct connection interface (peer-to-peer protocol layer) between the UE and the first network element, and the UE can directly send the second data and timestamp to the first network element, if the third buffer time is less than or equal to the fifth threshold, the second network element transmits the second data to the next-hop network device (e.g., the first network element).
[0241] Understandably, if the third buffer time is less than or equal to the fifth threshold when the first network element receives the second data, steps S510 and S511 are skipped, and the first network element sends the second data to the fourth network element. For example, if the third indicator (the transmission delay of the second data from the UE's upper layer to the first network element) is 10ms, and the first network element calculates the consumed (already experienced) transmission time (also called transmission delay) from the UE's transmission layer to the first network element based on the second time information and the time it takes for the UE's transmission layer to receive the second data from the UE's upper layer, and finds it to be 12ms, then the first network element immediately sends the second data to the fourth network element.
[0242] It is understandable that the second data mentioned above is an uplink data of the example service mentioned above. For an uplink data, the first network element caches the data according to the third indicator and the second time information. After the caching time is the value of the third caching time, the first network element sends the second data to the fourth network element. This can make the uplink transmission delay between the UE's transport layer and the first network element a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0243] It is understood that the above-mentioned downlink caching process (i.e., steps S505 to S508) and uplink caching process (i.e., steps S509 to S511) can be implemented in combination or independently.
[0244] According to an embodiment of this application, a communication method is provided in which a third network element obtains a first indicator and a third indicator according to a first requirement, and sends them to a terminal and a first network element respectively. The terminal and the first network element cache data according to the first indicator and the third indicator respectively, thereby improving the stability of the transmission layer latency of the service.
[0245] The above communication method is described below using the example of the first network element being UPF, the second network element being RAN, the third network element being SMF, and the fourth network element being AF / AS:
[0246] Figure 6 shows a flowchart of another communication method provided in an embodiment of this application. This method is based on the architecture shown in Figure 4a, where there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. In this embodiment, the AF provides a first requirement as a QoS parameter, the UE and UPF perform downlink buffering and uplink buffering respectively, and the RAN synchronizes its clock with the UPF.
[0247] For example, the method may include the following steps:
[0248] S601.AF / AS sends the tenth message to PCF via NEF, or directly to PCF. PCF then receives the tenth message.
[0249] The tenth piece of information is used to indicate the first requirement. The meaning of the first requirement can be found in the description above.
[0250] For example, this tenth information is carried in an Application Functional Session (AFSessionWithQoS) request that includes QoS (in a service-oriented architecture, this request may be an AFSessionWithQoS API call request). The QoS application functional session may also include QoS requirements.
[0251] S602.PCF generates the first and third indicators based on the first requirement.
[0252] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0253] In one example, after the PCF generates the first and third indicators, it sends the first and third indicators to the SMF. For instance, the PCF sends a PCC rule to the SMF, which indicates the first and third indicators, or in other words, the PCC rule contains the first and third indicators.
[0254] In another example, the PCF sends a second request to the SMF. This second request can be the first request mentioned above, or it can be derived from processing the first request.
[0255] S603.SMF retrieves the first and third metrics.
[0256] The meanings of the first and third indicators can be found in the description above.
[0257] In one example, the SMF receives the first and third metrics from the PCF.
[0258] In another example, if the SMF is configured locally with a first requirement, then the SMF can generate a first metric and a third metric based on the first requirement. The method for generating the first and third metrics based on the first requirement can be found in the description in S502a.
[0259] In another example, the SMF receives a second requirement from the PCF, and the SMF can generate a first indicator and a third indicator based on the second requirement. The process of the SMF generating the first and third indicators based on the second requirement can be found in the description in S502a.
[0260] S604.SMF sends the fifth message to UPF. Correspondingly, UPF receives the fifth message.
[0261] The fifth piece of information is used to indicate the third indicator, specifically, the uplink latency of the service's uplink data transmission from the UE's upper layer to the UPF must meet this third indicator. After meeting this third indicator, the UPF then sends the uplink data to the next-hop network device. Specifically, it instructs the UPF, upon receiving the service's downlink data, to determine whether the transmission latency from the UE's upper layer to the UPF has reached the stable latency indicated by the third indicator. If the stable latency value has not been reached, the data is buffered until it is reached before transmitting the uplink data to the UPF's next-hop network device.
[0262] For example, this fifth piece of information is carried in the N4 session message. For instance, this third metric can be included in a forwarding action rule (FAR), instructing the UPF to comply with the third metric when forwarding data for a specific Quality of Service (QoS) flow. Compliance can be understood as forwarding data only after the third metric has been met.
[0263] Understandably, SMF can map data streams with the same third metric to the same QoS flow.
[0264] S605.SMF sends the ninth message to the RAN. The RAN then receives this ninth message.
[0265] The ninth piece of information is used to indicate the addition of time information to the data. Specifically, the ninth piece of information is used to indicate the addition of time information to downlink data, that is, to send the time information of downlink data received from the UPF to the UE along with the downlink data; and / or to indicate the addition of time information to uplink data, that is, to send the time information of uplink data received from the UE's transport layer to the UPF along with the uplink data.
[0266] For example, this ninth piece of information is carried in an N2 session message. This ninth piece of information may also include a Quality of Service (QoS) profile.
[0267] S606.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0268] The first information is used to indicate a first indicator, specifically, the downlink latency of the downlink data of the service transmitted from the UPF to the UE's transport layer must meet this first indicator. After meeting this first indicator, the UE's transport layer transmits the downlink data to the UE's upper layer. Specifically, it instructs the UE's transport layer, upon receiving the downlink data of the service, to determine whether the transmission latency from the UPF to the UE's transport layer has reached the stable latency indicated by the first indicator. If the stable latency value has not been reached, the data is buffered until the stable latency value is reached before transmitting the downlink data to the UE's upper layer.
[0269] For example, this first information is carried in a Non-Access Stratum Protocol Data Unit (NAS PDU) session establishment or modification accept message. Further, the NAS PDU session establishment or modification accept message may also include a Quality of Service (QoS) rule.
[0270] After receiving the first indicator, the UE can perform the following downlink caching process:
[0271] S607.AF / AS sends the first data to the UPF. The UPF then receives this first data.
[0272] The specific implementation of this step can be found in step S505 of the embodiment shown in Figure 5a, and will not be repeated here.
[0273] S608.UPF obtains first-time information based on the fifth piece of information.
[0274] The fifth piece of information is also used to indicate the addition of time information to the downlink data.
[0275] Based on the fifth piece of information mentioned above, the UPF obtains / generates first time information. This first time information indicates the time when the UPF sends the first data, or the time when the UPF receives the first data. Specifically, the time when the UPF sends the first data can be the time when the peer protocol layer between the UPF and the terminal sends the first data, such as the time when the UPF's PDU layer sends the first data. The time when the UPF receives the first data can be the time when the protocol stack layer on the other side corresponding to the peer protocol layer between the UPF and the terminal receives the first data, such as the UPF's IP layer. The sending and receiving times can also be the times when other protocol layers of the UPF send or receive the first data.
[0276] S609.UPF sends the first data and the first time information to the RAN. Correspondingly, the RAN receives the first data and the first time information.
[0277] After receiving the first data and acquiring the first time information, the UPF sends the first data and the first time information to the RAN.
[0278] The aforementioned first data and first time information can be carried by the GTP-U protocol, that is, the PDU protocol data packet (whose payload contains the first data, i.e., the aforementioned IP layer) serves as the payload of the GTP-U protocol data packet; the GTP-U protocol data packet can be carried by the UDP protocol, that is, the GTP-U protocol data packet serves as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the IP protocol, that is, the UDP protocol data packet serves as the payload of the IP protocol data packet; the IP protocol data packet can be carried by the L2 protocol, that is, the IP protocol data packet serves as the payload of the L2 protocol data packet; the L2 protocol data packet can be carried by the L1 protocol, that is, the L2 protocol data packet serves as the payload of the L1 protocol data packet.
[0279] S610.RAN obtains first-time information based on the ninth information.
[0280] After receiving the L1 protocol data packet from the L1 of the first network element, the L1 of the RAN parses it sequentially through the L1, L2, IP layer, UDP layer and GTP-U layer to obtain the first time information corresponding to the first data.
[0281] The ninth piece of information is used to instruct the addition of time information to the downlink data of the service, that is, to send the time information of the downlink data received by the UPF to the UE along with the downlink data. For example, the ninth piece of information is carried in an N2 session message. The ninth piece of information may also include a Quality of Service (QoS) profile. After receiving the first data and the first time information from the UPF, the RAN, based on the ninth piece of information, copies the first time information corresponding to the first data and sends it to the UE along with the first data. For example, the first time information is copied from the header of the GTP-U carrying the first data to the header of the SDAP carrying the first data.
[0282] S611. The RAN sends first data and first time information to the UE. Correspondingly, the UE receives the first data and first time information.
[0283] After the RAN obtains the first time information corresponding to the first data, the first data and the first time information corresponding to the first data can be carried by the 5G access network protocol layers (5G-AN protocol layers). That is, the first data is the content of the protocol data packet of the 5G access network protocol layer, and the first time information is carried in the header of the protocol data packet of the 5G access network protocol layer.
[0284] After the UE's 5G access network protocol layer receives the protocol data packet from the RAN's 5G access network protocol layer, it obtains the first time information. After parsing by the PDU layer (i.e., the IP layer corresponding to the AS) and the application layer (i.e., the transport layer (such as TCP, UDP, QUIC, etc.) and application layer (such as the RTP layer) equivalent to the AS), it obtains the first data.
[0285] S612. If the first buffer time is greater than or equal to the first threshold, the UE buffers the first data.
[0286] The specific implementation of this step can be found in step S507 of the embodiment shown in Figure 5a, and will not be repeated here.
[0287] S613. If the first buffer time is less than or equal to the second threshold, the UE transmits the first data to the upper layer of the UE, where the second threshold is less than the first threshold.
[0288] The specific implementation of this step can be found in step S508 of the embodiment shown in Figure 5a, and will not be repeated here.
[0289] It is understandable that the first data mentioned above is a downlink data of the example service mentioned above. For a downlink data, the UE caches the data according to the first indicator and the first time information until the remaining time of the first cache is less than or equal to the second threshold. Then the UE transmits the first data to the upper layer of the UE. This can make the downlink transmission delay between the first network element and the UE's transmission layer a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0290] After receiving the third indicator, UPF can perform the following uplink caching process:
[0291] S614. The UE sends the second data and the second time information to the RAN. Correspondingly, the RAN receives the uplink second data and the second time information.
[0292] The second time information is used to indicate the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer, or the timestamp at which the UE's transport layer sends the second data.
[0293] S615.RAN obtains the second time information based on the ninth information.
[0294] The meaning of the ninth information can be found above. After receiving the second data and the second time information from the UE, the RAN obtains the second time information based on the ninth information. For example, the second time information is copied from the header of the SDAP protocol data packet carrying the second data to the header of the GTP-U carrying the first data.
[0295] S616.RAN sends second data and second time information to UPF. Correspondingly, UPF receives the second data and second time information.
[0296] After receiving the SDAP protocol data packet, the RAN parses the second time information from it. The second data and second time information can be carried by the GTP-U protocol, meaning the second data is included in the payload of the GTP-U protocol data packet, and the second time information is carried in the header. Alternatively, the GTP-U protocol data packet can be carried by the UDP protocol, meaning the GTP-U protocol data packet serves as the payload of a UDP protocol data packet. UDP protocol data packets can be carried by the IP protocol, meaning the UDP protocol data packet serves as the payload of an IP protocol data packet. IP protocol data packets can be carried by the L2 protocol, meaning the IP protocol data packet serves as the payload of an L2 protocol data packet. L2 protocol data packets can be carried by the L1 protocol, meaning the L2 protocol data packet serves as the payload of an L1 protocol data packet. After receiving the L1 protocol data packet from the RAN, the UPF's L1 layer parses it sequentially through the L1, L2, IP, UDP, and GTP-U layers to obtain the second time information.
[0297] S617. If the third cache time is greater than or equal to the fourth threshold, the UPF caches the second data, and the second cache time is determined based on the third indicator and the second time information.
[0298] The specific implementation of this step can be referred to step S510 of the embodiment shown in Figure 5a, and will not be repeated here.
[0299] S618. If the third buffer time is less than or equal to the fifth threshold, the UPF sends the second data to the AF / AS, where the fifth threshold is less than the fourth threshold.
[0300] The specific implementation of this step can be referred to step S511 of the embodiment shown in Figure 5a, and will not be repeated here.
[0301] It is understandable that the second data mentioned above is an uplink data of the example service. For an uplink data, the UPF caches the data according to the third indicator and the second time information until the third cache time is less than or equal to the fifth threshold. Then the UPF sends the second data to the AF / AS. This can make the uplink transmission delay between the UE's transport layer and the first network element a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0302] It is understood that the above-mentioned downlink caching process (i.e., steps S607 to S613) and uplink caching process (i.e., steps S613 to S618) can be implemented in combination or independently.
[0303] According to a communication method provided in an embodiment of this application, the AF / AS provides a request to the network. The network generates a first indicator and a third indicator based on the first request and sends them to the UE and UPF respectively. The UE and UPF cache data based on the first indicator and the third indicator respectively, which can achieve stable latency of the wireless link, improve the stability of the transmission layer latency of the service, and increase network throughput.
[0304] The above embodiments describe a scheme where downlink data is cached at the UE and uplink data is cached at the UPF.
[0305] Assuming the N3 interface latency between the RAN and UPF is stable, and the latency jitter is introduced by the Uu interface transmission between the RAN and UE, the following embodiment will describe a scheme where downlink data is buffered at the UE and uplink data is buffered at the RAN:
[0306] Figure 7 shows a flowchart of another communication method provided in an embodiment of this application. This method is based on the architecture shown in Figure 4a, where there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. Exemplarily, the method may include the following steps:
[0307] S701.AF / AS sends the tenth message to PCF via NEF, or directly to PCF. PCF then receives the tenth message.
[0308] For a detailed implementation of this step, please refer to step S501 of the embodiment shown in Figure 5a.
[0309] S702.PCF generates the first and third indicators based on the first requirement.
[0310] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0311] In one example, after the PCF generates the first and third indicators, it sends the first and third indicators to the SMF. For instance, the PCF sends a PCC rule to the SMF, which indicates the first and third indicators, or in other words, the PCC rule contains the first and third indicators.
[0312] In another example, the PCF sends a second request to the SMF. This second request can be the first request mentioned above, or it can be derived from processing the first request.
[0313] S703.SMF obtains the first and third indicators.
[0314] The meanings of the first and third indicators can be found in the description above.
[0315] In one example, the SMF receives the first and third metrics from the PCF.
[0316] In another example, if the SMF is configured locally with a first requirement, then the SMF can generate a first metric and a third metric based on the first requirement. The method for generating the first and third metrics based on the first requirement can be found in the description in S502a.
[0317] In another example, the SMF receives a second requirement from the PCF, and the SMF can generate a first indicator and a third indicator based on the second requirement. The process of the SMF generating the first and third indicators based on the second requirement can be found in the description in S502a.
[0318] Among them, SMF can determine the stable latency index of the access network (AN) segment (between UE and RAN), that is, the third index. For example, the third index can be determined based on the average latency of N3, or the worst latency, or latency values such as P90, P95, P99, etc.
[0319] S704.SMF sends the N4 session configuration to UPF. Correspondingly, UPF receives the N4 session configuration.
[0320] For specific implementation details of this step, please refer to existing technologies.
[0321] S705.SMF sends the fifth message to the RAN. The RAN then receives this fifth message.
[0322] The fifth piece of information is used to indicate the third indicator, specifically, the uplink latency of the service's uplink data transmission from the UE's upper layer to the RAN must meet this third indicator. After meeting this third indicator, the RAN then sends the uplink data to the next-hop network device. Specifically, it instructs the RAN, upon receiving the service's downlink data, to determine whether the transmission latency from the UE's upper layer to the RAN has reached the stable latency indicated by the third indicator. If the stable latency value has not been reached, the data is buffered until it is reached before transmitting the uplink data to the RAN's next-hop network device.
[0323] This third metric instructs the RAN to adhere to it during data forwarding for a specific Quality of Service (QoS) flow. "Adherence" can be understood as forwarding data only after the third metric has been met.
[0324] Understandably, SMF can map data streams with the same third metric to the same QoS flow.
[0325] For example, this fifth piece of information is carried in the N2 session message. This fifth piece of information may also include a QoS profile.
[0326] S706.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0327] The first information is used to indicate a first indicator, specifically, the downlink latency of the downlink data of the service transmitted from the RAN to the UE's transport layer must meet this first indicator. After meeting the first indicator, the UE's transport layer transmits the downlink data to the UE's upper layer. Specifically, it instructs the UE's transport layer, upon receiving the downlink data of the service, to determine whether the transmission latency from the RAN to the UE's transport layer has reached the stable latency indicated by the first indicator. If the stable latency value has not been reached, the data is buffered until the stable latency value is reached before transmitting the downlink data to the UE's upper layer.
[0328] For a detailed implementation of this step, please refer to step S606 of the embodiment shown in Figure 6.
[0329] After receiving the first indicator, the UE can perform the following downlink caching process:
[0330] S707.AF / AS sends the first data to the UPF. The UPF then receives this first data.
[0331] The S708.UPF sends the first data to the RAN. The RAN then receives this first data.
[0332] This step differs from step S608 in the embodiment shown in Figure 6 in that the UPF may not send the first-time information.
[0333] S709.RAN obtains first-time information based on the fifth information.
[0334] After receiving the first data, the RAN obtains the first time information based on the fifth piece of information mentioned above. This first time information indicates the time when the RAN sends the first data to the UE, or the time when the RAN receives the first data from the UPF. Specifically, the time when the RAN sends the first data can be the time when the peer protocol layer between the RAN and the terminal sends the first data, such as the time when the RAN's SDAP sends the first data. The time when the RAN receives the first data can be the time when the protocol stack layer on the other side corresponding to the peer protocol layer between the RAN and the terminal receives the first data, such as the time when the RAN's GTP-U layer receives the first data. The sending and receiving times can also be the times when other protocol layers of the RAN send or receive the first data.
[0335] S710.RAN sends first data and first time information to UE. Correspondingly, UE receives the first data and first time information.
[0336] After the RAN obtains the first time information corresponding to the first data, the first data and the first time information corresponding to the first data can be carried by the 5G access network protocol layer. That is, the first data is the content of the payload of the 5G access network protocol layer protocol data packet, and the first time information is carried in the header of the 5G access network protocol layer protocol data packet.
[0337] After the UE's 5G access network protocol layer receives the protocol data packet from the RAN's 5G access network protocol layer, it obtains the first time information. After parsing by the PDU layer (i.e., the IP layer corresponding to the AS) and the application layer (i.e., the transport layer (such as TCP, UDP, QUIC, etc.) and the application layer (such as the RTP layer) corresponding to the AS), it obtains the first data.
[0338] S711. If the first buffer time is greater than or equal to the first threshold, the UE buffers the first data.
[0339] The specific implementation of this step can be found in step S507 of the embodiment shown in Figure 5a, and will not be repeated here.
[0340] S712. If the first buffer time is less than or equal to the second threshold, the UE transmits the first data to the upper layer of the UE, where the second threshold is less than the first threshold.
[0341] The specific implementation of this step can be found in step S508 of the embodiment shown in Figure 5a, and will not be repeated here.
[0342] It is understandable that the first data mentioned above is a downlink data of the example service. For a downlink data, the UE caches the data according to the first indicator and the first time information until the first cache time is less than or equal to the second threshold. Then the UE transmits the first data to the upper layer of the UE. This can make the downlink transmission delay between the RAN and the UE's transport layer a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0343] After receiving the third indicator, the RAN can perform the following uplink caching process:
[0344] S713. The UE sends the second data and the second time information to the RAN. Correspondingly, the RAN receives the uplink second data and the second time information.
[0345] The second time information is used to indicate the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer, or it is used to indicate the timestamp at which the UE's transport layer sends the second data. Referring again to Figure 5b, the UE adds the second time information to the SDAP protocol data packet carrying the second data. After the RAN receives the SDAP protocol data packet, it parses the second time information from the SDAP protocol data packet.
[0346] S714. If the third cache time is greater than or equal to the fourth threshold, the RAN caches the second data.
[0347] After receiving the second data, the RAN can determine the third buffer time based on the third indicator and the second time information. If the third buffer time is greater than or equal to the fourth threshold, the RAN buffers the second data. For a detailed implementation of this step, please refer to step S510 of the embodiment shown in Figure 5a.
[0348] S715. If the third buffer time is less than or equal to the fifth threshold, the RAN sends the second data to the UPF. The UPF then receives the second data. The fifth threshold is less than the fourth threshold.
[0349] After the RAN caches the second data, it can internally start a second timer. If the third cache time is less than or equal to the fifth threshold, the RAN sends the second data to the UPF. For a detailed implementation of this step, please refer to step S511 of the embodiment shown in Figure 5a.
[0350] The S716.UPF sends second data to the AF / AS. The AF / AS then receives this second data.
[0351] After receiving the second data, UPF sends the second data to AF / AS.
[0352] It is understandable that the second data mentioned above is an uplink data of the example service. For an uplink data, the RAN buffers the second data according to the third indicator and the second time information until the third buffer time is less than or equal to the fifth threshold. Then the RAN sends the second data to the UPF. This can make the uplink transmission delay between the UE's transport layer and the RAN a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0353] It is understood that the above-mentioned downlink caching process (i.e., steps S707 to S712) and uplink caching process (i.e., steps S713 to S716) can be implemented in combination or independently.
[0354] According to a communication method provided in an embodiment of this application, the AF / AS generates a first indicator and a third indicator based on a first requirement, and sends them to the UE and RAN respectively. The UE and RAN cache data based on the first indicator and the third indicator respectively, which can achieve stable latency of the wireless link, improve the stability of the transmission layer latency of the service, and increase network throughput.
[0355] The above embodiments describe a scheme assuming that the N3 interface latency between the RAN and UPF is stable, and that latency jitter is introduced by the Uu interface transmission between the RAN and UE, with downlink data buffered at the UE and uplink data buffered at the RAN.
[0356] The following embodiment describes a scheme in which the RAN calculates a second cache time, the UPF obtains a third cache time based on the second cache time, and performs caching based on the third cache time:
[0357] Figure 8 shows a flowchart of another communication method provided in an embodiment of this application. This method is based on the architecture shown in Figure 4a, where there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. Exemplarily, the method may include the following steps:
[0358] S801.AF / AS sends the tenth message to PCF via NEF, or directly to PCF. PCF then receives the tenth message.
[0359] For a detailed implementation of this step, please refer to step S501 of the embodiment shown in Figure 5a.
[0360] S802.PCF generates the first and third indicators based on the first requirement.
[0361] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0362] S803.SMF retrieves the first and third metrics.
[0363] For a detailed implementation of this step, please refer to step S502b of the embodiment shown in Figure 5a.
[0364] S804.SMF sends the N4 session configuration to UPF. The UPF then receives the N4 session configuration.
[0365] For specific implementation details of this step, please refer to existing technologies.
[0366] S805.SMF sends the fifth message to the RAN. The RAN then receives this fifth message.
[0367] The fifth piece of information is used to indicate the third indicator, specifically, the uplink latency of the service's uplink data transmission from the UE's upper layer to the UPF must meet this third indicator. After meeting this third indicator, the UPF then sends the uplink data to the next-hop network device. Specifically, it instructs the UPF, upon receiving the service's downlink data, to determine whether the transmission latency from the UE's upper layer to the UPF has reached the stable latency indicated by the third indicator. If the stable latency value has not been reached, the data is buffered until it is reached before transmitting the uplink data to the UPF's next-hop network device.
[0368] This third metric instructs the UPF to adhere to it during data forwarding for a specific QoS flow. "Adherence" can be understood as forwarding data only after the third metric has been met.
[0369] Understandably, SMF can map data streams with the same third metric to the same QoS flow.
[0370] For example, this fifth piece of information is carried in the N2 session message. This fifth piece of information may also include a QoS profile.
[0371] S806.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0372] The first information is used to indicate a first indicator, specifically, the downlink latency of the downlink data of the service transmitted from the UPF to the UE's transport layer must meet this first indicator. After meeting this first indicator, the UE's transport layer transmits the downlink data to the UE's upper layer. Specifically, it instructs the UE's transport layer, upon receiving the downlink data of the service, to determine whether the transmission latency from the UPF to the UE's transport layer has reached the stable latency indicated by the first indicator. If the stable latency value has not been reached, the data is buffered until the stable latency value is reached before transmitting the downlink data to the UE's upper layer.
[0373] For a detailed implementation of this step, please refer to step S606 of the embodiment shown in Figure 6.
[0374] After receiving the first indicator, the UE can perform the following downlink caching process:
[0375] S807.AF / AS sends the first data to the UPF. The UPF then receives this first data.
[0376] The specific implementation of this step can be found in step S505 of the embodiment shown in Figure 5a, and will not be repeated here.
[0377] The S808.UPF sends the first data to the RAN. The RAN then receives this first data.
[0378] This step differs from step S608 in the embodiment shown in Figure 6 in that the UPF may not send the first-time information.
[0379] S809.RAN obtains first-time information based on the fifth information.
[0380] After receiving the first data, the RAN obtains the first time information based on the fifth piece of information mentioned above. This first time information indicates the time when the RAN sends the first data to the UE, or the time when the RAN receives the first data from the UPF. Specifically, the time when the RAN sends the first data can be the time when the peer protocol layer between the RAN and the terminal sends the first data, such as the time when the RAN's SDAP sends the first data. The time when the RAN receives the first data can be the time when the protocol stack layer on the other side corresponding to the peer protocol layer between the RAN and the terminal receives the first data, such as the RAN's GTP-U layer. The sending and receiving times can also be the times when other protocol layers of the RAN send or receive the first data.
[0381] S810.RAN sends first data and first time information to UE. Correspondingly, UE receives the first data and first time information.
[0382] After the RAN obtains the first time information corresponding to the first data, the first data and the first time information corresponding to the first data can be carried by the 5G access network protocol layer. That is, the first data is the content of the payload of the 5G access network protocol layer protocol data packet, and the first time information is carried in the header of the 5G access network protocol layer protocol data packet.
[0383] After the UE's 5G access network protocol layer receives the protocol data packet from the RAN's 5G access network protocol layer, it obtains the first time information. After parsing by the PDU layer (i.e., the IP layer corresponding to the AS) and the application layer (i.e., the transport layer (such as TCP, UDP, QUIC, etc.) and the application layer (such as the RTP layer) corresponding to the AS), it obtains the first data.
[0384] S811. If the first buffer time is greater than or equal to the first threshold, the UE buffers the first data, and the first buffer time is determined based on the first indicator and the first time information.
[0385] The specific implementation of this step can be found in step S507 of the embodiment shown in Figure 5a, and will not be repeated here.
[0386] S812. If the first buffer time is less than or equal to the second threshold, the UE transmits the first data to the upper layer of the UE, where the second threshold is less than the first threshold.
[0387] The specific implementation of this step can be found in step S508 of the embodiment shown in Figure 5a, and will not be repeated here.
[0388] It is understandable that the first data mentioned above is a downlink data of the example service. For any downlink data, the UE caches the data according to the first indicator and the first time information until the first cache time is less than or equal to the second threshold. Then the UE transmits the first data to the upper layer of the UE. This can make the downlink transmission delay between the UPF and the UE's transport layer a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0389] After receiving the third indicator, the RAN can calculate the second buffer time. The UPF can determine the third buffer time based on the second buffer time and perform the following uplink buffering process based on the third buffer time:
[0390] S813. The UE sends the second data and the second time information to the RAN. Correspondingly, the RAN receives the uplink second data and the second time information.
[0391] Referring again to Figure 5b, the UE adds second time information to the SDAP protocol data packet carrying the second data. After receiving the SDAP protocol data packet, the RAN parses the second time information from the SDAP protocol data packet.
[0392] S814.RAN determines the second buffer time based on the third indicator and the second time information.
[0393] The RAN can determine the second buffer time based on the third indicator and the second time information. The second buffer time is equal to the transmission time of the second data from the upper layer of the UE to the UPF (the set target duration) indicated by the third indicator, minus the transmission time already experienced (consumed) from the upper layer of the UE to the RAN.
[0394] S815.RAN sends the second data and the second buffer time to UPF. Correspondingly, UPF receives the second data and the second buffer time.
[0395] Referring again to Figure 5b, the second data and the second buffer time can be carried by the GTP-U protocol, meaning the second data is included in the payload of the GTP-U protocol data packet, and the second buffer time is carried in the header of the GTP-U protocol data packet; the GTP-U protocol data packet can be carried by the UDP protocol, meaning the GTP-U protocol data packet serves as the payload of the UDP protocol data packet; the UDP protocol data packet can be carried by the IP protocol, meaning the UDP protocol data packet serves as the payload of the IP protocol data packet; the IP protocol data packet can be carried by the L2 protocol, meaning the IP protocol data packet serves as the payload of the L2 protocol data packet; and the L2 protocol data packet can be carried by the L1 protocol, meaning the L2 protocol data packet serves as the payload of the L1 protocol data packet. After the UPF L1 receives the L1 protocol data packet from the RAN L1, it is parsed sequentially through the L1, L2, IP, UDP, and GTP-U layers to obtain the second buffer time.
[0396] S816.UPF determines the third cache time based on the second cache time, and if the third cache time is greater than or equal to the fourth threshold, UPF caches the second data.
[0397] The specific implementation of this step can be referred to step S510 of the embodiment shown in Figure 5a, and will not be repeated here.
[0398] The second cache time is calculated by the RAN, and the third cache time is determined by the UPF based on the second cache time. The second data is then cached based on the third cache time. This can make full use of the existing functions and storage resources of the UPF and avoid caching too much data in the RAN, thus avoiding burdening the RAN.
[0399] S817. If the third buffer time is less than or equal to the fifth threshold, the UPF sends the second data to the AF / AS. Correspondingly, the UPF receives the second data. The fifth threshold is less than the fourth threshold.
[0400] For a detailed implementation of this step, please refer to step S511 of the embodiment shown in Figure 5a.
[0401] It is understandable that the second data mentioned above is an uplink data of the example service. For an uplink data, the UPF caches the data according to the second buffer time until the third buffer time is less than or equal to the fifth threshold. The UPF sends the fourth data to the AF / AS. This can make the uplink transmission delay between the UE's transport layer and the UPF a stable value or a stable small interval, which can avoid delay jitter caused by different arrival time differences of data packets.
[0402] It is understood that the above-mentioned downlink caching process (i.e., steps S807 to S812) and uplink caching process (i.e., steps S813 to S817) can be implemented in combination or independently.
[0403] According to a communication method provided in an embodiment of this application, the AF / AS generates a first indicator and a third indicator based on a first requirement, and sends them to the UE and RAN respectively. The UE performs downlink data buffering based on the first indicator. The RAN determines a second buffering time based on the third indicator and the timestamp of the second data received from the upper layer of the UE by the UE's transport layer, and sends the second buffering time to the UPF. The UPF determines a third buffering time based on the second buffering time and performs uplink buffering based on the third buffering time. This method can achieve stable latency of the wireless link, improve the stability of the transport layer latency of the service, and increase network throughput.
[0404] The embodiments shown in Figures 6 to 8 above describe how to perform uplink and downlink caching when there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. The following embodiment, shown in Figure 9, describes how to perform uplink and downlink caching when there is a direct connection interface (peer-to-peer protocol layer) between the UE and the UPF.
[0405] Figure 9 shows a flowchart of another communication method provided in an embodiment of this application. This method is based on the architecture shown in Figure 4b, where the UE and UPF have a direct connection interface (peer-to-peer protocol layer). Exemplarily, the method may include the following steps:
[0406] S901.AF / AS sends the tenth message to PCF via NEF, or directly to PCF. PCF then receives the tenth message.
[0407] The tenth piece of information is used to indicate the first requirement.
[0408] For a detailed implementation of this step, please refer to step S501 of the embodiment shown in Figure 5a.
[0409] S902.PCF generates the first and third indicators.
[0410] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0411] S903.SMF obtains the first and third indicators.
[0412] For a detailed implementation of this step, please refer to step S502b of the embodiment shown in Figure 5a.
[0413] S904.SMF sends the fifth message to UPF. Correspondingly, UPF receives the fifth message.
[0414] The fifth piece of information is used to indicate the third indicator.
[0415] Furthermore, this fifth piece of information is also used to instruct the addition of time information to the data.
[0416] For a detailed implementation of this step, please refer to step S604 of the embodiment shown in Figure 6.
[0417] S905.SMF sends an N2 session to the RAN. The RAN then receives the N2 session.
[0418] The N2 session includes a Quality of Service (QoS) profile.
[0419] The implementation of this step differs from the embodiment shown in Figure 6. In this embodiment, since there is a direct connection interface (peer protocol layer) between the UE and the UPF, the timestamps of the UE and the UPF can be directly transmitted to the other end without the intervention of the RAN node.
[0420] S906.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0421] The first information is used to indicate the first indicator.
[0422] For a detailed implementation of this step, please refer to step S606 of the embodiment shown in Figure 6.
[0423] After receiving the first indicator, the UE can perform the following downlink caching process:
[0424] S907.AF / AS sends the first data to the UPF. The UPF then receives this first data.
[0425] The specific implementation of this step can be found in step S505 of the embodiment shown in Figure 5a, and will not be repeated here.
[0426] S908.UPF obtains first-time information based on the fifth piece of information.
[0427] After receiving the first data, the UPF obtains the first time information according to the fifth piece of information mentioned above. This first time information indicates the time when the UPF sends the first data to the RAN, or the time when the UPF receives the first data from the network. Specifically, the time when the UPF sends the first data can be the time when the peer protocol layer of the UPF and the UE sends the first data, for example, the time when the UPF's Protocol Data Unit layer sends the first data. The time when the UPF receives the first data can be the time when the protocol stack layer on the other side corresponding to the peer protocol layer of the first network element and the UE receives the first data, for example, the time when the UPF's IP layer receives the first data. The sending and receiving times can also be the times when other protocol layers of the UPF send or receive the first data.
[0428] The S909.UPF sends the first data and the first time information to the RAN. Correspondingly, the RAN receives the second data and the first time information.
[0429] The UPF adds first-time information to its peer protocol layer with the UE (e.g., the PDU layer), where the peer protocol layer between the UPF and the UE can be the QUIC protocol layer. After receiving the data, the UE can parse the first-time information from the PDU layer. The UPF sends the first data and first-time information to the RAN, and the RAN transparently transmits the first data and first-time information to the UE.
[0430] S910.RAN sends first data and first time information to UE. Correspondingly, UE receives the first data and first time information.
[0431] S911. If the first buffer time is greater than or equal to the first threshold, the UE buffers the first data, and the first buffer time is determined based on the first indicator and the first time information.
[0432] The specific implementation of this step can be found in step S507 of the embodiment shown in Figure 5a, and will not be repeated here.
[0433] S912. If the first buffer time is less than or equal to the second threshold, the UE transmits the first data to the upper layer of the UE, where the second threshold is less than the first threshold.
[0434] The specific implementation of this step can be found in step S508 of the embodiment shown in Figure 5a, and will not be repeated here.
[0435] After receiving the third indicator, UPF can perform the following uplink caching process:
[0436] S913. The UE sends the second data and the second time information to the RAN. Correspondingly, the RAN receives the uplink second data and the second time information.
[0437] The second time information is used to indicate the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer, or the timestamp at which the UE's transport layer sends the second data.
[0438] S914.RAN sends second data and second time information to UPF. Correspondingly, UPF receives the second data and second time information.
[0439] In this embodiment, the RAN transmits the second data and the second time information to the UPF.
[0440] S915. If the third cache time is greater than or equal to the fourth threshold, the UPF caches the second data.
[0441] The UPF receives the second data and the second time information. The second time information indicates the timestamp (also called the moment) at which the UE's transport layer receives the second data from the UE's upper layer, or the timestamp at which the UE's transport layer sends the second data. The UPF then determines the third buffer time based on the third indicator and the second time information. This third buffer time is equal to the transmission time (set target duration) of the second data from the UE's upper layer to the UPF, as indicated by the third indicator, minus the already elapsed (consumed) transmission time from the UE's upper layer to the UPF. This buffer time is used to determine when to send the second data to the UPF's next-hop network device.
[0442] The specific implementation of this step can be referred to step S510 of the embodiment shown in Figure 5a, and will not be repeated here.
[0443] S916. If the third buffer time is less than or equal to the fifth threshold, the UPF sends the second data to the AF / AS, where the fifth threshold is less than the fourth threshold.
[0444] The specific implementation of this step can be referred to step S511 of the embodiment shown in Figure 5a, and will not be repeated here.
[0445] It is understood that the above-mentioned downlink caching process (i.e., steps S907 to S912) and uplink caching process (i.e., steps S913 to S916) can be implemented in combination or independently.
[0446] According to a communication method provided in an embodiment of this application, the AF / AS generates a first indicator and a second indicator based on a first requirement, and sends them to the UE and UPF respectively. The UE and UPF cache data according to the first indicator and the second indicator respectively, which can achieve stable latency of the wireless link, improve the stability of the transmission layer latency of the service, and increase network throughput.
[0447] The above embodiments describe a scheme where a fourth network element issues a first requirement, a third network element generates a first indicator and a second indicator, and the UE and the first network element calculate and cache the buffer time based on the first and second indicators, respectively. However, it is possible that the first indicator and / or the second indicator cannot be met. The following describes how to handle situations where the first indicator and / or the second indicator cannot be met:
[0448] Figure 10 shows a flowchart of another communication method provided in this application embodiment. Exemplarily, this method is based on the architecture shown in Figure 4a, where there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. This method can also be applied to the architecture shown in Figure 4b, where there is a direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. In this embodiment, uplink caching is performed by the RAN. Exemplarily, the method may include the following steps:
[0449] S1001.AF / AS sends the tenth message to PCF via NEF, or directly to PCF. PCF then receives the tenth message accordingly.
[0450] For a detailed implementation of this step, please refer to step S601 of the embodiment shown in Figure 6.
[0451] S1002.PCF generates the first and third indicators based on the first requirement.
[0452] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0453] S1003.SMF obtains the first and third indicators.
[0454] For a detailed implementation of this step, please refer to step S502b of the embodiment shown in Figure 5a.
[0455] S1004.SMF sends the N4 session configuration to UPF. Correspondingly, UPF receives the N4 session configuration.
[0456] For specific implementation details of this step, please refer to existing technologies.
[0457] S1005.SMF sends the fifth message to the RAN. The RAN then receives this fifth message.
[0458] For a detailed implementation of this step, please refer to step S705 of the embodiment shown in Figure 7.
[0459] S1006.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0460] The first information is used to indicate the first indicator.
[0461] For a detailed implementation of this step, please refer to step S606 of the embodiment shown in Figure 6.
[0462] S1007-S1016: Refer to steps S707-S716 in the embodiment shown in FIG7.
[0463] S1017.RAN detects that the time for the first data to be transmitted from UPF to the upper layer of UE exceeds the first indicator.
[0464] The RAN can monitor the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE. For example, the UE can report to the RAN that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds a first indicator.
[0465] The RAN detects that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds the first indicator (referred to as stable delay upper bound failure, or stable delay upper bound not guaranteed), that is, the UE has not transmitted the first data to the upper layer when the time indicated by the first indicator arrives.
[0466] In addition, the RAN can also monitor the second data sent by the terminal and monitor whether the stable uplink latency of the second data (i.e. the time it takes for the second data to be transmitted from the upper layer of the UE to the UPF) exceeds the third indicator.
[0467] S1018.RAN sends the eleventh message to AF / AS via SMF and PCF. Correspondingly, AF / AS receives the eleventh message.
[0468] Alternatively, the RAN can also send the eleventh message directly to the AF / AS via the SMF.
[0469] The eleventh piece of information is used to indicate that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds the first indicator.
[0470] For example, the aforementioned eleventh piece of information can be carried in a Quality of Service Notification Control (QNC) message.
[0471] Furthermore, the eleventh piece of information can also indicate whether the failure is in the uplink or downlink direction, that is, whether the time for the first data to be transmitted from the UPF to the upper layer of the UE exceeds the first indicator, or the time for the second data to be transmitted from the upper layer of the UE to the UPF exceeds the third indicator.
[0472] S1019.AF / AS sends the fourth information to the UE via PCF, SMF, and RAN. The UE then receives this fourth information.
[0473] After receiving the eleventh message mentioned above, AF / AS can implement it in the following two ways:
[0474] One implementation involves the eleventh piece of information indicating that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds a first indicator. In this case, the AF / AS updates the first requirement (the SMF can generate an updated first indicator based on the updated first requirement sent by the AF / AS, for example, increasing the downlink stability delay) and sends a fourth piece of information to the UE. This fourth piece of information indicates a second indicator. For example, the second indicator may specifically be a switching alternative QoS profile or an update to the first indicator in an existing QoS profile.
[0475] Similarly, when the eleventh information is used to indicate that the stable uplink latency of the second data exceeds the third indicator, AF / AS updates the third indicator to the fourth indicator.
[0476] Another implementation involves AF / AS adjusting the application layer packet transmission, for example, controlling the transmission rate of the transport layer.
[0477] S1020. Each network element will subsequently be monitored and cached according to the second indicator.
[0478] According to a communication method provided in an embodiment of this application, when the upper bound of the stable delay fails, the RAN notifies the AF / AS that the upper bound of the stable delay has failed. The AF / AS can then update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thereby improving the network throughput.
[0479] The above embodiments describe the handling scheme when the stable latency upper bound fails during downlink caching by the UE and uplink caching by the RAN.
[0480] The following examples describe the handling scheme when the stable latency upper bound fails during downlink caching by the UE and uplink caching by the UPF:
[0481] Figure 11 shows a flowchart of another communication method provided in this application embodiment. This method is based on the architecture shown in Figure 4a, where there is no direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. This method can also be applied to the architecture shown in Figure 4b, where there is a direct connection interface (peer-to-peer protocol layer) between the UE and the UPF. Exemplarily, the method may include the following steps:
[0482] S1101.AF / AS sends the tenth message to the PCF via NEF, or directly to the PCF. The PCF then receives the tenth message.
[0483] The tenth piece of information is used to indicate the first requirement.
[0484] For a detailed implementation of this step, please refer to step S601 of the embodiment shown in Figure 6.
[0485] S1102.PCF generates the first and third indicators based on the first requirement.
[0486] For a detailed implementation of this step, please refer to step S502a of the embodiment shown in Figure 5a.
[0487] S1103.SMF obtains the first and third indicators.
[0488] For a detailed implementation of this step, please refer to step S502b of the embodiment shown in Figure 5a.
[0489] S1104.SMF sends the fifth message to UPF. Correspondingly, UPF receives the fifth message.
[0490] The fifth piece of information is used to indicate the third indicator.
[0491] Furthermore, this fifth piece of information is also used to instruct the addition of time information to the data.
[0492] For a detailed implementation of this step, please refer to step S604 of the embodiment shown in Figure 6.
[0493] S1105.SMF sends the ninth message to the RAN. The RAN receives the ninth message accordingly.
[0494] The ninth piece of information is used to indicate the addition of time information to the data. Specifically, the ninth piece of information is used to indicate the addition of time information to downlink data and / or the addition of time information to uplink data.
[0495] For a detailed implementation of this step, please refer to step S605 of the embodiment shown in Figure 6.
[0496] S1106.SMF sends the first information to the UE. Correspondingly, the UE receives the first information.
[0497] The first information is used to indicate the first indicator.
[0498] S1107-S1118: Refer to steps S607-S618 in the embodiment shown in FIG6.
[0499] S1119. The UE sends the second information to the AF / AS via the RAN, SMF, and PCF. Correspondingly, the AF / AS receives the second information.
[0500] When the UE detects that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds a first indicator, it reports the data. For example, the UE sends a second message to the AF / AS through the RAN, SMF, and PCF, wherein the second message is used to indicate that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds the first indicator.
[0501] This example illustrates that UE reporting can be at the data granular level:
[0502] If the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds a first indicator, the UE sends a second message to the RAN. This second message indicates that the time it takes for the first data to be transmitted from the UPF to the upper layer of the UE exceeds the first indicator; that is, a report is made when the above situation occurs.
[0503] Alternatively, UE reporting can also be at the time window granularity:
[0504] The UE obtains the number N, where N is a positive integer, of data transmitted from the UPF to the upper layer within a first time window that exceeds a first indicator. If N is greater than or equal to a third threshold, the UE sends third information to the RAN, indicating that the transmission time of N data from the UPF to the UE's upper layer within the first time window exceeds the first indicator. In other words, within a specified first time window, the UE statistically analyzes the above situations, and when the first time window arrives, it reports situations where stable latency is not met, such as exceeding the number of stable latency packets or the time indicated by the first indicator. For example, the third threshold and the window length of the first time window can be set empirically, factory configured, or network configured.
[0505] When the reporting conditions are met, such as receiving second or third information from the UE, detecting an event where data transmission exceeds the stable latency index, or the number of data exceeding the stable latency index reaches a threshold N, or the proportion of (P90, P95, P99) reaches a specified threshold, the SMF sends a notification message to the AF / AS. This notification message indicates that the AS's stable latency is not guaranteed, and may also carry detailed information about the unguaranteed latency, such as the number of data exceeding the stable latency index reaching the threshold N, or the proportion of (P90, P95, P99).
[0506] S1120.AF / AS sends the fourth information to the UE via PCF, SMF, and RAN. The UE then receives this fourth information.
[0507] The fourth piece of information is used to indicate the second indicator.
[0508] For a detailed implementation of this step, please refer to step S1019 of the embodiment shown in Figure 10.
[0509] S1121.UPF sends the sixth message to AF / AS via PCF. Correspondingly, AF / AS receives the sixth message.
[0510] When the UPF detects that the time it takes for the second data to be transmitted from the upper layer of the UF to the UPF exceeds a third indicator, it reports the data. For example, the UPF sends a sixth message to the AF / AS via the PCF, wherein the sixth message is used to indicate that the time it takes for the second data to be transmitted from the upper layer of the UF to the UPF exceeds the third indicator.
[0511] This example demonstrates that UPF reporting can be at the data granular level:
[0512] If the time taken for the second data to be transmitted from the upper layer of the UF to the UPF exceeds the third indicator, the UPF sends a sixth message to the AF / AS. This sixth message indicates that the time taken for the second data to be transmitted from the upper layer of the UF to the UPF exceeds the third indicator; that is, when a data point falls under the above-mentioned condition, it is reported.
[0513] Alternatively, UPF reporting can also be at the time window granularity:
[0514] The UPF obtains the number M, where M is a positive integer, of data transmitted from the upper layer of the UF to the UPF within a second time window that takes longer than a third metric. If M is greater than or equal to a sixth threshold, the UPF sends a seventh message to the AF / AS, indicating that the time taken for M data packets transmitted from the upper layer of the UF to the UPF within the second time window exceeds the third metric. In other words, within a specified second time window, the above situations are statistically analyzed, and when the second time window arrives, situations where stable latency is not met are reported, such as exceeding the number of stable latency packets or the time indicated by the second metric. For example, the sixth threshold and the window length of the second time window can be set empirically, factory configured, or network configured.
[0515] S1122.AF / AS sends the eighth message to the UE via PCF, SMF, and RAN. The UE then receives this eighth message.
[0516] The eighth piece of information is used to indicate the fourth indicator.
[0517] For a detailed implementation of this step, please refer to step S1019 of the embodiment shown in Figure 10.
[0518] S1123. Subsequent monitoring and caching will be carried out based on the second and fourth indicators.
[0519] According to a communication method provided in an embodiment of this application, when the stable latency upper bound fails, the UE and / or UPF notify the AF / AS that the stable latency upper bound has failed. The AF / AS can then update the first requirement, triggering the application to adjust packet transmission and enter a new round of stable transmission, thereby improving network throughput.
[0520] It is understood that the methods and / or steps implemented by the UE, RAN, UPF, and SMF in the above embodiments can also be implemented by components (e.g., chips or circuits) that can be used in the UE, RAN, UPF, and SMF. When implemented by the components described above, receiving / transmitting can be understood as input / output, that is, the component communicates with other components in the network. The methods implemented by the UE, RAN, UPF, and SMF can also be divided into executions by multiple execution entities, for example, by multiple components for the UE, RAN, UPF, and SMF. These execution entities can be logically and / or physically separated.
[0521] The above mainly describes the solutions provided by the embodiments of this application from the perspective of interaction between UE, RAN, UPF, and SMF. Accordingly, the embodiments of this application also provide a communication device for implementing the various methods described above. This communication device can be a core network device in the above method embodiments, or a component that can be used in a core network device. It is understood that, in order to achieve the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0522] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing unit. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0523] Based on the same concept as the above communication method, this application also provides the following communication device:
[0524] Figure 12 shows a schematic diagram of a communication device provided in an embodiment of this application. The communication device 1200 includes a transceiver unit 1201 and a processing unit 1202. Wherein:
[0525] For example, the transceiver unit 1201 described above may include a receiving unit and a transmitting unit. The receiving unit and the transmitting unit may be an integral unit or independent units.
[0526] When the communication device 1200 is used to implement the functions of the UE in the above method embodiment, the transceiver unit 1201 is used to implement one or more operations performed by the UE in steps S503, S506, and S509 in the embodiment shown in FIG5a, and the processing unit 1202 is used to implement one or more operations in steps S507 and S508 in the embodiment shown in FIG5a.
[0527] When the communication device 1200 is used to implement the function of the first network element in the above method embodiment, the transceiver unit 1201 is used to implement one or more operations performed by the first network element in steps S504, S505, S506, S509, and S511 in the embodiment shown in FIG5a, and the processing unit 1202 is used to implement step S510 in the embodiment shown in FIG5a.
[0528] When the communication device 1200 is used to implement the function of the second network element in the above method embodiment, the transceiver unit 1201 is used to implement one or more operations performed by the second network element in steps S506 and S509 of the embodiment shown in FIG5a.
[0529] When the communication device 1200 is used to implement the function of the third network element in the above method embodiment, the transceiver unit 1201 is used to implement one or more operations performed by the third network element in steps S503 and S504 in the embodiment shown in FIG5a, and the processing unit 1202 is used to implement step S502b in the embodiment shown in FIG5a.
[0530] For details on the implementation of the transceiver unit 1201 and the processing unit 1202, please refer to the relevant descriptions in the embodiments shown in Figures 5a-11.
[0531] The module division in this application is illustrative and represents only one logical functional division. In actual implementation, other division methods are possible. Furthermore, the functional modules in the various examples of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0532] Figure 13 shows a schematic diagram of another communication device provided in an embodiment of this application. The communication device 1300 includes a processor 1301. Optionally, the communication device 1300 may further include an interface circuit 1302 (shown as a dashed line in Figure 13), and the processor 1301 and the interface circuit 1302 are coupled to each other. It is understood that the interface circuit 1302 can be a transceiver or an input / output interface. Optionally, the communication device 1300 may further include a memory 1303 (shown as a dashed line in Figure 13), which is used to store instructions executed by the processor 1301, or to store input data required by the processor 1301 to execute instructions, or to store data generated after the processor 1301 executes instructions.
[0533] When the communication device 1300 is used to implement the function of the UE in the above method embodiment, the interface circuit 1302 is used to implement one or more operations performed by the UE in steps S503, S506, and S509 in the embodiment shown in FIG5a, and the processor 1301 is used to implement one or more operations in steps S507 and S508 in the embodiment shown in FIG5a.
[0534] When the communication device 1300 is used to implement the function of the first network element in the above method embodiment, the interface circuit 1302 is used to implement one or more operations performed by the first network element in steps S504, S505, S506, S509, and S511 in the embodiment shown in FIG5a, and the processor 1301 is used to implement step S510 in the embodiment shown in FIG5a.
[0535] When the communication device 1300 is used to implement the function of the second network element in the above method embodiment, the interface circuit 1302 is used to implement one or more operations performed by the second network element in steps S506 and S509 of the embodiment shown in FIG5a.
[0536] When the communication device 1300 is used to implement the function of the third network element in the above method embodiment, the interface circuit 1302 is used to implement one or more operations performed by the third network element in steps S503 and S504 of the embodiment shown in FIG5a, and the processor 1301 is used to implement step S502b of the embodiment shown in FIG5a.
[0537] For details on the implementation of the processor 1301, interface circuit 1302 and memory 1303, please refer to the relevant descriptions in the embodiments shown in Figures 5a-11.
[0538] Furthermore, it should be noted that the aforementioned transceiver unit and / or processing unit can be implemented through virtual modules. For example, the processing unit can be implemented through software functional units or virtual devices, and the transceiver unit can be implemented through software functions or virtual devices. Alternatively, the processing unit or transceiver unit can also be implemented through physical devices. For example, if the device is implemented using a chip / chip circuit, the transceiver unit can be an input / output circuit and / or a communication interface, performing input operations (corresponding to the aforementioned receiving operation) and output operations (corresponding to the aforementioned sending operation); the processing unit is an integrated processor, microprocessor, or integrated circuit.
[0539] It is understood that the processor in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0540] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the methods described in the above embodiments.
[0541] This application also provides a computer program product containing instructions that, when executed on a computer, cause the computer to perform the methods described in the above embodiments.
[0542] This application also provides a communication system, including the communication device described above.
[0543] This application also provides a circuit coupled to a memory, which is used to perform the methods shown in the above embodiments. This circuit may include a chip circuit.
[0544] This application also provides a chip device, including a processor, for calling computer programs or computer instructions stored in the memory, so that the processor executes the method provided in any of the above method embodiments.
[0545] In one possible implementation, the input of the chip device corresponds to the receiving operation in any of the above method embodiments, and the output of the chip device corresponds to the sending operation in any of the above method embodiments.
[0546] Optionally, the processor is coupled to the memory via an interface.
[0547] Optionally, the chip device may also include a memory that stores computer programs or computer instructions.
[0548] It should be noted that one or more of the above units can be implemented by software, hardware, or a combination of both. When any of the above units is implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow.
[0549] In this application, the processor can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0550] When the above units or components are implemented in hardware, the hardware can be any one or any combination of a CPU, microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, programmable logic device (PLD), application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.
[0551] Optionally, embodiments of this application also provide a chip system, including: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instructions in the memory, the chip system performs the method in any of the above method embodiments. Optionally, the chip system may be composed of chips, or may include chips and other discrete devices; embodiments of this application do not specifically limit this.
[0552] The memory in this application can also be a circuit or any other device capable of performing storage functions, used to store program instructions and / or data. Memory is any other medium capable of carrying or storing desired program code in the form of instructions or data structures, and accessible by a computer, but is not limited thereto. For example, memory can be non-volatile memory, such as digital versatile disc (DVD), hard disk drive (HDD), or solid-state drive (SSD), or it can be volatile memory, such as random-access memory (RAM).
[0553] It is understood that in this application, "instruction" can include direct instruction, indirect instruction, explicit instruction, and implicit instruction. When describing a certain instruction information to indicate A, it can be understood that the instruction information carries A, directly indicates A, or indirectly indicates A. In this application, the information indicated by the instruction information is called the information to be instructed. In specific implementation, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index, or indirectly indicating the information to be instructed by indicating other information, wherein there is an association between the other information and the information to be instructed. It is also possible to indicate only a part of the information to be instructed, while the other parts of the information to be instructed are known or agreed upon in advance. For example, the instruction of specific information can also be achieved by using the arrangement order of various information in advance (e.g., as specified by a protocol), thereby reducing the instruction overhead to a certain extent. The information to be instructed can be sent as a whole or divided into multiple sub-information to be sent separately, and the sending period and / or sending time of these sub-information can be the same or different. This application does not limit the specific sending method. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the transmitting device by sending configuration information to the receiving device.
[0554] The term "at least one" in this application refers to one or more items. "More than one item" means two or more items. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone, where A and B can be single or multiple. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, it should be understood that although the terms "first," "second," etc., may be used to describe objects in this application, these objects should not be limited to these terms. These terms are only used to distinguish the objects from each other. "At least one of the following" or similar expressions are used to indicate any combination of the listed items; for example, at least one of A, B, and / or C can represent: A existing alone, B existing alone, C existing alone, A and B existing simultaneously, B and C existing simultaneously, A and C existing simultaneously, and A, B, and C existing simultaneously, where A, B, and C can be single or multiple.
[0555] The terms "comprising" and "having," and any variations thereof, mentioned above are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units not listed, or optionally include other steps or units inherent to such process, method, product, or apparatus. It should be noted that in this application, words such as "exemplary" or "for example" are used to indicate exemplification, illustration, or description. Any method or design described as "exemplary" or "for example" in this application should not be construed as preferred or advantageous over other methods or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0556] In a communication system, a network element can send signals to or receive signals from another network element. These signals can include information, signaling, or data. The term "network element" can also be replaced by an entity, network entity, device, UE, communication module, node, communication node, etc. This application uses a network element as an example for description. For instance, a communication system may include at least one UE and at least one network device. The network device can send downlink signals to the UE, and / or the UE can send uplink signals to the network device. Furthermore, it is understood that if the communication system includes multiple UEs, these UEs can also exchange signals; that is, both the sending and receiving network elements can be UEs.
[0557] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.
[0558] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple instances. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0559] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.
[0560] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0561] The components in the device described in this application embodiment can be combined, divided, or removed according to actual needs. Those skilled in the art can combine or integrate the different embodiments and features described in this specification.
[0562] In this application, examples may reference each other without logical contradiction. For example, methods and / or terms between method embodiments may reference each other, functions and / or terms between device embodiments may reference each other, and functions and / or terms between device examples and method examples may reference each other.
Claims
1. A communication method, characterized in that, Applied to the terminal side, the method includes: Receive first information, which is used to indicate a first indicator; Receive first data and first time information, wherein the first time information is used to indicate the time when the first network element sends the first data, or, the first time information is used to indicate the time when the first network element receives the first data; If the first cache time is greater than or equal to the first threshold, the first cache time is cached, and the first cache time is determined based on the first indicator and the first time information. If the first buffer time is less than or equal to the second threshold, the first data is transmitted to the upper layer of the terminal, where the second threshold is less than the first threshold.
2. The method of claim 1, wherein, The first time information is included in the protocol header of the terminal carrying the first data and the first network element, and / or the protocol header of the access network device serving the terminal and the user plane function network element serving the terminal.
3. The method of claim 1 or 2, wherein, The method further includes: If the time it takes for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator, a second message is sent, the second message indicating that the time it takes for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: The number N of data transmitted from the first network element to the terminal within the first time window that exceeds the first indicator is obtained, where the first data is any one of the N data, and N is a positive integer; If N is greater than or equal to a third threshold, a third message is sent, which indicates that the time for the N data within the first time window to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator.
5. The method as described in claim 3 or 4, characterized in that, The method further includes: Receive fourth information, which is used to indicate the second indicator.
6. The method of any one of claims 1-5, wherein, The method further includes: Send second data and second time information, the second time information being used to indicate the timestamp at which the terminal's transport layer receives the second data from the terminal's upper layer.
7. A communication method characterized by comprising: Applied to the first network element side, the method includes: Receive fifth information, which is used to indicate the third indicator; Receive the second data and the second time information from the uplink, wherein the second time information is used to indicate the timestamp or the second buffer time at which the terminal's transport layer receives the second data from the upper layer of the terminal; If the third cache time is greater than or equal to the fourth threshold, the second data is cached, wherein the third cache time is determined based on the third indicator and the second time information, or the third cache time is determined based on the second cache time; If the third buffer time is less than or equal to the fifth threshold, the second data is sent, where the fifth threshold is less than the fourth threshold.
8. The method of claim 7, wherein, The second time information is included in the protocol header between the terminal carrying the second data and the first network element, and / or the protocol header between the access network device serving the terminal and the first network element.
9. The method of claim 7 or 8, wherein, The method further includes: If the time taken for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator, a sixth message is sent, the sixth message indicating that the time taken for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
10. The method according to any one of claims 7-9, characterized in that, The method further includes: The number M of data transmitted from the upper layer of the terminal to the first network element within the second time window for a time exceeding the third indicator is obtained, wherein the second data is any one of the M data, and M is a positive integer; If M is greater than or equal to the sixth threshold, a seventh message is sent, which indicates that the time for the M data within the second time window to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator.
11. The method of claim 9 or 10, wherein, The method further includes: Receive the eighth message, which is used to indicate the fourth indicator.
12. The method of any one of claims 6-11, wherein, The method further includes: Send downlink first data and first time information, wherein the first time information is used to indicate the time when the first network element sends the first data, or, the first time information is used to indicate the time when the first network element receives the first data.
13. The method of claim 12, wherein, The fifth piece of information is also used to indicate the addition of time information to the downlink data; The first time information is included in the protocol header of the first network element and the access network device that carry the first data.
14. A communication method, comprising: Applied to the second network element side, the method includes: Receive a ninth message, which indicates that time information should be added to the downlink data; Receive first data and first time information from the first network element, wherein the first data is any one of the downlink data; The first data and the first time information are sent, wherein the first time information is used to indicate the time when the first network element sends the first data, or the first time information is used to indicate the time when the first network element receives the first data.
15. The method of claim 14, wherein, The first time information is included in the protocol header of the first network element and the second network element carrying the first data.
16. The method as described in claim 14 or 15, characterized in that, The ninth piece of information is also used to indicate the addition of time information to the uplink data, and the method further includes: Receive second data and second time information from the terminal, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer, the second data being any one of the uplink data; Send the second data and the second time information.
17. The method of claim 14 or 15, wherein, The ninth piece of information is also used to indicate the addition of time information to the uplink data, and the method further includes: Receive fifth information, which is used to indicate the third indicator; Receive second data and second time information from the terminal, the second time information being used to indicate the timestamp of the second data received by the terminal's transport layer from the terminal's upper layer, the second data being any one of the uplink data; The second data and the second buffer time are sent, the second buffer time being determined based on the third indicator and the second time information.
18. A method of communication, comprising: Applied to the third network element side, the method includes: Receive the tenth information, which is used to indicate the first requirement; Based on the first requirement, a first indicator and a third indicator are generated; Send a first message, which is used to indicate the first indicator; Send a fifth message, which is used to indicate the third indicator.
19. The method of claim 18, wherein, The first requirement includes at least one of the following: the stable latency value of the uplink, the stable latency value of the downlink, the stable latency value of the round-trip time, and the percentage probability that the stable latency is stabilized.
20. The method of claim 18 or 19, wherein, The fifth piece of information is also used to indicate the addition of time information to the downlink data.
21. The method of any one of claims 18-20, wherein, The method further includes: Send a ninth message, which is used to indicate the addition of time information to downlink data and / or the addition of time information to uplink data.
22. The method of any one of claims 18-21, wherein, The method further includes: Receive second information, the second information being used to indicate that the time it takes for the first data to be transmitted from the first network element to the upper layer of the terminal exceeds the first indicator; Send a fourth message, which is used to indicate the second indicator.
23. The method of any one of claims 18-22, wherein, The method further includes: Receive a sixth message, which indicates that the time for the second data to be transmitted from the upper layer of the terminal to the first network element exceeds the third indicator; Send the eighth message, which is used to indicate the fourth indicator.
24. A communications device, characterized by Includes units for implementing the method as described in any one of claims 1-23.
25. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed, cause the method as described in any one of claims 1-23 to be implemented.
26. A computer program product, characterised in that, The computer program product includes relevant program instructions, which, when executed, cause the method as described in any one of claims 1-23 to be implemented.