We regularly host a number of students for a LAMP workshop that goes for about six weeks. During class time, there usually aren't problems with network traffic. It has been the case, though, that they have left bit torrent software running in the background OR on breaks they want to watch streamed video. The problem is that other students want to continue working on projects and the students that are using bit torrent apps/streaming video make the LAMP development process unusable.
I've tried making announcements and encouraging people to be considerate of one another. The reason why this hasn't worked is because:
- They forget they are running a BT app in the background.
- During break time, they assume no one is doing work (which is sort of reasonable because it is called 'break time').
- They forget that watching video effects other people.
All of the students are compliant. Asking them not to watch or to check if a BT app is running in the background results in them stopping that behavior. But I don't want to keep nagging.
I would like to find a mechanism to throttle bandwidth based on the data usage rate. I don't want to blacklist MAC addresses. Rules like the following would make the most sense to me.
- Initially, all devices have uncapped/unthrottled access to any network resource.
- If a device goes over 50KB/s for three seconds, they are throttled down to 10KB/s for a minute.
- If a device continues to try to upload/download beyond the prescribed limit, the throttle period increases exponentially (i.e. doubles each time).
To me, it's worth paying the money for a device that does this out of the box. I waste more money (i.e. time) trying to load custom routing software onto routers and trying to get them to do what I want them to do. If there's a device within my budget, I'd rather use that (let's just say within $500). But if DD-WRT or Tomato are the only ways to do this, please feel free to communicate this; I'd appreciate some configuration advice too! Thanks!