RFC 307 UNKNOWN BATCH PROCESSING · EARLY INTERNET · OPERATIONS

Using network Remote Job Entry

How Rand computers accessed UCLA's remote job service over the early network

On rfc-editor.org ↗
PUBLISHED
February 1972
AUTHORS
E. Harslem
STREAM
Legacy
ORIGINATING COMPUTER
Rand PDP-10 running Tenex
REMOTE SERVICE
UCLA's IBM 360/91 RJS
NETWORK CONNECTION
ARPANET (early Internet)
DOI
10.17487/RFC0307

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                         E. Harslem
Request for Comment: 307                                            Rand
NIC: 9258                                              February 24, 1972
References: 113, 189

                     USING NETWORK REMOTE JOB ENTRY

OVERVIEW

   As has been mentioned in previous RFCs and at previous Network
   meetings various groups at Rand have been doing RJE to remote Network
   sites (UCBS and UCLA) for over a year.  Until recently all this work
   has been done from our IBM 360/65 which is only a Network using host
   (not a server).  Recently our PDP-10 has come onto the Network as
   both a user and server host.  We now have, as well, a program on the
   PDP-10 allowing access to the Remote Job Service (RJS) at UCLA.  Our
   normal mode of operation is diagramed below.


                    RAND                                     UCLA
               ________________                        ________________
              |    PDP-10      |                      |     360/91     |
    ______    |                |                      |                |
   |      |   |   __________   |                      |   __________   |
   |File  |   |  | RJS      |  |                      |  |          |  |
   |System|___|__| Access   |__|___/\/\ Network /\____|__|    RJS   |  |
   |      |   |  | Program  |  |       \/     \/      |  |          |  |
   |______|   |  |__________|  |                      |  |__________|  |
              |       |        |                      |                |
              |       |        |                      |                |
              |_______|________|                      |________________|
                      |
                      |
                    User

   To use RJS the user creates a job source "deck" in the Rand File
   system.  He then instructs the RJS Access Program (RJSAP) to send
   that file (job) to RJS.  (Sample session below.)  He can then monitor
   the status of his job via RJSAP (and hence RJS) and ask that RJSAP
   retrieve his print output to a local file, (or directly to his
   console, the line printer or whatever).

   Recently, several people at other Network sites have expressed an
   interest in using RJS.  However, they are located at a minimal Host
   or at a host not providing RJS access.  Since the Rand PDP-10 is a
   Network server, these people can solve their access problem by
   logging onto the Rand PDP-10, using Telnet, and running the RJSAP
   themselves.  The remainder of this RFC describe the steps necessary
   to run that program.

The Rand PDP-10

   The Rand PDP-10 operates under the Tenex operating system.  Thus,
   some understanding of the Tenex Executive is required.  The necessary
   documents can be obtained from the developers of Tenex:

                    Bolt, Beranek and Newman, Inc.
                    50 Moulton Street
                    Cambridge, Massachusetts 02138
                    (617) 491-1850

   Secondly, it is necessary to establish an account on the Rand PDP-10.
   This can be done through:

                    Rod Fredrickson
                    The Rand Corporation
                    1700 Main Street
                    Santa Monica, California 90406
                    (213) 393-0411

UCLA Remote Job Service

   To use the UCLA IBM 360/91 via RJS it is necessary to:

      1) have an account at UCLA
      2) have an assigned RJS terminal ID.

   These can both be obtained from

                    Bob Braden
                    UCLA
                    Math Sciences Building
                    3531 Boelter Hall
                    Los Angeles, Calif.  90024
                    (213) 825-7518

The RJS Access Program (RJSAP)

   A sample session using RJSAP is attached below.  The RJSAP is started
   by typing "RJS<return>" to the Tenex executive.  The program will
   then initialize and check (via your login information) to see if you
   are a user recorded in its tables.  This is done to assure you have a
   valid RJS terminal ID.  If your ID is not found, the program will
   terminate with appropriate message.

   If your ID is found, RJSAP will attempt to connect to RJS.  If UCLA
   is down, a message to that effect will appear and the program will
   terminate.  If UCLA is up, RJSAP will connect you to RJS and sign-on
   your terminal ID (see RFC 189).  RJSAP will respond "YOU ARE
   CONNECTED TO RJS."

   At this point RJS will acknowledge your signon and print out messages
   regarding system status.

   The programs (RJSAP and RJS) are now ready to perform RJE functions.
   All commands are initially interpreted by RJSAP.  They are listed and
   explained below.

      1. Help

         If the user types "?" RJSAP will echo the "?" and list the
         valid set of commands (see below).

      2. Message to RJS

         If the first character of a command is a "/" all subsequent
         characters up to a "return" are transmitted to RJS on the
         operator input connection.  See RFC 189 for the syntax and
         semantics of these commands.

         An operator input message can be cancelled with the RUB OUT key
         or backspaced using BACKSPACE.

      3. Send a Job

         When the user types "S" RJSAP echoes "SEND SOURCE DECK FROM
         FILE".  The user then enters the file name containing his job
         followed by a "return."  Obviously the file must already exist.
         If the file is ok and is transmitted successfully, both RJSAP
         and RJS will print an acknowledgement on the user's terminal
         (see example below).

      4. Retrieve Job Output-Printer

         The user can retrieve printed output by entering "PR".  RJSAP
         will echo "PRINT OUTPUT TO FILE".  The user then enters the
         files name where he wants the output.  This can be a new file
         or even a device such as the printer or teletype.  When the
         print output is completely received, the RJSAP will print an
         acknowledgment (see example).

      5. Retrieve Job Output-Punch

         This function is currently not implemented, pending a decision
         on the use of this channel between a PDP-10 and a 360.

      6. Transmission Status

         For long transmissions of job input or output it may be
         desirable to check on the progress of the transmission.  Typing
         "R" will cause RJSAP to echo "REPORT ON TRANSMISSIONS--",
         followed by a record count for the job input and printer output
         channels.

      7. Termination

         If the user types a "Q" at the start of a command, RJSAP will
         echo "QUIT IN PROGRESS" and terminate.  This is the preferred
         way of terminating the program.  (Rather than just ^C).

   NOTE: Since RJSAP has not been extensively used, we expect it to be
   improved and modified in the future.  Thus, the last section of this
   RFC -- the explanation of the use of RJSAP -- will be kept in file
   <HARSLEM>RJSACCESSPROGRAM.EXPLANATION on the Rand PDP-10 and be
   updated appropriately.

Sample Session

   The follows is a sample session using RJS from RJSAP on the Rand
   PDP-10.  All user inputs have been underlined (shown as _text_ ).

TENEX 1.28,RAND EXEC 1.33.1                          Rand Exec Prompt
@_LOGIN_                                        \
(USER) _HARSLEM_                                 \   User Logs In
(PASSWORD)______                                 /
(ACCOUNT #)_1__                                 /
JOB 12 ON TTY10 25-FEB-72 11:12                      System Acknowledges
@_RJS_                                               User Starts RJS
                                                     Access Program

RJS REMOTE ACCESS PROGRAM

HELLO ERIC

YOU ARE CONNECTED TO RJS                          \
NRJ876I NETWORK REMOTE JOB SERVICE READY           \
RJS750I TERMINAL NETRAND HAS SIGNED ONTO RJS        \ RJS Recognizes
RJS652I INFORMATION ALERT -                         / Terminal ID and
RJS250I OS COLDSTARTED 4:30 PM 24 FEB ALL JOBS     /  Prints System
**IN SYS LOST AND MUST BE RESUBMITTED             /   News Messages
RJS650I OS COLDSTARTED 11:07 FEB 25, ALL JOBS LOST MUST RESUBMIT_
_?_
VALID COMMANDS ARE:                                User asks for
SEND A SOURCE FILE                                 Valid Commands
PRINT OUTPUT RETRIEVAL
PUNCH OUTPUT RETRIEVAL
REPORT ON STATUS OF TRANSMISSIONS
PRECEDE RJS OPERATOR COMMANDS WITH A SLASH
QUIT TO TERMINATE THE PROGRAM
_/STATUS JOBS_
RJS804I TERMINAL NETRAND HAS NO JOBS ACTIVE        User Sends Message to
_/STATUS LINES_                                    RJS asking Job Status
RJS800I TERMINAL GSM     ACTIVE ON LINE 1          User asks RJS to
RJS809I PUNCH REROUTE = ENGR                       show Active Users
RJS800I TERMINAL ENGR    ACTIVE ON LINE2
RJS800I TERMINAL CSCSRC  ACTIVE ON LINE7
RJS800I TERMINAL NETRAND ACTIVE ON LINE8
_S_END SOURCE DECK FROM FILE _TESTA.;1_
TESTA.; TRANSMITTED TO RJS                         User Sends Job to RJS
26 CARDS  SENT                                     Both Access
RJS534I JOB MES727DS ACCEPTED BY RJS - 0000027     Program and RJS Ack
**CARDS READ                                       Job Submission

_/STATUS JOBS_
RJS810I TERMINAL NETRAND HAS THE FOLLOWING JOBS IN RJS
RJS812I MES272DS SPL(A) 001                        User Asks Job Status
             \                                     And Sees his job
             /                                     being Spooled.
             \
             /
       (SOMETIME LATER)
             /
             \
_/STATUS JOBS_
RJS810I TERMINAL NETRAND HAS THE FOLLOWING JOBS     User Checks and
**IN RJS
RJS812I MES727DS XEQ   000                          Finds his job ready
             /
             \
        (SOMETIME LATER)
             /
             \
             /
             \
_/STATUS JOBS_                                      User sees job
RJS810I TERMINAL NETRAND HAS THE FOLLOWING JOBS     has been run
**IN RJS
RJS812I MES727DS PPT 060                            Print output ready
_PR_INT OUTPUT TO FILE _LPT_:[CONFIRM]              User asks for output
                                                    directly to printer

_R_EPORT ON TRANSMISSIONS--
 NO SEND IN PROGRESS                                User checks to see
PRINT TO FILE LPT: RECORD COUNT=88                  the print retrieval
LPT:RECEIVED 197 PRINT LINES                        running
_Q_UIT IN PROGRESS                                  User Terminates
BYE, BYE BANANA                                     Access Program

@_LOGOUT_                                           User Logs Out
KILLED JOB 3, USER HARSLEM, ACC 1, TTY 10, AT 2/25/72 1300
  USED 0:0:21 IN 1:12:52





        [This RFC was put into machine readable form for entry]
    [into the online RFC archives by H�l�ne Morin, Viag�nie, 12/99]

AI ELI5

On this page
PROBLEMIn 1972, only large computers like UCLA's mainframe could run big batch jobs, and getting access to one from afar was complex and manual.
MECHANISMRFC 307 documents how Rand's PDP-10 computer ran a program called RJSAP (RJS Access Program) that let users submit jobs to UCLA's IBM 360/91 over the network, monitor their progress, and retrieve results.
WHY IT MATTERED THENUsers at other network sites could now access UCLA's powerful computing resources by logging into Rand and running RJSAP, making large-scale computing accessible to more organizations.

§1Remote Job Entry in 1972

In the early 1970s, most organizations did not have their own powerful computers. The solution was to use remote job entry (RJE): you prepared your job on a local machine, sent it to a remote facility with a powerful mainframe, and retrieved the results. Rand Corporation had been using RJE to send jobs to UCLA's IBM 360/91 for over a year by the time this RFC was written in February 1972. When Rand's PDP-10 joined the network, staff created RJSAP to automate this process.

Long ago, if you needed a big computer to run a job, you would write out your work, mail it to a place with a big computer, wait for them to run it, and get the results back.

§2How RJSAP Works

A user at Rand would log into the PDP-10 and type RJS to start RJSAP. The program checked the user's credentials to confirm they had a valid RJS terminal ID at UCLA. It then opened a network connection to UCLA's RJS (Remote Job Service) and signed on the user. From there, the user could send a job deck (a file containing their batch job), check the job's status, and request printed output be returned. Commands were simple: S to send a job, PR to get printer output, / to send commands directly to UCLA's system, and Q to quit.

You log in, run a program that connects to the far-away computer, upload your job, check its progress, and download the results.

§3A Sample Session

The RFC includes a full sample session. A user logs in to Rand, starts RJSAP, and is greeted. After confirming the RJS service is ready, they type S to send a job from file TESTA. Both RJSAP and UCLA's RJS acknowledge the submission. The user can then type /STATUS JOBS to see their job being queued, spooled, executed, and eventually show print output ready. Finally, they type PR to retrieve the printed output to a printer device, check transmission progress with R, and quit with Q.

You pick your job file, send it, ask 'is it done yet?' a few times, get the results, and log off.

§4References