Saturday, September 25, 2010

A Conjecture on Bandwidth Estimation

After discussing in class a couple of peer-selection algorithms for enhanced peer-to-peer data transfer performance, along with a couple of techniques related to video broadcasting and incremental peer optimization, I asked myself how much would the Internet benefit if a fast, accurate estimate of the theoretical maximum throughput, minimum latency, and expected data loss rate could be obtained for any arbitrary connection between two hosts. Some of the benefits I imagined include:
  • More efficient overlays, either via IP multicast or peer-to-peer applications, for multicasting applications.
  • Better match-making for online games. Users that are near each other could be more likely to be matched together to improve latency and performance.
  • Easier estimates for expected bandwidth and latency based on the theoretical values and the current load on both hosts.
  • Better TCP utilization. Instead of a TCP connection gradually raising its transfer rate and then halving the rate when packets are dropped, a smarter algorithm might attempt to maintain a steady transfer state around a computed expected bandwidth and latency. In addition, dynamic ACK timeout values could be derived to avoid premature packet re-transfer.
  • Better user warnings and errors for applications with strict latency/bandwidth requirements like voice/video conferencing and video streaming. Before the application even begins to transfer data, warnings could be displayed to the user that the potential or expected bandwidth or latency between connection is lower than is required for the service to operate smoothly.
I do not know what infrastructure changes would be required to enable such a feature in the Internet or how much trust would be placed between nodes to provide honest answers to bandwidth and latency queries, but it seems that such a feature would have a positive impact on current Internet applications.

No comments: