Archive servers appeared in the mid 1980s. Initially, they were a logical extension of FTP servers. They provide indexed repositories of files for retrieval through a simple protocol called Prospero.
Archive servers had been in place manually for some time, simply as well maintained FTP servers. The first attempt at automating coordination was to use a simple protocol. This involved exchanging a recursive directory listing of all the files present on a given server with all other known servers, periodically. Thereafter, access to a given server for a file present on another could have two results: Either the client could be redirected to the right server, or the current server could fetch it, and then return it to the client.
These two approaches are called ``referral'' and ``chaining'' in some communities, or ``iteration'' and ``recursion'' in others. See below for further discussion of these ideas.
Archive servers are accessed using the Prospero protocol. Prospero is
a third generation remote object access protocol.
It runs on top of
an RDP which in turn is on top of UDP and IP.
The Prospero protocol is constructed out of commands in ASCII text (i.e. like FTP and SMTP it is a human readable protocol). Human readable protocols are very easy to debug, and are highly portable and extensible.
Prospero is not entirely unlike FTP, except that it is slimmer and more abstract:
Table 2.5: Prospero File System Commands
These then have responses, either the output from the command, or else Success, Forwarded, Error or Failure.