Previous section.

DCE 1.1: Directory Services
Copyright © 1997 The Open Group

Inter-cell Operation

This chapter describes inter-cell name space communication. There are two modes of inter-cell communications:

Inter-cell Communication via the Global Name Space

Standard inter-cell communication is accomplished via the global name space, where the Cell Directory Service (CDS) that controls a cell's name space is registered. These cell entries in the global name space consist of information necessary for locating and accessing the CDS of a cell. The Global Directory Agent (GDA) acts as the gateway for obtaining the location information for a foreign cell's CDS from the appropriate global directory service (see Directory System Organization ).

Hierarchical Cell Communications

In a hierarchical cell configuration, one or more cells can be registered in another cell's name space. The parent cell, at the top of the hierarchy, must be registered in a global name space, but the child cells are registered in the parent cell's name space. In a hierarchical cell configuration, the Global Directory Agent (GDA) is again the gateway for obtaining a child cell's location information; in this case, the GDA obtains the location information from the CDS of the parent cell instead of from a global directory service.

Global Directory System Organization

A Cell Directory Service (CDS) uses the location information in the global name space to connect to the name spaces of foreign cells (that is, cells that are not in a hierarchical relationship with the requesting cell). The relationship of independent, non-hierarchical cells registered in global name spaces is illustrated in Directory System Organization .

Figure: Directory System Organization

Global Directory Agent

The Global Directory Agent (GDA) is the gateway between the cell and global name spaces; it queries the desired foreign cell name space information (that is, the location and protocol data of the targeted CDS) registered in the global name space. The GDA process resolves the global compound name of any fully-qualified global name (prefixed by the global root /...) that contains a foreign cell name space unknown to the local cell name space. This information is contained in the lookup progress record returned by the GDA.

The GDA parses the global compound name according to the syntax rules for DCE names. If the global compound name is identified as an X.500 name (that is, if it contains at least one = (equal sign) character in its top-level component), the GDA extracts the global compound name from the fully-qualified global name, discards the global root component, and issues a request to the corresponding X.500 service.

If the global compound name is not identified as being an X.500 name, the GDA assumes that the global compound name is an Internet DNS name, and passes the request to the DNS service. Since the DNS global compound name always consists of exactly one component (with . (dot) character separated subcomponents), only the first component of the unresolved name will be extracted for the request issued to the corresponding DNS server.

The progress record, which is returned by a successful1 GDA request, contains information about the directory service of the targeted cell name space. It also contains the unresolved residual of the composite name (see Cell Registration in Global Name Space ). This information can be used by the local CDS to locate and access the targeted foreign CDS to resolve the residual of the composite name and thus complete the requested operation.

The information returned by the GDA in the progress record is as follows:

Resolved part of name

This consists of the part of the name that was successfully resolved, and information about it.

Unresolved part of name

This consists of the part of the name that was not successfully resolved, and information about it.

Replica sets

This consists of location information for clearinghouses in the targeted CDS server (a clearinghouse is a database containing physical instances of CDS directories). If multiple replicated clearinghouses of the targeted cell are catalogued in the global name space entry, multiple set members are returned.

Hierarchical Cells

The Global Directory Agent (GDA) is also the gateway between cells in a cell hierarchy. In a hierarchical cell configuration, child cells are registered in the cell name space of a parent cell. The top-level parent in a cell hierarchy must be registered in a global name space. The parent cell's CDS acts as a higher-level directory service for the child cells.

A child cell's fully-qualified global name consists of the global name of the parent cell with the CDS name of the child cell appended to it. The GDA parses the name according to the syntax rules for DCE names; once it identifies the name of the parent cell it issues a request to that cell's CDS. The progress record returned by a successful GDA request corresponds to the progress record described in Global Directory Agent .

Cell Registration in Global Name Space

The location information for cells is stored in separate global name space entries in accordance with the underlying rules of the global directory services. These entries need not be leaf nodes of the particular directory service.

The cell entries in the global name space uniquely identify the cell itself, as well as the location and type of CDS instances. If multiple instances of a CDS are available, the cell entry catalogues one record for each clearinghouse. The information that is required to catalogue a cell is defined as follows:

Cell Registration in X.500

Cell information is contained in two X.500 attribute types, CDS-Cell and CDS-Replica. These attributes are either added to an existing directory entry or created along with a new specific directory entry. The syntax for both CDS-Cell and CDS-Replica attribute values is an octet string (see GDS Attribute Table ). A single attribute value is formed as a sequence of individual fields, as specified below.

CDS-Cell contains the non-recurring cell information, as defined in CDS-Cell Attribute Format .


Contents Syntax Presence
Target name space UUID Printable string terminated by \0 Mandatory
Cell root directory UUID Printable string terminated by \0 Only a \0 char if empty
Cell root directory name Printable string terminated by \0 Only a \0 char if empty


Table: CDS-Cell Attribute Format

CDS-Replica contains the set of recurring cell information, as defined in CDS-Replica Attribute Format .


Contents Syntax Presence
Clearinghouse type 1 octet GDA, Master or Read-only
Clearinghouse UUID Printable string terminated by \0 Mandatory
Clearinghouse name Printable string terminated by \0 Mandatory
Length of tower string 4 octets numeric string Value from 1-325
Tower set Octet string (with \0 separated set members) Length from previous field


Table: CDS-Replica Attribute Format

The UUIDs are represented in string form, as specified in the DCE Remote Procedure Call specification.

The tower set contains network address information, consisting of a set of null-terminated RPC string binding representations of protocol towers (see the DCE Remote Procedure Call specification).

For both attribute types, the attribute values (represented by octet strings) will vary in length. The current attribute value length is automatically stored in the X.500 directory system. The maximum attribute lengths must be defined in the X.500 schema (see Conformance Statement for GDS ).

Cell Registration in DNS

Cell information is contained in a pair of resource records (see RFC 1033 for recommendations on the contents of resource records). The resource records can be added to existing DNS nodes, or stored in newly created Internet domain names. The NIC Registrar is responsible for registering a domain name.

The resource records have the following type and contents:

Additional pairs of AFSDB and TXT records are used to define multiple clearinghouses.


Footnotes

1.
A GDA operation is considered to be successful only if the entity addressed by the global compound name represents a cell entry in the global name space, containing information about a cell.


Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.

Contents Next section Index