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