Global Name Service (GNS)
Designed and implemented by Lampson and colleagues at the DEC Systems Research Center (1986)
Provide facilities for resource location, email addressing and authentication
When the naming database grows from small to large scale, the structure of name space may change
the service should accommodate it
Cache consistency ?
The GNS manages a naming database that is composed of a tree of directories holding names and values. Directories are named by multi-part pathnames referred to a root, or relative to a working directory, much like file names in a UNIX file system. Each directory is also assigned an integer, which serves as a unique directory identifier (DI). A directory contains a list of names and references. The values stored at the leaves of the directory tree are organized into value trees, so that the attributes associated with names can be structured values.
Names in the GNS have two parts: <directory name, value name>. The first part identifies a directory; the second refers to a value tree, or some portion of a value tree.
GNS Structure
Tree of directories holding names and values
Muti-part pathnames refer to the root or relative working directory (like Unix file system)
Unique Directory Identifier (DI)
A directory contains list of names and references
Leaves of tree contain value trees (structured values)
GNS directory tree and value tree
Accommodating changes
How to integrate naming trees of two previously separate GNS services But what is for ‘/UK/AC/QMV, Peter.Smith’ ?
Using DI to solve changes
Using the name ‘#599/UK/AC/QMV, Peter.Smith’
Restructuring of database
Using symbolic links