by Darius Kazemi, December 26 2019
Finally, an RJE protocol
RFC-360 is titled “Proposed Remote Job Entry Protocol”. It's authored by Chuck Holland of UCSD and dated June 24, 1972.
The technical content
Remote Job Entry has been a resource on the ARPANET at least since RFC-88 was published in January 1971. But there has been no attempted at an official protocol to this point. All people had to work from were reference implementations and some prose description of how the system worked.
At the Data and File Transfer Workshop at MIT in April 1972, it was decided that RJE needed a published protocol. This RFC is the result.
Recall that RJE is a way to run arbitrary computing jobs on a remote Host computer. It is not that dissimilar in utility from cloud computing services offered by Amazon and others today. RJE supports both human users and nonhuman agents (which the spec refers to as “user processes”). This means they have both an interactive mode for human users, and what we would call an API today for computer agents.
The most interesting thing about this specification is that it makes use of many pre-existing protocols. Like most other protocol to dates, it uses the Initial Connection Protocol to start things up, but it also uses Telnet for all of its control mechanism, and it uses FTP to send and receive files.
Otherwise, the functionality of the specification is standard RJE as we've known it to date. But now it's all written down.
In my post about RFC-354 I noted that it was the first time I'd ever seen error codes in the same numerical orgnization scheme as we use for HTTP today: 1xx is informational, 2xx is success, 4xx is unsuccessful, 5xx is illegal. But the RFC said it was based off of the RJE status codes.
There is some date confusion here: RFCs are not necessarily published in chronological order. So RFC-354 was published (or at least dated!) two weeks after RFC-360. So this document (and the workshop that produced it) may in fact be the ultimate origin of today's HTTP status codes.
How to follow this blog
I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.