@Alex - XGS_Is_On misunderstood some of my earlier points - bad writing on my part. I meant that speed control should be implemented in the o/s, in higher layers, ie by mucking about with delivery from the app then inside the o/s then at the point where it goes into to eg TCP, QUIC and UDP. I imagine throttling can also be done by tweaking transports’ window sizes dynamically, and delaying outgoing data-bearing PDUs and ACKs very carefully. I wasn’t thinking about a non-protocol-aware single packet throttler using one of the standard algorithms that is employed for all packets, although that might be employed at the top of a USB service.
I was also giving some thought to potential for misuse, as we also have to now that flower-power is 50 years in the past.
I was aware that AA is typical in its throttling; it was just an example, chosen because I know the exact details and can even control the downstream throttling myself. (I can also use the upstream throttling feature in my Firebrick router.)
I would also like to get a remote o/s to report back state information, and get routers at bottlenecks to be able to report bottleneck sizes, both max and instantaneous, by having some new protocol. Hooray, an RFC. Probably an ICMP new PDU type, plus something in PPP. Also really need something in L2 perhaps so that one can talk to devices that only speak ethernet, eg switches / bridges, and where one can’t guarantee that eg IPvx is present. A way of using it would be to talk to the current default gateway and to the L4-path-end remote o/s. The default gateway router can then talk to the router one hop upstream, and that hop is assumed to be the first mile and also the bottleneck. However, one could proceed
n hops upstream up the chain, like traceroute, querying each box in turn, searching for the most critical, narrowest bottleneck report. I would love standardisation of a "query-to-ISP" protocol, so one could ask about max, best-case bottleneck widths up+downstream and ask about current bottleneck with current traffic level. AA has something like this, a query-to-ISP API. Can send commands to the ISP too, iirc. It’s used for all sorts of things. There’s also a ‘what’s my current remaining traffic usage left’ thing, concerned with usage quotas. That’s implemented with https and ASCII. Not very machine-friendly as it’s too heavyweight; rather it’s intended for eyeballs. I’d prefer an alternative that doesn't require you to have TCP and http and TLS protocols implemented. Perhaps just UDP, or maybe a bare-TCP alternative. I’m aware of protocols such as LLDP that can query and discover kit on the LAN, and these - I forget - use only L2 iirc and can be used to query switches for example. Someone remind me.
I realise that this is all wildly off topic, and apologise to the OP. This digression should be filed under ‘fantasy o/s and standards design’.