Page Numbers: Yes X: 527 Y: 10.5" First Page: 11
Margins: Top: 1.3" Bottom: 1" Binding: -8
Odd Heading:
Even Heading:
6. File servers
Many uses of the Alto require you to communicate with a shared file server, which can store files belonging to a number of different users. A file server’s disk typically has hundreds of times the capacity of your own Alto disk. Moving non-current files to a file server is a way to free up space on your own disk for other things, and a file server is a good place to put documents you want other people to be able to get at.
Each organization typically has at least one file server of its own. To make any use of your organization’s file server, you must first obtain an account and password; to do this, consult your local support staff. Your account name will usually be your own last name, and your password should be six or more characters long and unpronounceable.
There are presently two types of file server, IFS and Maxc. An IFS (which stands for Interim File System, as improved facilities are under development) is an Alto with some large disks attached to it and dedicated to the one task of being a file server. Many IFSs exist at present. Maxc is a large, general-purpose time-sharing system, only one of whose purposes is to be a file server. There are only two Maxc systems (called Maxc1 and Maxc2), both of which belong to Parc.
If you are at Parc, you should obtain accounts both on Ivy (the name of Parc’s IFS) and on Maxc. If you are outside Parc, you will need an account on your organization’s own IFS, and you will have to find out its name. At present, many users outside Parc are also assigned accounts on Maxc because the Laurel message system uses Maxc as a central post-office, and you have to have a Maxc account in order to keep a mailbox there. This state of affairs is likely to change in the near future.
While IFS and Maxc are fundamentally different sorts of machines, in their capacities as file servers they are substantially the same. We shall first describe the facilities common to the two types of systems. Later sections will deal with additional facilities unique to one or the other.
6.1 Logging in
Before trying to access a file server from your Alto, you should first tell the Alto your account name and password. If you have given your account name to Install as the owner name for your disk, however, the Alto already knows it, and if you used your file server password as your disk password, it knows that too and you can skip to section 6.2. Otherwise, you can give the necessary information by typing to the Executive:
You will now be asked for your name and password. Type in each one in turn, ending each with a CR or space. Note that it assumes your file server account name is the same as your disk owner name; if this is the case, you can just type CR to confirm it, and go on to give your password. If it isn’t, type DEL, and then give the account name you want to use. Once you have done this Login, your Alto will automatically identify you to file servers whenever necessary. If you boot your Alto, it will forget this information, and you must Login again.
Note that Login only records your name and password; it does not connect you to a file server. If you don’t do a Login, programs that access file servers will automatically ask you for the Login information when they first run, and will record it just as Login does.
If you wish, you can supply a password for your disk when you Install (see section 2). If you do this, you will have to type the password whenever you boot the Alto, but it will be used automatically as your file server password, unless you override it with a Login command. The password is stored on your disk in encrypted form, so it cannot be stolen by someone who paws around on your Alto disk.
6.2 About files on IFS and Maxc
IFS and Maxc file names look very much like Alto file names, but they have two more parts: a directory and a version number. On IFS, the format is
whereas on Maxc the format is
Each user who has an account on a file server has his own directory, named by his user name. If you name a file without specifying the directory, you will refer to your own directory. You can reference files in some other directory simply by prefixing the directory name to the file name, as illustrated.
When you put a file onto a file server, if there is already a file with the same name, the new file is added, with a version number one bigger than the old one. When you reference a file, you get the one with the largest version number if you don’t specify which one. As you can see, it is almost never necessary for you to specify a version number explicitly.
There is a protection system, not described here, which allows you to control which other users can read or write your files. The usual setting of the protection, and the one you will get automatically if you don’t say anything special, allows all Xerox users to read the file, but prevents anyone except the owner from writing it.
On IFS, but not on Maxc, files within a directory may be organized into sub-directories. For example, the file named
belongs in directory Jones, sub-directory Memos. You can have as many sub-directories as you wish within your own directory. You can even have sub-directories within sub-directories, to as many levels as you wish, subject to an overall limit of 99 characters in each file name.
Most commands that accept a remote file name also permit you to type a file name pattern, much as does the Alto Executive (section 4.2). In this case, the command is repeated for all files that match the pattern. If the file server is an IFS, the magic character "*" (but not "#") may appear anywhere in the name, just as on the Alto; if the file server is Maxc, however, "*" must appear in place of an entire field of the file name (directory, main name, extension, or version), and other uses of "*" are not permitted. Thus, "*.memo" and "<Jones>*.*" are legal file name patterns on both Maxc and IFS, but "*.BWL*" is legal only on IFS. Note that to refer to all versions of each file you must specify "*" for the version field explicitly (that is, "!*" on IFS and ";*" on Maxc); otherwise, the pattern will match only one version (usually the highest-numbered).
6.3 Transferring files
You can transfer files between your Alto and a file server using FTP, the File Transfer Program. This program has a fairly elaborate set of features, which are described fully in the FTP Reference Manual found near the end of the Alto User’s Handbook. This section tells you enough about FTP to take care of most ordinary needs. After you have become familiar with this material, you might skim over the FTP manual once, just so that you are aware of the other facilities that are available.
After starting FTP, you will see three windows on the screen; from top to bottom, they are the server window, the user window, and the Chat window. Most interactions with FTP involve only the middle windownote the blinking vertical bar there, which shows where you can type. The first step is to type the name of the machine you want to talk to. For example, if your file server is named Ivy, you should just type
In a second or two you should get back a response like
Ivy (Parc) file server 1.16 9-Apr-78
If the file server is not operating, there will be delay of about a minute before FTP gives up trying to contact it; you can give up sooner by striking the blank key to the right of CR.
Now you can retrieve a file from the file server, or store a file into it. To retrieve, you type
*Ret rieve remote file Example as local file Example [New file] CR
As in the Executive, you can just type enough of the command to identify it uniquely, and then a space; unlike the Executive, FTP supplies the rest of the command name automatically. You then type the remote file name, followed by a space. If the file server has a file by that name on your directory, FTP will then suggest a local name for the file followed by "[Old file]" or "[New file]", depending on whether or not the file already exists on your Alto disk. If you like the name, you can just type CR. Otherwise, you can type some other name, as in the following example:
*Ret rieve remote file Example as local file Dummy [New file] CR
Note that the name originally suggested by FTP will disappear as soon as you start to type the new one. If you decide you don’t want to retrieve the file after all, strike DEL to cancel the command.
After you type the terminating CR, FTP will transfer a copy of the file from the file server to your Alto disk. During the transfer, the cursor will flip its two black squares back and forth every time it transfers a block of the file, so you can tell how fast it is progressing from the frequency of flips. When FTP is done, it will tell you how long the file is, followed by "Done" and the "*" prompt. If you gave a file name pattern for the remote file, FTP will repeat the above procedure for each file that matches the pattern. You may strike DEL to skip over any files that you don’t want to retrieve.
To store a file presently on your Alto disk onto the remote machine, you type
*St ore local file Example as remote file ExampleCR
or*St ore local file Example as remote file DummyCR
again depending on whether or not you want to use a different name. In this case, the message "[Old file]" or "[New file]" will not appear; remember, however, that storing a file on a file server ordinarily creates a new version rather than overwriting an existing file with the same name. The Store command does not accept file name patterns.
If you were not logged in at the time you started FTP, you will be asked for your user name and password when you do the first Retrieve or Store. FTP will save this information so that you won’t have to provide it again until the next time you boot the Alto.
You can do as many Retrieve and Store commands as you want. When you are done, type
*Q uit
and you will be back talking to the Executive.
If you intend to do a lot of transfers to or from a directory other than your own, you can say
*Dir ectory OtherDirCR
to make <OtherDir> be the default directory for remote file names; this saves typing <OtherDir> in front of each name. Similarly, if you want to refer repeatedly to a sub-directory on an IFS file server, you can say, for example,
*Dir ectory Jones>MemosCR
Directory protections are ordinarily such that you cannot store into directories other than your own. However, if you know the password of some directory, you can connect to it by saying
*Con nect to directory OtherDir Password xxxxxCR
which not only directs FTP’s attention to that directory (just as does the Directory command) but also gives you complete access to it, as if you were its owner. The password is not displayed when you type it, of course. File servers generally have many so-called files-only directories that don’t belong to any particular person but rather are for use by a group or project. The Connect command is the way you gain access to such a directory, particularly when you want to store files into it.
6.4 Listing and deleting files
You can get a list of the remote files that match a file name pattern with the List command; for example,
*List *.bravoCR
or*List <Jones>Memos>*CR
It is quite slow, however, and there is no way to interrupt it except to SHIFT-SWAT out of FTP. You are better advised to obtain such information using the Chat program, to be described shortly.
To delete a remote file, type, for example,
*Del ete ExampleCR
After displaying the full name of the file, FTP will ask you to confirm or cancel your intentions. If there are multiple versions of the same file, the lowest-numbered version will be deleted.
6.5 Transferring files to and from another Alto
In addition to accessing a file server, FTP can communicate with any other Alto that is also running FTP. By this means, you can transfer files directly from one Alto disk to another.
To do this, boot the disk and start up FTP on the second Alto. Suppose its name is Banjo. If you don’t know what its name is, you can use its network address, which FTP shows at the very top of the screen (e.g., "3#326#"). Now go to the first Alto, start up FTP, and tell it to connect to the second Alto simply by typing its name (much as you would type the name of a file server); for example,
Now you may retrieve and store files as usual. Of course, in this case remote file names will not contain directories or versions (unless version numbering is enabled on the other Alto). Also, file name patterns will not be accepted in any context.
When you start FTP on an Alto, it is normally ready to act as a remote machine or server as just discussed. If you don’t say anything special, it will allow any other machine to retrieve files, and to store new files, but not to overwrite existing files. You can change these defaults by starting FTP with
where x can be: S (no server) to prevent any such transfers; Protected to allow retrieving only, but no writing; Overwrite to allow existing files to be overwritten. Any server activity is reported in the server window at the top of the screen.
6.6 Access via Chat
The File Transfer Protocol (the means by which FTP communicates with a file server) limits itself to the basic set of operations already described. There is an escape mechanism that lets you get at some important additional file server facilities directly, using a program called Chat. Chat uses the Alto display to simulate a traditional, "dumb" computer terminal, and thereby enables you to talk directly to Executive programs running in the file server machines themselves.
Maxc, being a general-purpose time-sharing system, has a large array of commands and programs; only the ones directly concerned with Maxc’s role as a file server are described here (a few additional facilities are presented in section 6.8). The IFS Executive’s command repertoire is limited to operations on files. Most of the commands described here are the same on IFS and Maxc; however, there are a few differences which you should note carefully if you use both systems.
To initiate a conversation with the Executive in a file server named, say, Ivy, just type
>Chat IvyCR
If all goes well, you will see the message "Connected to:" followed by some numbers at the top of the screen, a message from the server’s Executive immediately below that, and "@" at the left margin prompting you for type-in. If Chat has trouble getting connected, it will tell you its problem after trying for a few seconds. This usually means that the server is broken; you might try again in a few minutes.
The next step involves logging into the server Executive. Chat may do this for you automatically, depending on the version of Chat you are using and the file server you are accessing. In this case, if you have forgotten to Login to your Alto, Chat will first ask you for your account name and password. Otherwise, you must type
@Login (user) name (password) passwordCR
When the server types more than a screenful at you, it will pause after every screenful and "ring the bell", which causes Chat to display a large DING at the top of the screen. After you have had a chance to read the screen, striking any key on the keyboard will get the server to produce the next screenful. If you type ahead, this feature is suppressed.
Whatever the server Executive is doing, you can force it to stop by typing Cc. On Maxc, you may have to type Cc several times in quick succession to get it to stop.
When you are finished talking to the server Executive, type
(or "Quit" if the server is an IFS). This will terminate your Chat session and return control to your own Alto’s Executive. If you are connected to Maxc, Chat won’t terminate until about two minutes after you log out; to give control back to the Alto Executive immediately, type SHIFT-SWAT.
If the file server is an IFS, you will be logged out automatically if you don’t type anything for two minutes. This is because IFS can service only a small number of users (currently five) at once; the automatic logout is intended to prevent IFS from being tied up by users who aren’t doing anything useful.
Chat keeps a record of your conversation on a file called Chat.scratchScript. You can read it with Bravo after a Chat session, just to see what happened, or perhaps to copy things out of it into other files, print it, or whatever. There are two funny things about this file which you need to know about:
The file is not erased when you start a new conversation. Instead, the typescript of the new conversation starts at the beginning of the file and continues for as long as the conversation lasted. The end of the conversation is marked by the characters <=> after which you may see the remnants of previous conversations.
The typescript file is only 20,000 characters long. If your conversation is longer than that, the typescript will wrap around to the beginning. It is possible to make the file larger by editing the [CHAT] section of the user profile (the file in the obvious way.
You can also initiate a Chat-like conversation with a file server while you are running FTP. At the bottom of FTP’s screen is a "Chat window" (actually labelled "User Telnet"), in which you can talk directly with a file server’s Executive in much the same manner as you do with Chat. You can move the blinking cursor down into the Chat window by striking the unmarked key to the right of right-SHIFT; to get back to the middle window, strike the unmarked key to the right of RETURN. In the Chat window, after typing the server name followed by CR, you can log in and do whatever you want. This window isn’t very large and doesn’t offer all the conveniences of Chat itself, but at times it is nice to be able to switch very quickly between transferring files and giving commands to the server Executive. You can make the Chat window larger when you start up FTP by typing FTP/S, which prevents the FTP server from being started and thereby eliminates the upper (server) window.
6.7 Server Executive commands
You type commands to IFS and to Maxc in more-or-less the same way (except for those commands that have different names on the two systems); however, the responses from IFS and Maxc are usually somewhat different. The examples below illustrate IFS’s responses. You may type "?" at any point to obtain a brief explanation of what you are expected to type in next. Maxc normally does not display the remainder of abbreviated commands or the explanatory text in parentheses; however, you can force it to do so by terminating fields you type in with ESC rather than space.
To generate a list of the names of all your files, type
on IFS: @ListCRon Maxc: @DirCR
To list only those files matching some file name pattern, say, "Activity.*", type
on IFS: @List (files) Activity.*CRon Maxc: @Dir Activity.*CR
To list another user’s directory, type
on IFS: @List (files) <OtherUser>*CRon Maxc: @Dir <OtherUser>*.*CR
Caution: note carefully that the command names are different on IFS and Maxc. Worse, there is also a List command on Maxc, but with an entirely different meaning (it causes hardcopy to be generated). Be careful!
You can obtain more detailed information about your files (length, date written, etc.,) by typing a comma immediately before the CR; for example,
on IFS: @List (files) Activity.*,CRon Maxc: @Dir Activity.*,CR
At this point, the server Executive will type "@@" at the left margin and permit you to type in one or more sub-commands that modify the action of the main command; in the case of List and Dir, subcommands are used to specify what information you wish to see about the files. Some of these are:
@@TypeCRfile type and byte size
@@SizeCRsize in pages
@@LengthCRlength in bytes
@@CreationCRdate of file creation
@@WriteCRdate on which the file was last written
@@ReadCRdate on which the file was last read
@@TimesCRtimes as well as dates
@@AuthorCRname of user who created the file
@@VerboseCRsame as Type Size Write Read Author
@@EverythingCReverything known about the file
After you have typed in one or more sub-commands, type just CR in response to the "@@" prompt. The server will now perform the main command and list out the files with the information you requested. The columns of printout will be aligned correctly only if the font Chat is using is a fixed-width font, such as Gacha12 or Gacha10.
You can delete one or several files (or all files matching some file name pattern), just as on the Alto, with
@Delete file1 file2 ... CR
On IFS, the server Executive will now print out each file name and ask you to confirm your intention to delete it (type Yes or No); this is because once a file is deleted it is gone forever. On Maxc, all the files are deleted immediately without further confirmation; however, there is an Undelete command that you can use immediately afterward if you change your mind.
To delete all old versions of files (i.e., all but the highest-numbered version of each file), type
on IFS:@Delete *,CR(note the comma)
@@Keep 1CR
on Maxc:@DelverCR
Delete oldest? YesCR
Delete 2nd newest? YesCR
File(s): CR
It is a good idea to do this fairly frequently, since old versions of files can pile up and waste a lot of space.
To find out how much space you are using on the file server, type
One IFS or Maxc page is equivalent to about four Alto pages. You will notice that you also have a disk limit which is the maximum number of pages you are permitted to use on the file server at one time. If you exceed your disk limit, the server won’t let you store any more files until you first delete some existing ones to get you below your disk limit. To get your limit changed, consult your local support staff.
You can direct your attention to some other directory by typing
@Connect (to directory) OtherDir (password) passwordCR
just as in FTP. You may omit the password when connecting back to your own directory, or when connecting to a directory belonging to a project of which you are a member.
For the sake of security, it is a good idea to change your password occasionally (say, once a year). To do this, type
@Change Password (of directory) name (old password) xxx (new password) yyyCR
where name is your account name. The new password should be six or more characters long and unpronounceable (this is not enforced, however). Note that, contrary to normal practice, the new password does print out when you type it; this is so that if you make a typing mistake you will be able to see it.
6.8 About Maxc
Maxc’s Executive is thoroughly documented in its own manual, which was written primarily for programmers and contains a large amount of information not needed by casual users of Maxc. The next few paragraphs document Maxc facilities likely to be of interest to Alto non-programmers. If you don’t use Maxc you may skip this section.
If you have a file on Maxc in Press format (see section 7.1 for an explanation of file formats), you can tell Maxc to print it directly by issuing the "Press" command. This is documented in section 7.5.
Maxc provides facilities for archiving files onto magnetic tape, where the cost of storing them is negligible. You can get an archived file back within one day.
To archive one or several files, type
@Archive File file1 file2 ...CR
(Note that the command name consists of the two words "Archive File"; after that you should type the names of the files you want to archive.) The files will be archived onto tape within a day or two. After this has been done, they will be deleted from the disk automatically, and you will get a message notifying you that the archiving has been done.
Maxc keeps track of your archived files in an archive directory which you can list exactly like your regular Maxc directory, using the Interrogate command rather than the Directory command; for example,
@Interrogate *.bravoCR
If the listing is of just one file, Maxc will ask you whether or not you want it retrieved from the tape. If you say Yes, the file will appear on your Maxc directory within a day, and you will get a message to that effect. It should be noted that the Interrogate command has some peculiarities not shared by other commands; in particular, you sometimes have to type an extra CR at the end of the command in order to get it to do anything.
Because Maxc’s disk capacity is fairly small relative to the number of users who have Maxc accounts, the disk occasionally becomes full and it becomes necessary for a forced archive to be performed in order to make some space available. In a forced archive, all files that haven’t been referenced (retrieved, printed, or whatever) in the past 90 days are written onto tape and deleted. You will be notified when any of your files are archived for this reason, and the procedure for getting them back is the same as given above.