|
|
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.