|
|
1.1 root 1: % -*- LaTeX -*- (really SLiTeX)
2:
3: \begin{bwslide}
4: \ctitle {DYNAMIC FACILITIES}\bf
5:
6: \begin{nrtc}
7: \item RUN-TIME ENVIRONMENT
8:
9: \item INITIATORS TEMPLATE
10:
11: \item RESPONDERS TEMPLATE
12:
13: \item DEFINING A NEW SERVICE
14: \end{nrtc}
15: \end{bwslide}
16:
17:
18: %\begin{note}\em
19: %this part of the presentation corresponds to part~iv along with section~3.1
20: %of The Applications Cookbook
21: %\end{note}
22:
23:
24: \begin{bwslide}
25: \ctitle {DYNAMIC FACILITIES\\ OVERVIEW}
26:
27: \vskip.15in
28: \diagram[p]{figureA-49}
29: \end{bwslide}
30:
31:
32: \begin{bwslide}
33: \ctitle {RUN-TIME ENVIRONMENT}
34:
35: \begin{nrtc}
36: \item RUN-TIME ENVIRONMENT RESPONSIBLE FOR ``CIVILIZING'' REMOTE OPERATIONS
37: SERVICE
38:
39: \item IMPORTANT TRADE-OFF:
40: \begin{nrtc}
41: \item FLEXIBILITY FOR SIMPLICITY
42: \end{nrtc}
43:
44: %\item IN \emph{THE COOKBOOK}, \verb"ROSYLIB" IMPLEMENTS THE RUN-TIME
45: % ENVIRONMENT
46: \end{nrtc}
47: \end{bwslide}
48:
49:
50: \begin{bwslide}
51: \ctitle {DATA STRUCTURES}
52:
53: \begin{nrtc}
54: \item STUB GENERATOR PRODUCES OPERATION TABLES AS WELL
55:
56: \item FOR EACH OPERATION, A TABLE IS DEFINED CONTAINING:
57: \begin{nrtc}
58: \item NAME AND NUMBER OF OPERATION
59:
60: \item ARGUMENT ENCODE/DECODE ROUTINES
61:
62: \item RESULT ENCODE/DECODE/FREE ROUTINES
63:
64: \item ERROR TABLE
65: \end{nrtc}
66: \end{nrtc}\small
67:
68: \begin{verbatim}
69: ...
70:
71: /* OPERATION m-ConfirmedEventReport */
72: "m-ConfirmedEventReport", operation_CMIP_m__ConfirmedEventReport,
73: encode_CMIP_m__ConfirmedEventReport_argument,
74: decode_CMIP_m__ConfirmedEventReport_argument,
75: 1, encode_CMIP_m__ConfirmedEventReport_result,
76: decode_CMIP_m__ConfirmedEventReport_result,
77: free_CMIP_m__ConfirmedEventReport_result,
78: errors_CMIP_m__ConfirmedEventReport,
79:
80: ...
81: \end{verbatim}
82: \end{bwslide}
83:
84:
85: \begin{bwslide}
86: \ctitle {DATA STRUCTURES (cont.)}
87:
88: \begin{nrtc}
89: \item FOR EACH ERROR, A TABLE IS DEFINED CONTAINING:
90: \begin{nrtc}
91: \item NAME AND NUMBER OF ERROR
92:
93: \item PARAMETER ENCODE/DECODE/FREE ROUTINES
94: \end{nrtc}
95: \end{nrtc}\small
96:
97: \begin{verbatim}
98: ...
99:
100: /* ERROR noSuchObject */
101: "noSuchObject", error_CMIP_noSuchObject,
102: encode_CMIP_noSuchObject_parameter,
103: decode_CMIP_noSuchObject_parameter,
104: free_CMIP_noSuchObject_parameter,
105:
106: ...
107: \end{verbatim}
108: \end{bwslide}
109:
110:
111: \begin{bwslide}
112: \ctitle {A TABLE-DRIVEN APPROACH}
113:
114: \begin{nrtc}
115: \item RUN-TIME ENVIRONMENT SHOULD BE GENERALIZED TO WORK WITH THE LARGEST
116: POSSIBLE SET OF APPLICATIONS USING REMOTE OPERATIONS
117:
118: \item A TABLE-DRIVEN APPROACH PERMITS US TO DECOUPLE OPERATION-SPECIFIC
119: INFORMATION
120: \begin{nrtc}
121: \item WHAT ARGUMENTS REPRESENTED, HOW THEY ARE ENCODED, etc.
122: \end{nrtc}
123: FROM OPERATION-GENERIC INFORMATION
124: \begin{nrtc}
125: \item THE OPERATION TAKES ARGUMENTS WHICH MUST BE ENCODED, etc.
126: \end{nrtc}
127: \end{nrtc}
128: \end{bwslide}
129:
130:
131: \begin{bwslide}
132: \ctitle {STUBS REVISITED}
133:
134: \begin{nrtc}
135: %\item STUBS DEFINED BY ROSY CALL EITHER THE \verb"RyOperation" OR THE
136: % \verb"RyStub" ROUTINE
137: %
138: \item GENERALLY YOUR STUB ROUTINES WILL USE ``POLICY'' ROUTINES, MAINTAING:
139: \begin{nrtc}
140: \item INVOCATION IDENTIFIERS
141: \item LINKED--INVOCATION IDs
142: \end{nrtc}
143: %\item THE \verb"RyStub" ROUTINE IMPLEMENTS A LESS RESTRICTIVE POLICY:
144: % \begin{nrtc}
145: % \item USER SELECTS OPERATION CLASS AND INVOCATION IDENTIFIER
146: % \end{nrtc}
147: \end{nrtc}
148: \end{bwslide}
149:
150:
151: \begin{bwslide}
152: \ctitle {ASYNCHRONOUS STUBS}
153:
154: \begin{nrtc}
155: \item RECALL
156: {\small
157: \begin{verbatim}
158: #define stub_CMIP_m__ConfirmedEventReport(sd,id,in,rfx,efx,class,roi) \
159: RyStub ((sd), table_CMIP_Operations, \
160: operation_CMIP_m__ConfirmedEventReport, (id), \
161: (caddr_t) (in), (rfx), (efx), (class), (roi))
162: \end{verbatim}}
163:
164: \item THE MEANING OF THE PARAMETERS:
165: \begin{nrtc}
166: \item \verb"sd": ASSOCIATION-DESCRIPTOR
167:
168: \item \verb"id": INVOCATION IDENTIFIER
169:
170: \item \verb"in": ARGUMENT FOR OPERATION
171:
172: \item \verb"rfx": DISPATCH ROUTINE FOR RESULT
173:
174: \item \verb"efx": DISPATCH ROUTINE FOR ERRORS OR REJECTIONS
175:
176: \item \verb"class": (A)SYNCHRONOUS
177:
178: \item \verb"roi": LOCAL SERVICE INTERFACE INFORMATION
179: \end{nrtc}
180: \end{nrtc}
181: \end{bwslide}
182:
183:
184: %\begin{bwslide}
185: %\ctitle {INSIDE RYSTUB}
186: %
187: %\begin{nrtc}
188: %\item RUDIMENTARY PARAMETER CHECK
189: %
190: %\item BUILD PRESENTATION ELEMENT FOR ARGUMENT
191: %
192: %\item BUILD \emph{ACTIVATION BLOCK}
193: %
194: %\item ISSUE RO-INVOKE.REQUEST
195: %
196: %\item IF ASYNCHRONOUS, RETURN
197: %
198: %\item LOOP, WAITING FOR ANY RESPONSE:
199: % \begin{nrtc}
200: % \item RO-INVOKE.INDICATION:
201: % \begin{nrtc}
202: % \item PUSH ACTIVATION BLOCK FOR DISPATCHING OPERATION
203: % \end{nrtc}
204: %
205: % \item RO-RESULT, ERROR, OR REJECTION.INDICATION:
206: % \begin{nrtc}
207: % \item PARSE OPERATION RESULT OR ERROR PARAMETER AND CALL DISPATCH
208: % ROUTINE
209: %\begin{verbatim}
210: %result = (*fnx) (sd, id, reason, value, roi);
211: %\end{verbatim}
212: %
213: % \item IF RESPONSE WAS FOR US, RETURN
214: % \end{nrtc}
215: % \end{nrtc}
216: %\end{nrtc}
217: %\end{bwslide}
218:
219:
220: \begin{bwslide}
221: \ctitle {SYNCHRONOUS STUBS}
222:
223: \begin{nrtc}
224: \item RECALL
225: \begin{verbatim}
226: #define op_CMIP_m__ConfirmedEventReport(sd,in,out,rsp,roi) \
227: RyOperation ((sd), table_CMIP_Operations, \
228: operation_CMIP_m__ConfirmedEventReport, \
229: (caddr_t) (in), (out), (rsp), (roi))
230: \end{verbatim}
231:
232: \item THE MEANING OF THE PARAMETERS:
233: \begin{nrtc}
234: \item \verb"sd": ASSOCIATION-DESCRIPTOR
235:
236: \item \verb"in": ARGUMENT FOR OPERATION
237:
238: \item \verb"out": RESULT FOR OPERATION OR PARAMETER FOR ERROR
239:
240: \item \verb"rsp": TELLS HOW TO INTERPRET \verb"out"
241:
242: \item \verb"roi": REJECTION INFORMATION FOR OPERATION
243: \end{nrtc}
244: \end{nrtc}
245: \end{bwslide}
246:
247:
248: %\begin{bwslide}
249: %\ctitle {INSIDE RYOPERATION}
250: %
251: %\begin{nrtc}
252: %\item RUDIMENTARY PARAMETER CHECK
253: %
254: %\item BUILD PRESENTATION ELEMENT FOR ARGUMENT
255: %
256: %\item BUILD \emph{ACTIVATION BLOCK}
257: %
258: %\item ISSUE RO-INVOKE.REQUEST
259: %
260: %\item LOOP, WAITING FOR SOME RESPONSE:
261: % \begin{nrtc}
262: % \item RO-INVOKE.INDICATION:
263: % \begin{nrtc}
264: % \item PUSH ACTIVATION BLOCK FOR DISPATCHING OPERATION
265: % \end{nrtc}
266: %
267: % \item RO-RESULT, ERROR, OR REJECTION.INDICATION:
268: % \begin{nrtc}
269: % \item IF FOR US: PARSE OPERATION RESULT OR ERROR PARAMETER AND RETURN
270: %
271: % \item IF NOT FOR US: STUFF INFORMATION INTO CORRESPONDING ACTIVATION
272: % BLOCK
273: % \end{nrtc}
274: % \end{nrtc}
275: %\end{nrtc}
276: %\end{bwslide}
277:
278:
279: \begin{bwslide}
280: \ctitle {RESPONDERS}
281:
282: \begin{nrtc}
283: \item REGISTER A DISPATCH ROUTINE FOR EACH OPERATION USING \verb"RyDispatch"
284: \begin{verbatim}
285: RyDispatch (sd, ryo, op, fnx, roi)
286: \end{verbatim}
287:
288: \item THE MEANING OF THE PARAMETERS:
289: \begin{nrtc}
290: \item \verb"sd": ASSOCIATION-DESCRIPTOR
291:
292: \item \verb"ryo": OPERATION TABLE
293:
294: \item \verb"op": OPERATION NUMBER
295:
296: \item \verb"fnx": DISPATCH ROUTINE
297:
298: \item \verb"roi": FAILURE INDICATOR
299: \end{nrtc}
300: \end{nrtc}
301: \end{bwslide}
302:
303:
304: \begin{bwslide}
305: \ctitle {OPERATION DISPATCH}
306:
307: \begin{nrtc}
308: \item WHILE WAITING FOR ``SOMETHING TO HAPPEN'', A RO-INVOKE.INDICATION
309: CAUSES,
310:
311: \item THE PRESENTATION ELEMENT FOR THE OPERATIONS ARGUMENT IS PARSED INTO A STRUCTURE
312: AND THE DISPATCH ROUTINE IS CALLED:
313: %\begin{verbatim}
314: %result = (*fnx) (sd, ryo, rox, in, roi)
315: %\end{verbatim}
316:
317: \item DISPATCH ROUTINE HAS THREE OPTIONS
318: \begin{nrtc}
319: \item TO RETURN A RESULT
320:
321: \item TO RETURN AN ERROR
322:
323: \item TO REJECT AN OPERATION
324: \end{nrtc}
325: \end{nrtc}
326: \end{bwslide}
327:
328:
329: %\begin{bwslide}
330: %\ctitle {CLEAN-UP}
331: %
332: %\begin{nrtc}
333: %\item WHEN AN ASSOCIATION IS ABORTED (e.g., DUE TO NETWORK FAILURE),
334: % SOMETHING MUST BE DONE WITH ACTIVATION BLOCKS
335: %
336: %\item IDEALLY, WOULD LIKE TO:
337: % \begin{nrtc}
338: % \item RETAIN THIS STATE,
339: %
340: % \item RE-ESTABLISH THE ASSOCIATION, AND
341: %
342: % \item CONTINUE WHERE WE LEFT OFF
343: % \end{nrtc}
344: %
345: %\item NO SUCH LUCK, ACTIVATION BLOCKS ARE FLUSHED!
346: % \begin{nrtc}
347: % \item A LOT OF HARD ISSUES NEED TO BE RESOLVED IN ORDER TO DO THE
348: % ``RIGHT THING''
349: %
350: % \item ACTUALLY, FOR ASYNCHRONOUS INVOCATIONS, A REJECTION IS
351: % PASSED UP
352: % \end{nrtc}
353: %\end{nrtc}
354: %\end{bwslide}
355:
356:
357: \begin{bwslide}
358: \ctitle {INSIDE AN INITIATOR}\bf
359:
360: \begin{nrtc}
361: \item ALMOST OF THIS IS ``BOILERPLATE''
362: \item WE'LL CONSIDER ONLY THE HIGHLIGHT:
363: INVOKING AN OPERATION
364: \end{nrtc}
365: \end{bwslide}
366:
367:
368: %\begin{bwslide}
369: %\ctitle {INVOKING AN OPERATION}
370: %
371: %\begin{nrtc}
372: %\item ALTHOUGH \emph{THE COOKBOOK} TRIED TO MAKE THINGS SIMPLE,
373: % CALLING A STUB IS NOT EASY
374: %\end{nrtc}
375: %\end{bwslide}
376:
377:
378: %\begin{bwslide}
379: %\ctitle {ASYNCHRONOUS INVOCATION}\small
380: %
381: %\hrule\vskip.15in
382: %\begin{tgrind}
383: %\let\linebox=\relax
384: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
385: %\input figureA-54\relax
386: %\end{tgrind}
387: %\end{bwslide}
388: %
389: %
390: %\begin{bwslide}
391: %\ctitle {ASYNCHRONOUS INVOCATION (cont.)}\small
392: %
393: %\hrule\vskip.15in
394: %\begin{tgrind}
395: %\let\linebox=\relax
396: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
397: %\input figureA-55\relax
398: %\end{tgrind}
399: %\end{bwslide}
400: %
401: %
402: %\begin{bwslide}
403: %\ctitle {ASYNCHRONOUS INVOCATION (cont.)}\small
404: %
405: %\hrule\vskip.15in
406: %\begin{tgrind}
407: %\let\linebox=\relax
408: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
409: %\input figureA-56\relax
410: %\end{tgrind}
411: %\end{bwslide}
412: %
413: %
414: %\begin{bwslide}
415: %\ctitle {ASYNCHRONOUS INVOCATION (cont.)}\small
416: %
417: %\hrule\vskip.15in
418: %\begin{tgrind}
419: %\let\linebox=\relax
420: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
421: %\input figureA-57\relax
422: %\end{tgrind}
423: %\end{bwslide}
424:
425:
426: %\begin{bwslide}
427: %\ctitle {ASYNCHRONOUS INVOCATION (cont.)}\small
428: %
429: %\hrule\vskip.15in
430: %\begin{tgrind}
431: %\let\linebox=\relax
432: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
433: %\input figureA-58\relax
434: %\end{tgrind}
435: %\end{bwslide}
436:
437:
438: %\begin{bwslide}
439: %\ctitle {SIMPLIFIED ASYNCHRONOUS INVOCATION}\small
440: %
441: %\hrule\vskip.15in
442: %\begin{tgrind}
443: %\let\linebox=\relax
444: %\def\_{\ifstring{\char'137}\else\underline{\ }\fi}
445: %\input figureA-59\relax
446: %\end{tgrind}
447: %\end{bwslide}
448:
449:
450: \begin{bwslide}
451: \ctitle {SYNCHRONOUS INVOCATION}\small
452:
453: \hrule\vskip.15in
454: \begin{tgrind}
455: \let\linebox=\relax
456: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
457: \input figureA-60\relax
458: \end{tgrind}
459: \end{bwslide}
460:
461:
462: \begin{bwslide}
463: \ctitle {SYNCHRONOUS INVOCATION (cont.)}\small
464:
465: \hrule\vskip.15in
466: \begin{tgrind}
467: \let\linebox=\relax
468: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
469: \input figureA-61\relax
470: \end{tgrind}
471: \end{bwslide}
472:
473:
474: \begin{bwslide}
475: \ctitle {SYNCHRONOUS INVOCATION (cont.)}\small
476:
477: \hrule\vskip.15in
478: \begin{tgrind}
479: \let\linebox=\relax
480: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
481: \input figureA-62\relax
482: \end{tgrind}
483: \end{bwslide}
484:
485:
486: \begin{bwslide}
487: \ctitle {INSIDE A RESPONDER}\bf
488:
489: \begin{nrtc}
490: \item AGAIN, A LOT OF THIS WILL BE ``BOILERPLATE''
491: \item WE WILL ONLY LOOK AT RESPONDING TO AN OPERATION INVOKATION
492: \end{nrtc}
493: \end{bwslide}
494:
495:
496: %\begin{bwslide}
497: %\ctitle {RESPONDING TO AN OPERATION}
498: %
499: %\begin{nrtc}
500: %\item WHEN AN ACTIVATION BLOCK IS PUSHED,
501: % THE DISPATCH ROUTINE IS CALLED
502: %\end{nrtc}
503: %\end{bwslide}
504:
505:
506: \begin{bwslide}
507: \ctitle {RESPONDING TO AN OPERATION (cont.)}\small
508:
509: \hrule\vskip.15in
510: \begin{tgrind}
511: \let\linebox=\relax
512: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
513: \input figureA-63\relax
514: \end{tgrind}
515: \end{bwslide}
516:
517:
518: \begin{bwslide}
519: \ctitle {RESPONDING TO AN OPERATION (cont.)}\small
520:
521: \hrule\vskip.15in
522: \begin{tgrind}
523: \let\linebox=\relax
524: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
525: \input figureA-64\relax
526: \end{tgrind}
527: \end{bwslide}
528:
529:
530: \begin{bwslide}
531: \ctitle {RESPONDING TO AN OPERATION (cont.)}\small
532:
533: \hrule\vskip.15in
534: \begin{tgrind}
535: \let\linebox=\relax
536: \def\_{\ifstring{\char'137}\else\underline{\ }\fi}
537: \input figureA-65\relax
538: \end{tgrind}
539: \end{bwslide}
540:
541:
542: \begin{bwslide}
543: \ctitle {DEFINING A NEW SERVICE}\bf
544:
545: \begin{nrtc}
546: \item FINALLY, NEED TO IDENTIFY THE APPLICATION TO THE NETWORK
547:
548: \item THINGS TO BE DEFINED:
549: \begin{nrtc}
550: \item ABSTRACT SYNTAX
551:
552: \item APPLICATION CONTEXT NAME
553:
554: \item APPLICATION ENTITY TITLE
555:
556: \item PRESENTATION ADDRESS
557:
558: \item LOCAL PROGRAM
559: \end{nrtc}
560: \end{nrtc}
561: \end{bwslide}
562:
563:
564: \begin{bwslide}
565: \ctitle {ABSTRACT SYNTAX}
566:
567: \begin{nrtc}
568: \item DESCRIBES THE DATA STRUCTURES BEING EXCHANGED BY THE SERVICE
569:
570: \item \begin{verbatim} "ips-osi-mips cmip pci" 1.0.9596.2.1.1 \end{verbatim}
571: \end{nrtc}
572: \end{bwslide}
573:
574:
575: \begin{bwslide}
576: \ctitle {APPLICATION CONTEXT NAME}
577:
578: \begin{nrtc}
579: \item DESCRIBES THE ELEMENTS AND PROTOCOL BEING USED BY THE SERVICE
580:
581: \item \begin{verbatim} "iso cmip" 1.0.9596.2.2.1 \end{verbatim}
582: \end{nrtc}
583: \end{bwslide}
584:
585:
586: \begin{bwslide}
587: \ctitle {APPLICATION ENTITY TITLE}
588:
589: \begin{nrtc}
590: \item UNIQUELY NAMES AN ENTITY IN THE NETWORK
591: \item VALUE IS A DISTINGUISHED NAME, e.g.,
592: \begin{quote}\small\begin{verbatim}
593: c=US@o=TWG@ou=Software Engineering@cn=boomer@cn=filestore
594: \end{verbatim}\end{quote}
595: (THIS IS A STRING REPRESENTATION OF A COMPLEX ASN.1 TYPE!)
596: \item SIMPLER APPROACH IS TO USE LOCAL ALIASING (``boomer-filestore'') PRIOR TO
597: RESOLUTION:
598: \begin{nrtc}
599: \item LHS (QUALIFIER) MAPS TO INITIAL PART OF DISTINGUISHED NAME
600: \item RHS (DESIGNATOR) MAPS TO SUFFIX
601: \end{nrtc}
602: \end{nrtc}
603: \end{bwslide}
604:
605:
606: \begin{bwslide}
607: \ctitle {APPLICATION ENTITY TITLE}
608:
609: \begin{nrtc}
610: \item FOR INITIATORS, THE DIRECTORY IS ASKED TO RETURN THE ``PRESENTATION ADDRESS''
611: ATTRIBUTE OF THIS OBJECT
612: \item CONCEPTUALLY, RESPONDERS STORE THIS INFORMATION IN THE DIRECTORY
613: \end{nrtc}
614: \end{bwslide}
615:
616:
617: \begin{bwslide}
618: \ctitle {DYNAMIC CHARACTERISTICS: \\ PRESENTATION ADDRESS}
619:
620: \begin{nrtc}
621: \item UNIQUELY IDENTIFIES THE LOCATION OF AN ENTITY
622: \item VALUE IS
623: \begin{nrtc}
624: \item PRESENTATION SELECTOR (0+ OCTETS)
625: \item SESSION SELECTOR (0+ OCTETS)
626: \item TRANSPORT SELECTOR (0+ OCTETS)
627: \item NETWORK ADDRESSES (AT LEAST 1)
628: \end{nrtc}
629: \end{nrtc}
630: \end{bwslide}
631:
632:
633: \begin{bwslide}
634: \ctitle {LOCAL ENVIRONMENT: \\ CURRENT METHOD}
635:
636: \begin{nrtc}
637: \item TRANSPORT LISTENER RESIDES ON EACH END-SYSTEM
638: \item FOR EACH SERVICE LISTED IN LOCAL DATABASE
639: \begin{nrtc}
640: \item LISTEN ON ASSOCIATED TRANSPORT ADDRESS
641: \item UPON RECEIVING AN INCOMING CONNECTION, TSAPD
642: INVOKES ASSOCIATED PROGRAM
643: \end{nrtc}
644: \item PROGRAM IS CALLED A DYNAMIC RESPONDER
645: \end{nrtc}
646: \end{bwslide}
647:
648:
649: \begin{bwslide}
650: \ctitle {LOCAL ENVIRONMENT: \\ CURRENT METHOD (cont.)}
651:
652: \begin{nrtc}
653: \item SOME RESPONDERS MAY WISH TO SERVICE MULTIPLE INITIATORS
654: \item DIFFERENT APPROACH:
655: \begin{nrtc}
656: \item SERVICE NOT LISTED IN LOCAL DATABASE
657: \item PROGRAM LISTENS ON OWN TRANSPORT ADDRESS
658: \end{nrtc}
659: \item PROGRAM IS CALLED A STATIC RESPONDER
660: \end{nrtc}
661: \end{bwslide}
662:
663:
664: \begin{bwslide}
665: \ctitle {LOCAL ENVIRONMENT: \\ FUTURE METHOD}
666:
667: \begin{nrtc}
668: \item LOCAL DATABASE CONTAINS
669: \begin{nrtc}
670: \item SERVICE NAME
671: \item LOCAL PROGRAM
672: \end{nrtc}
673: \begin{verbatim} "tsap/cmip" #519 /usr/etc/ros.cmip args... \end{verbatim}
674: BUT NOT TRANSPORT ADDRESS
675: \item FOR EACH SERVICE
676: \begin{nrtc}
677: \item TRANSPORT LISTENER LISTENS ON RANDOM TRANSPORT ADDRESS
678: \item LISTENER REGISTERS SERVICE \& TRANSPORT ADDRESS WITH THE DIRECTORY
679: \end{nrtc}
680: \item SIMILAR APPROACH IS USED BY STATIC RESPONDERS
681: \end{nrtc}
682: \end{bwslide}
683:
684:
685: \begin{bwslide}
686: \ctitle {DYNAMIC FACILITIES:\\ REVIEW}
687:
688: \vskip.15in
689: \diagram[p]{figureA-49}
690: \end{bwslide}
691:
692:
693: \begin{bwslide}
694: \ctitle {CLOSING COMMENTS\\UPPER--LAYER ADDRESSING}
695:
696: \begin{nrtc}
697: \item TOO MUCH FREEDOM
698: \item DYNAMIC RESPONDER PREFER TO ``DISPATCH'' ON TRANSPORT SELECTOR
699: \item STATIC RESPONDERS MAY REQUIRE A UNIQUE NETWORK ADDRESS
700: \end{nrtc}
701: \end{bwslide}
702:
703:
704: \begin{bwslide}
705: \ctitle {UPPER--LAYER ADDRESSING}
706:
707: \begin{nrtc}
708: \item U.S. GOSIP CALLS FOR DISPATCHING ON PRESENTATION SELECTOR
709: \item OKAY FOR DYNAMIC RESPONDERS
710: \item STATIC RESPONDERS MAY STILL REQUIRE A UNIQUE NETWORK ADDRESS
711: \begin{nrtc}
712: \item WITH REAL OSI NETWORK SERVICE, STATIC RESPONDERS CAN DISPATCH
713: ON TRANSPORT SELECTOR
714: \end{nrtc}
715: \end{nrtc}
716: \end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.