Migration Manager for Active Directory & File Servers Presenter Name.
DOCONENT RESUME 13,007 867 - ERIC - Education ... 41.1' Functions append one file to another compare...
Transcript of DOCONENT RESUME 13,007 867 - ERIC - Education ... 41.1' Functions append one file to another compare...
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