NameServiceDoc.tioga
Theimer, December 18, 1992 1:16 am PST
NameServiceDoc
CEDAR 10.1 %
NameServiceDoc
Cedar Access to the NMS Name Service
Marvin Theimer
Ó Copyright 1992 Xerox Corporation. All rights reserved.
Abstract: The NMS name service provides network access to a name space of key-value tuples. The primary purpose of the name service is to provide a place where RPC services can register themselves. Access to the NMS is available from every host machine that is running an NMS server on it.
Created by: Marvin Theimer
Maintained by: Marvin Theimer <Theimer:PARC:Xerox>
Keywords: Name service, Sun RPC
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

The NMS Name Service
The NMS name space is a key-value tuple space, where tuples have the form ((k1 . v1) (k2 . v2) ...). Each key is a Cedar rope and each value can be either a rope or another tuple. The programmatic interface to use for constructing tuples is List.mesa. A tuple is basically a List.LORA of List.DotCons pairs.
NameService.mesa provides three functions for dealing with the NMS:
ExportRPCSun: Export to the NMS name service a SUN-RPC service registration, to be associated with a specified tuple.
ImportRPCSun: Import (bind) the SUN-RPC interface registered in the NMS for a specified string name.
ImportRegistrations: Return a list of all tuples that match a specified tuple pattern.
ImportRPCSun is a simple way to import an RPC service by (unique) name, while ImportRegistrations allows one to find one or more RPC services by matching against a registration pattern. Whereas ImportRPCSun actually sets up a connection to the named RPC service, ImportRegistrations merely returns the matched tuples found in the NMS. These tuples will contain one key-value pair, called a string binding handle, that contains a textual representation of the RPC interface information (program number, version number, protocol, host address, and port number). The function SBHFromRope returns the individual values contained in a string binding handle; which can then be used to import a particular RPC service.