|
Claims  |
|
|
What is claimed is:
1. A method of analyzing files located at a first land a second workstation
to determine the differences between the first and second workstations,
each file located at the first and second workstation having attributes
identifying the characteristics of the files including the file name and
other attributes, said method comprising:
at each workstation, and for each file on the workstation that is to be
analyzed, computing a check value as an additional file attribute, the
check value attribute for each file being computed from the entire file
contents of each file, and being suitable for comparison use in
determining whether a given file is identical in content to another file;
selecting a workstation to be a collection workstation;
retrieving said check value attributes of files located at the first
workstation and storing the check value attributes on the collection
workstation in a first workstation file attribute record;
retrieving said check value attributes of files located at the second
workstation and storing the check value attributes on the collection
workstation in a second workstation file attribute record;
comparing the file names and at least one check value attribute of each
file in the first workstation file attribute record to the file names and
the corresponding check value attribute in the second workstation file
attribute record to determine if the same files exist at both workstations
and whether the files located at the first and second workstation are
different with respect to said check value attributes; and
producing an exception report indicating the existence of differences
between corresponding files on the two workstations.
2. The method of analyzing files located at a first and second workstation
as recited in claim 1, said method further comprising the steps of:
modifying said exception report by eliminating the references to
differences that are intentional and not to be corrected;
generating from the exception report so modified a set of commands designed
to adjust the files on the second workstation to match those on the first
workstation, thereby correcting the differences; and
executing said commands to bring the files in the two workstations into
substantial agreement with each other.
3. The method of analyzing files located at a first.sub.-- and second
workstation as recited in claim 2, said method further comprising the
steps of:
substituting replacement file or file path names for the file or file path
names found in at least one of said workstation file attribute records
prior to said comparison step.
4. The method of analyzing files located at a first and a second
workstation as recited in claim 2, said method further comprising the
steps of:
determining which files are located at the first workstation and not at the
second workstation based on said file name comparison step; and
adding files determined to be located at the first workstation and not at
the second workstation based on said determining step to the second
workstation.
5. The method of analyzing files located at a first and a second
workstation as recited in claim 2, said method further comprising the
steps of:
determining which files are located at the second workstation and not at
the first workstation based on said file name comparison step; and
moving the files located at the second workstation and not at the first
workstation from the second workstation.
6. The method of analyzing files as recited in claim 1, said method further
comprising the steps of:
saving at least one of said workstation file attribute records as a record
of the state of the corresponding workstation for use in later analysis of
the workstations;
on at least one later date, once again generating workstation file
attribute records for the workstations;
carrying out said comparison step by comparing the once again generated
workstation file attribute records with the saved workstation file
attribute records; and
following each such comparison, generating an exception report indicating
changes that have occurred to the files on the workstation over time.
7. A method of analyzing files in a computer network comprising a plurality
of computer workstations to determine the differences between the
workstations, each file located at the individual workstations having
attributes identifying the characteristics of the files including the file
name and other attributes, said method comprising:
at each workstation, and for each file on the workstation that is to be
analyzed, computing a check value as an additional file attribute, the
check value attribute for each file being computed from the entire file
contents of each file, and being suitable for comparison use in
determining whether a given file is identical in content to another file;
selecting a workstation to be a collection workstation;
retrieving said check value attributes of files located at the individual
workstations and storing the check value attributes on the collection
workstation in workstation file attribute records:
comparing the file names and at least one check value attribute of each
file in each workstation file attribute record to those in the other
workstation file attribute records to determine if the same files exist at
all workstations and whether the files located at the individual
workstations are different with respect to said at least one check value
attribute; and
producing an exception report indicating the existence of differences
between corresponding files on the individual workstations.
8. The method of analyzing files as recited in claim 7, said method further
comprising the steps of:
modifying said exception report by eliminating the references to
differences that are intentional and not to be corrected;
generating from the exception report so modified a set of commands designed
to adjust the files on the individual workstations to match those on the
other workstations, thereby correcting the differences; and
executing said commands to bring the files in the workstations into
substantial agreement with each other.
9. The method of analyzing files as recited in claim 8, said method further
comprising the steps of:
substituting replacement file of file path names for the file or file path
names found in at least one of said workstation file attribute records
prior to said comparison step.
10. The method of analyzing files as recited in claim 8, said method
further comprising the steps of:
establishing a desired configuration which specifies what files are to be
present on each workstation;
determining which files are located at any workstations and are not
specified in the desired configuration based on said file name comparison
step; and
adding files determined to be located at many workstations and not at one
or a few workstations based on said determining step to the one or a few
workstations.
11. The method of analyzing files as recited in claim 8, said method
further comprising the steps of:
establishing a desired configuration which specifies what files are to be
present on each workstation;
determining which files are located at any workstations and are not
specified in the desired configuration based on said file name comparison
step; and
removing the files located at one or a few workstation and not at many
workstations from the one or a few workstations.
12. The method of analyzing files as recited in claim 7, said method
further comprising the steps of:
saving at least one of said workstation file attribute records as a record
of the state of the corresponding workstation for use in later analysis of
the workstations;
on at lest one later date, once again generating workstation file attribute
records for the workstations;
carrying out said comparison step by comparing the once again generated
workstation file attribute records with the at least one saved workstation
file attribute records; and
following each such comparison generating an exception report indicating
changes that have occurred to the files on the workstations over time.
13. A system for analyzing files located on plural workstations to
determine any differences in such files, each file having attributes
identifying characteristics including the file name and other attributes,
said system comprising;
a first workstation having first files located thereon;
a second workstation having second files located thereon;
first means for computing a first set of check values as additional file
attributes, at said first workstation for each file to be analyzed, the
check value attributes being computed from the entire file contents of
each of said files;
second means for computing a second set of check values as additional file
attributes, at said second workstation for each file to be analyzed, the
check value attributes being computed from the entire file contents of
each of said files, said first and second check value attributes being
suitable for comparison use in determining whether two of said files are
identical in content;
a workstation selected as a collection workstation for retrieving said
check value attributes of files located at the first workstation and
storing the check value attributes on the collection workstation in a
first workstation file attribute record, and for retrieving said check
value attributes of files located at the second workstation and storing
the check value attributes on the collection workstation in a second
workstation file attribute record;
collection workstation means for comparing the file names and the check
value attribute of each file in the first workstation file attribute
record to the file names and the corresponding check value attribute in
the second workstation file attribute record to determine if the same
files exist at both workstations and whether the files located at the
first and second workstation are different with respect to said check
value attributes; and
collection workstation means indicating the existence of differences
between corresponding files on said first and second workstations for
adjusting the files on the second workstation to match those on the first
workstation, thereby correcting the differences to bring the files in said
workstations into substantial agreement with each other.
14. A system for analyzing files located on plural workstations in
accordance with claim 13, wherein said collection workstation comprises
one of either said first workstation or said second workstation.
15. A system for analyzing files located on plural workstations in
accordance with claim 13, wherein said collection workstation comprises a
third workstation having third files located thereon. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The present invention relates to computer software for controlling the
operation of individual workstations within a computer network. In
particular, the invention relates to a workgroup organized network manager
which organizes people into groups and computers into workgroups. As used
within this invention, a workgroup represents an organization of people
and a group of computers connected together by a network. The host
computer controls the workgroup. A user at the host computer creates
specifications for controlling the operation of the computers in the
workgroup. The present invention acts as an agent for the user and
implements the specifications on the clients. The invention implements the
specifications either periodically or on command. The workgroup
organization limits how individuals may use the invention to manipulate
the computers in the workgroup. The invention also limits which computers
are controlled.
BACKGROUND OF THE INVENTION
Networks consist of a number of interconnected computers which can include
a centralized computers connected to remote terminals, a number of
individual mini-computers or microcomputers linked to each other, or a
combination thereof. In each instance, however, the function of the
network is to provide a means for communicating information throughout the
network. The minicomputer or microcomputer based centralized file server
or a centralized computer typically includes a large central database of
information which is accessed by the users at either remote terminals or
computer stations. Economies of scale are achieved in these types of
systems by storing the massive amounts of information contained in the
central database in one central location.
Computer networks consisting of linked mini-computers or personal computers
are not necessarily dedicated to accessing information from a large
central database of information. These networks, called distributed
systems, instead can be directed to the sharing of information created and
maintained at each of the mini-computers or workstations within the
network. While the distributed system type of network does not lend itself
to the control of large amounts of information, as does the central
database type of network, it is usually more flexible in the type and
variety of tasks that it can perform. Each individual workstation can
communicate with other workstations on the network and files can be shared
therebetween. This flexibility, however, also means it is more difficult
to control the computers so that they will operate in a similar fashion
and produce similar results.
A communication software package or a device driver controls transmission
of data or information from one workstation to another over communication
lines. In addition to the communication software package, other software
packages are available which operate to provide additional features not
present in the standard communication software packages.
For instance, a time and schedule management software package allows users
to view, track, and schedule time-related activities. Users can manage a
personal schedule and other users' schedules as well. Permissions can be
granted to allow a user to view or modify the scheduler of another user.
In addition, permissions can be tailored to suit each user on a network.
Users can be defined as parts of a group, with groupwide clearances
assigned to all members of a particular group. In addition, defaults can
be set for each group or new user, and when a user is added, the setup for
that user will not require modifications. While this type of software
package can organize workstations into groups having group wide clearances
assigned to all members of a group, the tasks performed by the workstation
is limited to the performance of calendar or scheduling type tasks and
cannot be used for any other purpose.
Another type of software package for use on a network maintains identical
copies of files on multiple computers. The files to be copied, the
destination of those files, and the operations performed for updating
files are all specified at a source workstation. Whenever files are
updated, the file is updated at the source workstation and then sent from
the source workstation to the various destination workstations. While this
type of software makes updating files a simpler task than previously
available, this type of software package cannot control the distribution
of information to predefined workgroups nor is there any organizational
structure to limit access to particular users. In addition, the
destination workstation cannot trigger the source computer to update
destination workstation files and therefore cannot be guaranteed the
latest versions of the files when they are needed. These packages also do
not allow the execution of non-file related commands over the network and
do not provide for delayed execution of processes if stations are not
available at the time of an update. The stations in the workgroups cannot,
therefore, be controlled as a group.
SUMMARY OF THE INVENTION
The present invention is a system of computer programs to organize
networked computer workstations into workgroups that are controlled by
specifications. The workgroups consist of groups of computers on the
network and the people who use the invention to manage them. The computers
on the network can include but are not limited to mainframes,
minicomputers, servers, and personal computers. For ease of discussion,
these machines are referred to as workstations hereinafter. The
specifications are the commands that are executed to accomplish the
desired results.
Typically, workgroups consist of two or more workstations, in which one
workstation is designated to be a host workstation and the remaining
workstations are designated to be client workstations. A workgroup is not
limited to any maximum number of workstations and a workstation may be
part of many workgroups. Workgroups also consist of groups of people, with
varying responsibilities, that operate the workgroup. The responsibilities
may be distributed between several different people or may be allocated to
one person.
The host workstation provides the means for setting up the workgroup and
for defining the responsibilities of the people who operate the workgroup.
The specifications are also developed on the host and are implemented by
installing them in the host workgroup library. As part of the workgroup
setup, the workstations which may become clients are defined and then may
be addressed by the specifications. A client station administrator defines
workstations to be a client by entering the host station name into a
client copy of the invention which resides in the client workstation. The
client station administrator thus prevents the invention from making
changes on the client, if specified. Either a host station or a client
station can initiate the execution of the specification on a client since
the client and host station are linked together through the software.
The people who operate the invention are designated as station
administrators (both host and client), workgroup leaders, workgroup
programmers and client users. The administrators install and maintain the
invention, define rules of operation and set up the workgroups. The
workgroup leaders designate the workgroup programmers and define the
limits they operate under. The workgroup programmers write the
specifications which actually control the workstations. The client users
(engineers, accountants, draftspersons, etc. who actually use the
stations) use the files and environment provided through the invention.
Specifications define how a programmer manages client workstations. The
invention implements the specifications automatically on all of the client
workstations having defined specifications. The effort required to manage
a workgroup is reduced to planning and writing specifications instead of
repeating similar tedious defining actions on each client workstation. In
addition, the invention provides log files showing the history of each
workgroup and audit trails showing all implemented specification
statements.
Each individual client workstation within a workgroup operates according to
a specification defined by a program or programs on the host workstation.
The specification defines the parameters within which the workstations and
workgroups operate. Because workstations are controlled by the
specification, individual workstations can be automatically configured for
individual tasks.
Specifications are programs containing specification statements that have
been entered into a workgroup library. Programs may be written separately
or may be modified at a later time. The client only executes specification
statements it has not executed before. The statements are active as long
as they remain in the library.
Specification statements typically are equivalent to several commands in
the native operating system. The invention checks to see that all of the
native commands can be completed successfully before executing the
specification statement. This prevents the clients from being left in an
intermediate state because some of the native commands did not succeed.
Some specifications may pend. Pending specifications are specifications
that will not execute until some condition or conditions are satisfied on
the client. When the conditions are satisfied, then the specification
statements are executed.
Active specifications (those entered into the workgroup library) may be
referenced at any time. If a new workstation is added to the workgroup,
the specification can be referenced immediately and the workstation set to
the same configuration as the other stations in the workgroup. If a client
station is disconnected when the host requests that the clients implement
the specification, then the station will not be in the correct
configuration. Since the invention on the client station recognizes which
computer is the host within its workgroup (and thus the location of the
workgroup library), the invention on the client can implement the
specification when the client rejoins the network.
Before a client station implements the workgroup's specification contained
in the library, the invention on the client must retrieve a copy of the
workgroup library. The invention uses a single computer account, that
exists on all stations, for sending files and other computer network
communication. A workgroup's specification can have several programmers.
When the invention executes each specification command on a client, the
command is executed as if by the command's programmer. It is similar to
the programmer logging on to the client and then executing the command.
The invention does not use the programmer's computer account or password,
thereby enabling the programmer, on the host computer, to control and
modify the clients in his workgroup simply by placing specification
commands in the workgroup library. The invention tightly controls access
to workgroup libraries. Only clients who are members of the workgroup can
access the workgroup's library and only clients can access it through the
invention.
In addition, the present invention includes a workstation comparison system
for comparing the files and directories that are located on the individual
workstations to determine whether any discrepancies exist between files or
directories that are intended to be the same, to determine if extra files
exist or if files are missing from a workstation. For instance, if all
workstations within a workgroup are loaded with an identical file or
directory, the present invention can determine if the file or directory
has been properly loaded on each workstation. In this way, errors are
located by comparing the files or directories which are common on some or
all of the workstations.
The present invention collects the attributes of the files or directories
from workstations of interest at the host workstation. The attributes of a
file include the type of file, mode or protection of the file, number of
links, owner and group that the file belongs to, the date, the size, and
checksum. Once these attributes are collected by host workstation, the
attributes associated with the workstations of interest are compared. Any
difference is noted and flagged as a potential source of a problem. While
the workstation comparison system is currently written for a UNIX system
for use with the Workgroup Organized Network Manager, the workstation
comparison system can exist by itself and can be written for other
computer systems and in other languages for analyzing the files or
directories on other computer workstations. Once differences between files
or directories are located, extra files are located, or files are found to
be missing, the present invention includes the means to change the
incorrectly programmed workstation to one which is programmed correctly.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of a networked computer system organized into
workgroups.
FIG. 2 is a block diagram illustrating the creation of a library file by a
load program with a plurality of files as input.
FIG. 3 is a block diagram illustrating the creation of a program file by a
program called create.sub.-- prgm.
FIG. 4 is a block diagram illustrating a number of program modules and
their interaction with and creation of a number of files.
FIG. 5 is a flow diagram of the compact program module.
FIG. 6 is a flow diagram of the interp.sub.-- 1 program module.
FIGS. 7A-7C is a flow diagram of a copy.sub.-- ref function module.
FIGS. 8A-8C is a flow diagram of a directory function module.
FIGS. 9A-9B is a flow diagram of a remove function module.
FIG. 10 is a flow diagram of an execute program module.
FIG. 11 is a flow diagram of a program update program module.
FIG. 12 is a flow diagram of the interp function module.
FIG. 13 is a flow diagram of an inventory collect program for collecting
attribute data of files and directories.
FIG. 14 is a flow diagram of a compare model program for comparing files
located on a model workstation to a target workstation.
FIGS. 15A and 15B are a flow diagram of subroutine of the compare model
program of FIG. 14 for determining similarities and differences between
files located on a model workstation and a target workstation.
FIG. 16 is a flow diagram of a subroutine for determining whether file
names have substitute or equivalent expressions.
FIG. 17 is a flow diagram of a subroutine for replacing regular file names
with substitute or equivalent expressions.
FIG. 18 is a flow diagram of a compare station program for comparing the
files located on a number of computer workstations.
FIGS. 19A, 19B and 19C are a flow diagram of subroutine of the compare
station program of FIG. 18 for determining similarities and differences
between the files located on a number of computer workstations.
FIG. 20 is a flow diagram of a make program program.
FIG. 21 is a flow diagram of a change mode subroutine.
FIG. 22 is a flow diagram of a copy function subroutine.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 illustrates a networked computer system 10 containing a plurality of
workstations 12. Each workstation 12 is further identified by a letter, A
through H, to aid in the later discussion. Each workstation comprises a
video display terminal 14, a computer 16 and a keyboard 18. Each
workstation 12 communicates to other workstations 12 via the network as is
understood by those skilled in the art.
The present invention is a system of computer programs that organizes and
manages workstations 12 within the network 10. While the present invention
is written in the C language and UNIX scripting languages and is directed
to be used on a UNIX operating system, the present invention is not
limited to UNIX and other embodiments will become apparent to those
skilled in the art. The present invention controls as many workstations as
are contained within the network and is not limited to the number
illustrated here.
The workstations 12 of the network 10 are organized into workgroups
consisting of workstations selected to be within the organized workgroup
by an administrator. For instance, as illustrated in FIG. 1, the network
10 is divided into a first workgroup 22 consisting of workstations 12A
through 12D, a second workgroup 24 consisting of workstations 12E through
12H, and a third workgroup 26 consisting of workstations 12D and 12H.
Workgroups correspond most directly to the organization of workgroups in a
business, manufacturing, or design environment or other organization such
as sections, departments, and projects. For instance, in a manufacturing
facility, the workgroup 22 might consist of the electrical engineering
department, the workgroup 24 might consist of the mechanical engineering
department, and the workgroup 26 might consist of one electrical engineer
and one mechanical engineer chosen to work on a specific project.
The workgroups and the individual workstations comprising the workgroups
are selected by the administrator according to the individual requirements
of each workgroup. As each workgroup is dedicated to the production of a
certain type of work product in the case of an engineering design firm,
the invention manages each workstation within the workgroup according to
specifications that can be defined within the invention. Of course, the
present invention has many other applications, for instance, delivering
software to various departments within a business organization, analyzing
computers in a network, and determining disk space on the workstations.
Before the present invention is operational, the system of programs
comprising the invention must be installed on every workstation in the
network 10 and certain variables must be defined to give structure to the
network according to the individual requirements of the workgroups and
workstations.
Once the invention is installed, workgroups can be defined. The definition
of a workgroup includes designating one of the workstations 12 to be a
workgroup host, designating a number of individual workstations to be
workgroup clients, and designating a group of people having defined
responsibilities that use the invention to manage the workstations. This
and other information is put into a number of files on the workgroup host.
FIG. 2 illustrates a block diagram of certain files on the workgroup host
which are created to run the present invention. The files which are
created are the stations file 30, the programmers file 32, the rules file
34 and the specification program file 36. These files are input to a load
program 38, which checks and adds the specification program file to the
workgroup library file 40. Each workgroup has one each of the stations
file 30, the programmers file 32, and the rules file 34, but can have many
specification program files 36. The stations file 30 contains a list of
labels that specify combinations of workstations used by the workgroup.
For instance, each label for workgroup 22 as shown in FIG. 1, would be
limited to stations 12A, 12B, 12C, and 12D. Each label is saved in the
stations file 30. Once the stations have been defined and stored in the
stations file 30, the programmers given authority to create the
specification programs are defined.
Programmers are individuals who are given the authority to act as a
programmer within a defined workgroup. Once each of the programmers has
been chosen, each programmer is defined to have the capability of
performing certain specification commands on assigned workstations. This
information is saved in programmers file 32. The specification commands
the programmer may be allowed to use include a copy command, a directory
command, a remove file command, a remove all command, a refresh command,
an execute command and a remove directory command. Each of these commands
typically is equivalent to several commands in the UNIX operating system.
The details of these commands will be described later. In addition to the
station file and the programmer file, the rules file needs to be defined.
The rules file 34 is established by the workgroup leader and the system
administrator. The rules file 34 contains rules used by the load program
38 to check specification programs written by the programmer before adding
the specification programs to the workgroup library 40. The rules provided
with the invention maintain various levels of security in addition to that
provided by UNIX. A mechanism is also provided to allow the host
administrator to add to or modify the rules to meet security or other
requirements.
A specification program file 36 is a file which is created by a programmer
previously defined in the programmers file 32. The workgroup programmers
develop specification programs using the specification programming
language provided by the present invention. In addition, the invention
contains a create.sub.-- prgm 46, shown in FIG. 3, that can automatically
generate specification commands for files in a list, thereby relieving the
programmer of much effort when creating new programs. The create.sub.--
prgm 46 provides a choice of refresh or copy instructions to move files.
The generate program will be discussed later.
The specification program file 36 contains individual specification
commands written by the programmer to manage the client computers in a
workgroup. The load program 38 checks these commands according to the
rules file 34. When the programmer loads a specification program, the
program is written into the workgroup library 40. Loading the
specification program makes the commands within the program active. The
present invention implements the specifications 47 contained in the
workgroup library 40 on the client computers or stations. Once loaded, the
specification program is active and may be referenced by the invention on
any workgroup client as long as it remains in the workgroup library 40.
How clients implement the specification in the workgroup library 40, will
be discussed later. The present invention includes eight specification
commands with various options. These instructions are shown in the
following Table 1. The instructions are copy, refresh, direct, rm.sub.--
file, rm.sub.-- dir, rm.sub.-- dir, rm.sub.-- all, execute and #.
TABLE 1
______________________________________
h host.sub.-- file -c client.sub.-- file -o owner -g group
p protection -s labels -d date
h host.sub.-- file -c client.sub.-- file -o owner -g group
p protection -s labels -d date
dir -c client.sub.-- directory -o owner -g group -p protection
s labels -d date
execute -h host.sub.-- file -1 shell -s labels -d date
rm.sub.-- file -c client.sub.-- file -s labels -d date
rm.sub.-- dir -c client.sub.-- directory -s labels -d date
rm.sub.-- all -c client.sub.-- directory -s labels -d date
# comment
______________________________________
As seen in TABLE 1, each of the commands begins with the name of the
command and is followed by a list of parameters assigned by a workgroup
programmer. The copy command starts with the word "copy" and is followed
by -h host.sub.-- file, which specifies a certain file contained on the
host, -c client.sub.-- file, specifying the name given to the file on the
client, -o, the owner of the file, -g, the group in which the file will be
contained, -p, the protection of the file, -s, the labels, and -d, the
date that the command was created. The copy command copies a file from the
host to the clients. In addition, the copy command can also change the
mode, the owner, and the group of the file, if the programmer has the
privileges required by the client computer. Copy also has a maintain
option -m, which means that if the file changes on the host, the new file
will be transmitted to the clients. This feature will be described in more
detail later. The copy command is similar to the sequence of UNIX
instructions cp, chmod, chown, and chgrp. The copy command is not executed
until all UNIX instructions necessary to implement the copy command can
all be performed. This prevents the copy command from being partially
executed on a client. This is a trait of all specification commands.
As seen in Table 1, the refresh command has the parameters previously cited
for the copy command. The refresh command copies a file from the host to
the clients. The refresh command is different from the copy command in
that the present invention will not execute the refresh command unless a
copy of the file already exists on the client. Such a feature is useful
when the programmer does not know which computers or stations have a copy
of the file. For instance, the programmer can create a refresh command
that updates shell scripts or design references files on all computers in
a workgroup. Only those computers with the file will be updated. This is
different than the copy command, which will only execute if the file's
parent directory exists on the client.
The directory command creates directories on the client. The mode, owner
and group are specified. The directory command is not executed unless the
directory's parent exists on the client. If the parent directory doesn't
exist, the present invention waits for it to appear and then executes the
directory command.
The execute command runs UNIX programs on the clients. The execute command
has several features that simplify running UNIX programs on many stations
on the network. Output from the executed UNIX program can be put into a
host log of the present invention. Messages can be mailed to the owner of
the individual programs. The present invention places the standard output
and standard error in a temporary file on the client.
The rm.sub.-- file command removes a file from the individual client and it
is quite similar to the rm command in UNIX. If the file is not present on
the client or if the command would fail, the present invention ignores the
command and does not attempt to execute it later.
The rm.sub.-- dir command removes the directory from the client and is
similar to the rmdir command in UNIX. Like UNIX, the directory must be
empty for the command to succeed. If the directory is not present on the
client or if the command would fail, the present invention ignores the
command and does not attempt to execute it later.
The rm.sub.-- all command removes a directory and its files and
subdirectories from the clients. The rm.sub.-- all command is different
from the UNIX "rm-r" command in that it first checks to see if all files
and directories can be removed before beginning. The rm.sub.-- all command
works only if it can successfully remove all the directories and files as
instructed. If the command cannot succeed on the client, the present
invention ignores the command and does not attempt to execute it later.
Finally, the last command is the # command which allows one line of comment
to be inserted into the program.
The meaning of the available options for each of the prior instructions is
listed in the following Table 2 and is shown as previously discussed.
TABLE 2
______________________________________
m This maintain option means that if host.sub.-- file changes
on the host, the command will re-execute on the
client.
h host.sub.-- file
Use host.sub.-- file as the source host file for the command
c client.sub.-- directory or client.sub.-- file
Use client.sub.-- file (client.sub.-- directory) as the target
client file
(directory) for the command.
o owner
Make owner the owner of the target directo | | |