Our second policy does not attempt to fit a divergence curve based on a generative model. Instead, it places conservative bounds on divergence, and uses the bounds to adjust the refresh period adaptively.
In addition to the change profiles, for each page the bound-based policy maintains a reference time . The policy attempts to find the optimal time for the next refresh, , where denotes the optimal refresh period. Once the policy believes it has reached or passed time it resets the reference time to the current time, and repeats the process. Each iteration is seeded with the refresh period used in the prior iteration, so that the process converges (assuming the page behavior is stationary).
The exact policy is as follows:
The rationale behind the above policy is that if the upper bound on utility is below the utility threshold , the period was shorter than the optimal refresh period , so we should continue to explore larger refresh periods. We do so by doubling the quantity and scheduling the next refresh that many time units in the future. On the other hand, if the lower bound on utility is above the utility threshold, the period was longer than the optimal period , so we need to start over with a new reference time and explore shorter refresh periods. To ensure that we use a small enough period to start with, we use half of the current period .
There is a third case in which the utility bounds straddle the utility threshold, i.e., . In this case we take the neutral action of leaving the refresh period as it is.