Quickstart Guide: GIS, Grid Information Service

Gregor von Laszewski (gregor@mcs.anl.gov)

Argonne National Laboratory, Argonne, IL 60439, U.S.A.

Abstract

This quickstart guide is a suggestion for a chapter in the quickstart
guide written and edited by NASA. It adresses the very basic features
of GIS that are relevant for users that like to query information.

1 Summary of Chapter

The GIS is a service that allows to store information about the state
of the grid infrastructure. In this quick guide we focus on gathering
information from the GIS through queries, and GIS-browsers. 

2 Terminology

GIS is a service that allows to store information about the state of
the grid infrastructure. One of its services is to publish information
via LDAP (lightweight directory access protocol). The GIS information
service has the ability to function as awhite pages directory and
yellow pages directory. Their functionality is best described with
a simple example:

White Pages: similar to a phone book, retrieve the information associated
  with a particular name. Such a name is called in LDAP terminology
  distinguished name. Each entry in the directory has exactly one
  distinguished name, which is, as one can guess, distinguishable
  from any other name. Examples for such lookups are the retrieval
  of an IP number or the amount of memory associated with a particular
  machine. 

Yellow Pages: similar to the yellow pages, a list of categorized entities
  can be returned form the directory. Such categories are defined
  by, so called, objectclasses. Examples, for such categories are
  a list of all computers or people. 

Search Constraints: a powerful extension to the white and yellow page
  function of the directory is the ability to augment the lookups
  with sophisticated boolean search filters.

We will describe examples demonstrating these modes for selected tools
later in this document. Information about the MDS (including an extensive
list of objectclasses) can be obtained from http://www.globus.org/mds.

3 Tools

Thus it is possible to utilize the a large number of commercial and
free tools for retrieving information. As part of the Grid infrastructure,
some specialized tools are available that allow to access information
from LDAP directories. This tools are

grid-info-search, a tool to retrieve information from the command
  line;

CGI-browser, a cgi browser to retrieve information through http queries;

Java-Browser, a Java application that allows to browse the directory
  in graphical form.

We will describe each of the tools in the next sections.

3.1 grid-info-search

The shell command grid-info-search allows to perform searches on the
GIS server based on search filters that conform to LDAP searches as
specified in RFC.. . The command line options are:

grid-info-search [ options ] <search filter> [attributes] 

where some options are

-help Displays this message 

-version Displays the current version number

-config file Specifies a different configuration file to obtain MDS
  defaults. Note that the option overrides the variables set in the
  users environment and previously listed command line options.

-h host The host name on which the MDS server is running (defaults
  to mds11.globus.org). 

-p port The port number on which the MDS server is running (defaults
  to 391). 

-b branch-point Location in the DIT from which to start the search
  (defaults to ``o=Globus, c=US'').

-T seconds The amount of time (in seconds) one should allow to wait
  on an GIS request (defaults to 30).

-s scope Specify the scope of the search. The possible values of
  scope are base, one, or sub to specify respectively a base object,
  one-level, or subtree search. The default is sub.  

grid-info-search also supports the full set of flags that are defined
in the LDAPv3 standard. We refer to the ldapsearch manual page for
a full description of all available options. The output format is
very simple and can easily be parsed. It is in the following form:


Distinguished Name (DN) 

attributename=value 

attributename=value 

attributename=value 


If one or more entries are found, that meet the search filter constraint,
each entry is written to standard output and separated with a single
blank line. The returned attributes can be restricted while listing
them at the end of the shell command. Search filters are specified
in polish notation where & is the boolean and operator and | is the
boolean or operator. It is a good practice to restrict the searches
to objectclasses of interest in order to minimize the duration it
takes for a query to return. As a general rule of thumb: the more
precise the query the shorter the response time.

 Sample Queries.

1. grid-info-search -help
   
  lists the options to the grid-info-search command.

2. grid-info-search -b ``o=Argonne National Laboratory, o= Globus, c=US''
  ``(objectclass=GlobusComputeResource)'' dn
  
  lists the all distinguished names of the compute resources that are
  stored in the directory under Argonne National Laboratory.

3. grid-info-search -b ``o=Argonne National Laboratory, o= Globus, c=US''
  ``(objectclass=GlobusComputeResource)'' 
  
  lists the distinguished names and all attributes of all compute resources
  the are stored in the directory under Argonne National Laboratory.

4. grid-info-search -b ``o=Argonne National Laboratory, o= Globus, c=US''
  ``(&(objectclass=GlobusComputeResource)(ostype=irix))'' dn 
  
  lists the distinguished names of all compute resources the are stored
  in the directory under Argonne National Laboratory and have an attribute
  ostype with a value equal to irix.

4 CGI Browser

The GIS CGI Browser is a Perl script that allows to browse the contents
of the GIS through web browsers. The information is returned in html.
The browser can be accessed from http://www.globus.org/mds. Nevertheless,
the possibility exists to customize the access via options that can
be set while specifying the URL. The URL of the browser is 

http://www-isi.globus.org/cgi/mdslevel.cgi?base:o=Globus,c=US;port:391. 

Since it is possible to modify the base and the port it is possible
to customize the browser accordingly.

5 Java Browser

A Java application that allows browsing of arbitrary LDAP directories
is available as additional download from http://www.globus.org/mds.
Extensive documentation and installation instructions to this browser
is included. 

6 LDAP in the community

Since the GIS uses LDAP, it is possible to use a variety of application
interfaces to communicate with the actual LDAP server. This software
independence is one of the important features that make LDAP an ideal
candidate for a very diverse compute environment as used in the Grid.
The application interfaces available to access the MDS directly are
for example:

sh: shell scripts from the University of Michigan and Netscape. 

Perl: perldap, ldapperl, Net::LDAPapi 

Java: Java APIs are available from Netscape and Sun (http://java.sun.com/products/jndi). 

C: A C API can be found from Netscape and from OpenLdap/University
  of Michigan 

 References

1. The MDS web page is maintained at http://www.globus.org/mds.

2. A Directory Service for Configuring High-Performance Distributed
  Computations. S. Fitzgerald, I. Foster, C. Kesselman, G. von Laszewski,
  W. Smith, S. Tuecke. Proc. 6th IEEE Symp. on High-Performance Distributed
  Computing, pg. 365-375, 1997. Describes the Metacomputing Directory
  Service used to maintain information about Globus components. 
  ftp://ftp.globus.org/pub/globus/papers/hpdc97-mds.ps.gz or 
  ftp://ftp.globus.org/pub/globus/papers/hpdc97-mds.pdf