Communication method and communication apparatus

By acquiring data stream traffic and network capacity information, the first communication device performs adaptive control, solving the problem of lagging congestion control on the encoding side, and achieving improved network efficiency and user experience.

WO2025247211A1PCT designated stage Publication Date: 2025-12-04HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/097423
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-31
Filing Date
2025-05-27
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

In existing technologies, when the encoding side performs congestion control based on data packet loss and latency, it may lead to an overall reduction in network transmission rate, making it unable to keep up with dynamic changes in the network in a timely manner, resulting in a decrease in network efficiency.

Method used

The first communication device acquires data stream traffic and network capacity information, predicts whether the network capacity can guarantee traffic demand, and performs adaptive control, such as adjusting the data stream buffer time, path selection, and transmission delay, to avoid network congestion.

Benefits of technology

Without modifying the congestion control algorithm or adding interfaces, it proactively addresses network congestion, improves user experience, reduces data packet loss, and ensures network transmission performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025097423_04122025_PF_FP_ABST
    Figure CN2025097423_04122025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a communication method and a communication apparatus. The method comprises: acquiring traffic information predicted for data of a first data flow, and network capacity information predicted for the data of the first data flow; and when it is determined, on the basis of the predicted traffic information and network capacity information, that a predicted network capacity cannot ensure predicted traffic requirements, performing first control on the first data flow. By means of future information that is predicted for data of a first data flow, whether the transmission policy of the first data flow needs to be actively adjusted in advance is determined, such that the probability of packet loss or high latency of the first data flow when a network capacity cannot guarantee the transmission of the first data flow during a certain future period of time can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods and communication devices

[0001] This application claims priority to Chinese Patent Application No. 202410703951.9, filed on May 31, 2024, entitled "Communication Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of wireless communication, and more specifically, to a communication method and a communication device. Background Technology

[0003] Fifth generation (5) th 5G (Generation 4) communication, as a type of communication network, is a successor to the fourth generation (4G). th The next generation of global wireless standards after 4G communication aims to improve data transmission speed, reduce latency, support more users, devices, and services, and enhance network efficiency. In mobile communication, most data in network traffic is transmitted based on the Transmission Control Protocol (TCP). Generally, during data transmission, the encoding side typically performs congestion control based on packet loss and latency. For example, if the encoding side detects a high packet loss rate, it reduces the data transmission rate to alleviate network pressure and lower the packet loss rate.

[0004] It is evident that the encoding side typically initiates congestion control based on the occurrence of data transmission congestion, further alleviating network congestion. However, considering the rapid changes in the network itself, when the encoding side initiates congestion mitigation responses based on data loss and latency, the network congestion may have already eased. The congestion mitigation response initiated by the encoding side will still be executed, leading to an overall decrease in network transmission rate. Therefore, how to ensure that the corresponding network congestion mitigation response on the encoding side can keep up with the dynamic changes in the network and improve network transmission efficiency has become an urgent problem to be solved. Summary of the Invention

[0005] This application provides a communication method aimed at avoiding network congestion and improving user experience.

[0006] Firstly, a communication method is provided. This method can be executed by a first communication device, or by a component of the first communication device (e.g., a chip or circuit), and this application does not limit the scope of the method. Optionally, the first communication device can be an access network device, or a core network device (e.g., a user plane function (UPF) network element), or a network device, or a centralized unit (CU). The method will now be described using the first communication device as an example.

[0007] The method may include: a first communication device acquiring traffic information predicted for a first data stream; the first communication device acquiring network capacity information predicted for the first data stream; the first communication device determining, based on the traffic information and the network capacity information, that the predicted network capacity cannot guarantee the predicted traffic demand, and performing a first control on the first data stream, wherein the first control on the first data stream includes at least one of the following: increasing the buffering time of the data in the first data stream; selecting a first path to transmit the data in the first data stream, wherein the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream; and delaying the delivery of the data in the first data stream.

[0008] According to the method provided in this application, a first communication device determines whether an adaptive adjustment to the transmission strategy of the first data stream is needed based on traffic prediction information and network capacity information for the first data stream. Specifically, when the predicted network capacity cannot guarantee the predicted traffic demand, the first communication device performs first control on the first data stream to avoid network congestion and improve user experience. This method can prevent network congestion and, correspondingly, reduce the packet loss rate of the first data stream caused by network congestion.

[0009] In addition, this method does not require the application server to open new interfaces or modify the congestion control algorithm. The first communication device adaptively adjusts the transmission strategy of the first data stream to anticipate network congestion, avoid congestion, and ensure the overall network transmission performance.

[0010] In conjunction with the first aspect, in some possible implementations, the traffic information is obtained based on at least one of the following: statistical information of historical data streams, encoding bitrate, encoding compression ratio, application resolution, frame rate, or traffic model, wherein the statistical information of historical data streams includes at least one of period, jitter, arrival time of data bursts, size of data bursts, or arrival interval of data bursts.

[0011] In conjunction with the first aspect, in some possible implementations, the network capacity information indicates at least one of the following: the predicted amount of data the network can transmit in a first time period, the average rate, the congestion level, or the rate variation.

[0012] In conjunction with the first aspect, in some possible implementations, the method further includes: a first communication device sending first control information, the first control information being used to instruct the first data stream to be subject to the first control.

[0013] Based on the above technical solution, the first communication device instructs other devices (such as the second communication device) to perform first control on the first data through first control information, thereby avoiding network congestion and improving user experience.

[0014] In conjunction with the first aspect, in some possible implementations, the first control information includes information about the delay of the first data stream.

[0015] It should be understood that the information on the delay of the first data stream included in the first control information can be used to determine the delay duration indicated by the first control information. The delay duration is used to determine the expected transmission delay of the data in the first data stream when performing the first control on the first data stream, or the expected delay duration of the data in the first data stream.

[0016] In conjunction with the first aspect, in some possible implementations, the method further includes: a first communication device determining, based on the traffic information and the network capacity information, that the predicted network capacity exceeds the predicted traffic demand, and performing a second control on the first data stream, wherein the second control on the first data stream includes: shortening the buffering time of the data in the first data stream; and / or selecting a second path to transmit the data in the first data stream, wherein the transmission delay of the second path is less than the transmission delay of the current transmission path of the first data stream.

[0017] Based on the above technical solution, when the network capacity exceeds the traffic demand, the first communication device improves the data transmission rate of the first data stream by performing second control on the first data stream, thereby ensuring the data transmission performance of the first data stream.

[0018] In conjunction with the first aspect, in some possible implementations, the method further includes: a first communication device sending second control information, the second control information being used to instruct the second control to be applied to the first data stream.

[0019] Based on the above technical solution, the first communication device instructs other devices (such as the second communication device) to perform second control on the first data stream through the second control information, which not only ensures the data transmission performance of the first data stream, but also improves the data transmission rate of the first data stream.

[0020] In conjunction with the first aspect, in some possible implementations, before the first communication device acquires the traffic information for the data prediction of the first data stream, the method further includes: the first communication device sending the first request information, the first request information requesting the acquisition of auxiliary information, the auxiliary information being used to determine the traffic information for the data prediction of the first data stream.

[0021] In conjunction with the first aspect, in some possible implementations, the auxiliary information includes at least one of the following: encoding bitrate, encoding compression ratio, application resolution, frame rate, period, data burst arrival time, data burst arrival interval, jitter, data burst size, or traffic model.

[0022] In conjunction with the first aspect, in some possible implementations, the first request information includes first identification information used to determine the first data stream.

[0023] For example, the first identification information may be a Quality of Service Flow (QoS) flow identifier (QFI), a Protocol Data Unit (PDU) session ID, or a User Equipment Identifier (UE ID).

[0024] In conjunction with the first aspect, in some possible implementations, before the first communication device acquires network capacity information for the data prediction of the first data stream, the method further includes: the first communication device sending a second request message, the second request message requesting the activation of network capacity prediction and / or delay management for the first data stream.

[0025] In one possible implementation, the second request information may request network capacity information for a data prediction of the first data stream.

[0026] In conjunction with the first aspect, in some possible implementations, the method further includes: a first communication device receiving response information for indicating support for prediction and / or latency management of network capacity for the first data stream.

[0027] In one possible implementation, the response information may include network capacity information based on a data prediction of the first data stream.

[0028] In conjunction with the first aspect, in some possible implementations, when the method is performed by a core network device, obtaining network capacity information for data prediction of the first data stream includes: receiving the network capacity information from an access network device.

[0029] Secondly, a communication method is provided. This method can be executed by a second communication device, or by a component of the second communication device (such as a chip or circuit), and this application does not limit this. Optionally, the second communication device can be an access network device, or the second communication device can be a terminal device. The method is described below using a second communication device as an example.

[0030] The method includes: when the predicted network capacity cannot guarantee the predicted traffic demand, including: a second communication device receiving first control information, the first control information being determined based on network capacity information predicted for the first data stream and traffic information predicted for the first data stream; the second communication device performing first control on the first data stream according to the first control information, wherein performing first control on the first data stream includes at least one of the following: increasing the buffering time of the data in the first data stream; selecting a first path to transmit the data in the first data stream, the transmission delay of the first path being greater than the transmission delay of the current transmission path of the first data stream; or, delaying the delivery of the data in the first data stream.

[0031] According to the method provided in this application, when the predicted network capacity cannot guarantee the predicted traffic demand, the second communication device receives the first control information and performs the first control on the first data stream according to the first control information to avoid network congestion, reduce the packet loss rate of the first data stream, and improve the user experience.

[0032] In conjunction with the second aspect, in some possible implementations, the first control information includes information about the delay of the first data stream.

[0033] In conjunction with the second aspect, in some possible implementations, before the second communication device receives the first control information, the method further includes: the second communication device receiving first request information, the first request information being used to request the acquisition of auxiliary information, the auxiliary information being used to determine traffic information for data prediction of the first data stream; the second communication device sending the auxiliary information, wherein the auxiliary information includes at least one of the following: encoding bitrate, encoding compression ratio, application resolution, frame rate, period, data burst arrival time, data burst arrival interval, jitter, data burst size, or traffic model.

[0034] In conjunction with the second aspect, in some possible implementations, before the second communication device receives the first control information, the method further includes: the second communication device receiving second request information, the second request information requesting the activation of prediction and / or delay management of network capacity for the first data stream.

[0035] In one possible implementation, the second request information may request network capacity information for a data prediction of the first data stream.

[0036] In conjunction with the second aspect, in some possible implementations, the method further includes: a second communication device sending response information, the response information being used to indicate support for prediction and / or latency management of network capacity for the first data stream.

[0037] In conjunction with the second aspect, in some possible implementations, the traffic information is obtained based on at least one of the following: statistical information of historical data streams, encoding bitrate, encoding compression ratio, application resolution, frame rate, or traffic model, wherein the statistical information of historical data streams includes at least one of period, jitter, arrival time of data bursts, size of data bursts, or arrival interval of data bursts.

[0038] In conjunction with the second aspect, in some possible implementations, the network capacity information indicates at least one of the following: the predicted amount of data the network can transmit in a first time period, the average rate, the congestion level, or the rate variation.

[0039] In conjunction with the second aspect, in some possible implementations, where the method is performed by an access network device, the method further includes: a second communication device transmitting the network capacity information.

[0040] In one possible implementation, where the method is performed by an access network device, the network capacity information can be carried in the aforementioned response information and transmitted to the first communication device.

[0041] It should be understood that the second aspect is similar to the technical effects and related descriptions in the first aspect above, and please refer to the detailed description in the first aspect above for details.

[0042] Thirdly, a communication method is provided, which can be executed by a second communication device, or by a component of the second communication device (e.g., a chip or circuit), without limitation thereof. Optionally, the second communication device can be an access network device, or the second communication device can be a terminal device. The method is described below using a second communication device as an example.

[0043] It should be understood that the second communication device may be the same as or a different communication device as the second communication device in the second aspect described above, and this application does not limit this.

[0044] When the predicted network capacity exceeds the predicted traffic demand, the method includes: a second communication device receiving second control information, the second control information being determined based on predicted network capacity information for the first data stream and predicted traffic information for the first data stream; the second communication device performing second control on the first data stream according to the second control information, wherein performing second control on the first data stream includes: shortening the buffering time of the data in the first data stream; and / or selecting a second path to transmit the data in the first data stream, the transmission delay of the second path being less than the transmission delay of the current transmission path of the first data stream.

[0045] It should be understood that the third aspect is similar to the technical effects and related descriptions in the first and second aspects above, and please refer to the detailed descriptions in the first and second aspects above for details.

[0046] In conjunction with the third aspect, in some possible implementations, before the second communication device receives the second control information, the method further includes: the second communication device receiving first request information, the first request information being used to request the acquisition of auxiliary information, the auxiliary information being used to determine traffic information for data prediction of the first data stream; and sending the auxiliary information, wherein the auxiliary information includes at least one of the following: encoding bitrate, encoding compression ratio, application resolution, frame rate, period, data burst arrival time, data burst arrival interval, jitter, data burst size, or traffic model.

[0047] In conjunction with the third aspect, in some possible implementations, before the second communication device receives the second control information, the method further includes: the second communication device receiving second request information, the second request information requesting the activation of prediction and / or delay management of network capacity for the first data stream.

[0048] In conjunction with the third aspect, in some possible implementations, the method further includes: a second communication device sending response information, the response information being used to indicate support for prediction and / or latency management of network capacity for the first data stream.

[0049] In conjunction with the third aspect, in some possible implementations, the traffic information is obtained based on at least one of the following: statistical information of historical data streams, encoding bitrate, encoding compression ratio, application resolution, frame rate, or traffic model, wherein the statistical information of historical data streams includes at least one of period, jitter, arrival time of data bursts, size of data bursts, or arrival interval of data bursts.

[0050] In conjunction with the third aspect, in some possible implementations, the network capacity information indicates at least one of the following: the predicted amount of data the network can transmit in a first time period, the average rate, the congestion level, or the rate variation.

[0051] In conjunction with the third aspect, in some possible implementations, where the method is performed by an access network device, the method further includes: a second communication device transmitting the network capacity information.

[0052] In one possible implementation, where the method is performed by an access network device, the network capacity information can be carried in the aforementioned response information and transmitted to the first communication device.

[0053] Fourthly, a communication apparatus is provided for performing the method provided in the first aspect. Specifically, the communication apparatus may include units and / or modules for performing the method provided in any of the above implementations of the first aspect, such as a processing unit and an acquisition unit.

[0054] In one implementation, the transceiver unit can be a transceiver or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0055] In another implementation, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.

[0056] Fifthly, a communication apparatus is provided for performing the method provided in the second aspect. Specifically, the communication apparatus may include units and / or modules for performing the method provided in the second aspect, such as a processing unit and an acquisition unit.

[0057] In one implementation, the transceiver unit can be a transceiver or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0058] In another implementation, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.

[0059] In a sixth aspect, a communication apparatus is provided for performing the method provided in the third aspect. Specifically, the communication apparatus may include units and / or modules for performing the method provided in the third aspect, such as a processing unit and an acquisition unit.

[0060] In one implementation, the transceiver unit can be a transceiver or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.

[0061] In another implementation, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.

[0062] In a seventh aspect, this application provides a processor for executing the method provided by any of the implementations of the first to third aspects described above.

[0063] Unless otherwise specified, or if it does not contradict its actual function or internal logic in the relevant description, the transmission and acquisition / reception operations involved in the processor can be understood as processor output and reception, input and other operations, or as transmission and reception operations performed by radio frequency circuits and antennas. This application does not limit them in this regard.

[0064] Eighthly, a computer-readable storage medium is provided that stores program code for execution by a device, the program code including a method for performing any of the implementations of the first to third aspects described above.

[0065] Ninth aspect, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to perform the method provided by any one of the implementations of the first to third aspects described above.

[0066] In a tenth aspect, a chip is provided, the chip including a processor and a communication interface, wherein the processor reads instructions stored in a memory through the communication interface and executes the method provided by any one of the implementations of the first to third aspects described above.

[0067] Optionally, as one implementation, the chip also includes a memory storing computer programs or instructions, and a processor for executing the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor is used to execute the method provided by any of the first to third aspects described above.

[0068] Eleventhly, a communication system is provided, including the first communication device and the second communication device described above. Attached Figure Description

[0069] Figure 1 is a schematic diagram of the network architecture applicable to the embodiments of this application.

[0070] Figure 2 is a schematic diagram of congestion control.

[0071] Figure 3 is a schematic diagram of another type of congestion control.

[0072] Figure 4 is a schematic flowchart of a communication method provided in an embodiment of this application.

[0073] Figure 5 is a schematic flowchart of another communication method provided in an embodiment of this application.

[0074] Figure 6 is a schematic flowchart of another communication method provided in an embodiment of this application.

[0075] Figure 7 is a schematic block diagram of a communication device provided in an embodiment of this application.

[0076] Figure 8 is a schematic diagram of another communication device provided in an embodiment of this application.

[0077] Figure 9 is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation

[0078] To facilitate understanding of the embodiments of this application, the following points will be explained first.

[0079] First, in this application, "for indicating" can include both direct and indirect indication. When describing an indication message as indicating A, it can include whether the indication message directly indicates A or indirectly indicates A, but does not necessarily mean that the indication message carries A.

[0080] The information indicated by the instruction is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also be indirectly indicated by indicating other information, where there is a relationship between the other information and the information to be instructed. It can also indicate only a part of the information to be indicated, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent. At the same time, common parts of various pieces of information can be identified and indicated uniformly to reduce the instruction overhead caused by individually indicating the same information.

[0081] Second, in this application, "at least one" refers to one or more, and "more than one" refers to two or more. Furthermore, in the embodiments of this application, "first," "second," and various numerical designations (e.g., "#1," "#2," etc.) are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The sequence numbers of the processes below do not imply an order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. It should be understood that the objects described in this way can be interchanged where appropriate to describe solutions other than those in the embodiments of this application. Moreover, in the embodiments of this application, terms such as "S210" are merely identifiers for descriptive convenience and do not limit the order of execution steps.

[0082] Third, in the embodiments of this application, the words "exemplary" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

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

[0084] Fifth, in the implementation of this application, "protocol" may refer to standard protocols in the field of communications, such as the NR protocol and related protocols applied in future communication systems, and this application does not limit it.

[0085] Sixth, in the embodiments of this application, the terms "of", "corresponding (relevant)", "corresponding", and "associate" can sometimes be used interchangeably. It should be noted that when their differences are not emphasized, their intended meanings are consistent.

[0086] Seventh, in the embodiments of this application, "under the circumstances", "when", and "if" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, their intended meanings are consistent.

[0087] Eighth, the term "and / or" in this article is merely a description of 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, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

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

[0089] The communication method provided in this application can be applied to various communication systems, such as the Internet of Things (IoT), narrowband Internet of Things (NB-IoT), long term evolution (LTE), 5th generation (5G) communication systems, hybrid LTE and 5G architectures, 5G new radio (NR) systems, future communication networks, or new communication systems emerging in future communication development. The communication system described in this application can also be a machine-to-machine (M2M) network or other networks.

[0090] Figure 1 illustrates a schematic diagram of a communication system applying an embodiment of this application. In a 5G system, a 5G access point consists of a base station node and a next-generation radio access network (NG-RAN). An NG-RAN node may be a 5G generation node (gNB) or an LTE evolved NodeB (ng-eNB). The gNB uses the NR user plane and control plane protocol stack, while the ng-eNB uses the evolved universal terrestrial radio access (E-UTRA) user plane and control plane protocol stack, except for the Service Data Adaptation Protocol (SDAP) layer.

[0091] gNBs interconnect with each other, ng-eNBs with each other, and gNBs with ng-eNBs via the Xn interface. gNBs and ng-eNBs connect to 5G core network (5GC) equipment via the NG interface. For example, the control plane connects to core network equipment (e.g., the access and mobility management function, AMF) via the NG-C interface, and the user plane connects to core network equipment (e.g., the user plane function, UPF) via the NG-U interface.

[0092] It should be understood that Figure 1 is merely an example and does not constitute any limitation on the scope of protection of this application. The scenario shown in Figure 1 may also include other devices, such as terminal devices, servers, etc. For example, 5GC also includes other functional network elements besides AMF and APF.

[0093] In this application, "terminal equipment" can refer to an access terminal, user unit, user station, mobile station, mobile station, relay station, remote station, remote terminal, mobile device, user terminal, user equipment (UE), terminal, wireless communication device, user agent, or user device. Terminal equipment can also be a cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, vehicle-mounted device, wearable device, terminal equipment in a 5G network, or terminal equipment in a future public land mobile network (PLMN), etc. This application does not limit the scope of the application.

[0094] As an example and not a limitation, in this application embodiment, wearable devices can also be called wearable smart devices. This is a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. Wearable devices are portable devices that are worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not merely hardware devices; they achieve powerful functions through software support, data interaction, and cloud interaction. Broadly defined, wearable smart devices include those that are feature-rich, large in size, and can achieve complete or partial functionality without relying on a smartphone, such as smartwatches or smart glasses, as well as those that focus on a specific application function and require use with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.

[0095] Furthermore, in this embodiment, the terminal device can also be a terminal device in an IoT system. Its main technical feature is connecting objects to the network via communication technology, thereby realizing an intelligent network for human-machine interconnection and object-to-object interconnection. In this embodiment, IoT technology can achieve massive connectivity, deep coverage, and low terminal power consumption through technologies such as narrowband (NB).

[0096] For example, the terminal device can be a VR terminal, AR terminal, or MR terminal, etc., in XR scenarios; or, for example, a terminal device can be a wireless terminal in industrial control, self-driving, remote medical, smart grid, transportation safety, smart city, or smart home. Here, "terminal device" refers to a 3GPP terminal. This application does not limit the type or category of the terminal device. For ease of explanation, this application will subsequently use "UE" to refer to the terminal device as an example.

[0097] The base station in this application embodiment can be any device with wireless transceiver function used for communicating with terminal devices. This equipment includes, but is not limited to: evolved Node B (eNB), radio network controller (RNC), Node B (NB), base station controller (BSC), base transceiver station (BTS), home evolved Node B (HeNB, or home Node B (HNB), baseband unit (BBU), access point (AP), wireless relay node, wireless backhaul node, transmission point (TP), or transmission and reception point (TRP) in a wireless fidelity (WIFI) system. It can also be a gNB in ​​a 5G system, such as NR, or a transmission point (TRP or TP), one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G system, or a network node constituting a gNB or transmission point, such as a baseband unit (BBU) or a distributed unit (DMU). Units (DUs), etc., can also be used for devices that communicate with terminal devices in future communication networks, such as gNBs in future communication networks.

[0098] In some deployments, a gNB may include a centralized unit (CU) and a dedicated unit (DU). The gNB may also include an active antenna unit (AAU). The CU implements some of the gNB's functions, and the DU implements others. For example, the CU handles non-real-time protocols and services, implementing the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) layers. The DU handles physical layer protocols and real-time services, implementing the functions of the radio link control (RLC), media / medium access control (MAC), and physical (PHY) layers. The AAU implements some physical layer processing functions, radio frequency processing, and related functions of the active antenna. Since RRC layer information ultimately becomes PHY layer information, or is derived from PHY layer information, in this architecture, higher-layer signaling, such as RRC layer signaling, can also be considered as being sent by the DU, or by the DU+AAU. It is understood that access network equipment can be one or more of the following: CU nodes, DU nodes, and AAU nodes. Furthermore, a CU can be classified as a network device in the radio access network (RAN) or as a network device in the core network (CN); this application does not impose any limitations on this.

[0099] 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, a radio access network can also be an open radio access network (O-RAN) architecture. In an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. 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 modules and hardware modules.

[0100] The core network equipment portion in this application embodiment may include, but is not limited to, the following NFs: UPF, network exposure function (NEF), network function repository function (NRF), policy control function (PCF), unified data management (UDM), unified data repository (UDR), network data analytics function (NWDAF), authentication server function (AUSF), AMF, session management function (SMF), and network slice selection function (NSSF). Among these, AMF, SMF, UPF, NEF, AMF, NRF, PCF, NSSF, and UDM can be understood as network elements in the core network used to implement different functions, for example, they can be combined into network slices as needed. These core network elements can be independent devices or integrated into the same device to implement different functions; this application does not limit the specific form of the above network elements.

[0101] It should be understood that the above naming is defined solely for the purpose of distinguishing different functions and should not constitute any limitation on this application. This application does not preclude the possibility of using other naming conventions in 5G networks and other future networks. For example, in future communication networks, some or all of the above-mentioned network elements may use the terminology from 5G, or they may use other names, etc.

[0102] It should be understood that Figure 1 is a simplified illustration of a communication scenario in which this application can be applied, using examples of communication between an access network device and a terminal device, and between an access network device and a core network device. It does not limit other scenarios in which this application can be applied. It should also be understood that Figure 1 is only a simplified schematic diagram for ease of understanding. This communication system may also include other network devices or other terminal devices, which are not shown in Figure 1.

[0103] To facilitate understanding of the embodiments of this application, some basic concepts involved in this application will be briefly explained.

[0104] 1. Congestion Control

[0105] Congestion control is the process of regulating network transmission rates, and it is a crucial component of Quality of Service (QoS) assurance. For example, in traditional TCP connections, encoding devices typically perform congestion control based on packet loss. If the encoding device detects packet loss during data transmission, it reduces the data transmission rate. Alternatively, for latency-sensitive data transmission, encoding devices generally use latency-based congestion control algorithms. For instance, Real-Time Transport Protocol (RTP) can perform congestion control based on data RTT latency, one-way propagation delay, or latency gradients. If the sending device detects that the data propagation delay is greater than or equal to a certain threshold, it reduces the data transmission rate.

[0106] The congestion control algorithm described above is an end-to-end mechanism, typically applied at the transport or application layer. The sending device (or encoding device) learns about packet loss or delay in the transmitted data based on feedback from the receiving device (or decoding device). Specifically, when network congestion occurs, the receiving device detects an increase in packet loss or delay, thus inferring network congestion. Accordingly, the sending device can proactively reduce its data transmission rate to alleviate network pressure and prevent further packet loss.

[0107] Figure 2 illustrates a congestion control mechanism. When data is transmitted over a wireless network, the network's communication quality and congestion levels affect end-to-end packet loss and latency. As shown in Figure 2, taking downlink data transmission in a 5G network as an example, assuming the encoding device is located on the application server, the data generated by the server is transmitted to the core network via the data network (DN). The core network then forwards the data to the base station, which finally sends it to the terminal device (the decoding device) via the air interface. When the communication quality of the 5G network deteriorates, for example, due to poor air interface channel quality between the base station and the terminal device, the packet loss rate or transmission latency increases. In this case, the application layer (or transport layer) of the terminal device can send relevant information back to the server. Upon receiving this feedback, the server reduces its data transmission rate to alleviate network congestion.

[0108] In the aforementioned methods for mitigating network congestion, the encoding-side device initiates congestion control based on the result of data transmission congestion, thereby achieving the effect of alleviating network congestion. However, considering the rapid changes in the network itself, when the encoding-side device initiates congestion mitigation based on data packet loss and latency, the network congestion may have already eased. The congestion mitigation response initiated by the encoding-side device will still be executed, leading to an overall decrease in network transmission rate.

[0109] To address the problems in the method shown in Figure 2, network devices can notify the server in advance to adjust the data transmission rate. Figure 3 illustrates another congestion control approach. For example, if a base station predicts that channel quality will be poor or the channel will be congested in the future, resulting in a lower transmission rate, the base station can notify the server to reduce the data transmission rate to match the channel conditions in the future. Suppose that when the base station predicts a lower air interface channel rate in the future, it sends a message (which can be a communication message, a request message, or an indication message) to the server through the core network. This message notifies / instructs / requests the server to reduce the transmission rate; for example, it may include a recommended transmission rate. Upon receiving this message, the server adjusts the data transmission rate accordingly.

[0110] In Figure 3 above, the base station directly notifies the server of the predicted channel state, thus solving the problem of lag in traditional a posteriori congestion control in Figure 2. However, in the method shown in Figure 3, the base station needs to have the ability to interact directly with the server. That is, the base station and the server need to open a new interface, such as a new Application Programming Interface (API), which enables the server to directly receive and understand the relevant information provided by the base station.

[0111] However, in actual deployments, adding an interface between the server and the base station would impact server development, leading to higher costs. Furthermore, most server vendors typically do not support such modifications, and many existing servers do not support opening similar interfaces. Therefore, in practical applications, adding a new interface between the server and the base station presents significant challenges.

[0112] This application provides a communication method that enables congestion control to keep up with dynamic network changes and ensures user experience without affecting application development or adding open interfaces.

[0113] The technical solutions provided in this application will be described in detail below with reference to the accompanying drawings. The embodiments of this application can be applied to multiple different scenarios, including the scenario shown in Figure 1, but are not limited to this scenario. For example, they can also be applied to 5G or future communication networks.

[0114] It should be understood that the embodiments shown below do not particularly limit the specific structure of the execution subject of the method provided in the embodiments of this application. As long as it is possible to communicate according to the method provided in the embodiments of this application by running a program that records the code of the method provided in the embodiments of this application, for example, the execution subject of the method provided in the embodiments of this application can be a receiving end device or a sending end device, or a functional module in the receiving end device or the sending end device that can call and execute the program.

[0115] Without loss of generality, the communication method provided in this application embodiment will be described in detail below using the interaction between the first communication device and the second communication device as an example. The first communication device can be an access network device (or a central unit (CU) or a distributed unit (DU) in the access network device); or, the first communication device can be a network device in an open radio access network (O-RAN) (or a CU (e.g., referred to as O-CU (open CU)) or DU (e.g., referred to as O-DU (open DU)) in the open radio access network; or, the first communication device can be a core network device (e.g., a UPF network element, etc.). The second communication device can be an access network device, a core network device, or a terminal device, etc.

[0116] Figure 4 is a schematic flowchart of a communication method provided in an embodiment of this application. As shown in Figure 4, the method may include the following steps:

[0117] 401, The core network equipment obtains traffic information based on the data prediction for the first data stream.

[0118] It should be understood that the first data flow may be all or part of the data flow corresponding to a certain terminal device, or the first data flow may be a quality of service flow (QoS flow), or the first data flow may be a data flow of a protocol data unit (PDU) session.

[0119] It should also be understood that the core network device, as a forwarding node between the server and network devices, is capable of predicting the first data stream.

[0120] For example, the predicted traffic information is obtained based on at least one of the following: historical data stream statistics, bitrate, compression ratio, application resolution, frame rate, or traffic model, etc. The historical data stream statistics include at least one of the following: data stream transmission period, data stream jitter information, data burst arrival time, data burst arrival interval, or data stream burst size, etc.

[0121] For example, core network equipment can estimate and predict the arrival time, rate, and burst size of future data streams (e.g., the first data stream) based on statistical information from historical data streams. The core network equipment can train the traffic model using machine learning or artificial intelligence techniques to further predict data stream traffic information. The detailed operations by which the core network equipment predicts the traffic information of the first data stream are not limited in this application.

[0122] For example, core network devices can obtain auxiliary information for data prediction of the first data stream from application servers and / or terminal devices. This auxiliary information may include one or more of the following: coding bitrate, coding compression ratio, application resolution, frame rate, period, data burst arrival time, data burst arrival interval, jitter, data burst size, or traffic model. Specifically, the terminal devices may provide this auxiliary information to the core network devices in the following ways: the auxiliary information may be directly transmitted to the core network devices by the terminal devices' non-access stratum (NAS), or the auxiliary information may be first transmitted to the network devices by the terminal devices' access stratum (AS), and then forwarded to the core network devices by the network devices.

[0123] It should be understood that, prior to step 401, the method shown in Figure 4 further includes:

[0124] The core network equipment sends a first request message to the application server and / or terminal equipment, and the application server and / or terminal equipment receive the first request message from the core network equipment accordingly.

[0125] The first request information is used to request auxiliary information, which is used to determine the traffic information for the data prediction of the first data stream.

[0126] Optionally, the first request information includes first identification information used to determine the first data stream. For example, the first identification information may be a QFI, a PDU session ID, or a UE ID.

[0127] It should be understood that a detailed description of this supplementary information can be found in the example above, and will not be repeated here.

[0128] Application servers and / or terminal devices send auxiliary information to core network devices. Correspondingly, core network devices receive auxiliary information from application servers and / or terminal devices.

[0129] For example, the core network device sends a first request message to the application server and / or terminal device, the application server and / or terminal device sends auxiliary information to the core network device based on the first request message, and the core network device predicts the data traffic of the first data stream based on the received auxiliary information to determine the traffic information for the predicted data of the first data stream.

[0130] 402, The network device obtains network capacity information based on the data prediction for the first data stream.

[0131] It should be understood that, considering that the task of air interface scheduling is generally the responsibility of network equipment, network equipment has a better understanding of the state of the wireless channel and the data that needs to be transmitted in the network, that is, network equipment can predict network capacity information.

[0132] For example, the predicted network capacity information includes at least one of the following: the predicted amount of data transmitted by the network in the first time period, the predicted average rate of the network in the first time period, the predicted congestion level of the network in the first time period, the predicted rate changes of the network in the first time period (e.g., rate increase or rate decrease), or whether the network can support the rate of the current data stream in the first time period.

[0133] The first time period mentioned above refers to a future time period. The predicted network can refer to the network between the predicted terminal device and the access network device.

[0134] It should be understood that, prior to step 402, the method shown in Figure 4 further includes:

[0135] The core network device sends a second request message to the network device. Correspondingly, the network device receives the second request message from the core network device.

[0136] Optionally, the second request information request enables prediction and / or latency management of network capacity for the first data stream.

[0137] Optionally, the second request information request obtains network capacity information for the traffic prediction of the first data stream.

[0138] In one possible implementation, the second request message requests the activation of network capacity prediction and / or latency management for the first data stream. Upon receiving the second request message, the network device determines, based on the second request message, whether it supports network capacity prediction and / or latency management for the first data stream. If the network device supports network capacity prediction and / or latency management for the first data stream, the network device can send a response message to the core network device, instructing the network device to support network capacity prediction and / or latency management for the data in the first data stream.

[0139] In another possible implementation, the second request information requests network capacity information for a traffic prediction of the first data stream. If the network device supports the capability to predict the network capacity of the data in the first data stream, it can predict the network capacity of the data in the first data stream and send the predicted network capacity information to the core network device via a response message, which includes the predicted network capacity information for the data in the first data stream.

[0140] It should be understood that in scenarios where the source network device and the target network device of a terminal device are switching, the source network device can forward the aforementioned request information (e.g., the second request information) to the target network device. Accordingly, the target network device can provide feedback to the core network device on whether the target network device supports / enables the aforementioned network capacity prediction function, and / or, the target network device can send the network capacity information predicted for the first data stream to the core network device.

[0141] It should also be understood that, for the separate architecture of CU-DU, CU-CP can send the above-mentioned request information (e.g., second request information) to CU-UP and / or DU, and correspondingly, CU-UP and / or DU will provide feedback to CU-CP on whether to support / enable the above-mentioned function of predicting network capacity.

[0142] It should also be understood that, for dual connectivity (DC) scenarios, before the master node (MN) provides the predicted network capacity information to the core network equipment, it can send the aforementioned request information (e.g., second request information) to the secondary node (SN). The SN provides the network capacity information predicted by the SN to the MN, and the MN can combine the network capacity information predicted by the MN and the SN, and provide the combined network capacity information to the core network equipment.

[0143] 403, the network device sends network capacity information to the core network device. Correspondingly, the core network device receives the network capacity information from the network device.

[0144] For example, after obtaining network capacity information for the data prediction of the first data stream, the network device sends the network capacity information to the core network device to assist the core network device in determining whether the future traffic of the first data stream matches the network capacity and whether the first data stream needs to be controlled.

[0145] It should be understood that network capacity information predicted by network devices can be transmitted to core network devices via the control plane. For example, the network device may send it to AMF / SMF network elements via the NG control plane interface. Alternatively, the network device may also transmit it to the core network device via the user plane. For example, the network device may send it to UPF network elements via the NG user plane interface. After receiving the network capacity information from the network device, the core network device may also forward the network capacity information to other network elements, which is not limited in this application.

[0146] 404. The core network equipment determines whether to control the first data stream based on traffic information and network capacity information.

[0147] For example, in step 401, the core network device obtains the traffic information predicted for the first data stream, and in step 403, it obtains the network capacity information predicted for the first data stream. Based on the traffic information and the network capacity information, the core network device further determines whether to control the first data stream.

[0148] It should be understood that, based on traffic information and network capacity information, the core network equipment determines that it can perform first control on the first data stream when the network capacity cannot guarantee the traffic demand; and based on traffic information and network capacity information, the core network equipment determines that it can perform second control on the first data stream when the network capacity exceeds the traffic demand.

[0149] Optionally, the first control may be determined based on traffic information and network capacity information, and the second control may be determined based on traffic information and network capacity information.

[0150] The following sections will provide exemplary descriptions of the first and second controls performed by the core network equipment on the first data stream, based on scenarios one and two, respectively.

[0151] It should be understood that Case 1 and Case 2 are exemplary descriptions of the possible relationship between network capacity information and traffic information. There is no explicit logical order of execution between Case 1 and Case 2. The examples in Case 1 and Case 2 can be executed separately in different examples, or Case 1 and Case 2 can be executed sequentially in the same example; this application does not limit this.

[0152] Scenario 1: If the core network equipment determines that the predicted network capacity cannot guarantee the traffic demand based on network capacity and traffic information, the core network equipment will perform the first control on the first data stream.

[0153] 405. The core network equipment determines to perform the first control on the first data stream based on traffic information and network capacity information.

[0154] It should be understood that when the core network equipment determines that the predicted network capacity cannot meet the predicted traffic demand, the core network equipment determines to perform a first control on the first data stream. This first control is used to reduce the data transmission rate of the first data stream, or to increase the data transmission time of the first data stream.

[0155] For example, if the core network equipment determines, based on network capacity information, that the amount of data in the first data stream exceeds the amount of data that the network capacity can handle in the future, the core network equipment will determine that the first data stream needs to be controlled to prevent the traffic of the first data stream from exceeding the network's capacity and causing problems such as packet loss.

[0156] The core network equipment performs first control on the first data stream, specifically by controlling the data transmission rate of the first data stream and reducing the data transmission rate of the first data stream through at least one of the following methods one to three.

[0157] Method 1:

[0158] 406, The core network equipment performs the first control on the first data stream.

[0159] For example, the core network device determines to perform first control on the first data stream based on traffic information and network capacity information, and the core network device itself can perform first control on the first data stream.

[0160] As an example, the core network can increase the caching time of the first data stream locally on the core network devices.

[0161] For example, when the first data stream is an uplink transmission, the core network device can increase the buffering time of this first data stream within the core network device. Suppose that after a UPF network element receives uplink transmission data from a network device, it buffers the uplink data locally and stores it for a period of time before forwarding it to the application server. Therefore, when a UPF network element receives uplink transmission data from a network device, it does not immediately forward the uplink transmission data to the application server, but instead buffers it locally, reducing the transmission rate of the uplink data.

[0162] For example, when the first data stream is a downlink transmission, the core network device can increase the buffering time of this first data stream within the core network device. Suppose that after the UPF network element receives downlink transmission data from the application server, it buffers the downlink data locally and stores it for a period of time before forwarding it to the network device. Therefore, when the UPF network element receives downlink transmission data from the application server, it does not immediately forward the downlink transmission data to the network device, but instead buffers it locally, reducing the transmission rate of the downlink data.

[0163] As another example, the core network device selects a transmission path with a transmission delay greater than that of the current first data stream to transmit the data of the first data stream, thereby extending the transmission time of the first data stream and reducing the transmission rate of the first data stream.

[0164] For example, when the first data stream is an uplink data stream, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #1) is t1. The core network device selects path #2 as the transmission path for the first data stream, where the transmission delay t2 of path #2 is greater than the transmission delay t1 of path #1.

[0165] Method 2:

[0166] 407. The core network device sends the first control information to the network device. Correspondingly, the network device receives the first control information from the core network device.

[0167] The first control information is used to instruct the first control to be applied to the first data stream.

[0168] Optionally, the first control information includes information on the latency of the first data stream. The latency indicated by the latency is used to determine the expected transmission latency of the first data stream when performing the first control on the first data stream, or the expected duration for which the data of the first data stream is delayed.

[0169] 408, The network device performs the first control on the first data stream.

[0170] For example, after receiving first control information from the core network device, the network device performs first control on the first data stream based on the first control information. This first control may be determined based on predicted network capacity and traffic information.

[0171] As an example, the network device delays the delivery of data in the first data stream.

[0172] For example, when the first data stream is an uplink data stream, the network device receives the first control information from the core network device. The network device delays the upward delivery of the first data stream, or in other words, the network device increases the buffering time of the first data stream at the network device. Suppose that after receiving uplink data from the terminal device, the network device buffers the uplink data locally and stores it for a period of time before forwarding it to the core network device. Therefore, when the network device receives uplink data from the terminal device, it does not immediately forward the uplink data to the core network device; that is, it delays sending the uplink data to the core network device, but instead buffers it locally, reducing the transmission rate of the uplink data.

[0173] For example, when the first data stream is a downlink transmission, the network device can increase the buffering time for this data stream. Suppose that after receiving downlink transmission data from the core network device, the network device buffers the downlink data locally and stores it for a period of time before forwarding it to the terminal device. Therefore, the network device, upon receiving downlink transmission data from the core network device, does not immediately forward the downlink transmission data to the terminal device, but buffers it locally, reducing the transmission rate of the downlink data.

[0174] As another example, the network device selects a transmission path with a transmission delay greater than that of the current first data stream to transmit the data of the first data stream, thereby extending the transmission time of the first data stream and reducing the transmission rate of the first data stream.

[0175] It should be understood that the example of a network device choosing a transmission path with a larger transmission delay to transmit the data of the first data stream is similar to the example of the core network device choosing a transmission path with a larger transmission delay to transmit the data of the first data stream in step 406 above. For details, please refer to the detailed description in step 406 above.

[0176] It should be understood that when the first control information includes information about the latency of the first data stream, the latency of the network device delaying the delivery of the data of the first data stream in the above example, or the buffering time of the data of the first data stream at the network device, or the selection of a transmission path with a larger transmission latency can be determined based on the latency of the first data stream.

[0177] Method 3:

[0178] 409. The network device sends first control information to the terminal device. Correspondingly, the terminal device receives the first control information forwarded by the network device.

[0179] For example, a network device receives first control information and forwards it to a terminal device. Whether the network device performs first control on the first data stream based on the first control information is not limited in this application.

[0180] 410, The terminal device performs the first control on the first data stream.

[0181] It should be understood that after receiving the first control information forwarded by the network device, the terminal device performs first control on the first data stream based on the first control information.

[0182] For example, when the first data stream is an uplink data stream, the terminal device receives the first control information, and the terminal device delays the delivery of the data in the first data stream, or it can be understood that the terminal device reduces the transmission rate of the uplink data.

[0183] It should be understood that the above-described scenario one provides an exemplary description of the first control operation in conjunction with methods one, two, and three. Methods one, two, and three can perform the first control on the first data stream within the same process; or, any one or two of methods one, two, and three can perform the first control on the first data stream within the same process, and this application is not limited in any way. In the method shown in scenario one, the core network device determines whether to trigger the first control on the first data stream based on network capacity information and traffic information, thus avoiding network congestion and packet loss of the first data stream.

[0184] Scenario 2: When the core network equipment determines, based on network capacity and traffic information, that the predicted network capacity exceeds the traffic demand, the core network equipment performs secondary control on the first data stream.

[0185] 411. The core network equipment determines the second control of the first data stream based on traffic information and network capacity information.

[0186] It should be understood that when the core network equipment determines that the network capacity exceeds the traffic demand, the core network equipment determines to perform a second control on the first data stream. This second control is used to either increase the data transmission rate of the first data stream or to reduce the data transmission time of the first data stream.

[0187] For example, the core network equipment determines, based on network capacity information and traffic information, the amount of data in the first data stream that the network capacity will exceed the amount of data in the future. The core network equipment then determines that the first data stream needs to be subject to second control in order to improve the transmission efficiency of the first data stream.

[0188] In this process, the core network equipment performs a second control on the first data stream, specifically by controlling the data transmission rate of the first data stream through at least one of the following methods four to six, thereby increasing the data transmission rate of the first data stream.

[0189] Method 4

[0190] 412, The core network equipment performs second control on the first data stream.

[0191] For example, the core network device determines to perform second control on the first data stream based on traffic information and network capacity information. The core network device itself can perform second control on the first data stream.

[0192] As an example, core network devices can shorten / reduce the buffering time of the first data stream locally on the core network device.

[0193] For example, when the first data stream is an uplink data stream, the core network device can reduce the buffering time of this first data stream within the core network device. Assume that after the UPF network element receives uplink data from the network device, it immediately forwards the uplink data to the application server. Therefore, upon receiving uplink data from the network device, the UPF network element can immediately forward the uplink data to the application server, shortening the local buffering time of the first data stream within the core network device and improving the transmission rate of the uplink data.

[0194] For example, when the first data stream is a downlink transmission, the core network device can shorten the buffering time of this first data stream within the core network device. Suppose that after the UPF network element receives downlink transmission data from the application server, it immediately forwards the downlink transmission data to the network device. Therefore, by receiving downlink transmission data from the application server and immediately forwarding it to the network device, the UPF network element shortens the local buffering time of the first data stream and improves the transmission rate of the downlink data.

[0195] As another example, the core network device selects a transmission path with a transmission latency less than that of the current first data stream to transmit the data of the first data stream, thereby shortening the transmission time of the first data stream and increasing the transmission rate of the first data stream.

[0196] For example, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #3) is t3. The core network device selects path #4 as the transmission path for the first data stream, where the transmission delay t4 of path #4 is less than the transmission delay t3 of path #3.

[0197] Method 5

[0198] 413. The core network device sends a second control message to the network device. Correspondingly, the network device receives the second control message from the core network device.

[0199] The second control information is used to instruct the first data stream to be subject to second control.

[0200] 414. The network device performs a second control over the first data stream.

[0201] For example, after receiving second control information from the core network device, the network device performs second control on the first data stream based on the second control information.

[0202] As an example, network devices can shorten / reduce the buffering time of the first data stream locally on the network device.

[0203] For example, when the first data stream is an uplink data stream, the network device can reduce the buffering time of the data in the network device. Suppose that after receiving uplink data from the terminal device, the network device can immediately forward the uplink data to the core network device. Therefore, by receiving uplink data from the terminal device and immediately forwarding it to the core network device, the network device shortens the local buffering time of the first data stream and increases the transmission rate of the uplink data.

[0204] For example, when the first data stream is a downlink transmission, the network device can shorten the buffering time of this first data stream within the network device. Suppose that after receiving downlink transmission data from the core network device, the network device can immediately forward this downlink transmission data to the terminal device. Therefore, by receiving downlink transmission data from the core network device and immediately forwarding it to the terminal device, the network device shortens the local buffering time of the first data stream and improves the transmission rate of the downlink data.

[0205] As another example, the network device selects a transmission path with a transmission latency less than that of the current first data stream to transmit the data of the first data stream, thereby shortening the transmission time of the first data stream and increasing the transmission rate of the first data stream.

[0206] For example, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #3) is t3. The network device selects path #4 as the transmission path for the first data stream, where the transmission delay t4 of path #4 is less than the transmission delay t3 of path #3.

[0207] Method Six

[0208] 415. The network device sends second control information to the terminal device. Correspondingly, the terminal device receives the second control information forwarded by the network device.

[0209] For example, a network device receives second control information and forwards it to a terminal device. Whether the network device performs second control on the first data stream based on the second control information is not limited in this application.

[0210] 416, The terminal device performs a second control on the first data stream.

[0211] It should be understood that after receiving the second control information forwarded by the network device, the terminal device performs second control on the first data stream based on the second control information.

[0212] For example, when the first data stream is an uplink data stream, the terminal device receives the second control information and increases the transmission rate of the first data stream. For instance, the terminal device increases the sending rate of the first data stream.

[0213] For example, when the first data stream is a downlink transmission data stream, the terminal device receives the second control information and can immediately forward the data of the first data stream to the application, thereby reducing the buffering time of the data of the first data stream at the access layer of the terminal device.

[0214] It should be understood that the above-described scenario two, in conjunction with methods four, five, and six, exemplifies the operation of the second control. Methods four, five, and six can perform second control on the first data stream within the same process; or, any one or two of methods four, five, and six can perform second control on the first data stream within the same process, and this application is not limited in any way. When network capacity exceeds traffic demand, the example in scenario two can improve the data transmission rate of the first data stream by performing second control on it, thus ensuring both the data transmission quality and the data transmission rate of the first data stream.

[0215] According to the method shown in Figure 4 above, the core network device uses traffic information predicted from the traffic flow of the first data stream and network capacity information to determine whether an adaptive adjustment to the data transmission strategy of the first data stream is needed to avoid network congestion and improve network transmission performance. Furthermore, this method does not require the application server to open new interfaces or modify the congestion control algorithm. Simultaneously, the core network device performs control operations on the first data stream, avoiding the lag caused by existing congestion control algorithms instructing the sender of the first data stream to reduce the transmission rate.

[0216] Figure 5 is a schematic flowchart of another communication method provided in an embodiment of this application. As shown in Figure 5, the method may include the following steps:

[0217] 501, The network device obtains traffic information based on the predicted data flow for the first data stream.

[0218] In one possible implementation, the network device can obtain auxiliary information from the application server and / or terminal device for predicting traffic information for the first data stream, and the network device further determines the traffic information for predicting the data for the first data stream based on the obtained auxiliary information.

[0219] In another possible implementation, the network device can obtain traffic information for the predicted data flow of the first data flow from the core network device. Specifically, the core network device can estimate and predict the arrival time, rate, or burst size of future data flows based on historical data flow statistics, thus obtaining the predicted traffic information. Alternatively, the core network device can obtain auxiliary information for predicting the data flow of the first data flow from the application server and / or terminal devices, and determine the predicted traffic information for the first data flow based on this auxiliary information.

[0220] It should be understood that detailed information on the first data stream, predicted traffic information, statistical information of historical data streams, traffic models, and auxiliary information can be found in step 401 of Figure 4 above.

[0221] 502, The network device obtains network capacity information based on the data prediction of the first data stream.

[0222] The predicted network capacity information includes at least one of the following: the predicted amount of data transmitted by the network in the first time period, the predicted average rate of the network in the first time period, the predicted congestion level of the network in the first time period, the predicted rate change of the network in the first time period (e.g., rate increase or rate decrease), or whether the network can support the rate of the current data stream in the first time period.

[0223] It should be understood that step 502 is similar to step 402 in Figure 4 above, and for details, please refer to the detailed description in Figure 4 above.

[0224] 503. The network device determines whether to control the first data stream based on traffic information and network capacity information.

[0225] For example, in step 501, the network device obtains traffic information predicted for the first data stream, and in step 502, it obtains network capacity information predicted for the first data stream. Based on the obtained traffic information and network capacity information, the network device determines whether to control the first data stream.

[0226] It should be understood that, based on traffic information and network capacity information, the network device determines, when the network capacity information cannot guarantee the traffic demand, to perform first control on the first data stream; and based on traffic information and network capacity information, the network device determines, when the network capacity information exceeds the traffic demand, to perform second control on the first data stream.

[0227] It should also be understood that scenarios three and four are exemplary descriptions of the possible relationship between network capacity information and traffic information. There is no explicit logical order of execution between scenarios three and four. The examples in scenarios three and four can be executed separately in different examples, or scenarios three and four can be executed sequentially in the same example; this application does not limit this.

[0228] The following sections will provide exemplary descriptions of the first and second controls performed by the network device on the first data stream, based on scenarios three and four, respectively.

[0229] Scenario 3: If the network device determines, based on network capacity and traffic information, that the predicted network capacity cannot guarantee traffic demand, the network device will perform first control on the first data stream.

[0230] 504, The network device determines to perform first control on the first data stream based on traffic information and network capacity information.

[0231] It should be understood that if the network device determines that the predicted network capacity cannot guarantee the predicted traffic demand, the network device will determine to perform a first control on the first data stream. This first control may be used to reduce the data transmission rate of the first data stream, or to increase the data transmission time of the first data stream.

[0232] For example, if a network device determines, based on network capacity information, that the amount of data in the first data stream exceeds the network's capacity within a certain period, the network device will determine that it needs to perform first control on the first data stream to prevent the traffic of the first data stream from exceeding the network's capacity and causing problems such as packet loss.

[0233] In this process, the network device performs a first control on the first data stream, specifically by controlling the data transmission rate of the first data stream and reducing the data transmission rate of the first data stream through at least one of the following methods seven to nine.

[0234] Method Seven:

[0235] 505, The network device performs the first control on the first data stream.

[0236] For example, a network device determines to perform first control on a first data stream based on traffic information and network capacity information, and the network device itself can perform first control on the first data stream.

[0237] As an example, network devices can increase the buffering time of the first data stream locally on the network device.

[0238] For example, when the first data stream is an uplink transmission, the network device can increase the buffering time for this first data stream. Suppose that after receiving uplink data from a terminal device, the network device buffers the uplink data locally and stores it for a period of time before forwarding it to the core network device. Therefore, when the network device receives uplink data from a terminal device, it does not immediately forward the uplink data to the core network device, but instead buffers it locally, reducing the transmission rate of the uplink data.

[0239] For example, when the first data stream is a downlink transmission, the network device can increase the buffering time for this first data stream. Suppose that after receiving downlink transmission data from the core network device, the network device buffers the downlink data locally and stores it for a period of time before forwarding it to the terminal device. Therefore, when the network device receives downlink transmission data from the core network device, it does not immediately forward the downlink transmission data to the terminal device, but buffers it locally, reducing the transmission rate of the downlink data.

[0240] As another example, the network device selects a transmission path with a transmission delay greater than that of the current first data stream to transmit the first data stream, thereby extending the transmission time of the first data stream and reducing the transmission rate of the first data stream.

[0241] For example, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #1) is t1. The network device selects path #2 as the transmission path for the first data stream, where the transmission delay t2 of path #2 is greater than the transmission delay t1 of path #1.

[0242] Method 8:

[0243] 506. The network device sends the first control information to the core network device. Correspondingly, the core network device receives the first control information from the network device.

[0244] The first control information is used to instruct the first control to be applied to the first data stream.

[0245] Optionally, the first control information includes information about the delay of the first data stream.

[0246] It should be understood that step 506 is similar to step 407 in Figure 4 above, and for details, please refer to the detailed description in Figure 4 above.

[0247] 507, The core network equipment performs the first control on the first data stream.

[0248] For example, after receiving first control information from a network device, the core network device performs first control on the first data stream based on the first control information. This first control may be determined based on network capacity information and traffic information.

[0249] As an example, the core network equipment delays the delivery of data in the first data stream.

[0250] For example, when the first data stream is an uplink data stream, the core network device receives the first control information from the network device. The core network device delays the upward delivery of the first data stream, or in other words, it increases the buffering time of the first data stream at the core network device. Assume that after receiving the uplink data from the network device, the core network device buffers the uplink data locally and stores it for a period of time before forwarding it to the application server. Therefore, the core network device does not immediately forward the uplink data to the application server upon receiving it; that is, it delays sending the uplink data to the application server, but instead buffers it locally, reducing the transmission rate of the uplink data.

[0251] For example, when the first data stream is a downlink transmission, the core network device can increase the buffering time of this first data stream within the core network device. Suppose that after receiving downlink transmission data from the application server, the core network device buffers this downlink data locally and stores it for a period of time before forwarding it to the network device. Therefore, the core network device, upon receiving downlink transmission data from the application server, does not immediately forward it to the network device but buffers it locally, reducing the transmission rate of the downlink data.

[0252] Method Nine:

[0253] 508. The network device sends first control information to the terminal device. Correspondingly, the terminal device receives the first control information from the network device.

[0254] It should be understood that this application does not limit whether the network device performs first control on the first data stream or whether the network device sends first control information to the core network device when the network device sends first control information to the terminal device.

[0255] 509, The terminal device performs the first control on the first data stream.

[0256] It should be understood that the terminal device receives the first control information and performs the first control on the first data stream based on the first control information.

[0257] For example, when the first data stream is an uplink data stream, the terminal device receives the first control information, and the terminal device delays the delivery of the data in the first data stream, or it can be understood that the terminal device reduces the data transmission rate of the first data stream.

[0258] It should be understood that the above-described scenario three provides an exemplary description of the first control operation in conjunction with methods seven, eight, and nine. Methods seven, eight, and nine can perform first control on the first data stream within the same process; or, any one or two of methods seven, eight, and nine can perform first control on the first data stream within the same process, and this application is not limited in any way. The method shown in scenario three allows the network device to determine whether to trigger first control on the first data stream based on network capacity and traffic information, thus avoiding network congestion and packet loss in the first data stream.

[0259] Scenario 4: If the network device determines, based on network capacity and traffic information, that the predicted network capacity exceeds the traffic demand, the network device will perform secondary control on the first data stream.

[0260] 510. The network device determines to perform second control on the first data stream based on traffic information and network capacity information.

[0261] It should be understood that when the network device determines that the network capacity exceeds the traffic demand, the network device determines to perform a second control on the first data stream. This second control is used to either increase the data transmission rate of the first data stream or to reduce the data transmission time of the first data stream.

[0262] For example, based on network capacity information and traffic information, the network device determines that the network capacity will exceed the transmission traffic of the first data stream in the future. The network device then determines that a second control is needed for the first data stream to improve the transmission efficiency of the first data stream.

[0263] In this process, the network device performs a second control on the first data stream, specifically by controlling the data transmission rate of the first data stream through at least one of the following methods ten to twelve, thereby increasing the data transmission rate of the first data stream.

[0264] Method 10:

[0265] 511, The network device performs a second control on the first data stream.

[0266] For example, a network device determines to perform second control on a first data stream based on traffic information and network capacity information. The network device itself can perform second control on the first data stream.

[0267] As an example, network devices can shorten / reduce the buffering time of the first data stream locally on the network device.

[0268] For example, when the first data stream is an uplink data stream, the network device can reduce the buffering time of the data in the network device. Suppose that after receiving uplink data from the terminal device, the network device can immediately forward the uplink data to the core network device. Therefore, by immediately forwarding the uplink data to the core network device, the network device shortens the buffering time of the first data stream locally and increases the transmission rate of the uplink data.

[0269] For example, when the first data stream is a downlink transmission, the network device can shorten the buffering time of the data in the network device. Suppose that after receiving downlink transmission data from the core network device, the network device immediately forwards the downlink transmission data to the terminal device. Therefore, by immediately forwarding the downlink transmission data to the terminal device, the network device shortens the buffering time of the first data stream locally, thus increasing the transmission rate of the downlink data.

[0270] As another example, the network device selects a transmission path with a transmission latency less than that of the current first data stream to transmit the data of the first data stream, thereby shortening the transmission time of the first data stream and increasing the transmission rate of the first data stream.

[0271] For example, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #3) is t3. The network device selects path #4 as the transmission path for the first data stream, where the transmission delay t4 of path #4 is less than the transmission delay t3 of path #3.

[0272] Method Eleven:

[0273] 512. The network device sends a second control message to the core network device. Correspondingly, the core network device receives the second control message from the network device.

[0274] The second control information is used to instruct the execution of a second control operation on the first data stream.

[0275] 513, the core network equipment performs second control on the first data stream.

[0276] For example, after receiving the second control information from the core network device, the core network device performs a second control on the first data stream based on the second control information.

[0277] As an example, core network devices can shorten / reduce the buffering time of the first data stream locally on the core network device.

[0278] For example, when the first data stream is an uplink data stream, the core network device can reduce the buffering time of the data in the core network device. Suppose that after receiving uplink data from the network device, the core network device can immediately forward the uplink data to the application server. Therefore, by immediately forwarding the uplink data to the application server, the core network device shortens the local buffering time of the first data stream and improves the transmission rate of the uplink data.

[0279] For example, when the first data stream is a downlink transmission, the core network device can shorten the buffering time of this first data stream within the core network device. Suppose that after receiving downlink transmission data from the application server, the core network device can immediately forward the downlink transmission data to the network device. Therefore, by immediately forwarding the downlink transmission data to the network device, the core network device shortens the local buffering time of the first data stream and improves the transmission rate of the downlink data.

[0280] As another example, the core network device selects a transmission path with a transmission latency less than that of the current first data stream to transmit the data of the first data stream, thereby shortening the transmission time of the first data stream and increasing the transmission rate of the first data stream.

[0281] For example, the transmission delay corresponding to the current transmission path of the first data stream (e.g., path #3) is t3. The core network device selects path #4 as the transmission path for the first data stream, where the transmission delay t4 of path #4 is less than the transmission delay t3 of path #3.

[0282] Method Twelve:

[0283] 514. The network device sends second control information to the terminal device. Correspondingly, the terminal device receives the second control information from the network device.

[0284] The second control information is used to instruct the execution of a second control operation on the first data stream.

[0285] 515, The terminal device performs a second control on the first data stream.

[0286] It should be understood that after receiving the second control information forwarded by the network device, the terminal device performs second control on the first data stream based on the second control information.

[0287] For example, when the first data stream is an uplink data stream, the terminal device receives the second control information and increases the transmission rate of the first data stream. For instance, the terminal device increases the sending rate of the first data stream.

[0288] For example, when the first data stream is a downlink transmission data stream, the terminal device receives the second control information and can immediately forward the data of the first data stream to the application, thereby reducing the buffering time of the data of the first data stream at the access layer of the terminal device.

[0289] It should be understood that the above-described scenario four, in conjunction with methods ten, eleven, and twelve, exemplifies the operation of the second control. Methods ten, eleven, and twelve can perform the second control on the first data stream within the same process; or, any one or two of methods ten, eleven, and twelve can perform the second control on the first data stream within the same process, and this application is not limited in any way. When network capacity exceeds traffic demand, the example in scenario four can improve the data transmission rate of the first data stream by performing the second control on it, thus ensuring both the data transmission quality and the data transmission rate of the first data stream.

[0290] According to the method shown in Figure 5 above, the network device uses traffic information predicted for the first data stream and network capacity information to determine whether an adaptive adjustment to the data transmission strategy of the first data stream is needed to avoid network congestion and improve network transmission performance. Furthermore, this method does not require the application server to open new interfaces or modify the congestion control algorithm. Simultaneously, the network device performs control operations on the first data stream, avoiding the lag caused by existing congestion control algorithms instructing the sender of the first data stream to reduce the transmission rate.

[0291] Figure 6 is a schematic flowchart of another communication method provided in an embodiment of this application.

[0292] It should be understood that Figure 6 illustrates the method shown in Figure 6 using the interaction between the first communication device and the second communication device as an example. The first communication device in Figure 6 can be a core network device, a network device, or a CU.

[0293] As shown in Figure 6, the method may include the following steps:

[0294] 601, The first communication device acquires traffic information based on data prediction for the first data stream.

[0295] It should be understood that the first data stream may be all or part of the data stream corresponding to a certain terminal device, or the first data stream may be a QoS flow, or the first data stream may be a data stream of a PDU session, and this application does not limit it.

[0296] For example, the traffic information is obtained based on at least one of the following: historical data stream statistics, bitrate, compression ratio, application resolution, frame rate, or traffic model. The historical data stream statistics include at least one of the following: data stream transmission period, data stream jitter information, data stream burst size, data burst arrival time, or data burst arrival interval, etc.

[0297] Prior to step 601, the method shown in Figure 6 may further include:

[0298] The first communication device sends a first request message.

[0299] The first request information is used to request auxiliary information, which the first communication device uses to determine traffic information for data prediction of the first data stream. The auxiliary information may include at least one of the following: encoding bitrate, encoding compression ratio, application resolution, frame rate, period, data burst arrival time, data burst arrival interval, jitter, data burst size, or traffic model. Optionally, the first request information includes first identification information used to identify the first data stream.

[0300] The first communication device receives auxiliary information.

[0301] For example, the first communication device predicts the data flow of the first data stream based on the received auxiliary information and determines the data flow information for the predicted data of the first data stream.

[0302] It should be understood that a specific example of the first communication device acquiring traffic information for the data prediction of the first data stream can be found in the detailed descriptions of step 401 in Figure 4 and step 501 in Figure 5 above.

[0303] 602, The first communication device acquires network capacity information based on data prediction for the first data stream.

[0304] For example, the predicted network capacity information includes at least one of the following: the predicted amount of data transmitted by the network in a first time period, the predicted average rate of the network in the first time period, the predicted congestion level of the network in the first time period, the predicted rate change of the network in the first time period (e.g., rate increase or rate decrease), or whether the network can support the rate of the current data stream in the first time period. Here, the first time period refers to any future time period, and this application does not limit it.

[0305] Prior to step 602, the method shown in Figure 6 may further include:

[0306] The first communication device sends a second request message.

[0307] The second request information is used to request the activation of network capacity prediction and / or latency management for the first data stream, and / or the second request information requests to obtain network capacity information for traffic prediction of the first data stream.

[0308] It should be understood that a specific example of the first communication device obtaining a network capacity prediction for the first data stream can be found in the detailed descriptions of step 402 in Figure 4 and step 502 in Figure 5 above.

[0309] 603, the first communication device determines whether to control the first data stream based on traffic information and network capacity information.

[0310] For example, after the first communication device obtains the network capacity information and traffic information for the data prediction of the first data stream, it determines whether the predicted traffic demand of the first data stream matches the network capacity and whether it is necessary to control the data of the first data stream based on the network capacity information and traffic information.

[0311] It should be understood that when the first communication device determines, based on traffic information and network capacity information, that the network capacity cannot guarantee the traffic demand, the first communication device performs first control on the first data stream; when the first communication device determines, based on traffic information and network capacity information, that the network capacity exceeds the traffic demand, the first communication device performs second control on the first data stream.

[0312] The following will provide an exemplary description of the first control and second control of the first data stream by the first communication device, in conjunction with situations five and six, respectively.

[0313] It should be understood that Cases 5 and 6 are exemplary descriptions of the possible relationship between network capacity information and traffic information. There is no explicit logical order of execution between Cases 5 and 6. The examples in Cases 5 and 6 can be executed separately in different examples, or Cases 5 and 6 can be executed sequentially in the same example; this application does not limit this.

[0314] Scenario 5: If the first communication device determines, based on traffic information and network capacity information, that the predicted network capacity cannot guarantee the predicted traffic demand, the first communication device performs first control on the first data stream.

[0315] 604, the first communication device determines to perform first control on the first data stream based on traffic information and network capacity information.

[0316] It should be understood that if the first communication device determines that the predicted network capacity cannot meet the predicted traffic demand, the first communication device determines to perform a first control on the first data stream. This first control is used to reduce the data transmission rate of the first data stream, or to increase the data transmission time of the first data stream.

[0317] The first communication device performs first control on the first data stream, specifically by controlling the data transmission rate of the first data stream and reducing the data transmission rate of the first data stream through at least one of the following methods thirteen and fourteen.

[0318] Method Thirteen:

[0319] 605, The first communication device performs first control on the first data stream.

[0320] For example, performing first control on the first data stream includes at least one of the following: increasing the buffering time of the first data stream in the first communication device, selecting a first path to transmit the data of the first data stream, or delaying the delivery of the first data stream, wherein the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream.

[0321] It should be understood that a specific example of the first communication device performing the first control on the first data stream can be found in the exemplary descriptions of step 406 in Figure 4 and step 505 included in scenario three in Figure 5, which will not be repeated here.

[0322] Method Fourteen:

[0323] 606, the first communication device sends first control information to the second communication device. Correspondingly, the second communication device receives the first control information from the first communication device.

[0324] The first control information is used to instruct the first control to be applied to the first data stream.

[0325] Optionally, the first control can be determined based on predicted network capacity and traffic information.

[0326] 607. The second communication device performs first control on the first data stream according to the first control information.

[0327] For example, after the second communication device receives the first control information from the first communication device, the second communication device performs the first control on the first data stream according to the first control information.

[0328] It should be understood that a specific example of the second communication device performing first control on the first data stream according to the first control information can be found in the exemplary descriptions of steps 407 to 410 in Figure 4 and steps 506 to 509 in Figure 5, which will not be repeated here.

[0329] Case 6: If the first communication device determines, based on traffic information and network capacity information, that the predicted network capacity exceeds the predicted traffic demand, the first communication device performs second control on the first data stream.

[0330] 608, the first communication device determines to perform second control on the first data stream based on traffic information and network capacity information.

[0331] It should be understood that if the first communication device determines that the predicted network capacity exceeds the predicted traffic demand, the first communication device determines to perform a second control on the first data stream. This second control is used to either increase the data transmission rate of the first data stream or to reduce the data transmission time of the first data stream.

[0332] The first communication device performs a second control on the first data stream, specifically by controlling the data transmission rate of the first data stream and increasing the data transmission rate of the first data stream through at least one of the following methods fifteen and sixteen.

[0333] Method Fifteen:

[0334] 609, The first communication device performs second control on the first data stream.

[0335] For example, the second control of the first data stream includes: shortening the buffering time of the data in the first data stream and / or selecting a second path to transmit the data in the first data stream, wherein the transmission delay of the second path is less than the transmission delay of the current transmission path of the first data stream.

[0336] It should be understood that specific examples of the first communication device performing a second control on the first data stream can be found in the exemplary descriptions of step 412 in Figure 4 and step 511 in Figure 5, which will not be repeated here.

[0337] Method Sixteen:

[0338] 610, the first communication device sends second control information to the second communication device. Correspondingly, the second communication device receives the second control information from the first communication device.

[0339] The second control information is used to instruct the first data stream to be subject to second control.

[0340] Optionally, the second control can be determined based on predicted network capacity and traffic information.

[0341] 611, The second communication device performs second control on the first data stream according to the second control information.

[0342] For example, after the second communication device receives the second control information from the first communication device, the second communication device performs a second control on the first data stream based on the second control information.

[0343] It should be understood that a specific example of the second communication device performing second control on the first data stream according to the first control information can be found in steps 413 to 416 in case two of Figure 4 above, and in the exemplary descriptions of steps 512 to 515 in Figure 5, which will not be repeated here.

[0344] According to the method shown in Figure 6 above, the first communication device determines whether an adaptive adjustment to the data transmission strategy of the first data stream is needed based on traffic prediction information and network capacity information for the first data stream, thereby avoiding network congestion and improving network transmission performance. Furthermore, this method does not require opening new interfaces between the application server and network devices or modifying the congestion control algorithm. Simultaneously, the first communication device performs control operations on the first data stream, avoiding the lag caused by existing congestion control algorithms instructing the data sender of the first data stream to reduce the transmission rate.

[0345] It should be understood that the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0346] It should also be understood that, in the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0347] It should also be understood that the above embodiments are mainly illustrated using devices in existing network architectures as examples. It should be understood that the specific form of the device is not limited in the embodiments of this application. For example, any device that can achieve the same function in the future is applicable to the embodiments of this application.

[0348] It is understood that, in the above-described method embodiments, the methods and operations implemented by devices (such as the first communication device and the second communication device) can also be implemented by components (such as chips or circuits) that can be used in the devices.

[0349] It is also understood that some optional features in the various embodiments of this application may not depend on other features in some scenarios, or may be combined with other features in some scenarios, without limitation.

[0350] The communication method provided in the embodiments of this application has been described in detail above with reference to Figures 4 to 6. The above communication method is mainly described from the perspective of the first communication device and the second communication device. It is understood that, in order to achieve the above functions, the first communication device and the second communication device include hardware structures and / or software modules corresponding to the execution of each function.

[0351] Those skilled in the art will recognize that, based on the units and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in 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.

[0352] The communication device provided in the embodiments of this application will be described in detail below with reference to Figures 7 to 9. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, for content not described in detail, please refer to the method embodiments above. For the sake of brevity, some content will not be repeated.

[0353] This application embodiment can divide the transmitting or receiving device into functional modules according to the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation. The following description uses the division of functional modules according to each function as an example.

[0354] Figure 7 is a schematic block diagram of a communication device 10 provided in an embodiment of this application. The device 10 includes a transceiver module 11 and a processing module 12. The transceiver module 11 can implement corresponding communication functions, and the processing module 12 is used for data processing. In other words, the transceiver module 11 is used to perform operations related to receiving and sending, while the processing module 12 is used to perform other operations besides receiving and sending. The transceiver module 11 can also be referred to as a communication interface or a communication unit.

[0355] Optionally, the device 10 may further include a storage module 13, which can be used to store instructions and / or data. The processing module 12 can read the instructions and / or data in the storage module to enable the device to perform the operation of the device in the aforementioned method embodiments.

[0356] In one design, the device 10 may correspond to the first communication device in the above method embodiments, or to a component of the first communication device (such as a chip).

[0357] The device 10 can implement the steps or processes corresponding to those performed by the first communication device in the above method embodiment. The transceiver module 11 can be used to perform the transceiver-related operations of the first communication device in the above method embodiment, and the processing module 12 can be used to perform the processing-related operations of the first communication device in the above method embodiment.

[0358] In one possible implementation, processing module 12 is used to acquire traffic information predicted for the first data stream; processing module 12 is also used to acquire network capacity information predicted for the first data stream. Processing module 12 is used to determine, based on the traffic information and network capacity information, that the predicted network capacity cannot guarantee the predicted traffic demand, and to perform first control on the first data stream. The first control on the first data stream includes at least one of the following: increasing the buffering time of the first data stream; selecting a first path to transmit the data of the first data stream, where the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream; or, delaying the delivery of the first data stream.

[0359] When the device 10 is used to execute the method in FIG4, the first communication device may be a core network device, the transceiver module 11 may be used to execute the steps of sending and receiving information in the method, such as steps 401, 403, 407 and 413, and the processing module 12 may be used to execute the processing steps in the method, such as steps 404, 405, 406, 411 and 412.

[0360] When the device 10 is used to perform the method in FIG5, the first communication device may be a network device, the transceiver module 11 may be used to perform the steps of sending and receiving information in the method, such as steps 501, 506, 508, 512, 514, and the processing module 12 may be used to perform the processing steps in the method, such as steps 502, 503, 504 and 505.

[0361] When the device 10 is used to perform the method in FIG6, the transceiver module 11 can be used to perform the steps of sending and receiving information in the method, such as steps 606 and 610, and the processing module 12 can be used to perform the processing steps in the method, such as steps 601, 602, 603, 604, 605, 608 and 609.

[0362] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0363] In another design, the device 10 may correspond to the second communication device in the above method embodiment, or to a component of the second communication device (such as a chip).

[0364] The device 10 can implement the steps or processes corresponding to those performed by the second communication device in the above method embodiments. The transceiver module 11 can be used to perform transceiver-related operations of the second communication device in the above method embodiments, and the processing module 12 can be used to perform processing-related operations of the second communication device in the above method embodiments.

[0365] In one possible implementation, when the predicted network capacity cannot guarantee the predicted traffic demand, the transceiver module 11 is used to receive first control information, which is determined based on the predicted network capacity information and the predicted traffic information for the first data stream; the processing module 12 is used to perform first control on the first data stream according to the first control information. The first control on the first data stream includes at least one of the following: increasing the buffering time of the first data stream; selecting a first path to transmit the data of the first data stream, where the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream; or delaying the delivery of the first data stream data.

[0366] In another possible implementation, when the predicted network capacity exceeds the predicted traffic demand, the method includes: a transceiver module 11 for receiving second control information, the second control information being determined based on predicted network capacity information and predicted traffic information for the first data stream; and a processing module 12 for performing second control on the first data stream based on the second control information. The second control on the first data stream includes: shortening the buffering time of the data in the first data stream; and / or selecting a second path to transmit the data of the first data stream, the transmission delay of the second path being less than the transmission delay of the current transmission path of the first data stream.

[0367] When the device 10 is used to perform the method in FIG4, the second communication device may be a network device, the transceiver module 11 may be used to perform the steps of sending and receiving information in the method, such as steps 403, 407, 409, 413 and 415, and the processing module 12 may be used to perform the processing steps in the method, such as steps 402, 408 and 414.

[0368] When the device 10 is used to perform the method in FIG5, the second communication device may be a core network device, the transceiver module 11 may be used to perform the steps of sending and receiving information in the method, such as steps 501, 506 and 512, and the processing module 12 may be used to perform the processing steps in the method, such as steps 507 and 513.

[0369] When the device 10 is used to perform the method in FIG6, the transceiver module 11 can be used to perform the steps of sending and receiving information in the method, such as steps 606 and 610, and the processing module 12 can be used to perform the processing steps in the method, such as steps 601, 602, 607 and 611.

[0370] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0371] It should also be understood that the device 10 here is embodied in the form of a functional module. The term "module" here can refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors, etc.) and memories for executing one or more software or firmware programs, integrated logic circuits, and / or other suitable components supporting the described functions. In an alternative example, those skilled in the art will understand that device 10 may specifically be a mobility management network element in the above embodiments, and may be used to execute the various processes and / or steps corresponding to the mobility management network element in the above method embodiments; or, device 10 may specifically be a terminal device in the above embodiments, and may be used to execute the various processes and / or steps corresponding to the terminal device in the above method embodiments. To avoid repetition, further details are omitted here.

[0372] The apparatus 10 of each of the above-described schemes has the function of implementing the corresponding steps performed by the device (such as the first communication device) in the above-described methods. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described functions; for example, the transceiver module can be replaced by a transceiver (for example, the transmitting unit in the transceiver module can be replaced by a transmitter, and the receiving unit in the transceiver module can be replaced by a receiver), and other units, such as processing modules, can be replaced by processors, which respectively execute the transceiver operations and related processing operations in each method embodiment.

[0373] In addition, the transceiver module 11 can also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing module can be a processing circuit.

[0374] Figure 8 is a schematic diagram of another communication device 20 provided in an embodiment of this application. The device 20 includes a processor 21, which is used to execute computer programs or instructions stored in a memory 22, or to read data / signaling stored in the memory 22, to perform the methods in the above method embodiments. Optionally, there may be one or more processors 21.

[0375] Optionally, as shown in FIG8, the device 20 further includes a memory 22 for storing computer programs or instructions and / or data. The memory 22 may be integrated with the processor 21 or may be separately configured. Optionally, there may be one or more memories 22.

[0376] Optionally, as shown in FIG8, the device 20 further includes a transceiver 23 for receiving and / or transmitting signals. For example, the processor 21 is used to control the transceiver 23 to receive and / or transmit signals.

[0377] As one option, the device 20 is used to implement the operations performed by the first communication device or the second communication device in the various method embodiments described above.

[0378] It should be understood that the processor mentioned 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, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0379] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0380] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.

[0381] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0382] Figure 9 is a schematic diagram of a chip system 30 provided in an embodiment of this application. The chip system 30 (or processing system) includes logic circuitry 31 and an input / output interface 32.

[0383] The logic circuit 31 can be a processing circuit in the chip system 30. The logic circuit 31 can be coupled to a memory unit, calling instructions from the memory unit, enabling the chip system 30 to implement the methods and functions of the embodiments of this application. The input / output interface 32 can be an input / output circuit in the chip system 30, outputting processed information from the chip system 30, or inputting data or signaling information to be processed into the chip system 30 for processing.

[0384] As one option, the chip system 30 is used to implement the operations performed by the first communication device or the second communication device in the various method embodiments described above.

[0385] For example, logic circuit 31 is used to implement processing-related operations performed by the first communication device or the second communication device in the above method embodiments; input / output interface 32 is used to implement sending and / or receiving-related operations performed by the terminal device in the above method embodiments.

[0386] This application also provides a computer-readable storage medium storing computer instructions for implementing the methods executed by the device in the above-described method embodiments.

[0387] For example, when the computer program is executed by the computer, it enables the computer to implement the methods executed by the first communication device or the second communication device in the various embodiments of the above methods.

[0388] This application also provides a computer program product comprising instructions which, when executed by a computer, implement the methods performed by the first communication device or the second communication device in the above-described method embodiments.

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

[0390] The explanations and beneficial effects of the relevant contents in any of the devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.

[0391] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0392] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0393] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0394] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0395] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

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

[0397] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A communication method, characterized in that, include: Obtain traffic information for the data prediction of the first data stream; Obtain network capacity information based on data prediction for the first data stream; Based on the traffic information and the network capacity information, if it is determined that the predicted network capacity cannot guarantee the predicted traffic demand, the first data stream is subject to first control. The first control of the first data stream includes at least one of the following: Increase the buffering time of the first data stream; Select a first path to transmit the data of the first data stream, wherein the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream; or, Delay the delivery of data from the first data stream.

2. The method according to claim 1, characterized in that, The traffic information is obtained based on at least one of the following: Historical data stream statistics, bitrate, compression ratio, application resolution, frame rate, or traffic model. The statistical information of the historical data stream includes at least one of the following: period, jitter, size of data bursts, arrival time of data bursts, or arrival interval of data bursts.

3. The method according to claim 1 or 2, characterized in that, The network capacity information indicates at least one of the following: The predicted amount of data the network can transmit in the first time period, the average rate, the congestion level, or the rate changes.

4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Send first control information, the first control information being used to instruct the first data stream to be subject to the first control.

5. The method according to claim 4, characterized in that, The first control information includes information about the delay of the first data stream.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: Based on the traffic information and the network capacity information, if it is determined that the predicted network capacity exceeds the predicted traffic demand, a second control is applied to the first data stream. The second control of the first data stream includes: Shorten the buffering time of the first data stream; and / or, The second path is selected to transmit the data of the first data stream, and the transmission delay of the second path is less than the transmission delay of the current transmission path of the first data stream.

7. The method according to claim 6, characterized in that, The method further includes: Send a second control message, which instructs the first data stream to be subject to the second control.

8. The method according to any one of claims 1 to 7, characterized in that, Before obtaining traffic information for the data prediction of the first data stream, the method further includes: A first request message is sent, which requests the acquisition of auxiliary information, which is used to determine the traffic information for the data prediction of the first data stream.

9. The method according to claim 8, characterized in that, The auxiliary information includes at least one of the following: encoding bitrate, encoding compression ratio, application resolution, frame rate, period, data burst size, data burst arrival time, data burst arrival interval, or traffic model.

10. The method according to claim 8 or 9, characterized in that, The first request information includes first identification information, which is used to determine the first data stream.

11. The method according to any one of claims 1 to 10, characterized in that, Before obtaining network capacity information for data prediction of the first data stream, the method further includes: Send a second request message, which requests the activation of network capacity prediction and / or latency management for the first data stream.

12. The method according to claim 11, characterized in that, The method further includes: Receive response information, which is used to indicate network capacity prediction and / or latency management for the data of the first data stream.

13. The method according to any one of claims 1 to 12, characterized in that, When the method is performed by a core network device, obtaining network capacity information for data prediction of the first data stream includes: Receive the network capacity information from the access network device.

14. A communication method, characterized in that, When the predicted network capacity cannot guarantee the predicted traffic demand, including: Receive first control information, which is determined based on network capacity information predicted for the first data stream and traffic information predicted for the first data stream; The first data stream is controlled according to the first control information. The first control of the first data stream includes at least one of the following: Increase the buffering time of the first data stream; Select a first path to transmit the data of the first data stream, wherein the transmission delay of the first path is greater than the transmission delay of the current transmission path of the first data stream; or, Delay the delivery of data from the first data stream.

15. The method according to claim 14, characterized in that, The first control information includes information about the delay of the first data stream.

16. The method according to claim 14 or 15, characterized in that, Before receiving the first control information, the method further includes: Receive a first request message, the first request message being used to request the acquisition of auxiliary information, the auxiliary information being used to determine the traffic information for the data prediction of the first data stream; Send the auxiliary information, The auxiliary information includes at least one of the following: encoding bitrate, encoding compression rate, application resolution, frame rate, period, data burst size, data burst arrival time, data burst arrival interval, or traffic model.

17. The method according to any one of claims 14 to 16, characterized in that, Before receiving the first control information, the method further includes: Receive a second request message, which requests the activation of network capacity prediction and / or latency management for the first data stream.

18. A communication method, characterized in that, In cases where the predicted network capacity exceeds the predicted traffic demand, including: Receive second control information, which is determined based on network capacity information predicted for the first data stream and traffic information predicted for the first data stream; The first data stream is subjected to second control based on the second control information. The second control of the first data stream includes: Shorten the buffering time of the first data stream; and / or, The second path is selected to transmit the data of the first data stream, and the transmission delay of the second path is less than the transmission delay of the current transmission path of the first data stream.

19. The method according to claim 18, characterized in that, Before receiving the second control information, the method further includes: Receive a first request message, the first request message being used to request the acquisition of auxiliary information, the auxiliary information being used to determine the traffic information for the data prediction of the first data stream; Send the auxiliary information, The auxiliary information includes at least one of the following: encoding bitrate, encoding compression rate, application resolution, frame rate, period, data burst size, data burst arrival time, data burst arrival interval, or traffic model.

20. The method according to claim 18 or 19, characterized in that, Before receiving the second control information, the method further includes: Receive a second request message, which requests the activation of network capacity prediction and / or latency management for the first data stream.

21. The method according to any one of claims 14 to 20, characterized in that, The traffic information is obtained based on at least one of the following: Historical data stream statistics, bitrate, compression ratio, application resolution, frame rate, or traffic model. The statistical information of the historical data stream includes at least one of the following: period, jitter, size of data bursts, arrival time of data bursts, or arrival interval of data bursts.

22. The method according to any one of claims 14 to 20, characterized in that, The network capacity information indicates at least one of the following: The predicted amount of data the network can transmit in the first time period, the average rate, the congestion level, or the rate changes.

23. The method according to claim 17 or 20, characterized in that, The method further includes: Send a response message indicating support for prediction of network capacity and / or latency management for the first data stream.

24. The method according to any one of claims 14 to 23, characterized in that, When the method is performed by an access network device, the method further includes: Send the network capacity information.

25. A communication device, characterized in that, The device includes a processor coupled to a memory for storing computer programs or instructions, and the processor is configured to execute the computer programs or instructions in the memory, causing the device to perform the method as described in any one of claims 1 to 24.

26. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 24.

27. A chip system, characterized in that, Includes: a processor for retrieving and running a computer program from memory, causing a communication device equipped with the chip system to perform the method of any one of claims 1 to 24.

28. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 24.

Citation Information

Patent Citations

  • Congestion management method and device

    CN109327402A

  • Method and system for path based network congestion management

    US20090300209A1

  • Technique for improving congestion control

    US20110149730A1

  • Communication control device, communication system, and communication control method

    WO2023181139A1