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
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

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

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

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

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