Procedure call documents: Version 2
An announcement of version 2 of the Procedure Call Protocol document set used by the National Software Works.
Postel, J. and J.E. White, "Procedure call documents: Version 2", RFC 674, DOI 10.17487/RFC0674, December 1974, <https://www.rfc-editor.org/info/rfc674>.
@misc{rfc674,
series = {Request for Comments},
number = 674,
howpublished = {RFC 674},
publisher = {RFC Editor},
doi = {10.17487/RFC0674},
url = {https://www.rfc-editor.org/info/rfc674},
author = {J. Postel and J.E. White},
title = {{Procedure call documents: Version 2}},
pagetotal = 6,
year = 1974,
month = dec,
} RFC text
<GJOURNAL>31484.NLS;1, 12-DEC-74 04:32 XXX ;;;; Title: Author(s):
Jonathan B. Postel/JBP; Distribution: /NAG( [ ACTION ] ) NLG( [ ACTION ]
) NSW( [ ACTION ] ) PI( [ ACTION ] ) ; Sub-Collections: NIC NWG SRI-ARC
NAG NLG NSW PI; RFC# 674; Clerk: JAKE; Origin: < NETINFO,
RFC674.NLS;2, >, 11-DEC-74 17:58 JAKE ;;;;####;
NWG/RFC# 674 JBP 11-DEC-74 18:04 31484
Procedure Call Protocol Documents
Request for Comments 674 Jon Postel
NIC 31484 Jim White
SRI-ARC
12 December 1974
Procedure Call Protocol Documents
Version 2
1
As many of you may know SRI is part of a team working on the National
Software Works project. In the course of our work we have developed a
Procedure Call Protocol to be used between the modules which make up
the NSW. We are interested in your comments on this protocol. Please
foreward your remarks to either: 2
James E. White (WHITE@SRI-ARC) or Jon Postel (POSTEL@SRI-ARC) 2a
Augmentation Research Center
Stanford Research Institute
Menlo Park, California 94025 2b
(415) 326-6200 x2960 (White) or x3718 (Postel) 2c
This note announces the release of the second published version of
several National Software Works (NSW) and Procedure Call Protocol
(PCP) documents. Version 2 is SUBSTANTIALLY different than Version 1;
it and all intermediate, informally distributed PCP documents are
obsoleted by this release. 3
Each of the following documents is available on-line in two forms: as
an NLS file and as a formatted text file. The Journal number (e.g.
24459) refers to the former, of course, and the pathname (e.g.
[SRI-ARC]<NLS>PCP.TXT) to the latter, accessible via FTP using
USER=ANONYMOUS and PASSWORD=GUEST (no account required). Let it be
emphasised that files indicated by pathname of the form
[SRI-ARC]<NLS>name.TXT are ASCII text files not NLS files. 4
The specifications are contained in the following documents: 5
HOST (24581,) "NSW Host Protocol" 5a
This document describes the host level protocol used in the NSW.
The protocol is a slightly constrained version of the standard
ARPANET host to host protocol. The constraints affect the
allocation, RFNM wait, and retransmission policies. 5a1
NWG/RFC# 674 JBP 11-DEC-74 18:04 31484
RFC 674; PCP Announcement
Pathname: [SRI-ARC]<NLS>HOST.TXT 5a1a
PCP (24459,) "The Procedure Call Protocol" 5b
This document describes the virtual programming environment
provided by PCP, and the inter-process exchanges that implement
it. 5b1
Pathname: [SRI-ARC]<NLS>PCP.TXT 5b1a
PIP (24460,) "The Procedure Interface Package" 5c
This document describes a package that runs in the setting
provided by PCP and that serves as a procedure-call-level
interface to PCP proper. It includes procedures for calling,
resuming, interrupting, and aborting remote procedures. 5c1
Pathname: [SRI-ARC]<NLS>PIP.TXT 5c1a
PSP (24461,) "The PCP Support Package" 5d
This document describes a package that runs in the setting
provided by PCP and that augments PCP proper, largely in the
area of data store manipulation. It includes procedures for
obtaining access to groups of remote procedures and data stores,
manipulating remote data stores, and creating temporary ones. 5d1
Pathname: [SRI-ARC]<NLS>PSP.TXT 5d1a
PMP (24462,) "The Process Management Package" 5e
This document describes a package that runs in the setting
provided by PCP and that provides the necessary tools for
interconnecting two or more processes to form a multi-process
system (e.g. NSW). It includes procedures for creating,
deleting, logically and physically interconnecting processes,
and for allocating and releasing processors. 5e1
Pathname: [SRI-ARC]<NLS>PMP.TXT 5e1a
PCPFMT (24576,) "PCP Data Structure Formats" 5f
This document defines formats for PCP data structures, each of
which is appropriate for one or more physical channel types. 5f1
Pathname: [SRI-ARC]<NLS>PCPFMT.TXT 5f1a
1
NWG/RFC# 674 JBP 11-DEC-74 18:04 31484
RFC 674; PCP Announcement
PCPHST (24577,) "PCP ARPANET Inter-Host IPC Implementation" 5g
This document defines an implementation, appropriate for
mediating communication between Tenex forks, of the IPC
primitives required by PCP. 5g1
Pathname: [SRI-ARC]<NLS>PCPHST.TXT 5g1a
PCPFRK (24578,) "PCP Tenex Inter-Fork IPC Implementation" 5h
This document defines an implementation, appropriate for
mediating communication between processes on different hosts
within the ARPANET, of the IPC primitives required by PCP. 5h1
Pathname: [SRI-ARC]<NLS>PCPFRK.TXT 5h1a
EXEC (24580,) "The Executive Package" 5i
This document describes a package that runs in the setting
provided by PCP. It includes procedures and data stores for
user identification, accounting, and usage information. 5i1
Pathname: [SRI-ARC]<NLS>EXEC.TXT 5i1a
FILE (24582,) "The File Package" 5j
This document describes a package that runs in the setting
provided by PCP. It includes procedures and data stores for
opening, closing, and listing directories, for creating,
deleting, and renaming files, and for transfering files and file
elements between processes. 5j1
Pathname: [SRI-ARC]<NLS>FILE.TXT 5j1a
BATCH (24583,) "The Batch Job Package" 5k
This document describes a package that runs in the setting
provided by PCP. It includes procedures for creating and
deleting batch jobs, obtaining the status of a batch job, and
communicating with the operator of a batch processing host. This
package is implemented at the host that provides the batch
processing facility. 5k1
Pathname: [SRI-ARC]<NLS>BATCH.TXT 5k1a
RJE-MODEL (24655,) "The NSW Remote Job Entry Model" 5l
2
NWG/RFC# 674 JBP 11-DEC-74 18:04 31484
RFC 674; PCP Announcement
This document discusses the process of utilizing a batch
processing facility to complete a programming task in the NSW
environment. This same activity in another environment might
utilize a remote job entry system. 5l1
Pathname: [SRI-ARC]<NLS>RJE-MODEL.TXT 5l1a
LLDBUG (24579,) "The Low-Level Debug Package" 5m
This document describes a package that runs in the setting
provided by PCP. It includes procedures for a remote process to
debug at the assembly-language level, any process known to the
local process. The package contains procedures for manipulating
and searching the process' address space, for manipulating and
searching its symbol tables, and for setting and removing
breakpoints from its address space. Its data stores hold
process characteristics and state information, and the contents
of program symbol tables. 5m1
Pathname: [SRI-ARC]<NLS>LLDBUG.TXT 5m1a
TBH (24656,) "NSW Requirments on Tool Bearing Hosts" 5n
This document discusses the environment needed in the tool
bearing host and the interfaces to the operating system
components by various PCP packages. 5n1
Pathname: [SRI-ARC]<NLS>TBH.TXT 5n1a
BOXES (24584,) "Black Boxes in PCP" 5o
This document describes the transliteration of the black boxes
defined by Millstein and Warshall into the setting provided by
PCP, especially the File Package and the Executive Package. 5o1
Pathname: [SRI-ARC]<NLS>BOXES.TXT 5o1a
The document on the Host level protocol, HOST, is a suggestion for
some restrictions on the regular ARPANET host protocol for use in NSW,
this topic has little impact on the remainder of the NSW protocols.
The reader is urged to begin with the major Procedure Call Protocol
documents. 6
The document on PCP is the place the interested reader should start.
It gives the required motivation for the Protocol and states the
substance of the Protocol proper. 7
3
NWG/RFC# 674 JBP 11-DEC-74 18:04 31484
RFC 674; PCP Announcement
The reader may then proceed to the next three documents: PIP, PSP and
PMP. The latter has the most relavence to the casual reader; the
programmer faced with coding in the PCP environment should read all
three. 8
The three documents PCPFMT, PCPHST, and PCPFRK specify low level
details of the communication formats and are of interest only to PCP
implementers. 9
The documents EXEC, FILE and BATCH describe procedure packages to be
implemented as appropriate to provide the services of the
accounting/status/usage statistics subsystem, the file subsystem or
batch processing subsystem respectively. 10
The document RJE-MODEL describes how a user would utilize various
tools in the NSW in the process of carrying out tasks he might in the
absence of NSW achieve using a remote job entry system. This should be
read with the document on BATCH.
11
The LLDBUG package specifies a debugging package that operates in the
PCP environment. 12
The document called BOXES describes a mapping between the PCP
mechanisms and the File Package procedures and the Black Boxes needed
by the Works Manager. 13
The document TBH speaks to the requirements placed on the Tool Bearing
Host. This document indicates how and where various PCP packages
interface to an operating system. 14
4
AI ELI5
On this page
§1What Is Being Announced
RFC 674, from Jon Postel and Jim White of SRI-ARC, announces the second published version of several National Software Works (NSW) and Procedure Call Protocol (PCP) documents. SRI is part of a team on the NSW project, and developed PCP for use between the modules that make up the NSW.
Version 2 is described as SUBSTANTIALLY different from Version 1, and it and all intermediate informally distributed PCP documents are obsoleted by this release. Comments are invited. Each document is available online as an NLS file and as a formatted text file reachable by FTP with anonymous login.
A team building a shared computer workshop is sharing the second edition of its rule books and asking people what they think.
§2The Document Set
The core is PCP itself, which describes the virtual programming environment and the inter-process exchanges that implement it. Three packages run in that setting: PIP, a procedure-call-level interface that includes calling, resuming, interrupting and aborting remote procedures; PSP, which augments PCP largely for data store manipulation; and PMP, for creating, deleting and interconnecting processes and allocating processors.
Low-level details are in PCPFMT (data structure formats), PCPHST and PCPFRK (the IPC implementations between hosts and between Tenex forks). Service packages are EXEC (identification, accounting and usage), FILE, BATCH and LLDBUG (assembly-level debugging). RJE-MODEL, TBH and BOXES cover remote job entry use, tool bearing host requirements and the Black Boxes of the Works Manager.
There is one main book, a few helper books on how to use it, some books for the plumbing, and some books for particular jobs like files and batch work.
§3The Host-Level Protocol and Reading Order
The HOST document describes the host level protocol used in the NSW. It is a slightly constrained version of the standard ARPANET host to host protocol, and the constraints affect the allocation, RFNM wait and retransmission policies. The announcement says this topic has little impact on the remainder of the NSW protocols.
Readers are urged to begin with the PCP document, which gives the motivation and the substance of the protocol, then PIP, PSP and PMP. PMP is most relevant to a casual reader, while a programmer coding in the PCP environment should read all three. PCPFMT, PCPHST and PCPFRK are of interest only to PCP implementers.
Start with the main book. The plumbing books are only for the people who build the pipes.