US20020169880A1 - Method and device for robust real-time estimation of the bottleneck bandwidth in the internet - Google Patents

Method and device for robust real-time estimation of the bottleneck bandwidth in the internet Download PDF

Info

Publication number
US20020169880A1
US20020169880A1 US09/837,936 US83793601A US2002169880A1 US 20020169880 A1 US20020169880 A1 US 20020169880A1 US 83793601 A US83793601 A US 83793601A US 2002169880 A1 US2002169880 A1 US 2002169880A1
Authority
US
United States
Prior art keywords
bandwidth
samples
packet
client
bottleneck
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/837,936
Inventor
Dmitri Loguinov
Hayder Radha
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to US09/837,936 priority Critical patent/US20020169880A1/en
Assigned to KONINKLIJKE PHILIPS ELECTRONICS N.V. reassignment KONINKLIJKE PHILIPS ELECTRONICS N.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RADHA, HAYDER, LOGUINOV, DMITRI
Priority to JP2002584651A priority patent/JP2004524782A/en
Priority to CNA028012798A priority patent/CN1488214A/en
Priority to EP02724549A priority patent/EP1382219B1/en
Priority to PCT/IB2002/001435 priority patent/WO2002087276A2/en
Priority to KR1020027017262A priority patent/KR20030058946A/en
Priority to AT02724549T priority patent/ATE321428T1/en
Priority to DE60210060T priority patent/DE60210060D1/en
Publication of US20020169880A1 publication Critical patent/US20020169880A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV

Definitions

  • the present invention relates to the field of the Internet. More particularly, the present invention relates to a method and system for estimating in real time the bottleneck bandwidth of the Internet system.
  • the Internet has grown into a vastly diverse connection of many different networks and consists of links of greatly varying bandwidths.
  • the end-to-end network parameters of the Internet have become more complicated to determine.
  • most data applications cannot predict their own traffic parameters.
  • the Internet system usually requires a service that dynamically estimates and adapts to the bottleneck bandwidth of an end-to-end Internet path.
  • the bottleneck bandwidth represents the speed of the slowest link of an end-to-end path.
  • FIG. 1 depicts the conventional estimation mechanism known as Receiver-Based Packet Pair (RBPP).
  • RBPP Receiver-Based Packet Pair
  • the vertical dimension of the packets represents the link speed
  • the horizontal dimension represents the transmission time.
  • the sender transmits to the receiver two back-to-back packets (which are called the packet pair), of sizes s 1 and s 2 , respectively.
  • the packet pair the back-to-back packets
  • the spacing between the arrived packets is typically increased because the bottleneck link is slower than the previous links. As a consequence, it takes longer to transmit each packet over the slow bottleneck link. In the remaining path, the new spacing ⁇ T between the packets is preserved unless much a slower bottleneck link is encountered.
  • the receiver upon receiving the spaced packets, the receiver computes the value of the bottleneck bandwidth B B , which is calculated by s 2 / ⁇ T according to the conventional method. Thereafter, the receiver generates a special packet or acknowledgment packet (ACK) with the computed estimate value, B B , and transmits it back to the sender. The sender can then adjust the sending rate based on the estimation of the bottleneck bandwidth B B .
  • ACK acknowledgment packet
  • PBM Packet Bunch Modes
  • both of the above prior art methods of estimating the bandwidth have many drawbacks.
  • both techniques are highly sensitive to packet compression events—a phenomenon which occur when packets arrive closer to each other than they were originally sent out.
  • both methods produce an inaccurate estimation of bottleneck bandwidth if employed in the existing Internet in real-time.
  • the second method is proposed for off-line operation and requires an entire set of bandwidth samples to be ready at the time of estimation, real-time application of the method is not feasible.
  • both methods do not address the delay variation incurred by the OS kernel of the client machine during the scheduling and switching operations.
  • the detected inter-packet spacing AT may be significantly skewed by the OS operation before the packets are passed to the destination node, thus resulting in an inaccurate estimation of the bottleneck bandwidth BB.
  • both methods require the transmission time stamps to be placed in each packet, thereby increasing the overhead.
  • RBPP sends special probe packets to measure the bandwidth and incurs extra bandwidth overhead.
  • the present invention relates to estimating the real-time bottleneck bandwidth of an end-to-end Internet path between a server and client.
  • a method capable of estimating the bottleneck bandwidth includes the steps of: transmitting by the sever through a bottleneck link a plurality of bursts comprised of packets to the client; calculating a set of bandwidth samples for each burst received by the client end; and, determining a new bottleneck bandwidth from the calculated bandwidth samples for the following transmission of data packets between the server and the client.
  • the present invention relates to a device for estimating the bottleneck bandwidth and includes: a means for transmitting a plurality of packet bursts; a means for receiving each burst packet via a bottleneck link; a means for generating a set of bandwidth samples based on the difference between an inter-packet spacing between the first and the last packet of each burst; and, a means for determining a new bottleneck bandwidth based on the generated bandwidth samples.
  • FIG. 1 illustrates a conventional bandwidth estimation mechanism
  • FIG. 2 is a schematic view of an exemplary architecture of the bandwidth estimating system according to the present invention.
  • FIG. 3 illustrates the format of a user datagram protocol (UDP) packet at the server end in accordance with the present invention
  • FIG. 4( a ) is a flow chart illustrating the operation of the bottleneck bandwidth estimator according to the present invention.
  • FIG. 4( b ) is a flow chart illustrating a greater detail of estimating the bottleneck bandwidth estimator according to the present invention
  • FIG. 5 illustrates a particular mechanism of estimating the bandwidth of the packets of the burst according to the present invention.
  • FIG. 6 illustrates a particular mechanism of handling the packet compression event according to the present invention.
  • the server-client architecture 10 for streaming multimedia data over the Internet includes a first system 12 , such as a server device, a second system 14 , such as a client device. Both server and client are in communication with each other via the access link of the Internet network 16 .
  • the embodiment of the present invention is aimed at estimating a bottleneck bandwidth, which represents the speed of the slowest link of an end-to-end path, in a rapid and reliable way for the following transmission of data packets.
  • the system 10 provides the server system 12 to use video traffic (i.e., burst packets) to estimate the bottleneck bandwidth rather than sending special packet pairs to measure the bottleneck bandwidth as in the prior art.
  • video traffic i.e., burst packets
  • the format of a UDP packet of each burst packet according to the present invention is shown in FIG. 3.
  • Each packet in real-time application carries a burst identifier, which allows the receiver to distinguish packets from different bursts.
  • the inventive bandwidth measurement will be referred to hereinafter as Extended Receiver-Based Packet Pair (ERBPP).
  • ERP Extended Receiver-Based Packet Pair
  • the inventive bandwidth estimation process consists of three steps—measurement step 100 , filtering step 120 , and estimation step 140 .
  • the filtering step 120 is an optional operation that is performed to further increase the accuracy of the bandwidth samples generated in the measurement step 100 .
  • the server system 12 transmits a plurality of bursts comprised of packets to the client system 14 via a bottleneck link path.
  • the bandwidth for each burst received at the client system 14 within a predetermined period is measured and collected in a set of samples B M (t, ⁇ ).
  • certain collected samples are removed from the sample set due to the suspected compression or expansion caused by OS-related scheduling delays in delivering packets to the application layer.
  • step 140 a single estimate b EST (t, ⁇ ) that is the most recent and accurate estimation of the bottleneck bandwidth is determined according to the predetermined criteria. The principle of these three major operations will be described in greater detail below.
  • the server system 12 transmits data packets containing actual real-time data in bursts in step 200 .
  • the packets that the server system 12 has to deliver to the client system 14 are transmitted at a maximum transmission speed of the adjacent link to guarantee the condition that the packets traveling along the end-to-end Internet path are queued and delayed at the bottleneck link. That is, the packets of each burst have to leave the server system 12 at a rate that is definitely higher than the bottleneck link's speed, so that the packets in each burst can be expanded before they arrive to the client system 14 , as shown in FIG. 5.
  • the server system 12 may send packets of equal size in the embodiment of the present invention.
  • step 210 these packets pass through the Internet network and arrive at the client system 14 .
  • the client system 14 computes the corresponding bottleneck bandwidth Bi for each packet burst i received therein, in step 220 .
  • the bandwidth sample based on the burst with a missing packet is not included in the set of bandwidth samples, B M (t, ⁇ ) in step 230 .
  • the client system 14 analyzes the header information of the respective burst, as shown in FIG. 3, to identify any missing packets within a given burst.
  • a bandwidth sample B i is measures in step 230 as follows.
  • the client system 14 Upon receiving the burst packets originated from the server system 12 , the client system 14 measures the corresponding bandwidth based on the packet-pair concept and maintains a data base of collected samples in set B M (t, ⁇ ), wherein t represents the current time and A represents the “lifetime” of samples. That is, the client system 14 computes samples of the bottleneck bandwidth using the inter-packet spacing between the first and the last packets within each burst. Referring to FIG.
  • each sample b i (k) represents an estimate of the bandwidth using the first k (k ⁇ 2) packets of burst i.
  • the number of packets n i is set at least 3 packets in each burst; however, this number is not required.
  • ERBPP m the ERBPP method that considers only bursts with at least m packets.
  • ERBPP + method that analyzes at least m packets is called ERBPP m+ .
  • the client system 14 only needs to distinguish between packets in different bursts rather than the exact transmission time of each packet as required in the prior art.
  • the only fields required in each packet header are one-bit (0 or 1) burst identifier and a packet sequence number.
  • the inventive method has no bandwidth overhead associated with sending separate packet pairs as in the prior art since the actual video data in the form of a packet burst is used to compute the bandwidth. It is noted that the number of packets in a packet burst may be more than two packets depending on the streaming rate and desired burstiness. In addition, as many streaming media packet sizes are not constant, the number of packets per impulse (i.e., packet burst) varies.
  • step 240 is performed at the discretion of the operator.
  • This filtering step can be selectively performed by the client system 14 to improve the accuracy of the generated samples B M (t, ⁇ ) prior to selecting the new estimate of the bottleneck bandwidth.
  • B I the new resulting bandwidth samples after undergoing the filtering process
  • the former approach filters the generated samples B M (t, ⁇ ) by maintaining the lifetime of samples A to a predetermined time period.
  • any bandwidth samples generated that exceed a threshold sample lifetime would be eliminated from the B M (t, ⁇ ) in step 242 .
  • the recommended values ⁇ range between 30 and 300 seconds.
  • the latter approach relates to reducing the amount of error introduced by random and deterministic delays inside the OS kernel of the client system 14 in delivering packets to the application layer (i.e., process scheduling delays, delays caused by low-resolution clock in the data-link layer).
  • FIG. 6 illustrates this type of undesirable delays, namely packet compression and packet expansion, which alter the spacing between packets.
  • the packet compression refers to packets in a burst that arrive to the client system 14 with the spacing smaller than the inter-packet delay introduced by the bottleneck link.
  • This type of compression can occur, for example, if the first packet in a pair encounters a large queuing delay at some high-speed interface after going through the bottleneck router, and the second packet catches up with the first packet by encountering no or little queuing delay at the same interface.
  • the first packet of burst i (the burst in the middle) is delayed by the OS of the client system 14 until the second packet of the same burst is received by the kernel. Then, both packets are scheduled and delivered to the application layer.
  • the application can erroneously identify the beginning of burst i and use smaller burst length ⁇ t i (instead of ⁇ T i ) in its computation of ERBPP m bandwidth.
  • the packet expansion refers to packets arriving to the client system 14 with the spacing larger than the one ideally introduced by the bottleneck link.
  • the expansion can occur before or after passing the bottleneck router.
  • the client system 14 can erroneously measure the bandwidth based on the expanded packet pair rather than the rate of the bottleneck link.
  • the exemplary embodiment of the present invention provides a filtering process to eliminate inaccurate bandwidth estimations out of the collected samples B M (t, ⁇ ) that is caused by the compression and/or expansion in step 244 .
  • the principle of the filtering operation is based on comparing the values of observed burst durations, D b i and D b i ⁇ 1 with the ideal value D b for each received burst i. That is, the inaccurate bandwidth samples encountering the OS-related delay are determined based on the quantity difference between an ideal burst duration prior to encountering the OS delay and an actual burst duration after encountering the OS delay. Referring to FIG.
  • each burst has a fixed duration of D b time units (i.e., one burst is generated every D b time units). If no significant compression occurs during the transmission, the respective burst lengths between the top and bottom graphs of FIG. 6 will agree. Thus, in cases when they do not agree or if the burst duration D b i (the actual burst duration) deviates from D b (the ideal burst duration) for more than ⁇ percent, the compression/expansion event is inferred.
  • the client system 14 determines a new real-time bandwidth from the set of filtered samples B I (t, ⁇ ) (note that if the filtering step 240 is not performed, set B I (t, ⁇ ) is equal to set B M (t, ⁇ )) by determining a single estimate b EST (t) representing the current value of the bottleneck link at time t.
  • the estimation of b EST (t) is divided into two approaches, the median approach or the statistical approach of set B I (t, ⁇ ).
  • the median mode is applied to low-speed links (below 128 Kbps) in step 264 , while the statistical mode is applied to high-speed links (above 128 Kbps) in step 262 .
  • the statistical mode of a set is such value x where the probability distribution function (PDF)j(x) of the set reaches its maximum.
  • PDF probability distribution function
  • the histogram of a set is computed by partitioning the set of values contained in the set into equal-size bins and computing the percentage of samples from the set that fall into each bin. The middle of the bin with the highest percentage is then selected as the mode of the set.
  • the suggested values for the bin size are between 1 Kbps and 5 Kbps.
  • estimates b EST (t) can be used for congestion control or other purposes at any required time t through the use of the median or mode of set B I (t, ⁇ ). Furthermore, if a multi-channel link is deployed (or believed to be deployed by the client) between the server system 12 and the client system 14 , the client will use the ERBPP m+ method rather than the ERBPP m method (note that if the filtering step 240 is not performed, set B I (t, ⁇ ) is equal to set B M (t, ⁇ )).
  • the present invention provides a new bandwidth estimation mechanism, which achieves significant performance improvements over the existing bandwidth estimation algorithms. Having thus described a preferred embodiment for estimating the bottleneck bandwidth over a digital communications link, it should be apparent to those skilled in the art that certain advantages of the system have been achieved.
  • the foregoing is to be constructed as only being an illustrative embodiment of this invention. Thus, persons skilled in the art can easily conceive of alternative arrangements providing a function similar to this embodiment without any deviation from the fundamental principles or the scope of this invention.

Abstract

A method and device for estimating the bottleneck bandwidth over a communication network is provided. The method includes the steps of: transmission by the sever through a bottleneck link a plurality of bursts comprised of packets to the client; calculating a set of bandwidth samples for each burst received by the client end; determining a new bottleneck bandwidth from the calculated bandwidth samples for the following transmission of data packets between the server and the client. The device capable of estimating a bottleneck bandwidth includes: a means for transmitting a plurality of bursts comprised of packets; a means for receiving each burst packets via a bottleneck link; a means for generating a set of bandwidth samples based on a difference between an inter-packet spacing between the first and the last packet within each burst; and, a means for determining the current bottleneck bandwidth from the generated bandwidth samples.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of invention [0001]
  • The present invention relates to the field of the Internet. More particularly, the present invention relates to a method and system for estimating in real time the bottleneck bandwidth of the Internet system. [0002]
  • 2. Description of the Invention [0003]
  • The Internet has grown into a vastly diverse connection of many different networks and consists of links of greatly varying bandwidths. As a result, the end-to-end network parameters of the Internet have become more complicated to determine. In addition, most data applications cannot predict their own traffic parameters. Accordingly, the Internet system usually requires a service that dynamically estimates and adapts to the bottleneck bandwidth of an end-to-end Internet path. The bottleneck bandwidth represents the speed of the slowest link of an end-to-end path. [0004]
  • FIG. 1 depicts the conventional estimation mechanism known as Receiver-Based Packet Pair (RBPP). For the purpose of simplicity and clarity, the vertical dimension of the packets represents the link speed, and the horizontal dimension represents the transmission time. In the conventional RBPP method, the sender transmits to the receiver two back-to-back packets (which are called the packet pair), of sizes s[0005] 1 and s2, respectively. As these packets traverse an end-to-end path, they are spread out by the bottleneck link. The spacing between the arrived packets is typically increased because the bottleneck link is slower than the previous links. As a consequence, it takes longer to transmit each packet over the slow bottleneck link. In the remaining path, the new spacing ΔT between the packets is preserved unless much a slower bottleneck link is encountered.
  • As shown in FIG. 1, upon receiving the spaced packets, the receiver computes the value of the bottleneck bandwidth B[0006] B, which is calculated by s2/ΔT according to the conventional method. Thereafter, the receiver generates a special packet or acknowledgment packet (ACK) with the computed estimate value, BB, and transmits it back to the sender. The sender can then adjust the sending rate based on the estimation of the bottleneck bandwidth BB.
  • Another prior art method currently deployed follows a Packet Bunch Modes (PBM) technique, which is basically steamed from the above RBPP method. The PBM is aimed at measuring the bottleneck bandwidth during an off-line mode. In addition, the PBM applies a series of filtering and estimation techniques to all samples collected during a given session, thereby requiring an entire set of bandwidth samples to be ready at the time of estimation. [0007]
  • Both of the above prior art methods of estimating the bandwidth have many drawbacks. First, both techniques are highly sensitive to packet compression events—a phenomenon which occur when packets arrive closer to each other than they were originally sent out. Thus, both methods produce an inaccurate estimation of bottleneck bandwidth if employed in the existing Internet in real-time. In addition, as the second method is proposed for off-line operation and requires an entire set of bandwidth samples to be ready at the time of estimation, real-time application of the method is not feasible. Moreover, both methods do not address the delay variation incurred by the OS kernel of the client machine during the scheduling and switching operations. Hence, the detected inter-packet spacing AT may be significantly skewed by the OS operation before the packets are passed to the destination node, thus resulting in an inaccurate estimation of the bottleneck bandwidth BB. Furthermore, both methods require the transmission time stamps to be placed in each packet, thereby increasing the overhead. In addition, RBPP sends special probe packets to measure the bandwidth and incurs extra bandwidth overhead. [0008]
  • Therefore, there is a need for an improved method and system to accurately measure the bottleneck bandwidth in a real-time application. [0009]
  • SUMMARY OF THE INVENTION
  • In the preferred embodiment, the present invention relates to estimating the real-time bottleneck bandwidth of an end-to-end Internet path between a server and client. Accordingly, a method capable of estimating the bottleneck bandwidth is provided and includes the steps of: transmitting by the sever through a bottleneck link a plurality of bursts comprised of packets to the client; calculating a set of bandwidth samples for each burst received by the client end; and, determining a new bottleneck bandwidth from the calculated bandwidth samples for the following transmission of data packets between the server and the client. [0010]
  • The present invention relates to a device for estimating the bottleneck bandwidth and includes: a means for transmitting a plurality of packet bursts; a means for receiving each burst packet via a bottleneck link; a means for generating a set of bandwidth samples based on the difference between an inter-packet spacing between the first and the last packet of each burst; and, a means for determining a new bottleneck bandwidth based on the generated bandwidth samples. [0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a conventional bandwidth estimation mechanism; [0012]
  • FIG. 2 is a schematic view of an exemplary architecture of the bandwidth estimating system according to the present invention; [0013]
  • FIG. 3 illustrates the format of a user datagram protocol (UDP) packet at the server end in accordance with the present invention; [0014]
  • FIG. 4([0015] a) is a flow chart illustrating the operation of the bottleneck bandwidth estimator according to the present invention;
  • FIG. 4([0016] b) is a flow chart illustrating a greater detail of estimating the bottleneck bandwidth estimator according to the present invention;
  • FIG. 5 illustrates a particular mechanism of estimating the bandwidth of the packets of the burst according to the present invention; and, [0017]
  • FIG. 6 illustrates a particular mechanism of handling the packet compression event according to the present invention. [0018]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • In the following description, for purposes of explanation rather than limitation, specific details are set forth such as the particular architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments which depart from these specific details. Moreover, for the purpose of clarity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail. [0019]
  • Referring to FIG. 2, the server-[0020] client architecture 10 for streaming multimedia data over the Internet according to an exemplary embodiment of the present invention includes a first system 12, such as a server device, a second system 14, such as a client device. Both server and client are in communication with each other via the access link of the Internet network 16. The embodiment of the present invention is aimed at estimating a bottleneck bandwidth, which represents the speed of the slowest link of an end-to-end path, in a rapid and reliable way for the following transmission of data packets.
  • According to the exemplary embodiment of the present invention, the [0021] system 10 provides the server system 12 to use video traffic (i.e., burst packets) to estimate the bottleneck bandwidth rather than sending special packet pairs to measure the bottleneck bandwidth as in the prior art. The format of a UDP packet of each burst packet according to the present invention is shown in FIG. 3. Each packet in real-time application carries a burst identifier, which allows the receiver to distinguish packets from different bursts. For simplicity, the inventive bandwidth measurement will be referred to hereinafter as Extended Receiver-Based Packet Pair (ERBPP).
  • Now, a detailed description of performing real-time bandwidth estimation according to an exemplary embodiment of the present invention will be explained below in conjunction with FIG. 4([0022] a) and FIG. 4(b).
  • Referring to FIG. 4([0023] a), the inventive bandwidth estimation process consists of three steps—measurement step 100, filtering step 120, and estimation step 140. The filtering step 120 is an optional operation that is performed to further increase the accuracy of the bandwidth samples generated in the measurement step 100. Initially, the server system 12 transmits a plurality of bursts comprised of packets to the client system 14 via a bottleneck link path. In step 100, the bandwidth for each burst received at the client system 14 within a predetermined period is measured and collected in a set of samples BM(t, Δ). Then, in step 120, certain collected samples are removed from the sample set due to the suspected compression or expansion caused by OS-related scheduling delays in delivering packets to the application layer. Again, the filtering step 120 is not required and only executed if a more accurate estimation can be obtained under the prevailing condition of the network. In step 140, a single estimate bEST(t, Δ) that is the most recent and accurate estimation of the bottleneck bandwidth is determined according to the predetermined criteria. The principle of these three major operations will be described in greater detail below.
  • Referring to FIG. 4([0024] b), according to an exemplary embodiment of the present invention, the server system 12 transmits data packets containing actual real-time data in bursts in step 200. Here, the packets that the server system 12 has to deliver to the client system 14 are transmitted at a maximum transmission speed of the adjacent link to guarantee the condition that the packets traveling along the end-to-end Internet path are queued and delayed at the bottleneck link. That is, the packets of each burst have to leave the server system 12 at a rate that is definitely higher than the bottleneck link's speed, so that the packets in each burst can be expanded before they arrive to the client system 14, as shown in FIG. 5. It is be noted that although the server system 12 uses packets of a different size in FIG. 5, the server system 12 may send packets of equal size in the embodiment of the present invention.
  • Then, in [0025] step 210, these packets pass through the Internet network and arrive at the client system 14. Upon receiving a plurality of packet bursts, the client system 14 computes the corresponding bottleneck bandwidth Bi for each packet burst i received therein, in step 220. At this time, if there is a packet loss in any one of the bursts received at the client system 14, the bandwidth sample based on the burst with a missing packet is not included in the set of bandwidth samples, BM(t, Δ) in step 230. To achieve this, the client system 14 analyzes the header information of the respective burst, as shown in FIG. 3, to identify any missing packets within a given burst. In addition, bursts of packets during which the client received a retransmitted packet, are discarded as well. If there were no missing packets in the burst of packets and no retransmission in the middle of the burst, a bandwidth sample Bi is measures in step 230 as follows.
  • Upon receiving the burst packets originated from the [0026] server system 12, the client system 14 measures the corresponding bandwidth based on the packet-pair concept and maintains a data base of collected samples in set BM(t, Δ), wherein t represents the current time and A represents the “lifetime” of samples. That is, the client system 14 computes samples of the bottleneck bandwidth using the inter-packet spacing between the first and the last packets within each burst. Referring to FIG. 5, if the i-th burst consists of ni packets and the k-th packet of the burst is received at time ti(k), which contains si(k) bytes, the client system 14 computes partial bandwidth samples bi(k) for each burst according to the following equation: b i ( k ) = 1 δ ( k ) j = 2 k s i ( j ) , where 2 k n i and δ ( k ) = t i ( k ) - t i ( 1 ) ,
    Figure US20020169880A1-20021114-M00001
  • where each sample b[0027] i(k) represents an estimate of the bandwidth using the first k (k≧2) packets of burst i. Here, the sum starts with the second packet (j=2) in computing the bandwidth as the burst duration [ti(k)−ti(1)] does not include the transmission time of the very first packet of the burst over the bottleneck link. Preferably, the number of packets ni is set at least 3 packets in each burst; however, this number is not required. In the ERBPP method, each sample of bandwidth Bi based on burst i is equal to the last partial sample: Bi=bi(ni). In the multi-channel link environment (hereinafter referred to as ERBPP+method), sample Bi is selected as the smallest value of partial samples bi(k), for all k: Bi=∀k: min (bi(k)). Furthermore, the ERBPP method that considers only bursts with at least m packets is called ERBPPm. Suggested value of m is at least 3. Similarly, the ERBPP+ method that analyzes at least m packets is called ERBPPm+. The same value m=3 is suggested for ERBPPm+. Once a samples Bi is computed using ERBPPm or ERBPPm+ at time t, it is added to the set of collected samples BM(t, Δ) and stays there for no longer than Δ time units.
  • Accordingly, the [0028] client system 14 only needs to distinguish between packets in different bursts rather than the exact transmission time of each packet as required in the prior art. Hence, the only fields required in each packet header are one-bit (0 or 1) burst identifier and a packet sequence number. In addition, the inventive method has no bandwidth overhead associated with sending separate packet pairs as in the prior art since the actual video data in the form of a packet burst is used to compute the bandwidth. It is noted that the number of packets in a packet burst may be more than two packets depending on the streaming rate and desired burstiness. In addition, as many streaming media packet sizes are not constant, the number of packets per impulse (i.e., packet burst) varies.
  • Next, [0029] step 240 is performed at the discretion of the operator. This filtering step can be selectively performed by the client system 14 to improve the accuracy of the generated samples BM(t, Δ) prior to selecting the new estimate of the bottleneck bandwidth. For simplicity, the new resulting bandwidth samples after undergoing the filtering process will be referred to as BI(t, Δ) hereinafter. According to the exemplary embodiment of the present invention, there are two types of filtering approaches used to improve the accuracy of the bottleneck bandwidth estimation. The former approach filters the generated samples BM(t, Δ) by maintaining the lifetime of samples A to a predetermined time period. Thus, any bandwidth samples generated that exceed a threshold sample lifetime would be eliminated from the BM(t, Δ) in step 242. In the preferred embodiment, the recommended values Δ range between 30 and 300 seconds.
  • On the other hand, the latter approach relates to reducing the amount of error introduced by random and deterministic delays inside the OS kernel of the [0030] client system 14 in delivering packets to the application layer (i.e., process scheduling delays, delays caused by low-resolution clock in the data-link layer). FIG. 6 illustrates this type of undesirable delays, namely packet compression and packet expansion, which alter the spacing between packets. Here, the packet compression refers to packets in a burst that arrive to the client system 14 with the spacing smaller than the inter-packet delay introduced by the bottleneck link. This type of compression can occur, for example, if the first packet in a pair encounters a large queuing delay at some high-speed interface after going through the bottleneck router, and the second packet catches up with the first packet by encountering no or little queuing delay at the same interface. As shown in FIG. 6, the first packet of burst i (the burst in the middle) is delayed by the OS of the client system 14 until the second packet of the same burst is received by the kernel. Then, both packets are scheduled and delivered to the application layer. In such a case, the application can erroneously identify the beginning of burst i and use smaller burst length Δti (instead of ΔTi) in its computation of ERBPPm bandwidth. The packet expansion refers to packets arriving to the client system 14 with the spacing larger than the one ideally introduced by the bottleneck link. The expansion can occur before or after passing the bottleneck router. As a consequence, the client system 14 can erroneously measure the bandwidth based on the expanded packet pair rather than the rate of the bottleneck link.
  • In order to eliminate an inaccurate estimation that may be caused by either the compression or expansion events, the exemplary embodiment of the present invention provides a filtering process to eliminate inaccurate bandwidth estimations out of the collected samples B[0031] M(t, Δ) that is caused by the compression and/or expansion in step 244. The principle of the filtering operation is based on comparing the values of observed burst durations, Db i and Db i−1 with the ideal value Db for each received burst i. That is, the inaccurate bandwidth samples encountering the OS-related delay are determined based on the quantity difference between an ideal burst duration prior to encountering the OS delay and an actual burst duration after encountering the OS delay. Referring to FIG. 6, the length of each burst has a fixed duration of Db time units (i.e., one burst is generated every Db time units). If no significant compression occurs during the transmission, the respective burst lengths between the top and bottom graphs of FIG. 6 will agree. Thus, in cases when they do not agree or if the burst duration Db i (the actual burst duration) deviates from Db (the ideal burst duration) for more than α percent, the compression/expansion event is inferred. To state otherwise, if both |1−Db i/Db|≦α and |1−D b i−1/D|≦α, then the corresponding bandwidth sample will be kept in set BM(t, Δ) and will be eliminated otherwise in step 244. A suggested value of α, for example, ranges between 5% and 40%. For simplicity, the ERBPPm method with α-percent filtering is referred to as ERBPPm−α hereinafter.
  • Finally, in [0032] step 260, the client system 14 according to the present invention determines a new real-time bandwidth from the set of filtered samples BI(t, Δ) (note that if the filtering step 240 is not performed, set BI(t, Δ) is equal to set BM(t, Δ)) by determining a single estimate bEST(t) representing the current value of the bottleneck link at time t. Here, the estimation of bEST(t) is divided into two approaches, the median approach or the statistical approach of set BI(t, Δ). The median mode is applied to low-speed links (below 128 Kbps) in step 264, while the statistical mode is applied to high-speed links (above 128 Kbps) in step 262. The statistical mode of a set is such value x where the probability distribution function (PDF)j(x) of the set reaches its maximum. In practice, the PDF is not known for finite sets and is usually replaced by the histogram of the set. The histogram of a set is computed by partitioning the set of values contained in the set into equal-size bins and computing the percentage of samples from the set that fall into each bin. The middle of the bin with the highest percentage is then selected as the mode of the set. For this invention, the suggested values for the bin size are between 1 Kbps and 5 Kbps. Accordingly, estimates bEST(t) can be used for congestion control or other purposes at any required time t through the use of the median or mode of set BI(t,Δ). Furthermore, if a multi-channel link is deployed (or believed to be deployed by the client) between the server system 12 and the client system 14, the client will use the ERBPPm+ method rather than the ERBPPm method (note that if the filtering step 240 is not performed, set BI(t, Δ) is equal to set BM(t, Δ)).
  • In summary, the present invention provides a new bandwidth estimation mechanism, which achieves significant performance improvements over the existing bandwidth estimation algorithms. Having thus described a preferred embodiment for estimating the bottleneck bandwidth over a digital communications link, it should be apparent to those skilled in the art that certain advantages of the system have been achieved. The foregoing is to be constructed as only being an illustrative embodiment of this invention. Thus, persons skilled in the art can easily conceive of alternative arrangements providing a function similar to this embodiment without any deviation from the fundamental principles or the scope of this invention. [0033]

Claims (26)

What is claimed is:
1. A method for estimating a bottleneck bandwidth used to support estimation of the bottleneck bandwidth between a server and a client in a communication system, the method comprising the steps of:
(a) transmitting a plurality of bursts comprised of packets from said server to said client via a bottleneck link of said system;
(b) computing a set of bandwidth samples from each of said bursts received by said client; and,
(c) determining a best bottleneck bandwidth from said computed bandwidth samples, for the following transmission of data packets from said server to said client.
2. The method of claim 1, further comprising the step of filtering for inaccurate bandwidth samples from said computed bandwidth samples by rejecting bandwidth samples having a sample life time greater than a threshold bandwidth lifetime.
3. The method of claim 1, further comprising the step of filtering for inaccurate bandwidth samples from said computed bandwidth samples by rejecting bandwidth samples encountering an operating system (OS) delay of said client system.
4. The method of claim 3, wherein the bandwidth samples encountering said OS delay is determined based on a quantity difference between an ideal burst duration prior to encountering said OS delay and an actual burst duration after encountering said OS delay.
5. The method of claim 1, further comprising the step of filtering for inaccurate bandwidth samples from said computed bandwidth samples by rejecting bandwidth samples having a retransmitted packet.
6. The method of claim 1, wherein the plurality of said packet bursts is transmitted at a maximum speed by said server system so that the inter-packet delay is introduced in each of said bursts.
7. The method of claim 1, wherein said new bandwidth corresponds to a median value of said computed bandwidth samples for a low speed link.
8. The method of claim 1, wherein said new bandwidth corresponds to the statistical mode of said computed bandwidth samples for a high speed link.
9. The method of claim 1, where in said new bandwidth corresponds to a minimum bandwidth of said computed bandwidth samples if a multi-channel link is deployed between said server and said client.
10. The method of claim 1, further comprising the step of eliminating bandwidth samples having a missing packet within each of said bursts.
11. The method of claim 1, wherein said bandwidth samples for each of said burst is computed based on a difference between an inter-packet spacing between the first and the last packet within each of said burst.
12. A method for estimating a bottleneck bandwidth used to support congestion control between a server and a client, the method comprising the steps of:
(a) transmitting by said server through a bottleneck link a plurality of burst comprised of packets to said client at a maximum rate;
(b) computing by said client a set of bandwidth samples for each of said burst packet, said bottleneck bandwidth being a difference between an inter-packet spacing between the first and the last packet within each of said bursts;
(c) filtering said computed bandwidth samples according to predetermined criteria; and,
(d) determining a new bottleneck bandwidth for the following transmission of data packets between said server and said client,
wherein determination of said new bottleneck bandwidth is based on said computed bandwidth samples and said and said filtering step.
13. The method of claim 12, wherein the step of computing said bandwidth samples comprises the steps of:
determining the start time and the end time of the reception of the first and the last packet within each of said bursts;
determining the packet size of the second packet and the last packet for each of said bursts; and,
computing said bandwidth samples based on a difference between the packet size of the second packet and the last packet, divided by a difference between an inter-packet spacing duration between the first and the last packet within each of said bursts.
14. The method of claim 12, wherein the plurality of said packet bursts is transmitted at a maximum rate by said server system so that the inter-packet delay is introduced in each of said bursts.
15. The method of claim 12, wherein the step of filtering said computed bandwidth samples comprises the step of rejecting bandwidth samples having a sample life time greater than a threshold bandwidth lifetime.
16. The method of claim 12, wherein the step of filtering said computed bandwidth samples comprises the step of rejecting bandwidth samples encountering an operating system (OS) delay of said client system.
17. The method of claim 16, wherein the bandwidth samples encountering said OS delay is determined based on a quantity difference between an ideal burst duration prior to encountering said OS delay and an actual burst duration after encountering said OS delay.
18. The method of claim 12, wherein the step of filtering said computed bandwidth samples comprises the step of rejecting bandwidth samples having a retransmitted packet.
19. The method of claim 12, wherein said new bandwidth corresponds to a median value of said computed bandwidth samples for a low speed link.
20. The method of claim 12, wherein said new bandwidth corresponds to the statistical mode of said computed bandwidth samples for a high speed link.
21. The method of claim 12, where in said new bandwidth corresponds to a minimum bandwidth of said computed bandwidth samples if a multi-channel link is deployed between said server and said client.
22. The method of claim 12, further comprising the step of eliminating bandwidth samples having a missing packet within each of said bursts.
23. A device for estimating a bottleneck bandwidth used to support congestion control between a server and a client, the method comprising the steps of:
means for transmitting plurality of bursts comprised of packets;
means for receiving said burst packets via a bottleneck link;
means for generating a set of bandwidth samples based on a difference between an inter-packet spacing between the first and the last packet within each of said bursts; and,
means for determining a new bottleneck bandwidth from said generated bandwidth samples for the following transmission of data packets between said server and said client.
24. The device of claim 23, further comprising a means for filtering said generated bandwidth samples by eliminating one of said generated bandwidth samples exceeding a threshold bandwidth lifetime.
25. The device of claim 23, further comprising a means for filtering said generated bandwidth samples by eliminating one of said generated bandwidth samples encountering an operating system (OS) delay of said client.
26. The device of claim 23, further comprising a means for filtering said generated bandwidth samples by eliminating one of said generated bandwidth samples having a retransmitted packet.
US09/837,936 2001-04-19 2001-04-19 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet Abandoned US20020169880A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US09/837,936 US20020169880A1 (en) 2001-04-19 2001-04-19 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
JP2002584651A JP2004524782A (en) 2001-04-19 2002-04-18 Method and apparatus for robust real-time estimation of bottleneck bandwidth in the Internet
CNA028012798A CN1488214A (en) 2001-04-19 2002-04-18 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
EP02724549A EP1382219B1 (en) 2001-04-19 2002-04-18 Method and device for robust real-time estimation of bottleneck bandwidth
PCT/IB2002/001435 WO2002087276A2 (en) 2001-04-19 2002-04-18 Method and device for robust real-time estimation of bottleneck bandwidth
KR1020027017262A KR20030058946A (en) 2001-04-19 2002-04-18 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet
AT02724549T ATE321428T1 (en) 2001-04-19 2002-04-18 METHOD AND DEVICE FOR ROBUST REAL-TIME ESTIMATION OF THE BOTTLE BANDWIDTH
DE60210060T DE60210060D1 (en) 2001-04-19 2002-04-18 Method and apparatus for robust real-time estimation of bottleneck bandwidth

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/837,936 US20020169880A1 (en) 2001-04-19 2001-04-19 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet

Publications (1)

Publication Number Publication Date
US20020169880A1 true US20020169880A1 (en) 2002-11-14

Family

ID=25275837

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/837,936 Abandoned US20020169880A1 (en) 2001-04-19 2001-04-19 Method and device for robust real-time estimation of the bottleneck bandwidth in the internet

Country Status (8)

Country Link
US (1) US20020169880A1 (en)
EP (1) EP1382219B1 (en)
JP (1) JP2004524782A (en)
KR (1) KR20030058946A (en)
CN (1) CN1488214A (en)
AT (1) ATE321428T1 (en)
DE (1) DE60210060D1 (en)
WO (1) WO2002087276A2 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030152080A1 (en) * 2002-02-12 2003-08-14 O'brien Royal System and method for fault tolerant multimedia communication
US20030193893A1 (en) * 2000-03-30 2003-10-16 Wen Han C. Method for accelerating TCP flows in communication networks with dynamic control
US20040044761A1 (en) * 2002-09-03 2004-03-04 Phillipi Mark P. Systems and methods for broadband network optimization
US20050071876A1 (en) * 2003-09-30 2005-03-31 Van Beek Petrus J. L. Wireless video transmission system
US20050083849A1 (en) * 2003-10-15 2005-04-21 Yong Rui Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering
US20050132068A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Estimating bandwidth of client-ISP link
US20050188407A1 (en) * 2004-02-23 2005-08-25 Van Beek Petrus J.L. Wireless video transmission system
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system
US20060095943A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Packet scheduling for video transmission with sender queue control
US20060182039A1 (en) * 2005-02-15 2006-08-17 Microsoft Corporation High-accuracy packet pair for network bottleneck bandwidth measurement
US20070067480A1 (en) * 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US20070147371A1 (en) * 2005-09-26 2007-06-28 The Board Of Trustees Of Michigan State University Multicast packet video system and hardware
US20070153916A1 (en) * 2005-12-30 2007-07-05 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7248564B1 (en) 2001-04-30 2007-07-24 Network Physics, Inc. Method for determining network congestion and link capacities
US7274740B2 (en) 2003-06-25 2007-09-25 Sharp Laboratories Of America, Inc. Wireless video transmission system
US20070236599A1 (en) * 2006-03-31 2007-10-11 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
US20080069201A1 (en) * 2006-09-18 2008-03-20 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
US20080107173A1 (en) * 2006-11-03 2008-05-08 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US20080205270A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Strategies for Selecting a Format for Data Transmission Based on Measured Bandwidth
CN100421396C (en) * 2005-11-18 2008-09-24 史文勇 Method and system for measuring bottleneck bandwidth and remanent bandwidth
US20090190493A1 (en) * 2004-01-14 2009-07-30 Tsuneo Nakata Speed calculation system
US20100110922A1 (en) * 2008-10-31 2010-05-06 Kanapathipillai Ketheesan Method and Apparatus for Estimating Channel Bandwidth
US20110176429A1 (en) * 2008-09-22 2011-07-21 Andreas Johnsson Method, arrangement and system for monitoring a data path in a communication network
US20130063441A1 (en) * 2011-09-09 2013-03-14 Laura Choy Measuring and Displaying Bandwidth Contention
US9215157B2 (en) 2011-11-04 2015-12-15 Microsoft Technology Licensing, Llc Adaptive bandwidth estimation
US20160285730A1 (en) * 2015-03-25 2016-09-29 Fujitsu Limited Apparatus and method for measuring a bandwidth for data transmission between communication devices
US20170026259A1 (en) * 2015-07-24 2017-01-26 Nvidia Corporation System and method for jitter-aware bandwidth estimation
WO2019036806A1 (en) * 2017-08-22 2019-02-28 Dejero Labs Inc. System and method for assessing communication resources
US10320684B2 (en) * 2013-03-15 2019-06-11 PME IP Pty Ltd Method and system for transferring data to improve responsiveness when sending large data sets
US20190273684A1 (en) * 2005-04-28 2019-09-05 Nytell Software LLC Call Admission Control and Preemption Control Over a Secure Tactical Network
US10873520B2 (en) * 2018-07-02 2020-12-22 Hewlett Packard Enterprise Development Lp Packet batching identification
US11895532B2 (en) 2021-01-05 2024-02-06 Apple Inc. Detecting cellular network bottlenecks using data allocation patterns

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1514586B (en) * 2002-12-31 2011-05-11 中兴通讯股份有限公司 Testing method of data communication equipment of imitating multiuser, multi connection
ITBA20030039A1 (en) * 2003-08-29 2005-02-28 Grieco Luigi Alfredo RATE-BASED CONGESTION CONTROL OF THE ENTERING TRAFFIC
WO2005083880A1 (en) 2004-02-20 2005-09-09 Gct Semiconductor, Inc. Improvement of the coarse tuning time in pll with lc oscillator
JP4506222B2 (en) * 2004-03-18 2010-07-21 ソニー株式会社 COMMUNICATION SYSTEM, TRANSMISSION DEVICE AND METHOD, AND PROGRAM
CN1312881C (en) * 2004-09-09 2007-04-25 复旦大学 Method for real timed monitoring stream data sudden change
CN100446479C (en) * 2005-03-10 2008-12-24 同济大学 Method for measuring end-to-end available bandwidth based on network compact link position
US7778179B2 (en) * 2005-11-23 2010-08-17 Telefonaktiebolaget L M Ericsson (Publ) Using filtering and active probing to evaluate a data transfer path
JP5194562B2 (en) * 2007-05-28 2013-05-08 日本電気株式会社 Link bandwidth estimation apparatus and link bandwidth estimation method
US8908540B2 (en) * 2009-02-13 2014-12-09 Toshiba America Research, Inc. Efficient and loss tolerant method and mechanism for measuring available bandwidth
KR101643552B1 (en) * 2010-06-17 2016-07-29 삼성전자 주식회사 Method and apparatus for estimating available bandwidth and capacity of network paths in communication systems
CA3048055A1 (en) 2016-12-21 2018-06-28 Dejero Labs Inc. Packet transmission system and method
CN111405319B (en) * 2020-03-31 2021-07-23 北京达佳互联信息技术有限公司 Bandwidth determination method and device, electronic equipment and storage medium

Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626470A (en) * 1984-06-29 1986-12-02 Hitachi, Ltd. Impregnated cathode
US4783613A (en) * 1986-05-28 1988-11-08 Hitachi, Ltd. Impregnated cathode
US5274625A (en) * 1992-09-10 1993-12-28 International Business Machines Corporation Traffic measurements in packet communications networks
US5359593A (en) * 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
US5815492A (en) * 1996-06-20 1998-09-29 International Business Machines Corporation Dynamic bandwidth estimation and adaptation in high speed packet switching networks
US5884037A (en) * 1996-10-21 1999-03-16 International Business Machines Corporation System for allocation of network resources using an autoregressive integrated moving average method
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6047326A (en) * 1997-03-20 2000-04-04 Nokia Telecommunications, Oy Accounting system and method for a nominal bit rate network service
US6104392A (en) * 1997-11-13 2000-08-15 The Santa Cruz Operation, Inc. Method of displaying an application on a variety of client devices in a client/server network
US6144638A (en) * 1997-05-09 2000-11-07 Bbn Corporation Multi-tenant unit
US6233233B1 (en) * 1997-04-09 2001-05-15 Mercury Corporation Distributed packet handling apparatus for use in a packet switch
US6240527B1 (en) * 1997-09-05 2001-05-29 Roxio, Inc. Method software and apparatus for saving using and recovering data
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6298041B1 (en) * 1996-11-01 2001-10-02 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6515618B1 (en) * 2000-11-29 2003-02-04 Trimble Navigation Ltd. Fault detection and exclusion in a positioning system receiver
US6526022B1 (en) * 1998-06-30 2003-02-25 Sun Microsystems Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
US6570912B1 (en) * 1999-03-05 2003-05-27 Pctel, Inc. Hybrid software/hardware discrete multi-tone transceiver
US6606316B1 (en) * 1999-07-02 2003-08-12 Cisco Technology, Inc. Gathering network statistics in a distributed network service environment
US6614763B1 (en) * 1999-02-04 2003-09-02 Fujitsu Limited Method of and apparatus for measuring network communication performances, as well as computer readable record medium having network communication performance measuring program stored therein
US6633540B1 (en) * 1999-07-02 2003-10-14 Nokia Internet Communications, Inc. Real-time traffic shaper with keep-alive property for best-effort traffic
US6647424B1 (en) * 1998-05-20 2003-11-11 Nortel Networks Limited Method and apparatus for discarding data packets
US6658457B2 (en) * 1999-03-19 2003-12-02 Fujitsu Limited Device and method for interconnecting distant networks through dynamically allocated bandwidth
US6785893B2 (en) * 2000-11-30 2004-08-31 Microsoft Corporation Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US6859836B2 (en) * 2000-03-29 2005-02-22 Massoud Alibakhsh System and method for providing look ahead socket generation
US6865510B2 (en) * 2002-12-12 2005-03-08 Ugs Corp. Adaptive asymmetric network connectivity probing system and method
US6874032B2 (en) * 1998-06-26 2005-03-29 Verizon Laboratories Inc. Method and system for burst congestion control in an internet protocol network
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6885641B1 (en) * 1999-03-12 2005-04-26 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
US6894974B1 (en) * 2000-05-08 2005-05-17 Nortel Networks Limited Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US20050108420A1 (en) * 2000-08-09 2005-05-19 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
US6901051B1 (en) * 1999-11-15 2005-05-31 Fujitsu Limited Server-based network performance metrics generation system and method
US6901357B1 (en) * 1999-12-14 2005-05-31 Microsoft Corporation System and method for simulating network connection characteristics
US6907460B2 (en) * 2001-01-18 2005-06-14 Koninklijke Philips Electronics N.V. Method for efficient retransmission timeout estimation in NACK-based protocols
US6910024B2 (en) * 2000-02-04 2005-06-21 Hrl Laboratories, Llc System for pricing-based quality of service (PQoS) control in networks
US6963912B1 (en) * 1999-06-28 2005-11-08 Xacct Technologies, Ltd. Method and apparatus for session reconstruction

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626470A (en) * 1984-06-29 1986-12-02 Hitachi, Ltd. Impregnated cathode
US4783613A (en) * 1986-05-28 1988-11-08 Hitachi, Ltd. Impregnated cathode
US5274625A (en) * 1992-09-10 1993-12-28 International Business Machines Corporation Traffic measurements in packet communications networks
US5359593A (en) * 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
US5815492A (en) * 1996-06-20 1998-09-29 International Business Machines Corporation Dynamic bandwidth estimation and adaptation in high speed packet switching networks
US5884037A (en) * 1996-10-21 1999-03-16 International Business Machines Corporation System for allocation of network resources using an autoregressive integrated moving average method
US6298041B1 (en) * 1996-11-01 2001-10-02 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6047326A (en) * 1997-03-20 2000-04-04 Nokia Telecommunications, Oy Accounting system and method for a nominal bit rate network service
US6233233B1 (en) * 1997-04-09 2001-05-15 Mercury Corporation Distributed packet handling apparatus for use in a packet switch
US6144638A (en) * 1997-05-09 2000-11-07 Bbn Corporation Multi-tenant unit
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6240527B1 (en) * 1997-09-05 2001-05-29 Roxio, Inc. Method software and apparatus for saving using and recovering data
US6104392A (en) * 1997-11-13 2000-08-15 The Santa Cruz Operation, Inc. Method of displaying an application on a variety of client devices in a client/server network
US6362836B1 (en) * 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6647424B1 (en) * 1998-05-20 2003-11-11 Nortel Networks Limited Method and apparatus for discarding data packets
US6874032B2 (en) * 1998-06-26 2005-03-29 Verizon Laboratories Inc. Method and system for burst congestion control in an internet protocol network
US6526022B1 (en) * 1998-06-30 2003-02-25 Sun Microsystems Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
US6614763B1 (en) * 1999-02-04 2003-09-02 Fujitsu Limited Method of and apparatus for measuring network communication performances, as well as computer readable record medium having network communication performance measuring program stored therein
US6570912B1 (en) * 1999-03-05 2003-05-27 Pctel, Inc. Hybrid software/hardware discrete multi-tone transceiver
US6885641B1 (en) * 1999-03-12 2005-04-26 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
US6658457B2 (en) * 1999-03-19 2003-12-02 Fujitsu Limited Device and method for interconnecting distant networks through dynamically allocated bandwidth
US6963912B1 (en) * 1999-06-28 2005-11-08 Xacct Technologies, Ltd. Method and apparatus for session reconstruction
US6606316B1 (en) * 1999-07-02 2003-08-12 Cisco Technology, Inc. Gathering network statistics in a distributed network service environment
US6633540B1 (en) * 1999-07-02 2003-10-14 Nokia Internet Communications, Inc. Real-time traffic shaper with keep-alive property for best-effort traffic
US6901051B1 (en) * 1999-11-15 2005-05-31 Fujitsu Limited Server-based network performance metrics generation system and method
US6901357B1 (en) * 1999-12-14 2005-05-31 Microsoft Corporation System and method for simulating network connection characteristics
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6910024B2 (en) * 2000-02-04 2005-06-21 Hrl Laboratories, Llc System for pricing-based quality of service (PQoS) control in networks
US6859836B2 (en) * 2000-03-29 2005-02-22 Massoud Alibakhsh System and method for providing look ahead socket generation
US6894974B1 (en) * 2000-05-08 2005-05-17 Nortel Networks Limited Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US20050108420A1 (en) * 2000-08-09 2005-05-19 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
US6807156B1 (en) * 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US6515618B1 (en) * 2000-11-29 2003-02-04 Trimble Navigation Ltd. Fault detection and exclusion in a positioning system receiver
US6785893B2 (en) * 2000-11-30 2004-08-31 Microsoft Corporation Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur
US6907460B2 (en) * 2001-01-18 2005-06-14 Koninklijke Philips Electronics N.V. Method for efficient retransmission timeout estimation in NACK-based protocols
US6865510B2 (en) * 2002-12-12 2005-03-08 Ugs Corp. Adaptive asymmetric network connectivity probing system and method

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193893A1 (en) * 2000-03-30 2003-10-16 Wen Han C. Method for accelerating TCP flows in communication networks with dynamic control
US7333431B2 (en) 2000-03-30 2008-02-19 Network Physics, Inc. Method for accelerating TCP flows in communication networks with dynamic control
US7248564B1 (en) 2001-04-30 2007-07-24 Network Physics, Inc. Method for determining network congestion and link capacities
US7551560B1 (en) * 2001-04-30 2009-06-23 Opnet Technologies, Inc. Method of reducing packet loss by resonance identification in communication networks
US20030152080A1 (en) * 2002-02-12 2003-08-14 O'brien Royal System and method for fault tolerant multimedia communication
US7305464B2 (en) * 2002-09-03 2007-12-04 End Ii End Communications, Inc. Systems and methods for broadband network optimization
US20040044761A1 (en) * 2002-09-03 2004-03-04 Phillipi Mark P. Systems and methods for broadband network optimization
US7274740B2 (en) 2003-06-25 2007-09-25 Sharp Laboratories Of America, Inc. Wireless video transmission system
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
EP1521476A1 (en) * 2003-09-30 2005-04-06 Sharp Kabushiki Kaisha Wireless video transmission
US20050071876A1 (en) * 2003-09-30 2005-03-31 Van Beek Petrus J. L. Wireless video transmission system
US9325998B2 (en) 2003-09-30 2016-04-26 Sharp Laboratories Of America, Inc. Wireless video transmission system
US8817645B2 (en) 2003-10-15 2014-08-26 Microsoft Corporation Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering
US20050083849A1 (en) * 2003-10-15 2005-04-21 Yong Rui Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering
US8068436B2 (en) * 2003-10-15 2011-11-29 Microsoft Corporation Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering
US7475129B2 (en) * 2003-12-12 2009-01-06 International Business Machines Corporation Estimating bandwidth of client-ISP link
US20050132068A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Estimating bandwidth of client-ISP link
US20090190493A1 (en) * 2004-01-14 2009-07-30 Tsuneo Nakata Speed calculation system
US7965648B2 (en) 2004-01-14 2011-06-21 Nec Corporation Speed calculation system
US20050188407A1 (en) * 2004-02-23 2005-08-25 Van Beek Petrus J.L. Wireless video transmission system
US8018850B2 (en) 2004-02-23 2011-09-13 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7797723B2 (en) 2004-10-30 2010-09-14 Sharp Laboratories Of America, Inc. Packet scheduling for video transmission with sender queue control
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system
US7784076B2 (en) 2004-10-30 2010-08-24 Sharp Laboratories Of America, Inc. Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20060095943A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Packet scheduling for video transmission with sender queue control
US8356327B2 (en) 2004-10-30 2013-01-15 Sharp Laboratories Of America, Inc. Wireless video transmission system
US20060182039A1 (en) * 2005-02-15 2006-08-17 Microsoft Corporation High-accuracy packet pair for network bottleneck bandwidth measurement
US7545749B2 (en) * 2005-02-15 2009-06-09 Microsoft Corporation High-accuracy packet pair for network bottleneck bandwidth measurement
US11811661B2 (en) * 2005-04-28 2023-11-07 Nytell Software LLC Call admission control and preemption control over a secure tactical network
US20190273684A1 (en) * 2005-04-28 2019-09-05 Nytell Software LLC Call Admission Control and Preemption Control Over a Secure Tactical Network
US20070067480A1 (en) * 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US20070147371A1 (en) * 2005-09-26 2007-06-28 The Board Of Trustees Of Michigan State University Multicast packet video system and hardware
CN100421396C (en) * 2005-11-18 2008-09-24 史文勇 Method and system for measuring bottleneck bandwidth and remanent bandwidth
US20070153916A1 (en) * 2005-12-30 2007-07-05 Sharp Laboratories Of America, Inc. Wireless video transmission system
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7652994B2 (en) 2006-03-31 2010-01-26 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
US20070236599A1 (en) * 2006-03-31 2007-10-11 Sharp Laboratories Of America, Inc. Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels
US8861597B2 (en) 2006-09-18 2014-10-14 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US20080069201A1 (en) * 2006-09-18 2008-03-20 Sharp Laboratories Of America, Inc. Distributed channel time allocation for video streaming over wireless networks
US7652993B2 (en) 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US20080107173A1 (en) * 2006-11-03 2008-05-08 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US20080205270A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Strategies for Selecting a Format for Data Transmission Based on Measured Bandwidth
US8139487B2 (en) * 2007-02-28 2012-03-20 Microsoft Corporation Strategies for selecting a format for data transmission based on measured bandwidth
US8687507B2 (en) * 2008-09-22 2014-04-01 Telefonaktiebolaget L M Ericsson (Publ) Method, arrangement and system for monitoring a data path in a communication network
US20110176429A1 (en) * 2008-09-22 2011-07-21 Andreas Johnsson Method, arrangement and system for monitoring a data path in a communication network
US20100110922A1 (en) * 2008-10-31 2010-05-06 Kanapathipillai Ketheesan Method and Apparatus for Estimating Channel Bandwidth
US8937877B2 (en) * 2008-10-31 2015-01-20 Venturi Ip Llc Channel bandwidth estimation on hybrid technology wireless links
US20150124603A1 (en) * 2008-10-31 2015-05-07 Venturi Ip Llc Channel Bandwidth Estimation on Hybrid Technology Wireless Links
US8116225B2 (en) 2008-10-31 2012-02-14 Venturi Wireless Method and apparatus for estimating channel bandwidth
US20120106385A1 (en) * 2008-10-31 2012-05-03 Kanapathipillai Ketheesan Channel bandwidth estimation on hybrid technology wireless links
US9674729B2 (en) * 2008-10-31 2017-06-06 Venturi Wireless, Inc. Channel bandwidth estimation on hybrid technology wireless links
US9094290B2 (en) * 2011-09-09 2015-07-28 Ixia Measuring and displaying bandwidth contention
US20130063441A1 (en) * 2011-09-09 2013-03-14 Laura Choy Measuring and Displaying Bandwidth Contention
US9215157B2 (en) 2011-11-04 2015-12-15 Microsoft Technology Licensing, Llc Adaptive bandwidth estimation
US10320684B2 (en) * 2013-03-15 2019-06-11 PME IP Pty Ltd Method and system for transferring data to improve responsiveness when sending large data sets
US20160285730A1 (en) * 2015-03-25 2016-09-29 Fujitsu Limited Apparatus and method for measuring a bandwidth for data transmission between communication devices
US10298475B2 (en) * 2015-07-24 2019-05-21 Nvidia Corporation System and method for jitter-aware bandwidth estimation
US20170026259A1 (en) * 2015-07-24 2017-01-26 Nvidia Corporation System and method for jitter-aware bandwidth estimation
WO2019036806A1 (en) * 2017-08-22 2019-02-28 Dejero Labs Inc. System and method for assessing communication resources
US11909593B2 (en) 2017-08-22 2024-02-20 Dejero Labs Inc. System and method for assessing communication resources
US10873520B2 (en) * 2018-07-02 2020-12-22 Hewlett Packard Enterprise Development Lp Packet batching identification
US11895532B2 (en) 2021-01-05 2024-02-06 Apple Inc. Detecting cellular network bottlenecks using data allocation patterns

Also Published As

Publication number Publication date
KR20030058946A (en) 2003-07-07
DE60210060D1 (en) 2006-05-11
ATE321428T1 (en) 2006-04-15
CN1488214A (en) 2004-04-07
WO2002087276A2 (en) 2002-10-31
WO2002087276A3 (en) 2003-09-18
EP1382219B1 (en) 2006-03-22
EP1382219A2 (en) 2004-01-21
JP2004524782A (en) 2004-08-12

Similar Documents

Publication Publication Date Title
EP1382219B1 (en) Method and device for robust real-time estimation of bottleneck bandwidth
US6934256B1 (en) Method of detecting non-responsive network flows
US20020080726A1 (en) System and method for determining network throughput speed and streaming utilization
US7200111B2 (en) Method for improving TCP performance over wireless links
US6614763B1 (en) Method of and apparatus for measuring network communication performances, as well as computer readable record medium having network communication performance measuring program stored therein
US7558202B2 (en) Estimating available bandwidth with multiple overloading streams
US6757255B1 (en) Apparatus for and method of measuring communication performance
Parsa et al. Improving TCP congestion control over internets with heterogeneous transmission media
EP1332584B1 (en) Method for monitoring quality of service
US7545749B2 (en) High-accuracy packet pair for network bottleneck bandwidth measurement
US7843815B2 (en) Estimation of time-varying latency based on network trace information
EP1337061B1 (en) Method of dynamically transmitting data packets using RTP and RTCP protocols
US7945661B2 (en) Real time monitoring of TCP flows
US6560198B1 (en) Method and system for stabilized random early detection using packet sampling
US20050232227A1 (en) Method and apparatus for characterizing an end-to-end path of a packet-based network
US20020044528A1 (en) Flow control method and apparatus
RU2695093C2 (en) Method for performing communication bandwidth testing from first network station to second network station in communication network, corresponding devices for executing steps of method and corresponding computer programs
US20040037223A1 (en) Edge-to-edge traffic control for the internet
Alfredo Grieco et al. End-to-end bandwidth estimation for congestion control in packet networks
Benaboud et al. CANIT: a new algorithm to improve the fairness of TCP congestion avoidance
JP2005269364A (en) Method and device for detecting communication passage state
Antonyuk Performance Evaluation of Computer Campus Network Segments
Hristov et al. Simulation and evaluation of the bandwidth estimation algorithm with various types of filters
Even An Experimental Investigation of TCP Performance in High Bandwidth-Delay Product Paths.
Premalatha et al. Mitigating congestion in wireless networks by using TCP variants

Legal Events

Date Code Title Description
AS Assignment

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., NETHERLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LOGUINOV, DMITRI;RADHA, HAYDER;REEL/FRAME:011739/0328;SIGNING DATES FROM 20010322 TO 20010326

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION