Annotation of 43BSDReno/contrib/isode-beta/doc/quipu/nameservice.tex, revision 1.1.1.1

1.1       root        1: 
                      2: \chapter {The QUIPU Nameservice}
                      3: \label {ns_design}
                      4: 
                      5: \section {Requirements}
                      6: 
                      7: Many applications make a relatively simple use of the directory, with the
                      8: following type of requirements:
                      9: 
                     10: \begin {itemize}
                     11: \item  Reading a single (or small number of) attribute(s).
                     12: 
                     13: \item  Public data only (i.e., no need for access control)
                     14: 
                     15: \item  Most data accessed is available locally
                     16: \end {itemize}
                     17: 
                     18: A typical usage is to look up and Application Entity Title to determine a
                     19: presentation address.
                     20: The DAP is a rather heavyweight procedure to achieve this.  
                     21: This chapter describes a lightweight mechanism to access a 
                     22: {\em local} DSA.   The protocol was designed by Marshall Rose.
                     23: 
                     24: \section {Design}
                     25: 
                     26: The QUIPU Name Server uses a lightweight interface to the QUIPU Directory
                     27: Service.
                     28: 
                     29: This gives an application the
                     30: ability to supply a distinguished name, and the Attribute Type required, in
                     31: IA5String format (because the encoding is more efficient).  The name server
                     32: will then use the lightweight protocol to pass a ``read'' operation onto the
                     33: directory.  The Directory will then perform a lookup of this data (giving
                     34: the operation a high priority status), and return the value.
                     35: 
                     36: 
                     37: The nameservice protocol is straight-forward.  The initiator formats a
                     38: query message for the nameservice.  This message is sent via a connectionless
                     39: protocol ``n'' times.  Each time after sending the message, the initiator
                     40: waits up to ``s'' seconds for a response.  If the response arrives, the
                     41: initiator processes it; otherwise, the initiator either sends another
                     42: message or gives up.  A definition of the PDUs for a ``query'' and the
                     43: ``response'' to that query are shown in Figure~\ref{ns-h}.  
                     44: 
                     45: \tagrind {ns}{Name Service Protocol}{ns-h}
                     46: 
                     47: The request-id identifies this particular Query; the same value is used
                     48: in the message, regardless of how many times the message is sent.
                     49: 
                     50: The name identifies the DN being looked-up.  It is a string from the IA5
                     51: repertoire which expresses the DN in the QUIPU format.
                     52: 
                     53: The attribute identifies the desired attribute of the DN.  It is a
                     54: string from the IA5 repertoire which expresses the attribute as known in
                     55: it's user-friendly form.
                     56: 
                     57: The cache-ok tells the nameservice if it is permitted to use cached
                     58: information when responding to the query.
                     59: 
                     60: When the nameservice receives a Query, it processes it as follows:
                     61: 
                     62: \begin{enumerate}
                     63: 
                     64: \item It constructs an environment to process the Query with access rights
                     65: for publically-readable information.
                     66: 
                     67: \item It prepares a Response using the request-id from the Query.
                     68: 
                     69: \item It reads the indicated DN and attribute from the DIT.  If the DN
                     70: exists with the given attribute, it returns the value of that attribute.
                     71: In the event that multiple values are present, the nameservice returns
                     72: any one of those values.  The ASN.1 encoded distinguished name is also
                     73: returned, typically for use as the Application Entity Title.
                     74: 
                     75: \item It then sends the response to the initiator.
                     76: \end {enumerate}
                     77: 
                     78: A message called the ``Response'' is returned by the name server (see
                     79: Figure~\ref{ns-h}).
                     80: 
                     81: request-id corresponds to the Query which invoked the nameservice.
                     82: 
                     83: value is the answer to the Query.  It is present only if no errors
                     84: occurred during processing.
                     85: 
                     86: The transaction protocol used by the nameservice is very
                     87: simple: Response messages are not cached and there are no Keep-alive nor
                     88: In-Progress messages.
                     89: 
                     90: \section {Support}
                     91: 
                     92: This protocol can optionally be supported by a QUIPU DSA.
                     93: 
                     94: A simple procedural interface (DUA) s supplied which is used by
                     95: ISODE applications such as FTAM and IMISC to
                     96: look up Presentation addresses of remote Application Processes.
                     97: The interface is designed so that use of the lightweight protocol or DAP can
                     98: be chosen at compile time (the saving in code size is significant, and so
                     99: this is not a runtime choice).   This is described in the QUIPU Manual.
                    100: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.