Annotation of 43BSDReno/contrib/isode-beta/doc/ftam/service.tex, revision 1.1

1.1     ! root        1: % run this through SLiTeX with the appropriate wrapper
        !             2: 
        !             3: \begin{bwslide}
        !             4: \part  {THE FILE SERVICE}
        !             5: 
        !             6: \begin{nrtc}\bf
        !             7: \item  MODEL OF OPERATION
        !             8: 
        !             9: \item  REGIMES AND SERVICES
        !            10: \end{nrtc}
        !            11: \end{bwslide}
        !            12: 
        !            13: 
        !            14: \begin{bwslide}
        !            15: \part* {MODEL OF OPERATION}\bf
        !            16: 
        !            17: \begin{nrtc}
        !            18: \item  FILE SERVICE INITIATOR AND RESPONDER
        !            19: 
        !            20: \item  REGIMES
        !            21: 
        !            22: \item  SERVICE PRIMITIVES AND COMMON PARAMETERS
        !            23: \end{nrtc}
        !            24: \end{bwslide}
        !            25: 
        !            26: 
        !            27: \begin{bwslide}
        !            28: \ctitle        {FILE SERVICE INITIATOR AND RESPONDER}
        !            29: 
        !            30: \begin{nrtc}
        !            31: \item  A CLIENT-SERVER MODEL IS USED
        !            32:     \begin{nrtc}
        !            33:     \item      THE PROTOCOL EXCHANGE IS ASYMMETRIC
        !            34: 
        !            35:     \item      NOTE: CLIENT COULD BE ANOTHER FILESTORE
        !            36:     \end{nrtc}
        !            37: 
        !            38: \item  AN INITIATOR IS A USER ENTITY WHICH REQUESTS THE FILE SERVICE
        !            39: 
        !            40: \item  A RESPONDER IS A USER ENTITY WHICH IMPLEMENTS THE VIRTUAL FILESTORE
        !            41: 
        !            42: \item  THIS PAIRING OF USERS IS TERMED AN FTAM ACTIVITY
        !            43: 
        !            44: \item  THE PROVIDER IS THE FILE SERVICE ABSTRACTION,
        !            45:        IT IMPLEMENTS THE FILE SERVICE BY USING THE FILE PROTOCOL
        !            46: \end{nrtc}
        !            47: \end{bwslide}
        !            48: 
        !            49: 
        !            50: \begin{bwslide}
        !            51: \ctitle        {REGIMES}
        !            52: 
        !            53: \begin{nrtc}
        !            54: \item  THE ASSOCIATION BETWEEN THE TWO ENTITIES PROGRESS THROUGH A NUMBER
        !            55:        OF STAGES, TERMED ``REGIMES''
        !            56: 
        !            57: \item  A REGIME DETERMINES WHICH COMPONENTS OF THE FILE SERVICE MAY BE
        !            58:        REQUESTED
        !            59: 
        !            60: \item  REGIMES NEST IN AN ORDERLY FASHION
        !            61: \end{nrtc}
        !            62: \end{bwslide}
        !            63: 
        !            64: 
        !            65: \begin{note}\em
        !            66: following are a lot of standard osi modeling mechanisms$\ldots$
        !            67: \end{note}
        !            68: 
        !            69: 
        !            70: \begin{bwslide}
        !            71: \ctitle        {SERVICE PRIMITIVES AND COMMON PARAMETERS}
        !            72: 
        !            73: \begin{nrtc}
        !            74: \item  THE INITIATOR AND RESPONDER COMMUNICATE VIA SERVICE PRIMITIVES
        !            75: 
        !            76: \item  A PRIMITIVE IS AN ABSTRACTION (NOT AN INTERFACE)
        !            77: 
        !            78: \item  IN GENERAL, THERE ARE THREE KINDS OF SERVICES
        !            79:     \begin{nrtc}
        !            80:     \item      CONFIRMED, IN WHICH A REQUEST ALWAYS RESULTS IN A RESPONSE
        !            81: 
        !            82:     \item      UNCONFIRMED, IN WHICH NO RESPONSE IS RETURNED
        !            83: 
        !            84:     \item      PROVIDER-INITIATED,
        !            85:                IN WHICH THE SERVICE PROVIDER INDICATES SOME ABNORMAL
        !            86:                CONDITION
        !            87:     \end{nrtc}
        !            88: 
        !            89: \item  CONFIRMATION IS UNRELATED TO RELIABILITY
        !            90: 
        !            91: \item  SERVICE PRIMITIVES, LIKE PROCEDURE CALLS, HAVE TYPED PARAMETERS
        !            92: \end{nrtc}
        !            93: \end{bwslide}
        !            94: 
        !            95: 
        !            96: 
        !            97: \begin{bwslide}
        !            98: \ctitle        {SERVICE PRIMITIVES}
        !            99: 
        !           100: \begin{nrtc}
        !           101: \item  A SERVICE CONSISTS OF ONE OR MORE PRIMITIVES
        !           102: 
        !           103: \item  EACH PRIMITIVE IS PREFIXED WITH ``F-''
        !           104: 
        !           105: \item  A CONFIRMED SERVICE HAS FOUR PRIMITIVES
        !           106:     \begin{nrtc}
        !           107:     \item      .REQUEST, .INDICATION, .RESPONSE, and .CONFIRMATION
        !           108:     \end{nrtc}
        !           109: 
        !           110: \item  AN UNCONFIRMED SERVICE HAS TWO PRIMITIVES:
        !           111:     \begin{nrtc}
        !           112:     \item      .REQUEST,  and .INDICATION
        !           113:     \end{nrtc}
        !           114: 
        !           115: \item  A PROVIDER-INITIATED SERVICE HAS ONE PRIMITIVE:
        !           116:     \begin{nrtc}
        !           117:     \item      .INDICATION
        !           118:     \end{nrtc}
        !           119: \end{nrtc}
        !           120: \end{bwslide}
        !           121: 
        !           122: 
        !           123: \begin{bwslide}
        !           124: \ctitle        {EXAMPLE: CONFIRMED SERVICE}
        !           125: 
        !           126: \vskip.5in
        !           127: \diagram[p]{figure5}
        !           128: \end{bwslide}
        !           129: 
        !           130: 
        !           131: \begin{bwslide}
        !           132: \ctitle        {COMMON PARAMETERS TO SERVICE PRIMITIVES}
        !           133: 
        !           134: \begin{nrtc}
        !           135: \item  STATE RESULT: INDICATES IF A REGIME CHANGE IS SUCCESSFUL
        !           136: 
        !           137: \item  ACTION RESULT: INDICATES IF A SERVICE PRIMITIVE IS SUCCESSFUL
        !           138: 
        !           139: \item  DIAGNOSTICS: PROVIDES DETAILED INFORMATION ON THE FAILURE
        !           140:        (IF ANY) OF A CONFIRMED SERVICE
        !           141: 
        !           142: \item  CHARGING: A RESOURCE, CHARGING UNIT, and CHARGE VALUE\\
        !           143:        (INTERPRETATION IS UNDEFINED BY FTAM)
        !           144: 
        !           145: \item  IDENTITY OF FILE ACCESS DATA UNIT (FADU)
        !           146: 
        !           147: \item  PLUS: FILE ATTRIBUTES, REQUESTED ACCESS, etc.
        !           148: \end{nrtc}
        !           149: \end{bwslide}
        !           150: 
        !           151: 
        !           152: 
        !           153: \begin{bwslide}
        !           154: \part* {REGIMES AND SERVICES}\bf
        !           155: 
        !           156: \begin{nrtc}
        !           157: \item  AS NOTED EARLIER,
        !           158:        THE INNER-MOST REGIME DETERMINES WHICH SERVICE PRIMITIVES
        !           159:        (AND HENCE SERVICES) ARE ACCESSIBLE
        !           160: 
        !           161: \item  THERE ARE FOUR REGIMES
        !           162:     \begin{nrtc}
        !           163:     \item      APPLICATION ASSOCIATION
        !           164: 
        !           165:     \item      FILE SELECTION
        !           166: 
        !           167:     \item      FILE OPEN
        !           168: 
        !           169:     \item      DATA TRANSFER
        !           170:     \end{nrtc}
        !           171: \end{nrtc}
        !           172: \end{bwslide}
        !           173: 
        !           174: 
        !           175: \begin{bwslide}
        !           176: \ctitle        {NESTED REGIMES}
        !           177: 
        !           178: \vskip.5in
        !           179: \diagram[p]{figure6}
        !           180: \end{bwslide}
        !           181: 
        !           182: 
        !           183: \begin{note}\em
        !           184: as regimes and services are so hopelessly interwined,
        !           185: we now bounce back-and-forth between the two in this part of the presentation
        !           186: \end{note}
        !           187: 
        !           188: 
        !           189: \begin{bwslide}
        !           190: \ctitle        {APPLICATION ASSOCIATION REGIME}
        !           191: 
        !           192: \begin{nrtc}
        !           193: \item  FTAM REGIME ESTABLISHMENT SERVICE
        !           194:     \begin{nrtc}
        !           195:     \item      WHEN TWO APPLICATIONS ARE BOUND BY AN ASSOCIATION,
        !           196:                AN FTAM REGIME IS ESTABLISHED    
        !           197:     \end{nrtc}
        !           198: 
        !           199: \item  FTAM REGIME TERMINATION SERVICE
        !           200: 
        !           201: \item  FTAM REGIME ABORT SERVICE
        !           202: 
        !           203: \item  DURING REGIME ESTABLISHMENT,
        !           204:        PARAMETERS REGARDING THE USE OF THE FILE SERVICE ARE MANDATED OR
        !           205:        NEGOTIATED
        !           206:     \begin{nrtc}
        !           207:     \item      SERVICE LEVEL (RELIABLE/USER-CORRECTABLE)
        !           208: 
        !           209:     \item      SERVICE CLASS
        !           210: 
        !           211:     \item      FUNCTIONAL UNITS
        !           212: 
        !           213:     \item      ATTRIBUTE GROUPS (KERNEL, STORAGE, etc.)
        !           214:     \end{nrtc}
        !           215: \end{nrtc}
        !           216: \end{bwslide}
        !           217: 
        !           218: 
        !           219: \begin{note}\em
        !           220: observation: having defined a massive service,
        !           221: we now frantically seek ways to delimit what actually gets used!
        !           222: \end{note}
        !           223: 
        !           224: 
        !           225: \begin{bwslide}
        !           226: \ctitle        {SERVICE CLASS}
        !           227: 
        !           228: \begin{nrtc}
        !           229: \item  FTAM SUPPORTS MANY SERVICES\\
        !           230:        NEED A WAY TO CHOOSE A SUBSET OF THE SERVICES A INITIATOR DESIRES
        !           231: 
        !           232: \item  FIVE SERVICES CLASSES
        !           233:     \begin{nrtc}
        !           234:     \item      FILE TRANSFER
        !           235: 
        !           236:     \item      FILE ACCESS
        !           237: 
        !           238:     \item      FILE MANAGEMENT
        !           239: 
        !           240:     \item      FILE TRANSFER AND MANAGEMENT
        !           241: 
        !           242:     \item      UNCONSTRAINED
        !           243:     \end{nrtc}
        !           244: 
        !           245: \item  THE SERVICE CLASS IS SELECTED BY THE INITIATOR DURING CONNECTION
        !           246:        ESTABLISHMENT
        !           247: \end{nrtc}
        !           248: \end{bwslide}
        !           249: 
        !           250: 
        !           251: \begin{bwslide}
        !           252: \ctitle        {FUNCTIONAL UNITS}
        !           253: 
        !           254: \begin{nrtc}
        !           255: \item  FUNCTIONAL UNITS, WHICH ARE NEGOTIABLE, PROVIDE A WAY TO FURTHER
        !           256:        DELIMIT THE SERVICES NEEDED BY AN INITIATOR
        !           257: 
        !           258: \item  A FUNCTIONAL UNIT DEFINES WHICH SERVICES ARE AVAILABLE DURING
        !           259:        THE LIFETIME OF THE FTAM REGIME
        !           260: 
        !           261: \item  THE SERVICE LEVEL AND CLASS OFTEN MANDATE CERTAIN FUNCTIONAL UNITS
        !           262: \end{nrtc}
        !           263: \end{bwslide}
        !           264: 
        !           265: 
        !           266: \begin{bwslide}
        !           267: \ctitle        {FUNCTIONAL UNITS (cont.)}
        !           268: 
        !           269: \begin{nrtc}
        !           270: \item  KERNEL: REGIME ESTABLISHMENT/TERMINATION, FILE SELECTION/DESELECTION
        !           271: 
        !           272: \item  READ: FILE OPEN/CLOSE, READ BULK DATA
        !           273: 
        !           274: \item  WRITE: FILE OPEN/CLOSE, WRITE BULK DATA
        !           275: 
        !           276: \item  FILE ACCESS: LOCATE/ERASE FADU
        !           277: 
        !           278: \item  LIMITED FILE MANAGEMENT: CREATE/DELETE FILES, READ ATTRIBUTES
        !           279: 
        !           280: \item  ENHANCED FILE MANAGEMENT: CHANGE ATTRIBUTES
        !           281: 
        !           282: \item  GROUPING: BEGIN/END A COLLECTION OF REQUESTS
        !           283: 
        !           284: \item  RECOVERY: RECOVER PREVIOUS REGIME, CHECKPOINTING
        !           285: 
        !           286: \item  RESTART: RESTART DATA TRANSFER, CHECKPOINTING
        !           287: \end{nrtc}
        !           288: \end{bwslide}
        !           289: 
        !           290: 
        !           291: 
        !           292: 
        !           293: \begin{bwslide}
        !           294: \ctitle        {FILE SELECTION REGIME}
        !           295: 
        !           296: \begin{nrtc}
        !           297: \item  WHEN A FILE IS BOUND TO FTAM REGIME,
        !           298:        THE FILE SELECTION REGIME IS ESTABLISHED BY EITHER
        !           299:     \begin{nrtc}
        !           300:     \item      FILE SELECTION SERVICE:
        !           301:                A FILE IS SELECTED, IF IT ALREADY EXISTS
        !           302: 
        !           303:     \item      FILE CREATION SERVICE:
        !           304:                A FILE IS (OPTIONALLY) CREATED AND THENCE SELECTED
        !           305:     \end{nrtc}
        !           306: 
        !           307: \item  ONCE A FILE IS SELECTED,
        !           308:        FILE MANAGEMENT FUNCTIONS MAY BE PERFORMED BY
        !           309:     \begin{nrtc}
        !           310:     \item      READ ATTRIBUTE SERVICE
        !           311: 
        !           312:     \item      CHANGE ATTRIBUTE SERVICE
        !           313:     \end{nrtc}
        !           314: 
        !           315: \item  AFTER ANY FILE MANAGEMENT FUNCTIONS,
        !           316:        THE FILE MAY BE OPENED FOR TRANSFER AND/OR ACCESS
        !           317: \end{nrtc}
        !           318: \end{bwslide}
        !           319: 
        !           320: 
        !           321: \begin{bwslide}
        !           322: \ctitle        {FILE SELECTION REGIME (cont.)}
        !           323: 
        !           324: \begin{nrtc}
        !           325: \item  THE FILE SELECTION REGIME IS TERMINATED BY EITHER
        !           326:     \begin{nrtc}
        !           327:     \item      FILE DESELECTION SERVICE:
        !           328:                THE FILE IS SIMPLY UNBOUND FROM THE FTAM REGIME
        !           329: 
        !           330:     \item      FILE DELETION SERVICE:
        !           331:                THE FILE IS REMOVED FROM THE FILESTORE, AND HENCE UNBOUND
        !           332:     \end{nrtc}
        !           333: \end{nrtc}
        !           334: \end{bwslide}
        !           335: 
        !           336: 
        !           337: \begin{bwslide}
        !           338: \ctitle        {FILE OPEN REGIME}
        !           339: 
        !           340: \begin{nrtc}
        !           341: \item  FILE OPEN SERVICE
        !           342:     \begin{nrtc}
        !           343:     \item      WHEN A FILE IS TO BE TRANSFERRED OR ACCESSED,
        !           344:                THE FILE OPEN REGIME IS ESTABLISHED    
        !           345:     \end{nrtc}
        !           346: 
        !           347: \item  THIS BINDS THE STRUCTURE OF THE FILE
        !           348: 
        !           349: \item  ONCE A FILE IS OPENED,
        !           350:        FILE ACCESS FUNCTIONS MAY BE PERFORMED
        !           351:     \begin{nrtc}
        !           352:     \item      LOCATE FADU SERVICE
        !           353: 
        !           354:     \item      ERASE FADU SERVICE
        !           355:     \end{nrtc}
        !           356: 
        !           357: \item  AFTER ANY FILE ACCESS FUNCTIONS,
        !           358:        DATA TRANSFER MAY OCCUR
        !           359: 
        !           360: \item  THE FILE CLOSE SERVICE TERMINATES THE FILE OPEN REGIME
        !           361: \end{nrtc}
        !           362: \end{bwslide}
        !           363: 
        !           364: 
        !           365: \begin{bwslide}
        !           366: \ctitle        {DATA TRANSFER REGIME}
        !           367: 
        !           368: \begin{nrtc}
        !           369: \item  FINALLY, WHEN DATA IS TO BE ACTUALLY TRANSFERRED,
        !           370:        THE DATA TRANSFER REGIME IS ESTABLISHED
        !           371: 
        !           372: \item  THIS INVOKES A ``BULK DATA'' TRANSFER MECHANISM FOR FADUs
        !           373:     \begin{nrtc}
        !           374:     \item      READ BULK DATA SERVICE
        !           375: 
        !           376:     \item      WRITE BULK DATA SERVICE
        !           377: 
        !           378:     \item      DATA UNIT TRANSFER SERVICE
        !           379: 
        !           380:     \item      END OF DATA TRANSFER SERVICE
        !           381: 
        !           382:     \item      END OF TRANSFER SERVICE
        !           383: 
        !           384:     \item      CANCEL DATA TRANSFER SERVICE
        !           385:     \end{nrtc}
        !           386: \end{nrtc}
        !           387: \end{bwslide}
        !           388: 
        !           389: 
        !           390: \begin{bwslide}
        !           391: \ctitle        {THE GROUPING SERVICE}
        !           392: 
        !           393: \begin{nrtc}
        !           394: \item  TYPICALLY MANY FILE OPERATIONS HAVE THREE ACTIONS
        !           395:     \begin{nrtc}
        !           396:     \item      ACQUIRE THE FILE FOR DATA TRANSFER
        !           397: 
        !           398:     \item      PERFORM THE DATA TRANSFER
        !           399: 
        !           400:     \item      RELEASE THE FILE
        !           401:     \end{nrtc}
        !           402: 
        !           403: \item  THE FIRST AND LAST ACTIONS CAN EACH BE VIEWED AS BEING INDIVISIBLE
        !           404: 
        !           405: \item  GROUPING PERMITS PRIMITIVES TO BE ``BUNDLED TOGETHER''
        !           406:        IN ORDER TO IMPLEMENT ONE OF THESE TWO ACTIONS
        !           407: 
        !           408: \item  GROUPING IS MANDATED BY MOST FILE CLASSES
        !           409: \end{nrtc}
        !           410: \end{bwslide}
        !           411: 
        !           412: 
        !           413: \begin{bwslide}
        !           414: \ctitle        {THE GROUPING SERVICE (cont.)}
        !           415: 
        !           416: \begin{nrtc}
        !           417: \item  THE TYPICAL ``ACQUIRE THE FILE'' GROUP:
        !           418:     \begin{nrtc}
        !           419:     \item      F-BEGIN-GROUP
        !           420: 
        !           421:     \item      F-SELECT
        !           422: 
        !           423:     \item      F-OPEN
        !           424: 
        !           425:     \item      F-END-GROUP
        !           426:     \end{nrtc}
        !           427: 
        !           428: \item  THE TYPICAL ``RELEASE THE FILE'' GROUP:
        !           429:     \begin{nrtc}
        !           430:     \item      F-BEGIN-GROUP
        !           431: 
        !           432:     \item      F-CLOSE
        !           433: 
        !           434:     \item      F-DESELECT
        !           435: 
        !           436:     \item      F-END-GROUP
        !           437:     \end{nrtc}
        !           438: \end{nrtc}
        !           439: \end{bwslide}
        !           440: 
        !           441: 
        !           442: \begin{note}\em
        !           443: more complicated groups will be examined later on
        !           444: 
        !           445: this should pretty much illustrate the distinction between state results and
        !           446: actions results:
        !           447: \begin{quote}
        !           448: if a state-change operation fails, they all fail
        !           449: 
        !           450: otherwise if an operation fails, processing continues
        !           451: \end{quote}
        !           452: 
        !           453: grouping is constrained to certain commonly used combinations
        !           454: (setup and cleanup)
        !           455: \end{note}
        !           456: 
        !           457: 
        !           458: \begin{note}\em
        !           459: not discussed due to time constraints:
        !           460: 
        !           461: service level: reliable, user-correctable
        !           462: 
        !           463: recover service for regime recreation
        !           464: 
        !           465: checkpoint service for mark insertion
        !           466: 
        !           467: restart service for transfer restoration
        !           468: 
        !           469: we're pressed for time,
        !           470: so no examples here, later on during the implementation part of the talk,
        !           471: different applications will be sketched
        !           472: \end{note}
        !           473: 
        !           474: 
        !           475: \begin{bwslide}
        !           476: \part* {SUMMARY}\bf
        !           477: 
        !           478: \begin{nrtc}
        !           479: \item  THE FILE SERVICE EXISTS BETWEEN AN INITIATOR, RESPONDER, AND PROVIDER
        !           480: 
        !           481: \item  THE FILE SERVICE PROGRESSES THROUGH A NUMBER OF NESTED REGIMES,
        !           482:        WHICH DETERMINE WHICH PARTS OF THE SERVICE MAY BE INVOKED
        !           483: 
        !           484: \item  THE SERVICE IS FURTHER LIMITED BY NEGOTIATION OF SERVICE ELEMENTS
        !           485: 
        !           486: \item  ALL SERVICES CENTER ON A SELECTED FILE WHICH IS TRANSFERRED,
        !           487:        ACCESSED, OR MANAGED
        !           488: 
        !           489: \item  THE SERVICES ARE SUFFICIENTLY GENERAL TO SUPPORT A WIDE RANGE OF
        !           490:        FILE ACTIVITIES
        !           491: \end{nrtc}
        !           492: \end{bwslide}

unix.superglobalmegacorp.com

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