Bandwidth control in a SOHO Environment???

Hello, I don’t know if this has been asked before, I could not find much on this setup, so I appologise in advance.

The Situation:
I have a few friends and family that I have setup a RouterOS for where it is used in the home to share Internet among multiple users.
What I have noticed is that when one computer is downloading large files, that computer tends to use ALL! the bandwidth that is available from the ISP and if another computer tries to use the Internet at the same time, the bandwidth does not seem to equalize between the two computers. This goes either way meaning it seems that which ever computer captures the bandwidth first, that computer gets most of it.

This seems to be happening on all of the Routers I have setup so far (Three) in different locations in different homes with seperate ISP accounts.(just making sure you understand the scenerio).

So… I have found many tutorials on how to setup equal sharing bandwidth control.
I have also found tutorials on how to limit bandwith per user.

But what I really would like is this;
If only one user is surfing the net or downloading, give him/her all available bandwidth.
If two or more users is surfing the net or downloading, share the bandwidth among them.
But if for example I have a 10Mbps connection and one user is using 2Mbps, another 1Mbps, and the other users connection to some content required 10Mbps give hime 7Mbps.

Hmmm… trying to explain this the best I can, let me try it this way;
If (a) is using all 10Mbps, but (b) needs 1Mbps, give (b) the 1Mbps and drop (a) to 9Mbps.
Keeping doing this and increase bandwidth for (b) until the bandwidth is split down the middle.
Also do this if there is more than 2 computers.

This ensures that all computers, be it be 2 computers or 50 computers on the Local LAN get equal share of the bandwidth, but if there is no one else surfing then give everything to the one computer.

Thanks in advance for the help.

Try this.

http://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ#PCQ_Rate_Examples
http://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ_Examples

Very interesting, I had found some examples using this but most were also implementing other settings that I had no need for, so if this is the only setting I have to tincker with? it will make my life much easier, I also like the statement "unknown bandwidth equal distribution between users. " this is what I want to do “unknown bandwidth” set it and forget about it.

Thanks cbrown, I will try this tonight and let you know how it went.