|
|
1.1 root 1: \begin{bwslide}
2: \part {APPLICATION SERVICE ELEMENTS}\bf
3: \end{bwslide}
4:
5:
6: \begin{bwslide}
7: \ctitle {APPLICATION SERVICE ELEMENTS}
8:
9: \vskip.5in
10: \diagram[p]{figureA-31}
11: \end{bwslide}
12:
13:
14: \begin{bwslide}
15: \ctitle {APPLICATION LAYER}
16:
17: \begin{nrtc}
18: \item APPLICATION ENTITIES (AEs) ARE COMMUNICATION PROCESSES
19: \item AEs ARE COMPOSED OF APPLICATION SERVICE ELEMENTS (ASEs)
20: \item {\em APPLICATION CONTEXT} DEFINED BY HOW AEs INTERACT WITH:
21: \begin{nrtc}
22: \item OTHER AEs
23: \item SUPPORTING SERVICES
24: \end{nrtc}
25: \item {\em APPLICATION PROTOCOL = APPLICATION CONTEXT}
26: \end{nrtc}
27: \end{bwslide}
28:
29:
30: \begin{bwslide}
31: \ctitle {APPLICATION ENTITY COMPONENTS}
32:
33: \begin{nrtc}
34: \item {\em COMMON} APPLICATION SERVICE ELEMENTS
35: \begin{nrtc}
36: \item ASSOCIATION CONTROL
37: \item REMOTE OPERATIONS
38: \item RELIABLE TRANSFER
39: \item etc.
40: \end{nrtc}
41: \item {\em SPECIFIC} APPLICATION SERVICE ELEMENT
42: \begin{nrtc}
43: \item MESSAGE HANDLING (X.400)
44: \item FILE TRANSFER, ACCESS AND MANAGEMENT (FTAM)
45: \item etc.
46: \end{nrtc}
47: \end{nrtc}
48: \end{bwslide}
49:
50:
51: \begin{bwslide}
52: \ctitle {COMMON APPLICATION SERVICE ELEMENTS}
53:
54: \begin{nrtc}
55: \item MECHANISM FOR DIVIDING RESPONSIBILITY OF THE ``TOTAL'' APPLICATION
56: \item PROMOTES ``REUSE'' OF APPLICATION LAYER FACILITIES
57: \end{nrtc}
58: \end{bwslide}
59:
60:
61: \begin{bwslide}
62: \ctitle {ASSOCIATION CONTROL SERVICE ELEMENT (ACSE)}
63:
64: \vskip.5in
65: \diagram[p]{figureA-15}
66: \end{bwslide}
67:
68:
69: \begin{bwslide}
70: \ctitle {ASSOCIATION CONTROL SERVICE ELEMENT}
71:
72: \begin{nrtc}
73: \item PURPOSE
74: \begin{nrtc}
75: \item PROVIDE A GENERIC INTERFACE TO CONNECTION ORIENTED APPLICATIONS
76: \item ESTABLISH \& RELEASE APPLICATION LAYER CONNECTIONS
77: \item PRIMARILY CONCERNED WITH BINDING ONE APPLICATION ENTITY TO ANOTHER
78: \end{nrtc}
79: \item REALLY MORE THAN APPLICATION NAMING ADDED OVER THE PRESENTATION FUNCTIONALITY
80: \end{nrtc}
81: \end{bwslide}
82:
83:
84: \begin{bwslide}
85: \ctitle {ASSOCIATION CONTROL SERVICE ELEMENT}
86:
87: \begin{nrtc}
88: \item AN ASSOCIATION IS A BINDING BETWEEN TWO ENTITIES, THE INITIATOR AND
89: THE RESPONDER
90: \item ASSOCIATIONS EXIST AT THE APPLICATION LAYER AND RELY ON AN
91: UNDERLYING CONNECTION
92: \item ASSOCIATIONS MAY BE SYMMETRIC, i.e., THEY NEED NOT FOLLOW A CLIENT/SERVER
93: MODEL
94: \item RESPONDERS DON'T NEED TO BE ``DAEMONS'', i.e.,
95: \begin{nrtc}
96: \item GENERIC NETWORK LISTENERS MAY START RESPONDER PROCESS FOR
97: NEW INCOMING CONNECTIONS
98: \end{nrtc}
99: \end{nrtc}
100: \end{bwslide}
101:
102:
103: \begin{bwslide}
104: \ctitle {ASSOCIATIONS}
105:
106: \begin{nrtc}
107: \item BINDING OCCURS IN A TWO-STEP PROCESS
108: \item FIRST, THE INITIATOR ASKS THE DIRECTORY FOR ENTITIES AVAILABLE
109: FOR THE SERVICE(S) IT REQUIRES.
110: \item SECOND, BASED ON THE INITIATOR'S COMMUNICATION REQUIREMENTS (QUALITY
111: OF SERVICE) AN ASSOCIATION WILL BE BOUND TO ONE OF THE ENTITIES
112: WHICH BECOMES THE RESPONDER.
113: \end{nrtc}
114: \end{bwslide}
115:
116:
117: \begin{bwslide}
118: \ctitle {ASSOCIATE ESTABLISHMENT}
119:
120: \begin{nrtc}
121: \item NEGOTIATES PRESENTATION CONTEXTS FOR CONNECTION
122: \begin{nrtc}
123: \item INITIATOR PROPOSES COMPLETE SET
124: \item RESPONDER MAY ``APPROVE'':
125: \begin{nrtc}
126: \item ENTIRE SET
127: \item ONLY A SUBSET
128: \end{nrtc}
129: \item INITIATOR MAY ABORT IF SUBSET IS NOT SATISFACTORY
130: \end{nrtc}
131: \item EXAMPLE:
132: \begin{nrtc}
133: \item INITIATOR MAY WANT TO USE RELIABLE TRANSFER BUT
134: RESPONDER DOES NOT HAVE IT AVAILABLE
135: \end{nrtc}
136: \end{nrtc}
137: \end{bwslide}
138:
139:
140: \begin{bwslide}
141: \ctitle {ASSOCIATION ESTABLISHMENT}
142:
143: \vskip.5in
144: \diagram[p]{figureA-34}
145: \end{bwslide}
146:
147:
148: \begin{bwslide}
149: \ctitle {ASSOCIATION ESTABLISHMENT (cont.)}
150:
151: \begin{quote}\small\begin{verbatim}
152: { context-list {
153: { identifier 1,
154: abstract-syntax "directory directoryAccessAS",
155: transfer-syntax-list {
156: "basic encoding of a single asn.1 type" } },
157: { identifier 3,
158: abstract-syntax "acse pci version 1",
159: transfer-syntax-list {
160: "basic encoding of a single asn.1 type" } } },
161: default-context {
162: abstract-syntax "directory directoryAccessAS",
163: transfer-syntax "basic encoding of a single asn.1 type" },
164: user-data { ... }
165: }
166: \end{verbatim}\end{quote}
167: \end{bwslide}
168:
169:
170: %\begin{bwslide}
171: %\ctitle {ASSOCIATION CONTROL SERVICE ELEMENT \\ REFERENCES}
172: %
173: %\begin{description}
174: %\item[ISO/IEC 8649:] Service Definition for the Association Control Service Element
175: %\item[ISO/IEC 8650:] Protocol Specification for the Association Control Service Element
176: %\end{description}
177: %\end{bwslide}
178:
179:
180: \begin{bwslide}
181: \ctitle {RELIABLE TRANSFER SERVICE ELEMENT (RTSE)}
182:
183: \vskip.5in
184: \diagram[p]{figureA-18}
185: \end{bwslide}
186:
187:
188: \begin{bwslide}
189: \ctitle {RELIABLE TRANSFER SERVICE ELEMENT}
190:
191: \begin{nrtc}
192: \item PURPOSE
193: \begin{nrtc}
194: \item RESPONSIBLE FOR BULK-MODE TRANSFERS
195: \item HIDES THE COMPLEXITY OF THE SESSION AND PRESENTATION SERVICES
196: TO PROVIDE A SIMPLE TRANSFER FACILITY
197: \item CAN BE USED, e.g., BY REMOTE OPERATIONS
198: \item USES ASSOCIATION CONTROL
199: \end{nrtc}
200: \end{nrtc}
201: \end{bwslide}
202:
203:
204: \begin{bwslide}
205: \ctitle {RTSE PROVIDES}
206:
207: \begin{nrtc}
208: \item SESSION ``LIKE'' SERVICES TO APPLICATION
209: \item ASSOCIATION ESTABLISHMENT \& RELEASE
210: \item DATA TRANSFER
211: \begin{nrtc}
212: \item RECOVERY FOR TRANSFER FAILURES
213: \end{nrtc}
214: \end{nrtc}
215: \end{bwslide}
216:
217:
218: \begin{bwslide}
219: \ctitle {RTSE RELIABILITY}
220:
221: \begin{nrtc}
222: \item TRANSFERS ARE CONFIRMED BY ACCEPTING \underline{RTSE}
223: \item ACCEPTING APPLICATION IS EXPECTED TO ``SECURE'' TRANSFERRED DATA
224: \begin{nrtc}
225: \item THIS MAY BE PROBLEMATIC SINCE THE RTSE CONFIRMS THE TRANSFER INSTEAD
226: OF THE APPLICATION ENTITY
227: \end{nrtc}
228: \end{nrtc}
229: \end{bwslide}
230:
231:
232: %\begin{bwslide}
233: %\ctitle {USING PRESENTATION FUNCTIONALITY}
234: %
235: %\begin{nrtc}
236: %\item PROBLEMS
237: % \begin{nrtc}
238: % \item RTSE IS DEALING WITH LARGE INDIVIDUAL PRESENTATION DATA VALUES
239: % \item PRESENTATION ONLY ALLOWS SYNCHRONIZATION BETWEEN DATA VALUES
240: % \end{nrtc}
241: %\item RTSE SOLUTION
242: % \begin{nrtc}
243: % \item RTSE DOES SERIALIZATION
244: % \item BREAKS STREAM INTO FRAGMENTS WITH A WRAPPER
245: % \item PASSES FRAGMENTS TO PRESENTATION
246: % \end{nrtc}
247: %\item SERIALIZATION SHOULD OCCUR IN PRESENTATION
248: %\end{nrtc}
249: %\end{bwslide}
250:
251:
252: %\begin{bwslide}
253: %\ctitle {RELIABLE TRANSFER SERVICE ELEMENT \\ REFERENCES}
254: %
255: %\begin{description}
256: %\item[ISO/IEC 9066-1:] Reliable Transfer: Model, Notation and Service Definition
257: %\item[ISO/IEC 9066-2:] Reliable Transfer: Protocol Specification
258: %\end{description}
259: %\end{bwslide}
260:
261:
262: \begin{bwslide}
263: \ctitle {DIRECTORY SERVICE ELEMENT (DSE)}
264:
265: \vskip.5in
266: \diagram[p]{figureA-35}
267: \end{bwslide}
268:
269:
270: \begin{bwslide}
271: \ctitle {DIRECTORY SERVICE ELEMENT}
272:
273: \begin{nrtc}
274: \item \underline{NOT} AN OFFICIAL OSI ASE!
275: \item PURPOSE
276: \begin{nrtc}
277: \item PROVIDE A GENERAL PURPOSE FOR REALIZING APPLICATION
278: NAMING \& ADDRESSING
279: \item MAP AN INITIATORS SERVICE REQUIREMENTS ONTO ENTITIES
280: AVAILABLE IN THE NETWORK
281: \item ABSTRACT APPLICATION FROM ACTUAL DIRECTORY ACCESS METHOD
282: \end{nrtc}
283: \end{nrtc}
284: \end{bwslide}
285:
286:
287: \begin{bwslide}
288: \ctitle {APPLICATION NAMING}
289:
290: \begin{nrtc}
291: \item APPLICATION PROCESSES (APs) RUN IN THE NETWORK
292: \item APPLICATION ENTITIES EXIST WITHIN AN APPLICATION PROCESS
293: \item APPLICATION ENTITIES ARE NAMED BY COMBINING AN AP--TITLE
294: AND AN AE-QUALIFIER TO DERIVE AN AE--TITLE
295: \item AE--TITLES ARE DIRECTORY ``DISTINGUISHED'' NAMES
296: \end{nrtc}
297: \end{bwslide}
298:
299:
300: \begin{bwslide}
301: \ctitle {DIRECTORY ``DISTINGUISHED'' NAMES}
302:
303: \begin{quote}\small\begin{verbatim}
304: country = "United States"
305: organization = "The Wollongong Group"
306: organizationalUnit = "Software Engineering"
307: commonName = "boomer"
308: commonName = "imagestore"
309: \end{verbatim}\end{quote}
310: \end{bwslide}
311:
312:
313: \begin{bwslide}
314: \ctitle {NAME TO ADDRESS MAPPING}
315:
316: \begin{nrtc}
317: \item THE DSE:
318: \begin{enumerate}
319: \item GIVEN A DIRECTORY NAME
320: \item READS PRESENTATION ADDRESS FROM DIRECTORY
321: \item RETURNS THE ADDRESS TO THE APPLICATION (CONCEPTUALLY)
322: \end{enumerate}
323: \item THE APPLICATION:
324: \begin{nrtc}
325: \item PASSES THE ADDRESS TO ASSOCIATION CONTROL
326: \end{nrtc}
327: \item IN PRACTICE THE APPLICATION WILL PASS A NAME TO ACSE AND THEN
328: ASSOCIATION CONTROL WILL ACCESS THE DSE DIRECTLY
329: \end{nrtc}
330: \end{bwslide}
331:
332: \begin{bwslide}
333: \ctitle {PRESENTATION ADDRESS}
334:
335: \begin{quote}\smaller\begin{verbatim}
336: PSAPaddr ::=
337: SEQUENCE {
338: pSelector[0]
339: OCTET STRING
340: OPTIONAL,
341:
342: sSelector[1]
343: OCTET STRING
344: OPTIONAL,
345:
346: tSelector[2]
347: OCTET STRING
348: OPTIONAL,
349:
350: nAddress[3]
351: SET OF
352: OCTET STRING
353: }
354: \end{verbatim}\end{quote}
355: \end{bwslide}
356:
357:
358: %\begin{bwslide}
359: %\ctitle {APPLICATION ADDRESSING}
360: %
361: %\begin{nrtc}
362: %\item ADDITIONAL APPLICATION ENTITY INFORMATION IS POSSIBLE:
363: % \begin{nrtc}
364: % \item APPLICATION PROCESS INVOCATION IDENTIFIER
365: % \item APPLICATION ENTITY INVOCATION IDENTIFIER
366: % \end{nrtc}
367: %\item INTENTED TO IDENTIFY ENTITIES OVER A PERIOD OF TIME
368: %\item UNLIKELY TO BE USED FOR SOME TIME
369: %\end{nrtc}
370: %\end{bwslide}
371:
372:
373: \begin{bwslide}
374: \ctitle {``HIGHER--PERFORMANCE'' NAME SERVICE}
375:
376: \begin{nrtc}
377: \item MOST APPLICATIONS REALLY NEED ONLY NAME TO ADDRESS MAPPING
378: \item A NEW ACCESS POINT IS ATTACHED TO THE DIRECTORY SERVERS
379: \begin{nrtc}
380: \item SIMPLE, CONNECTIONLESS-MODE ACCESS PROTOCOL
381: \item SERVER USES DSP TO COMMUNICATE TO OTHER SERVERS
382: \end{nrtc}
383: \item THIS IS STRICTLY A LOCAL ISSUE
384: \end{nrtc}
385: \end{bwslide}
386:
387:
388: \begin{bwslide}
389: \ctitle {A FINAL WORD ON APPLICATION NAMING}
390:
391: \begin{nrtc}
392: \item DIRECTORY DISTINGUISHED NAMES CAN BE \underline{VERY} LONG
393: \begin{nrtc}
394: \item LENGTH OF NAMES WILL MAKE THEM PROHIBITIVE FOR USERS TO ENTER REGULARLY
395: \end{nrtc}
396: \item A LOCAL ALIASING MECHANISM IS NEEDED
397: \begin{nrtc}
398: \item LOCAL DIRECTORY ``PREFIX'' IS ALMOST CERTAINLY PREDICTABLE
399: \item OTHER PREFIXES WILL BE WELL KNOWN
400: \item DSE PROVIDES AN ALIASING MECHANISM TO SIMPLIFY {\em LOCAL} NAMING
401: \end{nrtc}
402: \end{nrtc}
403: \end{bwslide}
404:
405:
406: \begin{bwslide}
407: \ctitle {FINAL WORD ON APPLICATION NAMING (cont.)}
408:
409: \begin{quote}\smaller\begin{verbatim}
410: boomer: country = "United States"
411: organization = "The Wollongong Group"
412: organizationalUnit = "Software Engineering"
413: commonName = "boomer"
414: \end{verbatim}\end{quote}
415: \end{bwslide}
416:
417:
418: %\begin{bwslide}
419: %\ctitle {DIRECTORY SERVICES \\ REFERENCES}
420: %
421: %\begin{description}
422: %\item[ISO/IEC 9594:] The Directory (Parts 1-8)
423: % \begin{description}
424: % \item[Part 1:] Overview of Concepts, Models and Services
425: % \item[Part 2:] Models
426: % \item[Part 3:] Abstract Service Definition
427: % \item[Part 4:] Procedures for Distributed Operation
428: % \item[Part 5:] Protocol Specifications
429: % \item[Part 6:] Selected Attribute Types
430: % \item[Part 7:] Selected Object Classes
431: % \item[Part 8:] Authentication Framework
432: % \end{description}
433: %\end{description}
434: %\end{bwslide}
435:
436:
437: \begin{bwslide}
438: \ctitle {REMOTE OPERATIONS SERVICE ELEMENT (ROSE)}
439:
440: \vskip.5in
441: \diagram[p]{figureA-16}
442: \end{bwslide}
443:
444:
445: \begin{bwslide}
446: \ctitle {REMOTE OPERATIONS SERVICE ELEMENT}
447:
448: \begin{nrtc}
449: \item PURPOSE
450: \begin{nrtc}
451: \item BUILDING BLOCK FOR DISTRIBUTED APPLICATIONS
452: \item REMOTE PROCEDURE CALL MECHANISM
453: \item SPECIFY EXTERNAL BEHAVIOR OF PROCEDURE CALL TYPE INTERACTIONS
454: \item MANAGE REQUEST/REPLY INTERACTIONS
455: \end{nrtc}
456: \item CURRENTLY ONLY CONNECTION-ORIENTED\\
457: (i.e., ONLY CO-ROS IS DEFINED)
458: \end{nrtc}
459: \end{bwslide}
460:
461:
462: \begin{bwslide}
463: \ctitle {REMOTE OPERATIONS}
464:
465: \begin{nrtc}
466: \item INITIATOR
467: \begin{nrtc}
468: \item REQUESTS CONNECTION ESTABLISHMENT
469: \end{nrtc}
470: \item RESPONDER
471: \begin{nrtc}
472: \item RESPONDS TO CONNECTION ESTABLISHMENT
473: \end{nrtc}
474: \item INDEPENDENT OF WHO INVOKES \& RESPONDS TO OPERATIONS
475: \end{nrtc}
476: \end{bwslide}
477:
478:
479: \begin{bwslide}
480: \ctitle {OPERATIONS}
481:
482: \begin{nrtc}
483: \item IN ITS PRIMITIVE FORM,
484: AN \emph{OPERATION} IS A SIMPLE REQUEST/REPLY INTERACTION
485:
486: \item A \emph{INVOCATION} GENERATES ONE OF THREE OUTCOMES:
487: \begin{nrtc}
488: \item A \emph{RESULT}, IF THE OPERATION SUCCEEDS;
489:
490: \item AN \emph{ERROR}, IF THE OPERATION FAILED; or,
491:
492: \item A \emph{REJECTION}, IF THE OPERATION WAS NOT PERFORMED
493: \end{nrtc}
494:
495: \item OPERATIONS ARE SAID TO BE \emph{TOTAL}, AS THE NORMAL OUTCOME (RESULT),
496: AND THE EXCEPTION OUTCOMES (THE ERRORS) ARE WELL-DEFINED AND
497: UNAMBIGUOUS
498: \end{nrtc}
499: \end{bwslide}
500:
501:
502: \begin{bwslide}
503: \ctitle {INVOCATIONS}
504:
505: \begin{nrtc}
506: \item THE OPERATION IS \emph{INVOKED} WHEN IT IS REQUESTED
507:
508: \item AN INVOCATION CONSISTS OF:
509: \begin{nrtc}
510: \item AN \emph{OPERATION NUMBER} IDENTIFYING THE OPERATION REQUESTED
511:
512: \item AN ARBITRARILY COMPLEX \emph{ARGUMENT}
513:
514: \item AN \emph{INVOCATION IDENTIFIER} DISTINGUISHING THIS INVOCATION
515: FROM PREVIOUS INVOCATIONS
516:
517: \item (POSSIBLY) A \emph{LINKED-INVOCATION IDENTIFIER}
518: \end{nrtc}
519: \end{nrtc}
520: \end{bwslide}
521:
522: \begin{bwslide}
523: \ctitle {RO-INVOKE}
524:
525:
526: \begin{nrtc}
527: \item UNCONFIRMED SERVICE:\\ RO-INVOKE.REQUEST, RO-INVOKE.INDICATION
528:
529: \item PARAMETERS
530: \[\begin{tabular}{ll}
531: OPERATION NUMBER& integer\\
532: ARGUMENT& asn.1 type (APDU)\\
533: INVOCATION IDENTIFIER& integer\\
534: LINKED-INVOCATION ID& integer
535: \end{tabular}\]
536:
537: \item ARGUMENT IS OPTIONAL IN NEW-STYLE ROS
538:
539: \item THE LINKED-INVOCATION IDENTIFIER IS NOT PRESENT IN OLD-STYLE ROS
540:
541: \item APDU IS THE USER-SUPPLIED DATA STRUCTURE, AN APPLICATION PROTOCOL DATA
542: UNIT
543: \end{nrtc}
544: \end{bwslide}
545:
546: \begin{bwslide}
547: \ctitle {INVOKE}
548:
549: \vskip.5in
550: \diagram[p]{figureA-43}
551: \end{bwslide}
552:
553:
554: \begin{bwslide}
555: \ctitle {RO-RESULT}
556:
557: \begin{nrtc}
558: \item UNCONFIRMED SERVICE:\\ RO-RESULT.REQUEST, RO-RESULT.INDICATION
559:
560: \item PARAMETERS
561: \[\begin{tabular}{ll}
562: INVOCATION IDENTIFIER& integer\\
563: RESULT& asn.1 type (APDU)
564: \end{tabular}\]
565:
566: \item RESULT IS OPTIONAL IN NEW-STYLE ROS
567: \end{nrtc}
568: \end{bwslide}
569:
570: \begin{bwslide}
571: \ctitle {RESULT}
572:
573: \vskip.5in
574: \diagram[p]{figureA-44}
575: \end{bwslide}
576:
577:
578: \begin{bwslide}
579: \ctitle {RO-ERROR}
580:
581: \begin{nrtc}
582: \item UNCONFIRMED SERVICE:\\ RO-ERROR.REQUEST, RO-ERROR.INDICATION
583:
584: \item PARAMETERS
585: \[\begin{tabular}{ll}
586: INVOCATION IDENTIFIER& integer\\
587: ERROR NUMBER& integer\\
588: PARAMETER (optional)& asn.1 type (APDU)
589: \end{tabular}\]
590: \end{nrtc}
591: \end{bwslide}
592:
593:
594: \begin{bwslide}
595: \ctitle {ERROR}
596:
597: \vskip.5in
598: \diagram[p]{figureA-45}
599: \end{bwslide}
600:
601:
602: \begin{bwslide}
603: \ctitle {RO-U-REJECT}
604:
605: \begin{nrtc}
606: \item UNCONFIRMED SERVICE:\\ RO-U-REJECT.REQUEST, RO-U-REJECT.INDICATION
607:
608: \item PARAMETERS
609: \[\begin{tabular}{ll}
610: INVOCATION IDENTIFIER& integer\\
611: REASON& integer
612: \end{tabular}\]
613: \end{nrtc}
614: \end{bwslide}
615:
616:
617: \begin{bwslide}
618: \ctitle {USER REJECTION}
619:
620: \vskip.5in
621: \diagram[p]{figureA-46}
622: \end{bwslide}
623:
624:
625: \begin{bwslide}
626: \ctitle {RO-P-REJECT}
627:
628: \begin{nrtc}
629: \item PROVIDER-INITIATED SERVICE:\\ RO-P-REJECT.INDICATION
630:
631: \item PARAMETERS
632: \[\begin{tabular}{ll}
633: INVOCATION IDENTIFIER& integer\\
634: \ \ \ (optional)& \\
635: REASON& integer\\
636: APDU (optional)& asn.1 type\\
637: \end{tabular}\]
638:
639: \item INVOCATION IDENTIFIER MAY NOT BE PRESENT IF:
640: \begin{nrtc}
641: \item PROBLEM IS NOT RELATED TO A PARTICULAR INVOCATION, OR
642:
643: \item THE INFORMATION IS UNAVAILABLE
644: \end{nrtc}
645:
646: \item IF THE LOCAL PROVIDER COULD NOT SEND AN INVOCATION (OR RESULT OR ERROR)
647: THEN APDU IS THE ASSOCIATED USER-SUPPLIED ARGUMENT
648: \end{nrtc}
649: \end{bwslide}
650:
651:
652: \begin{bwslide}
653: \ctitle {PROVIDER REJECTION}
654:
655: \vskip.5in
656: \diagram[p]{figureA-47}
657: \end{bwslide}
658:
659:
660: \begin{bwslide}
661: \ctitle {REASONS FOR REJECTIONS}
662:
663: \begin{nrtc}
664: \item FOUR CLASSES OF REJECTIONS
665: \begin{nrtc}
666: \item GENERAL PROBLEMS
667:
668: \item INVOKE PROBLEMS
669:
670: \item RETURN RESULT PROBLEMS
671:
672: \item RETURN ERROR PROBLEMS
673: \end{nrtc}
674: \end{nrtc}
675: \end{bwslide}
676:
677:
678: %\begin{bwslide}
679: %\ctitle {GENERAL PROBLEMS:\\ DETECTED BY THE ROSE-PROVIDER}
680: %
681: %\begin{nrtc}
682: %\item UNRECOGNIZED APDU
683: %
684: %\item MISTYPED APDU
685: %
686: %\item BADLY STRUCTURED APDU
687: %\end{nrtc}
688: %\end{bwslide}
689:
690:
691: %\begin{bwslide}
692: %\ctitle {INVOKE PROBLEMS:\\ DETECTED BY THE ROSE-USER}
693: %
694: %\begin{nrtc}
695: %\item DUPLICATE INVOCATION
696: %
697: %\item UNRECOGNIZED OPERATION
698: %
699: %\item MISTYPED ARGUMENT
700: %
701: %\item RESOURCE LIMITATION
702: %
703: %\item INITIATOR RELEASING
704: %
705: %\item UNRECOGNIZED LINKED ID
706: %
707: %\item LINKED RESPONSE UNEXPECTED
708: %
709: %\item UNEXPECTED CHILD OPERATION
710: %\end{nrtc}
711: %\end{bwslide}
712:
713:
714: %\begin{bwslide}
715: %\ctitle {RETURN RESULT PROBLEMS:\\ DETECTED BY THE ROSE-USER}
716: %
717: %\begin{nrtc}
718: %\item UNRECOGNIZED INVOCATION
719: %
720: %\item RESULT RESPONSE UNEXPECTED
721: %
722: %\item MISTYPED RESULT
723: %\end{nrtc}
724: %\end{bwslide}
725:
726:
727: \begin{bwslide}
728: \ctitle {ROSE --- LINKED INVOCATIONS}
729:
730: \begin{nrtc}
731: \item INTRODUCED IN THE NEWER STANDARDS WORK
732: \item SOMETIMES REFERRED TO AS A ``CALLBACK'' OR A
733: ``REMOTE UPCALL''
734: \item MECHANISM TO INITIATE RO-INVOKE REQUEST ON RESPONDING SYSTEM
735: \item USED BY NETWORK MANAGEMENT (CMISE)
736: \end{nrtc}
737: \end{bwslide}
738:
739:
740: %\begin{bwslide}
741: %\ctitle {LINKED INVOCATIONS --- EXAMPLE}
742: %
743: %\begin{nrtc}
744: %\item CONSIDER AN OPERATION {\small Traverse}, WITH TWO ARGUMENTS:
745: % \begin{nrtc}
746: % \item THE NAME OF A REMOTE DIRECTORY IN A FILESYSTEM
747: % \item THE NUMBER OF AN OPERATION TO INVOKE FOR EACH FILE
748: % \end{nrtc}
749: %\item TO LIST A REMOTE DIRECTORY:
750: % \begin{quote}\small
751: % Traverse (``directory-name'', ListFile)
752: % \end{quote}
753: %\item TO PRINT EACH FILE IN A REMOTE DIRECTORY:
754: % \begin{quote}\small
755: % Traverse (``directory-name'', PrintFile)
756: % \end{quote}
757: %\end{nrtc}
758: %\end{bwslide}
759:
760:
761: %\begin{bwslide}
762: %\ctitle {REMOTE OPERATIONS SERVICE ELEMENT}
763: %
764: %\begin{nrtc}
765: %\item ASSOCIATION CLASSES
766: % \begin{descrition}
767: % \item[CLASS 1:] INTIATOR INVOKES OPERATIONS \& RESPONDER PERFORMS
768: % \item[CLASS 2:] RESPONDER INVOKES OPERATIONS, INITIATOR PERFORMS OPERATIONS
769: % \item[CLASS 3:] BOTH INITIATOR AND RESPONDER INVOKE \& PERFORM OPERATIONS
770: % \end{description}
771: %
772: %\item AN INVOCATION GENERATES ONE OF 3 OUTCOMES
773: % \begin{nrtc}
774: % \item RESULT, IF THE OPERATION SUCCEEDS
775: % \item ERROR, IF THE OPERATION FAILED
776: % \item REJECTION, IF THE OPERATION WAS NOT PERFORMED
777: % \end{nrtc}
778: %\end{nrtc}
779: %\end{bwslide}
780:
781: %\begin{bwslide}
782: %\ctitle {RESULTS}
783: %
784: %\begin{nrtc}
785: %\item IF THE OPERATION SUCCEEDS, THEN A RESULT IS RETURNED
786: %
787: %\item A RESULT CONSISTS OF:
788: % \begin{nrtc}
789: % \item AN INVOCATION IDENTIFIER CORRESPONDING TO THE OPERATION WHICH
790: % SUCCEEDED
791: %
792: % \item (POSSIBLY) AN ARBITRARILY COMPLEX \emph{RESULT}
793: % \end{nrtc}
794: %\end{nrtc}
795: %\end{bwslide}
796:
797:
798: %\begin{note}\em
799: %actually, on success a result \emph{may optionally} be returned as some
800: %operations are defined to not return any result
801: %
802: %this violates the totality principle, a solution is discussed later on
803: %\end{note}
804:
805:
806: %\begin{bwslide}
807: %\ctitle {ERRORS}
808: %
809: %\begin{nrtc}
810: %\item IF THE OPERATION FAILS, THEN AN ERROR IS RETURNED
811: %
812: %\item AN ERROR CONSISTS OF:
813: % \begin{nrtc}
814: % \item AN INVOCATION IDENTIFIER CORRESPONDING TO THE OPERATION WHICH
815: % FAILED
816: %
817: % \item AN \emph{ERROR NUMBER} IDENTIFYING THE ERROR ENCOUNTERED
818: %
819: % \item (POSSIBLY) AN ARBITRARILY COMPLEX \emph{PARAMETER}
820: % \end{nrtc}
821: %
822: %\item NOTE THAT ERRORS DO NOT NECESSARILY INDICATE BAD BEHAVIOR!
823: % \begin{nrtc}
824: % \item THEY CAN OCCUR AS A PART OF CORRECT AND NORMAL OPERATIONS
825: %
826: % \item HENCE, THINK OF THEM AS EXCEPTIONS
827: % \end{nrtc}
828: %\end{nrtc}
829: %\end{bwslide}
830:
831:
832: %\begin{bwslide}
833: %\ctitle {REJECTIONS}
834: %
835: %\begin{nrtc}
836: %\item IF THE OPERATION CAN NOT BE PERFORMED, THEN A REJECTION IS RETURNED
837: %
838: %\item A REJECTION CONSISTS OF:
839: % \begin{nrtc}
840: % \item AN INVOCATION IDENTIFIER CORRESPONDING TO THE OPERATION WHICH
841: % WAS REJECTED
842: %
843: % \item A \emph{REASON} EXPLAINING WHY THE OPERATION WAS REJECTED
844: % \begin{nrtc}
845: % \item e.g., MISTYPED PARAMETERS
846: % \end{nrtc}
847: % \end{nrtc}
848: %
849: %\item SOME REJECTIONS ARE USER-INITIATED, OTHERS ARE PROVIDER-INITIATED
850: %\end{nrtc}
851: %\end{bwslide}
852:
853:
854: \begin{bwslide}
855: \ctitle {INVOKING OPERATIONS}
856:
857: \begin{nrtc}
858: \item OPERATIONS MAY BE INVOKED BY EITHER THE ASSOCIATION INITIATOR OR RESPONDER
859: \begin{nrtc}
860: \item THIS IS REGULATED BY THE ASSOCIATION CLASS
861: \end{nrtc}
862: \end{nrtc}
863: \end{bwslide}
864:
865:
866: \begin{bwslide}
867: \ctitle {DESIGN GUIDELINES}
868:
869: \begin{nrtc}
870: \item THE CHARACTERISTICS OF OPERATIONS WILL VARY WIDELY BETWEEN APPLICATIONS
871:
872: \item HOWEVER, THERE ARE TWO ISSUES OF UNIVERSAL INTEREST TO BE CONSIDERED
873: \end{nrtc}
874: \end{bwslide}
875:
876:
877: \begin{bwslide}
878: \ctitle {RELIABILITY CHARACTERISTICS}
879:
880: \begin{nrtc}
881: \item UNCERTAINTY DURING EXECUTION OF OPERATIONS IS ALWAYS PRESENT
882:
883: \item THIS IS PARTICULARLY TROUBLESOME IF THE NETWORK ``BREAKS''
884: AFTER A REQUEST IS RECEIVED BY THE RESPONDER BUT BEFORE
885: THE INITIATOR RECEIVES THE REPLY
886:
887: \item ONE SCHEME OF CLASSIFYING THE RELIABILITY REQUIREMENTS OF AN OPERATION
888: IS:
889: \begin{nrtc}
890: \item EXACTLY ONCE
891:
892: \item AT LEAST ONCE (IDEMPOTENT)
893:
894: \item AT MOST ONCE
895: \end{nrtc}
896:
897: \item IMPLEMENTING THESE SEMANTICS IS POSSIBLE USING THE INVOCATION
898: IDENTIFIER
899: \begin{nrtc}
900: \item BUT IS THE RESPONSBILITY OF THE USER OF REMOTE OPERATIONS
901: \end{nrtc}
902: \end{nrtc}
903: \end{bwslide}
904:
905:
906: %\begin{note}\em
907: %note that ``initiator'' here doesn't necessarily mean the entity which
908: %initiated the association
909: %
910: %i.e., an entity can start an association, and then it's peer could possibly
911: %initiate all of the operations
912: %\end{note}
913:
914:
915: %\begin{bwslide}
916: %\ctitle {RELIABILITY CHARACTERISTIC:\\ EXACTLY ONCE}
917: %
918: %\begin{nrtc}
919: %\item RESPONDER
920: % \begin{nrtc}
921: % \item KEEPS TRACK OF THE INVOCATION IDENTIFIERS OF ALL PERFORMED
922: % OPERATIONS
923: %
924: % \item WHEN PROCESSING AN INVOCATION, IF AN INVOCATION IDENTIFIER IS
925: % REPEATED, REJECT THE OPERATION
926: % \end{nrtc}
927: %
928: %\item INITIATOR
929: % \begin{nrtc}
930: % \item REPEATEDLY INVOKES THE OPERATION USING THE SAME INVOCATION
931: % IDENTIFIER UNTIL EITHER
932: %
933: % \item A CONFIRMATION (RESULT OR ERROR) IS RECEIVED, OR
934: %
935: % \item A REJECTION (DUPLICATE OPERATION) IS RECEIVED
936: % \end{nrtc}
937: %
938: %%\item A ROS BUG: REJECTION DOES NOT INCLUDE THE VALUE OF THE PREVIOUS RESULT!
939: %\end{nrtc}
940: %\end{bwslide}
941:
942:
943: %\begin{bwslide}
944: %\ctitle {RELIABILITY CHARACTERISTIC:\\ AT LEAST ONCE}
945: %
946: %\begin{nrtc}
947: %\item RESPONDER
948: % \begin{nrtc}
949: % \item KEEPS NO INFORMATION REGARDING PREVIOUSLY PERFORMED OPERATIONS
950: % \end{nrtc}
951: %
952: %\item INITIATOR
953: % \begin{nrtc}
954: % \item REPEATEDLY INVOKES THE OPERATION (WITH ANY INVOCATION
955: % IDENTIFIER) UNTIL
956: %
957: % \item A CONFIRMATION (RESULT OR ERROR) IS RECEIVED
958: % \end{nrtc}
959: %\end{nrtc}
960: %\end{bwslide}
961:
962:
963: %\begin{bwslide}
964: %\ctitle {RELIABILITY CHARACTERISTIC:\\ AT MOST ONCE}
965: %
966: %\begin{nrtc}
967: %\item RESPONDER
968: % \begin{nrtc}
969: % \item KEEPS NO INFORMATION REGARDING PREVIOUSLY PERFORMED OPERATIONS
970: % \end{nrtc}
971: %
972: %\item INITIATOR
973: % \begin{nrtc}
974: % \item INVOKES THE OPERATION (WITH ANY INVOCATION IDENTIFIER)
975: % EXACTLY ONCE
976: % \end{nrtc}
977: %\end{nrtc}
978: %\end{bwslide}
979:
980:
981: %\begin{bwslide}
982: %\ctitle {TOTAL OPERATIONS}
983: %
984: %\begin{nrtc}
985: %\item IT IS POSSIBLE TO DEFINE OPERATIONS WHICH:
986: % \begin{nrtc}
987: % \item RETURN A RESULT, BUT NO ERRORS
988: %
989: % \item RETURN ONLY ERRORS
990: % \end{nrtc}
991: %
992: %\item THIS CAN POTENTIALLY VIOLATE THE TOTALITY PRINCIPLE
993: % \begin{nrtc}
994: % \item (ALL OUTCOMES ARE WELL-DEFINED AND UNAMBIGUOUS)
995: % \end{nrtc}
996: % AS AN OPERATION WHICH SUCCEEDS BUT RETURNS NO RESULT WILL RETURN NOTHING
997: %
998: %\item LEADS TO PROBLEMS WHEN THE INITIATOR TRIES TO DETERMINE
999: % IF THE OPERATION SUCCEEDED OR NOT
1000: %
1001: %\item SOLUTION: OPERATIONS SHOULD ALWAYS BE ABLE TO RETURN A RESULT,
1002: % EVEN IF THAT RESULT IS \verb"NULL"
1003: %\end{nrtc}
1004: %\end{bwslide}
1005:
1006:
1007: %\begin{note}\em
1008: %note that this totality issue is a philosophical one
1009: %
1010: %some may argue that it is valid only for a class of applications
1011: %\end{note}
1012:
1013:
1014: \begin{bwslide}
1015: \ctitle {DESCRIBING REMOTE OPERATIONS}
1016:
1017: \begin{nrtc}
1018: \item ROSE BASED APPLICATIONS CAN BE DESCRIBED USING ASN.1
1019: \item ASN.1 MACRO FACILITY MAY BE USED TO DEFINE REMOTE OPERATIONS
1020: AND THE ASSOCIATED PARAMETERS
1021: \end{nrtc}
1022: \end{bwslide}
1023:
1024:
1025: \begin{bwslide}
1026: \ctitle {ASN.1 DEFINITION OF A REMOTE OPERATION}
1027:
1028: \begin{quote}\small\begin{verbatim}
1029: search OPERATION
1030: ARGUMENT SearchArgument
1031: RESULT SearchResult
1032: ERRORS {
1033: attributeError, nameError,
1034: serviceError, referral, abandoned,
1035: securityError }
1036: ::= 5
1037: \end{verbatim}\end{quote}
1038: \end{bwslide}
1039:
1040: \begin{bwslide}
1041: \ctitle {DEFINITIONS (cont.)}
1042:
1043: \begin{nrtc}
1044: \item USING THE \verb"LINKED" CLAUSE, AN OPERATION CAN DEFINE LINKED
1045: OPERATIONS
1046:
1047: \item AN OPERATION OR ERROR VALUE CAN ALSO TAKE A GLOBAL VALUE
1048: \begin{nrtc}
1049: \item AN OBJECT IDENTIFIER IS USED IN ADDITION TO THE
1050: OPERATION OR ERROR CODE
1051: \end{nrtc}
1052:
1053: \item THE \verb"BIND" AND \verb"UNBIND" MACROS ARE USED TO DEFINE BINDING
1054: INFORMATION
1055: \end{nrtc}
1056: \end{bwslide}
1057:
1058:
1059: \begin{bwslide}
1060: \ctitle {IN PERSPECTIVE}
1061:
1062: \begin{nrtc}
1063: \item IDEALLY WOULD LIKE TO HIDE OF THIS FORMALISM FROM THE PROGRAMMER
1064:
1065: \item PRESENT A SIMPLE PROCEDURE CALL MODEL IN WHICH WE DEFINE:
1066: \begin{nrtc}
1067: \item THE INTERFACE TO EACH OPERATION AS A SUBROUTINE CALL
1068:
1069: \item WITH KNOWN ARGUMENT TYPES
1070: \end{nrtc}
1071: \end{nrtc}
1072: \end{bwslide}
1073:
1074:
1075: \begin{bwslide}
1076: \ctitle {AN EXAMPLE (cont.)}
1077:
1078: \vskip.15in
1079: \begin{verbatim}
1080: int op_CMIP_m__ConfirmedEventReport (sd, in, out, roi)
1081: int sd;
1082: struct type_CMIP_EventReportArgument *in;
1083: struct type_CMIP_EventReportResult *out;
1084: struct RoSAPindication *roi;
1085: \end{verbatim}
1086: \end{bwslide}
1087:
1088:
1089: \begin{bwslide}
1090: \ctitle {AN EXAMPLE (cont.)}
1091:
1092: \vskip.15in
1093: \begin{verbatim}
1094: struct type_CMIP_EventReportArgument {
1095: struct type_CMIP_ObjectClass *managedObjectClass;
1096:
1097: struct type_CMIP_ObjectInstance *managedObjectInstance;
1098:
1099: struct type_CMIP_EventTypeID *eventType;
1100:
1101: struct type_UNIV_GeneralizedTime *eventTime;
1102:
1103: struct type_CMIP_EventInfo *eventInfo;
1104: };
1105: \end{verbatim}
1106: \end{bwslide}
1107:
1108:
1109: %\begin{bwslide}
1110: %\ctitle {REMOTE OPERATIONS SERVICE ELEMENT \\ REFERENCES}
1111: %
1112: %\begin{description}
1113: %\item[ISO/IEC 9072-1:] Remote Operations: Model, Notation and Service Definition
1114: %\item[ISO/IEC 9072-2:] Remote Operations: Protocol Specification
1115: %\end{description}
1116: %\end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.