Method and system for regulating background tasks using performance measurements
First Claim
1. In a computing environment, having a computing system comprising a processor executing a background task, the computing system performing a method, comprising:
- evaluating the performance of the background task relative to a target performance of the background task, the target performance including a target value indicative of a target amount of work for the background task to perform, by at least comparing a measured value of the amount of work performed by the background task against the target value; and
(i) if the performance is acceptable, resetting a suspend time for delaying execution of the background task to a predefined starting value that is between zero and a maximum value, and returning to executing the background task;
(ii) if the performance is not acceptable;
(1) delaying execution of the background task for the suspend time;
(2) after delaying for the suspend time, increasing the suspend time;
(3) ensuring that the increased suspend time is at least a minimum value that is greater than zero, and no more than the maximum value;
(4) determining whether the background task is critical, and if so, adjusting the suspend time before delaying for the suspend time; and
returning to executing the background task.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for regulating tasks of background processes so as to reduce interference with foreground processes. The progress rate of a background task (e.g., amount of work performed per unit time) is measured and evaluated against a target amount. If the progress rate appears degraded, the background task is suspended for a computed time interval so as to back off from its interference with a foreground process. Each time the progress rate appears degraded, the time interval is exponentially increased from its previous value up to a maximum, however if the performance appears normal, the time interval is reset to a minimum. Evaluation of the work is statistically based so as to eliminate variations in measurements, and automatic calibration of the target amount is provided, as is a mechanism for prioritizing multiple background tasks.
69 Citations
19 Claims
-
1. In a computing environment, having a computing system comprising a processor executing a background task, the computing system performing a method, comprising:
-
evaluating the performance of the background task relative to a target performance of the background task, the target performance including a target value indicative of a target amount of work for the background task to perform, by at least comparing a measured value of the amount of work performed by the background task against the target value; and (i) if the performance is acceptable, resetting a suspend time for delaying execution of the background task to a predefined starting value that is between zero and a maximum value, and returning to executing the background task; (ii) if the performance is not acceptable; (1) delaying execution of the background task for the suspend time; (2) after delaying for the suspend time, increasing the suspend time; (3) ensuring that the increased suspend time is at least a minimum value that is greater than zero, and no more than the maximum value; (4) determining whether the background task is critical, and if so, adjusting the suspend time before delaying for the suspend time; and returning to executing the background task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification