Traffic shaping method and apparatus
By dynamically allocating bandwidth to match the throughput of the sending and receiving ends, the problem of data stream loss and congestion caused by the mismatch in throughput of multiple sending devices is solved, thereby improving the transmission stability and service quality of the data stream.
Patent Information
- Application Number
- PCT/CN2025/102169
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-05
- Filing Date
- 2025-06-19
- Publication Date
- 2026-01-08
AI Technical Summary
When multiple sending devices transmit data streams to the same receiving device, throughput mismatch can lead to data stream loss and congestion, affecting service stability.
By acquiring throughput information between various communication devices, bandwidth is dynamically allocated to match the throughput of the sending and receiving ends, thus avoiding data loss and congestion.
It improves the stability of data stream transmission, ensures reliable transmission of high-priority data streams, and enhances the service quality of businesses.
Smart Images

Figure CN2025102169_08012026_PF_FP_ABST
Abstract
Description
Traffic shaping method and apparatus
[0001] This application claims priority from the Chinese patent application No. 202410904095.3 filed on July 5, 2024, and entitled "Traffic shaping method and apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] Embodiments of the present application relate to the field of communication technology, in particular to a traffic shaping method and apparatus. BACKGROUND
[0003] It is a common scenario in network communication that multiple sending devices send data streams to the same receiving device simultaneously. In this scenario, when the total throughput of the data streams sent by the multiple sending devices exceeds the throughput of the data streams received by the receiving device, the data streams sent by the multiple sending devices to the receiving device may be randomly lost, affecting the stability of related services.
[0004] Therefore, it is necessary to improve the transmission stability of the data streams to ensure the quality of service of the data stream related services. SUMMARY
[0005] Embodiments of the present application provide a traffic shaping method and apparatus for improving the transmission stability of data streams. To achieve the above purpose, the embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, the embodiments of the present application provide a traffic shaping method, which comprises: obtaining a first throughput of a first data stream sent by a first communication device to a third communication device; obtaining a second throughput of a second data stream sent by a second communication device to the third communication device; and allocating a first bandwidth for the first communication device to send traffic to the third communication device according to the first throughput, the second throughput, a third throughput of the first data stream received by the third communication device, and a fourth throughput of the second data stream received by the third communication device.
[0007] The method provided by the embodiments of the present application can dynamically allocate the bandwidth for the sending end device to send traffic to the receiving end device by the throughput of the data stream sent by the sending end device to the receiving end device and the throughput of the data stream received by the receiving end device, which can avoid the data stream loss and data stream congestion caused by the mismatch between the throughput of the sending data stream and the throughput of the receiving data stream, thereby improving the transmission stability of the data stream.
[0008] In a possible implementation, the second bandwidth for the second communication device to send traffic to the third communication device can be allocated according to the first throughput, the second throughput, the third throughput, and the fourth throughput.
[0009] The method provided by the embodiments of the present application can dynamically allocate bandwidth for the plurality of sending end devices to send traffic to the receiving end device based on the throughput of the data stream sent by the plurality of sending end devices to the receiving end device and the throughput of the data stream received by the plurality of receiving end devices from the sending end device, so that data stream loss and data stream congestion caused by the mismatch between the throughput of the sending data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the data stream is improved.
[0010] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0011] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0012] In a possible implementation, the first bandwidth for the first communication device can be allocated according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0013] In a possible implementation, the second bandwidth for the second communication device can be allocated according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0014] The method provided by the embodiments of the present application can dynamically allocate bandwidth for the sending end device to send traffic to the receiving end device based on the throughput of the high-priority and low-priority data stream sent by the sending end device to the receiving end device and the throughput of the data stream received by the receiving end device from the sending end device, so that high-priority data stream packet loss and high-priority data stream congestion caused by the mismatch between the throughput of the sending high-priority data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the high-priority data stream is improved.
[0015] Optionally, the third throughput includes a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device.
[0016] In a possible implementation, the first bandwidth for the first communication device can be allocated according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0017] In a possible implementation, the first bandwidth is allocated to the first communication device according to the fifth throughput, the sixth throughput, the third throughput, the ninth throughput, the tenth throughput, and the fourth throughput.
[0018] The method provided by the embodiment of the application can dynamically allocate the bandwidth of the sending device to the receiving device by the throughputs of the high-priority data stream and the low-priority data stream sent by the sending device to the receiving device and the throughputs of the high-priority data stream and the low-priority data stream received by the receiving device from the sending device, so that the packet loss and congestion of the high-priority data stream caused by the mismatch between the throughput of the sending high-priority data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the high-priority data stream is improved.
[0019] Optionally, the second data stream includes a second high-priority data stream and a second low-priority data stream.
[0020] Optionally, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device.
[0021] In a possible implementation, the first bandwidth is allocated to the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0022] In a possible implementation, the second bandwidth is allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0023] The method provided by the embodiment of the application can dynamically allocate the bandwidth of the sending device to the receiving device by the throughputs of the high-priority data stream and the low-priority data stream sent by the sending device to the receiving device and the throughputs of the data stream received by the receiving device from the sending device, so that the packet loss and congestion of the high-priority data stream caused by the mismatch between the throughput of the sending high-priority data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the high-priority data stream is improved.
[0024] Optionally, the second data stream includes a second high-priority data stream and a second low-priority data stream, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device.
[0025] Optionally, the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data stream sent by the second communication device, and a twelfth throughput of the third communication device receiving the second low-priority data stream sent by the second communication device.
[0026] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0027] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0028] The method provided by the embodiment of the application can dynamically allocate bandwidth of sending traffic to the receiving device for the sending device by sending the throughput of high-priority and low-priority data streams sent by the sending device to the receiving device and the throughput of high-priority and low-priority data streams received by the receiving device from the sending device, so that the packet loss and congestion of high-priority data streams caused by the mismatch between the throughput of sending high-priority data streams and the throughput of receiving data streams can be avoided, and the transmission stability of high-priority data streams is improved.
[0029] In a possible implementation, the first bandwidth can be allocated to the first communication device according to a first time delay between the first communication device and the third communication device.
[0030] In a possible implementation, the second bandwidth can be allocated to the second communication device according to a second time delay between the second communication device and the third communication device.
[0031] The method provided by the embodiments of the present application can dynamically allocate bandwidth for the sending end device to send traffic to the receiving end device based on the throughput of the data stream sent by the sending end device to the receiving end device, the throughput of the data stream received by the receiving end device from the sending end device, and the time delay between the sending end device and the receiving end device, so that data stream loss and data stream congestion caused by the mismatch between the throughput of the sending data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the data stream is improved.
[0032] Optionally, the second communication device and the third communication device are in a hub-spoke network, wherein the third communication device is deployed in a hub site, and the first communication device and the second communication device are deployed in a spoke site.
[0033] Optionally, the first communication device and the second communication device are software-defined wide-area network customer-premises equipment (SD-WAN CPE) devices, the first communication device and the third communication device are connected through a first software-defined wide-area network (SD-WAN) tunnel, and the second communication device and the third communication device are connected through a second SD-WAN tunnel.
[0034] In a possible implementation, the first signaling can be sent to the first communication device, and the first signaling includes first information, and the first information indicates the first bandwidth.
[0035] Optionally, the first signaling indicates that the first communication device performs traffic shaping on the data stream sent to the third communication device based on the first bandwidth.
[0036] In a possible implementation, the second signaling can be sent to the second communication device, and the second signaling includes second information, and the second information indicates the second bandwidth.
[0037] Optionally, the second signaling indicates that the second communication device performs traffic shaping on the data stream sent to the third communication device based on the second bandwidth.
[0038] The method provided by the embodiments of the present application can dynamically allocate bandwidth for the sending end device to send traffic to the receiving end device and indicate the bandwidth to the sending end device through signaling by using the throughput of the data stream sent by the sending end device to the receiving end device and the throughput of the data stream received by the receiving end device from the sending end device, so that data stream loss and data stream congestion caused by the mismatch between the throughput of the sending data stream and the throughput of the receiving data stream can be avoided, and the transmission stability of the data stream can be improved.
[0039] Optionally, the method provided by the first aspect can be executed by a fourth communication device, which is a controller or the third communication device.
[0040] In a possible implementation, the first communication device notifies the fourth communication device of the first throughput, and the fourth communication device is a controller or the third communication device; and the second communication device notifies the fourth communication device of the second throughput.
[0041] In a possible implementation, the fourth communication device obtains the first throughput notified by the first communication device.
[0042] In a possible implementation, the fourth communication device obtains the second throughput notified by the third communication device.
[0043] In a possible implementation, the fourth communication device obtains the second throughput notified by the third communication device.
[0043] The second aspect, the embodiments of the present application provide a traffic shaping method, the method comprising: notifying a fourth communication device of a first throughput of a first communication device sending a first data stream to a third communication device; receiving a first signaling sent by the fourth communication device, the first signaling comprising first information, the first information indicating a first bandwidth of the first communication device sending traffic to the third communication device.
[0044] In a possible implementation, the data stream sent to the third communication device can be shaped based on the first bandwidth.
[0045] Optionally, the first data stream comprises a first high-priority data stream and a first low-priority data stream.
[0046] Optionally, the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0047] Optionally, the first communication device and the third communication device adopt a hub-spoke networking mode, wherein the third communication device is deployed in a Hub site, and the first communication device is deployed in a spoke site.
[0048] Optionally, the first communication device is an SD-WAN CPE device, and the first communication device and the third communication device are connected through a first SD-WAN tunnel.
[0049] Optionally, the fourth communication device is a controller or the third communication device.
[0050] Optionally, the method provided by the second aspect can be executed by the first communication device.
[0051] In a third aspect, an embodiment of the present application provides a traffic shaping device, which can be a communication device or a controller, or a module (such as a processor, a chip or a chip system, etc.) applied to a communication device or a controller, or a logic node, a logic module or software capable of realizing all or part of the functions of a communication device or a controller, and the device comprises a transceiver unit and a processing unit. The transceiver unit is configured to perform the operations related to receiving and / or sending in the method of the first aspect and any possible design of the first aspect, and the processing unit is configured to perform other operations in the method of the first aspect and any possible design of the first aspect except the operations related to receiving and / or sending.
[0052] In a possible implementation, the transceiver unit is configured to acquire a first throughput of a first data stream sent by the first communication device to the third communication device.
[0053] In a possible implementation, the transceiver unit is further configured to acquire a second throughput of a second data stream sent by the second communication device to the third communication device.
[0054] In a possible implementation, the processing unit is configured to allocate, according to the first throughput, the second throughput, a third throughput of the first data stream received by the third communication device and a fourth throughput of the second data stream received by the third communication device, a first bandwidth for the first communication device to send traffic to the third communication device.
[0055] In a possible implementation, the processing unit is further configured to allocate, according to the first throughput, the second throughput, the third throughput and the fourth throughput, a second bandwidth for the second communication device to send traffic to the third communication device.
[0056] Optionally, the first data stream comprises a first high-priority data stream and a first low-priority data stream.
[0057] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0058] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0059] In a possible implementation, the processing unit is specifically configured to: allocate the second bandwidth for the second communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0060] Optionally, the third throughput includes a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device, and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device.
[0061] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0062] In a possible implementation, the processing unit is specifically configured to: allocate the second bandwidth for the second communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0063] Optionally, the second data stream includes a second high-priority data stream and a second low-priority data stream.
[0064] Optionally, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device.
[0065] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0066] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0067] Optionally, the second data flow includes a second high-priority data flow and a second low-priority data flow, and the second throughput includes a ninth throughput of the second communication device sending the second high-priority data flow to the third communication device and a tenth throughput of the second communication device sending the second low-priority data flow to the third communication device.
[0068] Optionally, the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data flow sent by the second communication device and a twelfth throughput of the third communication device receiving the second low-priority data flow sent by the second communication device.
[0069] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0070] In a possible implementation, the processing unit is specifically configured to: allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0071] In a possible implementation, the processing unit is further configured to: allocate the first bandwidth for the first communication device according to a first time delay between the first communication device and the third communication device.
[0072] In a possible implementation, the processing unit is further configured to: allocate the second bandwidth for the second communication device according to a second time delay between the second communication device and the third communication device.
[0073] In a possible implementation, the first communication device, the second communication device, and the third communication device are deployed in a hub-spoke manner, where the third communication device is deployed in a Hub site, and the first communication device and the second communication device are deployed in a spoke site.
[0074] In a possible implementation, the first communication device and the second communication device are SD-WAN CPE devices, the first communication device and the third communication device are connected through a first SD-WAN tunnel, and the second communication device and the third communication device are connected through a second SD-WAN tunnel.
[0075] In a possible implementation, the transceiver is further configured to send, to the first communication device, first signaling, where the first signaling includes first information, and the first information indicates the first bandwidth.
[0076] Optionally, the first signaling indicates that the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0077] In a possible implementation, the transceiver is further configured to send, to the second communication device, second signaling, where the second signaling includes second information, and the second information indicates the second bandwidth.
[0078] Optionally, the second signaling indicates that the second communication device performs traffic shaping on a data stream sent to the third communication device based on the second bandwidth.
[0079] In a fourth aspect, an embodiment of the present application provides a traffic shaping device, which can be a communication device, a module (for example, a processor, a chip, or a chip system) applied to a communication device, a logic node, a logic module, or software capable of realizing all or part of the functions of a communication device, and the device includes a transceiver and a processing unit. The transceiver is configured to perform the operations related to receiving and / or sending in the method of the second aspect and any possible design of the second aspect, and the processing unit is configured to perform other operations in the method of the second aspect and any possible design of the second aspect, except the operations related to receiving and / or sending.
[0080] In a possible implementation, the transceiver is configured to notify a fourth communication device of a first throughput of a first communication device for sending a first data stream to a third communication device.
[0081] In a possible implementation, the transceiver is further configured to receive first signaling sent by the fourth communication device, where the first signaling includes first information, and the first information indicates a first bandwidth of the first communication device for sending traffic to the third communication device.
[0082] In a possible implementation, the processing unit is configured to perform traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0083] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0084] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0085] Optionally, the first communication device and the third communication device are deployed in a hub-spoke manner, wherein the third communication device is deployed in a Hub site, and the first communication device is deployed in a spoke site.
[0086] Optionally, the first communication device is an SD-WAN CPE device, and the first communication device and the third communication device are connected through a first SD-WAN tunnel.
[0087] Optionally, the fourth communication device is a controller or the third communication device.
[0088] In a fifth aspect, an embodiment of the present application further provides a traffic shaping device, which comprises at least one processor, which, when executing program code or instructions, implements the method in the first aspect or any possible implementation manner thereof.
[0089] Optionally, the device can further comprise at least one memory for storing the program code or instructions.
[0090] In a sixth aspect, an embodiment of the present application further provides a communication system, which comprises at least one processor, which, when executing program code or instructions, implements the method in the first aspect or any possible implementation manner thereof.
[0091] Optionally, the system can further comprise at least one memory for storing the program code or instructions.
[0092] In a seventh aspect, an embodiment of the present application further provides a chip, which comprises an input interface, an output interface, at least one processor and at least one memory. The at least one processor is configured to execute code in the at least one memory, and when the at least one processor executes the code, the chip implements the method in the first aspect or any possible implementation manner thereof.
[0093] Optionally, the chip can be an integrated circuit.
[0094] In an eighth aspect, the embodiments of the present application further provide a computer readable storage medium for storing a computer program, the computer program comprising instructions for implementing the method in the first aspect or any possible implementation thereof.
[0095] In a ninth aspect, the embodiments of the present application further provide a computer program product containing instructions which, when executed on a computer, cause the computer to implement the method in the first aspect or any possible implementation thereof.
[0096] The traffic shaping device, the computer storage medium, the computer program product and the chip provided by the embodiments have the beneficial effects of the traffic shaping method provided above, and thus the beneficial effects of the traffic shaping method provided above are referred to here, and will not be described again. BRIEF DESCRIPTION OF DRAWINGS
[0097] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort.
[0098] FIG. 1 is a structural schematic diagram of a communication system provided by the embodiments of the present application;
[0099] FIG. 2 is a structural schematic diagram of another communication system provided by the embodiments of the present application;
[0100] FIG. 3 is a flow schematic diagram of a traffic shaping method provided by the embodiments of the present application;
[0101] FIG. 4 is a schematic diagram of a bandwidth allocation process provided by the embodiments of the present application;
[0102] FIG. 5 is a schematic diagram of another bandwidth allocation process provided by the embodiments of the present application;
[0103] FIG. 6 is a schematic diagram of yet another bandwidth allocation process provided by the embodiments of the present application;
[0104] FIG. 7 is a schematic diagram of yet another bandwidth allocation process provided by the embodiments of the present application;
[0105] FIG. 8 is a schematic diagram of yet another bandwidth allocation process provided by the embodiments of the present application;
[0106] FIG. 9 is a schematic diagram of yet another bandwidth allocation process provided by the embodiments of the present application;
[0107] FIG. 10 is a flow schematic diagram of another traffic shaping method provided by the embodiments of the present application;
[0108] FIG. 11 is a schematic diagram of a traffic shaping process according to an embodiment of the present application;
[0109] FIG. 12 is a schematic diagram of another traffic shaping process according to an embodiment of the present application;
[0110] FIG. 13 is a schematic diagram of another traffic shaping process according to an embodiment of the present application;
[0111] FIG. 14 is a schematic diagram of a traffic shaping apparatus according to an embodiment of the present application;
[0112] FIG. 15 is a schematic diagram of another traffic shaping apparatus according to an embodiment of the present application;
[0113] FIG. 16 is a schematic diagram of a chip according to an embodiment of the present application;
[0114] FIG. 17 is a schematic diagram of an electronic device according to an embodiment of the present application;
[0115] FIG. 18 is a schematic diagram of another electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0116] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of the present application.
[0117] The term “and / or” in this document merely describes an association relationship of associated objects, and indicates that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone.
[0118] The terms “first” and “second” and the like in the description of the embodiments of the present application are used to distinguish different objects, or to distinguish different processing of the same object, but not to describe a specific order of the objects.
[0119] In addition, the terms “include” and “have” and any variations thereof mentioned in the description of the embodiments of the present application are intended to cover the inclusions without exclusivity. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but can optionally include other steps or units not listed or can optionally include other steps or units inherent to the process, method, product or device.
[0120] It should be noted that in the description of the embodiments of the present application, the words "exemplarily" or "for example" are used to represent as an example, illustration or description. Any embodiment or design scheme described as "exemplarily" or "for example" in the embodiments of the present application should not be interpreted as more prior or more advantageous than other embodiments or design schemes. Rather, the words "exemplarily" or "for example" are used to present the relevant concept in a specific manner.
[0121] Bandwidth: Bandwidth is the maximum amount of data that can be transmitted through the network within a given time period.
[0122] Throughput: Throughput is the actual amount of data transmitted through the network within a given time period.
[0123] The technical scheme provided by the embodiments of the present application can be applied to a communication system.
[0124] FIG. 1 shows a possible, non-limiting schematic diagram of the above communication system. As shown in FIG. 1, the communication system includes at least one receiving end device 101 and a plurality of sending end devices 102. The receiving end device 101 and the sending end device 102 communicate through the network. The receiving end device 101 is a device that receives data in the communication system, and the sending end device 102 is a device that sends data in the communication system.
[0125] Among them, at least one receiving end device 101 can include a third communication device. The plurality of sending end devices 102 can include a first communication device and a second communication device.
[0126] Optionally, the plurality of sending end devices 102 can further include more communication devices. For example, the plurality of sending end devices 102 can further include a fifth communication device, a sixth communication device, …, an Nth communication device. N is a positive integer.
[0127] Optionally, the at least one receiving end device 101 and the plurality of sending end devices 102 can adopt a Hub-spoke networking mode. Among them, the aforementioned receiving end device 101 is deployed in the Hub site, and the aforementioned sending end device 102 is deployed in the spoke site.
[0128] For example, the aforementioned first communication device, the aforementioned second communication device and the aforementioned third communication device adopt a Hub-spoke networking mode, wherein the aforementioned third communication device is deployed in the Hub site, and the aforementioned first communication device and the aforementioned second communication device are deployed in the spoke site.
[0129] Optionally, the plurality of sending end devices 102 can be SD-WAN CPE devices, and the receiving end device 101 and the sending end device 102 are connected through an SD-WAN tunnel.
[0130] For example, the first communication device and the second communication device can be SD-WAN CPE devices, the first communication device and the third communication device are connected through a first SD-WAN tunnel, and the second communication device and the third communication device are connected through a second SD-WAN tunnel.
[0131] In a possible implementation, the receiving end device 101 can be a customer premises equipment (CPE), a route reflector (RR), an access router (AR), or other devices.
[0132] In a possible implementation, the sending end device 102 can be a CPE, a RR, an AR, or other devices.
[0133] In a possible implementation, the receiving end device 101 and the sending end device 102 can be connected through the Internet and / or a virtual private network (VPN). The VPN includes, but is not limited to, a multi-protocol label switching layer 3 VPN (MPLS L3VPN), an Ethernet virtual private network (EVPN), or other VPNs.
[0134] In a possible implementation, the receiving end device 101 and the sending end device 102 can communicate directly or through other devices.
[0135] For example, the receiving end device 101 and the sending end device 102 can communicate through a forwarding device.
[0136] In the scenario shown in FIG. 1, the multiple sending end devices 102 can each send a data stream to the receiving end device 101. If the total throughput of the data streams sent by the multiple sending end devices 102 to the receiving end device 101 exceeds the throughput of the receiving data amount of the receiving end device 101, part of the data streams sent by the multiple sending end devices 102 to the receiving end device 101 will be discarded. When the data streams are discarded, the service priority corresponding to the discarded data streams is not considered. Therefore, in this scenario, the data stream of a high-priority service can be discarded, so that the quality of service provided for the service corresponding to the data stream received by the receiving end device 101 cannot be guaranteed, especially the quality of service provided for the high-priority service cannot be guaranteed.
[0137] It can be understood that the structure shown in FIG. 1 does not constitute a specific limitation on the communication system. In other embodiments of the present application, the communication system can include more or fewer components than illustrated, or combine certain components, or split certain components, or different arrangement of components. The illustrated components can be implemented in hardware, software, or a combination of software and hardware.
[0138] In combination with FIG. 1, as shown in FIG. 2, in a possible implementation, the communication system can further include a controller 103.
[0139] The controller 103 can be connected with and issue control messages to other devices in the communication system.
[0140] For example, the controller 103 can be connected with the receiving device 101 and the sending device 102 in the communication system, and issue a control message to the sending device 102 in the communication system to instruct the sending device 102 to perform traffic shaping.
[0141] FIG. 3 shows a traffic shaping method provided by an embodiment of the present application, which can be executed by a fourth communication device, the fourth communication device being the aforementioned controller or the aforementioned third communication device. As shown in FIG. 3, the method includes:
[0142] S301, obtaining a first throughput of a first data flow sent by a first communication device to a third communication device.
[0143] The first data flow can be forwarded to the third communication device through a traffic management (TM) chip in the first communication device. The first throughput can be the throughput of the first data flow sent by the first communication device to the third communication device through the traffic management (TM) chip.
[0144] For example, the third communication device can receive a first message announced by the first communication device to obtain the first throughput.
[0145] Optionally, the first message can be an EVPN protocol packet. For example, the first message can be an EVPN protocol packet transmitted through an SD-WAN tunnel.
[0146] For example, the third communication device can receive a first message announced by the first communication device to obtain the first throughput as 500 megabits per second (Mbps).
[0147] For another example, the controller can receive a first message announced by the first communication device to obtain the first throughput.
[0148] S302, obtaining a second throughput of the second communication device sending a second data stream to the third communication device;
[0149] The second data stream can be forwarded to the third communication device through a TM chip in the second communication device. The second throughput can be a throughput of the first communication device sending the second data stream to the third communication device through a traffic management (TM) chip.
[0150] For example, the third communication device can receive the second message announced by the second communication device to obtain the second throughput.
[0151] Optionally, the second message can be an EVPN protocol packet. For example, the second message can be an EVPN protocol packet transmitted through an SD-WAN tunnel.
[0152] For example, the third communication device can receive the second message announced by the second communication device to obtain the second throughput of 500 Mbps.
[0153] For another example, the controller can receive the second message announced by the second communication device to obtain the second throughput.
[0154] In a possible implementation, the throughput of the fifth communication device sending a third data stream to the third communication device, the throughput of the sixth communication device sending a fourth data stream to the third communication device, and the throughput of the Nth communication device sending an Nth data stream to the third communication device can also be obtained.
[0155] S303, allocating a first bandwidth for the first communication device according to the first throughput, the second throughput, a third throughput, and a fourth throughput.
[0156] The third throughput is a throughput of the third communication device receiving the first data stream, the fourth throughput is a throughput of the third communication device receiving the second data stream, and the first bandwidth is a bandwidth of the first communication device sending traffic to the third communication device. The first bandwidth can also be referred to as a first shaping value, a first shaping rate limiting value, or a first shaper parameter reference value.
[0157] As shown in FIG. 4, the first throughput is 500 Mbps, the second throughput is 500 Mbps, the third throughput is 400 Mbps, and the fourth throughput is 400 Mbps. Since the first throughput is greater than the third throughput, it indicates that the sending throughput of the first data stream is greater than the receiving throughput, and the first data stream has packet loss. Therefore, the first bandwidth of the first communication device can be allocated to be 400 Mbps according to the first throughput, the second throughput, the third throughput, and the fourth throughput, so that the sending throughput of the first data stream is less than or equal to the receiving throughput.
[0158] Exemplarily, the third communication device can allocate the first bandwidth for the first communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput.
[0159] Exemplarily, the controller can allocate the first bandwidth for the first communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput.
[0160] In a possible implementation, the second communication device can also be allocated a second bandwidth for sending traffic to the third communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput. The second bandwidth can also be referred to as a second shaping value, a second shaping rate limiting value or a second shaper parameter reference value.
[0161] As shown in FIG. 5, the first throughput is 500 Mbps, the second throughput is 500 Mbps, the third throughput is 400 Mbps, and the fourth throughput is 400 Mbps. Since the second throughput is greater than the fourth throughput, it indicates that the sending throughput of the second data stream is greater than the receiving throughput, and the second data stream has packet loss. Therefore, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput, and the second bandwidth is 100 Mbps, so that the sending throughput of the second data stream is less than or equal to the receiving throughput.
[0162] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0163] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0164] As shown in FIG. 6, the first throughput is 500 Mbps, and the first throughput includes a fifth throughput of 400 Mbps and a sixth throughput of 100 Mbps.
[0165] In a possible implementation, the first communication device can be allocated the first bandwidth according to the fifth throughput, the sixth throughput, the second throughput, the third throughput and the fourth throughput.
[0166] As shown in FIG. 6, the fifth throughput is 400 Mbps, the sixth throughput is 100 Mbps, the second throughput is 500 Mbps, the third throughput is 400 Mbps, and the fourth throughput is 400 Mbps. Since the first throughput (the fifth throughput + the sixth throughput) is greater than the third throughput, it indicates that the sending throughput of the first data stream is greater than the receiving throughput, and there is packet loss in the first data stream. Therefore, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput, so that the sending throughput of the first high-priority data stream is less than or equal to the receiving throughput, to ensure the transmission stability of the high-priority data stream.
[0167] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0168] Optionally, the third throughput includes a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device, and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device.
[0169] As shown in FIG. 7, the third throughput is 400 Mbps, and the third throughput includes a seventh throughput of 320 Mbps and an eighth throughput of 80 Mbps.
[0170] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0171] As shown in FIG. 7, the fifth throughput is 400 Mbps, the sixth throughput is 100 Mbps, the second throughput is 500 Mbps, the seventh throughput is 320 Mbps, the eighth throughput is 80 Mbps, and the fourth throughput is 400 Mbps. Since the fifth throughput is greater than the seventh throughput, and the sixth throughput is greater than the eighth throughput, it indicates that the sending throughput of the first high-priority data stream is greater than the receiving throughput, and there is packet loss in the first high-priority data stream. Therefore, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput, so that the sending throughput of the first high-priority data stream is less than or equal to the receiving throughput, to ensure the transmission stability of the high-priority data stream.
[0172] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the third throughput, and the fourth throughput.
[0173] Optionally, the second data stream includes a second high-priority data stream and a second low-priority data stream.
[0174] Optionally, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device.
[0175] As shown in FIG. 8, the second throughput is 500 Mbps, and the second throughput includes a ninth throughput of 100 Mbps and a tenth throughput of 100 Mbps.
[0176] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0177] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0178] As shown in FIG. 8, the fifth throughput is 400 Mbps, the sixth throughput is 100 Mbps, the ninth throughput is 100 Mbps, the tenth throughput is 400 Mbps, the third throughput is 400 Mbps, and the fourth throughput is 400 Mbps. Since the second throughput (the ninth throughput + the tenth throughput) is greater than the fourth throughput, it indicates that the sending throughput of the second data stream is greater than the receiving throughput, and the second data stream has packet loss. Therefore, the second bandwidth can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput, and the second bandwidth is 100 Mbps, so that the sending throughput of the second high-priority data stream is less than or equal to the receiving throughput, to ensure the transmission stability of the high-priority data stream.
[0179] Optionally, the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data stream sent by the second communication device, and a twelfth throughput of the third communication device receiving the second low-priority data stream sent by the second communication device.
[0180] As shown in FIG. 9, the fourth throughput is 400 Mbps, the fourth throughput includes an eleventh throughput of 80 Mbps and a twelfth throughput of 320 Mbps.
[0181] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0182] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0183] As shown in FIG. 9, the fifth throughput is 400 Mbps, the sixth throughput is 100 Mbps, the ninth throughput is 100 Mbps, the tenth throughput is 400 Mbps, the seventh throughput is 320 Mbps, the eighth throughput is 80 Mbps, the eleventh throughput is 80 Mbps, and the twelfth throughput is 320 Mbps, and the ninth throughput is greater than the eleventh throughput and the tenth throughput is greater than the twelfth throughput, which indicates that the sending throughput of the second high-priority data stream is greater than the receiving throughput, and the second high-priority data stream has packet loss. Therefore, the second bandwidth of 100 Mbps can be allocated to the second communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput, so that the sending throughput of the second high-priority data stream is less than or equal to the receiving throughput, to ensure the transmission stability of the high-priority data stream.
[0184] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput when a condition is met.
[0185] For example, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput when the first throughput is greater than the third throughput.
[0186] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput when a condition is met.
[0187] For example, in a case where the second throughput is greater than the fourth throughput, the second bandwidth is allocated to the second communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput.
[0188] In a possible implementation, the Nth bandwidth for the Nth communication device to send traffic to the third communication device can be allocated according to the first throughput, the second throughput, the third throughput, the fourth throughput, a throughput of the third communication device to send the third data stream, a throughput of the sixth communication device to send the fourth data stream to the third communication device, …, a throughput of the Nth communication device to send the Nth data stream to the third communication device, a throughput of the third communication device to receive the third data stream, a throughput of the third communication device to receive the fourth data stream, …, a throughput of the third communication device to receive the Nth data stream.
[0189] In a possible implementation, the data streams can be divided into high-priority data streams and low-priority data streams according to the characteristic information of the data streams.
[0190] For example, the first data stream can be divided into a first high-priority data stream and a first low-priority data stream according to the characteristic information of the first data stream.
[0191] For another example, the second data stream can be divided into a second high-priority data stream and a second low-priority data stream according to the characteristic information of the first data stream.
[0192] Optionally, the foregoing characteristic information can include at least one of an Internet Protocol (IP) source address, an IP destination address, a protocol type, a Differentiated Services Code Point (DSCP), a Transmission Control Protocol (TCP) port number, a User Datagram Protocol (UDP) port number, a TCP synchronization flag, a flag of packet fragmentation, a source media access control (MAC) address, a destination MAC address, a Virtual Local Area Network primary rate interface (VLAN PRI), or Multi-Protocol Label Switching (MPLS) packet header information.
[0193] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and a first time delay between the first communication device and the third communication device.
[0194] Optionally, the first time delay can be a Round-Trip Time (RTT) between the first communication device and the third communication device.
[0195] For example, the first bandwidth can be increased in a case where the first time delay is increased.
[0196] For another example, the second bandwidth can be allocated to the second communication device according to a second time delay between the second communication device and the third communication device. The first bandwidth can be increased in a case where the first time delay is greater than a time delay threshold.
[0197] In a possible implementation, the first time delay can be measured by the third communication device.
[0198] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and a second time delay between the second communication device and the third communication device.
[0199] Optionally, the second time delay can be an RTT between the second communication device and the third communication device.
[0200] For example, the second bandwidth can be increased in a case where the second time delay is increased.
[0201] For another example, the second bandwidth can be increased in a case where the second time delay is greater than a time delay threshold.
[0202] In a possible implementation, the second time delay can be measured by the third communication device.
[0203] In a possible implementation, the first signaling can be sent to the first communication device, and the first signaling includes first information, the first information indicating the first bandwidth.
[0204] Optionally, the first signaling indicates that the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0205] For an example, the third communication device can send the first signaling to the first communication device.
[0206] For another example, the controller can send the first signaling to the first communication device.
[0207] The first signaling can be implemented in an explicit or implicit manner.
[0208] For example, the first signaling can be a flag in an existing signaling or a newly defined message type.
[0209] For another example, the first communication device receives the first signaling and performs traffic shaping according to the first signaling.
[0210] In a possible implementation, the second signaling can be sent to the second communication device, and the second signaling includes second information indicating the second bandwidth.
[0211] Optionally, the second signaling indicates that the second communication device performs traffic shaping on a data stream sent to the third communication device based on the second bandwidth.
[0212] For an example, the third communication device can send the second signaling to the second communication device.
[0213] For another example, the controller can send the second signaling to the second communication device.
[0214] In a possible implementation, a first packet loss rate of the first communication device can also be obtained.
[0215] Optionally, the first packet loss rate can be a local packet loss rate of the first communication device. The first packet loss rate can be measured by the first communication device.
[0216] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the first packet loss rate.
[0217] In a possible implementation, a second packet loss rate of the second communication device can also be obtained.
[0218] Optionally, the second packet loss rate can be a local packet loss rate of the second communication device. The second packet loss rate can be measured by the second communication device.
[0219] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the second packet loss rate.
[0220] In a possible implementation, a third packet loss rate of the third communication device can also be obtained.
[0221] Optionally, the third packet loss rate can be a local packet loss rate of the third communication device. The third packet loss rate can be measured by the third communication device.
[0222] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the third packet loss rate.
[0223] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the third packet loss rate.
[0224] In a possible implementation, the subscription bandwidth of the third communication device can also be acquired.
[0225] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the subscription bandwidth of the third communication device.
[0226] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, the fourth throughput, and the subscription bandwidth of the third communication device.
[0227] In a possible implementation, the first bandwidth can be allocated to the first communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput, by using a bandwidth allocation algorithm.
[0228] In a possible implementation, the second bandwidth can be allocated to the second communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput, by using a bandwidth allocation algorithm.
[0229] The method provided by the embodiments of the present application can dynamically allocate bandwidth for the sending device to send traffic to the receiving device, by the throughput of the data stream sent by the sending device to the receiving device and the throughput of the data stream received by the receiving device from the sending device, so that data stream loss and data stream congestion caused by the mismatch between the sending data stream throughput and the receiving data stream throughput can be avoided, and the transmission stability of the data stream can be improved.
[0230] FIG. 10 shows another traffic shaping method provided by the embodiments of the present application, which can be performed by the first communication device, as shown in FIG. 10, the method comprises:
[0231] S401, the first communication device notifies a fourth communication device of a first throughput of a first data stream sent by the first communication device to a third communication device.
[0232] For example, the first communication device can notify the third communication device of the first throughput of the first data stream sent by the first communication device to the third communication device.
[0233] For another example, the first communication device can notify the controller of a first throughput of the first communication device sending a first data stream to the third communication device.
[0234] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0235] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0236] S402, receiving first signaling sent by a fourth communication device.
[0237] The first signaling includes first information, and the first information indicates a first bandwidth of the first communication device sending traffic to the third communication device.
[0238] For example, the first communication device can receive first signaling sent by the third communication device.
[0239] Optionally, the first signaling sent by the third communication device can be an EVPN protocol packet transmitted through an SD-WAN tunnel.
[0240] For another example, the first communication device can receive first signaling sent by the controller.
[0241] Optionally, the first signaling sent by the controller can be a BGP (Border Gateway Protocol) packet transmitted through an SD-WAN tunnel.
[0242] Optionally, the first signaling indicates that the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0243] S403, performing traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0244] For example, the first communication device can use a traffic shaping algorithm to perform traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0245] For example, the first communication device can use a QoS (Quality of service) software module configured in the first communication device to perform traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0246] Exemplarily, the first communication device performs traffic shaping on the data streams sent to the third communication device based on the first bandwidth according to the principle of high-priority data stream first.
[0247] For example, the first communication device can first allocate the first bandwidth to the high-priority data stream, and allocate the remaining first bandwidth to the low-priority data stream if there is any.
[0248] As shown in FIG. 11, the first bandwidth is 400 Mbps, the bandwidth of the high-priority data stream before traffic shaping is 400 Mbps, and the bandwidth of the low-priority data stream before traffic shaping is 100 Mbps. According to the principle of high-priority data stream first, 400 Mbps of the first bandwidth can be allocated to the high-priority data stream first. Then, the bandwidth of the high-priority data stream after traffic shaping is 400 Mbps. Since there is no remaining first bandwidth after the first bandwidth is allocated to the high-priority data stream, the first bandwidth cannot be allocated to the low-priority data stream. Then, the bandwidth of the low-priority data stream after traffic shaping is 0 Mbps.
[0249] As shown in FIG. 12, the first bandwidth is 400 Mbps, the bandwidth of the high-priority data stream before traffic shaping is 300 Mbps, and the bandwidth of the low-priority data stream before traffic shaping is 100 Mbps. According to the principle of high-priority data stream first, 300 Mbps of the first bandwidth can be allocated to the high-priority data stream first. Then, the bandwidth of the high-priority data stream after traffic shaping is 300 Mbps. Since there is 100 Mbps of the first bandwidth remaining after the first bandwidth is allocated to the high-priority data stream, the remaining 100 Mbps of the first bandwidth can be allocated to the low-priority data stream. Then, the bandwidth of the low-priority data stream after traffic shaping is 100 Mbps.
[0250] In a possible implementation, the queue of the data streams sent to the third communication device can be traffic shaped based on the first bandwidth.
[0251] For example, the first communication device sends data streams to the third communication device through 8 queues (queue 1 to queue 8), queue 1 to queue 4 are used to send high-priority data streams, queue 5 to queue 8 are used to send low-priority data streams, the first bandwidth is 400 Mbps, and the bandwidth of the high-priority data streams before traffic shaping is 300 Mbps. The bandwidth of queue 1 is 100 Mbps, the bandwidth of queue 2 is 100 Mbps, the bandwidth of queue 3 is 50 Mbps, and the bandwidth of queue 4 is 50 Mbps. The bandwidth of the low-priority data streams before traffic shaping is 100 Mbps, the bandwidth of queue 5 is 30 Mbps, the bandwidth of queue 6 is 30 Mbps, the bandwidth of queue 7 is 20 Mbps, and the bandwidth of queue 8 is 20 Mbps. According to the principle of high-priority data streams first, 400 Mbps of the first bandwidth can be allocated to the high-priority data streams first, and then the bandwidth of the high-priority data streams after traffic shaping is 400 Mbps, and the bandwidth of queue 1 to queue 4 remains unchanged. Since there is no remaining first traffic after the first traffic is allocated to the high-priority data streams, the first bandwidth cannot be allocated to the low-priority data streams, and then the bandwidth of the low-priority data streams after traffic shaping is 0 Mbps, and the bandwidth of queue 5 to queue 8 is adjusted to 0 Mbps. In a possible implementation, the first communication device provides QOS services based on a hierarchical quality of service (HQOS) queue scheduling model to perform traffic shaping, that is, interface rate limiting.
[0252] For another example, the first communication device sends high-priority data streams in the data streams to the third communication device into a high-priority queue, and sends low-priority data streams into a low-priority queue, the first bandwidth is 400 Mbps, the bandwidth of the high-priority queue before traffic shaping is 300 Mbps, and the bandwidth of the low-priority queue is 200 Mbps. According to the principle of high-priority data streams first, 300 Mbps of the first bandwidth can be allocated to the high-priority queue first, and then the bandwidth of the high-priority queue after traffic shaping is 300 Mbps. Since there is 100 Mbps of the first bandwidth remaining, the remaining 100 Mbps of the first bandwidth can be allocated to the low-priority queue, and then the bandwidth of the low-priority queue after traffic shaping is 100 Mbps.
[0253] FIG. 13 shows another traffic shaping method provided by an embodiment of the present application. As shown in FIG. 13, the method includes the following steps.
[0254] S501, the first communication device notifies the fourth communication device of a first throughput.
[0255] The first throughput is the throughput of the first communication device sending the first data stream to the third communication device.
[0256] Correspondingly, the fourth communication device can receive the first throughput announced by the first communication device.
[0257] S502, the second communication device announces the second throughput to the fourth communication device.
[0258] The second throughput is a throughput of the second communication device sending a second data stream to the third communication device.
[0259] Correspondingly, the fourth communication device obtains the second throughput of the second communication device sending the second data stream to the third communication device.
[0260] S503, the fourth communication device allocates a first bandwidth for the first communication device according to the first throughput, the second throughput, a third throughput and a fourth throughput.
[0261] The third throughput is a throughput of the third communication device receiving the first data stream, the fourth throughput is a throughput of the third communication device receiving the second data stream, and the first bandwidth is a bandwidth of the first communication device sending traffic to the third communication device.
[0262] S504, the fourth communication device sends a first signaling to the first communication device.
[0263] The first signaling includes first information, and the first information indicates the first bandwidth.
[0264] Correspondingly, the first communication device receives the first signaling sent by the fourth communication device.
[0265] Optionally, the first signaling indicates that the first communication device performs traffic shaping on the data stream sent to the third communication device based on the first bandwidth.
[0266] In a possible implementation, the fourth communication device can also send a second signaling to the second communication device.
[0267] The second signaling includes second information, and the second information indicates the second bandwidth.
[0268] Correspondingly, the second communication device receives the second signaling sent by the fourth communication device and performs traffic shaping on the data stream sent to the third communication device based on the second bandwidth.
[0269] Optionally, the second signaling indicates that the second communication device performs traffic shaping on the data stream sent to the third communication device based on the second bandwidth.
[0270] The specific implementation of S503 and S504 can refer to S303 described above, and will not be described here.
[0271] S505, the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0272] The specific implementation of S505 can refer to S403, and details are not described herein.
[0273] In the case of dividing each functional module according to each function, FIG. 14 shows another possible composition diagram of the traffic shaping device involved in the above embodiment, which can be a communication device or a controller, or a module (such as a processor, a chip or a chip system, etc.) applied to the communication device or the controller, or a logic node, a logic module or software capable of realizing all or part of the functions of the communication device or the controller. As shown in FIG. 14, the traffic shaping device 1400 can include a transceiver unit 1401 and a processing unit 1402.
[0274] The transceiver unit 1401 is configured to perform the operations related to receiving and / or sending in any traffic shaping method provided in the embodiments of the present application.
[0275] The processing unit 1402 is configured to perform operations other than the operations related to receiving and / or sending in any traffic shaping method provided in the embodiments of the present application.
[0276] In a possible implementation, the transceiver unit 1401 is configured to obtain a first throughput of a first data stream sent by a first communication device to a third communication device.
[0277] In a possible implementation, the transceiver unit 1401 is further configured to obtain a second throughput of a second data stream sent by a second communication device to the third communication device.
[0278] In a possible implementation, the processing unit 1402 is configured to allocate a first bandwidth for the first communication device to send traffic to the third communication device according to the first throughput, the second throughput, a third throughput of the first data stream received by the third communication device, and a fourth throughput of the second data stream received by the third communication device.
[0279] In a possible implementation, the processing unit 1402 is further configured to allocate a second bandwidth for the second communication device to send traffic to the third communication device according to the first throughput, the second throughput, the third throughput and the fourth throughput.
[0280] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0281] Optionally, the first throughput includes a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
[0282] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0283] In a possible implementation, the processing unit 1402 is specifically configured to allocate the second bandwidth for the second communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
[0284] Optionally, the third throughput includes a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device, and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device.
[0285] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0286] In a possible implementation, the processing unit 1402 is specifically configured to allocate the second bandwidth for the second communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
[0287] Optionally, the second data stream includes a second high-priority data stream and a second low-priority data stream.
[0288] Optionally, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device.
[0289] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
[0290] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0291] Optionally, the second data flow includes a second high-priority data flow and a second low-priority data flow, and the second throughput includes a ninth throughput of the second communication device sending the second high-priority data flow to the third communication device and a tenth throughput of the second communication device sending the second low-priority data flow to the third communication device.
[0292] Optionally, the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data flow sent by the second communication device and a twelfth throughput of the third communication device receiving the second low-priority data flow sent by the second communication device.
[0293] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0294] In a possible implementation, the processing unit 1402 is specifically configured to allocate the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput.
[0295] In a possible implementation, the processing unit 1402 is further configured to allocate the first bandwidth for the first communication device according to a first time delay between the first communication device and the third communication device.
[0296] In a possible implementation, the processing unit 1402 is further configured to allocate the second bandwidth for the second communication device according to a second time delay between the second communication device and the third communication device.
[0297] In a possible implementation, the first communication device, the second communication device, and the third communication device are deployed in a hub-spoke manner, where the third communication device is deployed in a hub site, and the first communication device and the second communication device are deployed in a spoke site.
[0298] In a possible implementation, the first communication device and the second communication device are SD-WAN CPE devices, the first communication device and the third communication device are connected through a first SD-WAN tunnel, and the second communication device and the third communication device are connected through a second SD-WAN tunnel.
[0299] In a possible implementation, the transceiver 1401 is further configured to send, to the first communication device, first signaling, where the first signaling includes first information, and the first information indicates the first bandwidth.
[0300] Optionally, the first signaling indicates that the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0301] In a possible implementation, the transceiver 1401 is further configured to send, to the second communication device, second signaling, where the second signaling includes second information, and the second information indicates the second bandwidth.
[0302] Optionally, the second signaling indicates that the second communication device performs traffic shaping on a data stream sent to the third communication device based on the second bandwidth.
[0303] In the case of dividing each functional module according to corresponding functions, FIG. 15 shows a possible composition diagram of a traffic shaping device involved in the above-described embodiments, which can be a communication device, a module (such as a processor, a chip, or a chip system) applied to a communication device, or a logic node, a logic module, or software capable of realizing all or part of the functions of a communication device, and the device includes a transceiver 1501 and a processing unit 1502.
[0304] The transceiver 1501 is configured to perform operations related to receiving and / or sending in any traffic shaping method provided in the embodiments of the present application.
[0305] The processing unit 1502 is configured to perform operations other than those related to receiving and / or sending in any traffic shaping method provided in the embodiments of the present application.
[0306] In a possible implementation, the transceiver 1501 is configured to notify a fourth communication device of a first throughput of a first communication device for sending a first data stream to a third communication device.
[0307] In a possible implementation, the transceiver 1501 is further configured to receive first signaling sent by the fourth communication device, where the first signaling includes first information, and the first information indicates a first bandwidth of the first communication device for sending traffic to the third communication device.
[0308] In a possible implementation, the processing unit 1502 is configured to perform traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
[0309] Optionally, the first data stream includes a first high-priority data stream and a first low-priority data stream.
[0310] Optionally, the first throughput includes a fifth throughput of sending the first high-priority data stream from the first communication device to the third communication device, and a sixth throughput of sending the first low-priority data stream from the first communication device to the third communication device.
[0311] Optionally, the first communication device and the third communication device are deployed in a hub-spoke manner, where the third communication device is deployed in a hub site, and the first communication device is deployed in a spoke site.
[0312] Optionally, the first communication device is an SD-WAN CPE device, and the first communication device and the third communication device are connected through a first SD-WAN tunnel.
[0313] Embodiments of the present application further provide a chip, which can be a chip of the traffic shaping device. FIG. 14 shows a structural schematic diagram of a chip 1400. The chip 1600 includes one or more processors 1601 and interface circuit 1602. Optionally, the chip 1600 can further include a bus 1603.
[0314] The processor 1601 can be an integrated circuit chip having a processing capability of signals. In the implementation process, each step of the traffic shaping method can be completed by the integrated logic circuit of hardware or the instructions in the form of software in the processor 1601.
[0315] Optionally, the processor 1601 can be a general processor, a digital signal processing (DSP) processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method and step disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor.
[0316] The interface circuit 1602 can be used for transmitting or receiving data, instructions or information, and the processor 1601 can process the data, instructions or other information received by the interface circuit 1602 and send out the processed information through the interface circuit 1602.
[0317] Optionally, the chip further includes a memory, which can include a read-only memory and a random access memory, and provide operation instructions and data for the processor. Part of the memory can also include a non-volatile random access memory (NVRAM).
[0318] Optionally, the memory stores executable software modules or data structures, and the processor can execute corresponding operations by calling the operation instructions stored in the memory (which can be stored in an operating system).
[0319] Optionally, the chip can be used in the traffic shaping device or the traffic shaping device related to the embodiments of the present application. Optionally, the interface circuit 1602 can be used to output the execution result of the processor 1601. The traffic shaping method provided by one or more embodiments of the present application can refer to the foregoing various embodiments, which will not be repeated here.
[0320] It should be noted that the functions of the processor 1601 and the interface circuit 1602 can be realized by hardware design, software design or a combination of hardware and software, which is not limited here.
[0321] FIG. 17 is a structural schematic diagram of an electronic device provided by an embodiment of the present application, which can be a traffic shaping device, a chip or a functional module in the traffic shaping device. As shown in FIG. 17, the electronic device 1700 includes a processor 1701, a transceiver 1702 and a communication line 1703.
[0322] The processor 1701 is configured to execute any step of the traffic shaping method provided by the embodiments of the present application, and in the process of executing any step of the traffic shaping method provided by the embodiments of the present application, the transceiver 1702 and the communication line 1703 can be optionally called to complete the corresponding operation.
[0323] Further, the electronic device 1700 can further include a memory 1704. The processor 1701, the memory 1704 and the transceiver 1702 can be connected through the communication line 1703.
[0324] The processor 1701 is a processor, a general-purpose processor network processor (NP), a digital signal processing (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 1701 can also be other devices with processing functions, such as a circuit, a device, or a software module, without limitation.
[0325] The transceiver 1702 is configured to communicate with other devices or other communication networks, which can be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), and the like. The transceiver 1702 can be a module, a circuit, a transceiver, or any device capable of communication.
[0326] The transceiver 1702 is mainly used for the transceiving of commands and information, and can include a transmitter and a receiver for transmitting and receiving commands and information, respectively. Operations other than the transceiving of commands and information are implemented by the processor.
[0327] The communication line 1703 is configured to transmit information between components included in the electronic device 1700.
[0328] In one design, the processor can be regarded as a logic circuit, and the transceiver can be regarded as an interface circuit.
[0329] The memory 1704 is configured to store instructions. The instructions can be a computer program.
[0330] The memory 1704 can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which acts as external cache. By way of illustration and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM). The memory 1704 can also be a compact disc read-only memory (CD-ROM), or other optical storage, optical disk storage including compact discs for example, laser discs, optical discs such as digital versatile discs (DVDs), blu-ray discs, and the like, magnetic storage including diskettes, magnetic cassettes, tape, and the like, magneto-optical storage, or any other medium which can be used to store information which is accessible for reading by a processor. It should be noted that the memory described herein is intended to include, without being limited to, these and any other suitable types of memory.
[0331] It is noted that the memory 1704 can be present independent of the processor 1701 or can be integrated with the processor 1701. The memory 1704 can be used to store instructions or program codes or some data, etc. The memory 1704 can be located within the electronic device 1700 or can be located outside the electronic device 1700, without limitation. The processor 1701 is configured to execute the instructions stored in the memory 1704 to implement the methods provided by the embodiments described above.
[0332] In one example, the processor 1701 can include one or more processors, such as processor 0 and processor 1 in FIG. 17.
[0333] As an optional implementation, the electronic device 1700 includes multiple processors, for example, in addition to the processor 1701 in FIG. 17, the processor 1707 can also be included.
[0334] As an optional implementation, the electronic device 1700 further includes an output device 1705 and an input device 1706. Exemplarily, the input device 1706 is a keyboard, a mouse, a microphone, a joystick, or the like, and the output device 1705 is a display screen, a speaker, or the like.
[0335] It should be noted that the electronic device 1700 can be a chip system or a device having a similar structure as in FIG. 17. The chip system can be composed of a chip or can include a chip and other discrete devices. The actions, terms, and the like involved among the embodiments of the present application can be mutually referred to and are not limited. The message name or the parameter name in the message exchanged between the devices in the embodiments of the present application is only an example, and other names can also be used in the specific implementation, which is not limited. In addition, the constituent structure shown in FIG. 17 does not constitute a limitation on the electronic device 1700, and the electronic device 1700 can include more or fewer components than those shown in FIG. 17, or combine certain components, or different component arrangements.
[0336] The processor and the transceiver described in the present application can be implemented on an integrated circuit (IC), an analog IC, a radio frequency integrated circuit, a mixed signal IC, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, or the like. The processor and the transceiver can also be manufactured by various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor (NMOS), positive channel metal oxide semiconductor (PMOS), Bipolar Junction Transistor (BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), or the like.
[0337] Figure 18 is a structural schematic diagram of another electronic device provided by the embodiments of the present application, which can be a traffic shaping device or a traffic shaping device, a chip or a functional module in a traffic shaping device, or a chip or a functional module in a traffic shaping device. For ease of illustration, Figure 18 only shows the main components of the electronic device, including a processor 1801, a memory 1802, a control circuit 1803, and an input / output device 1804. The processor 1801 is mainly used for processing communication protocols and communication data, executing software programs, and processing data of the software programs. The memory 1802 is mainly used for storing software programs and data. The control circuit 1803 is mainly used for power supply and transmission of various electrical signals. The input / output device 1804 is mainly used for receiving user input data and outputting data to the user.
[0338] When the electronic device is the processor 1801, the control circuit 1803 can be a mainboard, the memory 1802 includes a hard disk, a RAM, a ROM, and other storage media having a storage function, the processor 1801 can include a baseband processor 1801 and a central processor, the baseband processor is mainly used for processing communication protocols and communication data, and the central processor is mainly used for controlling the entire electronic device, executing software programs, and processing data of the software programs. The input / output device 1804 includes a display screen, a keyboard, a mouse, and the like; the control circuit 1803 can further include or be connected to a transceiver circuit or a transceiver, such as a network interface, for transmitting or receiving data or signals, such as data transmission and communication with other devices. Further, an antenna can be included for wireless signal transmission and reception, for data / signal transmission with other devices.
[0339] The embodiments of the present application also provide a traffic shaping device, which includes at least one processor, and when the at least one processor executes program codes or instructions, the related method steps are implemented to realize the traffic shaping method in the embodiments.
[0340] Optionally, the device can further include at least one memory for storing the program codes or instructions.
[0341] The embodiments of the present application also provide a traffic shaping device, which includes at least one processor, and when the at least one processor executes program codes or instructions, the related method steps are implemented to realize the traffic shaping method in the embodiments.
[0342] Optionally, the device can further include at least one memory for storing the program codes or instructions.
[0343] The embodiment of the present application further provides a computer storage medium, which stores computer instructions. When the computer instructions run on a communication device, the communication device executes the related method steps to realize the traffic shaping method in the above embodiment.
[0344] The embodiment of the present application further provides a computer program product. When the computer program product runs on a computer, the computer executes the related steps to realize the traffic shaping method in the above embodiment.
[0345] The embodiment of the present application further provides a traffic shaping device. The device can be a chip, an integrated circuit, an assembly or a module. Specifically, the device can include a processor and a memory connected to the processor and used for storing instructions, or the device includes at least one processor used for obtaining instructions from an external memory. When the device runs, the processor can execute the instructions to make the chip execute the traffic shaping method in the above method embodiments.
[0346] The embodiment of the present application further provides a traffic shaping device. The device can be a chip, an integrated circuit, an assembly or a module. Specifically, the device can include a processor and a memory connected to the processor and used for storing instructions, or the device includes at least one processor used for obtaining instructions from an external memory. When the device runs, the processor can execute the instructions to make the chip execute the traffic shaping method in the above method embodiments.
[0347] It should be understood that, in various embodiments of the present application, the size of the sequence number of each process described above does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0348] Those skilled in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized 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 the embodiments of the present application.
[0349] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0350] In several embodiments provided by the embodiments of the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the embodiments of the device described above are merely schematic. For example, the division of the units is merely logical function division. There can be another division manner for the actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.
[0351] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0352] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically, or two or more units can be integrated into one unit.
[0353] If the above functions are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described above in the various embodiments of the present application. The foregoing storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and various media that can store program codes.
[0354] The above description is merely specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method of traffic shaping, characterized by, comprising: obtaining a first throughput of a first communication device sending a first data stream to a third communication device; obtaining a second throughput of a second communication device sending a second data stream to the third communication device; allocating a first bandwidth for the first communication device to send traffic to the third communication device according to the first throughput, the second throughput, a third throughput of the third communication device receiving the first data stream, and a fourth throughput of the third communication device receiving the second data stream.
2. The method of claim 1, wherein, The method further comprises: allocating a second bandwidth for the second communication device to send traffic to the third communication device according to the first throughput, the second throughput, the third throughput, and the fourth throughput.
3. The method according to claim 1 or 2, characterized in that, The first data stream comprises a first high-priority data stream and a first low-priority data stream, the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device, and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device, the allocating the first bandwidth for the first communication device comprises: allocating the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput.
4. The method of claim 3, wherein, The third throughput comprises a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device, and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device, the allocating the first bandwidth for the first communication device comprises: allocating the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput.
5. The method of claim 3, wherein, The second data stream comprises a second high-priority data stream and a second low-priority data stream, the second throughput comprises a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device, the allocating the first bandwidth for the first communication device comprises: allocating the first bandwidth for the first communication device according to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput.
6. The method of claim 4, wherein, The second data stream includes a second high-priority data stream and a second low-priority data stream, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device, and the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data stream sent by the second communication device, and a twelfth throughput of the third communication device receiving the second low-priority data stream sent by the second communication device, allocating the first bandwidth to the first communication device includes: According to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput, the first bandwidth is allocated to the first communication device.
7. The method according to any one of claims 1 to 6, characterized in that, The first bandwidth allocated to the first communication device further includes: According to a first time delay between the first communication device and the third communication device, the first bandwidth is allocated to the first communication device.
8. The method according to any one of claims 2 to 7, characterized in that, The second bandwidth allocated to the second communication device for sending traffic to the third communication device further includes: According to a second time delay between the second communication device and the third communication device, the second bandwidth is allocated to the second communication device.
9. The method according to any one of claims 1 to 8, characterized in that, The first communication device, the second communication device and the third communication device adopt a hub-spoke networking mode, wherein the third communication device is deployed in a hub site, and the first communication device and the second communication device are deployed in a spoke site.
10. The method according to any one of claims 1 to 9, characterized in that, The first communication device and the second communication device are software-defined wide area network client equipment (SD-WAN CPE) devices, the first communication device and the third communication device are connected through a first software-defined wide area network (SD-WAN) tunnel, and the second communication device and the third communication device are connected through a second SD-WAN tunnel.
11. The method according to any one of claims 1 to 10, characterized in that, The method further includes: sending first signaling to the first communication device, the first signaling including first information, the first information indicating the first bandwidth.
12. The method of claim 11, wherein, The first signaling indicates that the first communication device performs traffic shaping on a data stream sent to the third communication device based on the first bandwidth.
13. The method according to any one of claims 1 to 12, characterized in that, The method is performed by a fourth communication device, which is a controller or the third communication device.
14. The method according to any one of claims 1 to 12, characterized in that, The method further includes: The first communication device notifies the fourth communication device of the first throughput, the fourth communication device being a controller or the third communication device; The second communication device notifies the fourth communication device of the second throughput; The first throughput of the first communication device sending a first data stream to the third communication device includes: The fourth communication device acquires the first throughput notified by the first communication device; obtaining a second throughput of a second communication device sending a second data stream to the third communication device, comprising: obtaining, by the fourth communication device, the second throughput announced by the third communication device.
15. A method of traffic shaping, performed by a first communication device, c h a r a c t e r i z e d b y, comprising: announcing, to a fourth communication device, a first throughput of a first communication device sending a first data stream to a third communication device; receiving first signaling sent by the fourth communication device, the first signaling comprising first information indicating a first bandwidth of the first communication device sending traffic to the third communication device.
16. The method of claim 15, wherein, The method further comprises: traffic shaping the data stream sent to the third communication device based on the first bandwidth.
17. The method according to claim 15 or 16, characterized in that, The first data stream comprises a first high-priority data stream and a first low-priority data stream, and the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
18. The method of any one of claims 15-17, wherein, The first communication device and the third communication device are networked in a hub-spoke manner, wherein the third communication device is deployed in a Hub site and the first communication device is deployed in a spoke site.
19. The method according to any one of claims 15 to 18, characterized in that, The first communication device is an SD-WAN CPE device, and the first communication device and the third communication device are connected in communication through a first SD-WAN tunnel.
20. The method of any one of claims 15-19, wherein, The fourth communication device is a controller or the third communication device.
21. A traffic shaping device, characterized by comprising: a transceiver unit and a processing unit; the transceiver unit is configured to obtain a first throughput of a first communication device sending a first data stream to a third communication device; the transceiver unit is further configured to obtain a second throughput of a second communication device sending a second data stream to the third communication device; the processing unit is configured to allocate, according to the first throughput, the second throughput, a third throughput of the third communication device receiving the first data stream, and a fourth throughput of the third communication device receiving the second data stream, a first bandwidth of the first communication device sending traffic to the third communication device.
22. The apparatus of claim 21, wherein, The processing unit is further configured to: allocate, according to the first throughput, the second throughput, the third throughput, and the fourth throughput, a second bandwidth of the second communication device sending traffic to the third communication device.
23. The apparatus of claim 21 or 22, wherein, The first data stream comprises a first high-priority data stream and a first low-priority data stream, and the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device, and the processing unit is specifically configured to: allocate, according to the fifth throughput, the sixth throughput, the second throughput, the third throughput, and the fourth throughput, the first bandwidth of the first communication device.
24. The apparatus of claim 23, wherein, The third throughput includes a seventh throughput of the third communication device receiving the first high-priority data stream sent by the first communication device, and an eighth throughput of the third communication device receiving the first low-priority data stream sent by the first communication device, and the processing unit is specifically configured to: According to the fifth throughput, the sixth throughput, the second throughput, the seventh throughput, the eighth throughput, and the fourth throughput, the first communication device is allocated the first bandwidth.
25. The apparatus of claim 23, wherein, The second data stream includes a second high-priority data stream and a second low-priority data stream, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device, and the processing unit is specifically configured to: According to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the third throughput, and the fourth throughput, the first communication device is allocated the first bandwidth.
26. The apparatus of claim 24, wherein, The second data stream includes a second high-priority data stream and a second low-priority data stream, the second throughput includes a ninth throughput of the second communication device sending the second high-priority data stream to the third communication device, and a tenth throughput of the second communication device sending the second low-priority data stream to the third communication device, the fourth throughput includes an eleventh throughput of the third communication device receiving the second high-priority data stream sent by the second communication device, and a twelfth throughput of the third communication device receiving the second low-priority data stream sent by the second communication device, and the processing unit is specifically configured to: According to the fifth throughput, the sixth throughput, the ninth throughput, the tenth throughput, the seventh throughput, the eighth throughput, the eleventh throughput, and the twelfth throughput, the first communication device is allocated the first bandwidth.
27. The apparatus of any of claims 21-26, wherein, The processing unit is further configured to: According to a first time delay between the first communication device and the third communication device, the first communication device is allocated the first bandwidth.
28. The apparatus of any of claims 22-27, wherein, The processing unit is further configured to: According to a second time delay between the second communication device and the third communication device, the second communication device is allocated the second bandwidth.
29. The apparatus of any of claims 21-28, wherein, The first communication device, the second communication device, and the third communication device are networked in a Hub-spoke manner, wherein the third communication device is deployed in a Hub site, and the first communication device and the second communication device are deployed in a spoke site.
30. The apparatus of any of claims 21-29, wherein, The first communication device and the second communication device are SD-WAN CPE devices, the first communication device and the third communication device are connected in communication through a first SD-WAN tunnel, and the second communication device and the third communication device are connected in communication through a second SD-WAN tunnel.
31. The apparatus of any of claims 21 to 30, wherein, The transceiving unit is further configured to: sending first signaling to the first communication device, the first signaling comprising first information, the first information indicating the first bandwidth.
32. The apparatus of claim 31, wherein, The first signaling indicates that the first communication device performs traffic shaping on data streams sent to the third communication device based on the first bandwidth.
33. The apparatus of any one of claims 21-32, wherein, The device is a fourth communication device, and the fourth communication device is a controller or the third communication device.
34. A traffic shaping device, comprising: Comprise: a transceiver unit and a processing unit; The transceiver unit is configured to advertise, to a fourth communication device, a first throughput of a first communication device sending a first data stream to a third communication device; The transceiver unit is further configured to receive first signaling sent by the fourth communication device, the first signaling comprising first information, the first information indicating a first bandwidth of traffic sent by the first communication device to the third communication device.
35. The apparatus of claim 34, wherein, The processing unit is configured to: perform traffic shaping on data streams sent to the third communication device based on the first bandwidth.
36. The apparatus of claim 34 or 35, wherein, The first data stream comprises a first high-priority data stream and a first low-priority data stream, and the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
37. The apparatus of any one of claims 34-36, wherein, The first data stream comprises a first high-priority data stream and a first low-priority data stream, and the first throughput comprises a fifth throughput of the first communication device sending the first high-priority data stream to the third communication device and a sixth throughput of the first communication device sending the first low-priority data stream to the third communication device.
38. The apparatus of any one of claims 34-37, wherein, The first communication device is an SD-WAN CPE device, and the first communication device and the third communication device are connected through a first SD-WAN tunnel.
39. The apparatus of any one of claims 34-38, wherein, The fourth communication device is a controller or the third communication device.
40. A traffic shaping device, comprising: Comprise at least one processor and at least one memory, the at least one processor executes programs or instructions stored in the memory to enable the communication device to implement the method of any one of claims 1-20.
41. A communication system, characterized by Comprise at least one processor and at least one memory, the at least one processor executes programs or instructions stored in the memory to enable the communication system to implement the method of any one of claims 1-20.
42. A computer program product, characterised in that, The computer program product comprises instructions, which, when executed on a computer or a processor, enable the computer or the processor to implement the method of any one of claims 1-20.
43. A computer program product, characterised in that, The computer program product comprises instructions, which, when executed on a computer or a processor, enable the computer or the processor to implement the method of any one of claims 1-20.
44. A computer-readable storage medium, comprising: A computer program for storing, when executed on a computer or a processor, enables the computer or the processor to implement the method of any one of claims 1-20.
Citation Information
Patent Citations
Transmission rate configuration method and device
CN112953749A
Method for dynamically adjusting issuing bandwidth through EDBA
CN114257890A
A method for controlling the throughput of a data transmitter as a function of the bandwidth of a data packet transmission link
EP2506507A1
Methods and apparatus to enable multi-AP WLAN with a limited number of queues
US20200196192A1
Multipath-capable communication device
US20220086094A1