said by funchords:Right -- but that ruleset is applied at the headend (it has to be, since PowerBoost is enabled based on node conditions as well as individual conditions).
I think you're reading too much logic into how it actually works. In order to avoid collisions on the upstream channel, DOCSIS 1.1+ systems use TDMA to dole out time slices to cable modems who request them so that they can transmit. You basically end up with a "bucket" of timeslots to dole out based on the TDMA configuration. The size of each timeslot is a function of the upstream channel capability (9megabit on DOCSIS 1.x systems) divided by the number of timeslots per second the CMTS is capable of jmanaging.
The timeslots in the bucket get divided equally amongst every device requesting a time slot
up to the rate limit they are provisioned for. So for Powerboost you will be allowed to grab 2mbps worth of timeslots as long as there are sufficient timeslots in the bucket, and after {x} number of bytes you will be scaled back to a maximum of 384kbps or 768kbps worth of timeslots from the bucket.
Keep in mind that all this is a highly specific instruction set baked into an ASIC to maintain performance. The more complicated the instruction set, the more expensive the ASICs are to produce so network manufacturers try to keep things as simple as possible. The various conditions you refer to really boil down to the two simple resources: free timeslots in the bucket, and the limit of how many timeslots can be allocated to each modem every second. When enough CPE devices start requesting time slots the division of the bucket of resource across all modems is less than the powerboost rate, and can even be less than the non-boost max limit.
said by funchords:That's why I said what I said. It's sadly ironic. They didn't need Sandvine's injected RST's at all -- they have everything they need to constrict the upload on a spigot-by-spigot basis right at the headend.
Well, sort of. The "dials and knobs" you have to work with are pretty limited overall on hardware-based network routing equipment. They would pretty much be limited to throttling the speed of the entire pipe as the CMTS doesn't have the smarts to perform the same heuristical analysis as the Sandvine appliance, and there is no way for Sandvine to inject information into the control plane to let the CMTS know which packets to throttle. The interaction would basically need to be the same as the provisioning system that handles establishing the parameters of your connection if you upgrade or downgrade service. So basically they could set it up that if you max your upload for more than {t} amount of time, they will reprovision your upstream connection to {x} kbps. Making that many configuration changes can be risky, and would likely present a greater risk to the overall stability of the network than the current Sandvine implementation.