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