What is the logic used by the Altiris Agent to download Software Delivery packages?
When the Altiris Agent begins the download of a package, it first profiles the speed of the package sources returned to it through a GetPackageinfo request to see which source it considers to be the fastest. If the HTTP and UNC speed profiled for a target source is the same, then the Altiris Agent will first choose to download via HTTP as a preference.
If the download fails, an error is recorded against the HTTP source from which the download failed and the Altiris Agent will go into a waiting to retry download state. The Altiris Agent will attempt to retry the download of packages at the following incremented intervals: 3, 6, 12, 24, 48, 96, and 120 minutes and then every 2 hours until the package downloads successfully.
If a package is in a waiting to retry download state and the Altiris Agent succeeds to download a portion of the package, then the download retry interval will be reset and any further failures for the package will cause a retry after 3 minutes.
When the Altiris Agent selects a source for download it takes into account the amount of errors recorded against an available source and then decreases the speed as outlined below.
1 error = 95% of profiled speed
2 errors = 90% of profiled speed
3 errors = 75% of profiled speed
4 errors = 60% of profiled speed
5 errors = 35% of profiled speed
6 errors = 10% of profiled speed
More than 7 errors = 0% of the profiled speed.
Note: Errors will continue to be stacked until a maximum of 20 errors are recorded; however, the source is considered invalid after 7 errors.
Once the error is recorded against a source it will be kept for 60 minutes and then removed.
An example of the above speed reduction would be; if the profiled speed for a source (either HTTP or UNC) is 10 Mbytes per second, and there was one error recorded against it, then it would be considered as having a speed of 9.50 MBytes per second.
The actual speed at which the package will be transferred to the client machine is not decreased. The decrease of server speed is an internal calculation that the Altiris Agent performs, when making the choice of which server source is the most desirable.
Below is an example of how the Altiris Agent uses speed reduction to pick a server source: