[ih] A further aside on FTP
day at std.com
Sat Aug 3 06:57:10 PDT 2002
A side conversation on the file access idea reminded me of an
interesting result that came out of it. I had been discussing the
idea with various people. Remember the big issue with all of the
upper layer protocols was finding the right canonical model for them.
The Virtual Terminal for Telnet, the Virtual File System for FTP,
etc. The canonical model was definitely not the least common
denominator. The big idea was that we avoided nxn transformations of
the data by everyone mapping to the canonical form.
In any case, Ken Pogran suggested that a byte pointer into the file
as in Multics would be an easy way to access a file in a canonical
form. It seemed elegant and general and would avoid having to
process the whole file to be able to read specific parts of it.
So I wrote the protocol as an RFC and Ken implemented it on Multics.
(It was latter used as part of a cross network debugger, I
understand.) However, we learned that the byte pointer was not quite
as easy as we had thought because Tenex's and the FTP virtual file
system marked end of record with CRLF and Multics used NL. So our
byte pointer was not as straightforward calculation as we had thought.
That and some other incidents with Telnet made me realize that most
of the data transformations we did were not isomorphic. Hence, the
transformations required would have to leave the semantics relative
to the application invariant. This sent me back to re-reading Frege
as the only mathematician I had ever come across that treated the
subject. That was when I realized that the canonical form was the
definition of those invariant semantics.
More information about the Internet-history