Version 4 (modified by jbourne, 16 years ago)

--

RDS/WIP Identifier Generator

There has long been a need for an identifier generator in this project, and so we now have an experimental one.

Features

  • Allocates identifiers in a given name space (you supply the base URI).
  • All identifiers are stored in their name space in a single triplestore.
  • All identifiers have the form RNNNNNN where NNNNNN are digits and R is literal.
  • NNNNNN will never start with a zero.
  • NNNNNN will never contain a sequence NNN of three of the same digits.
  • NNNNNN will never contain any digit more than three times.
  • Results in 862407 possible identifiers from R100000 to R999999.
  • NNNNNN is allocated with a strong random number generator (PRNG seeded from an RNG).
  • There is intentionally no support for allocating "sequences" of identifiers.
  • There is intentionally no support for allocating "bulk" identifiers.
  • Uses HTTP CGI GET for operations and XML for results.

Principles

  • No one can choose their identifier.
  • No one can inadvertently create implicit knowledge by "owning" a block of identifiers - knowledge should be explicit, reservation blocks denied.
  • No one can create "de facto" maps by allocating sequences that relate to other existing identifiers (again, to avoid creating implicit knowledge).
  • Identifiers are of the same length (at least until "slots" become too sparse to find quickly, which will likely happen when its about 80% full).
  • Supports machine interfacing.

Governance

  • Any abuse of the system (ie. trying to circumvent the principles) should result in suspension of the service for the offending user and revocation of the abusing allocations.

Agenda

  • Need to apply authentication/authorization (very quick to do).
  • Need to decide on a registry namespace & properties.
  • Need to decide if we record the allocater's user id and date.
Home
About PCA
Reference Data Services
Projects
Workgroups