Re: Stability and Current Practises

Christian Groves wrote:
> [CNG] I'm familiar with metrology, however the Cache-Control Max-Age is
> defined to be a non-negative decimal integer. If the primary purpose of
> stability option is to map to the cache control and http max-age then it
> doesn't seem to follow that you make it a sub-multiple of a second. 

I don't agree with this premise.

Indeed max-age has limited resolution, mainly for simplicity and because
the benefit of caching in the network decreases with very low max-age
values.

But the stability attribute is not about mapping max-age values, it is
about the data source itself.  If the sensor is designed to support a 4
Hz control loop, a stability of 250 ms is quite appropriate.

(A numeric implementation problem is that binary floating point values
cannot exactly represent decimal fractions.  It can therefore make a
non-trivial difference whether the base unit is seconds or, say,
milliseconds.  If we assume that real-world sensor systems are using
milliseconds as their time base and not "mibiseconds", i.e. 1024ths of a
second.  And if we are stuck with binary floating point, which of course
neither CBOR nor EXI are.)

> It
> means that for a given number of bits the time represented won't be the
> same. 32bits of ms doesn't equal the same length of time as 32bit s.
> Also it means the mapping is more complicated, e.g. is 1750ms mapped to
> a Max-Age value of 1s or 2s? It can't be mapped to 1.75s.

What is the use case for mapping between the TD stability values and a
max-age value?

In any case, the fact that max-age doesn't have a resolution that is
appropriate for high-rate, low-latency communication doesn't mean that
we are stuck with the limitations of this option for all applications.
On the other hand, stability would be a more abstract TD attribute where
it would be nice if it could span a wide array of applications.

I should note that I don't have a strong opinion on the data type or
base unit of the stability attribute; I just want to be sure that we
consider the implications of any choice we make here.  (And that we
don't make asymptotic errors such as choosing 0 for static.)

Grüße, Carsten

Received on Monday, 11 July 2016 06:54:45 UTC