Just as sensor data exhibits time-varying behavior, query patterns can
also change over time. In particular, the query tolerance demanded by
queries may change over time, resulting in more or fewer data pulls.
The proxy can adapt the value of the threshold parameter in
Equation 6 to directly influence the fraction of queries
that trigger data pulls from remote sensors. If the threshold
is large relative to the mean error tolerance of queries,
then the number of pushes from the sensor is small and the number of
pulls triggered by queries is larger. If
is small relative to
the query error tolerance, then there will be many wasteful pushes and fewer
pulls (since the cached data is more precise than is necessary to
answer the majority of queries). A careful selection of the threshold
parameter
allows a proxy to balance the number of pushes and
the number of pulls for each sensor.
To handle such query dynamics, the PRESTO proxy uses a moving window
average to track the mean error tolerance of queries posed on the
sensor data. If the error tolerance changes by more than a pre-defined
threshold, the proxy computes a new and transmits it to
the sensor so that it can adapt to the new query pattern.