Auto Speed Beta
From AzureusWiki
Contents |
Introduction
Auto-Speed-Beta is a new algorithm. It has the following goals.
- Allow the client to download in the background without interfering too much with normal web surfing
- Automatically determine line speed limits used by the control algorithm
- When download, maximize download rate over uploading.
Configuration
- Select on the Advanced tab, if Azureus 3.0 user
- On menu tools then options ...
- On tree view click Transfer then Auto-Speed nodes.
Algorithm select page
You should see this page.
Auto-Speed selector
- Algorithm: drop down allows the user to select.
- Auto-Speed (classic) previous algorithm used.
- Auto-Speed (beta) new beta algorithm. Beta testers should use this.
- Enable when download and seeding has the algorithm run all the time.
- Enable when seeding has the algorithm run only when seeding content.
Network Details
- Network: displays the name of the ASN (i.e. ISP) of your public IP address.
- Upload limit: Current estimate of the upload capacity for this network and how accurate it is.
- Download limit: Current estimate of the download capacity for this network.
- The upload and download setting are set in the section below. Put the value in kilo-bytes/second in the box and then select the estimate rating in the drop-down box. The value become active immediately.
- The drop down has the following options.
- Estimate select this one to allow more searching to override.
- Measured between Estimated and Manual in confidence of setting.
- Manual select this one to prevent overriding of this setting.
- The drop down has the following options.
- Reset network detailsThis button will erase the history for the network, which is persistent across sessions and start the limit search process all over.
Please visit
- Link to these pages.
Transfer Auto Speed beta configuration page
Add comment to debug log
- For beta test participants. Enter some text into the beta log here.
AutoSpeed-Beta settings
Set the input data source and the speed limit settings.
- Input Data: Sets the input data used to make adjustments to upload and download rates.
- DHT Ping Time Preferred selection. Uses pings between peers on the Distributed Hash Table (DHT).
- Vivaldi Distance Calculates mean distance from swam as metric for making adjustments.
- Line Speed Limits: Settings algorithm uses for min and max rates. Something just below actual line capacity is best.
- max-capacity Sets the maximum line speed that can be achieved by the computer on this network.
- min-setting Sets the lowest speed setting allowed when network conditions are bad.
- confidence level How confident are we that those settings are the actual limits.
- NONE No confidence that these limits are real. Do a search for limits immediately.
- LOW Some searches done, but no confirmation of limits. Do a search for limits immediately.
- MEDIUM Two limit searches in a row had similar results. Switch to a slow search for limits when running at limits.
- HIGH Speed Test imposed limits. Do a slow search for limits.
- ABSOLUTE Only a user can set limit to absolute. Results are hard coded and fixed.
- confidence level How confident are we that those settings are the actual limits.
- Restore Defaults: Return the application to the start settings including a confidence level of NONE.
NOTE: It is important to always press the Save button to make the changes active.
Upload Capacity settings
DHT: Ping settings This section creates the settings for what it considers good and bad network conditions.
- set point The ping time in milliseconds considered to be an unambiguous good/bad setting.
- tolerance The amount from the good/bad set point to go to consider it partial settings.
TODO: Draw a chart showing a good/bad and neutral region.
- Adjustment interval The number of ping intervals to accumulate (typically 3 seconds) before trying to make an adjustment.
- Skip after adjustment Check this box if you want to exclude the next set of ping times after an adjustment is made. To prevent making more adjustments based on old data.
Beta-testers needed
We would like some beta testers to help us improve this algorithm running in various networks. A beta tester should be someone that is willing to try different configurations settings and willing to send us log files along with your observations.
We need to test the algorithm in different networks, low-bandwidth, high-bandwidth, DSL, Cable, on a shared network seen at a university.
Algorithm details
finding limits algorithm
The application has a setting for what it believes the upload and download capacity. It had a confidence level attached to it which with the following setting. NONE, LOW, MEDIUM, HIGH and ABSOLUTE. If the levels are NONE or LOW it does a quick search to find the limits. If the confidence level is MEDIUM or HIGH it does a slow search to find them. If the setting is ABSOLUTE, which can only be set by the user, then the limits are fixed and cannot be changed.
adjusting upload and download
ping source replacement
The algorithm used DHT ping times to decided if it needs to adjust the current rates. Lower ping times responses indicate the network is not congested, high ping rates indicates that it is.
The application used three ping sources to monitor. If it determine one of the ping sources is significantly slower then the others it will replace them. Here are the criteria is uses. MORE HERE.
