Available bandwidth estimation method, system and storage medium for cloud desktop scenarios
By using a bandwidth sampler and link estimator that distributes statistical data in frame-level groups, the transmission rate is dynamically adjusted, solving the problems of low latency and high utilization in bandwidth estimation in existing technologies, and realizing high-precision and high-throughput bandwidth estimation in cloud desktop scenarios.
Patent Information
- Application Number
- CN202411737729.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-11-29
AI Technical Summary
In existing technologies, deep learning-based bandwidth estimation algorithms suffer from high computational latency in dynamic network environments, making it difficult to meet real-time requirements. Heuristic algorithms, on the other hand, have low bandwidth utilization in complex or highly volatile network environments, making it difficult to achieve high-precision and high-throughput bandwidth estimation.
A bandwidth sampler based on frame-level packet distributed statistics is used to capture link state information. Combined with a link evaluator and an adaptive module, the transmission rate is dynamically adjusted. Both aggressive and conservative adjustment strategies are adopted to achieve high-precision bandwidth estimation.
While ensuring low latency, it improves link utilization and bandwidth estimation accuracy, achieves high-throughput data transmission, and avoids network congestion and resource waste.
Smart Images

Figure CN119561874B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of available bandwidth estimation technology for cloud desktops, and more specifically, to a method, system, and storage medium for estimating available bandwidth in cloud desktop scenarios. Background Technology
[0002] Currently, with the increasing popularity of applications such as real-time interactive video transmission and cloud desktops, online courses and online office meetings have seen unprecedented promotion. Network communication continues to develop steadily, network infrastructure is becoming increasingly sophisticated, emerging businesses such as cloud computing and big data are experiencing rapid growth, the number of IoT users has exceeded 2.3 billion, and the number of 5G base stations has reached 3.377 million. Looking ahead, with the further promotion of 5G and 6G mobile communication technologies, and the widespread application of new data transmission applications such as 3D volumetric video interaction technology and remote robot collaboration technology, more precise network bandwidth estimation will be required.
[0003] Bandwidth estimation algorithms can be categorized into deep learning-based and heuristic algorithms. Deep learning-based bandwidth estimation algorithms use neural networks and system models to estimate available network bandwidth. Through training on large amounts of offline data, the model can often learn the latent characteristics of the links, thus achieving high-precision estimation of available bandwidth. These algorithms have strong generalization ability and high bandwidth utilization, but often suffer from high overhead, high latency, and poor robustness. Furthermore, they inevitably require a large amount of data for pre-training. This clearly cannot meet the requirements of low latency and fast startup for real-time interactive data transmission in cloud desktop scenarios. Therefore, this invention focuses on heuristic bandwidth estimation algorithms. Traditional heuristic bandwidth estimation algorithms typically rely on rules of thumb and prior knowledge, summarizing patterns in bandwidth usage from historical data to form general rules for bandwidth estimation. They deduce bandwidth changes at the current moment based on statistical characteristics in specific network scenarios, such as time, user behavior patterns, latency, and packet loss rate. Heuristic bandwidth estimation algorithms have low overhead and high computational efficiency, but to avoid congestion, they often employ more conservative strategies, resulting in lower accuracy and bandwidth utilization. The WebRTC GCC (Google congestion control) algorithm proposed by G Carlucc et al. is mainly based on latency-based congestion detection and uses adaptive control strategies to optimize packet transmission rate. However, when the link range changes rapidly, the convergence speed of this algorithm is often slow, which is obviously insufficient to meet the growing network demands and the requirements for high-precision, low-latency user experience. Therefore, the focus of this invention is how to improve link utilization and achieve a high-precision, high-throughput bandwidth estimation algorithm while ensuring the lightweight and low-latency advantages of heuristic algorithms.
[0004] For cloud desktop scenarios, available bandwidth estimation faces several challenges. First, the real-time interactive data transmission and collaboration necessitate low-latency communication between the transmitting and receiving ends. Second, the dynamic changes in network link states are more complex than in static networks, requiring the system to understand the relationship between network load and actual available bandwidth at each moment after capturing network status in real time. Simultaneously, the system must adopt optimal transmission strategies for different network conditions to maximize bandwidth utilization while avoiding congestion. N Cardwell et al. proposed the BBR (Bottleneck Bandwidth and Round-trip Propagation Time) algorithm, which establishes a congestion control mechanism based on bandwidth and latency estimation by comprehensively considering bottleneck bandwidth and round-trip propagation time. It continuously estimates and adjusts to ensure network utilization is close to the maximum available bandwidth, thus avoiding queuing phenomena in traditional congestion control algorithms. However, due to periodically limiting transmission to probe available bandwidth, it can cause high latency during the minRTT probe period.
[0005] In summary, at least one of the following technical problems exists:
[0006] While deep learning-based bandwidth estimation algorithms have advantages in estimation accuracy and generalization ability, the complexity of dynamic network environments places higher demands on the amount of data, and their complex computational models lead to high computational latency and resource consumption, making it difficult to meet the real-time requirements of cloud desktop scenarios.
[0007] Heuristic bandwidth estimation algorithms, relying on empirical rules and statistical properties, are computationally efficient and resource-efficient. However, in complex or highly volatile network environments, they often employ conservative estimation methods, thus reducing bandwidth utilization. Their accuracy is relatively insufficient, making it difficult to fully utilize the available network bandwidth. Most congestion control algorithms conflict between bandwidth utilization and congestion control, making it difficult to completely eliminate high latency during bandwidth probing.
[0008] How can we improve link utilization and achieve a high-precision, high-throughput bandwidth estimation algorithm while ensuring the lightweight and low-latency advantages of heuristic algorithms? Summary of the Invention
[0009] The main objective of this invention is to provide a method, system, and storage medium for estimating available bandwidth in cloud desktop scenarios, in order to solve the problem of how to improve link utilization and achieve high-precision, high-throughput bandwidth estimation algorithms while ensuring the advantages of lightweight and low-latency heuristic algorithms.
[0010] To achieve the above objectives, according to one aspect of the present invention, a method for estimating available bandwidth for cloud desktop scenarios is provided, comprising:
[0011] Step 1: Bandwidth sampling, capturing the link status at the current moment and performing statistical analysis;
[0012] Step 2: Link assessment, estimating the current available bandwidth and guiding the video encoder based on the link assessment results;
[0013] Step 3: Adjust the feedback and adjust the sending rate to match the current link's load capacity.
[0014] Preferably, step 1 includes: constructing a bandwidth sampler to capture the network state at the current moment, inputting the captured link state information into a link evaluator, and generating bandwidth sampling results; step 2 includes: using a link evaluator with frame-level packet distributed statistical data to analyze the relationship between the link bandwidth sampling value at each moment and the existing transmission strategy, accurately determining the saturation state of the current link, discovering hidden link features, and inputting the results into an adaptive module; step 3 includes: the adaptive module autonomously selecting the optimal transmission strategy adjustment method based on the specific network results of the link evaluation and the estimated available bandwidth value, so that the transmission rate at the next moment matches the actual available bandwidth.
[0015] Preferably, the core objective of the bandwidth sampler is to acquire link status information and discover additional available bandwidth by dispersing statistical data through frame-level grouping, thereby maximizing bandwidth utilization.
[0016] Preferably, in step 1, the bandwidth sampler based on frame-level packet dispersion statistics is used to sample the current transmission bit rate to obtain the bandwidth sample value S and the small frame sample value S. small The specific calculation method is as follows:
[0017] Bandwidth sample value
[0018] Where F is the frame size, S last and S start These represent the actual transmission times of the first and last sub-frames split from each complete frame, respectively.
[0019] The small frame sample value is the average transmission rate of multiple small frames.
[0020]
[0021] Among them F small Indicates the data size of each small frame, Send i and Send i-1 These represent the actual transmission times of the current small frame and the previous small frame, respectively.
[0022] Preferably, in step 2, the bandwidth sampling value S and the small frame sampling value S are used. small And the current transmission rate B = F / I, to evaluate the current link state, specifically including three conditions:
[0023] Condition 1: C1 = S / S small Condition 2: C2 = S / B, Condition 3: C3 = S small / αβ
[0024] Where α is the sensitivity adjustment coefficient. If any condition C1, C2 or C3 is less than 1, the link is determined to be in a saturated state, and the feedback flag P is set to 0. Otherwise, it is in an undersaturated state, and the feedback flag P is set to 1.
[0025] Preferably, in step 3, based on the feedback results of the link assessment, the system adjusts the transmission rate according to the continuity of the current state:
[0026] When the link is in a saturated or undersaturated state multiple times in a row, the current sending rate is obviously mismatched with the actual network bandwidth. At this time, a more aggressive jump adjustment method is adopted, which is to significantly reduce the sending rate in the saturated state to avoid link congestion, and to quickly inject traffic to fill the link bandwidth in the undersaturated state.
[0027] When saturation and undersaturation alternate, the link load fluctuates greatly, and the transmission rate is close to the actual available bandwidth. A conservative linear adjustment strategy is adopted to balance the load through small-amplitude linear adjustments to avoid drastic rate fluctuations.
[0028] Preferably, bandwidth estimation and rate adjustment record the bandwidth sample value S when the link is in a saturated state. list and small frame sample value S small_list By calculating the average of the sampled values, the current available bandwidth can be obtained as follows:
[0029] min(average(S list ), average(S small_list ))
[0030] Based on the estimated available bandwidth, the system can quickly adjust to a transmission rate that matches the actual bandwidth when in an oversaturated state, thus ensuring high bandwidth utilization while avoiding link congestion.
[0031] Preferably, the link status recording and cleanup optimizes bandwidth utilization. After each link evaluation, the system adds the current feedback result to the feedback list, and simultaneously adds the bandwidth sample value and small frame sample value to S. list and S small_listIn the process, when the list length reaches a specified threshold, the system cleans up old data based on the latest link evaluation results and retains the latest status information for the next step of decision-making.
[0032] According to another aspect of the present invention, an available bandwidth estimation system for cloud desktop scenarios is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the program, implements the steps of the method according to any one of claims 1-8.
[0033] According to another aspect of the present invention, a storage medium for estimating available bandwidth for cloud desktop scenarios is provided, comprising: storing a computer program thereon, characterized in that the program, when executed by a processor, implements the steps of the method according to any one of claims 1-8.
[0034] The technical solution of this invention has the following technical effects:
[0035] A frame-level bandwidth sampler is used to capture the transmission time interval of each packet frame. By capturing the link hidden features through the delay changes of transmission queuing, it does not depend on specific network conditions, can flexibly and quickly adapt to changes in network conditions, and provide more accurate bandwidth estimation.
[0036] By dispersing statistical data through frame-level grouping, additional available bandwidth can be discovered, thereby maximizing bandwidth utilization.
[0037] The bandwidth sampler dynamically adjusts between frames based on estimated network conditions and available bandwidth. By analyzing the distribution statistics of frame-level packets—that is, the transmission intervals of multiple small frames—the bandwidth sampler can discover additional available bandwidth on the link. A bandwidth sample value is generated when each complete frame group is transmitted. By comparing and analyzing the transmission intervals of the small frames in the current complete frame, the trend of link state changes during the transmission of this complete frame can be inferred.
[0038] Configure the link evaluator to be highly sensitive to congestion.
[0039] By flexibly applying aggressive and conservative adjustment modes in the transmission strategy, the efficiency and stability of network transmission can be effectively balanced, avoiding resource waste and coping with sudden network conditions, and preventing network congestion caused by excessive adjustments.
[0040] By combining linear and skip adjustment modes, a dynamic adjustment mechanism can flexibly respond to network fluctuations under different network conditions. When the network load is relatively stable, the linear adjustment mode can smoothly adjust the transmission rate to maintain high network utilization. When significant changes occur in network conditions, the skip adjustment mode can react quickly to avoid bandwidth waste or congestion, ensuring efficient and stable data transmission. Attached Figure Description
[0041] The accompanying drawings, which form part of this application, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an undue limitation of the invention. In the drawings:
[0042] Figure 1 A flowchart of the available bandwidth estimation method for cloud desktop scenarios according to the present invention is shown;
[0043] Figure 2 Shown Figure 1 A schematic diagram of the overall communication framework for the available bandwidth estimation method for cloud desktop scenarios;
[0044] Figure 3 Shown Figure 1 The overall flowchart of the available bandwidth estimation method for cloud desktop scenarios;
[0045] Figure 4 Shown Figure 1 The link state diagram captured by the bandwidth sampler in the available bandwidth estimation method for cloud desktop scenarios;
[0046] Figure 5 Shown Figure 1 A link estimator model diagram for available bandwidth estimation methods in cloud desktop scenarios;
[0047] Figure 6 Shown Figure 1 A linear adjustment model diagram of the available bandwidth estimation method for cloud desktop scenarios;
[0048] Figure 7 Shown Figure 1 A jump adjustment model diagram for available bandwidth estimation methods in cloud desktop scenarios;
[0049] Figure 8 Shown Figure 1 A feedback probing model diagram for available bandwidth estimation methods in cloud desktop scenarios;
[0050] Figure 9 Shown Figure 1 A bandwidth sampling model diagram for available bandwidth estimation methods in cloud desktop scenarios. Detailed Implementation
[0051] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present invention will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0052] like Figures 1 to 9 As shown, this embodiment of the invention provides a method for estimating available bandwidth for cloud desktop scenarios, including: Step 1: Bandwidth sampling, capturing the link status at the current moment and performing statistical analysis; Step 2: Link evaluation, estimating the current available bandwidth value and guiding the video encoder based on the link evaluation results; Step 3: Adjustment feedback, adjusting the transmission rate to match the current link load capacity.
[0053] In this embodiment, the current link status is captured and statistically analyzed to estimate the current available bandwidth. Based on the link evaluation results, the video encoder is guided to adjust the transmission rate to match the current link's load capacity. This mainly includes the following three parts:
[0054] First, a bandwidth sampler is constructed to capture the network state at the current moment. The captured link state information is then input into the link evaluator to generate bandwidth sampling results.
[0055] Second, the link estimator, which utilizes frame-level group distributed statistical data, analyzes the relationship between the link bandwidth sample value at each moment and the existing transmission strategy to accurately determine the current link saturation state, discover hidden link features, and input them into the adaptive module.
[0056] Third, the adaptive module autonomously selects the optimal transmission strategy adjustment method based on the specific network results of the link assessment and the estimated available bandwidth value, so that the transmission rate at the next moment matches the actual available bandwidth.
[0057] This embodiment describes a low-latency, high-precision adaptive bandwidth estimation method based on frame-level grouped distributed statistical data. This method comprises three main parts:
[0058] First, a bandwidth sampler based on frame-level packet dispersion statistics.
[0059] First, in order to address the problems of low bandwidth utilization, poor accuracy, and weak generalization ability of traditional heuristic algorithms, while retaining the advantages of low latency and low overhead, this invention uses a frame-level bandwidth sampler to capture the transmission time interval of each packet frame. By capturing the link hidden features through the latency changes of transmission queuing, it does not depend on specific network conditions, can flexibly and quickly adapt to changes in network conditions, and provide more accurate bandwidth estimation.
[0060] The core objective of a bandwidth sampler is to acquire link state information and discover additional available bandwidth by distributing statistical data through frame-level grouping, thereby maximizing bandwidth utilization. For an application that generates frames for data transmission at a fixed frame rate, sending a frame of size F at fixed time intervals I, the average frame transmission rate can be expressed as:
[0061] B = F / I
[0062] Where B represents the average frame transmission rate; F represents the size of a single data transmission; and I represents each fixed time interval.
[0063] Based on this, each frame is divided into multiple smaller frames for transmission, and the transmission time of each smaller frame is set to be completed within a time interval I. When the current bandwidth is not fully utilized or is just fully utilized, the link is in an undersaturated or just saturated state, and no additional transmission queuing or congestion occurs between frames. In this case, the smaller frames can be transmitted completely before the next frame arrives, so the smaller frames split from the previous complete frame will not affect the original transmission plan of the next frame. When the bandwidth exceeds its carrying capacity, that is, the frame transmission rate exceeds the bandwidth carrying capacity of the link, the link is in an oversaturated state, and congestion occurs between frames, resulting in additional transmission queuing delays. At this time, the smaller frames at the current moment will experience transmission lag because the smaller frames at the previous moment were not completely transmitted.
[0064] The bandwidth sample collected at each moment during end-to-end transmission can be expressed by the following formula:
[0065]
[0066] Among them, S last and S start Let S represent the actual transmission times of the first and last subframes split from each complete frame, respectively. Therefore, the actual transmission time of each complete frame is S. last -S start S represents the bandwidth sample value; F represents the size of a single data transmission.
[0067] When the link is undersaturated, since there is no transmission queuing, the bandwidth sample value S will be greater than the average transmission code rate B, which is greater than the link's throughput at that moment, allowing the code rate to be increased. However, when the link is oversaturated, transmission lag occurs, and due to transmission queuing, the bandwidth sample value S will be less than the average transmission code rate B. On the other hand, due to data congestion at the sending end, the data queue consumption rate will equal the actual available bandwidth, and the bandwidth sample value will then equal the actual available bandwidth.
[0068] One advantage of this design is its ability to dynamically adjust between frames based on estimated network conditions and available bandwidth. By analyzing the dispersion statistics of frame-level packets—that is, the transmission intervals of multiple small frames—the bandwidth sampler can discover additional available bandwidth on the link. Another advantage is that a bandwidth sample value can be generated after each complete frame group has been transmitted. By comparing and analyzing the transmission intervals of small frames in the current complete frame, the trend of link state changes during the transmission of this complete frame can be inferred, denoted as the small frame sample value, which represents the average transmission rate of small frames during that complete frame period.
[0069]
[0070] Among them, F small Indicates the data size of each small frame, Send i and Send i-1 These represent the actual transmission times of the current small frame and the previous small frame, respectively. The transmission is achieved by capturing the link change trend during the transmission of this complete frame, i.e., the bandwidth sample value S and the small frame sample value S. small The current complete frame's transmission rate B can be passed to the link evaluation module for corresponding network status evaluation and transmission rate adjustment.
[0071] Second, a link evaluator is built to identify potential network congestion and link characteristics.
[0072] Based on the aforementioned bandwidth sampler, this invention further includes bandwidth sample value S and small frame sample value S captured during the transmission of a complete frame. small The transmission rate B of the complete frame is analyzed to assess the saturation state of the current link and the actual network load capacity, thereby maximizing network bandwidth utilization.
[0073] Specifically, the main function of the link estimator is to accurately assess the match between the actual load capacity and transmission throughput of the current link. During this process, the bandwidth sampler provides captured link state information, including bandwidth sample values and small frame sample values. By comparing the bandwidth sample values, small frame sample values, and transmission rate, the link estimator can determine whether the current link has reached its maximum available bandwidth and whether the link is saturated. Link evaluation is typically performed at the end of each complete frame transmission, and the results of each evaluation are recorded. Ultimately, the trend of the link estimator's results can provide a basis and guidance for adaptively adjusting the data transmission rate.
[0074] The link evaluation module can obtain the following three conditions by analyzing bandwidth sample values:
[0075] Condition 1: C1 = S / S small Condition 2: C2 = S / B, Condition 3: C3 = S small / αB
[0076] Where α is the link congestion sensitivity adjustment coefficient, used to balance the sensitivity during the assessment process.
[0077] Specifically, considering that in practical applications, data congestion has a more significant impact on user experience than low throughput, the link evaluator is configured to be highly sensitive to congestion. If any condition C1, C2, or C3 is less than 1, the evaluation module will determine that the current link is in a saturated or oversaturated state, meaning that the current link's load capacity is insufficient to handle the real-time data stream. In other words, the link's bandwidth is close to or exceeds its actual carrying capacity, leading to potential queue backlogs and data delays. Conversely, if all conditions are greater than or equal to 1, the link evaluator considers the link to be in an undersaturated state, meaning that the link's load capacity is not fully utilized, and there is available bandwidth redundancy.
[0078] Simultaneously, after each bandwidth sampling, the current link is evaluated, with the evaluation results including both saturated and unsaturated states. If the link continuously exhibits multiple saturated or unsaturated states, it indicates a severe mismatch between the current bitrate and the network, and a more aggressive adjustment strategy is adopted to quickly adapt to changes in network conditions. If the current link alternates between saturated and unsaturated states, a more conservative adjustment strategy is used. This conservative strategy helps avoid link congestion caused by over-adjustment, thereby maintaining data transmission stability. By flexibly applying adjustment strategies based on the link status evaluation results, network resource utilization can be better optimized, transmission efficiency improved, and the risk of network congestion reduced.
[0079] Third, the transmission rate is dynamically adjusted according to the network conditions.
[0080] Based on the aforementioned bandwidth sampler and link estimator, this invention employs two different adjustment methods to regulate the current transmission rate. In a real-world network environment, if there is a significant gap between the estimated available bandwidth and the actual transmission rate, a more aggressive transmission strategy adjustment method, namely jump adjustment, is typically used to maximize bandwidth utilization. The purpose of this strategy is to quickly adapt to current link conditions and fully utilize unused bandwidth resources. If the gap between the estimated available bandwidth and the current transmission rate is small, the volatility of the real-world network needs to be considered. In this case, the link status, especially the link saturation level, and the current transmission rate should be comprehensively evaluated. To avoid link congestion caused by an overly aggressive adjustment strategy, a more conservative transmission strategy adjustment mode, namely linear adjustment, is preferable. This conservative strategy aims to reduce the risk of performance degradation caused by network fluctuations or sudden congestion, ensuring the stability of the transmission process. By flexibly applying aggressive and conservative adjustment modes in the transmission strategy, the efficiency and stability of network transmission can be effectively balanced, avoiding resource waste while responding to sudden network conditions and preventing network congestion caused by over-adjustment.
[0081] Specifically, in linear adjustment mode, the transmission rate is adjusted gradually. After each link evaluation, the algorithm linearly increases or decreases the transmission rate based on the current link status to ensure that the data transmission rate matches the network's load capacity. This method is relatively smooth and suitable for use when network fluctuations are small, to avoid sudden adjustments interfering with the link. In contrast, in jump adjustment mode, the transmission rate is adjusted more rapidly and aggressively. When the link is continuously undersaturated, it means that the current transmission rate is significantly lower than the network's actual carrying capacity, failing to fully utilize available bandwidth. Therefore, the algorithm significantly increases the transmission rate by rapidly injecting more traffic, allowing the link to reach saturation as quickly as possible, thereby maximizing bandwidth utilization. When the link is continuously oversaturated, it indicates that the current transmission rate is significantly higher than the link's actual load capacity, leading to congestion. In this case, the algorithm needs to quickly reduce the transmission rate to avoid further congestion. To accurately estimate available bandwidth, the algorithm calculates bandwidth samples and small frame samples recorded under multiple link saturation states. The estimated available bandwidth can be calculated using the following formula:
[0082] min(average(S list ), average(S small_list ))
[0083] Among them, S list and S small_list The bandwidth sample values and small frame sample values are recorded under multiple link saturation states, and the transmission rate is finally adjusted based on the estimated available bandwidth value.
[0084] Among them, S list S represents the list of bandwidth sample values recorded under link saturation conditions. small_list This is the list of corresponding small frame sample values. By calculating the average of these values, a relatively conservative estimate of the available bandwidth under the current network conditions can be obtained. Based on this estimate, the algorithm will adjust the transmission rate to better match the actual load capacity of the link.
[0085] This dynamic adjustment mechanism, combining linear and skip adjustment modes, can flexibly respond to network fluctuations under different network conditions. When network load is relatively stable, the linear adjustment mode smoothly adjusts the transmission rate, maintaining high network utilization. When significant changes occur in network conditions, the skip adjustment mode reacts quickly, avoiding bandwidth waste or congestion and ensuring efficient and stable data transmission.
[0086] According to another aspect of the present invention, an available bandwidth estimation system for cloud desktop scenarios is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the program, implements the steps of the method according to any one of claims 1-8.
[0087] According to another aspect of the present invention, a storage medium for estimating available bandwidth for cloud desktop scenarios is provided, comprising: storing a computer program thereon, characterized in that the program, when executed by a processor, implements the steps of the method according to any one of claims 1-8.
[0088] like Figure 2 As shown, this invention deploys the available bandwidth estimation method at the transmitting end, and the specific flowchart is as follows. Figure 3 As shown, this invention proposes an available bandwidth estimation method based on frame-level bandwidth sampling, aiming to maximize bandwidth utilization and reduce congestion by dynamically adjusting the transmission rate through real-time assessment of network status. The method mainly includes the following steps:
[0089] S1: Sampling the bandwidth at the current transmission rate.
[0090] First, during transmission, the data of each complete frame is split into multiple smaller frames for transmission. A bandwidth sampler based on frame-level grouping distribution statistics is used to sample the bandwidth of the current transmission bitrate, obtaining the bandwidth sample value S and the smaller frame sample value Si. small The specific calculation method is as follows:
[0091] Bandwidth sample value Where F is the frame size, S last and S startThese represent the actual transmission times of the first and last sub-frames within each complete frame, respectively. The sub-frame sample value represents the average transmission rate of multiple sub-frames. Among them F small Indicates the data size of each small frame, Send i and Send i-1 These represent the actual transmission times of the current small frame and the previous small frame, respectively.
[0092] S2: The link evaluator performs the evaluation and judgment.
[0093] Through bandwidth sample value S and small frame sample value S small And the current transmission rate B = F / I, to assess the current link status. Specifically, this includes three conditions:
[0094] Condition 1: C1 = S / S small Condition 2: C2 = S / b, Condition 3: C3 = S small / αB
[0095] Where α is the sensitivity adjustment coefficient. If any condition C1, C2 or C3 is less than 1, the link is determined to be in a saturated state, and the feedback flag P is set to 0. Otherwise, it is in an undersaturated state, and the feedback flag P is set to 1.
[0096] S3: Adaptive adjustment strategy.
[0097] Based on the feedback from link assessment, the system adjusts the transmission rate according to the continuity of the current state. When the link is repeatedly in a saturated or undersaturated state, it means that the current transmission rate is significantly mismatched with the actual network bandwidth. In this case, a more aggressive jump adjustment method is adopted, specifically: significantly reducing the transmission rate in the saturated state to avoid link congestion, and rapidly injecting traffic to fill the link bandwidth in the undersaturated state. When saturation and undersaturation states alternate, it indicates that the link load fluctuates greatly and the transmission rate is close to the actual available bandwidth. A conservative linear adjustment strategy is adopted, using small linear adjustments to balance the load and avoid drastic rate fluctuations.
[0098] S4: Bandwidth estimation and rate regulation.
[0099] When the link is oversaturated, in order to more accurately assess the available bandwidth, the transmission rate is reduced to match the actual network conditions. The bandwidth sample value S when the link is in a saturated state is recorded. list and small frame sample value S small_list By calculating the average of the sampled values, the current available bandwidth can be obtained as follows:
[0100] min(averagr(S list), average(S small_list ))
[0101] Based on the estimated available bandwidth, the system can quickly adjust to a transmission rate that matches the actual bandwidth when in an oversaturated state, thus ensuring high bandwidth utilization while avoiding link congestion.
[0102] S5: Link status recording and cleanup.
[0103] To optimize bandwidth utilization, the system adds the current feedback result P to the feedback list P after each link assessment. list In the process, both the bandwidth sample value and the small frame sample value are added to S respectively. list and S small_list In the middle. When the list length reaches a specified threshold, the system will promptly clean up old data based on the latest link evaluation results, retaining the latest status information for the next step of decision-making.
[0104] As can be seen from the above description, the embodiments of the present invention achieve the following technical effects:
[0105] A frame-level bandwidth sampler is used to capture the transmission time interval of each packet frame. By capturing the link hidden features through the delay changes of transmission queuing, it does not depend on specific network conditions, can flexibly and quickly adapt to changes in network conditions, and provide more accurate bandwidth estimation.
[0106] By dispersing statistical data through frame-level grouping, additional available bandwidth can be discovered, thereby maximizing bandwidth utilization.
[0107] The bandwidth sampler dynamically adjusts between frames based on estimated network conditions and available bandwidth. By analyzing the distribution statistics of frame-level packets—that is, the transmission intervals of multiple small frames—the bandwidth sampler can discover additional available bandwidth on the link. A bandwidth sample value is generated when each complete frame group is transmitted. By comparing and analyzing the transmission intervals of the small frames in the current complete frame, the trend of link state changes during the transmission of this complete frame can be inferred.
[0108] Configure the link evaluator to be highly sensitive to congestion.
[0109] By flexibly applying aggressive and conservative adjustment modes in the transmission strategy, the efficiency and stability of network transmission can be effectively balanced, avoiding resource waste and coping with sudden network conditions, and preventing network congestion caused by excessive adjustments.
[0110] By combining linear and skip adjustment modes, a dynamic adjustment mechanism can flexibly respond to network fluctuations under different network conditions. When the network load is relatively stable, the linear adjustment mode can smoothly adjust the transmission rate to maintain high network utilization. When significant changes occur in network conditions, the skip adjustment mode can react quickly to avoid bandwidth waste or congestion, ensuring efficient and stable data transmission.
[0111] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for estimating available bandwidth for cloud desktop scenarios, characterized in that, include: Step 1: Bandwidth sampling, capturing the link status at the current moment and performing statistical analysis; Step 2: Link assessment, estimating the current available bandwidth and guiding the video encoder based on the link assessment results; Step 3: Adjust the feedback and the sending rate to match the current link's load capacity; Step 1 includes: constructing a bandwidth sampler to capture the network state at the current moment, inputting the captured link state information into a link evaluator, and generating bandwidth sampling results; Step 2 includes: using a link evaluator with frame-level packet distributed statistical data to analyze the relationship between the link bandwidth sampling value at each moment and the existing transmission strategy, accurately determining the saturation state of the current link, discovering hidden link features, and inputting the results into an adaptive module; Step 3 includes: the adaptive module autonomously selecting the optimal transmission strategy adjustment method based on the specific network results of the link evaluation and the estimated available bandwidth value, so that the transmission rate at the next moment matches the actual available bandwidth; In step 1, the bandwidth sampler based on frame-level packet dispersion statistics is used to sample the current transmission bit rate and obtain the bandwidth sample value. and small frame sample values The specific calculation method is as follows: Bandwidth sample value , Where F is the frame size and These represent the actual transmission times of the first and last sub-frames split from each complete frame, respectively. The small frame sample value is the average transmission rate of multiple small frames. in This indicates the data size of each small frame. and These represent the actual transmission times of the current small frame and the previous small frame, respectively. In step 2, the bandwidth sampling value is used. and small frame sample values and the current transmission rate Assess the current link status, which includes three conditions: Condition 1: , Condition 2: , Condition 3: in, This is the sensitivity adjustment coefficient; if any condition... , or If the value is less than 1, the link is determined to be in a saturated state, and the feedback flag P is set to 0. Conversely, if the value is greater than 1, the link is in an undersaturated state, and the feedback flag P is set to 1. In step 3, based on the feedback results of the link assessment, the system adjusts the transmission rate according to the continuity of the current state: When the link is in a saturated or undersaturated state multiple times in a row, the current sending rate is obviously mismatched with the actual network bandwidth. At this time, a more aggressive jump adjustment method is adopted, which is to significantly reduce the sending rate in the saturated state to avoid link congestion, and to quickly inject traffic to fill the link bandwidth in the undersaturated state. When saturation and undersaturation alternate, the link load fluctuates greatly, and the transmission rate is close to the actual available bandwidth. A conservative linear adjustment strategy is adopted to balance the load through small-amplitude linear adjustments to avoid drastic rate fluctuations. Bandwidth estimation and rate adjustment: Recording bandwidth samples when the link is in saturation. and small frame sample values By calculating the average of the sampled values, the current available bandwidth can be obtained as follows: Based on the estimated available bandwidth, the system can quickly adjust to a transmission rate that matches the actual bandwidth when in an oversaturated state, thus ensuring high bandwidth utilization while avoiding link congestion. Link status recording and cleanup optimize bandwidth utilization. After each link assessment, the system adds the current feedback result to the feedback list, and simultaneously adds the bandwidth sample value and small frame sample value to the [list of data]. and In the process, when the list length reaches a specified threshold, the system cleans up old data based on the latest link evaluation results and retains the latest status information for the next step of decision-making.
2. The available bandwidth estimation method for cloud desktop scenarios as described in claim 1, characterized in that, The core objective of the bandwidth sampler is to acquire link status information and discover additional available bandwidth by dispersing statistical data through frame-level grouping, thereby maximizing bandwidth utilization.
3. A system for estimating available bandwidth for cloud desktop scenarios, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1-2.
4. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method according to any one of claims 1-2.
Citation Information
Patent Citations
Link bandwidth estimation method and device, equipment, storage medium and program product
CN116546276A
Bandwidth estimation method and device, electronic equipment and storage medium
CN118075149A