W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > September to December 1997

Quality factors

From: Graham Klyne <GK@acm.org>
Date: Thu, 09 Oct 1997 09:23:24 +0100
Message-Id: <>
To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
X-Mailing-List: <http-wg@cuckoo.hpl.hp.com> archive/latest/4530
The following thoughts emerged from an off-line discussion about the use of
quality factors in content negiatiation.

The premise for what follows is the assertion that the only practical use
for a quality factor is to rank some set of alternatives according to

Simple sequencing of of alternatives (e.g. per Multipart/Alternative) may
not be possible because the sender may not be able to locate (hence
present) the alternatives in order of quality.  Therefore some separate
ranking mechanism is required.
I suggest that in this case a 3-digit (max) number is insufficient, as with
a significant number of alternatives an implementation will soon run out of
space within which to slot further entries between existing entries.  I
estimate that a perverse presentation would run out ranking space after
about 10 entries (log2(1001)).


Why log2(1001)?

Assume that the alternatives are discovered by the sender in some arbitrary
order, and that the sender must allocate quality factor values to rank the
alternatives as they are discovered.  (e.g. information about each
alternative is being sent out as soon the alternative is discovered.)  Then
each new q-factor allocation must be placed between the q-factors of some
existing pair of alternatives (where 0 and 1 are notional initial entries).

Without any prior knowledge of the order in which entries will be
presented, each new q-factor should be allocated mid-way between the
q-factors of its immediate ranking predecessor and successor, hence
dividing the available ranking space by 2.  Assuming a worst-case order of
presentation, when the n'th alternative has been ranked, the remaining
available ranking space next to that entry is reduced to approximately
2^(-n) of the original ranking space.

The original ranking space available using a number in [0,1] with
three-digit precision contains 1001 possible values.

When 1001*2^(-n) is less than 1, no more values are available in the
ranking space (under the assumption of worst-case presentation order).
    1001 * 2^(-n) < 1  [take base2 logs]
 => log2(1001) + (-n) < 0
 => n > log2(1001)
(corresponds to no remaining ranking space)



Graham Klyne
Received on Thursday, 9 October 1997 01:37:32 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:40:21 UTC