# RSCS

Remote Spooling Communications Subsystem or RSCS is a subsystem ("virtual machine" in VM terminology) of IBM's VM/370 operating system which accepts files transmitted to it from local or remote system and users and transmits them to destination local or remote users and systems. RSCS also transmits commands and messages among users and systems.
RSCS is the software that powered the world’s largest network (or network of networks) prior to the Internet and directly influenced both internet development and user acceptance of networking between independently managed organizations. RSCS was developed by Edson Hendricks and T.C. Hartmann. Both as an IBM product and as an IBM internal network, it later became known as VNET. The network interfaces continued to be called the RSCS compatible protocols and were used to interconnect with IBM systems other than VM systems (typically MVS) and non-IBM computers.
The history of this program, and its influence on IBM and the IBM user community, is described in contemporaneous accounts and interviews by Melinda Varian. Technical goals and innovations are described by Creasy and by Hendricks and Hartmann in seminal papers. Among academic users, the same software was employed by BITNET and related networks worldwide.

## Background

RSCS arose because people throughout IBM recognized a need to exchange files. Hendricks’s solution was CPREMOTE, which he completed by mid-1969. CPREMOTE was the first example of a “service virtual machine” and was motivated partly by the desire to prove the usefulness of that concept.
In 1971, Norman L. Rasmussen, Manager of IBM’s Cambridge Scientific Center (CSC), asked Hendricks to find a way for the CSC machine to communicate with machines at IBM’s other Scientific Centers. CPREMOTE had taught Hendricks so much about how a communications facility would be used and what function was needed in such a facility, that he decided to discard it and begin again with a new design. After additional iterations, based on feedback from real users and contributed suggestions and code from around the company, Hendricks and Tim Hartmann, of the IBM Technology Data Center in Poughkeepsie, NY, produced RSCS, which went into operation within IBM in 1973.
The first version of RSCS distributed outside of IBM (1975) was not a complete networking package. It included uncalled subroutines for functions such as store-and-forward that were included in the IBM internal version. The store-and-forward function was added in the VNET PRPQ, first for files, and then for messages and commands.
Once those capabilities were added, “the network began to grow like crazy.” Although at first the IBM network depended on people going to their computer room and dialing a phone, it soon began to acquire leased lines.
At SHARE XLVI, in February, 1976, Hendricks and Hartmann reported that the network, which was now beginning to be called VNET, spanned the continent and connected 50 systems. By SHARE 52, in March, 1979, they reported that VNET connected 239 systems, in 38 U.S. cities and 10 other countries. “VNET passed 1000 nodes in 1983 and 3000 nodes in 1989. It currently (1990s) connects somewhat more than 4000 nodes, about two-thirds of which are VM systems.” In comparison, by 1981 the ARPANET consisted of 213 host computers. Both ARPANET and VNET continued to grow rapidly.
By 1986, IBM’s Think magazine estimated that VNET was saving the company $150,000,000 per year as the result of increased productivity.

## Other RSCS Protocol Compatible Networks

Due to the key role RSCS played in building networks, the line drivers became known as the "RSCS Protocols". The supported protocols were drawn from other programs. The CPREMOTE protocol may have been the very first symmetrical protocol (sometimes called a "balanced" protocol). To expand the RSCS network to include MVS, Hartmann reverse-engineered the HASP Network Job Interface protocol, which enabled the network to grow rapidly. He later added the JES2 Network Job Entry as an RSCS/VNET line driver.
BITNET was a cooperative United States university network founded in 1981 by Ira Fuchs at the City University of New York (CUNY) and Greydon Freeman at Yale University which was based on VNET. The first network link was between CUNY and Yale. The BITNET (RSCS) protocols were eventually ported to non-IBM computer systems, and became widely implemented under VAX/VMS in addition to DECnet (The VAX/VMS NJE protocol stack was known as Jnet). At its zenith around 1991, BITNET extended to almost 500 organizations and 3,000 nodes, all educational institutions. It spanned North America (in Canada it was known as NetNorth), Europe (as EARN), India (TIFR) and some Persian Gulf states (as GulfNet). BITNET was also very popular in other parts of the world, especially in South America, where about 200 nodes were implemented and heavily used in the late 1980s and early 1990s. Over time, BITNET was eventually merged into the Internet. Newer versions of RSCS, as well as Jnet and the various UNIX NJE stacks, provided support for TCPNJE line drivers. Since most sites that were on BITNET also had access to the Internet, the BITNET links that were once ran over leased lines and dialup modems were tunneled over the Internet. It was also not uncommon to run NJE over SNA.

## Technical Issues

R. J. Creasy described RSCS as an operating system and considered it an essential component of the VM/370 Time-Sharing System. "The Virtual Machine Facility/370, VM/370 for short, is a convenient name for three different operating systems: the Control Program (CP), the Conversational Monitor System (CMS), and the Remote Spooling and Communications Subsystem (RSCS). Together they form a general purpose tool for the delivery of the computing resources of the IBM System/ 370 machines to a wide variety of people and computers. ...RSCS is the operating system used to provide information transfer among machines linked with communications facilities." Details of the design of RSCS as a virtual machine subsystem are described in the IBM Systems Journal.
From a technical point of view, RSCS differed from ARPANET in that it was a point-to-point "store and forward" network, as such it was more like UUCP. Unlike ARPANET, it did not require dedicated Interface Message Processor or continuous network connections. Messages and files were transmitted in their entirety from one server to the next until reaching their destination. In case of a broken network connection RSCS would retain the message and retry transmission when the remote system became available.

### VNET vs. ARPANET

* VNET was the first large-scale connectionless network, making it possible for a computer to join the network using dial-up lines, making connection inexpensive while ARPANET required dedicated 50kb lines at first (later raised to 230KB. Most leased lines at the time typically operated at a maximum rate of 9600 baud.
* VNET employed a vastly simplified routing and path finding approach, later adopted for the Internet.
* VNET was a true "distributed control" while ARPANET required a "control" center operated at Bolt, Beranek, and Newman in Cambridge, MA.