Hi there,
My situation is this; I have a simple network of four Macs, all running OS X, sharing a 4mbps internet connection between them using a simple router (it routes traffic, little else).
Now, usually things are fine, but sometimes I want one machine to have priority over the others. This occurs my main machine is wirelessly connected to the router via a wireless bridge, and seems to be automatically pushed to one side if one of the wired machines starts using higher traffic.
Anyway, my thinking is that since OS X has ipfw (with dummynet) built in, then the machines can easily throttle themselves by putting all traffic through a bandwidth limited pipe. However, I don't want them to do this all the time, only if machines with higher priority need more traffic.
My thinking is that I could probably do this myself using Java (which I'm familiar with) to act as a bridge between the machines and use ipfw to throttle things. I'm iffy on getting Java applications to run on system startup as root, but could probably get round it, otherwise I'd need to translate the idea into C or something.
However, I'm wondering if any such solution exists already? To me an application managing calls to ipfw seems fairly trivial, but then there probably isn't much demand for it, as a serious network would just buy a router that does throttling automatically.
So, does such a solution exist? If not; anyone have any idea how to get a Java application to begin on system startup (not user log-in) with root permissions? [edit] Occurs to me as well, a way of measure current network usage may be necessary. Are there any command-line tools that can do this, allowing you to simple grab a value like '524,288' for 512kbits/sec current usage?
Thanks!
My situation is this; I have a simple network of four Macs, all running OS X, sharing a 4mbps internet connection between them using a simple router (it routes traffic, little else).
Now, usually things are fine, but sometimes I want one machine to have priority over the others. This occurs my main machine is wirelessly connected to the router via a wireless bridge, and seems to be automatically pushed to one side if one of the wired machines starts using higher traffic.
Anyway, my thinking is that since OS X has ipfw (with dummynet) built in, then the machines can easily throttle themselves by putting all traffic through a bandwidth limited pipe. However, I don't want them to do this all the time, only if machines with higher priority need more traffic.
My thinking is that I could probably do this myself using Java (which I'm familiar with) to act as a bridge between the machines and use ipfw to throttle things. I'm iffy on getting Java applications to run on system startup as root, but could probably get round it, otherwise I'd need to translate the idea into C or something.
However, I'm wondering if any such solution exists already? To me an application managing calls to ipfw seems fairly trivial, but then there probably isn't much demand for it, as a serious network would just buy a router that does throttling automatically.
So, does such a solution exist? If not; anyone have any idea how to get a Java application to begin on system startup (not user log-in) with root permissions? [edit] Occurs to me as well, a way of measure current network usage may be necessary. Are there any command-line tools that can do this, allowing you to simple grab a value like '524,288' for 512kbits/sec current usage?
Thanks!