|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.