Bandwidth Control

Is there a way I can allow users to have sustained access at full speed, lets say “256k” for up to 10 seconds, and after 10 seconds, have the limit for that user drop 10% every second until the limit is 50% of the original speed, and as the user’s bandwidth demand eventually declines, when the utilized bandwidth reaches say 75% of the operating bandwidth limit, then the overall limitation on bandwidth will increase 10% per second until it returns to its original limit?

Much complex as I understand, but possible.
First Distinguish your task in small parts. Hope things done easily.

rafiq…
http://www.linux.org.bd