Upload Speed Sense
Upload Speed Sense (short USS) is a technique to automatically determines the optimal upload speed. This is supposed to increase overall network bandwidth by optimizing everyones upload.
This is done by doing a route trace of 10 clients. The last router (maximum 5 hops away) which is used by all traces is most probably the first router of the provider which connects the network to the rest of the internet.
This router is regularly pinged. If the ping time increases (becomes slower), it is assumed, that too much bandwidth is used and therefor the upload limit is reduced. This automatically makes room for other applications running like a Bittorrent upload or web browsing. A minimal upload speed can be specified.
In the current official client USS is enabled by default if the user selects "unknown internet speed" or unlimited.
USS works fine for most people to automatically set the best upload speed. It adds minimal overhead on the internet connection and can react slowly. It works even better to still set manually max upload value of 90% of your REAL linespeed, and also set a minimum value in the uss setting. USS will decrease the upload if it is used by other applications.
Some providers give priority to ICMP traffic to get good pings, this defies the workings of USS. UDP pings could be used in this cases.
The latest versions of eMule automatically enable USS if your upload is set to unlimited (which is the default value).
Note: The following text is copied from the official eMule documentation
USS is a function to monitor the ping times of the connection and to automatically adjust eMule's upload according to this ping value. This ensures that the connection never clogs and will try to keep surfing and online gaming fluid. It is recommended to keep the default settings.
- Find best upload limit automatically
- Lowest allowed upload speed
This is the minimum upload USS must keep. Recommended is at least 50% of your upload capacity
- Ping Tolerance (% of lowest ping)
A initial average ping is determined for the connection when eMule starts. USS will not allow a ping increase over the initial ping times the entered multiplier, e.g. an initial ping of 50 ms and 800% ping tolerance will result in a maintained maximum ping of 400 ms.
- Ping Tolerance (ms)
Instead of calculating the maximum allowed ping by a % modifier also a value in milliseconds can be specified. See next setting.
- Method for ping tolerance
Chooses the preferred method for determining the maximum allowed ping. Either the percentage or the millisecond modifier is used.
- Going up / down slowness
These two values describe how fast the upload limit is adjusted to stay within the ping tolerance. Setting wrong values here will collapse the connection. Keep default!
- Maximum number of pings for average
Sets the number of pings needed to calculate the average response time.
- Force udp ping Tries to ping with udp packets instead of icmp packets to work arround misconfigured routers
- Data icmp size. Default only icmp ping request packets with 0 data bytes are send. Some routers drop packets with a datasize of 0. This is a workarround to be able to ping through those routers.
- Inititial ttl. In finding the last common router Skip the first n routers. This might be usefule if the providers blocks pings at the internel routers. Test this with the 'tracert' command. Default =0, If you go higher than 8 you have a strange ISP network. max = 20: not recommended. Setting a too high value will cause\n'Network topology has changed.' verbose messages. Loosing the effectiveness of the USS
developed by zz
- NAFC Different method, same intention