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