summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc325.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc325.txt')
-rw-r--r--doc/rfc/rfc325.txt507
1 files changed, 507 insertions, 0 deletions
diff --git a/doc/rfc/rfc325.txt b/doc/rfc/rfc325.txt
new file mode 100644
index 0000000..53f2c15
--- /dev/null
+++ b/doc/rfc/rfc325.txt
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+Network Working Group G. HICKS
+Request for Comments: 325 UTAH
+N.I.C. # 9632 APRIL 6, 1972
+
+
+ Network Remote Job Entry Program - NETRJS
+
+ Since October 1971 we, at the University of Utah, have had very large
+ compute bound jobs running continuously. These jobs did reduce
+ response time on our PDP-10 for the other Tenex users.
+
+ Since February we have been submitting jobs to the UCLA 360/91. Our
+ normal mode of operation is diagrammed below.
+
+ +---------------+ +---------------+
+ ______ | UTAH | NETWORK | UCLA |
+ / \ | +---------+ | | +---------+ |
+ + + | | | | / / | | | |
+ |\______/| | | |>-|-------/ /------|->| | |
+ | |----+--| NETRJS | | : / / |: | RJS | |
+ | FILE | | | |<-|-----/ /--------|-<| | |
+ | SYSTEM | | | | | / / | | | |
+ \ / | +---------+ | | +---------+ |
+ \______/ | | | | |
+ +-------|-------+ +---------------+
+
+ USER
+ To use NETRJS the user creates a job file under the Tenex system. He
+ then requests NETRJS to send that file to the UCLA RJS (Remote Job
+ Service System). Using NETRJS, the user is able to monitor the
+ progress of his job. When RJS notifies the user that his job output
+ is ready to be picked up, the user can request NETRJS to retrieve his
+ output ("printed" or "punched") to a local file.
+
+WHERE TO GET THE SOURCE PROGRAM
+
+ A copy of the source program is available by contacting:
+
+ Gregory P. Hicks
+ Computer Science Department
+ Merrill Engineering Building 3160
+ University of Utah
+ Salt Lake City, Utah 84112
+ (801) 531-8224
+
+
+
+
+
+
+
+Hicks [Page 1]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+UCLA REMOTE JOB SERVICE
+
+ To use the UCLA 360/91 via RJS it is necessary to:
+
+ 1) Have a valid 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 remainder of this paper describes the program in greater detail
+ and the steps necessary to run a users program at UCLA.
+
+DESCRIPTION OF THE PROBLEM
+
+ There are some jobs that are compute bound for such a long time that
+ they seriously affect response time for interactive users. These are
+ jobs that run from ten hours upward. Another computer was needed to
+ handle these jobs. The UCLA-CCN 360/91 was suggested. The 360/91 is
+ primarily a batch processing type of system where, as a matter of
+ course, it is tuned to jobs that typically run for hours. UCLA does
+ have software to allow jobs to be submitted via remote terminals,
+ either through direct communication lines or through the ARPANET.
+
+HOW AND WHY THE PROGRAM WAS WRITTEN
+
+ UCLA's software allowed the remote terminals to have unlimited
+ connect time (i.e. The time the terminal was actually connected to
+ the 360/91) at no charge to the user. The software at UCLA required
+ that each terminal be allotted 2k (2048 S/360 bytes) core for each
+ connection that is open at any one time. Now, since each terminal
+ could have a virtual card reader, virtual line printer and a virtual
+ card punch, this means that one terminal could occupy 10k of core at
+ UCLA. This - according to the UCLA systems people - would put a
+ heavy load on the system if all the ports were occupied at once. So
+ to alleviate this situation - as a matter of design decision - it was
+ decided to have the operator request to have the various connections
+ opened. The operator could not have more than three connections at
+ any one time. He could have the two operator connections and one of
+ the following open at once:
+
+
+
+
+
+Hicks [Page 2]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ A) Virtual line printer
+ B) Virtual card reader
+ C) Virtual card punch
+
+ This would cause the operator to be more active than an operator that
+ had a program that waited for his output to be sent to him
+ automatically. However because of the reduced load on the remote
+ (UCLA) system, the turn around time was probably faster than if all
+ remote RJS users had all the connections open.
+
+DATA TABLES NEEDED BY NETRJS
+
+ The NETRJS has no information "built into" it about who has a valid
+ terminal id at UCLA. This information is contained on the disk in a
+ file called PWD.SAV. There is a program that creates and updates
+ this information for NETRJS. NETRJS is therefore site independent.
+ It will work from any TENEX system that is able to use the ARPANET.
+
+THE COMMAND INTERPRETER
+
+ NETRJS borrowed R. S. Tomlinson's TELNET command interpreter and
+ replaced his commands with those needed to run a program at UCLA. As
+ in TELNET, the command interpreter does recognize commands partially
+ typed in. If it does not have enough of the command to recognize it
+ will let the operator know about it.
+
+OPERATION COMMANDS TO NETRJS
+
+ The commands available are:
+
+ 1) SEND.FILE.NAMED
+ 2) RETRIEVE.OUTPUT.FROM
+ Options available here are:
+ a) PRINTER
+ b) PUNCH
+ Under punch the options are:
+ i) Retrieving an object deck or
+ ii) Retrieving an ascii file
+ 3) TIME.NOW.IS
+ 4) LOGOUT
+ 5) RESTART
+ 6) DISCONNECT
+ 7) QUIT
+ 8) SYSTAT
+ 9) JOBSTAT
+ 10) ?
+ 11) ^Q
+
+
+
+
+Hicks [Page 3]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ Now to explain what the various commands do.
+
+ SEND.FILE.NAMED - asks the operator for the name of his program on
+ the disk, converts it to card images and sends the file to the
+ Remote Job Service at UCLA. When the file has been accepted
+ by UCLA the operator will get a confirming message telling him
+ how many cards were read and the name of his job. At this point
+ the operator may signoff from RJS and return at a later time to
+ get his output.
+
+ RETRIEVE.OUTPUT.FROM - asks the operator for the name of the virtual
+ device the output is available on. The operator may specify
+ either the printer or the punch.
+
+ TIME.NOW.IS - outputs the time for the users information.
+
+ RESTART - will produce a very virgin NETRJS. This should be used
+ only as a last resort since it does "reset-the-world".
+
+ LOGOUT - will do just that. It will log the user out from his local
+ and his remote job. It does require a confirming carriage
+ return or it will do nothing.
+
+ DISCONNECT - will log the user out from the remote job and will
+ disconnect (break all connections between) him and the remote
+ computer.
+
+ QUIT - this is the only recommended way that the NETRJS program be
+ terminated. The program may be continued with no harm done.
+
+ JOBSTAT - will cause RJS to show the status of any jobs that are
+ still active, and that have been submitted by the remote
+ terminal.
+
+ SYSTAT - will cause RJS to tell the operator what remote terminals
+ are using the RJS system at the present time.
+
+ ? - will do several things. When in the command level, it caused
+ NETRJS to tell the operator what it expects next. When nothing
+ has been typed it will respond with all the top level commands.
+ When something is entered, it will respond with all the commands
+ that begin with those particular letters. As in TELNET, it will
+ see nothing that is illegal. When sending or receiving a file
+ the ? will tell NETRJS to type out it's progress so far. This
+ message is typed at the end of the transaction that it is
+ currently processing. For that reason, it may be a few minutes
+ before the message is typed out.
+
+
+
+
+Hicks [Page 4]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ ^Q - this command is a very useful abort facility when used in the
+ following fashion: ^Q ^C will terminate NETRJS. This command
+ is not interpreted by the command interpreter. It is looked for
+ by the sending (console) portion of the program. In any case
+ the program may not be continued. How it works... This
+ command simply re-enables the ^C in the exec and stops the
+ console from doing anything (eg: sending messages to UCLA,
+ finding out the system status at UCLA, etc...) The
+ recommended sequence for this command (IF IT MUST BE USED) is:
+ ^Q^C. For this reason: The program is still processing but the
+ operator cannot communicate with it.
+
+HANDY COMMANDS TO THE RJS AT UCLA
+
+ Some of the more useful commands available to the RJS user are:
+
+ SIGNOFF - this will inform RJS that the user wants to terminate the
+ session. If there are no output streams active the signoff will
+ be accepted. If there are output streams active the RJS will
+ wait until such time as they have completed.
+
+ RESTART - (may be abbreviated RST) will restart the specified
+ device/job. Devices available are (at this time): PRINTER1 AND
+ PUNCH1. The user may specify his jobname. This will restart
+ his job (for output) from the beginning. The format of the
+ restart command is:
+
+ RESTART (device or jobname[,JOB])
+
+ There will be a confirming message that specifies the action
+ taken.
+
+ STATUS SYSTEM - this will tell the operator what remote terminals are
+ using the RJS System now. In addition, status system includes
+ the status of all jobs currently in the system that have been
+ submitted from the user's terminal. The only abbreviation
+ allowed is for system (SYS).
+
+ STATUS JOB - will tell the operator what output if any is waiting to
+ be returned to his terminal. It will also tell him if there are
+ any jobs being executed. This command should be done each time
+ the user signs onto RJS. Abbreviation allowed: J for JOB.
+
+THE NETRJS CONTROL CHARACTERS
+
+ The escape character for NETRJS is the control character ^S. This
+ was specified so that remote sites (and users!) could use the program
+ and still retain their sanity and that of telnet. This will always
+
+
+
+Hicks [Page 5]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ return you to the command level of NETRJS. This is good if you think
+ that you've made a mistake (eg... when writing the program, etc...)
+ and you want to abort a send. In other words, do not do ^S and think
+ that you can continue where you left off in a send or retrieval. It
+ won't work at this time. In a later implementation, it may, with the
+ provision of stopping (and then continuing, if you wish) the printer,
+ punch, or reader.
+
+
+EVERYTHING UNDERLINED SHOULD BE TYPED IN BY USER
+
+ SAMPLE SESSION USING NETRJS
+
+ UTAH TENEX 1.28.03, JANUARY 31, 1972 EXPC 1.33.3
+ [1] (USER) HICKS
+ -----
+ (PASSWORD)
+ -----
+ (ACCOUNT #) 500
+ ---
+ JOB 6 ON TTY21 1-APR-72 10:12
+ RUN NETRJS
+ ----------
+
+ <<UCLA91 IS UP.>>
+ NRJ8761 NETWORK REMOTE JOB SERVICE READY
+ RJS7501 TERMINAL NETUTAH1 HAS SIGNED ONTO RJS
+ RJS6601 NO ALERTS OUTSTANDING
+ (^S)
+ ----
+ <<?
+ -
+ RETRIEVE.OUTPUT.FROM
+ SEND.FILE.NAMED
+ DISCONNECT
+
+ QUIT
+ RESTART
+ TIME.NOW.IS
+ LOGOUT
+ DDT
+ UCLA91
+ SYSTAT
+ SEND.FILE.NAMED TEST.F4;1
+ --- ---------
+ ?
+ -
+ 5 RECORDS TRANSFERRED.
+
+
+
+Hicks [Page 6]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ FILE TEST.F4;1 HAS BEEN SENT.
+ 12 RECORDS TRANSFERRED.
+ MORE FILES TO BE SENT? (Y OR N) Y
+ -
+ INPUT FILE: TEST.DAT;1
+ ?
+ -
+ 40 RECORDS TRANSFERRED.
+
+ FILE TEST.DAT;1 HAS BEEN SENT.
+ 100 RECORDS TRANSFERRED.
+ MORE FILES TO BE SENT? (Y OR N) N
+ -
+ << >>
+ -
+ RJS534I JOB NETUTAH1 ACCEPTED BY RJS - 0000112 CARDS READ
+ <<SYSTAT >>
+ --
+ RJS802I TERMINAL NETUTAH1 HAS 1 SPL JOB(S)
+ RJS800I TERMINAL GSM ACTIVE AN LINE1
+ RJS909I PUNCH REROUTE = ENGR
+ RJS800I TERMINAL NETILL ACTIVE ON LINE8
+ RJS800I TERMINAL NETUTAH1 ACTIVE ON LINE11
+
+ STATUS JOB
+ ----------
+ RJS810I TERMINAL NETUTAH1 HAS THE FOLLOWING JOBS ON RJS
+ RJS812I NETUTAH1 SPL(A) 001
+ RJS481I PRINT OUTPUT FOR JOB NETUTAH1 NOW AVAILABLE, PRTY=030, IMMED
+ RJS481I PUNCH OUTPUT FOR JOB NETUTAH1 NOW AVAILABLE, PRTY=060, IMMED
+
+ <<RETRIEVE.OUTPUT.FROM PRINTER
+ --- -------
+ GOING TO FILE NAMED TEST.PRT [NEW FILE]
+ -------- -
+ RJS783I TERMINAL STATUS CHANGED
+ ?
+ -
+ 99 RECORDS TRANSFERRED.
+ STATUS JOB
+ ------ ---
+ RJS809I TERMINAL NETUTAH1 HAS THE FOLLOWING JOBS IN RJS
+ RJS800I NETUTAH1 PRT(A) 060
+ ?
+ -
+ 169 RECORDS TRANSFERRED.
+
+ YOUR OUTPUT IS HERE.
+
+
+
+Hicks [Page 7]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ 217 RECORDS AND 16119 BYTES TRANSFERRED.>>
+
+ <<RETRIEVE.OUTPUT.FROM PUNCH
+ --- -----
+ WILL THIS BE AN OBJECT DECK (O)
+ OR AN ASCII FILE (A)?? ASCII
+ -
+ GOING TO FILE NAMED TEST.PUJ [NEW FILE]
+ -------- -
+ RJS783I TERMINAL STATUS CHANGED
+
+
+ YOUR OUTPUT IS HERE.
+ 17 RECORDS AND 1222 BYTES TRANSFERRED.>>
+ SIGNOFF
+ -------
+ RJS751I TERMINAL NETUTAH1 HAS REQUESTED SIGNOFF FROM RJS
+ NRJ898I SIGNOFF ACCEPTED
+ @
+
+
+WHEN THE OPERATOR'S CONSOLE IS ACTIVE
+
+ The NETRJS prompt character is the "<<". This indicates that the
+ program is ready to accept commands. When the ">>" is printed the
+ console is in the remote mode. Anything that is typed at this point
+ goes directly to RJS. When sending or retrieving files the operator
+ may communicate with RJS if he wishes even though the ">>" has not
+ yet been output. The operator's console is in the remote mode at all
+ times except when NETRJS is at the command level.
+
+EDITING ON THE NETWORK
+
+ There are two control characters that allow you to make mistakes and
+ then to correct them. One is control-x. This has the action of
+ notifying RJS to ignore your last line. This is echoed by "___".
+ The other is control-h. This will cause UCLA to ignore the character
+ immediately preceding it. This is echoed by "_" and there will be no
+ echo of the deleted character.
+
+TABS AND OTHER NEAT GOODIES
+
+ Most people writing programs under TENEX like to use the tab stops
+ provided on the teletype. So we needed a nice number to set them to.
+ When running NETRJS the user should be aware that the tab stops are
+ set every 8 columns. In other words, a line that starts with a tab
+ will find the first character in (card) column 8. The program
+ accepts almost any type of <eol> indicator eg: TENEX eol and cr lf.
+
+
+
+Hicks [Page 8]
+
+RFC 325 Network Remote Job Entry Program April 1972
+
+
+ (This last in any order, by the way.) It also deletes blank lines
+ and since the user may wish to use a program written in a language
+ such as Fortran to generate data, the program also ignores null (00)
+ characters. When retrieving a file of data, for an <eol> the program
+ uses <cr> and <lf>. This is to keep the output compatible with
+ text-editors such as QED, DED, SOS and etc.
+
+FILE FORMAT
+
+ When sending a file to UCLA there is a line limit of 80 characters.
+ This is a design restriction in that jobs going to the OS/360 be no
+ longer than 80 characters/line. (Remember, IBM is still card
+ oriented...) The operator will get a nasty (well... semi-nasty
+ anyway) message if NETRJS finds a line that is longer than that. For
+ an output file, there is no limit to the length of a line other than
+ that imposed by the programming language used up to 255 characters.
+ When the user retrieves a punch file he may find that there are a few
+ extra lines thrown in... This is done by UCLA to allow the user to
+ identify his deck when it is punched on the card punch.
+
+
+ [ This RFC was put into machine readable form for entry ]
+ [ into the online RFC archives by Elias Lofgren ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hicks [Page 9]
+