Browse Prior Art Database

Extensible Name Service for a Micro-kernel Based System

IP.com Disclosure Number: IPCOM000114797D
Original Publication Date: 1995-Feb-01
Included in the Prior Art Database: 2005-Mar-29
Document File: 4 page(s) / 150K

Publishing Venue

IBM

Related People

Chao, CY: AUTHOR [+6]

Abstract

Disclosed is a method allowing various areas of a name space to be managed by different name service implementations. To access resources or services, an operating system must identify the resources or services by a name within a name space.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 38% of the total text.

Extensible Name Service for a Micro-kernel Based System

      Disclosed is a method allowing various areas of a name space to
be managed by different name service implementations.  To access
resources or services, an operating system must identify the
resources or services by a name within a name space.

      The Figure is an illustration of the single name space, formed
as a graph made up of nodes and links, used by the IBM Microkernel.
A link 1 maps a node and a name to another node, describing a direct
path between nodes.  While the nodes themselves are not named, each
node has a set of attributes used to store information.  There are
directory nodes 2, alias nodes (not shown), and leaf nodes 3, which
do not have outgoing links.

      A send right to one of the nodes provides a task with a
reference to that node.  The task can get references to the names of
the links, connecting the starting node to another node it needs to
access.  Each task is given a reference to a well-known node in the
system, called the Root Directory Node 4.  Referencing this node as a
starting point, the task traverses the Name Space, gaining access to
files, other services, devices, etc.  Generally, a task uses the Name
Space by traversing the Name Space to find services or resources, by
populating the Name Space to advertise services or resources it
manages, or by being a Name Server itself.  If a resource manager is
not a name server, it can advertise its services in the Name Space by
using the Root Name Server or another Name Server.  In this way, the
collection of all Name Servers in a system implements the Name Space
graph.

      To get a reference to a node, a starting node and a path must
be provided.  The Name Server uses the starting node as the starting
place for a Name Resolution Algorithm.  The Name Server finds the
outgoing link with each name in the path, following that link to the
node to which it points, and using that node as a new starting place.
The Name Server continues this algorithm until the path is exhausted,
returning the last node visited as the result of a Resolution
Algorithm.  According to this algorithm, if the path is empty, the
Name Server returns to the starting node.  If the starting node does
not have an outgoing link labelled by the first link name in the
path, an error is returned.  The result of the recursive invocation
of this algorithm is applied to the preceeding result with the first
link name removed, and this result is returned.

      The type of node (directory, alias, or leaf) is determined when
the node is created, and cannot be changed.  The services provided by
directories and aliases are fully implemented by a Name Server.  A
leaf resides in a Name Server, but represents a resource not managed
by the Name Server.  Each node has a reference count, which is
incremented whenever a new reference to the node is established and
decremented whenever a reference to the node goes aw...