BITNET Relay, also known as the Inter Chat Relay Network, was a chat network setup over BITNET nodes. It predated Internet Relay Chat and other online chat systems. The program that made the network possible was called "Relay" and was developed by Jeff Kell of the University of Tennessee at Chattanooga in 1985 using the REXX programming language.
This system drew its name from "relay race" which shares a comparable behavior, where messages travel hop-by-hop along the network of Relay servers until they reached their destination. Messages sent within the United States would take a few seconds to reach their destinations, but communication times varied in other countries or internationally. If one or more network links were down, BITNET would store and forward the messages when the network links recovered, minutes or even hours later.
Before BITNET Relay was implemented, any form of communication over BITNET required identifying the remote user and host.
Relay ran on a special ID using several BITNET hosts. To use it, a message was sent to a user ID called RELAY. The Relay program running on that user ID would then provide multi-user chat functions, primarily in the form of "channels" (chat rooms). The message could contain either a command for Relay (preceded by the popular "/" slash character command prefix, still in use today), or a message at the remote host (typically a mainframe computer).
Computers connected to BITNET were generally located at universities and government agencies, due to limited access to computer network bandwidth. It was not uncommon for a university's entire network connection to run over a single leased telephone line or even a 4800 baud dial-up connection. Thus using scarce computing and network resources for "frivolous" purposes, such as chat, was often discouraged.
One of the reasons Relay gained acceptance was that its system of peer servers decreased the network bandwidth consumed by group chat, due to no longer having to send multiple copies of the same message individually to each server. Because of this efficiency and the limited bandwidth at the time, users were often not allowed to use or develop alternate chat systems. Experimental chats like Galaxy Network and VM/Shell were asked to shut down before they achieved noteworthy success.
Bitnet Relay gained popularity in the late 1980s when Valdis Kletnieks at Virginia Tech created a Pascal version that consumed far less CPU time, and again in the early 1990s when Smart Relay improved handling of message delivery.
Though Jeff Kell himself had made observations about the possible demise of BITNET Relay, only TCP/IP and the Internet brought about the end of BITNET and Relay. Jarkko Oikarinen, the creator of Internet Relay Chat, says that he was inspired by BITNET Relay
The following is an example of a session:
/SIGNUP robert harper * Thank you for signing up, robert harper. * Now use the /SIGNON <nickname> command to * establish a nickname and to logon Relay. /SIGN ON rob Welcome to the Inter Chat Relay Network, Rob. Your host is RELAY@FINHUTC (Finland). Your last logon was at 08:39:23 on 03/17/89. There are 67 users on 27 relays. /HELP **************** Relay Commands *************** /Bye . . . . . . . . . . . . Signoff from Relay /Channel <num> . . . . .Change to channel <num> /Contact <host-nick> . .Show Relay contact info /Getop . . . . . Try to summon a Relay operator /Help. . . . . . . . . . . . . Prints this list /Info. . . . . . . . . . . Send RELAY INFO file /Invite <nick> . . .Invite user to your channel /Links . . . . . . . . . . .Shows active relays /List. . . . . . . . . . . List active channels /Msg <nick> <text> . . . .Sends private message /Nick <newnick>. . . . . . Change your nickname /Names <channel> . . . . .Show users with names /Rates . . . . . . . . . .Display message rates /Servers <node>. . . . Show relays serving node /Signon <nick> <channel> . . . .Signon to Relay /Signon <nick>,SHIFT . . Forces uppercase shift /Signon <nick>,UNSHIFT . Forces lowercase shift /Signoff . . . . . . . . . . Signoff from Relay /Signup <full name>. Signup or change full name /Stats . . . . . . . . Display Relay statistics /Summon <userid>@<node>. . Invite user to Relay /Topic <subject> . . . . Topic for your channel /Who <channel> . . . . Show users and nicknames /WhoIs <nick>. . . . . . . .Identify a nickname /LINKS RELAY Version 01.24x0 Host RELAY@FINHUTC (Finland) Relay RELAY @ CEARN ( Geneva ) -> Finland Relay RELAY @ DEARN ( Germany ) -> Switzerland Relay RELAY @ AEARN ( Austria ) -> Germany Relay RELAY @CZHRZU1A ( Zurich ) -> Geneva Relay RELAY @ HEARN ( Holland ) -> Geneva Relay RELAY @TAUNIVM ( TAUrelay ) -> Geneva Relay RELAY @EB0UB011 (Barcelona ) -> Geneva Relay RELAY @ ORION (New_Jersey) -> Geneva Relay RELAY @ BITNIC ( NewYork ) -> New_Jersey Relay RELAY @JPNSUT10 ( Tokyo ) -> NewYork Relay RELAY @ VILLVM (Philadelph) -> New_Jersey Relay RELAY @NDSUVM1 (No_Dakota ) -> New_Jersey Relay RLY @CORNELLC (Ithaca_NY ) -> New_Jersey Relay RELAY @ UTCVM (Tennessee ) -> Pittsburgh Relay RELAY @UIUCVMD (Urbana_IL ) -> Pittsburgh Relay RELAY @CANADA01 ( Canada01 ) -> Ithaca_NY Relay RELAY @ AUVM ( Wash_DC ) -> Va_Tech Relay RELAY @ VTVM2 ( Va_Tech ) -> Ithaca_NY Relay RELAY @UALTAVM ( Edmonton ) -> Canada01 Relay RELAY @NYUCCVM ( Nyu ) -> New_Jersey Relay RELAY @ UWF (Pensacola ) -> Va_Tech Relay MASRELAY@ UBVM ( Buffalo ) -> Ithaca_NY Relay RELAY @CMUCCVMA (Pittsburgh) -> Ithaca_NY Relay RELAY @PURCCVM ( Purdue ) -> Pittsburgh Relay RELAY @UREGINA1 (Regina_Sk ) -> Canada01 Relay RELAY @ GITVM1 ( Atlanta ) -> Tennessee