LDAP is a protocol for accessing online directories. LDAP directories, like file system directories, resemble trees with a root at the top and leaves at the bottom. An LDAP directory tree (DIT) is populated with entries. Each entry contains several attributes, each of which contains one or more values. The attributes that each entry posseses are defined in a simple class-definition language. Each entry is uniquely identified by one of its attribute/value pairs (called the relative distinguished name or RDN) and the RDNs of all its ancestors. This unique name is called an entry's distinguished name (DN). The distinguished name of an entry corresponding to a person might look like:
cn=Andrew Whitaker,ou=Computer Science,o=Indiana University,
c=US
cn stands for "common name"; ou stands for "organizational unit";
o stands for "organization"; c stands for "country"
LDAP is based on the OSI X.500 protocol, but is much simpler and runs over TCP/IP.
The directory structure for the PSE project was initially implemented using the University of Michigan LDAP server , but could be easily ported to any LDAP-compliant database such as the Netscape Directory Server. The LDAP attribute and class extensions used by the PSE are available.
The physical resource category contains entries relating to hardware relating to the PSE project. It currently only contains machine information, but could be expanded to include other information (printers, disk drives, etc.). Each machine entry contains the manufacturer, the model, the operating system, the host name, the proxy that has jurisdiction over the machine, and a list of modules that can run on the machine. It can also contain static machine specs such as RAM and processor speed.
The human resource category contains entries describing people associated with the PSE project. It is currently empty.
The resource managers category contains entries that describe entities that manage resources in the PSE. Currently, this directory contains entries describing proxies. Proxies are daemons that can spawn processes remotely in lieu of rsh. Each proxy contains a host name and a list of machines over which the proxy has jurisdiction.
A powerful feature of LDAP is that it allows attribute values to be
the distinguished names of other entries. This allows an entry to reference
another entry by its distinguished name. This is important for the PSE
because information contained at the leaves never needs to be duplicated.
For example, when a client performs a query to obtain a list of machines,
she can easily obtain information about the components that run on those
machines by dereferencing the list of component distinguished names.
Another Java module called the Information Sub-System ( InfoSubSys.java ) formulates LDAP queries to satisfy certain standard operations: searching for a list of proxies, obtaining the path of an executable component, etc.