doconent resume 13,007 867 - eric - education ... 41.1' functions append one file to another...

33
ED 179 205 AUTHOR TITLE INSTITUTION BEPORT NO PUB DATE NOTE AVAILABLE FROM EDES PRICE DESCRIPTORS IDENTIFIERS DOCONENT RESUME 13,007 867 Fitzgerald, M. L. Computer Science and Technology: Common Command Language for File Manipulation and Network Job Execution: An Example. National Bureau of Standards (DOC), Washington, D.C. NBS-SP-500-37 Aug 78 33p. Superintendent cf Documents, U.S. i,overnment Printing Office, Washington, DC 20402 (Stock Nc. 003-003-01965-8, $1.50) MF01/PCO2 Plus Postage. Information Networks: *Information Retrieval; Information Storage: *On Line Systems; *Programing Languages: Task Performance Resource Sharing ABSTRACT Recognizing that the use of resource sharing capabilities provided by computer networks is inhibited by the requirement that the user become familiar with the varied command languages and protocols of each accessed system, this report presents a general approach to solving the protlem using an intermediary system to support a set of common commands for file manipulation and network job execution. Tested in an experiment with fcur different systems, this common command language permits the network user to easily transfer files between varied systems of the network and provides the capability tc execute programs at particular hosts using data that may not initially be availatle where the Ercvam is to be executed. An account of the development and implementattOn of the command language is fol"owed ty a description of its usage in s.ystew interconnection, intrasystem file handling, intersystem file transporting, and network lob execution. An appendix provides 4 display of the coamand language and a list of pertinent references. (FM) Rei,roduc+ions supplied by FDES are tilt: hes+ that ccar, be made from thE original document. ***********************************************************************

Upload: donguyet

Post on 10-Apr-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

ED 179 205

AUTHORTITLE

INSTITUTION

BEPORT NOPUB DATENOTEAVAILABLE FROM

EDES PRICEDESCRIPTORS

IDENTIFIERS

DOCONENT RESUME

13,007 867

Fitzgerald, M. L.Computer Science and Technology: Common CommandLanguage for File Manipulation and Network JobExecution: An Example.National Bureau of Standards (DOC), Washington,D.C.NBS-SP-500-37Aug 7833p.Superintendent cf Documents, U.S. i,overnment PrintingOffice, Washington, DC 20402 (Stock Nc.003-003-01965-8, $1.50)

MF01/PCO2 Plus Postage.Information Networks: *Information Retrieval;Information Storage: *On Line Systems; *ProgramingLanguages: Task PerformanceResource Sharing

ABSTRACTRecognizing that the use of resource sharing

capabilities provided by computer networks is inhibited by therequirement that the user become familiar with the varied commandlanguages and protocols of each accessed system, this report presentsa general approach to solving the protlem using an intermediarysystem to support a set of common commands for file manipulation andnetwork job execution. Tested in an experiment with fcur differentsystems, this common command language permits the network user toeasily transfer files between varied systems of the network andprovides the capability tc execute programs at particular hosts usingdata that may not initially be availatle where the Ercvam is to beexecuted. An account of the development and implementattOn of thecommand language is fol"owed ty a description of its usage in s.ystewinterconnection, intrasystem file handling, intersystem filetransporting, and network lob execution. An appendix provides 4display of the coamand language and a list of pertinent references.

(FM)

Rei,roduc+ions supplied by FDES are tilt: hes+ that ccar, be madefrom thE original document.

***********************************************************************

A Tr*

°COMPUTER SCIENCE & TECHNOLOGY:c\I

N-Common Command Language for File Manipulatioh=and Network Job Execution: An Example

M. L. Fitzgerald

Computer Systems Engineering DivisionInstitute for Computer Science and TechnologyNational Bureau of StandardsWashington, D.C. 20234

AA"OF

CO

tie "cc:p

S DEPARTMENT OF NEAL TNEDUCATION WELFARENATIONAL INSTITUTE OF

EDUCATION

THIS DOCUMENT HAS BEEN REPRO.DuCED E*A(TLV AS RECEIvED (-RONATHE PE RSON OR ORGANIZATION ORIGIN-ATING IT POINTS OT yiEw OR OPINIONSSTATED DO NoT NECESSARILY REPRE-SENT OF cCIAL NATIONAL INSTITUTE OTEDUC A TION POSITION OR POLICY

U.S. DEPARTMENT OF COMMERCE, Juanita M. Kreps, Secretary

Dr Sidney Harman, Under Secretary

Jordan J. Baruch, Assistant Secretary for Science and Technology

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director

Issued August 1978

4,1

Reports on Computer Science and Technology

The National Bureau of Standards has a special responsibility within the FederalGovernment for computer science and technology activities. The programs of theN BS Fistitute for Computer Sciences and Technology are designed to provide ADPstimd,t, ,is, guidelines, and technical advisory services to improve the effectiveness ofcompute: litilization in the Federal sector, and to perform appropriate research anddevelopmehi ,:ffr'its as foundation for such activities and programs. This publicationser;es will report these N BS efforts to the Federal computer community as well as tointerested specialists in the academic and private sectors. Those wishing to receivenotices of publications in this series should complete and return the form at the endof thi3 publication.

National Bureau of Standards Spechl Publication 500-37Nat. Bur. Stand. (11.S.) Spec. Puhl_ 500-37. 32

CODEN: XNBSAVpages (Aug. 1975)

Library of Congress Catalog Card Number: 78-600069

U.S. 60V1:101MI,NTPR1N I ;NO OTI-ItWASHING FON: 1975

204.1,1I ot sale by the Supeimtendent of Documents, U.S. Oovernment Piloting Office. Wash.ngton, D.(Stock No OW 003-01965 8 Puce $1 So

(Ad-1 2S percent additk)nal for other than U.S. nialltny.).

TABLE OF CONTENTS

Page

I. INTRODUCTION 2

II. DEVELOPMENT OF THE COMMON COMMAND LANGUAGE 3

11.1. COMKAND LANGUAGES 3

11.1.1. Command Survey 4

11.1.2. The Common Command Language Structure 7

11.2. IMPLEMENTATION 9

III. COMMON COMMAND LANGUAGE USAGE 12

111.1. SYSTEM INTERCONNECTION COMMANDS 12

111.1.1. Establish PrimarY Connections 12111.1.2. Establish Secondary Connections 13111.1.3. Terminate Primary Connections 14111.1.4. Terminate Secondary C.nnections 14

111.2. THE FILE HANDLING COMMANDS (Intrasystem) 15

111.3. INTERSYSTEM FILE TRANSPORTING COMMANDS 17

111.4. A SAMPLE SESSION 18

Iv. NETWORK JOH EXECUTION 21

IV.1. COMMAND DESCRIPTION 21

IV.i. COMMAND uSAtsk. 22

IV.3. SAMPLE NE1wORK JOB EXECUTION PROCEDURE 23

V. CONCLUSIONb 25

APVLNLIX ME COMMAND LANWJA34. 26

t.,

DISCLAIMER

Certain commercial products are identified in this paperin order to specify adequately the experimental procedure,or to cite relevant examples. In no case does suchidentification imply recommendation or endorsement by theNational Bureau of Standards, nor does it imply that theproducts or equipment identified are necessarily the bestavailable for the purpose.

Common Command Language for File Manipulationand Network Job Execution: An Example

M. L. Fitzgerald

Computer networks provide the capability forsilaring resources across many diverse computersystems. Utilizing this capability is inhibitedby the requirement that the user become familiarwith all the varied command languages and proto-cols of each accessed system. This reportpresents a general approach to solving this prob-lem using an intermediary system to support a setof Common.Commands for File Manipulation and Net-'work Job Execution. To show the feasibility ofthis approach, common commands were implementedfor four systems using the NBS Network AccessMachine.

Key words: Command language; Computer networks;Network access; Macros.

This Special Publication is one of a s.aies prepared as a

part of a jointly sponsored effort by the National Bureau ofStandards and the U. S. Air Force Rome Air DevelopmentCenter under contract number F 30602-77-F-0068.

I. INTRODUCTION

Computer networks have made available to the program-ming community the services and resources of many types ofcomputer systems. Unfortunately, each of these systems hasits own, sometimes complex, language and methodology for ac-cescing its resources. A network user is faced with the

tasW of becoming familiar with the specific command languagefor each system before using the services available on that

system.

One method for simplifying the usage of computer net-works might bc to develop a set of standards for network ac-cess INDS 771 INSU 75j. The vendor* of computer serviceswould be required to ma»e their products compatible withthese standards if the services were to be available to the

networking community. In the absence of such a standard, adittetent method is required.

An alternative approach to simplifying networking for

users is to develop a standard language to which the diversesets of commands for heterogeneous hosts can be translated.

This language should provide a comuon set of commands togain access to the computer systems on the network, and to

manipulate files on those systems. Since the network useris concerned with many different systems, the languageshould present a uniform view of the systems through thestandard commands and also remove many of the complexities.of inter-system interactions. Therefore the language shouldpermit the network user to easily transfer files between

different systems of the network and provide the capabilityto execute programs at particular hosts using data that may

not initially be available where the program is to be exe-

cuted.

In order to show the feasibility of such a language, anexperiment was performed in which common commands weredeveloped for the following four systems: a Honeywell 6180

running MULTICS, a PDP-IW running TUPS-le, a PDP-10 runningTLNEX, and a PDP-11/45 running UNIX. The language was im-

plemented on a PDP-11/45 under the UNIX operating system va-ing the Network Access Machine (WS 76j as its foundation.bxpanding the language to include other systems is verystraightforward and requires little programming effort.

II. D&ViLOFMENT OF THE COMMON COMMAND LAM4UAGS

The development of the Common Command Languige (CCL)started by determining some of the desired properties of &common command language. Next, a survey ot tee existinscommand lapossages of the systems in the experiment was madeto define the required commands. The CCL was designed as anattempt to provide a viable language for network users ofthose systems.

11.1. COMMAND LANGUAG&S

The primary concern of most computer or network usersis to get a job don,, ideally as simply as porsible. Usual-ly, the user has little or no interest in the various pecu-liarities of the different systems to be used. This in-cludes differences in the syntax and semantics of the com-mand languages of those systems. The user should also beshielded from dealing with the complexities of error mes-sages which may occur during a terminal session.

At best, then, the language provided to a network usershould allow maximum access to the features of all the sys-tems available .with mininum system dependent interaction.In addition, it must supply a reasonable cross-section ofall the available s4cvices each system maintains, but it maynot necellsarily handle commands dependent upon the physicalproperties of the system due to difierences in hardware con-figurations and equipment.

eatensive study has been made .to determine the mostdesired properties of a common command language LUNG 741.The properties should include the followings

Obvious The commands shoulA pertotmthe actions their names imply.

Simple Thmi comaands should be simplein format and machine indepen-dent.

Uniform The functions performed shouldbe equally adaptable to allsystems involved.

Transparent The user should be unaware ofany system peculiarities andshielded from different types

-.3-

Extendable

of error or system messages.

The command repertoire shouldbe easily extended to add morecommands if necessary.

In order to develop the CCL the following three steps were

taken:

1. A survey of the systems to be used was made to

determine all the different types of (logical)file handling functions available. These func-tions deal with the files themselves as named en-tities, rather than with the contents of the

files.

. The command names for the functions were

cLosen, trying to maintain an intuitively mean-ingful vocabulary.

3. The commands were implemented on the NetworkAccess hacnine.

11.1.1. Command Survey.

Four types of computer systems were used for the

development of the CCL. In order to select the commands to

be implemented, a survey of the file manipulation commandsof each of these systems was made, and for each differentfunction represented, a common command was implemented.

Table 11.1 indicates the types of file manipulation

functicils that are commonly available and the correspondingcommands for the systems being surveyed. Dashes in the

table indicate that the system does not have a command forthe described function. (In some cases there may be a utili-ty that can be invoked on a given system, but not a singlecommand.)

These commanis are for logical manipulations on files

as entities wittlin an operating system. Functions which usethe other resources of the operating system such as editors

will not be addressed at this time. Later this languagewill De incorporated with other functions to provide the

capabilities of a NetworK Operating System (NUS) [KIM 76-l)

iKlm 76-21. Tne NUS environment will provide the user with

tne ability to use a network in the same manner that hewotAld use a single system. Included within the NOS will be

a wetwork wide virectory System that will descObe the user,the user's tiles on the network, the configurations and

structute of the various hosts on the network, and the

-4-

interactions permitted among them. In addition the. MOS willprovide f4nctions for repots record access and data transla-tion and transformation (WOOD 78j.

ie

-5..

Tatae 41.1'Functions

append onefile to another

compare twofiles

make a new

remove file namefrom directory

restore file todirectory

remove file fromdirectory

make copy ofa file

obtain directorylisting

list contents ofa file

chanye the nameot a file

MULTICS

OM IMP OM

compare

create

Oft CMOS

OM OM MO

delete

copy

ls

pr

rename

TRNAX

append

MP OW

ONO 00 OW

delete

undelete

expunge

copy

dir

type

rename

TOPS-1M UNIXas, aka

61116111011.

WO 0101110

alcfil

MID MD NIP

IMP OM 1111.

delete

copy

dir

type

rename

cat

cap

0111111111.

611.111, IMO

1111.

Kat

cp

ls

cat

-6- 11

11.1.2. The Common Command Lanumfiqulturt..

The CCL consists of four major command types: intra-system commands, inter-system commands, network job execu-

,-tion commands, and system inter-conneCtion commands.

intra-system Commands

Since each of the functions described in Table 11.1 isavailable on at least one of the systems, it was decidedthat the CCL would contain a command for each of the func-tions represented. The names were chosen trying to maintaina correspondence between the functions performed and thecommand. In addition, some of the command names were chosenin Keeping with some of the currently available commands.

append append one file to another

compare compare one file to another.

copy make a copy of an existingfile

create make a new file

delete remove the file name from theuser s directory

erase remove 't r:ompletely

list list the names of the user'sfiles

rename change the name of a file

type display the contents of a textfile to the user terminal

undelete return ei deleted file name tothe user's directory

Inter-system Commands

Along with the commands for file handling listed above,the language contains commands to transfer files betweensystems.

retrieve move file from remote host to

.7

transfer

primary host

move file from primary host toa remote host

system Interconnection Commands

Before a user can actually perform any file manipula-tions, cccess must be gained to the systfts where the filesreside. The command language therefore contains commands toconnect the user to a remote system and execute the particu-lar login procedure required. Likewise, when the terminalsession is over, there exist commands that will log the userout and terminate the connection.

Network Job Execution

Often, 2 network user may want to execute a program ona specific host and the desired data files reside on otherhostthroughout the network. Ideally the user would liketo be able to apecify just one command that could indicatetonere the program is to be executed, where the input datareside, and wbere the output data should be sent. Such acommand could have the format;

kUN PRutaRAMPHOST1VHO5T2 IN1=INFILLIVHUSTA UUT1sUUTFILka@HUSTB

where

PROGRAM - program nameHOST1 - where program is to be executedH08T2 - where program residesIN1 procram's name for input file 1INFILEI - actual name for input file 1HOSTA - where input file 1 residesOUT1 progeam's name for output file 1OUTFILE1- actual name for output file 1HOSTE1 - where output file will be migrated

Une of these commands would constitute a netwoxit jobstep and a sequenve of network job steps could be known as anetwork 1c0.

-8.13

In order to execute a network job an.Additional commandcalled 'run' is also part of the command.reportoire, Thiscommand is unique because its actions are dictated by the

user through two utility programs which are called to definethe network job to be run.

11.2. IMPLEMENTATION

The implementation of the CCL was facilitated by utili-zation of the NW Network Accss Racoine (NAM) which pro-vides the comaunication support for this study MOS 781.

Tne NAN is a program that runs under the UNIX timesharingsystem on a PDP-l1/4b. Through this program the user at aninteractive terminal may establish connections with manytypeR of ramte computers. -The NAN provides directives thatpermit the user to maintain a dialogue with the systems of a

network. Sequences of these directives stored in filescalled macros have been .written that will generate thenecessary machine-dependent dialog to perform the file mani-pulation functions required for each of the host systems.The responses generated by the remote systems are in turn

analyzed by the NAM. By permitting the napping of thevaried system responses into standardized messages for the

network user to see, the NAN facilitates the uniformity of

the CCL.

The commands of the CCL were implemented as a set of

simply named NAM macros. Since each system requires aunique dialogue to perform a given function, a macro to gen-erate that dialogue is needed for each system. Thus, therename command is really implemented as several macros namedrename', one for each of the systems in the study. The

particular macro that is called depends upon which systemthe user is .connected to. Incorporating a new system typemerely involves adding a set of command macros for that sys-tem.

Figure II.2.1. shows two such macros for the renamecommand: one for a TOPS-la system and one for a UNIX system.The TOPS-l0 command to perform the file renaming function isrename' and provides one of three different responses to

the user:

1) "File x already exists* if there already is a file

with the new name.

2) "File renamed:" if the rename was successful and

3) a? No file named a" if the file to be renamed

doesn't exist.

Macro for the command RENAME for a TOPS-le system.

.term "t36 I

.match "".' i 'already exists' I 'No file" topsle

.send 'rename "526 = "WICRla*switch matched

*case 3:.msg "File "$1" not found.[CRIMI6break

*case 1:.msg "File "$16 renamed to '$2".[CR)(LF)".break

*case 2:.msg "File "$2" already exists.[CRJ(LF)"

*end.flush.exit

Macro for the command RENAME for a UNIX system..

.term "t30 I 'IC"

.match "'not found' I 'not exist' I '1r" unix

.send "ls "$2"[CRj"*if matched 1

.send "my "$1" .$2"[CIEW*if matched 2

.msg "File "$1" not found.(CRIILFI"

.flush

.exit*end.msg "File "$1" renamed to "$2".[CRILLFj". flush.exit

*else

*end

.msg "File "$2" already exists.(CRILLFJ"

. flush

.exit

Figure 11.2.. Sample macros.

-1.0-15

Thexefore, the rename macro gust send the TOPS-18 renamecommano to the system and analyze the system response. Us-ing the mAn statements 'switch' and 'case', the macro out-puts an appropriate message for the resulting. systemresponse.

Un UNIX systems, however, renaming files is accom-plished through the 'xiv' command and existing files with thenew name will be overwritten witholt warning tbe user.

Therefore, the rename macro for UNIX first determines if afile with the new name exists. If not, the 'mv' command is

sent to the system and the response is analyzed to-determineif the rename was successful. In this macro, the NAM state-ments of 'if' and 'else' are used to differentiate agong.thepossible system responses.

This ability of the NAM to analyze system respbnses,provides the mechanism to standardize messages that the CCL

user sees. Each ot the systems in the above example hagdifferent responses for non-existent files, yet the messagethe user will see will always be "File x not found" if the

file to be renamed does not exist. Moreover, since the useof NAM macros permits multiple NAM-remote system interac-tions for one user command, the command level capabiXitiesfor the systems appears to be extended.

III. COMMON COMMAND LANGUAGE USAGE

This section describes the usage of the commands of theCCL. Each of the four types of commands is covered and aexample of its usage is given.

£11.1. SYSTEM INTERCONNECTION COMMANDS

In order to perform any file manipulations on a specif-ic host via a network, a user must gain access to that hostand execute a successful login procedure. Two types of con-nections can be made Oy the networK user: primary cnrnec-tions which connect him to the host where most of the ses-sion will occur; and secondary connections which are used toallow file transfers between different hosts. For thisstudy, most of the systems were primarily available throughthe ARPA network. ksBN refers to the host BBN-TENEX, whileISI is the USC-ISI TENEX system. NU5-10 and UNIX451 referto hosts within the NBS Experimental Computer Facility andMULTICS is the MIT-MULTICS. (In addition, the language wasexpanded to include the UNIX4153 machine at NBS and the Mul-tics system at the Rome Air Development Center.)

111.1.1. Establish Primary Connections.

The following commands make and break primary connec-tions on the systems 'he user wishes to access. A primaryconnection is made to tie system the user expects will beutilized most during the session at the terminal. Thesecommands are identified by the names of the systems to beaccesse:'

WIN <Identifier>ISI <Identifier>

MuLTICS <Identifier>

A user enters this command toestablish a primary connectionwith the TENEX systems at BIMor ISI. The identifier is theuser s name as known to thesystem and the user will beinteractively ,reguested tosupply password and accountinginformation.

A user enters this command toestabish a primary connectionwith MULTICS at MIT. The

-12-

NbSl4 <Identifier>

UN1X451 <Identifier>

identifier is the name of theuser as known to the system,and again password informationmust be supplied as required.

This will establish a primaryconnection with the !QS PDP-14system running TUPS-10. Theidentifier is the user'sproject-programmer number onthe 10 and password informa-tion is requested.

The command establishes a pri-mary connection with aPDP-11/45 running UNIX. Theuser will be connected to andlogged onto the UNIX451 systemat NBS. A password will berequested.

III.1 2. Establish Secondary Connections.

Secondary connections are made when the user wishes totransport files to or from a host other than the primaryconnection. These commands are the system name prefixed byconn" nr "leave" depending on whether the user is connect-ing to or disconnecting from the system.

CONNBEN <identifier>CUNNIS1 <identifier>

COENMULTICS <Identifier>

A secondary connection is es-tabliuneJ with a TENEX systemat bal or ISI. The identifierto be supplied is the name ofthe user known to the system.The password and accounttnginformation must be suppliedby the useg.

A secondary connection is es-tablished at MULTICS. Againthe system will request apassword which the user mustsupply.

CONNNLISlid <Identifier> A secondary connection is madewith the NBS PUP-10 running

CONNUNIX451 <Identifier>

TOP8.411. The identifier isthe project-programmer numberof the user at NW ahd thesystem will request a pass-word.

The command establishes a sec-ondary connection with theUNIX451 system at NBS. Logincommands are issued using theuser s identifying name speci-fied in the identifier parame-ter. The system again willrequire the user to enter apassword.

111.1.3. '.1.erminate eriwary Connections.

LbAVE This is the command issued toterminate communications withany of the four primary con-nections. The NAM is aware ofwhich system the user has es-tablished as the primary con-nection and will execute thiscommand to log the user outfrom that host and terminatethe connection.

111.1.4. Terminate Secondary Connections.

LEAVEhost Thls is the command used toclose out the secondary con-nections. The host part ofthe command can be either BEN,151, MULTICS, NBS10 orUNIX451. The command logs theusers off the secondary hostand closes the connection withthe NAM.

-14- 9

111.2. THE FILE HANDLING COMMANDS (Intrasystem)

The following is a description of each of the file

manipulation commands, their usage and parameters.

itekkAD eIlad FI1 E2

COMPAkE FILE1 FILE2

CUPY kIL11 FILL2

CRLATE FIL11

DLLETE FILL1

FILU1 is appended to FIL42.If FILS1 does not exist, the

message "File FILEl notfound.* is given and FILbk is

unchanged. If 1ILE2 does notexist, a copy of FILE1 is madeand called FILE2.

If either FILE1 or FILE2 doesnot exist a message is given.Otherwise the character filesare compared on a line by linebasis and a message indicatingwhether they are different or

equivalent is issued. (Com-parison of non-character fileswill be a future option ofthis command.)

A file called FILE2 is createdthat is a copy of the file

called FILE1. If there al-ready exists a file calledF1LL2, it is NOT overwrittenand a messaye indicating thatFILL2 already exists is given.If VILbl does not exist the

message *File FILEi notfound.* is output to the

user s terminal.

The directory entry for file

FILEI is made. If there al-ready is an entry by thatname, the message °File FILE],

already exists.° is given.

File FILE1 is removed from the

user's directory. This im-

plies that the user may nolonger access that file and

k.RASE

LIST

RENAME FILEI FILE2

may even create another filewith the same name. However,the iile itself still existsand may be undeleted (re-stored) at a later time, pro-vided that either the userdoes not logout or does not doan erase command (see UNDELETEand ERASE.) If a file of thetame name has previously beendeleted, the message "FileFILE1 previously deleted." isgiven to permit the user ave.

cess to the previous versionof the files. In this caseeither the previously deletedfile must be erased, or incase it is still useful, thename of the current version ofthe file can be changed beforeit is deleted. If FILEl doesnot exist, a message "File notfound." is given.

The cf.immand completely removesany previously deleted files.unce an ERASE is done no moreUNGELETEs can be done on thosefiles. In addition, an au-tomatic erase is done when auser leaves the system.

All the file names from theuser's directory are listed inthe format of the directory ofthe system being used.

FILE1 is renamed to F;LE2. Ifthere already is a FILE2, themessage "File FILE2 alreadyexists." is given and thefiles retain their names. Ifthere is no FILL1, the userwill be informed.

1YVE YILL1 The coav.ents of FILL1 are dis-playefl on the user's terminal.

2 1

UNDELETE FILE1 The commJind returns any pre-viously deleted file to theuser s workspace.

111.3. INTER.USTEn FILE TXANSFONTING CONNANW

The CCL extends the file handling ca2abilities of the

nost computers studiea by providing commands that transfer

files between systems. Thus the user enters system level

commands and has the ability to transfer and retrieve files

to ana from remote hosts. In order to use these commands,

the user must establish a primary connection with one host,

and a secondary connection with the host with which the ex-

change is to take place. In addition a directory listing

capability for secondary connections is provided.

LISThost The directory listing of thesecondary host 'host' is ob-tained.

RETRIEVE FILE1 SECONDARYHOST A file named FILE1 is sent to

the primary host from thesecondary host. It wi'l Le

assumed at present that thefile does indeed exist on the

secondary host and a file ofthe same name does not as yetexist on the primary host.

ThAlvtLA EiLL1 SLCuNuAlanUST The file FILL1 is sent fromthe primary host to the secon-dary host. Again it is as-sumed that the file does existon the primary host and a fileof the same name does not ex-ist on the secondary host.

111.4. A SAKYLb SESSION

In order to show the usage of the CCL, a scenario for asample terminal seasion will be given and the commands usedwill be listed.

A network user has accounts at MULTICS and theNBS10. A primary connection is established with MULTICS anda listing of the files stored there is made. The files are:mul, mu12, and mul3. The user decides to combine mul andsulk and just keep the combined file. In addition he de-cides to transfer this file to the NBS10 as a backup copy.Therefore he appends mul to mul2 and deleteu mul. A secon-dary connecticn is made with the NBS10, a directory listingis requested, and the new mul2 is transferred there. Hefinds that in a previous session he made a file on the NBS10that should have been a copy of the old mul file, but he isnot sure. He retrieves that file, mul, from the NBS10 butcannot compare it with the old mul because he deleted it a

few moments ago. Also, since the file he retrieved from theNBS1W has the same name as tne deleted file, he cannot un-delete it yet. So, he renames the retrieved file to mulnbeland then undeletes the old mul. Now he compares the twofiles and since they are different, deletes them both. deis now finished and so terminates the secondary connectionand then tevninates the primary connection.

MULTICS WATKINSLISTAPPEND MUL 14UL2DELETE MULCONNNBS10 510/46LISTNBS10TRANSFER MUL2 NBS10RETRIEVE MUL NBS10RENAME KUL MULNBS1UNDELETE KULCOMPARE MUL MULNBS1DELETE MULDELETE MULN8S1LEAVENBS10LEAVE

The following is a listing of the terminal session for

this example.

% navaA Test Version of the N88 Network Access Machine

saultics WatkinsMultics 33.3: MIT, Cambridge, Mass.Load * 37.8 out of 85.8 units: users a 37Password:slistSequent& al 9, Lengths = 6.

aulaul3mul2queenqueen.p11Watkins.abxstart up.ecWatkas.profileWatkins.con_msgs

r 1248.7 $

:append mul mul2File mul appended to au12.

:delete mulFile mul deleted.

sconnnbs19 519/46.J08 22 N8S49 5.978 NHS 5/IL TTY65%LGNNOC No operator coverage.Password:

aistnbsle aul

MUL 1 <155> 29-Jul-77 DSK8s (519,461

strantfer mu12 nbs19File mu12 transferred to nbs10.

:retrieve aul nbs19File aul retrieved from nbsle.

:rename sul mulnbslfile aulnbsl crested.

sondelete mulFile mul restored.

:compare nictl mothballFiles are different.

:delete aulFile aul deleted.

:delete aulnbslFile mulnbal deleted.

sleavenbsliiconnection nbsle closed

:leaveconnection aultics closed

-20-

IV. NFTWORX,JOB EXECUTION

This section describes the method of providing netWorkjob executiun capabilities developed in conjunction with theCCL.

IVA.. 'COMMAND DESCRIPTION

Implementing the RuN command described in sectionII.1.4 in the same manner as the other commApds of thelanguage would be extremely difficult and not Within theformat constraints of a NAM macro call. In addition, re-guiering tne user to type in ouch a sequence of complexstrings increases the likelihood of error and diverges fromthe simplicity of commands demonstrated in the rest of theCCL. Therefore, two utility programs were deve,loped for theNAM which, in conjunction with the CCL commands previouslydescribed, provide a means for the user to define a networkjob.

The first utility is called MAKEPROFILE. It is an in-

teractive program that queries the user for informationabout the various systems the user wishes to access. It re-quests the user names, passwords and account numbers for thesystems to be used, and builds a data file called a 'pro-file' for the user which is used :01, the second utility .

The second utility is called RUNMACRO. It also is aninteractive program that asks the user to supply all the in-formation needed to specify a network job. For each job

step in the network job, the user is asked to give the pro-gram name, host names, and all the rest of the data names asdescribed above in section 111.1.2. After the user speci-fies all the steps, the program builds a NAM macro called'RUN' that is a sequence of all the CCL commands that arerequired to perform the transitions for each function to beexecuted. Using the profile, the program supplies all theaccounting information required to make connections that theuser usally has to supply interactively. After executingthe UUNMACRU utility, the user merely executes t'Ae RUN mac-ro, and the network job is executed.

-21-

IV.2. COMMAND USAGE

The following procedure describes the steps a usertakes in orde: to define a network job.

1. Log onto UNIX.

2. Run.the NAN program.

3. Enter the accounts and passwords of the systems to beused by running the .NAKEPROFILE' program. Enter 'NAKEPRO-FILE in response to the prompt character and answer thequeries. (Note: The identifier required for the NSSle isthe project-programme: number pair separated by a slash:e.g.511/46).

4. Define the sequence of job steps to be executed in %henetwork job., For each job step the user must specify thename and residence of the program to be executed, where itis to be executed, vhich input files to transfer, and whichoutput files to transfer by answering the queries of the'RUNMACRO' prograi. The outptzt of this program is a NAMmacro that will perform thw desired functions.

5. atter:

RUNMACAU

in response to the prompt *falter Program Specifications:"the user enters

pprogVhostlehost2

where ppCog.is the name of the program to be run, hostl is

the name of the system where the program is to be executed,and hosit2 is the name of the system where the program is

currently located if it is not already at hostl. If hostlis the same as host2, enter 'pprog@host1'.

If there are no more job steps to be defined, the user

enters a carriage return.

The utility will then query the user for the logical namesof the input files, that is, the names by which the programknows the input files. Then the utility will ask for theactual names for the data files and the hosts at which theyreside. If the file exists at the execution site, enter a

carriage return in response ta the host name. If there areno more input files, enter a carriage return in response to

the file name. After obtaining the names of the inputriles, the names and sites for the output files will be

27

obtained. using the same philosophy for entering the

responses.

6. After execution of the 'RUNMACRO' program, there exists amacro called 'RUN' in the user's directory. The user enters'RUN' and the macro mill be executed.

1V.3. SAMPLE NETWORK JOB EXECUTION PROCEDURE

The user wishes to execute the program TEST on the

N8610. The source for TEST resides on UNIX451. There arethree input files: FILEI located at 88N. FILE2 located at

Nbbib and FILE3 located at ISI. They are to be given thelogical names IN1. IN2 and IN3 respectively. The programproduces three output files: OUTle OUT2 and OUT3. They areto be renamed to DATAl. DATA2 and DATA3 respectively and

moved to other sites as follows: DATA] goes to UNIX451.DATA2 goes to bbh and DATA3 will remain at the N8S10. There

will be only one Network Job step in this so only one setof specifications will be entered. (Notes The twee.*responses are to the right of the ':'. Responses for pass-word entries for the MAKEPROFILE program are not echoed.

All other entries that are not seen are responses ofcarriage-return to indicate no response.)

The following dialogue will transpire:

tnam:makeprofileInput Identifier at BBNstswwInput Identifier at ISI:swwInput Identifier at NBS10:510/46Input Identifier at UNIX451:fitzInput Password at BBN:Input Password atInput Password at NBSle:Input Password at UNIX45):Input Account at 813N:333Input Account at 151:40Input Account at N8610:Input Account at UNIX45I:

srunmacroalter erogram Specifications : TESTVNbSiOeUNIX454Xemote file access? (y or n) nLogical Name for Input File 1: IN1Actual Name for Input File 1: FILE1HOST 1 = bbNLogical Name for Input File 2: IN2

Actual Name for Input File 2: FILE2HOST 2 =Logical Name for Input File 3: IN3Actual Name for Input File 3: FILE3dOST 3 = ISILogical Name for Input File 4:Logical Name for Output File 1: OUT1Actual Name for Output File 1: DATA1HOST 1 = UNIX451Logical Name for Output File 2: OUT2Actual Name for Output File2: DATA2HOST 2 =Logical Name for Output File 3: OUT3Actual Name for Output File 31 DATA3HOST 3OUT4Enter Program Specifications::run

The "RUNE macro produced is the following. The userpassword supplied from the profile is indicated by <FASSWD>.

NBS10 516/46 <PASSWD>UNIX451 FITZ <PASSWD>TRANSFER TEST NHS19LEAVEUN1X451CUPNSEIN SWW <PASSWD>RETRIEVE FILE1LEAVEWINRENAME FILE1 IN1RENAKE FILE2 IN2CONNISIRETRIEVE FILOLEAVEIsIRENAME FILE3 IN3EX TESTCONNUNIX451 FITZ <PASSwu>RENAME OUT1 DATA1TRANSFER DATA1 UNIX451LEAVEUNIX451CONNBBN SWW (PASSWD>RENAME OUT2 DATA2TRANSFER DATA2 BBNLEAVE BENRENAME OUT3 DATA3LEAVE

V. CONCLUSIONS

The Common Command Language for File Manipulation and

Network Job Execution was developed to facilitate user in-teraction with the various systems of a network. As

presently implemented, it enables a user to perform filemanipulations on four different system types after learningonly one simple language. In addition, the language pro-vides the ability to gain access to a system , to identify auser to that system and to easily transfer files betweensystems without learning complicated protocols.

Work is currently underway to combine the CCL with a

Networkwide Directory (NWD) to develop the idea of a *net-work user." A network user will be connected to the dif-ferent systems on the network througn the NAm and be able toaccess the files resident on the different hosts the sameway a single system user can access files resident on dif-fent devices. Address resolution of the files will be donethrough the NAM using the NwD and will be transparent to the

user. incorporated within this system will be a record levelaccess capability for files on remote systems along with fa-cilities to control user access to those files.

APPENDIX ls THE COMMAND LANGUAGE

Connection Establishing Commands

WAN <IDENTIFIER>IbI <IDENTIFIER>MUTITICS <IDENTIFIER>NBSIO <IDENTIFIER>UNIX451 <IDENTIFIER>

File Handling Commands

APPEND FILE1 FILE2COMPARE FILEI FILE2COPY FILE1 FILE2CREATE FILE2DELETE FILE1ERASELISTRENAMETYPEUNDELETE

rile Transfer Commands

RETRIEVE FILEI dUSTTRANSkER FILE1 dUST

Connection Termination Commands

LEAVE

Ne:mork job Execution

Makeprofile UtiltityRunmacro UtiltityRUN

-26-

32

:Jor

REFERENCES

[KIM 76-1) Kimbleton, S. R., Final Report, ContractF30603-75-C-0222, Rome Air Development Center, January 1976.

JKIM 76-2) Kimbleton, S. R. and R. L, Mandell, "A Perspec-

tive on Network Operating Systems", Procedings of the AFIPSNational Computer Conference, vol. 45, 1976, pp.-55-17-3537---

INBS 77) National Bureau of Standards, "User - Terminal Pro-tocols, ENTRY and EXIT Procedures between Terminal Users and

Computer Services, Federal Re9ister, vol. 42, No. 238. pp.

62408 - 62416.

[NEU 751 Neumann, A. J., "Proposed Implementation for

Development of User- Terminal Protocols for Computer NetworkAccess, NbSla 75 744, July 1975.

[R(jb 76) Rosenthal, Robert, "A Review of Network Access

Techniques with a Case study; The Network Access Machine",mbb Technical Note 917, July 1976.

ikUb 7b] Rosenthal, Robert, and Lucas, bruce D., The Design

anu ialssentation of the National bureau of StandardsNetwork Access machine (NAM), NBS special-Walicaa5R-Ninis5, In preparaflOn.

[UNQ 741 Unger, Claus (editor), "Command Languages",

Procedinis of the IFIP Working Conference on Command

Languages, Lund, Sweden, 1974.

[WOOD 781 Wood, Helen M., and Kimbleton, S. R., "Remote

Record Access: Requirements, Implementation, and Analysis,"

in preparation.

NIIIS-1146 Intl/. 7.73)

U.S.010T.OPCOMM.BIBLIOGRAPHIC DATA

1HEET

1. PUBLICATION OR REPORT NO.

NBS SP-500-37

2. Gov't AccessionNo.

3. Recipient's Accession No.

4. TITLE AND SUBTITLECOMPUTER SCIENCE & TECHNOLOGY:COMMOn Command Language for File Manipulation and NetworkJob Execution: An Example

S. Publication Date

August 19786. Performing Organization Code

7. AUTHOR(S)M. L. Fitzgerald

IL Performing Organ. Report No.

9. PERFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDSDEPARTMENT OF COMMERCEWASHINGTON, D.C. 20234

10. Project/Task/Work Unit No.

650212911. Contract/Grant No.

.

12. Sponsoring Organization Name and Complete Address (Street, City, State, ZIP) 13. Type of Report & PeriodCovered

Special Publication

14. Sponsoring Agency Code

IS. SUPPLEMENTARY NOTES

Library of Congress Catalog Card Number: 78-600069

16. ABSTR A( I (A 200-word orbibliography or literature survey,

Computer networksmany diverse computerthe requirementlanguages and protocolsgeneral approachsupport a set ofExecution. Toimplemented for

12.T1 .1 it-)i- 2W, ;...,% totwelve vnIntos,flame, svrara fed hv sfriii, oi,xi,

Command language.,network job execution;

18. A1. MI Mill H N

I 4. urde, I Ng, '...,,i.. ,,I 11,,c,.1t.o.loorts.11. 11 1 . ..')11).1.

' UtIf., 1 tom N3.111.11 1 rclimc`Irotp.liels1. Virgtioa .'.'1%1

less (actual summary of most .ignificant information.mention it here.)

provide the capabilitysystems. Utilizing this

that the user become familiarof each accessed system,

to solving this problem usingCommon Commands for File Manipulation

show the feasibility of thisfour systems using the NBS

alphabett, al order, apitiilite on!):I

computer network; file manipulation,network operating systems.

!X 11111,11,1rd

No( It, le.os.e so NI N

I,.,. l.etV1.111,1.t.111 l'flo11111); Ufl sceN.11 I so No. (X)--(AY1....

forcapabilitywith

an

approach,Network

the hr%t

It document includes a significant

sharing reso,rcesis inhibited

all the varied commandThis report presentsintermediary system

and Networkcommon commands

Access Machine.

tt ter c)1 the lust key ssn-t.d

macros; network

19. -,f-i Mg 1v ( 1 it-s!'s

1 I IIN REPOR I )

liNi 1 Aks`,11-11 11

acrossby

a

to

Jobwere

mars.% n proPer

access;

21. NU. OF I' Aktf'S

32

20 \11 11(111 1 1..1,,,.I II1N I'M& /

I'M 1 Av,1111.1)

22. I'ris e Os. 50

..1 lolootholsoi `st.f vii, iN I l's

tr5, l' 14

14J