Map
Index
Random
Help
Topics
th

Topic: unique numeric names as surrogates

topics > Group: naming



Topic:
alias names
Topic:
descriptive naming
Topic:
file
Topic:
file directory
Topic:
immutable files and data
Topic:
names defined by context
Topic:
names independent of objects
Topic:
object and value equivalence
Topic:
pointers to data
Topic:
proper names
Topic:
unique names
Topic:
using an address as a name
Topic:
what is a number

Summary

A numeric name is a unique id for a system object within a naming universe (or symbol type). Kent calls this a representative, a surrogate, or a key.

A numeric id separates the system representation of an object from the object's names. Its only function is to be unique. A numeric id allows character strings (Kent's "symbols") to be reserved for description and communication. It also allows names to have a separate existence in the system, with their own descriptions and relationships.

If permanently unique, a numeric id may be used to confirm the identity of a location-based name. Delay before reassigning numeric ids to avoid mistaken identities and enable automatic forwarding.

A numeric id should be singular as well as unique. If not, a reference to an object may be missed since the wrong id was assumed. Also the same object may occur multiple times under different ids. (cbb 6/89)

Subtopic: numeric ID, handle, surrogate up

Quote: employee numbers are good representations for entities [»kentW1_1984]
Quote: an object identifier is a data value that reliably refers to an object, a surrogate [»kentW6_1991]
Quote: a handle is a symbol that is a surrogate for a thing; a reference is an occurrence of a handle; can be 1:1 [»kentW6_1991]
Quote: non-literal handles to objects are established by creation operations in some scope [»kentW6_1991]
Quote: check an address by checking the object's unique identifier [»oppeDC7_1983]
Quote: surrogates are globally unique [»kentW_1978]
Quote: surrogates are information free; they do not imply additional information [»kentW_1978]
Quote: surrogates are atomic, unstructured units [»kentW_1978]
Quote: a Telesophy label consists of a unique number, a description, and cataloging information [»caplM12_1987]
Quote: use surrogate values to preserve individual identity; separates object id from descriptive data [»copeG3_1980]
Quote: use nonsense codes when the naming universe is ill-defined or sparsely used [»poloHN_1980]
Quote: a surrogate stands for a real thing within a system; its symbols can be different [»kentW_1978]
Quote: a singular representation avoids multiple representations for an entity
Quote: an address tumbler is a universal, unique identifier; hierarchically defined [»nelsTH1_1988]

Subtopic: formating up

Quote: print 20-digit cryptographic token in two lines of four-digit groups; significantly reduced error rate [»andeRJ5_1996]
Quote: survey on the use of check digits for error detection in identification numbers [»gallJA9_1996]

Subtopic: BigFiles, huge files up

Quote: Google uses BigFiles with 64-bit offsets, multiple file systems, compression, and allocation/deallocation [»brinS4_1998]
Quote: a GFS file consists of fixed-size chunks identified by a globally unique 64-bit handle; a chunk is a Linux file [»gherS10_2003]

Subtopic: Godel number up

Quote: a Godel number is a name for a string [»hofsDR_1979, OK]
Quote: a Godel numbering defines a number isomorphism for any formal system; typographic rules are arithmetic [»hofsDR_1979]
Quote: easily identify hierarchical relations with symbolic numbers; e.g., if man is 6 and ape is 10 then neither concept contains the other [»leibGW4_1679]

Subtopic: separate name/handle from object up

Quote: in conceptual modeling, an object is not the same as a unique name; allows missing proper names, modified names, and multiple names [»borgA1_1985]
Quote: in conceptual modeling, relations are between objects instead of names of objects [»borgA1_1985]
Quote: with surrogates, symbolic names can be described independently of real objects [»kentW_1978]
Quote: with surrogates, can avoid confusing assertions about real things, about names, and about relationships [»kentW_1978]
Quote: to use an abstract type as part of a concrete type, separate the abstract object into two parts: a handle providing the user interface and a representation holding the object's state [»stroB_1991]

Subtopic: fact as ID relationship up

Quote: a fact consists of identifying a relationship between surrogates [»kentW_1978]

Subtopic: text vs. numeric ID up

Quote: two levels needed for names: machine-oriented (a bit string) for storage, protection, etc; people-oriented (a mnemonic string) for reading [»watsRW_1981]
Quote: symbols that are valid handles to objects in most scopes are typically recognized syntactically, e.g., numbers, symbols, and strings [»kentW6_1991]

Subtopic: two-level ID up

Quote: a number represents an entity if we know the symbol type, i.e., naming universe [»kentW1_1984]
Quote: V's object identifiers consist of an object-manager-IPC-id (changes on reboot) and a local-object-id (transient name) [»cherDR3_1988]
Quote: V has globally unique, entity ids for processes, process groups, and ports; now 32-bits, will be 64-bits [»cherDR3_1988]
Quote: V went from 32-bit ids to 64-bit ids to reduce expected frequency of reuse
Quote: V process ids are unique within a V domain, i.e., a local network [»cherDR4_1984]
Quote: internal names for persistent objects by a 48-bit unique id followed by a 48-bit random id; protects name access [»birrAD9_1980]
Quote: Pilot assigns a unique id (64 bits: time + serial number) to each file [»redeDD2_1980]
Note: natural IDS -- 64-bit DepotID, world-wide unique with owner; 64-bit ItemID, unique within DepotID; formats with language codes [»cbb_2000, OK]

Subtopic: physical ID up

Quote: a URL identifies a resource in cyberspace, a barcode identifies an object in the real world [»maraH10_1997]
Quote: unique, physical identification of objects by embedding reflective particles in a transparent adhesive [»bricEF11_1991]
Quote: WebMark is a public database of (barcode, URL) pairs for retrieving web pages with a barcode scanner

Subtopic: global identifiers up

Quote: unique, system-wide names by capabilities better than symbolic links and remote mounting
Quote: in a distributed environment need unique, permanent ids (128 bits) for all data [»giffDK7_1985, OK]
Quote: Satchel uses tokens to retrieve documents any time, anywhere with mobile devices, printers, and workstations [»lammM9_2000]
Quote: the identity of a CLI assembly consists of an originator key, name, version number, and optional cultural; variations via satellite assemblies [»meijE10_2002]

Subtopic: network ID up

Quote: Apollo's AEGIS single level store uses 64-bit object id plus 32-bit offset for every byte on network; rapid remote access [»giffDK7_1985, OK]
Quote: Amoeba uses server ports (48 bits) to identify a server independently of its network address
Quote: Andrew uses unique ids for users and groups; never reassigned since used in many tables; user and group names are easily changed [»satyM8_1989]
Quote: Dexter components have a globally unique identifier across the entire universe of discourse [»halaF2_1994]
Quote: each OS6 user has a name, unique number, and index; user may 'log in'; includes maximum disk allocation [»stoyJE3_1972]

Subtopic: file identifiers up

Quote: the full name of a file is file id, version number, page 0; a directory associates strings with full names [»lampBW4_1974]
Quote: the Unix i-list gives each file a short, unique name; is reliable and simple, with easy access to file information [»ritcDM7_1978a]
Quote: files in OS6 are first-class values; access heading and body by file handle; heading contains information about file [»stoyJE3_1972]
Quote: a file is a linear array of data accessed by name or by segment number plus offset; independent of device

Subtopic: database tuple ID up

Quote: a database uniquely identifies every object [»coddEF_1990]
Quote: the relational model uses user-defined and user-controlled primary keys as unique and permanent identifiers
Quote: RM/T augments the relational model with system-assigned surrogates for entities [»coddEF12_1979]

Subtopic: object identifiers up

Quote: a backing store server manages persistent objects with internal names; allocates and frees storage space [»birrAD9_1980]
Quote: an index defines the internal name for objects in a backing store server; objects exist as long as a name exists [»birrAD9_1980]
Quote: derived Modeler objects named with 48-bit version stamp which hashes the source name, compiler version, switches, and interface version stamps [»lampBW6_1983]
Quote: Smalltalk uses an object id to access an object through a table; allows objects to move in memory [»krasG8_1981]
Quote: Smalltalk-80 uses 16-bit object ids [»krasG8_1981]
Quote: LOOM uses 16-bit object ids in memory and long ids on the disk [»kaehT9_1986]
Quote: LOOM objects store their own 32-bit id; only used by virtual memory code [»kaehT9_1986]
Quote: LOOM uses 'leaves' (object stubs) to represent an object that resides on disk [»kaehT9_1986]
Quote: when LOOM matures an object, it assigns a long id and a new hashed, memory-id; uses forwarding block at old id [»kaehT9_1986]

Subtopic: problems with ID up

Quote: problems with user-controlled keys as permanent surrogates: can be changed, different keys for same entity, entities without keys
Quote: Thoth depended on T-stability (ids not reused in <T seconds); difficult to implement in a distributed environment
[»cherDR3_1988]

Related Topics up

Topic: alias names (39 items)
Topic: descriptive naming (29 items)
Topic: file (22 items)
Topic: file directory (55 items)
Topic: immutable files and data (59 items)
Topic: names defined by context (36 items)
Topic: names independent of objects (34 items)
Topic: object and value equivalence (60 items)
Topic: pointers to data (55 items)
Topic: proper names (35 items)
Topic: unique names (58 items)
Topic: using an address as a name (22 items)
Topic: what is a number
(55 items)

Updated barberCB 3/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.