Abstract—In this paper, we describe a receiver based congestion control policy that leverages TCP flow control mechanisms to prioritize mixed traffic loads across access links. We manage queuing at the access link to: (1) improve the response time of interactive network applications; (2) reduce congestion-related packet losses; while (3) maintaining high throughput for bulk-transfer applications. Our policy controls queue length by manipulating receive socket buffer sizes. We have implemented this solution in a dynamically loadable Linux kernel module, and tested it over low bandwidth links. Our approach yields a 7-fold improvement in packet latency over an unmodified system while maintaining link utilization at 94%. In the common case, congestionrelated packet losses at the access link can be eliminated. Finally, by prioritizing short flows, we show that our system reduces the time to download a complex web page during a large background transfer by a factor of two.
Neil T. Spring, Maureen Chesire, Mark Berryman, Vi