Bandwidth estimation method, device, electronic device, and storage medium

The adaptive two-phase bandwidth estimation method addresses inaccuracy and network disruption by using historical code rates for padding data packets, achieving accurate and minimally disruptive network capacity assessment during congestion.

JP2025535551AActive Publication Date: 2025-10-24DOUYIN VISION CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025525723
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-28
Filing Date
2024-02-08
Publication Date
2025-10-24
Estimated Expiration
2044-02-08

AI Technical Summary

Technical Problem

Existing bandwidth estimation methods during network congestion are inaccurate and cause significant impact on the network due to excessive padding data transmission, leading to delays and packet losses.

Method used

Adaptive bandwidth estimation method involving two phases: transmitting a first padding data packet at a historical code rate during a first time period, detecting the bandwidth, then transmitting a second packet at a code rate corresponding to the detected bandwidth during a second time period, and determining the maximum bandwidth across both periods.

Benefits of technology

Accurately estimates bandwidth while minimizing network disruption by reducing the impact of padding data packets, ensuring timely and precise network capacity assessment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025535551000001_ABST
    Figure 2025535551000001_ABST
Patent Text Reader

Abstract

The present disclosure provides a bandwidth estimation method, an apparatus, an electronic device, and a storage medium, the bandwidth estimation method including the steps of: in response to determining that network congestion has occurred, transmitting a first padding data packet at a first code rate within a first time period, where the first code rate is a code rate corresponding to a historical estimated bandwidth; detecting a first bandwidth of the network based on the first padding data; transmitting a second padding data packet at a second code rate within a second time period after the first time period, where the second code rate is a code rate corresponding to the first bandwidth, and the sum of the first time period and the second time period is a network congestion detection time length; and determining the maximum value of the bandwidth detected within the network congestion detection time length as the network bandwidth.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority from Chinese Patent Application No. 202310196061.9, filed on February 28, 2023, the entire contents of which are hereby incorporated by reference.

[0002] The present disclosure relates to a bandwidth estimation method, device, electronic device, and storage medium. [Background technology]

[0003] When a network suddenly becomes congested, it is necessary to accurately estimate the network capacity at that time. Usually, the current network bandwidth can be estimated by sending redundant data packets. However, the accuracy of this bandwidth estimation method is relatively low. Summary of the Invention [Means for solving the problem]

[0004] The disclosed embodiments provide a bandwidth estimation method, device, electronic device, and storage medium, which can solve the problems encountered in bandwidth estimation in the related art.

[0005] According to a first aspect, there is provided a method for estimating bandwidth, the method including the steps of: in response to determining that network congestion has occurred, transmitting a first padding data packet at a first code rate within a first time period, the first code rate being a code rate corresponding to a historical estimated bandwidth; detecting a first bandwidth of the network based on the first padding data; transmitting a second padding data packet at a second code rate within a second time period after the first time period, the second code rate being a code rate corresponding to the first bandwidth, the sum of the first time period and the second time period being a network congestion detection time period; and determining a maximum value of the bandwidth detected within the network congestion detection time period as the bandwidth of the network.

[0006] According to a second aspect, there is provided a bandwidth estimation apparatus, the apparatus comprising: a first transmission module for transmitting a first padding data packet at a first code rate within a first time period in response to determining that network congestion has occurred, the first code rate being a code rate corresponding to a historical estimated bandwidth; a detection module for detecting a first bandwidth of the network based on the first padding data; a second transmission module for transmitting a second padding data packet at a second code rate within a second time period after the first time period, the second code rate being a code rate corresponding to the first bandwidth, the sum of the first time period and the second time period being a network congestion detection time period; and a determination module for determining a maximum value of the bandwidth detected within the network congestion detection time period as the bandwidth of the network.

[0007] According to a third aspect, there is provided an electronic device, the electronic device including a processor, a memory, and a program or instructions stored in the memory and executable by the processor, the program or instructions, when executed by the processor, implementing the steps set forth in the first aspect.

[0008] According to a fourth aspect, there is provided a readable storage medium having stored thereon a program or instructions which, when executed by a processor, implements the steps of the method according to the first aspect.

[0009] According to a fifth aspect, there is provided a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being adapted to execute a program or instruction and to implement the steps of the method according to the first aspect.

[0010] In the disclosed embodiment, a network congestion detection time period is divided into a first time period and a second time period, a first padding data packet is transmitted at a first code rate during the first time period, the first code rate being a code rate corresponding to a historically estimated bandwidth, and a first network bandwidth is detected based on the first padding data packet. A second padding data packet is transmitted at a second code rate during the second time period, the second code rate being a code rate corresponding to the first bandwidth, and the maximum bandwidth detected during the network congestion detection time period is determined as the network bandwidth. In this way, adaptively setting the code rates of the first padding data packet and the second padding data packet not only enables accurate bandwidth estimation, but also reduces the impact on the network caused by transmitting the padding data packets. [Brief explanation of the drawings]

[0011] [Figure 1a] Figure 1a shows a schematic diagram of the bandwidth estimation. [Figure 1b] Figure 1b shows a schematic diagram of another bandwidth estimation. [Figure 2] FIG. 2 shows a schematic flowchart of a method for estimating bandwidth according to an embodiment of the present disclosure. [Figure 3a] FIG. 3a shows a schematic diagram of a bandwidth estimation process according to an embodiment of the present disclosure. [Figure 3b] FIG. 3b shows a schematic diagram comparing the time delay in the disclosed embodiment with that in the related art. [Figure 4] FIG. 4 shows a schematic diagram of a bandwidth estimation device according to an embodiment of the present disclosure. [Figure 5] FIG. 5 is a schematic diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, the technical solutions of the disclosed embodiments will be clearly described with reference to the drawings of the disclosed embodiments, and it is obvious that the described embodiments are only some of the disclosed embodiments, not all of the disclosed embodiments, and all other embodiments obtained by those skilled in the art based on the disclosed embodiments shall fall within the scope of protection of the disclosed embodiments.

[0013] The terms "first," "second," etc. in the specification and claims of the present disclosure are used to distinguish between similar objects and do not denote a particular order or context. It is understood that terms used in this manner are interchangeable under appropriate circumstances, such that embodiments of the present disclosure may be practiced in other orders than those illustrated or described herein, and that objects distinguished by "first" and "second" are generally of the same type and do not limit the number of objects; for example, the first object may be one or more. Furthermore, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates an "or" relationship between related objects.

[0014] In one technical solution of the related art, when a network suddenly becomes congested, the estimated bandwidth of the bandwidth estimation module is usually the maximum required bandwidth. In order to accurately measure the network capacity at this time, padding data packets (padding) need to be sent. The function of the padding packets is that when the media coding rate underflows (the actual media coding rate is lower than the estimated bandwidth), the padding packets are used to increase the transmission code rate to the estimated bandwidth, preventing the estimated bandwidth from being too low when the media coding rate underflows. As shown in Figure 1a, when the network becomes congested at time T1 and the available network bandwidth decreases from b kbps to a kbps, in order to accurately estimate the available network bandwidth, if the media underflows, padding is used to continue increasing the media bandwidth to b kbps until the available network bandwidth is estimated at time T2 (T2 = T1 + P1), and then the padding transmission is stopped.

[0015] When the above technical solutions are adopted, if the network suddenly becomes congested, a large amount of padding data will be transmitted, resulting in large delays or large packet losses. Moreover, when congestion occurs, the lower the available bandwidth of the network, the greater the delay or packet losses that occur, which has a significant impact on the user's subjective experience.

[0016] In comparison with the above technical solution, the related art provides an improved technical solution, in which, as shown in FIG. 1b, the amount of padding is limited, and the set padding upper limit c kbps is lower than b kbps, and when the padding upper limit c kbps is equal to b kbps, the advantage of this solution is that the impact of padding data on the network is reduced; however, when the available bandwidth of the network exceeds the set threshold c kbps during congestion, the estimated available bandwidth of the network will be small, which will result in inaccurate estimated bandwidth.

[0017] In response, the disclosed embodiments provide a bandwidth estimation solution.

[0018] Hereinafter, the bandwidth estimation solution according to the disclosed embodiments will be described in detail with reference to the drawings through several embodiments and application scenarios.

[0019] 2 shows a schematic flowchart of a bandwidth estimation method according to an embodiment of the present disclosure, which may be performed by a communication device. In other words, the method may be performed by software or hardware installed in the communication device, and the communication device may be a terminal device. As shown in FIG. 2, the method may include steps S210 to S240.

[0020] S210: In response to determining that network congestion has occurred, transmit a first padding data packet at a first code rate within a first time period.

[0021] The first code rate is a code rate corresponding to a historical estimated bandwidth, and the historical estimated bandwidth can be determined based on the bandwidth result detected within the previous network congestion detection period. When the current network is congested for the first time, the historical estimated bandwidth can be a preset bandwidth value, and the preset bandwidth value can be set based on the actual situation, which is not particularly limited in the present invention.

[0022] As can be understood, at some point, the demand for a particular resource in the network will exceed the available portion that the resource can provide, causing network performance to degrade and congestion to occur, at which point it is necessary to measure the capacity of the network at this time by transmitting a first padding data packet, the first code rate of which is a code rate corresponding to the historical estimated bandwidth, i.e., the code rate corresponding to the bandwidth estimated after the previous network congestion.

[0023] Bandwidth refers to the amount of data that can be transmitted per unit time, and its common unit is MB / s, i.e., megabits per second. Code rate refers to the number of data bits transferred per unit time, and its common unit is kbps, i.e., kilobits per second. Converting the bandwidth unit to the code rate unit results in a code rate that corresponds (or matches) to the bandwidth. For example, for a bandwidth of 2 MB, the corresponding code rate is 2048 Kbps.

[0024] Specifically, the historical estimated bandwidth may be the network bandwidth used in the previous network congestion detection period, and therefore, when estimating the bandwidth of the current network congestion detection period, the historical estimated bandwidth can be used as a reference, i.e., the first code rate of the first padding data packet is set to a code rate that matches the historical estimated bandwidth, thus enabling code rate adaptation, thereby enabling a more accurate estimation of the actual available bandwidth of the current network.

[0025] S220: Detect a first bandwidth of the network based on the first padding data.

[0026] As can be understood, a first bandwidth of the network is detected based on the first padding data within a first time period, the first time period referring to the length of time during which the first padding data packet continues to be transmitted.

[0027] Alternatively, the first time period may be 100ms to 300ms, and it can be understood that if the first time period is less than 100ms, the detected first bandwidth may be inaccurate due to network jitter, and if the first time period is more than 300ms, it may have a relatively large impact on the network.

[0028] S230: Transmit a second padding data packet at a second code rate within a second time period after the first time period.

[0029] The second code rate is a code rate corresponding to the first bandwidth, and the sum of the first time period and the second time period is a network congestion detection time length.

[0030] As can be seen, by setting the second padding data packet to the code rate of the first bandwidth detected within the first time period as the second code rate, it is possible to avoid increasing the network load and having a large impact on the network, since only the first padding data packet is sent to measure the estimated bandwidth throughout the entire network congestion detection time period.

[0031] In one embodiment, the first padding data and the second padding data may include one of the following:

[0032] (1) In particular, meaningless data. In this possible embodiment, meaningless data can be used as padding packets to avoid situations where the receiving side cannot receive appropriate data packets in a timely manner due to network congestion. (2) Data transmitted before it is determined that network congestion is beginning to occur. Using this possible embodiment, the data transmitted before network-started congestion is beginning to occur can be used as padding packets to ensure the reliability of the data transmitted before network-started congestion is beginning to occur.

[0033] S240: The maximum value of the bandwidth detected within the network congestion detection time period is determined as the bandwidth of the network.

[0034] As can be seen, if, within the network congestion detection time period, a maximum confirmed bandwidth of the network is detected within a first time period by sending a first padding data packet and a maximum confirmed bandwidth of the network is detected within a second time period by sending a second padding data packet, the estimated bandwidth is determined as the relatively larger maximum confirmed bandwidth within the detected first and second time periods.

[0035] In the disclosed embodiment, a network congestion detection time period is divided into a first time period and a second time period, a first padding data packet is transmitted at a first code rate during the first time period, the first code rate being a code rate corresponding to the historical estimated bandwidth, and after transmitting the first padding data packet, the network is detected to obtain a first actual available bandwidth of the network during the first time period. A second padding data packet is transmitted at a second code rate during the second time period, the second code rate being a code rate corresponding to the first bandwidth, and the estimated bandwidth is finally determined as the maximum bandwidth detected during the network congestion detection time period. In this way, adaptively setting the code rates of the first padding data packet and the second padding data packet not only enables accurate measurement of the estimated bandwidth but also reduces the impact on the network caused by transmitting the padding data packets.

[0036] In one embodiment, the step of determining that network congestion has occurred may include a step of determining that network congestion has occurred when network overload is detected, for example, when the network is not congested and network overload is detected for the first time, it is determined that network congestion has occurred.

[0037] As can be understood, overload refers to a phenomenon in which too much data arrives at a particular part of a communication subnet, causing the network in that part to be unable to handle it, resulting in a degradation in performance not only of that part but of the entire network, such as a transmission timeout (e.g., the transmission time exceeds a first threshold), data packet loss (e.g., the data packet loss rate exceeds a second threshold, etc.), etc. In this embodiment, when network overload is first detected, it is determined that network congestion is beginning to occur, thereby ensuring that network congestion can be identified in a timely manner.

[0038] Preferably, Web Real-Time Communications (WebRTC) can detect whether a network is overloaded, i.e., when the network is congested, the network congestion status can be reflected through the packet loss rate, where a very small or zero packet loss rate indicates a good network status, and conversely, a large packet loss rate indicates a worsening network status. It can also determine whether a network is overloaded based on an increasing trend in the arrival delay difference between data packet groups.

[0039] In one embodiment, the first time period may be the time interval between the first overload and the nth overload among n consecutively detected overloads, where n is an integer greater than 1. For example, the first time period may be the time interval between two adjacent overloads. Alternatively, the first time period may be the minimum time required to detect a stable network bandwidth, for example, 100 ms, which may be determined according to actual applications and is not limited in the disclosed embodiments.

[0040] In this embodiment, the first time period is determined by the time interval between the first overload and the nth overload among the n consecutively detected overloads, thereby realizing highly accurate time division and thereby ensuring the accuracy of the estimated bandwidth.

[0041] In one embodiment, the network congestion detection time period may be the time interval between the first overload and the Nth overload among N consecutively detected overloads, where N is an integer greater than 1 and N>n. The network congestion detection time period may be the time interval between the first overload and the fifth overload among five consecutively detected overloads, and the first time period is the time interval between the second overload detection and the first overload detection. However, the present invention is not limited to these and may be determined according to the actual state of the network in a specific application.

[0042] It should be noted that the first time period and the second time period constitute a network congestion detection time interval, and therefore the number of network overloads occurring in the first time period is less than the number of network overloads occurring within the entire network congestion detection time interval, i.e., N>n, thereby avoiding the worsening of network congestion caused by transmitting padding data packets with the historical estimated bandwidth within the entire network congestion detection time interval, and also avoiding the problem of inaccurate bandwidth estimation caused by the bandwidth of the transmitted padding data packets being too small.

[0043] In one embodiment, the step of detecting a first bandwidth of the network based on the first padding data includes a step of obtaining the first bandwidth by tracking a maximum confirmed bandwidth within the first time period through a filter.

[0044] As can be seen, the filter not only has little impact on the network, but can also amplify the signal, thus realizing the detection of the maximum confirmed bandwidth within the first time period and obtaining said first bandwidth without affecting network transmission.

[0045] In another embodiment, the maximum confirmed bandwidth tracked by the filter expires when the first time period expires.

[0046] As can be seen, the function of the filter in the first time period is to detect the maximum confirmation bandwidth within the first time period, and the maximum confirmation bandwidth is used to obtain the first bandwidth, and the first bandwidth is used to determine the code rate of the second padding data packet in the second time period; therefore, the maximum confirmation bandwidth becomes invalid after the first time period ends, thereby avoiding interfering with the detection of the maximum confirmation bandwidth in the second time period.

[0047] It should be noted that data can be sent multiple times before it is determined that network congestion is beginning to occur, and the data sent will be received even if it is discarded in the network.

[0048] 3a shows a schematic diagram of a bandwidth estimation process according to an embodiment of the present disclosure. In FIG. 3a, it is assumed that an initial network overload is detected at time T1, and the actual bandwidth of the network is b kps before time T1 and a kps after time T1.

[0049] In the above situation, in FIG. 3a, the disclosed embodiment sets the first padding amount to b kps at time T1, and the valid time of the padding is P1. Then, during the P1 period, the filter tracks the maximum confirmed bandwidth and obtains a maximum confirmed bandwidth of a kps. The maximum confirmed bandwidth is invalidated at time T2. At time T2, the second padding amount is set based on the obtained maximum confirmed bandwidth, and the second padding amount is a kps. At this time, the bandwidth obtained from the filter is a maximum pass bandwidth after padding is added, a kbps. Therefore, a kbps is determined as the estimated bandwidth. At time T3, network congestion detection is completed, and the padding amount is no longer set. The technical solution of the disclosed embodiment not only ensures the accuracy of bandwidth estimation, but also reduces network time delay. As shown in FIG. 3b, compared to the padding amounts at times T1 to T3, which are all b kps, the technical solution of the disclosed embodiment can significantly reduce time delay.

[0050] In this embodiment, the amount of padding is set twice, the amount of padding set the first time is the historical estimated bandwidth b kbps, and the amount of padding set the second time is the maximum confirmed bandwidth a kbps tracked by the filter within the P1 time period. In this way, by adaptively setting the first padding amount and the second padding amount, not only can the estimated bandwidth be measured accurately, but the impact on the network caused by the transmission of padding data packets can also be reduced.

[0051] For the bandwidth estimation method according to the disclosed embodiments, the implementation body may be a bandwidth estimation device. In the disclosed embodiments, the bandwidth estimation device according to the disclosed embodiments will be described as an example in which the bandwidth estimation device executes the bandwidth estimation method.

[0052] 4 shows a schematic block diagram of a bandwidth estimation device according to an embodiment of the present disclosure. As shown in FIG. 4, the bandwidth estimation device 400 may include a first transmitting module 410, a detecting module 420, a second transmitting module 430, and a determining module 440.

[0053] In the disclosed embodiment, the first transmitting module 410 is used to transmit a first padding data packet at a first code rate within a first time period in response to determining that network congestion has occurred, the first code rate being a code rate corresponding to a historical estimated bandwidth; the detection module 420 is used to detect a first bandwidth of the network based on the first padding data; the second transmitting module 430 is used to transmit a second padding data packet at a second code rate within a second time period after the first time period, the second code rate being a code rate corresponding to the first bandwidth; the sum of the first time period and the second time period is a network congestion detection time period; and the determination module 340 is used to determine the maximum value of the bandwidth detected within the network congestion detection time period as the network bandwidth.

[0054] In one embodiment, determining by the first sending module 410 that network congestion has occurred includes determining that network congestion has occurred when network overload is detected.

[0055] In one embodiment, the first time period by the first transmitting module 410 is the time interval between the first overload and the nth overload among n consecutively detected overloads, where n is an integer greater than 1.

[0056] In one embodiment, the network congestion detection time interval by the second sending module 430 is the time interval between the first overload and the Nth overload among N consecutively detected overloads, where N is an integer greater than 1 and N>n.

[0057] In one embodiment, the detection module 420 is further adapted to obtain the first bandwidth by tracking the maximum confirmed bandwidth within the first time period through a filter.

[0058] In one embodiment, the maximum confirmed bandwidth tracked by the filter expires when the first time period expires.

[0059] In one embodiment, the first padding data and the second padding data in the first transmission module 410 and the second transmission module 430 may include one of data that is not particularly meaningful and data that is transmitted before it is determined that network congestion is beginning to occur.

[0060] Optionally, as shown in FIG. 5 , the disclosed embodiments further provide an electronic device 500, including a processor 510, a memory 520, and a program or instruction stored in the memory 520 and executable by the processor 510, which, when executed by the processor 510, can realize each step of the above method embodiments and achieve the same technical effects, and will not be described in detail herein to avoid repetition.

[0061] The disclosed embodiments further provide a readable storage medium, which stores a program or instruction, and when the program or instruction is executed by a processor, it can realize each step of the above-mentioned bandwidth estimation method embodiment and achieve the same technical effect, which will not be described in detail herein to avoid repetition.

[0062] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer readable storage medium such as a computer read only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0063] The disclosed embodiments further provide a chip, the chip including a processor and a communication interface, the communication interface coupled to the processor, the processor executing a program or instruction to realize each step of the above-mentioned bandwidth estimation method embodiment, and can achieve the same technical effects, which will not be described in detail here to avoid repetition.

[0064] It will be understood that the chips referred to in the disclosed embodiments may also be referred to as system level chips, system chips, chip systems, or system-on-chips, among others.

[0065] The disclosed embodiments further provide a computer program / program product, which is stored in a storage medium, and which can be executed by at least one processor to realize each step of the above-mentioned bandwidth estimation method embodiments and achieve the same technical effects, and will not be described in detail herein to avoid repetition.

[0066] It should be noted that, as used herein, the terms "comprises," "having," or any variation thereof are intended to cover a non-exclusive inclusion, whereby a process, method, article, or apparatus comprising a set of elements not only includes those elements, but also includes other elements not expressly recited or that are inherent in such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. It should also be noted that the scope of the methods and apparatuses in the embodiments of the present disclosure is not limited to performing functions in the order shown or described, but may also include performing functions substantially simultaneously or in the reverse order based on the functionality involved. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Furthermore, features described in certain examples may be combined in other examples.

[0067] From the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be realized by a combination of software and a required general-purpose hardware platform, and of course, they can also be realized by hardware, but in many cases, the former is superior. Based on this understanding, the technical solution of the present disclosure can essentially be embodied in the form of a computer software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, an optical disk, etc.) and includes multiple instructions, thereby causing a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the methods described in each embodiment of the present disclosure.

[0068] Although the embodiments of the present disclosure have been described above with reference to the drawings, the present disclosure is not limited to the above-mentioned specific embodiments, which are merely illustrative and not limiting. A person skilled in the art can create many forms under the guidance of the present disclosure without departing from the purpose of the present disclosure and the scope of patent protection provided by the claims, and all of these forms fall within the scope of protection of the present disclosure.

Claims

1. 1. A method for estimating bandwidth, comprising: In response to determining that network congestion has occurred, transmitting a first padding data packet at a first code rate within a first time period, the first code rate being a code rate corresponding to a historical estimated bandwidth; detecting a first bandwidth of the network based on the first padding data; transmitting a second padding data packet at a second code rate within a second time period after the first time period, the second code rate being a code rate corresponding to the first bandwidth, and the sum of the first time period and the second time period being a network congestion detection time length; determining a maximum value of the bandwidth detected within the network congestion detection time period as the bandwidth of the network.

2. The step of determining that network congestion has occurred comprises:

2. The method of claim 1, further comprising determining that network congestion has occurred if network overload is detected.

3. 3. The method of claim 2, wherein the first time period is a time interval between a first overload and an nth overload among n consecutively detected overloads, where n is an integer greater than 1.

4. 4. The method of claim 3, wherein the network congestion detection time interval is the time interval between a first overload and an Nth overload among N consecutively detected overloads, where N is an integer greater than 1 and N>n.

5. The step of detecting a first bandwidth of the network based on the first padding data includes: A method according to any one of claims 1 to 4, comprising obtaining said first bandwidth by tracking a maximum confirmed bandwidth within said first time period through a filter.

6. The method of claim 5 , wherein the maximum confirmed bandwidth tracked by the filter expires when the first time period expires.

7. The first padding data and the second padding data Meaningless data and and data transmitted before determining that network congestion is beginning to occur.

8. A bandwidth estimation device, comprising: a first transmitting module for transmitting a first padding data packet at a first code rate within a first time period in response to determining that network congestion has occurred, the first code rate being a code rate corresponding to a historical estimated bandwidth; a detection module for detecting a first bandwidth of the network based on the first padding data; a second transmitting module for transmitting a second padding data packet at a second code rate within a second time period after the first time period, the second code rate being a code rate corresponding to the first bandwidth, and the sum of the first time period and the second time period being a network congestion detection time length; a determination module for determining a maximum value of the bandwidth detected within the network congestion detection time period as the bandwidth of the network.

9. An electronic device comprising a processor, a memory, and a program or instructions stored in the memory and executable by the processor, the program or instructions implementing the bandwidth estimation method described in any one of claims 1 to 7 when executed by the processor.

10. A readable storage medium having stored thereon a program or instructions which, when executed by a processor, implements the bandwidth estimation method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, apparatus and device for detection of available bandwidth of network link

    CN108011771A

  • Method, device and equipment for sending data through bandwidth estimation and a medium

    CN113747202A

  • Data transmission methods in communication systems

    JP2012517130A

  • voip bandwidth management

    JP2016516377A

  • Reduction of Delay in Video Telephony

    JP2017530584A