Per-flow congestion control helps endpoints fairly and efficiently share network resources. Better utilization of network resources can be achieved, however, if congestion management algorithms can determine when two different flows share a congested link. Such knowledge can be used to implement cooperative congestion control or improve the overlay topology of a P2P system. Previous techniques to detect shared congestion either assume a common source or destination node, drop-tail queueing, or a single point of congestion. We propose in this paper a novel technique, applicable to any pair of paths on the Internet, without such limitations. Our technique employs a signal processing method, wavelet denoising, to separate queueing delay caused by network congestion from various other delay variations. Our wavelet-based technique is evaluated through both simulations and Internet experiments. We show that, when detecting shared congestion of paths with a common endpoint, our technique provides faster convergence and higher accuracy while using fewer packets than previous techniques, and that it also accurately determines when there is no shared congestion. Furthermore, we show that our technique is robust and accurate for paths without a common endpoint or synchronized clocks; more specifically, it can tolerate a synchronization offset of up to one second between two packet flows.
Bibliographical noteFunding Information:
Manuscript received October 25, 2005; revised September 14, 2006, and February 19, 2007; first published March 12, 2008; last published August 15, 2008 (projected); approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor D. Veitch. This work was supported in part by the National Science Foundation under Grant ANI-0319168 and Grant CNS-0434515 and by Infnis, Inc., A preliminary version of this paper appeared in the Proceedings of ACM SIGCOMM 2004.
All Science Journal Classification (ASJC) codes
- Computer Science Applications
- Computer Networks and Communications
- Electrical and Electronic Engineering