Copyright Xerox Corporation 1982Inter-Office MemorandumToIFS UsersDateApril 24, 1982FromEd Taft and David BoggsLocationPalo AltoSubjectHow to Use IFS (version 1.36)OrganizationPARC/CSLXEROXFiled on: [Maxc2]HowToUse.bravo, .pressThis memo describes how to use the IFS (Interim File System) servers. This is the complete user-level documentation. The Alto User's Handbook has some introductory material and summarizescommonly-used procedures, so new users are advised to look there first.Information in this memo applies to all IFSs except where otherwise noted. To obtain a directoryon your local IFS, or to find out about local operating practices, consult your IFS administrator.This edition describes IFS version 1.36. User-visible changes since version 1.34 are as follows:IFS can be configured to use Grapevine for authentication and access control. Thissubstantially changes the facilities for dealing with file protections; see section 3 for details.The Show System-Parameters command has been added.1. How to access IFSAt present, the file services provided by IFS are limited to a fairly basic set. The normal mode ofaccess from Altos is through FTP. The basic operations (Store, Retrieve, List, Delete, and Rename)are invoked through the Alto FTP program, or through other programs that use the FTP protocolsuch as the Mesa FileTool.You should consult the FTP documentation in the Alto User's Handbook, the Alto Subsystemsmanual, or [Maxc2]FTP.tty, for general information on the use of FTP. IFS can also bereached from Maxc by means of the PUPFTP subsystem.File naming conventions on IFS are a mixture of Maxc and Alto conventions. The general form ofan IFS file name is:name!versionAll printing characters except *' are legal in the name. The complete file name may be up to 99characters long (longer than either Maxc or Alto permit).All IFS files have version numbers (in the range 1 to 65535) which are defaulted in the usual way,as follows:Retrievehighest existing versionStorenext higher versionDeletelowest existing versionListall versions &pX]g~qi cr]pX-r7Bp \r]p-r7Bp V!r]p-r 7Bp`Os K>p, EtJ Ctp BlG ?9( >B ;D89>6K32 /Du ,_pd *?$ )W)4 ' $0tp #jJr !3 p4+ } 9( 09 KW   ^  V ,`>/d How to Use IFS2Versions other than the default one may be referred to explicitly (by specifying the version number)or by the notations !L' (lowest existing version), !H' (highest existing version), or !N' (next higherversion).There is presently no facility for automatic deletion of non-current versions; you must delete themmanually. The Delete command, described below, has an option that facilitates this.*' expansion is supported during Retrieve, List, and Delete commands. The expansion is similar tothat provided by the Alto Executive; that is, each *' matches zero or more real characters in a filename.You may find it convenient to organize your files into sub-directories by giving them names such asMemos>HowToUse.Bravo'. Then all files belonging to a particular sub-directory may beaccessed by a specification such as Memos>*', and you may direct your attention to aparticular sub-directory by establishing a default such as Directory Taft>Memos'.The appearance of sub-directories is entirely an artifact of naming conventions; the file systemactually keeps track of the complete file name for each file. <' and >' are ordinary characters, and*' matches them the same as any other character. For this reason, if you use sub-directories at all,you will find them most useful if you employ them in a consistent fashion.2. Access via ChatThe current definition of the File Transfer Protocol (the means by which FTP communicates with afile server) limits itself to the basic set of operations mentioned previously. It lacks the means forexpressing a number of other essential operations. Improved file access protocols are a topic ofcurrent research.In the meantime, rather than attempting to extend FTP, we have provided an Executive in IFSwhich you can access by means of Chat (or the bottom Telnet window in FTP). This Executive ispatterned after the one in Maxc, but has a very limited command repertoire.Typein and editing conventions are the ones familiar to most users. BS or CTRL-A erases thepreceding character, CTRL-W deletes a word, and DEL deletes an entire command or sub-command.Deleted characters are not actually erased from the Alto screen because Chat does not provide such a capability. Mostcommands must be terminated by RETURN. CTRL-C may be used to abort any command. If youare using any sort of display terminal, typeout will stop at the end of every page (as on Maxc) andIFS will wait for you to type any character before continuing. If you type ahead, this feature is disabled.The commands of interest to most users are the following:@ Login (user) user-name (password) passwordLogs you into IFS. This is necessary before issuing most other commands.Ordinarly, Chat will do this for you automatically.@ Logout@ QuitLogs you out and closes the connection.@ Connect (to directory) directory-name (password) passwordSets your default directory to be directory-name, and gives you owner-like access toit. The password may be omitted if directory-name is your own directory or one towhich you have connect privileges.@ Directory (default) directory-name fp G bT `)@ _ \1W ZT WG VD X T Q(tp PWY NG MOR JjT Hc Gb24 EJ ARu >mpG <P ;eN 9 6J 5x) tp# 3K 1Erprp /rprp* .r]p ,rprp *_ ){ 3r, &p9#tp t p9H3c't p t1p"t p$tpt p)" Dt  . ?/\;How to Use IFS3Sets your default directory to be directory-name, but without changing your accessrights (and therefore without requiring a password). All subsequent commandsdealing with files will behave as if ' appeared at the beginning ofeach file name argument that doesn't name a directory explicitly (i.e., that doesn'tbegin with <'). Directory-name may include sub-directories (e.g., Memos>').When you issue the Directory command, IFS first displays your current defaultdirectory. You may either edit this field (by first backspacing at least one character)or replace it simply by typing the replacement. If you erase the entire field (withCTRL-W), the default directory reverts to your current connected directory.If the first character of directory-name is >', IFS prefixes the name of your current connecteddirectory. That is, if you are currently connected to directory Jones, the command Directory>Memos>' is equivalent to the command Directory Memos>'. Also, the outermost <' and >'are optional. Note that the foregoing descriptions also apply to the Directory command in the FTPserver.@ DskStatPrints the number of used pages and the maximum allowed in the connecteddirectory, followed by the number of free pages in the system. One IFS page is1024 words or 2048 characters, which is equivalent to four Alto pages orapproximately one Maxc page.@ List (files) file-designatorsLists the names of all files matching file-designators, which is a list of up to 10 filenames (separated by spaces), any of which may contain *'s to denote multiple files.The files matching each file-designator are listed in alphabetical order on the basisof the entire file name (including directories and sub-directories, if any). To savespace, directory and sub-directory names are printed only when they change, abovethe list of files to which they apply.If you terminate the last file-designator with a comma followed by RETURN (ratherthan just RETURN), IFS enters a sub-command mode in which you may specifyadditional information to be printed about each file:@@ Typefile type and byte size@@ Sizesize in pages@@ Lengthlength in bytes@@ Creationdate of file creation@@ Writedate of last write@@ Readdate of last read@@ Backupdate of last backup@@ Timestimes as well as dates@@ Authorcreator of file@@ Protectionfile protection@@ Verbosesame as Type Size Write Read Author@@ EverythingSub-command mode is terminated when you type just RETURN in response to the@@' prompt. The columns of printout will be aligned properly only if you are running Chatwith a fixed-pitch font such as Gacha12 or Gacha10.@ Delete file-designatorDeletes all files matching file-designators, which is a list of up to 10 file names(separated by spaces), any of which may contain *'s to denote multiple files. Theversion number defaults to the lowest existing version; to delete all versions, youmust end each file-designator with !*'. IFS prints out each file name, followed by[Confirm]'. You should respond with Y' or RETURN to delete the file, or with N' fp Gb"t p!`4_ t p]L\t p5Y)MW$4V!TTrpGQrv r8PKO`HN#ZLJ#pG?#%E<D7HB?t+t pr=Sp rpt p%;t p9 r";7/51P3D*2=/pt.qpt +p1tp*.!(K' tp$t"pt!ptp4tAp t\p2tpT& 1Ltp g  ( 4C]o=How to Use IFS5Enables or disables the automatic maintenance of backup copies ofthe files. Ordinarily, all files are backed up. Specifying NoBackup' is appropriate only for very large files that are themselvesduplicates of files stored elsewhere; you should use No Backup'only after consulting with your IFS's administrator.All requested changes take effect when you type RETURN immediately after the@@' prompt.@ Print (files) file-designator@ Press (files) file-designatorRequests that all Press files matching file-designator be sent to your default printingserver (Print' and Press' are synonyms). File-designator is a list of up to 10 filenames (separated by spaces), any of which may contain *'s to denote multiple files.IFS prints out the name of each file followed by [Confirm]'; you should respondwith Y' or RETURN to print the file, or with N' or DEL to skip over it.If you terminate the last file-designator with a comma followed by RETURN, IFSenters a sub-command mode in which you may specify the following parameters:@@ Copies numberSpecifies the number of copies of each Press document to print.@@ DuplexSpecifies that the document is to be printed on both sides of thepaper (if the printing server is capable of doing so).@@ Password passwordCauses the document not to be printed immediately but rather tobe held by the printing server until you type password on theprinting server's terminal. Only certain servers are capable ofpassword-protected printing. Contact your local support staff forinstructions on using this feature.@@ Printed-by nameCauses name to appear in the Printed-by' field on the cover pageof the printed output. (Ordinarily, your user name is printed.)@@ Server server-nameSpecifies the name of the printing server to which the Press files areto be transmitted. This may be either a registered name or aninternetwork address of the form net#host#' (don't leave off thetrailing #').You terminate sub-command mode by typing RETURN in response to the @@'prompt. In the absence of any sub-commands, IFS will cause one copy of eachPress file to be printed on your default printing server. You may establish orchange your default printing server by means of a sub-command of the ChangeDirectory-Parameters command, as follows:@ Change Directory-Parameters (of directory) directory@@ Printing-Server host-namewhere directory is the name of your directory, i.e., your user name. If you have not fp Gb.`@_)]%\4Y)0rp W TtS,T)o-t pt ptp' 5C]LKHow to Use IFS6established your default printing server, IFS will require you to issue a Server sub-command every time you request printing.Actual transmission of the Press files to the printing server is performed by abackground process, so you need not remain connected to IFS while the printing istaking place. If the printing server is down at the time, IFS will queue the files forlater delivery. If the Press files cannot be delivered within eight hours, however, theprinting request is discarded without a trace.Printing request may be examined and canceled with the following commands:@ Show Printing-requestsdisplays all printing requests you have issued that have not been completed.@ Cancel (printing requests)displays all outstanding printing requests you have issued, and for each one asksyou whether or not you wish to cancel it (answer Y' or N').Note that only Press-format files can be printed; IFS checks that every file is a Pressfile and will refuse to print any file that is not.@ Change Password@ Change Protection@ Change Directory-Parameters@ Show Directory-Parameters@ Change Group-Membership@ Show Group-MembershipSee section 3.@ SystatShows who is presently using IFS, what service they are accessing (FTP, Telnet,CopyDisk, or Mail), and the name or inter-network address of the machine they arecoming from.@ DayTimeDisplays the current date and time.@ Statistics@ Show System-ParametersPrints out various operating statistics and parameters that are generally of interestonly to IFS administrators. The Show System-Parameters command may be used tofind out what services are enabled on the IFS, whether or not Grapevine is used forauthentication and access control, etc.3. Passwords, protections, and GrapevineIFS has facilities for controlling access to a file server as a whole and to individual directories andfiles within the file server. A file server that is in communication with a Grapevine registrationserver can use Grapevine for authentication and access control. A file server that does not haveaccess to Grapevine (or whose administrator has chosen not to enable the Grapevine facilities)maintains its own local data base for these purposes.Since the IFS's behavior as seen by users is quite different in the two cases, we first describe the fp Gb=`(]6\1>Z JY)DW.T:QN<LI-C G=D tp.C@3@[>=S;:K85 209.9- *+'F#$a "LtC Sl' u( p` wE E oK 5 N >/]LHow to Use IFS7case in which the IFS is using Grapevine for authentication and access control; then we present theadditional facilities required to manipulate the IFS's local data base if Grapevine is not being used.This description assumes that you understand the organization of Grapevine names and groups andare familiar with the use of the Maintain program for managing them. For an introduction, readsection 3.7 and appendix B.2 of the Laurel Manual, filed as Laurel.press on most fileservers. Complete instructions for using the Maintain program are included in the MaintainReference Guide, file Maintain.press.3.1. User names and passwordsOrdinarily, you log into an IFS with the user name and password by which you are known toGrapevine. If you are a Laurel user, this is the same as the name and password you use withLaurel. If you change your Grapevine password using the Maintain program, IFS will recognizeyour new password automatically.It is always correct to use your full registered name (R-Name), which is in the formsimpleName.registryfor example, Jones.PA' or Smith.ES'. Additionally, each IFS has a defaultregistry which is the Grapevine registry of most of its local users; for example, the default registryfor the Ivy and Indigo file servers is PA'. Users whose R-Names are in the default registry neednot specify the registry name.You probably have your own directory on at least one local IFS, for storage of personal files. Thisdirectory's name is generally the same as the simpleName portion of your R-Name. Once you havelogged in, you are given control of the directory whose name either matches your full R-Name orcan be extended to match your full name by appending a period and the IFS's default registryname. For example, on an IFS whose default registry is PA, user Jones.PA gets control of thedirectory whose name is Jones', but user Jones.ES does not; however, on the same file server therecan also be a directory named Jones.ES' which user Jones.ES controls and Jones.PA does not.You probably don't have your own directory on any IFSs besides the ones belonging to your localorganization. However, you may still log in to any IFS that is using Grapevine for authentication;in such a situation, you won't have the right to store personal files on that IFS, but you may accessfiles in other directories if their file protections permit.You will probably find it convenient to install your full R-Name on your Alto disk (or in your PilotUser.cm, or whatever) instead of just your simpleName. This enables you to log into remote IFSswith the same user name you use locally.3.2. User groupsYour access to files and directories is permitted or denied on the basis of your membership in usergroups. Most authentic users are members of a special user group called World' (discussed in moredetail below). You are a member of another user group called Owner' with respect to files in yourown directory, and temporarily to files in any other directory to which you connect (using theConnect command in FTP or Chat).Additionally, you may be a member of one or more other user groups whose names and membersare registered with Grapevine. Such user groups generally correspond either to organizations or tospecific projects. A group's name is assigned by an administrator responsible for the registry; thename is an R-Name whose simpleName portion typically ends in ^', as in CSL^.PA orIFSAdministrators^.PA. A group's membership is controlled by the group's owners; ownership of agroup can be as restrictive or as open as the administrator deems appropriate.You are probably already familiar with Grapevine groups: many of them are used as distributionlists for Laurel messages. For example, the group CSL^.PA is a list of members of the PARCComputer Science Laboratory. If CSL^.PA is specified as a recipient of a message, then allmembers of the group receive a copy. Similarly, if an IFS file's protection specifies that the file is fp G bF `A% ]_ \1F Z$t p+ Y)Kt Wp StX QpP O%7 MS L{ I2E3 Ht ptp5 FG E [ C @'= ?-t p' = U <4( :V 9 C 7I 4*5 3 U 1?& 0< -3@$ ++t p& *+( &stX #p[t " pL =& S } Z L O   t p!0 /1 N  E < G :- L>/\sHow to Use IFS8readable by CSL^.PA, then all members of the group are permitted to read that file. The samegroup may be used for both purposes.There is a fixed set of groups that may be used in specifying IFS file protections; this set isdetermined on a system-wide basis by the IFS's administrator, and there are at most 62 such groups.All the acceptable group names are displayed by the Show System-Parameters command, and arealso displayed as alternatives if you type ?' when IFS is expecting you to type a group name.You may examine groups used for IFS access control just the same as groups used as distributionlists, namely by running the Maintain program in Laurel. Similarly, you may request to be added toa group by contacting the group's owner; one way to do this is to send a message to Owners-x',where x is the full name of the group (e.g., Owners-CSL^.PA').There is not actually a Grapevine group called World'. Rather, World' is a shorthand name for aspecial group; for most IFSs in the United States, this group is USRegistries^.internet, whichincludes all registered Xerox employees in the U.S. and Canada. Foreign individuals are excluded fromWorld' in order to satisfy U.S. technology export regulations; foreign access to U.S. information is expected to beconducted through more formal and controlled channels. The definition of World' is controlled on a system-wide basisby the IFS's administrator; it is displayed by the Show System-Parameters command.3.3. File protectionsA file protection specifies, for each individual file, what types of access are permitted to whichgroups. There are three types of file access: read, write, and append. If you have read access to afile, you are permitted to read (i.e., retrieve) its contents. Similarly, write access permits you tooverwrite, delete, or rename the file, and append access permits you to append to an existing file,even if you don't have write access. Append access is not presently implemented.The standard default file protection permits read, write, and append access to the Owner and readaccess to the World (i.e., to members of the IFS's World' group, described above). Hence if the fileis in your own directory or the directory to which you are connected, you may do anything to it;otherwise you may only read it (assuming you are a member of the World' group). But, for example, if thefile protection also permits write access by group CSL^.PA, and you are a member of groupCSL^.PA, then you may overwrite (or delete or rename) the file, even if it is not in your directoryor the directory to which you are connected. Note that the read, write, and append access types areindependent. It is therefore possible, though perhaps not particularly useful, for a file protection to permit writing butprohibit reading by some user group.In addition to the protection associated with each file, there are some protections associated with adirectory as a whole. The first is the default file protection for files in that directory. When a file iscreated, its protection is assigned in one of two ways. If there is an existing version of the same file,then the new file inherits its protection. More precisely, when version n of a file is created, it inherits theprotection of the highest-numbered existing version less than n, if there is one. Otherwise, the protection assignedis the default file protection of the directory in which the file is being created.There are two additional types of access to the directory: create and connect. If you have createaccess to a directory, then you are permitted to create new files in that directory. If you haveconnect access to a directory, you are permitted to connect to that directory without giving itspassword. (Once connected to a directory, you have the same privileges as that directory's owner.)As with file protections, these types of access are granted or denied individually to Owner, World,and each user group. The standard directory protection permits create and connect access only tothe owner.Each files-only directory has an owner. The owner of a files-only directory is permitted to connectto that directory without giving a password, regardless of the connect protection of the directory.This feature avoids the need to define one-member user groups in order to grant owner access to files-only directoriesmanaged by a single person. fp G b@ `$ ]#< \1A" Z/, Y)X VD*5 TK S<Stp Qtp8 N.4 MO^ KAr Jjq I-!U GR DZtX Aupt pQ ?tptptp >mL <N ;e&r+ 8p,5 6a 5xP 3 r1p 2pC 0c /h-r6 . n ,$ *p8- ((tp ' ^ %|,rvr #3 vrp$ "sS  .tptp  B >" 7, ~U ?" v !tp3  :) r6@ o2 L?/XHow to Use IFS93.4. Commands dealing with protectionsThe Chat Executive contains several commands by means of which you may manipulate protectionsof files and directories.@ Change Protection (of files) file-designators@@ sub-commandsChanges the protection of all files matching file-designators, which is a list of up to10 file names (separated by spaces), any of which may contain *'s to denotemultiple files. You specify the changes to be made by means of one or more of thefollowing sub-commands (which are a subset of the sub-commands of the ChangeAttributes command):@@ Read (access permitted to) groups@@ Write (access permitted to) groups@@ Append (access permitted to) groupswhere groups is a list of up to 10 instances of Owner', World', or group names(separated by spaces) to which the specific access type is to be granted. None' maybe used in place of groups to specify that access is to be denied to all groups. Youmay precede a sub-command by the word No' to specify individual groups towhich access is to be denied. The changes take effect when you type RETURNimmediately after the @@' prompt.Normally, the changes that you specify by means of these sub-commands areincremental. That is, the only access/group combinations that are changed are theones you mention explicitly, while all the remaining ones are unchanged. However,there is an additional sub-command,@@ Reset (all existing access)that denies all types of access to all groups. In this case, the entire file protection ischanged to permit only those access/group combinations that you enable explicitly.You may change the protection of any file to which you presently have write access, and of any filein your own directory or one to which you are connected regardless of its protection. That is, youcan change the protection of any file of your own even if its present protection does not permit read,write, or append access by you.@ List ...The Protection sub-command to the List command (described previously) displays afile's protection thus:R: groups; W: groups; A: groupsFor example:R: Owner World; W: CSL^.PA Owner; A: None@ Change Directory-Parameters (of directory) directory-name@@ sub-commandsChanges the information associated with the directory as a whole in the mannerspecified by the sub-commands. The directory must be either your own or one towhich you are connected.You may change the default file protection by means of the Read, Write, andAppend sub-commands in the same manner as in the Change Protection command.Additionally, you may change the create and connect access using the sub- fp G btX& _9p] ]ZtYLpt Vgp-tpT ?S_KQ tp7PWMrtKptJjptGptp 7FQD}tp*Btp%Au3r?p"= /;t p <:&,8#52<12F .qrS-3c+F*'p %3# tptptp )-t vptptp", tptp(  D 7 D ( U>/]>How to Use IFS10commands:@@ Create (access permitted to) groups@@ Connect (access permitted to) groupsThe No' prefix may be applied to these as well as to the others.The Reset sub-command requires an additional keyword to specify what it is thatyou wish to reset:@@ Reset Default-File-Protection@@ Reset Create-Protection@@ Reset Connect-ProtectionYou may change your default printing server by means of the sub-command:@@ Printing-Server host-nameThe changes are not actually made until you type the confirming RETURN inresponse to the @@' prompt.@ Show Directory-Parameters (of directory) directory-nameDisplays all information about directory-name, and additionally prints some otherparameters, such as the disk limit and the owner of a files-only directory, that maybe changed only by an IFS administrator. This command also displays some informationabout user group membership; this reflects information that IFS has determined by queryingGrapevine, and is not necessarily accurate or up-to-date.3.5. Non-Grapevine users and groupsIn an IFS that does not use Grapevine for authentication and access control, the IFS must maintainlocal information about user names, passwords, and group memberships. Additionally, even in anIFS that does use Grapevine, there may be some non-Grapevine user names and groups. (Inparticular, the names and passwords of files-only directories are typically not registered withGrapevine but are maintained solely by the IFS.) The commands described in this section are usedto manipulate the local authentication and access control data base.Note that IFS uses the same data structures to keep temporary copies of Grapevine information as ituses to keep permanent local information. That is, the commands described below can be used tomanipulate Grapevine as well as non-Grapevine user names and group memberships. However,using these commands to examine Grapevine R-Names will in general yield information that isincomplete or out-of-date; and attempts to make changes to the local data base will not havepermanent effects. You must use Maintain to get correct information or make permanent changesinvolving Grapevine R-Names.The password of a non-Grapevine directory may be changed by the following command:@ Change Password (of directory) directory-name (old password) password (new password)passwordChanges the password of the specified directory, which must be either your own orthe one to which you are presently connected. (Contrary to normal practice, thenew password is displayed as you type it; this is so that if you make a typingmistake you will be able to see it.)An IFS administrator can assign you to be the owner of one or more non-Grapevine user groups. Ifyou are the owner of a group, you are permitted to change and examine the membership of thatgroup, using the following commands: fp G?b_9t]p!tZpAW4VgSQPzM; JtGp@rpFHCc+t @~pt p>K=vr-<!9:9 7BtX# 4^pL 2E 1U K /&9 .M*7 ,D )` (`C &= %X1* #> "PG  Rt ptp[tvp%,Pn.$ tp. E $  >/\U-How to Use IFS11@ Change Group-Membership (of group) group@@ sub-commandsThe sub-commands are one or more of the following:@@ Add user-name@@ Remove user-nameThese cause the specified users to be added to or removed from the group. Thesub-commands take effect immediately. You exit sub-command mode by typingRETURN immediately after the @@' sub-command prompt.@ Show Group-Membership (of group) groupDisplays the list of users who are members of the specified group. This commandtakes a long time to execute, because it has to read the directory parameters ofevery user in the system.In addition to having names, groups have numbers in the range 0 to 61. The association betweengroup numbers and names is displayed by the Show System-Parameters command. A group can beused for protection purposes even if it doesn't have a name; all commands that accept group namesalso accept group numbers.4. Other servers4.1. Mail serverIFS optionally makes available a mail server compatible with the Laurel message system interfaceand the Grapevine transport mechanism. Most registries are now served by Grapevine servers.However, there are a few registries that still use an IFS as its sole mail server; also, an IFS can serveas an adjunct to a Grapevine registry by keeping some of its mailboxes.It is largely invisible to a Laurel user whether one's mailbox is kept by Grapevine or by an IFS.4.2. CopyDisk serverIFS contains a CopyDisk server compatible with the CopyDisk program available from the NetExec.When CopyDisk prompts you for a disk name, you can specify a disk' on IFS by typing, forexample: [Ivy]NonProg.bfs'.We expect that this server will be primarily used to distribute copies of the basic Alto disks,eliminating the need for physical disk packs which often get mislaid. No doubt other applicationswill evolve with time. By convention, files in CopyDisk format have extension .bfs', which standsfor Basic File System.CopyDisk files can be quite large. A single Diablo 31 disk takes 1275 IFS pagesmore than atypical user's entire disk allocation. CopyDisk does not copy free pages, so that number is the worstcase for a completely full disk; none the less, it is easy to generate gigantic files that use up yourdisk allocation.4.3. Leaf serverIFS optionally makes available a server for the Leaf' page-level access protocol, which permitsrandom access to parts of IFS files as opposed to the transfer of entire files. There are several userprograms that take advantage of this capability, though these programs are still experimental and notwidely available. fp G?b%t`pt ]p2ZtYLp tVgp>T*S_rp/Pz#tMp6LB J G T F$T DY C >u :tX 7pB 6o&6 4J 3gG 0\ ,tX )pR (`D &( # Q "sI D k A 06 ~%A  BtX ]pB H UP  " ?/[How to Use IFS12Not all IFSs run Leaf servers. An IFS that is running Leaf identifies itself by an L' suffix on theIFS version number in the herald displayed at connection timefor example, 1.36L'.5. File backupReliability of file storage is accomplished by two facilities. First, we have a Scavenger capable ofreconstructing the IFS directory from redundant information kept in the file system. We expect tobe able to recover from most file system crashes in this manner, with no loss of user files.Second, we have an automatic backup system that periodically copies files to a backup disk pack.The backup system runs between 2:00 and 5:00 a.m. every day (users accessing IFS during that timemay notice some significant degradation in performance). During each backup run, all files notpreviously backed up or last backed up more than 30 days ago are copied.This backup system serves two purposes. First, if the file system fails catastrophically in a way thatthe Scavenger can't recover from, we will be able to reconstruct the file system from backup, with atmost one day's files lost. Second, files accidentally deleted or overwritten by users will usually berecoverable if the loss is noticed within 30 days. (The recovery procedure is not particularlyconvenient, so please don't depend on it as a regular service.)6. Present limitations and future plansIFS now provides facilities sufficient to make it a useful service. It is unlikely that any furthermajor development will be undertaken (recent history notwithstanding). IFS has already farexceeded its intended interim' specifications, and will ultimately be replaced by better facilities.A major problem is that of performance of the file system. An IFS is nothing more than an Altowith some large disks connected to it. There is insufficient capacity (particularly main memory) inthe IFS Alto to support more than a small number of simultaneous users.We are presently imposing a relatively small limit (somewhere between 4 and 10) on the number ofconcurrent connectionsFTP, Mail, CopyDisk, and Chat users combined. When this limit isreached, the system will refuse to accept additional service requests. To prevent idle users fromtying up these precious slots, the IFS will break connections after a relatively brief period ofinactivity.We would be pleased to receive reasonable suggestions for changes or improvements in the set offacilities provided by IFS. However, please be conscious of the limited manpower available forimplementing such improvements.AcknowledgmentsImplementation of IFS would have been impossible without the assistance and cooperation ofseveral individuals who have contributed considerable effort in support of this project. PeterDeutsch provided the Overlay, VMem, and ISF packages and implemented a number ofimprovements needed by IFS. Ed McCreight made available his B-Tree package, which is used formaintaining user directories, and likewise contributed IFS-related improvements. Bob Sproull andRoger Bates sank considerable energy into the Trident disk hardware, microcode, and software tomake it work reliably. Steve Butterfield initially implemented the Mail and Leaf facilities and madesome important internal improvements. Ted Wobber contributed improvements to the Pressprinting facility and presently maintains the Leaf server. fp G? b+: `S \u Y)pb W/3 V!8$ S<` QK P4Q NH Kb JG)< H)= G?8' E? A.u' >Jp&> <W ;AY 8]M 6=' 5UG 2pO 0E /h V -I ,_ ){_ '<# &s !u p? }_ #4$ uZ ] m5* N eQ :  ?/Uq& TIMESROMAN  TIMESROMAN  TIMESROMANLOGO TIMESROMAN  TIMESROMAN  TIMESROMAN  i&- 7 rBJRZ cj/f dHowToUse.bravoTaft.PAApril 24, 1982 4:53 PM