Version 8 (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 one with a user interface here.

Features

  • Allocates identifiers in a given name space (you supply the base URI ending in #).
  • All identifiers are stored in their name space in a single triplestore.
  • All identifiers have the form RNNNNNNNNNN where NNNNNNNNNN are digits and R is literal.
  • NNNNNNNNNN will never start with a zero.
  • NNNNNNNNNN will never contain a sequence NNN of three of the same digits.
  • NNNNNNNNNN will never contain any digit more than three times.
  • NNNNNNNNNN is allocated with a strong random number generator (PRNG seeded from an RNG).
  • While <base-uri>RNNNNNNNNNN is already recorded, it will go back and try another number.
  • 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).
  • Prized numbers (like 1000000000 or 9999999999) will be never be allocated.
  • 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.

Usage Policy for RDS/WIP

Since this was intended for the RDS/WIP, but has broader applicability (really for managing IDs of that fixed form in any namespace), then we need to come up with some policies for the RDS/WIP usage of this service:

  • The protocol - propose CGI, may accomodate SOAP?

  • Authentication - propose using existing LDAP, option to create organization accounts for automation?
  • The base URIs (namespaces) - need a decision(!)

Agenda

  • Need to apply authentication/authorization (very quick to do).
  • Do we need to broaden the concept of "prized numbers" (exclusions) to include patterns like 1234567890 or 3838385544?
  • 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