Annotation of 43BSDReno/contrib/isode-beta/doc/quipu/nameservice.tex, revision 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.