I’m making a little progress with early Datakit & Unix.
It would seem that there were various experimental protocols before URP was arrived upon.
The first protocol appears to have been designed by Chesson in 1979. One Fraser paper
says: ""The first Datakit protocols used a packet structure that was aligned
with cell boundaries. Chesson designed a file transfer protocol that transported data in
variable length packets, each ending with a trailer.” I think this protocol is being
described in his paper "Datakit Software Architecture” (vol. 2, pp. 20.2.1-20.2.5
Proceedings of the IEEE Int. Conf. on Communications, June 1979, Boston) - which
unfortunately does not seem to be available in the IEEE online library. Maybe it will
surface some day.
Next there was a protocol tied to a Datakit terminal interface board that used an 8-slot
packet sequence/acknowledge mechanism that carried over into URP. Not much appears to have
been published about this.
The most interesting experiment seems to have been a project by Luderer, Che and Marshall
to build a Datakit-based distributed Unix in 1980/81. Marshall is credited by Fraser as
one of the inventors of the URP protocol. The papers are “A virtual switch as the basis
for distributed systems” and “A distributed unix system based on a virtual circuit switch”
(available online from the ACM library).
The first has a good overview description of how early Datakit worked (including interface
hardware) and describes the Network Kernel or “NK protocol”. It would seem that URP
combines the flow & retransmission control from the terminal interface board with the
concept of a single simple receiver algorithm from NK. Unfortunately the paper does not
describe the design of the NK transmitter algorithm(s). It confirms that everything ran on
V7, but it remains unclear how the Datakit channels were exposed to the user (I currently
assume as a cluster of character devices, with the major number identifying the switch
connection and the minor number identifying the channel - similar to what later would be
used in V8).
The second has a description of a modified Unix system, where clients (“S-Unix”) talk to
file servers (“F-Unix”), with the file servers mounted into the local file tree of the
client. This appears to predate the work of Weinberger for the V8 network file system and
its implementation appears different.
Questions:
- Are Luderer, Che and Marshall still around? (especially Bill Marshall might still recall
some more details of the genesis of the URP protocol)
- Any recollections about S/F-Unix and how it did or did not influence V8-V10/Plan9?