Annotation of 43BSDReno/contrib/isode-beta/doc/practical-osi1/a-build-3.tex, revision 1.1

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}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.