BITNET Relay, also known as the Interchat Relay Network, or Relay, was a chat network setup over BITNET nodes. It pre-dated 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.
The Relay servers were connected in a rudimentary multicast way, so messages would travel hop-by-hop along the network of servers. The system was named after its behavior, which can be compared to a relay race. The time it took for a message to get to a recipient varied. Most of the time, messages within the United States didn't take more than a few seconds. If network links were down however, BITNET would store and forward messages for later. This process could take minutes or even hours.
Before Relay was implemented, any form of communication over BITNET required the remote user's and host's identification to be known. Relay was a chat service running on a special ID on several suitable hosts in BITNET. To use it, an instant 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 instant message could contain either a command for Relay (preceded by the popular "/" slash character command prefix, still in use today), or a message for one (or more) real person(s) at the remote host (typically mainframe computers).
Computers connected to BITNET were generally located at universities and government agencies, and computer network bandwidth was limited at the time. It was not uncommon for a university's entire network connection to run over a single leased telephone line or even a 4800 baud dialup connection. Thus using scarce computing and network resources for frivolous purposes, such as chat, was often frowned upon.
One of the reasons Relay gained acceptance was that its system of peer servers decreased the amount of network bandwidth consumed by group chat. The decrease in bandwidth resulted in each server handing messages off to the next server down the chain, rather than sending multiple copies of a message to all of the servers where users were logged on. As a result, competing chat systems were often not permitted. Users were not allowed to develop alternate chat systems, be it for personal research, fun or for privacy. Experimental chats like Galaxy Network and VM/Shell were asked to shut down before they had any 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 appeared which improved handling of message delivery. Though Jeff Kell himself had made observations about the possible demise of BITNET Relay, it was TCP/IP and the advent of the Internet that brought about the end of BITNET and Relay. The idea of Relay Chat itself could be considered to have survived in Jarkko Oikarinen's Internet Relay Chat.
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
- http://web.inter.nl.net/users/fred/relay/relhis.html Excerpt of presentation by Jeff Kell on history of Relay.