Bandwidth dynamic regulation and control method and device and storage medium

By implementing a bandwidth adjustment cycle mechanism and dynamic bandwidth control algorithm in CPE devices, the problem of lack of source traffic control in CPE devices in SD-WAN is solved, and fair allocation of relay server bandwidth resources and improved network stability are achieved.

CN121644485APending Publication Date: 2026-03-10TP-LINK
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In the shared bandwidth mode of Software-Defined Wide Area Network (SD-WAN), the lack of source traffic control in CPE devices leads to the over-preemption of bandwidth resources of relay servers, resulting in abnormal consumption of network resources and unfair bandwidth allocation.

Method used

By implementing a bandwidth adjustment cycle mechanism in the CPE device, the bandwidth control algorithm is used to calculate and update the transmission tunnel bandwidth at preset intervals, and the results are reported to the cloud server. The bandwidth allocation is dynamically adjusted in combination with historical traffic data and network status to achieve precise speed limiting and dynamic control.

Benefits of technology

Ensure that the total traffic of multiple devices is strictly limited to the shared bandwidth quota, avoid overloading the relay server, improve network stability and resource utilization, and achieve fair allocation of bandwidth resources and overall network stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644485A_ABST
    Figure CN121644485A_ABST
Patent Text Reader

Abstract

The invention discloses a bandwidth dynamic regulation and control method and device and a storage medium. The method comprises the following steps: starting a bandwidth regulation circulation mechanism according to a currently created transmission tunnel; in the application of the bandwidth adjustment circulation mechanism, a bandwidth value currently used by the transmission tunnel is calculated by adopting a bandwidth control algorithm every preset bandwidth adjustment time; and updating the bandwidth of the transmission tunnel through the calculated bandwidth value, and reporting the calculated bandwidth value to a cloud server. The bandwidth of each tunnel is dynamically regulated and controlled from the source end, the total flow of multiple devices is strictly limited by the shared bandwidth limit, overload of the relay server is avoided, and the network stability and the resource utilization rate are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of dynamic network bandwidth management, and in particular to a method, device and storage medium for dynamic bandwidth control. Background Technology

[0002] In Software-Defined Wide Area Network (SD-WAN) applications without a public IP address, users purchase bandwidth quotas based on expected traffic to build the network. In this scenario, each Customer Premises Equipment (CPE) must first establish a Virtual Private Network (VPN) link with a relay server to ensure basic network connectivity. The system then attempts to establish a peer-to-peer (p2p) tunnel to share the relay server's forwarding load. To prevent actual traffic from exceeding the purchased bandwidth, Quality of Service (QoS) rate limiting must be implemented on the CPE devices. The current rate limiting mode, "dedicated bandwidth mode," sets an independent bandwidth limit for each CPE and its relay link, allowing it to exclusively use that quota. In contrast, "shared bandwidth mode" allows a single CPE to send at a higher rate, but sets a shared VPN bandwidth limit between the relay server and all CPEs within the topology (e.g., three), aiming to allow multiple devices to share the total bandwidth.

[0003] Although the relay server's total rate rules can limit the total traffic between sites to a specified range, each CPE is allowed to send data to the relay at its full shared bandwidth. For protocols lacking congestion control, such as UDP or multicast, multiple devices may continuously send data at full speed. While the relay server discards excess traffic to prevent further propagation, this traffic has already been received and processed before being discarded, effectively consuming the relay server's downlink bandwidth resources. This results in the total site access rate appearing compliant, while the actual bandwidth load on the relay far exceeds the purchased limit, leading to abnormal resource preemption and potential network congestion.

[0004] Therefore, there is an urgent need for a strategy to implement precise control over traffic from each CPE device—the source of traffic—ensuring that the total traffic originating from all devices is strictly limited to the shared total bandwidth. Simultaneously, effective signaling interaction and dynamic adjustment algorithms need to be designed to adapt to the dynamic changes in SD-WAN topology and traffic characteristics, ultimately achieving fair and efficient allocation of bandwidth resources and ensuring overall network stability and SLA guarantees.

[0005] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention

[0006] The main purpose of this application is to provide a method, device and storage medium for dynamic bandwidth control, which aims to solve the technical problem that the lack of source traffic control in CPE devices under the existing shared bandwidth mode leads to the over-preemption of bandwidth resources of relay servers.

[0007] To achieve the above objectives, this application proposes a method for dynamic bandwidth control, the method comprising: Enable the bandwidth adjustment loop mechanism based on the currently created transmission tunnel; In the application of the bandwidth adjustment cycle mechanism, the bandwidth value currently used by the transmission tunnel is calculated using a bandwidth control algorithm every preset bandwidth adjustment time. The bandwidth of the transmission tunnel is updated by calculating the bandwidth value, and the calculated bandwidth value is reported to the cloud server.

[0008] In one embodiment, the step of updating the bandwidth of the transmission tunnel using the calculated bandwidth value includes: If the bandwidth value is higher than the current bandwidth limit, the bandwidth value is reported to the cloud controller and the bandwidth of the transmission tunnel is updated based on the bandwidth value after approval. If the bandwidth value is lower than the current bandwidth limit, the bandwidth of the transmission tunnel will be updated.

[0009] In one embodiment, the step of calculating the current bandwidth value of the transmission tunnel using a bandwidth control algorithm at preset bandwidth adjustment intervals in the application of the bandwidth adjustment cycle mechanism includes: Calculate bandwidth adjustment time based on the current time; If the bandwidth adjustment time is greater than or equal to the preset bandwidth adjustment time, the step of calculating the current bandwidth value used by the transmission tunnel using a bandwidth control algorithm is executed.

[0010] In one embodiment, before the step of calculating the current bandwidth value used by the transmission tunnel using a bandwidth control algorithm at preset bandwidth adjustment intervals in the application of the bandwidth adjustment cyclic mechanism, the method further includes: Collect historical traffic data within a predetermined time window of the transmission tunnel, and calculate the network congestion data of the transmission tunnel based on the historical traffic data; The initial bandwidth value of the transmission tunnel is obtained by adjusting the weight coefficients of the weighted allocation algorithm based on the network congestion data, and then using the weighted allocation algorithm with the adjusted weight coefficients to calculate the real-time demand and historical usage patterns of the transmission tunnel. The calculated initial bandwidth value is set as the initial bandwidth of the transmission tunnel.

[0011] In one embodiment, the step of updating the bandwidth of the transmission tunnel using the calculated bandwidth value includes: The bandwidth value is divided into multiple time steps using a preset time step strategy, and the bandwidth of the transmission tunnel is updated step by step based on the time steps. Based on the bandwidth adjustment process of the transmission tunnel, the time step size of the time step strategy is dynamically adjusted according to the packet loss rate and latency changes of the transmission tunnel.

[0012] In one embodiment, the bandwidth dynamic control method further includes: Obtain the network topology information of the current client device, and create a new bandwidth cyclic adjustment strategy for the current client device based on the network topology information. The sensitivity parameter of the bandwidth cyclic adjustment strategy is adjusted according to the network load status of the current transmission tunnel, and the preset bandwidth adjustment time of the transmission tunnel is set based on the sensitivity parameter. The bandwidth control algorithm is obtained by configuring and calculating parameter weights based on the network information.

[0013] Furthermore, to achieve the above objectives, this application also proposes a method for dynamic bandwidth control, comprising the following steps: Send a networking command to the CPE device, and send an initial bandwidth value to the CPE device when receiving an initial bandwidth acquisition request reported by the CPE device; In response to the bandwidth adjustment request reported by the CPE device, determine the adjusted bandwidth value of the bandwidth adjustment request; Obtain the available bandwidth of the CPE device, and issue a bandwidth adjustment approval result to the CPE device based on the adjusted bandwidth value and the available bandwidth. If the adjusted bandwidth value is within the available bandwidth, an approval result allowing the bandwidth adjustment is issued; if the adjusted bandwidth value is not within the available bandwidth, an approval result disallowing the bandwidth adjustment is issued.

[0014] In addition, to achieve the above objectives, this application also proposes a CPE device, the CPE device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the bandwidth dynamic control method as described above.

[0015] Furthermore, to achieve the above objectives, this application also proposes a cloud server, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the bandwidth dynamic control method described above. In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and which, when executed by a processor, implements the steps of the CPE device and the cloud server as described above.

[0016] One or more technical solutions proposed in this application have at least the following technical effects: A bandwidth adjustment cycle mechanism is activated based on the currently created transmission tunnel. In the application of this mechanism, a bandwidth control algorithm calculates the current bandwidth value used by the transmission tunnel at preset bandwidth adjustment intervals. The calculated bandwidth value is then used to update the bandwidth of the transmission tunnel, and the calculated bandwidth value is reported to the cloud server. Therefore, this application dynamically adjusts the bandwidth of each tunnel from the source end, ensuring that the total traffic of multiple devices is strictly limited to the shared bandwidth quota, avoiding relay server overload, and improving network stability and resource utilization. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating the first embodiment of the bandwidth dynamic control method of this application; Figure 2 This is a flowchart illustrating the second embodiment of the bandwidth dynamic control method of this application; Figure 3 This is a flowchart illustrating the third embodiment of the bandwidth dynamic control method of this application; Figure 4 This is a flowchart illustrating the fourth embodiment of the bandwidth dynamic control method of this application; Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the bandwidth dynamic control method in the embodiments of this application.

[0020] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0021] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0022] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0023] The main solution of this application embodiment is: to enable a bandwidth adjustment cycle mechanism based on the currently created transmission tunnel; in the application of the bandwidth adjustment cycle mechanism, the bandwidth value currently used by the transmission tunnel is calculated using a bandwidth control algorithm every preset bandwidth adjustment time; the bandwidth of the transmission tunnel is updated by the calculated bandwidth value, and the calculated bandwidth value is reported to the cloud server.

[0024] In software-defined wide area networks (SD-WAN) with multiple sites sharing bandwidth, the lack of fine-grained bandwidth control at the client device (CPE) source, especially when protocols without congestion control such as UDP or multicast are sending at full speed, means that although the relay server discards excess traffic, its downlink bandwidth resources are ineffectively occupied, resulting in the actual load far exceeding the purchased bandwidth quota. This leads to abnormal consumption of network resources, unfair bandwidth allocation, and a decline in overall service stability.

[0025] This application provides a solution that implements precise rate limiting at the source (CPE device) through a dynamic bandwidth control mechanism, ensuring that the total traffic of multiple devices is strictly limited to the shared bandwidth quota. The method uses a cyclical adjustment strategy and intelligent algorithms to calculate and update the bandwidth allocation of each tunnel in real time, effectively avoiding bandwidth contention issues caused by protocols without congestion control, such as UDP. This not only ensures that relay server resources are not abnormally occupied, but also achieves fair allocation of bandwidth resources and overall network stability, significantly improving network service quality and SLA assurance levels.

[0026] Based on this, embodiments of this application provide a method for dynamic bandwidth control, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the bandwidth dynamic control method of this application. In this embodiment, the bandwidth dynamic control method includes steps S10 to S50: Step S10: Enable the bandwidth adjustment loop mechanism based on the currently created transmission tunnel; In this embodiment, the activation of the bandwidth adjustment loop mechanism is based on the system state transition triggered after the CPE device completes the establishment of the transmission tunnel with the relay server. Specifically, after the CPE device receives the networking command from the cloud controller and successfully establishes the relay tunnel, the CPE device first initiates an initial bandwidth request to the cloud controller. While waiting for the cloud controller's response, the CPE device sets the bandwidth limit value of all local transmission tunnels to a conservative initial value calculated based on the globally shared bandwidth parameter. This conservative initial value is significantly lower than the theoretical average bandwidth calculated based on the total bandwidth and the maximum number of authorized devices. This initial low value setting aims to prevent multiple CPE devices from simultaneously sending traffic at high bandwidth during the initial stage of system coordination, which could lead to relay server link congestion, especially for traffic without congestion control mechanisms such as UDP, thus achieving pre-limiting from the source.

[0027] Specifically, the core of the bandwidth adjustment loop mechanism is a periodic control loop driven by a timer maintained locally by the CPE device. The period of this timer is the preset bandwidth adjustment time T_adj. After the loop is activated, the CPE device will perform two tasks in parallel: first, continuously collect local real-time traffic data through the terminal information collection module, including but not limited to the bandwidth utilization, packet loss rate, and latency information of the transmission tunnel in multiple past time windows; second, wait for and receive the initial bandwidth authorization or subsequent bandwidth adjustment approval instructions from the cloud controller. Once a valid bandwidth authorization value is obtained, the CPE device uses this value as a benchmark, combined with the upcoming periodic algorithm calculation, to enter the dynamic adjustment phase.

[0028] As another feasible implementation, the triggering condition of the bandwidth adjustment loop mechanism does not entirely depend on a fixed-period timer, but rather introduces a hybrid model combining event-driven and periodic detection. For example, the CPE device continuously monitors the instantaneous traffic rate of the transmission tunnel. If it continuously exceeds a certain percentage threshold (e.g., 85%) of the currently set bandwidth limit within several consecutive very short sampling periods, a temporary bandwidth reassessment and request process is immediately triggered without waiting for the next fixed T_adj period. Simultaneously, the regular periodic loop is maintained to handle non-sudden, trend-based traffic changes. This approach improves the system's response speed to sudden traffic spikes while maintaining overall control stability.

[0029] Step S20: In the application of the bandwidth adjustment cycle mechanism, the bandwidth value currently used by the transmission tunnel is calculated using a bandwidth control algorithm every preset bandwidth adjustment time. In this embodiment, the execution of the bandwidth control algorithm relies on the historical and real-time network status data periodically collected and maintained by the CPE device in the bandwidth adjustment cycle mechanism. The bandwidth decision module is activated when each preset bandwidth adjustment time period T_adj arrives. The bandwidth control algorithm first obtains the historical average bandwidth utilization over multiple time scales, including but not limited to short-term (e.g., the most recent T_adj period), medium-term (e.g., the most recent 3 T_adj periods), and long-term (e.g., the most recent 10 T_adj periods) average bandwidth usage data. All of this average bandwidth usage data originates from the continuous measurement of the transmission tunnel's outgoing traffic.

[0030] Furthermore, the bandwidth control algorithm's decision-making logic is based on predefined utilization thresholds and trend judgments. Core data processing includes: calculating the ratio between the current bandwidth request value C and the monitored average actual usage U, i.e., the utilization rate; and comparing this utilization rate with preset high thresholds (e.g., 80%), critical thresholds (e.g., 90%), and low thresholds. The algorithm does not simply compare instantaneous values ​​but introduces a weighting and correction mechanism. For example, for long-term averages, the algorithm multiplies by a correction coefficient α (α≥1) dynamically calculated based on recent network packet loss or latency. When network quality deteriorates (packet loss increases), α increases, resulting in a higher calculated "equivalent utilization rate" under the same historical traffic average, thus making it more likely to trigger bandwidth increase requests to improve the user experience.

[0031] Specifically, the bandwidth control algorithm determines and calculates the new target bandwidth value using the following logic: if the long-term average bandwidth utilization rate, after correction, remains consistently higher than the first threshold, it is determined that the bandwidth limit of the CPE device needs to be increased by a predefined "level"; if not only is the long-term average excessively high, but the short-term average also reaches or exceeds the critical threshold, it is determined that two "levels" need to be increased. Conversely, if the currently allocated bandwidth is significantly higher than the long-term actual usage average (e.g., 80% of the bandwidth value of the next level), it is determined that one "level" can be reduced. The "level" is a discrete sequence of bandwidth values, calculated based on the user's total purchased bandwidth B, the maximum number of authorized devices N, and a basic granularity L, ensuring reasonable discretization of bandwidth allocation and efficient integration of resources, avoiding management overhead and resource fragmentation caused by overly fragmented bandwidth allocation.

[0032] Specifically, in the application of the bandwidth adjustment cycle mechanism, the step of calculating the current bandwidth value used by the transmission tunnel using a bandwidth control algorithm at preset bandwidth adjustment intervals includes: Calculate bandwidth adjustment time based on the current time; If the bandwidth adjustment time is greater than or equal to the preset bandwidth adjustment time, the step of calculating the current bandwidth value used by the transmission tunnel using a bandwidth control algorithm is executed.

[0033] In this embodiment, the specific process of calculating the bandwidth adjustment time according to the current time is the core timing mechanism for the CPE device to achieve periodic self-discipline regulation. When the CPE device enables the bandwidth adjustment loop mechanism, it records an initial timestamp T_start as a reference. During the loop operation, the bandwidth decision module or an independent timing scheduling module continuously or periodically calls the system clock interface to obtain the current absolute time T_now. The calculation of the bandwidth adjustment time ΔT_adj is the difference between the current time T_now and the timestamp T_last_adj recorded when the bandwidth calculation and adjustment operation was successfully completed last time. Its mathematical expression is ΔT_adj = T_now - T_last_adj. This difference represents the length of time elapsed since the last regulation action.

[0034] The preset bandwidth adjustment time T_adj is a fixed or dynamically adjustable policy parameter pre-configured in the CPE device. Comparing the calculated ΔT_adj with the T_adj constitutes a conditional judgment logic. If ΔT_adj ≥ T_adj, it is determined that the periodic trigger condition is met, and the system will execute the subsequent full set of processes for calculating the current bandwidth value of the transmission tunnel using the bandwidth control algorithm. This judgment ensures that the bandwidth evaluation is carried out following a minimum time interval, avoiding overly intensive and unnecessary calculation and reporting operations caused by local traffic instantaneous fluctuations or frequent wake-up of the monitoring program, and effectively controlling the consumption of the CPE device's computing resources and the signaling processing pressure of the cloud controller. If ΔT_adj < T_adj, the CPE device will skip the core algorithm calculation steps in this loop, and may only perform lightweight status monitoring or data collection, and wait for the next inspection moment to arrive.

[0035] Furthermore, the calculation and comparison of the bandwidth adjustment time can incorporate more complex context-aware factors. For example, T_last_adj is not updated only after a complete "calculation-request-update" process. It can be subdivided into two timestamps: T_last_calc (last calculation time) and T_last_update (last successful update time of the local bandwidth limit). The calculation of ΔT_adj can be based on T_last_calc to ensure the periodic stability of the algorithm calculation; when determining whether to allow a new bandwidth increase request to the cloud, it is necessary to additionally check whether the time interval since T_last_update has exceeded another independent minimum request interval T_req_min, thereby suppressing frequent request behavior. In addition, the source and accuracy of the current time T_now also constitute a key technical feature. In a distributed system, the local clocks of each CPE device may have slight drift. In this embodiment, the CPE devices can synchronize with the cloud server or a dedicated time server via the NTP protocol to ensure the uniformity of the global time base. Alternatively, in network environments where absolute time synchronization cannot be guaranteed, the CPE device can use a logical clock based on relative time, such as using the number of milliseconds elapsed since its own startup as the timing basis, and combine it with coordination instructions from the cloud for logical time synchronization, so as to maintain the approximate consistency of the control cycle even in the absence of a common precise time source.

[0036] In another feasible implementation, the preset bandwidth adjustment time T_adj itself may not be a constant value, but rather an adaptive parameter dynamically adjusted based on the network status or load of the CPE device. Specifically, the CPE device can maintain a state machine. When the bandwidth utilization rate is consistently high (e.g., >85%) and frequent upgrade requests are triggered, it indicates active network demand. In this case, T_adj can be appropriately shortened (e.g., multiplied by a coefficient less than 1 from the base value) to improve the adjustment frequency and response agility. Conversely, when the bandwidth utilization rate is consistently low and stable, T_adj can be appropriately extended to reduce unnecessary computational overhead. Another strategy is to adopt a "backoff" mechanism: when a bandwidth upgrade request is rejected by the cloud controller (possibly due to insufficient global quota), the CPE device can automatically double the waiting time (i.e., the effective T_adj) for the next request to avoid numerous devices making ineffective and frequent competitive requests when resources are scarce. The system will gradually return to the base cycle once the network status stabilizes. This dynamic time judgment mechanism enables the system to intelligently balance the relationship between adjustment accuracy and system overhead.

[0037] Step S30: Update the bandwidth of the transmission tunnel using the calculated bandwidth value, and report the calculated bandwidth value to the cloud server.

[0038] In this embodiment, the target bandwidth value calculated by the bandwidth control algorithm is used to update the bandwidth limiting policy executed locally by the CPE device and to complete information synchronization with the cloud controller. The bandwidth limiting module receives the target bandwidth value as input and converts it into specific traffic control rules for the transmission tunnel, such as by updating the rate parameters of HTB (Hierarchical Token Bucket) or similar QoS mechanisms in Linux TC (Traffic Control), thereby implementing hard rate limiting during packet forwarding.

[0039] The bandwidth update process follows a specific control protocol to ensure consistency. Specifically, if the calculation indicates a need for increased bandwidth, the CPE device will not immediately apply the new value. Instead, it will first report the target bandwidth value to the cloud controller and enter a waiting state. The cloud controller will centrally arbitrate based on the remaining global bandwidth quota (total purchased bandwidth) and the application status of other CPE devices. Only after receiving a formal approval instruction from the cloud controller will the CPE device update the rate limit value of the transmission tunnel to the target bandwidth value. If the calculation indicates a need for decreased bandwidth, the CPE device can adopt a more proactive strategy: while reporting the target bandwidth value to the cloud controller, it can immediately or after a very short delay lower its local rate limit value to the new value. This asymmetric processing mechanism (increases require approval, decreases can be done first) ensures that the total bandwidth is not over-allocated and allows the system to quickly release idle bandwidth resources for other nodes to apply for, improving the overall bandwidth resource utilization efficiency and reallocation speed.

[0040] The information reported to the cloud server includes not only the target bandwidth value itself, but also a summary of the decision-making basis for this adjustment, such as the key utilization indicators that triggered the adjustment, the timestamp, and the unique identifier of the CPE device. This provides a data foundation for global monitoring, auditing, and optimization of bandwidth allocation strategies in the cloud.

[0041] As another feasible implementation, a "soft transition" or "bandwidth value caching" mechanism can be introduced when updating bandwidth to further enhance the smoothness of network traffic. That is, when a new, higher bandwidth limit is approved, the bandwidth limiting module does not immediately set it as a hard upper limit for all traffic. Instead, a temporary intermediate buffer limit, slightly higher than the original limit but lower than the newly approved value, can be set and allowed to gradually increase to the target value over time; alternatively, the new limit can be applied preferentially to newly established network connection sessions, while existing long-lived connection sessions can temporarily continue to use the old, slightly lower rate-limiting strategy until their termination. This approach can avoid the sudden expansion of the window of existing TCP sessions due to a sudden and significant increase in bandwidth, causing instantaneous micro-burst traffic, or avoid the interruption of ongoing critical application flows due to a sudden decrease in bandwidth, making the impact of bandwidth changes on user experience smoother.

[0042] Specifically, the step of updating the bandwidth of the transmission tunnel using the calculated bandwidth value includes: If the bandwidth value is higher than the current bandwidth limit, the bandwidth value is reported to the cloud controller and the bandwidth of the transmission tunnel is updated based on the bandwidth value after approval. If the bandwidth value is lower than the current bandwidth limit, the bandwidth of the transmission tunnel will be updated.

[0043] In this embodiment, the process of updating the transmission tunnel bandwidth based on the calculated target bandwidth value involves executing a differentiated control protocol based on the numerical comparison results. When the target bandwidth value B_target calculated by the bandwidth control algorithm is determined to be higher than the bandwidth rate limit value B_current currently applied by the CPE device, a "bandwidth increase process" is triggered. In this process, the CPE device does not immediately apply B_target, but first reports an application message containing the target bandwidth value B_target, device identifier, and decision basis to the cloud controller. Subsequently, the CPE device enters a waiting state, maintaining the current bandwidth rate limit value B_current rate limit strategy unchanged. The cloud controller performs centralized arbitration based on the remaining bandwidth quota of the entire network, other pending applications, and the global load strategy. Only after receiving a control instruction from the cloud controller that explicitly approves the target bandwidth value B_target or approves an adjustment value not less than the target bandwidth value B_target, does the bandwidth limiting module of the CPE device perform an update operation, increasing the bandwidth rate limit of the transmission tunnel from the bandwidth rate limit value B_current to the approved new value. This "approval before implementation" mechanism ensures that the total global shared bandwidth is not exceeded, maintaining the controllability of resource allocation.

[0044] Conversely, when the target bandwidth value B_target is determined to be lower than the bandwidth limit value B_current, a "bandwidth release process" is triggered. In this process, the CPE device adopts a more proactive and timely strategy. Simultaneously with reporting the bandwidth reduction decision (including the target bandwidth value B_target) to the cloud controller, or after a very short fixed delay, without waiting for a clear response from the cloud, the bandwidth limiting module can directly reduce the bandwidth limit of the transmission tunnel from the bandwidth limit value B_current to the target bandwidth value B_target. The core of this asymmetric processing logic is that reducing bandwidth does not lead to over-occupancy of global bandwidth resources; instead, it immediately releases idle resources, helping the cloud controller to more quickly reallocate these resources to other CPE devices in need, thereby improving the overall utilization efficiency and reallocation speed of bandwidth resources in the entire network cluster. The reporting operation mainly serves to inform and record information during this process, facilitating the cloud to maintain an accurate view of the entire network bandwidth allocation.

[0045] As a creative extension, a "temporary bandwidth adjustment token" mechanism can be introduced into the "bandwidth upgrade process." Considering the potential network delays between application and approval, if the CPE device detects severe traffic congestion (e.g., real-time packet loss rate exceeding a threshold), it can request a short-term, small-value "temporary upgrade token" from the cloud controller while simultaneously submitting the application. The cloud controller can quickly issue a temporary bandwidth license lower than the formally requested value but higher than the current value based on real-time global conditions. Upon receiving this token, the CPE device can immediately increase the bandwidth limit to this temporary value to alleviate immediate needs, and then make final adjustments after the formal approval instruction arrives. This mechanism enhances the ability to respond quickly to sudden congestion while maintaining overall control.

[0046] In another feasible implementation, the approval logic of the cloud controller does not have to be a simple "yes / no" decision, but can instead issue an "approval range" or "approval probability". For example, the cloud can respond with a maximum bandwidth value B_max_approved that can be increased based on the global load, allowing the CPE device to choose a final value within the range [B_current, B_max_approved] for immediate application, or respond with an approval probability P. The CPE device can generate a random number; if it is less than P, it is considered approved and B_target (or an adjusted value) can be applied immediately. This approach can introduce a certain degree of distributed flexibility into centralized control, reducing the decision-making pressure on the cloud during peak periods.

[0047] Additionally, the step of updating the bandwidth of the transmission tunnel using the calculated bandwidth value includes: The bandwidth value is divided into multiple time steps using a preset time step strategy, and the bandwidth of the transmission tunnel is updated step by step based on the time steps. Based on the bandwidth adjustment process of the transmission tunnel, the time step size of the time step strategy is dynamically adjusted according to the packet loss rate and latency changes of the transmission tunnel.

[0048] In this embodiment, the bandwidth value is divided into multiple time steps and updated gradually using a preset time step strategy. This aims to achieve a smooth transition of bandwidth changes and avoid the impact of rate jumps on transport layer protocols (especially TCP) and network queues. When a new target bandwidth limit value B_new is obtained (whether from algorithm calculation or cloud approval), the bandwidth limiting module does not immediately switch the rate limit from the current value B_old to B_new. Instead, it first calculates the total change ΔB = B_new - B_old. Then, based on a preset initial time step Δt_step (e.g., 100 milliseconds) and a single-step increment ΔB_step (e.g., 1 / 10 of the total change or a fixed value such as 1 Mbps), the entire adjustment process is decomposed into n adjustment stages, where n = ceil(|ΔB| / ΔB_step). Within each Δt_step time interval, the bandwidth limiting module adjusts the currently allowed bandwidth limit value by ΔB_step (positively or negatively), gradually approaching B_new after n steps. This method transforms a large bandwidth jump into a series of small, continuous adjustments, enabling the TCP congestion window in the network to adapt more smoothly to the new available bandwidth, reducing instantaneous micro-burst traffic caused by sudden window expansion, or timeout retransmissions caused by sudden window reduction.

[0049] Furthermore, the time step strategy is not fixed but dynamically adjusted based on the real-time performance indicators of the transmission tunnel. Specifically, during the gradual adjustment process, the terminal information collection module continuously monitors the changing trends of key quality indicators of the transmission tunnel, such as packet loss rate (Loss) and round-trip time (RTT). The dynamic adjustment algorithm judges the aggressiveness of the adjustment based on these indicators: if Loss increases significantly or RTT increases sharply during the adjustment period, it indicates that the current adjustment step may be too large, causing disturbance to the network. At this time, the system will automatically increase Δt_step (i.e., reduce the adjustment frequency) or decrease ΔB_step (i.e., reduce the single-step adjustment magnitude) to make subsequent adjustments more gradual. Conversely, if the network quality indicators remain stable or even improve during the adjustment process, Δt_step may be appropriately shortened or ΔB_step increased to accelerate the convergence to the target bandwidth. This dynamic feedback mechanism ensures that the bandwidth adjustment process can pursue both efficiency and network stability.

[0050] As a creative extension, the time step strategy can employ a non-linear adjustment curve. For example, in the initial stage of bandwidth enhancement, a small ΔB_step can be used for tentative increases to observe the network response; after confirming good network capacity in the middle stage, ΔB_step can be appropriately increased for rapid enhancement; when approaching the target value, ΔB_step can be decreased again for fine-tuning and to prevent overshoot. This "slow start-rapid growth-smooth convergence" model simulates some ideas of TCP congestion control, making it more compatible with the adaptive characteristics of network traffic. Furthermore, for the bandwidth reduction process, different default step strategies can be set, such as using a faster reduction rate to quickly release resources, but combined with packet loss rate monitoring for "emergency braking" protection.

[0051] In another feasible implementation, the gradual update process can be combined with upper-layer application or specific traffic type awareness. The bandwidth limiting module can identify different traffic queues or connection types. When bandwidth reduction is performed, priority can be given to compressing or slowing down the queue bandwidth of high-traffic background tasks that are not sensitive to latency (such as file backups), while striving to ensure that the queue bandwidth of latency-sensitive critical applications (such as VoIP and video conferencing) is not affected or only minimally affected. This differentiated adjustment strategy based on Service Level Agreements (SLAs) or traffic types enables dynamic bandwidth management to better protect the core business experience while pursuing efficiency.

[0052] Furthermore, you can also view Figure 2 , Figure 2 This is a flowchart illustrating the second embodiment of the loan dynamic control method of the present invention, based on the shown... Figure 2 Before the step of calculating the current bandwidth value of the transmission tunnel using a bandwidth control algorithm at preset bandwidth adjustment intervals in the application of the bandwidth adjustment cyclic mechanism, steps S40-50 are further included: Step S40: Collect historical traffic data within a predetermined time window of the transmission tunnel, and calculate network congestion data of the transmission tunnel based on the historical traffic data; Step S50: Adjust the weight coefficients of the weighted allocation algorithm based on the network congestion data, and use the weighted allocation algorithm with the adjusted weight coefficients to calculate the real-time demand and historical usage patterns of the transmission tunnel, thereby obtaining the initial bandwidth value of the transmission tunnel. Step S60: Set the calculated initial bandwidth value as the initial bandwidth of the transmission tunnel.

[0053] In this embodiment, before initiating the periodic bandwidth adjustment cycle, a process of analyzing historical traffic data and setting initial bandwidth for the transmission tunnel is executed. Step S40 specifically involves data acquisition and congestion assessment. The terminal information collection module collects the raw traffic data sequence of the transmission tunnel within at least one predefined, complete historical time window T_hist (e.g., the most recent 24 hours or the previous complete business cycle) at a fixed sampling period (e.g., once per second). The historical traffic data includes not only the time series of bandwidth utilization but also the round-trip delay (RTT) sequence, packet loss rate (Loss) sequence, and possible explicit congestion notification (ECN) marker counts of the transmission tunnel at the corresponding time. Based on this raw data, the calculation of network congestion data is not a single indicator but a comprehensive evaluation value. For example, the moving average and standard deviation of the RTT sequence are calculated to assess latency and jitter, the sliding window proportion of Loss is calculated to assess persistent packet loss, and the latency growth trend is correlated with packet loss events over time to generate a multi-dimensional congestion state vector or an aggregated congestion index C_index. This index quantitatively reflects the degree and pattern of network congestion experienced by the transmission tunnel during the historical observation period.

[0054] A weighted allocation algorithm with dynamically adjustable weights is employed. The core inputs of this algorithm include: the real-time bandwidth request of the transmission tunnel at the current moment (based on application layer information or short-term probes), and historical usage patterns mined from historical traffic data (such as daily / weekly periodic peaks and average baseline traffic). The weight coefficients of the weighted allocation algorithm include a real-time demand weight W_real and a historical pattern weight W_hist. The key innovation lies in the fact that the weight coefficients are not fixed but dynamically adjusted based on the network congestion data C_index calculated in step S40. Specifically, if C_index indicates severe historical congestion, the system tends to trust historical patterns more (i.e., increase W_hist and correspondingly decrease W_real) to avoid setting excessively high initial bandwidth based on potentially inaccurate instantaneous high demand, thus adopting a relatively conservative strategy in the initial stage to prevent exacerbating congestion. Conversely, if the historical congestion level is low, a higher weight is given to real-time demand (increasing W_real) to quickly respond to relevant application needs. The weighted allocation algorithm ultimately outputs a comprehensive initial bandwidth suggestion value B_init_suggested.

[0055] Additionally, the received B_init_suggested is set as the initial bandwidth rate limit value of the transmission tunnel. During this process, the initial bandwidth rate limit value is also compared with the baseline initial value I issued according to a global policy (such as the total bandwidth B divided by the maximum number of devices N), and the smaller of the two values ​​is taken as the initial bandwidth B_init_applied for the final application, thereby achieving a balance between local intelligent decision-making and global resource constraints.

[0056] As a creative extension, the mining of historical usage patterns can be incorporated into time series prediction models (such as LSTM) in machine learning. A lightweight model is trained using long-term historical data to predict the baseline bandwidth demand of the transmission tunnel in the near future. The weighted allocation algorithm uses this predicted value as input to the "prediction pattern weights," which, together with real-time demand and static historical mean, form a ternary weighted system. The dynamic adjustment of the weights is further based on prediction confidence and real-time network jitter, making the initial bandwidth setting more forward-looking and adaptable.

[0057] In another feasible implementation, the determination of the initial bandwidth value can introduce a simplified distributed negotiation phase. At the initial stage of network deployment, before requesting bandwidth from the cloud, each CPE device can exchange its calculated B_init_suggested and historical congestion index on its local area network or through a relay server. A locally coordinated initial bandwidth range is formed using a simple consensus algorithm (such as taking the median of all device suggestions or a weighted average based on historical congestion indices), and then the request is made to the cloud based on this range. This approach enables smoother initial resource allocation in a distributed architecture, reducing the coordination pressure on the cloud during the initialization phase.

[0058] Furthermore, you can also view Figure 3 , Figure 3 This is a flowchart illustrating the third embodiment of the bandwidth dynamic control method of the present invention, based on the shown... Figure 3 Before the step of responding to the network request from the cloud controller and obtaining the bandwidth cyclic adjustment strategy of the current client device based on the network request, the method further includes steps S70-80: Step S70: Obtain the network information of the current client device, and create a new bandwidth cyclic adjustment strategy for the current client device based on the network information. The sensitivity parameter of the bandwidth cyclic adjustment strategy is adjusted according to the network load status of the current transmission tunnel, and the preset bandwidth adjustment time of the transmission tunnel is set based on the sensitivity parameter. Step S80: Configure the calculation parameter weights according to the network information to obtain the bandwidth control algorithm.

[0059] In this embodiment, before responding to the cloud networking request and obtaining the specific adjustment strategy, a process for constructing and configuring a personalized bandwidth cyclic adjustment strategy for the current client device (CPE) is executed. The CPE device first parses the networking request or local configuration from the cloud controller to obtain the networking information. The networking information includes at least: the CPE device's role in the SD-WAN topology (e.g., branch, center), the associated site service type (e.g., office, retail, data center), the bandwidth package attributes purchased by the user (total bandwidth B, sharing mode, maximum authorized number N), and an initial policy template identifier that may be issued by the cloud. Based on the initial policy template identifier, the CPE device creates a bandwidth cyclic adjustment strategy framework unique to itself. The core of the bandwidth cyclic adjustment strategy framework is the sensitivity parameter S.

[0060] The initial value of the sensitivity parameter S is derived from the network topology information and is immediately fine-tuned based on the initial network load state of the transmission tunnel. For example, during the policy initialization phase, if rapid detection reveals that the current tunnel's base RTT is high or jitter is significant (even without service traffic), the "latency sensitivity" component is automatically increased, making subsequent algorithms more vigilant about latency degradation and more conservative in bandwidth adjustment decisions. Based on the finally determined sensitivity parameter S, the system dynamically sets the preset bandwidth adjustment time T_adj. The mapping relationship can be: the higher the sensitivity (indicating complex network conditions or high service requirements), the shorter T_adj is set to achieve more frequent monitoring and adjustment; the lower the sensitivity, the longer T_adj can be set to reduce system overhead. This can be achieved through a preset mapping function or a lookup table.

[0061] Specifically, the bandwidth control algorithm (such as the aforementioned tiered control algorithm) includes multiple internal calculation parameters, such as threshold values ​​for determining whether to increase or decrease bandwidth (80%, 90%), the lengths of different time windows (T_short, T_long, etc.), and constant terms in the calculation formula of the correction coefficient α. In this embodiment, these parameters are not globally uniform but are configured with weights based on the network information. Specifically, different parameter weight configuration files are predefined for different network attributes (such as service type and topology role). For example, for a CPE with a "data center" role, its algorithm parameters may be more inclined to aggressively request bandwidth to support burst traffic; for a "retail" site, more conservative parameters may be configured to ensure cost control. The CPE device loads the corresponding parameter weight configuration file according to its own network information, thereby instantiating a personalized bandwidth control algorithm instance that matches its own context.

[0062] Furthermore, you can also view Figure 4 , Figure 4This is a flowchart illustrating the fourth embodiment of the bandwidth dynamic control method of the present invention, based on the shown... Figure 4 The bandwidth dynamic control method is applied in the cloud, and the bandwidth dynamic control method includes steps S90~S110: Step S90: Send a networking command to the CPE device, and send an initial bandwidth value to the CPE device when receiving the initial bandwidth acquisition request reported by the CPE device; Step S100: In response to the bandwidth adjustment request reported by the CPE device, determine the adjusted bandwidth value of the bandwidth adjustment request; Step S110: Obtain the available bandwidth of the CPE device, and issue a bandwidth adjustment approval result to the CPE device based on the adjusted bandwidth value and the available bandwidth. If the adjusted bandwidth value is within the available bandwidth, an approval result allowing bandwidth adjustment is issued; if the adjusted bandwidth value is not within the available bandwidth, an approval result disallowing bandwidth adjustment is issued.

[0063] In this embodiment, the cloud server acts as the centralized coordination and resource arbitration hub of the network cluster, performing global management of the bandwidth lifecycle of the CPE device. Upon receiving a network configuration instruction from the user or management system, the cloud server issues a network configuration command to the target CPE device. This command includes basic network parameters required to establish a transmission tunnel (such as relay server address and authentication information), and also encapsulates the shared bandwidth network parameters, specifically including the total bandwidth quota B purchased by the user, the maximum number of authorized devices N in the current topology, and the initial baseline bandwidth calculation rule for the CPE device in shared mode (e.g., formula I = B / N). When the cloud server receives an initial bandwidth acquisition request initiated by the CPE device after tunnel establishment, its resource management module does not simply reply with the baseline value I. Instead, it first queries the current status of the topology to which the CPE device belongs, confirming that the device has successfully joined the network and has not exceeded the limit of N, and then performs a secondary calculation based on the global resource view (such as the number of currently online devices and the buffer bandwidth reserved for new devices). The final initial bandwidth value may be a fine-tuned value, for example, slightly higher than I to encourage access under low load, or slightly lower than I when near full load, to achieve a smooth introduction of resources and initial balancing of the global load.

[0064] The cloud server continuously listens for reported messages from each of the CPE devices. When a bandwidth adjustment request message is received, the request processing module of the cloud server first parses the message and extracts key fields, including but not limited to: the unique identifier of the CPE device initiating the request, the request type (increase / decrease), the target adjusted bandwidth value B_requested calculated by the CPE device based on a local algorithm, and optional local decision support information (such as the utilization threshold that triggers the adjustment, timestamp). The core of determining the adjusted bandwidth value lies in verifying the legality and consistency of B_requested, ensuring that it conforms to the predetermined bandwidth tier sequence, and associating it with its current authorized bandwidth value B_current based on the device identifier, thereby accurately understanding the magnitude and direction of the adjustment.

[0065] Before making an approval decision, the resource arbitration module of the cloud server accurately calculates the available bandwidth of the CPE device that initiated the request. This available bandwidth is not a fixed value, but rather refers to the incremental space that the device can safely use while ensuring that the total global bandwidth B is not exceeded. The calculation logic is as follows: First, aggregate the sum of the currently approved bandwidth used by all online CPE devices within the topology to which the device belongs, SUM_used. Then, calculate the global remaining bandwidth B_remaining = B - SUM_used. Finally, combining the fairness policy and device priority (which may be determined by the package level or business role), allocate a theoretically requestable quota B_quota to the device. This quota is usually less than or equal to B_remaining. The approval result generation logic is as follows: If the parsed B_requested is less than or equal to the device's current B_current, it usually means bandwidth release, the approval result is generally "allowed," and the resource pool is updated. If B_requested is greater than B_current, it is determined whether the increment (B_requested - B_current) is within the range of the available bandwidth (i.e., B_quota) calculated for the device. If yes, then issue an approval result of "bandwidth adjustment allowed" and immediately deduct the corresponding increment from the global resource pool to update the authorized bandwidth record of the device; if no, then issue an approval result of "bandwidth adjustment not allowed", which may include a suggested value (such as the maximum value that can be approved at present) or a suggested retry time.

[0066] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the bandwidth dynamic control method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.

[0067] This application provides a bandwidth dynamic control device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the bandwidth dynamic control method in the above embodiment 1.

[0068] The following is for reference. Figure 5 The diagram illustrates a structural schematic suitable for implementing the bandwidth dynamic control device in the embodiments of this application. The bandwidth dynamic control device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The bandwidth dynamic control device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0069] like Figure 5 As shown, the bandwidth dynamic control device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the bandwidth dynamic control device. The processing unit 1001, the ROM 1002, and the RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the bandwidth dynamic control device to communicate wirelessly or wiredly with other devices to exchange data. Although bandwidth dynamic control devices with various systems are shown in the figure, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems can be implemented alternatively.

[0070] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0071] The bandwidth dynamic control device provided in this application, employing the bandwidth dynamic control method described in the above embodiments, can solve the technical problem of excessive preemption of relay server bandwidth resources caused by the lack of source traffic control in existing shared bandwidth modes for CPE devices. Compared with the prior art, the beneficial effects of the bandwidth dynamic control device provided in this application are the same as those of the bandwidth dynamic control method provided in the above embodiments, and other technical features of this bandwidth dynamic control device are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0072] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

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

[0074] This application provides a storage medium, which is a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, which are used to execute the bandwidth dynamic control method in the above embodiments.

[0075] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), or any suitable combination thereof.

[0076] The aforementioned computer-readable storage medium may be included in the bandwidth dynamic control device; or it may exist independently and not assembled into the bandwidth dynamic control device.

[0077] The aforementioned computer-readable storage medium carries one or more programs, which, when executed by the bandwidth dynamic control device, enable the bandwidth dynamic control device to implement the technical content of the bandwidth dynamic control method embodiment shown above.

[0078] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0079] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0080] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.

[0081] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described bandwidth dynamic control method. This solves the technical problem of excessive bandwidth preemption of relay servers due to the lack of source traffic control in existing shared bandwidth modes for CPE devices. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the bandwidth dynamic control method provided in the above embodiments, and will not be elaborated upon here.

Claims

1. A bandwidth dynamic regulation method, characterized in that, The bandwidth dynamic regulation method applied to the CPE device comprises the following steps: Enabling a bandwidth adjustment cycle mechanism according to a currently created transmission tunnel; In the application of the bandwidth adjustment cycle mechanism, a bandwidth control algorithm is used to calculate a bandwidth value currently used by the transmission tunnel every preset bandwidth adjustment time; The bandwidth of the transmission tunnel is updated by the calculated bandwidth value, and the calculated bandwidth value is reported to a cloud server.

2. The bandwidth dynamic regulation method of claim 1, wherein, The step of updating the bandwidth of the transmission tunnel by the calculated bandwidth value comprises: If the bandwidth value is higher than a current bandwidth limiting value, the bandwidth value is reported to a cloud controller and the bandwidth of the transmission tunnel is updated based on the bandwidth value after approval is obtained; If the bandwidth value is lower than the current bandwidth limiting value, the bandwidth value is used to update the bandwidth of the transmission tunnel.

3. The bandwidth dynamic regulation method of claim 1, wherein, The step of calculating the bandwidth value currently used by the transmission tunnel every preset bandwidth adjustment time in the application of the bandwidth adjustment cycle mechanism comprises: Calculating a bandwidth adjustment time according to a current time; If the bandwidth adjustment time is greater than or equal to the preset bandwidth adjustment time, the step of calculating the bandwidth value currently used by the transmission tunnel is executed.

4. The bandwidth dynamic regulation method of claim 1, wherein, Before the step of calculating the bandwidth value currently used by the transmission tunnel every preset bandwidth adjustment time in the application of the bandwidth adjustment cycle mechanism, the following steps are further included: Collecting historical traffic data in a predetermined time window of the transmission tunnel, and calculating network congestion data of the transmission tunnel based on the historical traffic data; Calculating real-time demand and historical usage mode of the transmission tunnel by adjusting a weight coefficient of a weighted allocation algorithm based on the network congestion data, to obtain an initial bandwidth value of the transmission tunnel; The calculated initial bandwidth value is set as the initial bandwidth of the transmission tunnel.

5. The bandwidth dynamic regulation method of claim 1, wherein, The step of updating the bandwidth of the transmission tunnel by the calculated bandwidth value comprises: The bandwidth value is split into multiple time steps by a preset time step strategy, and the bandwidth of the transmission tunnel is updated gradually based on the time steps; Based on the bandwidth adjustment process of the transmission tunnel, the time step size of the time step strategy is dynamically adjusted according to the packet loss rate and delay change of the transmission tunnel.

6. The bandwidth dynamic regulation method according to any one of claims 1 to 5, wherein, The bandwidth dynamic regulation method further comprises: Obtaining networking information of a current client device, and creating a bandwidth cycle adjustment strategy for the current client device based on the networking information, wherein a sensitivity parameter of the bandwidth cycle adjustment strategy is adjusted by a network load state of a current transmission tunnel, and a preset bandwidth adjustment time of the transmission tunnel is set based on the sensitivity parameter; The bandwidth control algorithm is configured by calculating a parameter weight based on the networking information.

7. A bandwidth dynamic regulation method, characterized in that, The bandwidth dynamic regulation method applied to the cloud comprises the following steps: Downlink networking commands to CPE devices, and downlink initial bandwidth values to the CPE devices when receiving initial bandwidth acquisition requests reported by the CPE devices; In response to the bandwidth value adjustment request reported by the CPE device, determining an adjusted bandwidth value of the bandwidth value adjustment request; Obtaining the available bandwidth of the CPE device, and delivering a bandwidth adjustment approval result to the CPE device according to the adjusted bandwidth value and the available bandwidth, wherein if the adjusted bandwidth value is within the available bandwidth, an approval result of allowing bandwidth adjustment is delivered, and if the adjusted bandwidth value is not within the available bandwidth, an approval result of not allowing bandwidth adjustment is delivered.

8. A CPE device, characterized by, The CPE device comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the bandwidth dynamic regulation method according to any one of claims 1 to 6.

9. A cloud server, characterized by The cloud server comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the bandwidth dynamic regulation method according to claim 7.

10. A storage medium, characterized by The storage medium is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by the processor to implement the steps of the CPE device according to claim 8 and the cloud server according to claim 9.