Federated Naming Service Programming Guide

FNS Policies

FNS provides applications with a set of policies on how namespaces are arranged and used. These policies specify:

Table 1-1 is a summary of FNS policy for arranging the enterprise namespace and Figure 1-1 shows that FNS policies provides a common framework for the three levels of service: global, enterprise, and application.

Table 1-1 Policies for the Federated Enterprise Namespace

Namespace Identifiers 

Name Service Type 

Subordinate Context 

Parent Context 

Namespace Organization 

Syntax 

orgunit

_orgunit

Organizational unit 

Site, user, host, file system, service 

Enterprise root 

Hierarchical 

NIS+ domain name Dot-separated, right-to-left 

site

_site

Site 

Service, file system 

Enterprise root, organizational unit 

Hierarchical 

Dot-separated, right-to-left 

user

_user

User 

Service, file system 

Enterprise root, organizational unit 

Flat 

Solaris login name 

host

_host

Host 

Service, file system 

Enterprise root, organizational unit 

Flat 

Solaris host name 

service

_service

Service 

Application-specific 

Enterprise root, organizational unit, site, user, host 

Hierarchical 

/ separated, left-to-right 

fs

_fs

File system 

None 

Enterprise root, organizational unit, site, user, host 

Hierarchical 

/ separated, left-to-right 

printer

Printer 

None 

Service 

Hierarchical 

/ separated, left-to-right

What FNS Policies Do Not Specify

The FNS policies do not specify the specific names used within naming services. In addition, naming within the application is the responsibility of individual applications or groups of related applications. They also do not specify the attributes to use after the object has been named.

Figure 1-1 Different Levels of Naming Services

Graphic

What FNS Enterprise Policies Arrange

The FNS enterprise policies deal with the arrangement of objects within the enterprise namespace. The policies are summarized in Table 1-1.

Figure 1-2 What FNS Policies Arrange

Graphic

The namespace of an enterprise is structured around the hierarchical structure of organizational units of an enterprise. Names of sites, hosts, users, files, and services can be named relative to names of organizational units by composing the organizational unit name with the appropriate namespace identifier and object name.

In Figure 1-3, a user, jsmith in the engineering organization of an enterprise, is named using the name orgunit/desktop.sw.eng/user/jsmith

Figure 1-3 Example of an Enterprise Namespace

Graphic

Initial Context Bindings

Resolution of a name in XFN always begins with some context. XFN defines an initial context as a starting point for name resolution. The initial context contains bindings that allow the client application to (eventually) name any object in the enterprise namespace. Figure 1-4 shows the same naming system as the one shown in Figure 1-3, except that the initial context bindings are shaded and shown in italics.

Figure 1-4 Example of Enterprise Bindings in the Initial Context

Graphic

The initial context has a flat namespace for namespace identifiers. The bindings of these namespace identifiers are summarized in Table 1-2. The categories of bindings are:

In Table 1-2, the user to which the bindings are related is denoted by U, and the host to which the bindings are related is denoted by H. Not all of these names need to appear in all initial contexts. For example, when a program is invoked by the superuser, none of the user-related bindings appears in the initial context.

Table 1-2 Initial Context Bindings for Naming Within the Enterprise

Namespace 

Identifier 

Binding 

myself

_myself

thisuser

U's user context 

myens

_myens

The enterprise root of U 

myorgunit

_myorgunit

U's distinguished organizational unit context. For NIS+, the distinguished organizational unit is U's NIS+ home domain. For NIS and files, it is the current domain and system, respectively. 

thishost

_thishost

H's host context 

thisens

_thisens

The enterprise root of H 

thisorgunit

_thisorgunit

H's distinguished organizational unit context. For NIS+, the distinguished organizational unit is H's NIS+ home domain. For NIS and files, it is the current domain and system, respectively. 

user

_user

The context in which users in the same organizational unit as H are named 

host

_host

The context in which hosts in the same organizational unit as H are named 

org

orgunit

_orgunit

The root context of the organizational unit namespace in H's enterprise. For NIS+, this corresponds to the NIS+ root domain. For NIS and files, it is the current domain and system, respectively. 

site

_site

The root context of the site namespace at the top organizational unit if the site namespace has been configured 

...

/...

Global context for resolving DNS or X.500 names 

_dns

Global context for resolving DNS names 

_x500

Global context for resolving X.500 names 

Examples of Composite Names

This section shows examples of names that follow FNS policies. The specific choices of organization names, site names, user names, host names, file names, and service names (such as "calendar" and "printer") are illustrative only; these names are not specified by FNS policy.

Composing Names Relative to Organizations

The naming systems to be found under an organization are: user, host, service, fs, and site.

org/csl.parc/site/videoconference.northwing

names a conference room videoconference located in the north wing of the site associated with the organization csl.parc.

org/csl.parc/user/mjones

names a user mjones in the organization csl.parc.

org/csl.parc/host/inmail

names a machine inmail belonging to the organization csl.parc.

org/csl.parc/fs/pub/blue-and-whites/CSL92-124

names a file pub/blue-and-whites/CSL92-124 belonging to the organization csl.parc.

org/csl.parc/service/calendar

names the calendar service for the organization csl.parc. This service might manage the meeting schedules for the organization.

Composing Names Relative to Users

The naming systems associated with users are service and fs.

user/jsmith/service/calendar

names the calendar service of the user jsmith.

user/jsmith/fs/bin/games/riddles

names the file bin/games/riddles under the home directory of the user jsmith.

Composing Names Relative to Hosts

The naming systems associated with hosts are service and fs.

host/mailhop/service/mailbox

names the mailbox service associated with the machine mailhop.

host/mailhop/fs/pub/saf/archives.91

names the directory pub/saf/archives.91 found under the root directory of the file system exported by the machine mailhop.

Composing Names Relative to Sites

The naming systems associated with sites are service and fs.

site/B5.MountainView/service/printer/speedy

names a printer speedy in the B5.MountainView site.

site/B5.MountainView/fs/usr/dist

names a file directory usr/dist available in the B5.MountainView site.