|
|
1.1 root 1: % run this through LaTeX with the appropriate wrapper
2:
3: \dotopic{APPLICATION SERVICES}
4:
5:
6: \begin{bwslide}
7: \part* {OUTLINE}\bf
8:
9: \begin{description}
10: \item[PART I:] APPLICATION LAYER STRUCTURE
11:
12: \item[PART II:] APPLICATION SERVICE ELEMENTS
13: \end{description}
14: \end{bwslide}
15:
16:
17: \begin{bwslide}
18: \ctitle {A BIG ACKNOWLEDGEMENT}
19:
20: \begin{nrtc}
21: \item THIS PART OF THE TALK HAS BEEN REWORKED SEVERAL TIMES
22:
23: \item IN AN EFFORT TO BALANCE UNDERSTANDABILITY AND COMPLETENESS
24:
25: \item IT IS BASED, IN PART, ON AN EARLIER PRESENTATION BY
26: CHRISTOPHER W.~MOORE AND MARSHALL T.~ROSE
27: \end{nrtc}
28: \end{bwslide}
29:
30:
31: \begin{bwslide}
32: \part {APPLICATION LAYER STRUCTURE}\bf
33:
34: \begin{nrtc}
35: \item UPPER LAYER INFRASTRUCTURE
36:
37: \item APPLICATION CONTEXTS
38:
39: \item APPLICATION ENTITIES
40: \end{nrtc}
41: \end{bwslide}
42:
43:
44: \begin{bwslide}
45: \part* {UPPER LAYERS INFRASTRUCTURE}\bf
46:
47: \begin{nrtc}
48: \item PROVIDES A COMMON FRAMEWORK FOR APPLICATIONS \emph{DESIGNERS}
49:
50: \item TO MAKE BUILDING APPLICATIONS EASIER FOR \emph{IMPLEMENTORS}
51:
52: \item IN THEORY, THIS YIELDS BETTER APPLICATIONS FOR THE \emph{USERS}
53: \end{nrtc}
54: \end{bwslide}
55:
56:
57: \begin{bwslide}
58: \ctitle {PAYOFF OF THE INFRASTRUCTURE}
59:
60: \begin{nrtc}
61: \item RAPID PROTOTYPING OF APPLICATIONS
62:
63: \item FOCUS DESIGN/DEVELOPMENT ON \emph{APPLICATION} ISSUES,
64: RATHER THAN UNDERLYING ISSUES
65:
66: \item MINIMIZE LONG-TERM INVESTMENT OF SOFTWARE-RELATED INVESTMENT
67: \begin{nrtc}
68: \item (AT EXPENSE OF START-UP COST)
69: \end{nrtc}
70: \end{nrtc}
71: \end{bwslide}
72:
73:
74: \begin{bwslide}
75: \ctitle {OSI UPPER-LAYER INFRASTRUCTURE}
76:
77: %\vskip.5in
78: \diagram[p]{figureA-1}
79: \end{bwslide}
80:
81:
82: \begin{bwslide}
83: \ctitle {UPPER LAYERS INTERFACE TO\\ TRANSPORT SERVICE}
84:
85: \begin{nrtc}
86: \item FULL-DUPLEX CIRCUITS
87:
88: \item PUMP BYTES RELIABLY ACROSS THE NETWORK
89:
90: \item ALL DISCUSSION HENCE FORTH WILL BE CO-MODE
91: \begin{nrtc}
92: \item AND VERY BRIEF!
93: \end{nrtc}
94: \end{nrtc}
95: \end{bwslide}
96:
97:
98: \begin{bwslide}
99: \ctitle {SESSION SERVICE}
100:
101: \begin{nrtc}
102: \item ADD \emph{CONTROL} FACILITIES TO MANIPULATE DIALOGUES
103:
104: \item THAT ARE SPECIFIC TO A PARTICULAR APPLICATION TASK
105: \begin{nrtc}
106: \item e.g., ACCESSING A FILE OR DELIVERYING A MAIL MESSAGE
107: \end{nrtc}
108: \end{nrtc}
109: \end{bwslide}
110:
111:
112: \begin{bwslide}
113: \ctitle {SESSION SERVICE (cont.)}
114:
115: \begin{nrtc}
116: \item IN ADDITION TO TRANSPORT FUNCTIONALITY:
117: \begin{nrtc}
118: \item TOKEN MANAGEMENT
119:
120: \item DIALOGUE CONTROL
121:
122: \item ACTIVITY MANAGEMENT
123:
124: \item EXCEPTION REPORTING
125: \end{nrtc}
126: \end{nrtc}
127: \end{bwslide}
128:
129:
130:
131: \begin{bwslide}
132: \ctitle {MOVING DATA AT SESSION}
133:
134: \begin{nrtc}
135: \item VERSION 1 OF SESSION RESTRICTS SSDU SIZE TO 512 OCTETS FOR MANY
136: SERVICES (e.g., \verb"S-CONNECT")
137:
138: \item TOO RESTRICTIVE FOR MANY OSI APPLICATIONS
139: \begin{nrtc}
140: \item e.g., PASSING OSI DIRECTORY NAMES ON CONNECTIONS
141: \end{nrtc}
142:
143: \item VERSION 2 REMOVES THIS LIMIT
144: \begin{nrtc}
145: \item PRACTICAL LIMIT OF 10K OCTETS USED
146: \end{nrtc}
147:
148: \item SESSON PROVIDES FOR DOWN-NEGOTIATION
149: \begin{nrtc}
150: \item BUT MUST BE CAREFUL SINCE NOT ALL IMPLEMENTATIONS SUPPORT IT
151:
152: \item CHOICES
153: \begin{nrtc}
154: \item APPLICATION CHOOSES ONE, ELSE
155:
156: \item IF CONNECT SSDU $>$ 512: USE VERSION 2
157: \end{nrtc}
158: \end{nrtc}
159: \end{nrtc}
160: \end{bwslide}
161:
162:
163: \begin{bwslide}
164: \ctitle {ABSTRACT SYNTAX}
165:
166: \begin{nrtc}
167: \item ADD \emph{STRUCTURE} FACILITIES TO MANIPULATE THE DATA
168:
169: \item THAT IS EXCHANGED BETWEEN APPLICATIONS
170: \begin{nrtc}
171: \item e.g., RECORD STRUCTURE IN A FILE OR BODY PARTS IN A MAIL
172: MESSAGE
173: \end{nrtc}
174: \end{nrtc}
175: \end{bwslide}
176:
177:
178: \begin{bwslide}
179: \ctitle {ABSTRACT SYNTAX (cont.)}
180:
181: \begin{nrtc}
182: \item ABSTRACT SYNTAX NOTATION
183: \begin{nrtc}
184: \item FORMAL LANGUAGE FOR DESCRIBING DATA STRUCTURES
185:
186: \item ASN.1 PROVIDES DESCRIPTIVE FRAMEWORK FOR UPPER TWO LAYERS
187: \end{nrtc}
188:
189: \item TRANSFER SYNTAX NOTATION
190: \begin{nrtc}
191: \item RESPONSIBLE FOR MAPPING INSTANCES OF DATA STRUCTURES
192: INTO A BIT STREAM (SERIALIZATION)
193:
194: \item BASIC ENCODING RULES (BER) ARE USED FOR ASN.1
195: \end{nrtc}
196: \end{nrtc}
197: \end{bwslide}
198:
199:
200: \begin{bwslide}
201: \ctitle {PRESENTATION SERVICE}
202:
203: \begin{nrtc}
204: \item APPLY
205: \begin{nrtc}
206: \item \emph{STRUCTURE} FROM ABSTRACT SYNTAX
207: \end{nrtc}
208: ON TOP OF
209: \begin{nrtc}
210: \item \emph{CONTROL} FROM SESSION SERVICE
211: \end{nrtc}
212:
213: \item REALLY NO MORE THAN ABSTRACT SYNTAX ON TOP OF PASS-THROUGH TO SESSION
214: \end{nrtc}
215: \end{bwslide}
216:
217:
218: \begin{bwslide}
219: \ctitle {PRESENTATION SERVICE (cont.)}
220:
221: \begin{nrtc}
222: \item IN ADDITION TO SESSION FUNCTIONALITY:
223: \begin{nrtc}
224: \item CONTEXT MANAGEMENT
225:
226: \item SYNTAX MATCHING
227: \end{nrtc}
228: \end{nrtc}
229: \end{bwslide}
230:
231:
232: \begin{bwslide}
233: \ctitle {INFRASTRUCTURE REVISITED}
234:
235: \begin{nrtc}
236: \item STRENGTHS
237: \begin{nrtc}
238: \item COMMON INFRASTRUCTURE
239:
240: \item MORE TECHNICALLY COMPREHENSIVE
241: \end{nrtc}
242:
243: \item WEAKNESSES
244: \begin{nrtc}
245: \item COMPLEXITY
246:
247: \item POLITICAL POLARIZATION
248:
249: \item LACK OF PRACTICAL EXPERIENCE
250: \end{nrtc}
251: \end{nrtc}
252: \end{bwslide}
253:
254:
255: \begin{bwslide}
256: \part* {APPLICATION CONTEXTS}\bf
257:
258: \begin{nrtc}
259: \item OSI APPLICATION LAYER IS DIVIDED INTO
260: \begin{nrtc}
261: \item APPLICATION SERVICE ELEMENTS (ASEs)
262: \end{nrtc}
263: EACH WITH A PARTICULAR FUNCTION
264:
265: \item AN APPLICATION PROTOCOL IS DEFINED BY
266: \begin{nrtc}
267: \item SELECTING DIFFERENT SERVICE ELEMENTS
268:
269: \item AND DECIDING HOW THEY INTERACT WITH EACH OTHER AND THE
270: PRESENTATION SERVICE
271: \end{nrtc}
272: \end{nrtc}
273: \end{bwslide}
274:
275:
276: \begin{bwslide}
277: \ctitle {APPLICATION CONTEXTS (cont.)}
278:
279: \begin{nrtc}
280: \item USE OF SERVICE ELEMENTS
281: \begin{nrtc}
282: \item DIVIDES RESPONSIBILITY OF ``TOTAL'' APPLICATION PROTOCOL
283:
284: \item PROMOTES ``REUSE'' OF APPLICATION LAYER FACILITIES
285: \end{nrtc}
286:
287: \item EACH APPLICATION CONTEXT IS ASSIGNED AN AUTHORITATIVE NUMBER
288: \begin{nrtc}
289: \item TERMED AN OBJECT IDENTIFIER
290: \end{nrtc}
291: WHICH UNIQUELY IDENTIFIES THE PARTICULAR APPLICATION PROTOCOL, e.g.,
292: \begin{quote}\smaller\begin{verbatim}
293: { joint-iso-ccitt ds(5) applicationContext(3) directoryAccessAC(1) }
294: \end{verbatim}\end{quote}
295: \end{nrtc}
296: \end{bwslide}
297:
298:
299: \begin{bwslide}
300: \ctitle {APPLICATION LAYER}
301:
302: \vskip.5in
303: \diagram[p]{figureA-2}
304: \end{bwslide}
305:
306:
307: \begin{bwslide}
308: \ctitle {APPLICATION ASSOCIATIONS}
309:
310: \begin{nrtc}
311: \item AN APPLICATION \emph{ASSOCIATION} IS A PRESENTATION CONNECTION WITH
312: \begin{nrtc}
313: \item ADDITIONAL APPLICATION LAYER SEMANTICS
314: \end{nrtc}
315:
316: \item AT PRESENT, THIS IS LITTLE MORE THAN APPLICATION LAYER NAMING
317: \end{nrtc}
318: \end{bwslide}
319:
320:
321: \begin{bwslide}
322: \part* {APPLICATION ENTITIES}\bf
323:
324: \begin{nrtc}
325: \item AN APPLICATION PROCESS (AP) IS SOMETHING WHICH EXECUTES IN THE NETWORK
326:
327: \item THE OSI COMMUNICATIONS ASPECT OF SUCH A PROCESS IS TERMED AN
328: \begin{nrtc}
329: \item APPLICATION ENTITY (AE)
330: \end{nrtc}
331: \end{nrtc}
332: \end{bwslide}
333:
334:
335: \begin{bwslide}
336: \ctitle {WHEN AEs COMMUNICATE}
337:
338: \begin{nrtc}
339: \item PEERS ARE COMPOSED OF PRECISELY THE SAME ASEs
340:
341: \item EACH ASE TALKS ONLY WITH ITS PEER
342: \end{nrtc}
343: \end{bwslide}
344:
345:
346: \begin{bwslide}
347: \ctitle {HOW TO KEEP TRACK OF DATA STREAMS?}
348:
349: \begin{nrtc}
350: \item A PRESENTATION CONTEXT IS A PAIRING OF:
351: \begin{nrtc}
352: \item A SET OF DATA STRUCTURE DEFINITIONS (ABSTRACT SYNTAX), AND
353:
354: \item RULES FOR ENCODING THOSE DATA STRUCTURES ON THE NETWORK
355: (TRANSFER SYNTAX)
356: \end{nrtc}
357:
358: \item REPRESENTED BY A PRESENTATION CONTEXT IDENTIFIER (PCI)
359:
360: \item ALL USER DATA GIVEN TO PRESENTATION IS TAGGED ACCORDINGLY
361:
362: \item CONTEXTS NORMALLY DEFINED DURING CONNECTION ESTABLISHMENT
363:
364: \item BUT MIGHT BE CHANGED
365: \begin{nrtc}
366: \item EXPLICITLY: BY THE APPLICATION, OR,
367:
368: \item IMPLICITLY: BY RESYNCHRONIZATION
369: \end{nrtc}
370: \end{nrtc}
371: \end{bwslide}
372:
373:
374: \begin{bwslide}
375: \ctitle {A FEW OTHER DETAILS}
376:
377: \begin{nrtc}
378: \item MULTIPLE APPLICATION \emph{ENTITIES} MAY BE PRESENT IN A SINGLE
379: APPLICATION \emph{PROCESS}
380:
381: \item CURRENT SPECIFICATION ON
382: \begin{nrtc}
383: \item OSI APPLICATION LAYER STRUCTURE
384: \end{nrtc}
385: BEARS LITTLE RESEMBLENCE TO THE ARCHITECTURE OF EXISTING OSI
386: APPLICATIONS!
387: \end{nrtc}
388: \end{bwslide}
389:
390:
391: \begin{bwslide}
392: \part {APPLICATION SERVICE ELEMENTS}\bf
393:
394: \begin{nrtc}
395: \item ASSOCIATION CONTROL (ACSE)
396:
397: \item RELIABLE TRANSFER (RTSE)
398:
399: \item REMOTE OPERATIONS (ROSE)
400:
401: \item USE OF APPLICATION SERVICES
402: \end{nrtc}
403: \end{bwslide}
404:
405:
406: \begin{bwslide}
407: \ctitle {THERE ARE A LOT OF ASEs}
408:
409: \begin{nrtc}
410: \item EACH APPLICATION TYPICALLY DEFINES AT LEAST ONE ASE WHICH IS SPECIFIC
411: TO THE APPLICATION
412:
413: \item HOWEVER,
414: \begin{nrtc}
415: \item ACSE, ROSE, and RTSE
416: \end{nrtc}
417: ARE USED QUITE FREQUENTLY
418: \begin{nrtc}
419: \item (OFTEN TERMED \emph{COMMON} ASEs)
420: \end{nrtc}
421: \end{nrtc}
422: \end{bwslide}
423:
424:
425: \begin{bwslide}
426: \part* {ASSOCIATION CONTROL (ACSE)}\bf
427:
428: \begin{nrtc}
429: \item USED BY \emph{ALL} OSI APPLICATIONS TO PERFORM ASSOCIATION
430: ESTABLISHMENT AND RELEASE
431:
432: \item ALL OSI APPLICATIONS DEFINE HOW THE ACSE IS USED
433:
434: \item ONLY THE ACSE INVOKES PRESENTATION CONNECTION ESTABLISHMENT AND
435: RELEASE SERVICES
436: \end{nrtc}
437: \end{bwslide}
438:
439:
440: \begin{bwslide}
441: \ctitle {BINDING SERVICE}
442:
443: \begin{nrtc}
444: \item AN ASSOCIATION \emph{BINDS} AN INITIATOR TO A RESPONDER
445: \begin{nrtc}
446: \item TYPICALLY FOR A CONSUMER/PROVIDER MODEL
447: \end{nrtc}
448:
449: \item BINDING IS TWO-STEP:
450: \begin{nrtc}
451: \item MAP SERVICE ONTO AVAILABLE ENTITIES
452:
453: \item SELECT ENTITY BASED ON COMMUNICATIONS REQUIREMENTS
454: \end{nrtc}
455: \end{nrtc}
456: \end{bwslide}
457:
458:
459: \begin{bwslide}
460: \ctitle {NEGOTIATION}
461:
462: \begin{nrtc}
463: \item THIS IS THE VERY HEART OF ASSOCIATION ESTABLISHMENT
464: \begin{nrtc}
465: \item SESSION: TOKENS, SERIAL NUMBERS, etc.
466:
467: \item PRESENTATION: CONTEXTS
468:
469: \item APPLICATION: ASSOCIATION CONTEXT (MOOT)
470: \end{nrtc}
471: \end{nrtc}
472: \end{bwslide}
473:
474:
475: \begin{bwslide}
476: \ctitle {NAMING}
477:
478: \begin{nrtc}
479: \item APPLICATION ENTITY IDENTIFIED AS:
480: \begin{nrtc}
481: \item APPLICATION PROCESS TITLE
482:
483: \item APPLICATION ENTITY QUALIFIER (USUALLY NONE)
484: \end{nrtc}
485: TERMED AN APPLICATION ENTITY TITLE
486:
487: \item PRIOR TO OSI DIRECTORY:
488: \begin{nrtc}
489: \item AP TITLE: AN OBJECT IDENTIFIER (FIXED)
490: \end{nrtc}
491:
492: \item CURRENTLY:
493: \begin{nrtc}
494: \item AP TITLE: A DIRECTORY DISTINGUISHED NAME
495: \end{nrtc}
496: \end{nrtc}
497: \end{bwslide}
498:
499:
500: \begin{bwslide}
501: \ctitle {NAMING (cont.)}
502:
503: \begin{nrtc}
504: \item A DISTINGUISHED NAME (DN) IS AN ASN.1 OBJECT CONSISTING OF
505: \begin{nrtc}
506: \item A SEQUENCE OF ATTRIBUTE/VALUE PAIRS
507: \end{nrtc}
508: IMPLYING A SUPERIOR/SUBORDINATE RELATIONSHIP, e.g.,
509: \begin{quote}\small\begin{verbatim}
510: countryName = US
511: organizationName = NYSERNet Inc.
512: organizationalUnitName = Research
513: commonName = wp
514: commonName = filestore
515: \end{verbatim}\end{quote}
516:
517: \item REFERS TO AN INFORMATION OBJECT IN THE OSI DIRECTORY
518: \end{nrtc}
519: \end{bwslide}
520:
521:
522: \begin{bwslide}
523: \ctitle {ADDRESSING}
524:
525: \begin{nrtc}
526: \item SIMPLY READ THE \verb"presentationAddress" ATTRIBUTE OF THE ENTRY IN
527: THE DIRECTORY
528: \begin{quote}\small\begin{verbatim}
529: PresentationAddress ::=
530: SEQUENCE {
531: pSelector[0] OCTET STRING OPTIONAL,
532: sSelector[1] OCTET STRING OPTIONAL,
533: tSelector[2] OCTET STRING OPTIONAL,
534: nAddresses[3] SET OF (1..MAX) OCTET STRING
535: }
536: \end{verbatim}\end{quote}
537:
538: \item NOTE THAT THIS IS THE EXTERNAL MACHINE FORM, ALSO NEED
539: \begin{nrtc}
540: \item FORM WHEN CARRIED INSIDE PROTOCOLS
541:
542: \item FORM WHEN TEXTUALLY DESCRIBED
543: \end{nrtc}
544: \end{nrtc}
545: \end{bwslide}
546:
547:
548: \begin{bwslide}
549: \ctitle {A STRING ENCODING OF\\ PRESENTATION ADDRESS}
550:
551: \smaller
552: \begin{verbatim}
553: <address> ::= [[[ <psel> "/" ] <ssel> "/" ] <tsel> "/" ] <naddrs>
554:
555: <naddrs> ::= <naddr> "|" <naddrs> | <naddr>
556:
557: <naddr> ::= "NS" "+" <hexstring> | <afi> "+" <idi> [ "+" <dsp> ]
558:
559: <psel> ::= <selector>
560: <ssel> ::= <selector>
561: <tsel> ::= <selector>
562:
563: <selector>::= '"' <ia5string> '"' | "#" digits | "'" <hexstring> "'H" | ""
564: \end{verbatim}
565: \end{bwslide}
566:
567:
568: \begin{bwslide}
569: \ctitle {EXAMPLES}
570:
571: \begin{verbatim}
572: "256"/NS+a433bb93c1|NS+aa3106
573:
574: #63/#41/#12/X121+234219200300
575:
576: '3a'H/Janet=00002340555+CUDF+"892796"
577:
578: "s"//Internet=10.0.0.6
579: \end{verbatim}
580: \end{bwslide}
581:
582:
583: \begin{bwslide}
584: \ctitle {MUST WE USE OSI DIRECTORY PROTOCOLS FOR ADDRESS LOOKUP?}
585:
586: \begin{nrtc}
587: \item PROBLEMS:
588: \begin{nrtc}
589: \item COMPLEXITY (EXECUTION TIME, CODE SIZE)
590:
591: \item CO-MODE MAY BE INAPPROPRIATE
592: \end{nrtc}
593:
594: \item MOST APPLICATIONS REALLY NEED ONLY SIMPLE NAME TO ADDRESS MAPPING
595: \end{nrtc}
596: \end{bwslide}
597:
598:
599: \begin{bwslide}
600: \ctitle {``HIGHER-PERFORMANCE'' NAME SERVICE}
601:
602: \begin{nrtc}
603: \item A NEW ACCESS POINT IS ATTACHED TO THE DIRECTORY SERVERS
604: \begin{nrtc}
605: \item SIMPLE, CL-MODE ACCESS PROTOCOL
606: \end{nrtc}
607: FOR LOCAL ACCESS
608:
609: \item ASSUMPTIONS:
610: \begin{nrtc}
611: \item RETRIEVE SINGLE ATTRIBUTE
612:
613: \item PUBLIC-READABLE INFORMATION
614:
615: \item SERVER USES OSI DIRECTORY PROTOCOL (DSP) TO TALK TO REMOTE
616: SITES
617: \end{nrtc}
618:
619: \item THIS IS STRICTLY A LOCAL ISSUE
620: \end{nrtc}
621: \end{bwslide}
622:
623:
624: \begin{bwslide}
625: \ctitle {``HIGHER-PERFORMANCE'' NAME SERVICE (cont.)}
626:
627: \begin{quote}\small\begin{verbatim}
628: Query ::=
629: [0] IMPLICIT SEQUENCE {
630: request-id[0]
631: IMPLICIT INTEGER,
632: name[1]
633: IMPLICIT IA5String,
634: attribute[2]
635: IMPLICIT IA5String
636: }
637:
638: Response ::=
639: [1] IMPLICIT SEQUENCE {
640: request-id[0]
641: IMPLICIT INTEGER,
642: name[1]
643: ANY OPTIONAL,
644: value[2]
645: ANY OPTIONAL
646: }
647: \end{verbatim}\end{quote}
648: \end{bwslide}
649:
650:
651: \begin{bwslide}
652: \ctitle {NAMING REVISITED}
653:
654: \begin{nrtc}
655: \item HOW TO BUILD DISTINGUISHED NAME?
656:
657: \item USERS PREFER THINGS LIKE
658: \begin{quote}\small\begin{verbatim}
659: % ftam wp
660: \end{verbatim}\end{quote}
661:
662: \item WHICH DOESN'T LOOK LIKE A DIRECTORY DISTINGUISHED NAME
663: \end{nrtc}
664: \end{bwslide}
665:
666:
667: \begin{bwslide}
668: \ctitle {NAMING REVISITED (cont.)}
669:
670: \begin{nrtc}
671: \item NEED SOME KIND OF HEURISTICS OR TABLE, e.g.,
672: \begin{quote}\small\begin{verbatim}
673: wp: countryName = "US"
674: organizationName = "NYSERNet Inc."
675: organizationalUnitName = "Research"
676: commonName = "wp"
677: commonName = qualifier
678: \end{verbatim}\end{quote}
679:
680: \item OBVIOUSLY TABLE MAINTENANCE IS PROBLEMATIC
681: \end{nrtc}
682: \end{bwslide}
683:
684:
685: \begin{bwslide}
686: \ctitle {A BETTER SOLUTION}
687:
688: \begin{nrtc}
689: \item USE A DIRECTORY SEARCH ALGORITHM, e.g.,
690: \begin{quote}\small\begin{verbatim}
691: % ftam "cs, ucl, gb"
692: \end{verbatim}\end{quote}
693: SUCH AS KILLE'S USER-FRIENDLY NAMING SCHEME
694:
695: \item NAMES ARE ORDERED, UNTYPED, AND (POSSIBLY) INCOMPLETE, e.g.,
696: \begin{quote}\small\begin{verbatim}
697: kille, ucl, gb
698: kille, cs, ucl, gb
699: \end{verbatim}\end{quote}
700: MIGHT RESOLVE TO THE SAME DISTINGUISHED NAME
701:
702: \item ALGORITHM USES IMPRECISE MATCHING AND ASSIGNS ``GOODNESS'' LEVEL TO
703: MATCHES
704:
705: \item USERS ARE QUERIED FOR ASSISTANCE ON QUESTIONABLE MATCHES
706: \begin{nrtc}
707: \item (IF APPLICATION IS INTERACTIVE)
708: \end{nrtc}
709:
710: \item ALGORITHM IS USED TO FIND ENTRIES WITH APPROPRIATE
711: \verb"supportedApplicationContext", e.g.,
712: \begin{quote}\small\begin{verbatim}
713: 1.0.8571.1. -- "iso ftam"
714: \end{verbatim}\end{quote}
715: \end{nrtc}
716: \end{bwslide}
717:
718:
719: \begin{bwslide}
720: \part* {RELIABLE TRANSFER (RTSE)}\bf
721:
722: \begin{nrtc}
723: \item RESPONSIBLE FOR BULK-MODE TRANSFER
724: \begin{nrtc}
725: \item OPTIONALLY WITH RECOVERY
726: \end{nrtc}
727:
728: \item SIMPLIFY USE OF SESSION SERVICES FOR APPLICATIONS
729: \begin{nrtc}
730: \item THE SO-CALLED ``THE SEWER OF OSI''
731: \end{nrtc}
732:
733: \item USES THE ACSE FOR BINDING
734: \end{nrtc}
735: \end{bwslide}
736:
737:
738: \begin{bwslide}
739: \ctitle {RELIABILITY IN THE RTSE}
740:
741: \begin{nrtc}
742: \item SERVICE SPECIFICATION IS PROBLEMATIC SINCE RTSE, NOT ACCEPTOR,
743: PROVIDES CONFIRMATION
744:
745: \end{nrtc}
746: \vskip.5in
747: \diagram[p]{figureA-3}
748: \end{bwslide}
749:
750:
751: \begin{bwslide}
752: \ctitle {AN INCONSISTENCY IN THE MODEL!}
753:
754: \begin{nrtc}
755: \item RTSE DEALS WITH LARGE PRESENTATION DATA VALUES
756:
757: \item BUT, PRESENTATION REQUIRES SYNCHRONIZATION OCCUR \emph{BETWEEN} DATA
758: VALUES
759:
760: \item SO, RTSE SERIALIZES EACH DATA VALUE INTO AN OCTET STRING
761: \begin{nrtc}
762: \item AND BREAKS THAT UP FOR SYNCHRONIZATION PURPOSES
763: \end{nrtc}
764: \end{nrtc}
765: \end{bwslide}
766:
767:
768: \begin{bwslide}
769: \part* {REMOTE OPERATIONS (ROSE)}\bf
770:
771: \begin{nrtc}
772: \item MANAGE REQUEST/REPLY INTERACTIONS
773: \begin{nrtc}
774: \item (SIMILAR TO REMOTE PROCEDURE CALLS)
775: \end{nrtc}
776:
777: \item AS WITH ALL CURRENT SERVICES, CO-MODE
778:
779: \item DISTINGUISHES BETWEEN
780: \begin{nrtc}
781: \item INITIATOR/RESPONDER
782:
783: \item CONSUMER/PROVIDER
784:
785: \item INVOKER/PERFORMER
786: \end{nrtc}
787: \item PROBABLY THE ``BUILDING BLOCK'' FOR THE NEXT WAVE OF APPLICATIONS
788: \end{nrtc}
789: \end{bwslide}
790:
791:
792: \begin{bwslide}
793: \ctitle {REMOTE OPERATIONS}
794:
795: \begin{nrtc}
796: \item INVOKER REQUESTS AN OPERATION
797:
798: \item PERFORMER GENERATES ONE OF THREE OUTCOMES:
799: \begin{nrtc}
800: \item A \emph{RESULT}, IF THE OPERATION SUCCEEDS;
801:
802: \item AN \emph{ERROR}, IF THE OPERATION FAILED; or,
803:
804: \item A \emph{REJECTION}, IF THE OPERATION WAS NOT PERFORMED
805: \end{nrtc}
806: \end{nrtc}
807: \end{bwslide}
808:
809:
810: \begin{bwslide}
811: \ctitle {CONTEXT WITH THE RTSE}
812:
813: \vskip.5in
814: \diagram[p]{figureA-4}
815: \end{bwslide}
816:
817:
818: \begin{bwslide}
819: \ctitle {CONTEXT WITHOUT THE RTSE}
820:
821: \vskip.5in
822: \diagram[p]{figureA-5}
823: \end{bwslide}
824:
825:
826: \begin{bwslide}
827: \part* {USE OF APPLICATION SERVICES}\bf
828:
829: \begin{nrtc}
830: \item HOW DOES IT ALL COME TOGETHER?
831:
832: \item FINALLY, AN EXAMPLE!
833: \end{nrtc}
834: \end{bwslide}
835:
836:
837: \begin{bwslide}
838: \ctitle {EXAMPLE: FILE TRANSFER}
839:
840: \vskip.5in
841: \diagram[p]{figureA-6}
842: \end{bwslide}
843:
844:
845: \begin{bwslide}
846: \ctitle {CAUSALITY OF EVENTS FOR}
847:
848: \begin{nrtc}
849: \item ASSOCIATION ESTABLISHMENT
850:
851: \item DATA TRANSFER
852:
853: \item ASSOCIATION RELEASE
854: \end{nrtc}
855: \end{bwslide}
856:
857:
858: \begin{bwslide}
859: \ctitle {ASSOCIATION ESTABLISHMENT (USER)}
860:
861: \begin{nrtc}
862: \item USER TYPES
863: \begin{quote}\small\begin{verbatim}
864: % ftam wp
865: \end{verbatim}\end{quote}
866: WHICH INVOKES FTAM USER INTERFACE
867:
868: \item USER ELEMENT CONSTRUCTS DISTINGUISHED NAME
869: \end{nrtc}
870: \end{bwslide}
871:
872:
873: \begin{bwslide}
874: \ctitle {PRIOR TO BINDING}
875:
876: \vskip.5in
877: \diagram[p]{figureA-7}
878: \end{bwslide}
879:
880:
881: \begin{bwslide}
882: \ctitle {DIRECTORY ACCESS}
883:
884: \begin{nrtc}
885: \item DIRECTORY ACCESS SERVICE ELEMENT (DASE) IS INVOKED TO RETRIEVE
886: PRESENTATION ADDRESS
887:
888: \item DASE USES HARD-WIRED INFORMATION TO DERIVE ADDRESS OF DIRECTORY SYSTEM
889: AGENT (DSA)
890:
891: \item DASE INVOKES ACSE TO ESTABLISH A DAP ASSOCIATION TO DSA
892: \end{nrtc}
893: \end{bwslide}
894:
895:
896: \begin{bwslide}
897: \ctitle {DIRECTORY ACCESS (cont.)}
898:
899: \begin{nrtc}
900: \item DASE ISSUES READ OPERATION ON ENTRY FOR \verb"presentationAddress"
901: ATTRIBUTE
902:
903: \item DIRECTORY READ OPERATION IS MAPPED ONTO THE REMOTE OPERATIONS SERVICE
904:
905: \item WHEN OPERATION COMPLETES, DASE MIGHT CLOSE DAP ASSOCIATION
906:
907: \item PRESENTATION ADDRESS IS RETURNED TO USER ELEMENT
908: \end{nrtc}
909: \end{bwslide}
910:
911:
912: \begin{bwslide}
913: \ctitle {AND NOW THE FUN BEGINS!}
914:
915: \vskip.5in
916: \diagram[p]{figureA-8}
917: \end{bwslide}
918:
919:
920: \begin{bwslide}
921: \ctitle {ASSOCIATION ESTABLISHMENT (FTAM)}
922:
923: \begin{nrtc}
924: \item THE FTAM ASE GENERATES A DATA OBJECT TO INITIALIZE ITS PEER
925:
926: \item THIS IS PASSED AS USER DATA TO THE ACSE FOR ASSOCIATION ESTABLISHMENT
927:
928: \item THE FTAM ASE REQUESTS PRESENTATION CONTEXTS FOR ITSELF
929: \begin{nrtc}
930: \item AND A CONTEXT FOR THE ACSE
931: \end{nrtc}
932: \end{nrtc}
933: \end{bwslide}
934:
935:
936: \begin{bwslide}
937: \ctitle {F-INITIALIZE-request FPDU}
938:
939: \smaller
940: \begin{verbatim}
941: {
942: service-class {
943: management-class, transfer-class,
944: transfer-and-management-class
945: },
946: functional-units {
947: read, write, limited-file-management,
948: enhanced-file-management, grouping
949: },
950: attribute-groups { storage },
951: ftam-quality-of-service no-recovery,
952: contents-type-list {
953: 1.0.8571.5.3, -- FTAM-3 document
954: 1.0.8571.5.1, -- FTAM-1 document
955: 1.3.9999.1.5.9 -- NBS-9 document
956: },
957: initiator-identity "cheetah"
958: }
959: \end{verbatim}
960: \end{bwslide}
961:
962:
963: \begin{bwslide}
964: \ctitle {ASSOCIATION ESTABLISHMENT (ACSE)}
965:
966: \begin{nrtc}
967: \item THE ACSE GENERATES A DATA OBJECT TO INITIALIZE ITS PEER
968:
969: \item THIS IS PASSED AS USER DATA DURING PRESENTATION CONNECTION
970: ESTABLISHMENT
971: \end{nrtc}
972: \end{bwslide}
973:
974:
975: \begin{bwslide}
976: \ctitle {AARQ APDU}
977:
978: \smaller
979: \begin{verbatim}
980: {
981: application-context-name 1.0.8571.1.1, -- iso ftam
982: user-information {
983: {
984: direct-reference 2.1.1,
985: indirect-reference 1, -- indicates FTAM PCI
986: encoding {
987: single-ASN1-type {
988: [3] '0370'H,
989: [4] '053700'H,
990: [5] '0580'H,
991: [6] '00'H,
992: [7] {
993: [APPLICATION 14] '28c27b0503'H,
994: [APPLICATION 14] '28c27b0501'H,
995: [APPLICATION 14] '2bce0f010509'H
996: },
997: [APPLICATION 22] "cheetah"
998: }
999: }
1000: }
1001: }
1002: \end{verbatim}
1003: \end{bwslide}
1004:
1005:
1006: \begin{bwslide}
1007: \ctitle {ASSOCIATION ESTABLISHMENT (PRESENTATION)}
1008:
1009: \begin{nrtc}
1010: \item THE LOCAL PRESENTATION ENTITY GENERATES A DATA OBJECT TO INITIALIZE
1011: ITS PEER
1012:
1013: \item THIS IS PASSED AS USER DATA DURING SESSION CONNECTION ESTABLISHMENT
1014: \end{nrtc}
1015: \end{bwslide}
1016:
1017:
1018: \begin{bwslide}
1019: \ctitle {CP-type PPDU}
1020:
1021: \scriptsize
1022: \begin{verbatim}
1023: {
1024: mode {
1025: normal-mode
1026: },
1027: normal-mode {
1028: context-list {
1029: { -- ftam pci abstract syntax
1030: identifier 1,
1031: abstract-syntax 1.0.8571.2.1,
1032: transfer-syntax-list { 2.1.1 }
1033: },
1034: ...
1035: \end{verbatim}
1036: \end{bwslide}
1037:
1038:
1039: \begin{bwslide}
1040: \ctitle {CP-type PPDU (cont.)}
1041:
1042: \scriptsize
1043: \begin{verbatim}
1044: {
1045: ...
1046: { -- FTAM-3 abstract syntax
1047: identifier 3,
1048: abstract-syntax 1.0.8571.2.4,
1049: transfer-syntax-list { 2.1.1 }
1050: },
1051: { -- FTAM-1 abstract syntax
1052: identifier 5,
1053: abstract-syntax 1.0.8571.2.3,
1054: transfer-syntax-list { 2.1.1 }
1055: },
1056: { -- NBS-9 abstract syntax
1057: identifier 7,
1058: abstract-syntax 1.3.999.1.2.2,
1059: transfer-syntax-list { 2.1.1 }
1060: },
1061: { -- acse pci abstract syntax
1062: identifier 9,
1063: abstract-syntax 2.2.1.0.1,
1064: transfer-syntax-list { 2.1.1 }
1065: }
1066: },
1067: ...
1068: \end{verbatim}
1069: \end{bwslide}
1070:
1071:
1072: \begin{bwslide}
1073: \ctitle {CP-type PPDU (cont.)}
1074:
1075: \scriptsize
1076: \begin{verbatim}
1077: ...
1078: user-data {
1079: complex {
1080: {
1081: identifier 9, -- indicates ACSE PCI
1082: presentation-data-values {
1083: single-ASN1-type {
1084: [1] { 1.0.8571.1.1 },
1085: [30] {
1086: {
1087: direct-reference 2.1.1,
1088: indirect-reference 1,
1089: encoding {
1090: single-ASN1-type {
1091: [3] '0370'H,
1092: [4] '053700'H,
1093: [5] '0580'H,
1094: [6] '00'H,
1095: [7] {
1096: [APPLICATION 14] '28c27b0503'H,
1097: [APPLICATION 14] '28c27b0501'H,
1098: [APPLICATION 14] '2bce0f010509'H
1099: },
1100: [APPLICATION 22] "cheetah"
1101: } } } } } } } } } } }
1102: \end{verbatim}
1103: \end{bwslide}
1104:
1105:
1106: \begin{bwslide}
1107: \ctitle {ASSOCIATION ESTABLISHMENT (SESSION)}
1108:
1109: \begin{nrtc}
1110: \item THE LOCAL SESSION ENTITY GENERATES A DATA OBJECT TO INITIALIZE
1111: ITS PEER
1112:
1113: \item ONCE A TRANSPORT CONNECTION IS ESTABLISHED, THIS IS PASSED AS USER DATA
1114: \end{nrtc}
1115: \end{bwslide}
1116:
1117:
1118: \begin{bwslide}
1119: \ctitle {CONNECT SPDU}
1120:
1121: \smaller
1122: \begin{verbatim}
1123: LI/ 241
1124: CODE/ CONNECT
1125: REFERENCE/ <USER 9 140763686565746168,
1126: COMMON 15 170d3930303132363031313434355a,
1127: ADDITIONAL 0>
1128: OPTIONS/ 0x0<>
1129: VERSION/ 0x2
1130: REQUIREMENTS/ 0x2<DUPLEX>
1131: USER DATA/ 197 3180a003800101a280a45a30100201 ...
1132: \end{verbatim}
1133: \end{bwslide}
1134:
1135:
1136: \begin{bwslide}
1137: \ctitle {SERVICE MAPPINGS}
1138:
1139: \scriptsize
1140: \begin{verbatim}
1141: A-ASSOCIATE.REQUEST
1142: AARQ ----> P-CONNECT.REQUEST
1143: CP-type ----> S-CONNECT.REQUEST
1144: CONNECT SPDU
1145:
1146: T-CONNECT stuff
1147: T-DATA.REQUEST ---->
1148: ...
1149: T-DATA.REQUEST <----
1150:
1151: ACCEPT SPDU
1152: CPA-type <---- S-CONNECT.CONFIRMATION
1153: AARE <---- P-CONNECT.CONFIRMATION
1154: A-ASSOCIATE.CONFIRMATION
1155: \end{verbatim}
1156: \end{bwslide}
1157:
1158:
1159: \begin{bwslide}
1160: \ctitle {PARAMETER MAPPINGS}
1161:
1162: \scriptsize
1163: \[\begin{tabular}{|l|c|c|c|c|c|}
1164: \hline
1165: \begin{tabular}{c}A-ASSOCIATE\\ .REQUEST\end{tabular}&
1166: \begin{tabular}{c}AARQ\\ APDU\end{tabular}&
1167: \begin{tabular}{c}P-CONN\\ .REQ\end{tabular}&
1168: \begin{tabular}{c}CP-type\\ PPDU\end{tabular}&
1169: \begin{tabular}{c}S-CONN\\ .REQ\end{tabular}&
1170: \begin{tabular}{c}CN\\ SPDU\end{tabular}\\
1171: \hline
1172: mode& & \X/& & & \\
1173: \hline
1174: application& & & & & \\
1175: \ \ context name&\X/& & & & \\
1176: \hline
1177: calling AE info&\X/& & & & \\
1178: \hline
1179: called AE info& \X/& & & & \\
1180: \hline
1181: user-data& \X/& & & & \\
1182: \hline
1183: calling P-address&
1184: & P-addr&
1185: P-sel&
1186: S-addr&
1187: S-sel\\
1188: \hline
1189: called P-address&
1190: & P-addr&
1191: P-sel&
1192: S-addr&
1193: S-sel\\
1194: \hline
1195: presentation& & & & & \\
1196: \ \ context& & \X/& \X/& & \\
1197: \ \ definition list&
1198: & & & & \\
1199: \hline
1200: default& & & & & \\
1201: \ \ presentation&& \X/& \X/& & \\
1202: \ \ context name&
1203: & & & & \\
1204: \hline
1205: quality of service&
1206: & \X/& & \X/& \\
1207: \hline
1208: presentation& & & & & \\
1209: \ \ requirements&& \X/& \X/& & \\
1210: \hline
1211: session& & & & & \\
1212: \ \ requirements&& \X/& & \X/& \X/\\
1213: \hline
1214: initial serial& & & & & \\
1215: \ \ number& & \X/& & \X/& \X/\\
1216: \hline
1217: initial token& & & & & \\
1218: \ \ assignment& & \X/& & \X/& \X/\\
1219: \hline
1220: session connection&
1221: & & & & \\
1222: \ \ identifier& & \X/& & \X/& \X/\\
1223: \hline
1224: \end{tabular}\]
1225: \end{bwslide}
1226:
1227:
1228: \begin{bwslide}
1229: \ctitle {DATA TRANSFER}
1230:
1231: \begin{nrtc}
1232: \item DO FTAM PRIMITIVES TO SELECT, OPEN FILE, etc.
1233:
1234: \item SEND FILE DATA ELEMENT USING CORRECT PRESENTATION CONTEXT:
1235: \begin{quote}\small\begin{verbatim}
1236: {
1237: complex {
1238: { -- FTAM-1 abstract syntax
1239: identifier 5,
1240: presentation-data-values { -- a single DE
1241: single-ASN1-type ...
1242: }
1243: }
1244: }
1245: }
1246: \end{verbatim}\end{quote}
1247:
1248: \item SERVICE MAPPINGS:
1249: \begin{quote}\small\begin{verbatim}
1250: F-DATA.REQUEST
1251: FADU ----> P-DATA.REQUEST
1252: User-data ----> S-DATA.REQUEST
1253: DT SPDU
1254:
1255: T-DATA.REQUEST ---->
1256: \end{verbatim}\end{quote}
1257: \end{nrtc}
1258: \end{bwslide}
1259:
1260:
1261: \begin{bwslide}
1262: \ctitle {ASSOCIATION RELEASE}
1263:
1264: \begin{nrtc}
1265: \item FTAM ASE GENERATES AN \verb"F-TERMINATE-request" FPDU
1266: \begin{quote}\small\begin{verbatim}
1267: {}
1268: \end{verbatim}\end{quote}
1269:
1270: \item WHICH IS PASSED AS USER DATA TO THE ACSE FOR ASSOCIATION RELEASE
1271: \end{nrtc}
1272: \end{bwslide}
1273:
1274:
1275: \begin{bwslide}
1276: \ctitle {ASSOCIATION RELEASE (ACSE)}
1277:
1278: \begin{nrtc}
1279: \item THE ACSE GENERATES AN \verb"RLRE" APDU
1280: \begin{quote}\small\begin{verbatim}
1281: {
1282: reason normal,
1283: user-information {
1284: {
1285: indirect-reference 1,
1286: encoding {
1287: single-ASN1-type {}
1288: }
1289: }
1290: }
1291: }
1292: \end{verbatim}\end{quote}
1293:
1294: \item WHICH IS PASSED AS USER DATA TO THE LOCAL PRESENTATION ENTITY FOR
1295: CONNECTION RELEASE
1296: \end{nrtc}
1297: \end{bwslide}
1298:
1299:
1300: \begin{bwslide}
1301: \ctitle {ASSOCIATION RELEASE (PRESENTATION)}
1302:
1303: \begin{nrtc}
1304: \item THE LOCAL PRESENTATION ENTITY GENERATES AN \verb"User-Data" PPDU
1305: \begin{quote}\small\begin{verbatim}
1306: {
1307: complex {
1308: {
1309: identifier 9,
1310: presentation-data-values {
1311: single-ASN1-type {
1312: [0] '00'H,
1313: [30] {
1314: {
1315: indirect-reference 1,
1316: encoding {
1317: single-ASN1-type {}
1318: }
1319: }
1320: }
1321: }
1322: }
1323: }
1324: }
1325: }
1326: \end{verbatim}\end{quote}
1327:
1328: \item WHICH IS PASSED AS USER DATA TO THE LOCAL SESSION ENTITY FOR
1329: CONNECTION RELEASE
1330: \end{nrtc}
1331: \end{bwslide}
1332:
1333:
1334: \begin{bwslide}
1335: \ctitle {ASSOCIATION RELEASE (SESSION)}
1336:
1337: \begin{nrtc}
1338: \item THE LOCAL SESSION ENTITY GENERATES A \verb"FINISH" SPDU
1339: \begin{quote}\small\begin{verbatim}
1340: LI/ 30
1341: CODE/ FINISH
1342: DISCONNECT/ 0x1<RELEASE>
1343: USER DATA/ 25 61173015020109a010620e800100be ...
1344: \end{verbatim}\end{quote}
1345:
1346: \item WHICH IS PASSED AS USER DATA TO THE TRANSPORT SERVICE
1347: \end{nrtc}
1348: \end{bwslide}
1349:
1350:
1351: \begin{bwslide}
1352: \ctitle {SERVICE MAPPINGS}
1353:
1354: \scriptsize
1355: \begin{verbatim}
1356: A-RELEASE.REQUEST
1357: RLRQ ----> P-RELEASE.REQUEST
1358: User-Data ----> S-RELEASE.REQUEST
1359: FINISH SPDU
1360:
1361: T-DATA.REQUEST ---->
1362: ...
1363: T-DATA.REQUEST <----
1364:
1365: DISCONNECT SPDU
1366: T-DISCONNECT stuff
1367: User-data <---- S-RELEASE.CONFIRMATION
1368: RLRE <---- P-RELEASE.CONFIRMATION
1369: A-RELEASE.CONFIRMATION
1370: \end{verbatim}
1371: \end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.