All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Furniss <andy.furniss@dsl.pipex.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] TCP window based shaping
Date: Wed, 09 Feb 2005 01:59:47 +0000	[thread overview]
Message-ID: <42096E93.3020906@dsl.pipex.com> (raw)
In-Reply-To: <42095013.8030600@wildgooses.com>

David Boreham wrote:
> 
>> Does anyone have any pointers on how other people have implemented tcp 
>> window adjustment to do bandwidth shaping?
> 
> 
> Hmm....I _heard_ that Packeteer had patents on this and
> so nobody else was attempting to do it.
> 
> Possibly an incorrect rumor, but it made sense to me.

They say on their site that their algorithm is patented which could be a 
pain if it's the obvious solution.

The more I think about it (probably not enough yet), the more I think 
that just keeping state and depiggybacking acks could achieve much the 
same thing if your shaper is clever enough.

The worst senario for me is bittorrent, and if I could depiggyback the 
acks I don't see that playing with window size on top of that would be 
any better than keeping state so that I had an idea of how much was 
unstoppably on the way.

Closing the window down isn't going to stop what's allready left the 
sender and is sitting in a big modem buffer any quicker than me stopping 
sending acks. Just knowing how lagged out each connection is would be 
enough to allow me to change bandwidth more elegantly without too much 
buffer filling. Not with anything that exists in Linux now - but even 
just hacking HTB/HFSC so that a class could behave as full as soon as it 
sees traffic would be a start. I can allready sort of break slowstart by 
treating new connections harshly (short queue), though it would be nice 
in the case of bittorrent to be able to detect connections that go back 
into slowstart aswell - sfq sort of singles them out, but it's a bit 
late by the time it gets them.

I guess there are other things you could do aswell like trying to 
account for different rtts with the intention of avoiding bursts.

Andy.


_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

  parent reply	other threads:[~2005-02-09  1:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-08 23:49 [LARTC] TCP window based shaping Ed Wildgoose
2005-02-08 23:57 ` David Boreham
2005-02-09  1:59 ` Andy Furniss [this message]
2005-02-09 11:34 ` marco ghidinelli
2005-02-09 22:38 ` Andy Furniss
2005-02-11  2:57 ` Ed Wildgoose
2005-02-11 11:05 ` marco ghidinelli
2005-02-11 18:18 ` Ed Wildgoose
2005-02-11 23:45 ` Ed Wildgoose
2005-02-12  2:16 ` Andy Furniss
2005-02-12 13:19 ` Andy Furniss
2005-02-13  0:46 ` Ed Wildgoose
2005-02-14  0:27 ` marco ghidinelli
2005-02-14  0:38 ` marco ghidinelli
2005-02-15 22:33 ` Andy Furniss
2005-02-15 22:54 ` Andy Furniss
2005-02-16 14:52 ` Ed Wildgoose
2005-02-17  3:45 ` gypsy
2005-02-17 14:09 ` Ed Wildgoose
2005-03-12 10:10 ` Ow Mun Heng
2005-03-15 15:24 ` Ed Wildgoose
2005-03-16  7:46 ` Ow Mun Heng
2005-07-09  4:01 ` Don Cohen
2005-07-10 19:55 ` Andy Furniss
2005-07-12  1:50 ` TAKANO Ryousei
2005-07-12  8:46 ` Andy Furniss
2005-07-12 13:44 ` TAKANO Ryousei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42096E93.3020906@dsl.pipex.com \
    --to=andy.furniss@dsl.pipex.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.