Throttle on Throttle? Using your example:
If you allocate 40KB * 8 = 320Kbps in Limewire AND 4 people connect with the ability to pull data at or above 80Kbps or more THEN LimeWire is working correctly when allocating 80Kbps per user.
Let's say that two users can pull data to 80 or above Kbps
80 * 2 = 160kbps 320 - 160 = 160Kbps left.
Another user connects at 20 Kbps but has the ability to pull data upload 80Kbps and finally our final user connects at 56kbps this is his maximum speed.
Now, there's enough bandwidth for the person connected at 20Kbps to use 60Kbps more data on his connection. But the user connected at 56kbps is doing so based on limitations of his connection. (You can only send data as fast as the other person is able to receive it.) -- This is not a limewire issue.
LimeWire would function correctly under these circumstances.
Regarding under-utilization (wasted-bandwith) if you throttle your connections to 80Kbps and 4 users connect at 56kbps.
56*4 = 224Kbps bandwidth use. 320Kbps - 224Kbps = 96Kbps wasted you are suggesting the WinMX uses this 96Kbps to send data to the users (psssst -you can only send data as fast as the other person can receive it.)
Again if you want everyone to receive a file as fast as it can be received - I would recommend the following LimeWire configuration.
1. Turn off Throttle - Give each user 100% of the bandwidth
2. Cut your upload slots to allow x number of uploads per user for example: if outbound connection speed = 128Kbps and Iwant each user to get a maximum speed of 128Kbps and a minimum speed of 64Kbps then uploads per persons should be set at 1 and never allow more than = 2 uploads.
This will give you what you want without any code modification.
Finally - The inability to change the bandwidth allocation on the fly. Why would you want to do this?
__________________ Lee Evans, President
LeeWare Development
http://www.leeware.com |