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

1.1     ! root        1: % run this through SLiTeX with the appropriate wrapper
        !             2: 
        !             3: \begin{bwslide}
        !             4: \part  {ISSUES IN IMPLEMENTING THE VIRTUAL FILESTORE}
        !             5: 
        !             6: \begin{nrtc}\bf
        !             7: \item  A VIRTUAL FILESTORE FOR UNIX: TWO APPROACHES
        !             8: 
        !             9: \item  MAPPING THE NATIVE FILESYSTEM TO THE VIRTUAL FILESTORE
        !            10: \end{nrtc}
        !            11: \end{bwslide}
        !            12: 
        !            13: 
        !            14: \begin{note}\em
        !            15: one reason that the file protocol is relatively simple to implement
        !            16: is that it is unconcerned with how the virtual filestore maps to the
        !            17: realstore
        !            18: 
        !            19: this is the problem of the file service responder, which uses the file
        !            20: service to transmit filestore abstractions, but must use the realstore
        !            21: to ``emulate'' the virtual filestore
        !            22: 
        !            23: deciding on how to perform these mappings is perhaps the hardest part
        !            24: of implementing ftam on a real system:
        !            25: \begin{quote}
        !            26: very difficult to transfer non-trivial file structures
        !            27: 
        !            28: but, the virtual filestore should make the problem $N$ rather than $N*N$
        !            29: \end{quote}
        !            30: \end{note}
        !            31: 
        !            32: 
        !            33: \begin{bwslide}
        !            34: \ctitle        {DIGRESSION: THE FTAM LIBRARY}
        !            35: 
        !            36: \begin{nrtc}
        !            37: \item  APPROXIMATE LINES OF CODE (FOR THOSE WHO CARE)
        !            38:     \begin{nrtc}
        !            39:     \item      C: 23000
        !            40: 
        !            41:     \item      ASN.1: 2100 (COMPILED TO 11000 LINES OF C)
        !            42:     \end{nrtc}
        !            43: 
        !            44: \item  SUPPORTS BOTH INITIATOR AND RESPONDER
        !            45: 
        !            46: \item  SERVICE LEVEL: RELIABLE
        !            47: 
        !            48: \item  SERVICE CLASSES: TRANSFER, ACCESS, MANAGEMENT, TRANSFER AND MANAGEMENT
        !            49: 
        !            50: \item  FUNCTIONAL UNITS: KERNEL, READ, WRITE, ACCESS, LIMITED FILE MANAGEMENT,
        !            51:        ENHANCED FILE MANAGEMENT, GROUPING
        !            52:     \begin{nrtc}
        !            53:     \item      RESTRICTION: GROUPING IS REQUIRED
        !            54:     \end{nrtc}
        !            55: 
        !            56: \item  ATTRIBUTE GROUPS: KERNEL, STORAGE AND SECURITY
        !            57: \end{nrtc}
        !            58: \end{bwslide}
        !            59: 
        !            60: 
        !            61: \begin{bwslide}
        !            62: \ctitle        {IMPLEMENTATION NOTES}
        !            63: 
        !            64: \begin{nrtc}
        !            65: \item  PROCEDURE CALLS USED FOR SERVICE INTERFACE
        !            66:     \begin{nrtc}
        !            67:     \item      CONFIRMED SERVICES BLOCK UNTIL RESPONSE RECEIVED
        !            68: 
        !            69:     \item      F-WAIT (PSEUDO) SERVICE ADDED TO WAIT FOR .INDICATIONs
        !            70:     \end{nrtc}
        !            71: 
        !            72: \item  LIBRARY SUPPORTS MULTIPLE ASSOCIATIONS
        !            73: \end{nrtc}
        !            74: \end{bwslide}
        !            75: 
        !            76: 
        !            77: \begin{bwslide}
        !            78: \ctitle        {AUTOMATIC TOOLS IN SUPPORT OF ASN.1}
        !            79: 
        !            80: \begin{nrtc}
        !            81: \item  BECAUSE ASN.1 IS A ``FORMAL'' LANGUAGE, IT IS POSSIBLE TO WRITE
        !            82:        PROGRAMS WHICH UNDERSTAND ASN.1 DESCRIPTIONS
        !            83: 
        !            84: \item  ONE EXAMPLE OF SUCH A PROGRAM IS ``PEPY'', AN ASN.1--COMPILER THAT
        !            85:        PRODUCES ENCODERS, DECODERS, AND PRETTY-PRINTERS OF DATA STRUCTURES
        !            86:        DEFINED BY ASN.1
        !            87: 
        !            88: \item  PEPY IS SUFFICIENTLY POWERFUL TO PRODUCE A DECODER OF THE FULL FPDU
        !            89:        AND FADU SPECIFICATION (IT WAS USED EXTENSIVELY FOR THIS PURPOSE)
        !            90: 
        !            91: \item  PEPY HAS BEEN USED IN OTHER PROJECTS AND HAS PROVEN USEFUL IN
        !            92:        FINDING ERRORS IN THE PDU SPECIFICATIONS
        !            93: \end{nrtc}
        !            94: \end{bwslide}
        !            95: 
        !            96: 
        !            97: \begin{note}\em
        !            98: actually, there is one *small* part of the FPDU specification that PEPY
        !            99: doesn't support
        !           100: \end{note}
        !           101: 
        !           102: 
        !           103: \begin{bwslide}
        !           104: \part* {A VIRTUAL FILESTORE\\ FOR UNIX:\\ TWO APPROACHES}\bf
        !           105: 
        !           106: \begin{nrtc}
        !           107: \item  REGARDLESS OF THE NUMBER OF DIFFERENT LOCALSTORES THAT EXIST,
        !           108:        IT SHOULDN'T BE SURPRISING THAT THERE IS MORE THAN ONE WAY TO MAP A
        !           109:        VIRTUAL FILESTORE ONTO A LOCALSTORE
        !           110: 
        !           111: \item  LET'S CONSIDER THE UNIX LOCALSTORE (BECAUSE OF ITS SIMPLICITY) AND
        !           112:        CONSIDER TWO DIFFERENT WAYS OF IMPLEMENTING THE VIRTUAL FILESTORE
        !           113: \end{nrtc}
        !           114: \end{bwslide}
        !           115: 
        !           116: 
        !           117: \begin{bwslide}
        !           118: \ctitle        {REVIEW: THE UNIX LOCALSTORE}
        !           119: 
        !           120: \begin{nrtc}
        !           121: \item  FILES IN UNIX ARE BYTE STREAMS, WITHOUT ANY INHERENT STRUCTURING
        !           122:        INFORMATION (e.g., RECORD LENGTHS, FORMATS, etc.)
        !           123: 
        !           124: \item  TWO TYPES OF FILES ARE OF INTEREST
        !           125:     \begin{nrtc}
        !           126:     \item      REGULAR FILES WHICH CONTAIN DATA
        !           127: 
        !           128:     \item      DIRECTORY FILES WHICH CONTAIN POINTERS TO OTHER FILES
        !           129:     \end{nrtc}
        !           130: 
        !           131: \item  THE FILESYSTEM IS HIERARCHICAL (TREE-LIKE)
        !           132: 
        !           133: \item  THERE ARE RELATIVELY FEW OPERATIONS
        !           134:     \begin{nrtc}
        !           135:     \item      OPEN, READ, WRITE, CLOSE: MANIPULATE REGULAR FILES
        !           136: 
        !           137:     \item      LINK, UNLINK: MANIPULATE DIRECTORY FILES
        !           138: 
        !           139:     \item      CHOWN, CHMOD, UTIMES: CHANGE FILE ATTRIBUTES
        !           140: 
        !           141:     \item      STAT: RETURN INFORMATION ABOUT A FILE
        !           142:     \end{nrtc}
        !           143: \end{nrtc}
        !           144: \end{bwslide}
        !           145: 
        !           146: 
        !           147: \begin{bwslide}
        !           148: \ctitle        {THE ``ALTERNATE FILESYSTEM'' APPROACH}
        !           149: 
        !           150: \begin{nrtc}
        !           151: \item  OBSERVATION: THE UNIX LOCALSTORE ISN'T POWERFUL ENOUGH TO PERMIT
        !           152:        A DIRECT MAPPING TO THE FILESTORE
        !           153: 
        !           154: \item  SOLUTION: ``PARTITION OFF'' A PART OF THE LOCAL FILESYSTEM,
        !           155:        INACCESSIBLE TO MOST USERS, AND GIVE THE FTAM RESPONDER FULL REIGN
        !           156:        THERE
        !           157: \end{nrtc}
        !           158: \end{bwslide}
        !           159: 
        !           160: 
        !           161: \begin{bwslide}
        !           162: \ctitle        {MAPPINGS}
        !           163: 
        !           164: \begin{nrtc}
        !           165: \item  START WITH A ``TOP-LEVEL'' DIRECTORY
        !           166: 
        !           167: \item  TREAT EACH FILE IN THE VIRTUAL FILESTORE AS A UNIX DIRECTORY
        !           168:     \begin{nrtc}
        !           169:     \item      SINCE A FTAM FILENAME IS A SEQUENCE OF GraphicString's,
        !           170:                USE A DIRECTORY FOR EACH STRING IN THE SEQUENCE
        !           171:     \end{nrtc}
        !           172: 
        !           173: \item  IN THE FILE'S DIRECTORY
        !           174:     \begin{nrtc}
        !           175:     \item      HAVE A UNIX FILE \verb"attributes" WHICH CONTAINS
        !           176:                DEFINITIONS FOR ALL OF THE FILE'S ATTRIBUTES
        !           177: 
        !           178:     \item      HAVE UNIX FILES CALLED \verb"descriptor" AND \verb"DU"
        !           179:                WHICH DESCRIBE THE ROOT FADU
        !           180: 
        !           181:     \item      FOR EACH CHILD OF THE ROOT, HAVE A DIRECTORY
        !           182:                (NAMED \verb"1", \verb"2", etc.)
        !           183:     \end{nrtc}
        !           184: \end{nrtc}
        !           185: \end{bwslide}
        !           186: 
        !           187: 
        !           188: \begin{bwslide}
        !           189: \ctitle        {EXAMPLE: THE ``ALTERNATE FILESYSTEM'' APPROACH}
        !           190: 
        !           191: \vskip.5in
        !           192: \diagram[p]{figure4}
        !           193: \end{bwslide}
        !           194: 
        !           195: 
        !           196: \begin{bwslide}
        !           197: \diagram[p]{figure8}
        !           198: \end{bwslide}
        !           199: 
        !           200: 
        !           201: \begin{bwslide}
        !           202: \ctitle        {BENEFITS OF THE ``ALTERNATE FILESYSTEM'' APPROACH}
        !           203: 
        !           204: \begin{nrtc}
        !           205: \item  THE UNIX FILESYSTEM CAN HOST A DATABASE WHICH IS POWERFUL ENOUGH TO
        !           206:        MODEL THE FULL STRUCTURE OF FILES IN THE VIRTUAL FILESTORE
        !           207: 
        !           208: \item  BY DISTINGUISHING BETWEEN FTAM ATTRIBUTES AND UNIX ATTRIBUTES,
        !           209:        THE FULL SET OF FTAM ATTRIBUTES CAN POTENTIALLY BE SUPPORTED
        !           210: \end{nrtc}
        !           211: \end{bwslide}
        !           212: 
        !           213: 
        !           214: \begin{bwslide}
        !           215: \ctitle        {DISADVANTAGES OF\\ THE ``ALTERNATE FILESYSTEM'' APPROACH}
        !           216: 
        !           217: \begin{nrtc}
        !           218: \item  NOT A ``INTEGRATED'' APPROACH
        !           219:     \begin{nrtc}
        !           220:     \item      USERS WISHING TO ACCESS FILES RESIDING IN THE LOCAL VIRTUAL
        !           221:                FILESTORE MUST STILL USE FTAM (SLOW AND REDUNDANT)
        !           222:     \end{nrtc}
        !           223: 
        !           224: \item  NOT VERY EFFICIENT USE OF UNIX RESOURCES
        !           225: 
        !           226: \item  REQUIRES SOME RE-INVENTING OF THE WHEEL
        !           227: \end{nrtc}
        !           228: \end{bwslide}
        !           229: 
        !           230: 
        !           231: \begin{bwslide}
        !           232: \ctitle        {THE ``INTEGRATED'' APPROACH}
        !           233: 
        !           234: \begin{nrtc}
        !           235: \item  IS THERE A WAY TO MAP UNIX FILE STRUCTURE AND ATTRIBUTES DIRECTLY
        !           236:        TO THE VIRTUAL FILESTORE?
        !           237: 
        !           238: \item  CAUTION:
        !           239:     \begin{quote}\em
        !           240:        SOMETIMES WHEN YOU TRY TO TURN AN APPLE INTO AN ORANGE YOU GET BACK A
        !           241:        LEMON!    
        !           242:     \end{quote}
        !           243: \end{nrtc}
        !           244: \end{bwslide}
        !           245: 
        !           246: 
        !           247: \begin{bwslide}
        !           248: \part* {MAPPING THE NATIVE FILESYSTEM TO THE VIRTUAL FILESTORE}\bf
        !           249: 
        !           250: \begin{nrtc}
        !           251: \item  QUESTION: CAN AN ARBITRARY UNIX FILE APPEAR TO BE A FILE IN
        !           252:        THE VIRTUAL FILESTORE?
        !           253: 
        !           254: \item  IMPLICATIONS
        !           255:     \begin{nrtc}
        !           256:     \item      THE UNIX FILE CONTENTS MAP TO AN FTAM FILE STRUCTURE
        !           257: 
        !           258:     \item      THE UNIX FILESYSTEM ATTRIBUTES MAP TO VIRTUAL FILESYSTEM
        !           259:                ATTRIBUTES
        !           260:     \end{nrtc}
        !           261: \end{nrtc}
        !           262: \end{bwslide}
        !           263: 
        !           264: 
        !           265: \begin{bwslide}
        !           266: \ctitle        {MAPPINGS}
        !           267: 
        !           268: \begin{nrtc}
        !           269: \item  INITIALLY, CONSIDER ONLY
        !           270:     \begin{nrtc}
        !           271:     \item      UNSTRUCTURED BINARY FILES (FTAM-3)
        !           272: 
        !           273:     \item      UNSTRUCTURED TEXT FILES (NBS-2)
        !           274: 
        !           275:     \item      FILE DIRECTORY FILES (NBS-9)
        !           276:     \end{nrtc}
        !           277: 
        !           278: \item  AUTHENTICATION
        !           279:     \begin{nrtc}
        !           280:     \item      FTAM INITIATOR MAPS TO USER ENTRY IN THE UNIX PASSWORD FILE
        !           281: 
        !           282:     \item      ``ANON'' INITIATOR PROVIDED FOR GUEST (RESTRICTED) ACCESS
        !           283:     \end{nrtc}
        !           284: 
        !           285: \item  MAPPING BETWEEN USER/GROUP IDs (UIDs/GIDs) AND FTAM ENTITIES
        !           286:     \begin{nrtc}
        !           287:     \item      PASSWORD OR GROUP FILE USED TO MAP NUMBER TO NAME
        !           288: 
        !           289:     \item      IF ENTRY NOT FOUND, NUMBER CONVERTED TO STRING
        !           290:     \end{nrtc}
        !           291: 
        !           292: \item  MAPPING BETWEEN UNIX TIME AND FTAM DATE/TIMES
        !           293:     \begin{nrtc}
        !           294:     \item      STRAIGHT-FORWARD (AT LAST)
        !           295:     \end{nrtc}
        !           296: \end{nrtc}
        !           297: \end{bwslide}
        !           298: 
        !           299: 
        !           300: \begin{bwslide}
        !           301: \ctitle        {ATTRIBUTE MAPPINGS}
        !           302: 
        !           303: \begin{nrtc}
        !           304: \item  FILENAME
        !           305:     \begin{nrtc}
        !           306:     \item      A SINGLE STRING (WHAT MOST PROFILES SPECIFY ANYWAY)
        !           307: 
        !           308:     \item      INTERPRETED RELATIVE TO THE USER'S HOME DIRECTORY 
        !           309: 
        !           310:     \item      CHANGING THIS ATTRIBUTE RENAMES THE FILE
        !           311:     \end{nrtc}
        !           312: 
        !           313: \item  CONTENTS TYPE
        !           314:     \begin{nrtc}
        !           315:     \item      BASED ON FILE TYPE (MORE DETAIL LATER)
        !           316:     \end{nrtc}
        !           317: 
        !           318: \item  ACCOUNT
        !           319:     \begin{nrtc}
        !           320:     \item      THE FILE'S GID (GROUP ID) ATTRIBUTE
        !           321:     \end{nrtc}
        !           322: 
        !           323: \item  DATES AND TIMES
        !           324:     \begin{nrtc}\small
        !           325:     \item      OF CREATION AND LAST MODIFICATION: THE FILE'S LAST MODIFICATION
        !           326:                TIME
        !           327: 
        !           328:     \item      OF LAST READ ACCESS: THE FILE'S LAST ACCESS TIME
        !           329: 
        !           330:     \item      OF LAST ATTRIBUTE MODIFICATION: THE INODE'S LAST CHANGE TIME
        !           331: 
        !           332:     \item      NOT STRICTLY ACCURATE SINCE WRITING TO A FILE CHANGES EACH
        !           333:     \end{nrtc}
        !           334: \end{nrtc}
        !           335: \end{bwslide}
        !           336: 
        !           337: 
        !           338: \begin{bwslide}
        !           339: \ctitle        {ATTRIBUTE MAPPINGS (cont.)}
        !           340: 
        !           341: \begin{nrtc}
        !           342: \item  IDENTITIES:
        !           343:     \begin{nrtc}
        !           344:     \item      OF CREATOR: THE FILE'S OWNER
        !           345: 
        !           346:     \item      OF OTHERS: DEPENDS ON THE FILE'S MODE, OTHERWISE UNAVAILABLE
        !           347:     \end{nrtc}
        !           348: 
        !           349: \item  FILE-AVAILABILITY
        !           350:     \begin{nrtc}
        !           351:     \item      IMMEDIATE
        !           352:     \end{nrtc}
        !           353: 
        !           354: \item  PERMITTED ACTIONS
        !           355:     \begin{nrtc}
        !           356:     \item      DEPENDS ON THE FILE'S MODE
        !           357: 
        !           358:     \item      READ, WRITE: BASED ON INITIATOR'S PERMISSIONS
        !           359: 
        !           360:     \item      READ ATTRIBUTES: ALWAYS
        !           361: 
        !           362:     \item      CHANGE ATTRIBUTES: ONLY IF OWNER OF FILE
        !           363: 
        !           364:     \item      DELETE: BASED ON WRITABILITY OF PARENT DIRECTORY
        !           365:     \end{nrtc}
        !           366: 
        !           367: \item  FILESIZE
        !           368:     \begin{nrtc}
        !           369:     \item      THE FILE'S SIZE
        !           370:     \end{nrtc}
        !           371: \end{nrtc}
        !           372: \end{bwslide}
        !           373: 
        !           374: 
        !           375: \begin{bwslide}
        !           376: \ctitle        {UNAVAILABLE ATTRIBUTES}
        !           377: 
        !           378: \begin{nrtc}
        !           379: \item  FUTURE FILESIZE
        !           380: 
        !           381: \item  ACCESS CONTROL
        !           382: 
        !           383: \item  ENCRYPTION NAME
        !           384: 
        !           385: \item  LEGAL QUALIFICATIONS
        !           386: 
        !           387: \item  PRIVATE USE
        !           388: \end{nrtc}
        !           389: \end{bwslide}
        !           390: 
        !           391: 
        !           392: \begin{bwslide}
        !           393: \ctitle        {UNSTRUCTURED BINARY FILES}
        !           394: 
        !           395: \begin{nrtc}
        !           396: \item  SEMANTICS: THE DOCUMENT CONSISTS OF A SINGLE DATA UNIT
        !           397:     \begin{nrtc}
        !           398:     \item      THE DATA UNIT CONSISTS OF AN UNBOUNDED SEQUENCE OF DATA
        !           399:                ELEMENTS
        !           400: 
        !           401:     \item      EACH DATA ELEMENT IS AN OCTET STRING
        !           402: 
        !           403:     \item      TRANSFER SYNTAX IS NOT SELF-DELIMITING
        !           404:     \end{nrtc}
        !           405: 
        !           406: \item  CONSTRAINT SET: UNSTRUCTURED
        !           407: 
        !           408: \item  THIS IS SIMPLY A REGULAR UNIX FILE, NO STRUCTURE MAPPING IS REQUIRED
        !           409: \end{nrtc}
        !           410: \end{bwslide}
        !           411: 
        !           412: 
        !           413: \begin{bwslide}
        !           414: \ctitle        {EFFICIENCY CONSIDERATIONS}
        !           415: 
        !           416: \begin{nrtc}
        !           417: \item  NEED TO DETERMINE HOW FADUs MAP TO SSDUs
        !           418: 
        !           419: \item  IDEALLY, WISH TO CONFIGURE DATA TRANSFER SUCH THAT EACH PARTIAL
        !           420:        FADU SENT MAPS TO EXACTLY ONE SSDU!
        !           421: 
        !           422: \item  THIS IS (ARGUABLY) A HORRIBLE VIOLATION OF THE LAYERING PHILOSOPHY
        !           423: \end{nrtc}
        !           424: \end{bwslide}
        !           425: 
        !           426: 
        !           427: \begin{bwslide}
        !           428: \ctitle        {UNSTRUCTURED TEXT FILES (VARCRLF)}
        !           429: 
        !           430: \begin{nrtc}
        !           431: \item  SEMANTICS: THE DOCUMENT CONSISTS OF A SINGLE DATA UNIT
        !           432:     \begin{nrtc}
        !           433:     \item      THE DATA UNIT CONSISTS OF AN UNBOUNDED SEQUENCE OF DATA
        !           434:                ELEMENTS
        !           435: 
        !           436:     \item      EACH DATA ELEMENT IS AN IA5String, TERMINATED BY CR-LF,
        !           437:                AND NEITHER CR NOR LF MAY APPEAR ANYWHERE ELSE IN THE STRING
        !           438: 
        !           439:     \item      TRANSFER SYNTAX IS NOT SELF-DELIMITING
        !           440:     \end{nrtc}
        !           441: 
        !           442: \item  CONSTRAINT SET: UNSTRUCTURED
        !           443: 
        !           444: \item  HOW TO DETERMINE IF REGULAR FILE IS BINARY OR TEXT
        !           445:     \begin{nrtc}
        !           446:     \item      USE A HEURISTIC (AND ALL THAT IMPLIES)
        !           447:     \end{nrtc}
        !           448: 
        !           449: \item  OTHERWISE, GIVEN CR-LF VS. NEWLINE HANDLING, STRAIGHT-FORWARD TO
        !           450:        HANDLE
        !           451: \end{nrtc}
        !           452: \end{bwslide}
        !           453: 
        !           454: 
        !           455: \begin{bwslide}
        !           456: \ctitle        {FILE DIRECTORY FILES}
        !           457: 
        !           458: \begin{nrtc}
        !           459: \item  ALTHOUGH THE VIRTUAL FILESTORE DOESN'T SUPPORT A ``DIRECTORY''
        !           460:        CONCEPT, WE CAN EMULATE IT
        !           461: 
        !           462: \item  EXPERIENCE WITH OTHER NETWORK FILE SERVICES HAS SHOWN THIS TO BE
        !           463:        VERY USEFUL
        !           464: \end{nrtc}
        !           465: \end{bwslide}
        !           466: 
        !           467: 
        !           468: \begin{bwslide}
        !           469: \ctitle        {FILE DIRECTORY FILES (cont.)}
        !           470: 
        !           471: \begin{nrtc}
        !           472: \item  SEMANTICS: THE DOCUMENT CONSISTS OF AN UNBOUNDED SEQUENCE OF DATA UNITS
        !           473:     \begin{nrtc}
        !           474:     \item      EACH DATA UNIT CONSISTS OF EXACTLY ONE DATA ELEMENT OF
        !           475:                TYPE FileDirectoryEntry
        !           476: 
        !           477:     \item      THE TRANSFER SYNTAX IS SELF-DELIMITING
        !           478:     \end{nrtc}
        !           479: 
        !           480: \item  CONSTRAINT SET: SEQUENTIAL FLAT
        !           481: 
        !           482: \item  QUESTION: WHAT FILENAME TO REPORT IN EACH ENTRY?
        !           483: 
        !           484: \item  EFFICIENCY CONCERN: ``BUFFER'' DATA ELEMENTS FOR F-DATA SERVICE
        !           485: \end{nrtc}
        !           486: \end{bwslide}
        !           487: 
        !           488: 
        !           489: \begin{bwslide}
        !           490: \ctitle        {EXAMPLE: FILE DIRECTORY FILE}\small
        !           491: 
        !           492: \begin{tgrind}
        !           493: \let\linebox=\relax
        !           494: \input figure9\relax
        !           495: \end{tgrind}
        !           496: \end{bwslide}
        !           497: 
        !           498: 
        !           499: \begin{bwslide}
        !           500: \ctitle        {COMPARISON OF THE TWO APPROACHES}
        !           501: 
        !           502: \begin{nrtc}
        !           503: \item  ``PURITY'' OF VIRTUAL FILESTORE MAPPINGS
        !           504:     \begin{nrtc}
        !           505:     \item      ALTERNATE: ALL MAPPINGS CAN BE PERFORMED
        !           506: 
        !           507:     \item      INTEGRATED: MOST MAPPINGS ARE DIRECT, SOME ARE STRAINED, OTHERS
        !           508:                ARE IMPOSSIBLE
        !           509:     \end{nrtc}
        !           510: 
        !           511: \item  INTEGRATED: TIGHT INTERACTION WITH LOCAL ENVIRONMENT YIELDING
        !           512:        SIMPLICITY OF IMPLEMENTATION
        !           513:     \begin{nrtc}
        !           514:     \item      ABOUT 3500 LINES OF C CODE
        !           515:     \end{nrtc}
        !           516: 
        !           517: \item  EFFICIENCY OF IMPLEMENTATION
        !           518:     \begin{nrtc}
        !           519:     \item      ALTERNATE: EFFICIENT FOR VIRTUAL FILESTORE
        !           520: 
        !           521:     \item      INTEGRATED: EFFICIENT USE OF UNIX RESOURCES
        !           522:     \end{nrtc}
        !           523: \end{nrtc}
        !           524: \end{bwslide}
        !           525: 
        !           526: 
        !           527: \begin{note}\em
        !           528: the responder, per se, currently runs on berkeley or at\&t unix
        !           529: (although only the berkeley version has been extensively tested)
        !           530: 
        !           531: it was inspired, a bit, by the berkeley unix ftp server
        !           532: 
        !           533: the library, of course, just needs a decent C compiler, unix isn't an issue
        !           534: \end{note}
        !           535: 
        !           536: 
        !           537: \begin{bwslide}
        !           538: \ctitle        {COMPARISON OF THE TWO APPROACHES (cont.)}
        !           539: 
        !           540: \begin{nrtc}
        !           541: \item  FOR SIMPLE APPLICATIONS, THE ``INTEGRATED'' APPROACH IS PROBABLY
        !           542:        SUPERIOR
        !           543: 
        !           544: \item  IT IS INSUFFICIENT FOR ADVANCED APPLICATIONS HOWEVER
        !           545: 
        !           546: \item  THIS SUGGESTS THAT IMPLEMENTATIONS IN THE LONG-TERM WILL PROBABLY
        !           547:        EVOLVE TOWARD A HYBRID APPROACH
        !           548: 
        !           549: \item  PERHAPS THE NEXT GENERATION LOCALSTORE SHOULD BE DESIGNED WITH FTAM
        !           550:        IN MIND?
        !           551: \end{nrtc}
        !           552: \end{bwslide}
        !           553: 
        !           554: 
        !           555: \begin{note}\em
        !           556: not discussed due to time constraints:
        !           557: 
        !           558: managing multiple associations at the file store
        !           559: (needed: reasonable file-level locking facilities in the realstore)
        !           560: \end{note}
        !           561: 
        !           562: 
        !           563: \begin{bwslide}
        !           564: \part* {SUMMARY}\bf
        !           565: 
        !           566: \begin{nrtc}
        !           567: \item  THE FILE PROTOCOL IS TRIVIAL COMPARED TO IMPLEMENTING A GOOD MAPPING
        !           568:        OF THE VIRTUAL FILESTORE
        !           569: 
        !           570: \item  THE ``ALTERNATE FILESYSTEM'' APPROACH CAN BE USED TO PROVIDE FULL
        !           571:        VIRTUAL FILESTORE SERVICES
        !           572: 
        !           573: \item  THE ``INTEGRATED'' APPROACH, WHILE NOT AS CAPABLE, IS ACCEPTABLE FOR
        !           574:        MOST APPLICATIONS
        !           575: \end{nrtc}
        !           576: \end{bwslide}

unix.superglobalmegacorp.com

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