org.hd.d.pg2k.svrCore.vars
Class SystemVariables

java.lang.Object
  extended by org.hd.d.pg2k.svrCore.vars.SystemVariables

public final class SystemVariables
extends java.lang.Object

Immutable enumeration of distributed system variables. To avoid too much recursive definition, variable names (etc) should be defined here and used by the setters, etc.


Field Summary
static SimpleVariableDefinition ACCESSPATTERN_CAT_PAGE_VIEW
          A read-write persistent global String event variable for recording catalogue page views by exhibit.
static SimpleVariableDefinition ACCESSPATTERN_CLICKTHROUGH
          A read-write persistent global String event variable for recording ad click-throughs by exhibit.
static SimpleVariableDefinition ACCESSPATTERN_CLICKTHROUGH_BY_URI
          A read-write persistent global String event variable for recording ad click-throughs by canonicalised URI.
static SimpleVariableDefinition ACCESSPATTERN_COMPLETED_DOWNLOAD
          A read-write persistent global String event variable for recording completed downloads by exhibit.
static SimpleVariableDefinition ACCESSPATTERN_COMPLETED_DOWNLOAD_LOCAL
          A read-write persistent local String event variable for recording completed downloads by exhibit.
static SimpleVariableDefinition ACCESSPATTERN_EX_HOTLINK_REF_HOST
          A read-write persistent global String event variable for recording hotlinking to our exhibits by referrer host.
static SimpleVariableDefinition ACCESSPATTERN_PAGEVIEW_BY_URI
          A read-write persistent global String event variable for recording page-views by canonicalised URI.
static int AI_SCORER_GLOBAL_MAX_EVENTS
          Maximum number of Scorer global "events"; strictly positive.
static SimpleVariableDefinition AI_SCORER_STRING_GLOBAL_EVENT
          Interchange between separate Gallery servers of the "best" Scorers/parameters.
static SimpleVariableDefinition AI_SCORER_STRING_LOCAL_EVENT
          Persistent storage of a large selection of the "best" Scorers/parameters.
static java.util.SortedSet<SimpleVariableDefinition> defs
          Immutable SortedSet of system SimpleVariableDefinition items.
static int EVENT_INTERVAL_LONG_TERM_MS
          Long-term event interval in milliseconds.
static int EVENT_INTERVAL_MEDIUM_TERM_MS
          Medium-term event interval in milliseconds.
static int EVENT_INTERVAL_SHORT_TERM_MS
          Short-term event interval in milliseconds.
static int EVENT_INTERVAL_VLONG_TERM_MS
          Very-long-term event interval in milliseconds.
static int EVENT_INTERVAL_VSHORT_TERM_MS
          Very-short-term event interval in milliseconds.
static int EVENT_SAMPLES_RETAINED
          Maximum number of samples retained at each interval; strictly positive.
static SimpleVariableDefinition ExhibitDataSimpleCache_CACHE_AVAIL_SPACE_PERCENT_USED
          ExhibitDataSimpleCache cache-percent-full pseudo-variable definition.
static SimpleVariableDefinition ExhibitDataSimpleCache_CACHED_EXHIBIT_COUNT
          ExhibitDataSimpleCache cached-exhibit count.
static SimpleVariableDefinition ExhibitDataSimpleCache_EXHIBITS_FULLY_CACHED_PERCENT
          ExhibitDataSimpleCache entries-fully-cached pseudo-variable definition.
static java.lang.String ExhibitDataSimpleCache_PSEUDOVAR_PREFIX
          ExhibitDataSimpleCache pseudo-variable name prefix.
static int GENSTATS_MAX_EVENTS
          Maximum number of different generic (String) stats recordable.
static SimpleVariableDefinition GENSTATS_STRING_GLOBAL_EVENT
          Generic read-write persistent global String event variable for general stats.
static SimpleVariableDefinition GENSTATS_STRING_LOCAL_EVENT
          Generic read-write persistent local String event variable for general stats.
static SimpleVariableDefinition KEEP_ALIVE
          A read-only, local, "null" variable used to do "keep alives" in variable stores.
static SimpleVariableDefinition LOCAL_SYS_ID
          The read-only, local, String variable for the local system ID.
static int MAX_DIFF_EXHIBIT_NAME_VALUES
          Maximum number of different exhibit name events recorded by most access-pattern stats.
static int MAX_DIFF_VOTE_VALUES
          Maximum number of different exhibit name events recorded for votes.
static int MAX_QUIET_SYSTEM_VAR_LIFE_MS
          Maximum interval between variable updates for system to be considered live (ms).
static int MAX_VALUE_DISTRIBUTION_LATENCY_MS
          Maximum latency we allow in distributing variable values (ms); positive.
static java.util.Map<java.lang.String,SimpleVariableDefinition> nameToDef
          Immutable Map from String variable name to SimpleVariableDefinition.
static int PERFMON_MAX_EVENTS
          Maximum number of different performance-monitoring (String) stats recordable.
static SimpleVariableDefinition PERFMON_STRING_GLOBAL_EVENT
          Generic read-write non-persistent global String event variable for performance monitoring.
static java.util.SortedSet<java.lang.String> sensitiveVars
          Immutable Set of String names of variables with slightly sensitive content.
static SimpleVariableDefinition TEST_NUMBER_GLOBAL
          A read-write global Number variable for testing.
static SimpleVariableDefinition TEST_NUMBER_GLOBAL2
          A second read-write global Number variable for testing.
static SimpleVariableDefinition TEST_NUMBER_LOCAL
          A read-write local Number variable for testing.
static SimpleVariableDefinition TEST_NUMBER_LOCAL2
          A second read-write local Number variable for testing.
static SimpleVariableDefinition TEST_STRING_GLOBAL
          A read-write global String variable for testing.
static SimpleVariableDefinition TEST_STRING_GLOBAL_EVENT
          A read-write persistent global String event variable for testing.
static SimpleVariableDefinition TEST_STRING_LOCAL
          A read-write local String variable for testing.
static SimpleVariableDefinition ThroughputMonitorFilter_ACTIVE_MIRROR_NAME
          ThroughputMonitorFilter mirror name value.
static SimpleVariableDefinition ThroughputMonitorFilter_AEP_LONGHASH
          ThroughputMonitorFilter current AEP hash (a Long).
static SimpleVariableDefinition ThroughputMonitorFilter_AVAIL_BPS_PER_CLIENT
          ThroughputMonitorFilter available-bandwidth-per-client value in Bps (byte/second).
static SimpleVariableDefinition ThroughputMonitorFilter_BUSY_FRACTION
          ThroughputMonitorFilter busy fraction (0.0 means idle, 1.0 flat-out busy).
static SimpleVariableDefinition ThroughputMonitorFilter_CLIENT_COUNT
          ThroughputMonitorFilter user-count value.
static SimpleVariableDefinition ThroughputMonitorFilter_ltBps
          ThroughputMonitorFilter long-term (smoothed) bytes-per-second value.
static java.lang.String ThroughputMonitorFilter_PSEUDOVAR_PREFIX
          ThroughputMonitorFilter pseudo-variable name prefix.
static SimpleVariableDefinition ThroughputMonitorFilter_STICKY_CLIENT_COUNT
          ThroughputMonitorFilter "sticky" user-count value.
static SimpleVariableDefinition ThroughputMonitorFilter_YEARLY_UNIQUE_VISITORS
          ThroughputMonitorFilter yearly-unique-visitors value.
static java.lang.String TunnelServlet_PSEUDOVAR_PREFIX
          ThroughputMonitorFilter pseudo-variable name prefix.
static SimpleVariableDefinition TunnelServlet_SLAVE_ADDRS
          TunnelServlet slave/client/mirror remote-addresses value (as Strings).
private static SimpleVariableDefinition[] vars
          Private array of system variable definitions; non-null.
static SimpleVariableDefinition VOTE_COMMENT
          A read-write persistent global String event variable for recording vote comments by exhibit.
static SimpleVariableDefinition VOTE_CON
          A read-write persistent global String event variable for recording negative votes by exhibit.
static SimpleVariableDefinition VOTE_PRO
          A read-write persistent global String event variable for recording positive votes by exhibit.
 
Constructor Summary
SystemVariables()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_VALUE_DISTRIBUTION_LATENCY_MS

public static final int MAX_VALUE_DISTRIBUTION_LATENCY_MS
Maximum latency we allow in distributing variable values (ms); positive. Downstream and upstream caches should probably be refreshed at a fraction of this delay (say one quarter) to ensure that the round-trip from one slave VM, to the master, and back to the same or another VM is not much more than this.

This value should be identical for all participants in a system.

A value of a few seconds to a few minutes is probably reasonable to balance network traffic against prompt response to events that affect the whole distributed system.

We base this on the maximum permitted inter-peer clock skew.

See Also:
Constant Field Values

MAX_QUIET_SYSTEM_VAR_LIFE_MS

public static final int MAX_QUIET_SYSTEM_VAR_LIFE_MS
Maximum interval between variable updates for system to be considered live (ms). This is between any two variable updates, not simply of the same value.

If it longer than this between any variable updates for a given server instance, then other participants may consider that instance to be "dead"/resting, and discard knowledge of it and/or variable values automatically.

There are other ways of finding out how old data from a particular system is for filtering, but this is a back-stop.

Should be long enough to survive a temporarily-disconnected system, eg due to a short network outage or a down or disconnected master, but short enough to avoid filling up variable stores/caches with useless stale data from dead subsystems.

Must be much longer than MAX_VALUE_DISTRIBUTION_LATENCY_MS.

A value of the order of minutes to hours is probably good; and we might add in some small multiple of the normal inter-system skew that we are normally prepared to tolerate.


EVENT_SAMPLES_RETAINED

public static final int EVENT_SAMPLES_RETAINED
Maximum number of samples retained at each interval; strictly positive. A power of two for efficiency, and enough so that at the longest interval we have enough samples to cover at least a year.

Most periods/intervals are chosen so that the full span of samples at one interval covers a useful time, ie from over an hour to over a year from VSHORT to VLONG. Indeed, the span is designed to overlap a useful cycle time by a little so that this time last hour/day/year etc can be easily compared with the same place last time round the cycle.

See Also:
Constant Field Values

EVENT_INTERVAL_VSHORT_TERM_MS

public static final int EVENT_INTERVAL_VSHORT_TERM_MS
Very-short-term event interval in milliseconds. Of the order of a few seconds.

(One use is to make real-time testing of the event system possible.)

See Also:
Constant Field Values

EVENT_INTERVAL_SHORT_TERM_MS

public static final int EVENT_INTERVAL_SHORT_TERM_MS
Short-term event interval in milliseconds. Of the order of a few minutes.

See Also:
Constant Field Values

EVENT_INTERVAL_MEDIUM_TERM_MS

public static final int EVENT_INTERVAL_MEDIUM_TERM_MS
Medium-term event interval in milliseconds. An integer multiple of the next-shorter interval.

Of the order of a few tens of minutes.

See Also:
Constant Field Values

EVENT_INTERVAL_LONG_TERM_MS

public static final int EVENT_INTERVAL_LONG_TERM_MS
Long-term event interval in milliseconds. An integer multiple of the next-shorter interval.

Of the order of a few hours.

See Also:
Constant Field Values

EVENT_INTERVAL_VLONG_TERM_MS

public static final int EVENT_INTERVAL_VLONG_TERM_MS
Very-long-term event interval in milliseconds. An integer multiple of the next-shorter interval.

Of the order of tens of hours to days.

See Also:
Constant Field Values

KEEP_ALIVE

public static final SimpleVariableDefinition KEEP_ALIVE
A read-only, local, "null" variable used to do "keep alives" in variable stores. This contains no data, and may be sent automatically by a slave system to tell the master and other slaves that it is still alive.


LOCAL_SYS_ID

public static final SimpleVariableDefinition LOCAL_SYS_ID
The read-only, local, String variable for the local system ID. This value of this (local) variable should be unique to each system, and not propagated out of each system directly.


TEST_NUMBER_GLOBAL

public static final SimpleVariableDefinition TEST_NUMBER_GLOBAL
A read-write global Number variable for testing.


TEST_NUMBER_GLOBAL2

public static final SimpleVariableDefinition TEST_NUMBER_GLOBAL2
A second read-write global Number variable for testing.


TEST_NUMBER_LOCAL

public static final SimpleVariableDefinition TEST_NUMBER_LOCAL
A read-write local Number variable for testing.


TEST_NUMBER_LOCAL2

public static final SimpleVariableDefinition TEST_NUMBER_LOCAL2
A second read-write local Number variable for testing.


TEST_STRING_LOCAL

public static final SimpleVariableDefinition TEST_STRING_LOCAL
A read-write local String variable for testing.


TEST_STRING_GLOBAL

public static final SimpleVariableDefinition TEST_STRING_GLOBAL
A read-write global String variable for testing.


TEST_STRING_GLOBAL_EVENT

public static final SimpleVariableDefinition TEST_STRING_GLOBAL_EVENT
A read-write persistent global String event variable for testing.


PERFMON_MAX_EVENTS

public static final int PERFMON_MAX_EVENTS
Maximum number of different performance-monitoring (String) stats recordable. This should be high enough to see a reasonably long tail of data, but not so huge as to cripple the system upon transfer or for space.

See Also:
Constant Field Values

PERFMON_STRING_GLOBAL_EVENT

public static final SimpleVariableDefinition PERFMON_STRING_GLOBAL_EVENT
Generic read-write non-persistent global String event variable for performance monitoring. Note that this is valid for longer event periods.

This is non-persistent since the data is ephemeral and has little value once fixes have been made, etc.

We expect this to be very quiet most of the time, except during heavy load or when background sampling is enabled.


GENSTATS_MAX_EVENTS

public static final int GENSTATS_MAX_EVENTS
Maximum number of different generic (String) stats recordable. This should be high enough to accommodate many disjoint sets of values, but not so huge as to cripple the system upon transfer or for space.

See Also:
Constant Field Values

GENSTATS_STRING_GLOBAL_EVENT

public static final SimpleVariableDefinition GENSTATS_STRING_GLOBAL_EVENT
Generic read-write persistent global String event variable for general stats. This is used for stats events that do not otherwise have their own event variable.

Note that this is valid for all event periods.


GENSTATS_STRING_LOCAL_EVENT

public static final SimpleVariableDefinition GENSTATS_STRING_LOCAL_EVENT
Generic read-write persistent local String event variable for general stats. This is used for stats events that do not otherwise have their own event variable.

Note that this is valid for all event periods.

Likely to receive overlap of events with GENSTATS_STRING_GLOBAL_EVENT.


ExhibitDataSimpleCache_PSEUDOVAR_PREFIX

public static final java.lang.String ExhibitDataSimpleCache_PSEUDOVAR_PREFIX
ExhibitDataSimpleCache pseudo-variable name prefix.

See Also:
Constant Field Values

ExhibitDataSimpleCache_CACHE_AVAIL_SPACE_PERCENT_USED

public static final SimpleVariableDefinition ExhibitDataSimpleCache_CACHE_AVAIL_SPACE_PERCENT_USED
ExhibitDataSimpleCache cache-percent-full pseudo-variable definition. In the range [0, 100] indicating approximately what percentage of the available cache space is currently in use.

If there is more than one ExhibitDataSimpleCache in a local pipeline then behaviour is undefined as all instances will update this value.

Main attributes:


ExhibitDataSimpleCache_EXHIBITS_FULLY_CACHED_PERCENT

public static final SimpleVariableDefinition ExhibitDataSimpleCache_EXHIBITS_FULLY_CACHED_PERCENT
ExhibitDataSimpleCache entries-fully-cached pseudo-variable definition. In the range [0, 100] indicating approximately what percentage of the available exhibits are fully cached.

If there is more than one ExhibitDataSimpleCache in a local pipeline then behaviour is undefined as all instances will update this value.

Main attributes:


ExhibitDataSimpleCache_CACHED_EXHIBIT_COUNT

public static final SimpleVariableDefinition ExhibitDataSimpleCache_CACHED_EXHIBIT_COUNT
ExhibitDataSimpleCache cached-exhibit count. In the range [0, +inf[ indicating how many exhibit are fully or partially cached.

If there is more than one ExhibitDataSimpleCache in a local pipeline then behaviour is undefined as all instances will update this value.

Main attributes:


ThroughputMonitorFilter_PSEUDOVAR_PREFIX

public static final java.lang.String ThroughputMonitorFilter_PSEUDOVAR_PREFIX
ThroughputMonitorFilter pseudo-variable name prefix.

See Also:
Constant Field Values

ThroughputMonitorFilter_CLIENT_COUNT

public static final SimpleVariableDefinition ThroughputMonitorFilter_CLIENT_COUNT
ThroughputMonitorFilter user-count value. In the range [0,+inf[ indicating approximately how many users are on the system including spiders, hotlinkers, etc.

The global map of values can be summed to give the total on the entire distributed system.

Main attributes:


ThroughputMonitorFilter_STICKY_CLIENT_COUNT

public static final SimpleVariableDefinition ThroughputMonitorFilter_STICKY_CLIENT_COUNT
ThroughputMonitorFilter "sticky" user-count value. In the range [0,+inf[ indicating approximately how many distinct "sticky" human users are on the system.

A "sticky" user is typically one that views at least a couple of pages and stays around for a few minutes.

The global map of values can be summed to give the total on the entire distributed system.

Main attributes:


ThroughputMonitorFilter_ltBps

public static final SimpleVariableDefinition ThroughputMonitorFilter_ltBps
ThroughputMonitorFilter long-term (smoothed) bytes-per-second value. In the range [0,+inf[ indicating approximately the total download bandwidth on the entire system.

This is expressed as an integral quantity for simplicity/robustness, as an Integer if possible for compactness on the wire.

The global map of values can be summed to give the total on the entire distributed system.

Main attributes:


ThroughputMonitorFilter_YEARLY_UNIQUE_VISITORS

public static final SimpleVariableDefinition ThroughputMonitorFilter_YEARLY_UNIQUE_VISITORS
ThroughputMonitorFilter yearly-unique-visitors value. In the range [0,+inf[ indicating approximately the computed number of unique visitors per year system-wide based on current traffic.

The global map of values can be summed to give the total on the entire distributed system.

Main attributes:


ThroughputMonitorFilter_BUSY_FRACTION

public static final SimpleVariableDefinition ThroughputMonitorFilter_BUSY_FRACTION
ThroughputMonitorFilter busy fraction (0.0 means idle, 1.0 flat-out busy). In the range [0,1] indicating approximately the fraction of available capacity in use.

Main attributes:


ThroughputMonitorFilter_AVAIL_BPS_PER_CLIENT

public static final SimpleVariableDefinition ThroughputMonitorFilter_AVAIL_BPS_PER_CLIENT
ThroughputMonitorFilter available-bandwidth-per-client value in Bps (byte/second). In the range [0,+inf[ indicating approximately the the available bandwidth to a new client based on current traffic.

Will be forced to zero if the system is busy or otherwise unwilling to accept new clients.

Main attributes:


ThroughputMonitorFilter_AEP_LONGHASH

public static final SimpleVariableDefinition ThroughputMonitorFilter_AEP_LONGHASH
ThroughputMonitorFilter current AEP hash (a Long). Set by each TMF to indicate which AEP version its server is using.

Can be used in load balancing to avoid sending traffic to a mirror which is not on the same version of the AEP.

Main attributes:


ThroughputMonitorFilter_ACTIVE_MIRROR_NAME

public static final SimpleVariableDefinition ThroughputMonitorFilter_ACTIVE_MIRROR_NAME
ThroughputMonitorFilter mirror name value. The string short name of this mirror (CC-suffix) if this machine is a mirror.

The global map of values can be used to find which mirrors are active.

Main attributes:


TunnelServlet_PSEUDOVAR_PREFIX

public static final java.lang.String TunnelServlet_PSEUDOVAR_PREFIX
ThroughputMonitorFilter pseudo-variable name prefix.

See Also:
Constant Field Values

TunnelServlet_SLAVE_ADDRS

public static final SimpleVariableDefinition TunnelServlet_SLAVE_ADDRS
TunnelServlet slave/client/mirror remote-addresses value (as Strings). String value of each tunnel client (slave) addr as seen (and injected by) the tunnel servlet.

These addresses are one of:

Main attributes:


MAX_DIFF_EXHIBIT_NAME_VALUES

public static final int MAX_DIFF_EXHIBIT_NAME_VALUES
Maximum number of different exhibit name events recorded by most access-pattern stats. Should be large enough not to miss too many one-off events (else we may never see the second-and-subsequent hits for the same value) yet small enough to reasonably limit memory consumption for the stats.

We pick a prime-ish value for a larf.

See Also:
Constant Field Values

ACCESSPATTERN_CAT_PAGE_VIEW

public static final SimpleVariableDefinition ACCESSPATTERN_CAT_PAGE_VIEW
A read-write persistent global String event variable for recording catalogue page views by exhibit. Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


ACCESSPATTERN_COMPLETED_DOWNLOAD

public static final SimpleVariableDefinition ACCESSPATTERN_COMPLETED_DOWNLOAD
A read-write persistent global String event variable for recording completed downloads by exhibit. Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


ACCESSPATTERN_COMPLETED_DOWNLOAD_LOCAL

public static final SimpleVariableDefinition ACCESSPATTERN_COMPLETED_DOWNLOAD_LOCAL
A read-write persistent local String event variable for recording completed downloads by exhibit. Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


ACCESSPATTERN_CLICKTHROUGH

public static final SimpleVariableDefinition ACCESSPATTERN_CLICKTHROUGH
A read-write persistent global String event variable for recording ad click-throughs by exhibit. Notes a click through to a paid ad from a catalogue page, where we can capture this information.

At best this is likely to be a sampling.

Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


ACCESSPATTERN_CLICKTHROUGH_BY_URI

public static final SimpleVariableDefinition ACCESSPATTERN_CLICKTHROUGH_BY_URI
A read-write persistent global String event variable for recording ad click-throughs by canonicalised URI. Notes a click through to a paid ad from any (valid) page.

At best this is likely to be a sampling.

Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The URIs are lower-cased (since some are case-insensitive) and limited in length.

We allow quite a number of unique values as information is likely to be quite sparse.

We are only interested in the longest-term stats.


ACCESSPATTERN_PAGEVIEW_BY_URI

public static final SimpleVariableDefinition ACCESSPATTERN_PAGEVIEW_BY_URI
A read-write persistent global String event variable for recording page-views by canonicalised URI. Notes a view of a HTML/XML page (not images, etc).

At best this is likely to be a sampling.

Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The URIs are lower-cased (since some are case-insensitive) and limited in length.

We allow a large number of unique values as information is likely to be quite sparse.

We are only interested in the longest-term stats.


ACCESSPATTERN_EX_HOTLINK_REF_HOST

public static final SimpleVariableDefinition ACCESSPATTERN_EX_HOTLINK_REF_HOST
A read-write persistent global String event variable for recording hotlinking to our exhibits by referrer host. This notes where an external site links directly to one of our exhibits (or thumbnails) rather than to one of our HTML pages.

We only really need to record the top offenders, not every minor infraction!

This is sometimes OK, eg from a bona-fide image search engine, but is often bad, eg bandwidth theft by idle Web site builders/bloggers, so we need to keep an eye on it.

We are only interested in the longest-term stats.


MAX_DIFF_VOTE_VALUES

public static final int MAX_DIFF_VOTE_VALUES
Maximum number of different exhibit name events recorded for votes. We regard votes as quite valuable, so will accommodate a larger set of these than for many other events.

See Also:
Constant Field Values

VOTE_PRO

public static final SimpleVariableDefinition VOTE_PRO
A read-write persistent global String event variable for recording positive votes by exhibit. Notes a "thumbs-up" vote for the names exhibit.

Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


VOTE_CON

public static final SimpleVariableDefinition VOTE_CON
A read-write persistent global String event variable for recording negative votes by exhibit. Notes a "thumbs-down" vote for the names exhibit.

Should ideally reflect access by (sane) humans, thus excluding obvious spiders, repeat clickers, etc, if possible! This may well record a representative sampling rather than all events, so rank is more reliable than absolute count.

The event values are exhibit short names (eg no directory path), since they save a little memory, should be unique, and may even be a bit more long-lasting than the full name.

We are only interested in the longest-term stats.


VOTE_COMMENT

public static final SimpleVariableDefinition VOTE_COMMENT
A read-write persistent global String event variable for recording vote comments by exhibit. Contains the (short) exhibit name followed (after a space) by a sanitised version of a user's comment.

This has a maximum of "0" different values since all we are interested in is the audit trail, from which we may hand-pick various items.

We are only interested in the longest-term stats.


AI_SCORER_GLOBAL_MAX_EVENTS

public static final int AI_SCORER_GLOBAL_MAX_EVENTS
Maximum number of Scorer global "events"; strictly positive. The global event store exists for interchange of "best" Scorers between servers, whereas the local event store additionally acts as persistent storage, and thus the local store should be (much) larger than the global one. (A large global store also implies significant network transmission costs.)

See Also:
Constant Field Values

AI_SCORER_STRING_GLOBAL_EVENT

public static final SimpleVariableDefinition AI_SCORER_STRING_GLOBAL_EVENT
Interchange between separate Gallery servers of the "best" Scorers/parameters. Note that this is valid for all event periods.


AI_SCORER_STRING_LOCAL_EVENT

public static final SimpleVariableDefinition AI_SCORER_STRING_LOCAL_EVENT
Persistent storage of a large selection of the "best" Scorers/parameters. This is larger than the global set since we persist a larger set of Scorers for a deep local "gene pool", and we don't pay to send this over a network.

Note that this is valid for all event periods.

Likely to receive overlap of events with AI_SCORER_STRING_GLOBAL_EVENT.


vars

private static final SimpleVariableDefinition[] vars
Private array of system variable definitions; non-null.


defs

public static final java.util.SortedSet<SimpleVariableDefinition> defs
Immutable SortedSet of system SimpleVariableDefinition items.


nameToDef

public static final java.util.Map<java.lang.String,SimpleVariableDefinition> nameToDef
Immutable Map from String variable name to SimpleVariableDefinition.


sensitiveVars

public static final java.util.SortedSet<java.lang.String> sensitiveVars
Immutable Set of String names of variables with slightly sensitive content. Values in these variables should possibly not be published as freely as other system variables, maybe because it contains unedited user input.

However, no data in the system is secret or sensitive in a legal sense, so this is only a weak hint!

Constructor Detail

SystemVariables

public SystemVariables()

DHD Multimedia Gallery V1.57.21

Copyright (c) 1996-2011, Damon Hart-Davis. All rights reserved.