>>>>> "dpreed" == dpreed writes: dpreed> You can use a small fraction of the capacity of the cable dpreed> uplink path to measure its queueing delay dynamically, and dpreed> when it gets longer than latency*"expected bitrate", reduce dpreed> "expected bitrate". dpreed> You want to do this *as quickly as possible*, so what you do dpreed> is insert a "link monitor" task in the driver that sends dpreed> tiny probe packets addressed to the nearest "loopback point" dpreed> you can find/create on the other side, and measure the RTT. dpreed> You can use, for example, the technique used by traceroute, dpreed> which is to set the hop count to the smallest number that dpreed> causes a return ICMP packet to be sent, and send one of dpreed> those periodically. As I understand it, you can do this with 802.1ag http://en.wikipedia.org/wiki/IEEE_802.1ag, with the Loop-back frames as well. Whether or not any of this is enabled on typical broadband networks, I have no idea. dpreed> I used this specific technique to cause my uplink queue to dpreed> move back into my router, where I could manage it. You can dpreed> also use it for the downlink queue measurement, but it dpreed> doesn't move the queue into the router smoothly, instead you dpreed> have to drop/ECN-mark the IP frames coming in. dpreed> This can all be done between the IP layer and layer 2. dpreed> Since it exploits speedboost better, it might be worth dpreed> adding as an option to cerowrt, so you don't have to set a dpreed> speed limit explicitly when you have a single connection to dpreed> the public Internet. wow, this would be awesome... code?? -- ] He who is tired of Weird Al is tired of life! | firewalls [ ] Michael Richardson, Sandelman Software Works, Ottawa, ON |net architect[ ] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[ Kyoto Plus: watch the video then sign the petition.