Preferential Treatment for Short Flows to Reduce Web Latency

Preferential Treatment for Short Flows to Reduce Web Latency

Chen, Xuan and Heidemann, John
USC/Information Sciences Institute

Xuan Chen and John Heidemann 2003. Preferential Treatment for Short Flows to Reduce Web Latency. Computer Networks. 41, 6 (Apr. 2003), 779–794.


In this paper, we propose SFD algorithm to reduce the user-perceived web response time (i.e. web latency). This algorithm gives short flows preferential treatment and penalizes long flows. We implement SFD algorithm as a simple differentiated services policy and evaluate its performance in simulation. We find that the transmission latency of short flows and the response time to retrieve representative web pages are both reduced by about 30%. Using web traces we demonstrate that 99% web pages would be transferred faster. SFD also bounds the penalty to long flows. We further evaluate how different schemes trade-off the performance between short and long flows.


  author = {Chen, Xuan and Heidemann, John},
  title = {Preferential Treatment for Short Flows to Reduce Web Latency},
  journal = {Computer Networks},
  year = {2003},
  sortdate = {2003-04-01},
  project = {ant, saman, conser},
  jsubject = {www},
  volume = {41},
  number = {6},
  month = apr,
  pages = {779--794},
  location = {johnh: pafile},
  url = {},
  externalurl = {!&_cdi=6234&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=6c7e742608f9849149ede82b9c6eead9},
  privatepdfurl = {},
  availability = {
  Copies for personal use can be obtained by an e-mail request to the authors
  or by contacting Elsiver.
  If you are unable to do either of those, an earlier draft of the paper
  is available as a 
  var _paq = _paq || [];
  (function() {
    var u="";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', 3]);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);