A step-wise approach to automatically determining the bandwidth of a
communication channel includes dividing the channel's potential bandwidth
into a number of ranges. An initial range is then selected and a series
of data packets specific to the selected range are transmitted from a
first endpoint to a second endpoint, with the second endpoint determining
one or more channel metrics based on the transmitted packets (e.g.,
measured transmission rates). If the metrics indicate the current range
accurately reflects the channel's bandwidth, a measured transmission rate
of the transmitted data packets is used as the channel's bandwidth.
Otherwise, another range is selected and the process is repeated. The
described approach rapidly determines channel bandwidth, even when the
channel between the two endpoints is asymmetric. Techniques described
herein are particularly beneficial when used in conjunction with
multimedia conferencing applications.