|
|
|
|
The PICS Verifier suite is a combination of three programs that ensure every node and subsystem operates with the same software on the PICS. This ensures that system wide integrity is maintained. The three applications that constitute this suite are VCreate, VClient, and VServer.
This document is designed to familiarize the system administrator with these applications. VCreate builds and allows maintenance of a file library. VServer accesses this library in order to send current software and version information to each node equipped with VClient. VClient accesses VServer to receive any updated files the node may need to operate correctly.
NOTE: In all command formats, parameters enclosed in squared brackets "[ ]" are required. Commands enclosed in "{ }" brackets are optional depending upon the command chosen.
NOTE: In all examples, the word "FILE" represents the specified filename and "NODE NAME" represents the specified node you are working with. "X" represents a number or integer
VCreate [Command] [Library] {Source} {Destination node} {Destination name}
One of the following: -a- Adds a file to the verifier. This is the default command. -c- Compresses the verifier data file. -d- Deletes a file from the verifier. -f- Display the file info. -h- Display the library header info. -l- List files in the verification set. -L- Brief list of files in the verification set. -t- Transfers the test version to the baseline version. -u- Update files currently in the library. -x- Extract files from the library.
Library Name of the verification library file. This name is referenced from the current working directory and appended with the extension .dat.
Source Name of the file to be added to the verification library.
Destination Node Name of the node to receive this file.
Destination Name Name of the file on the destination node.
VCreate is a utility program designed so that a system administrator can build and maintain a library of files to be used by all the nodes and servers on a system. VCreate creates and maintains a 'verification library' that contains all the files needing to be verified and information about them. This information includes the original file name, file size, last modification date, intended node name, intended filename, and a CRC-32 of the file. VServer uses this file to administer the verification process to each node in the system.
The library file actually keeps and maintains two versions of each file, a baseline version and a test version. The test version is intended for new file versions to be installed only to designated nodes. This allows a subset of the systems to be affected by the revised programs and datafiles. All new versions of any file are stored as the test version until they are manually moved to the baseline version.
Typically the test and base versions are equivalent. Any added program or data files update only the test version of the library file. After verifying and validating the new versions of a file, they are shifted to the baseline version. The baseline version of a file is the one a node uses while operating.
VCreate is a Windows NT console application. This means the application runs from a DOS prompt. VCreate can operate from any computer that is to be used to update and maintain the verification library. This can be any of the nodes, the server, or a machine that will provide the server with an updated version of the library. The default directory must contain the library file when the program is run.
NOTE: VServer must not be running you run VCreate or the following error message occurs:
Could not open (LibraryName).Dat to update - file in use
Syntax
VCreate -a [Library] [Sourcefile] [destination node] [destination filename]
VCreate -a [Library] [@CmdFile]
Description
The add command adds or replaces a file in the verification library as the test version for the destination node. If the destination node definition does not exist, VCreate creates it and displays a message stating that it is creating the node definition.
The second command works the same as the first except that the source name, node name, and destination name are read from the named Cmdfile with one entry per line. An example of a typical command file is as follows:
M:\COMMON\DLL\PPCS32.DLL SPDS-A c:\winnt35\system32\ppcs32.dll M:\COMMON\DLL\PPCS32.DLL SPDS-B c:\winnt35\system32\ppcs32.dll M:\COMMON\DLL\PPCS32.DLL MUX-A c:\winnt35\system32\ppcs32.dll M:\COMMON\DLL\PPCS32.DLL MUX-B c:\winnt35\system32\ppcs32.dll
VCreate uses the Cmdfile to store information about all the files it maintains. The second command is more effective if you are working with a batch of files, since the first command only modifies one file at a time.
Depending on the nature of the file you are adding, VCreate displays the following messages as it engages this command:
NOTE: If the source filename cannot be opened for VCreate to read, the following error message is displayed:
ERROR: Could not find FILE for NODENAME
VCreate -a Verfile soh.dll SPDS-A C:\PICS\DLL\soh.dll
After entering this command, VCreate responds with the following message:
Adding soh.dll for SPDS-A
In this example, you are adding the file "soh.dll" to the test version of the library file (Verfile) for the node SPDS-A. VCreate responded by displaying a message indicating that it is adding the file to this node. This tells you that the file did not previously exist on SPDS-A.
In order to move the file from the test version to the baseline version, use the transfer command.
Transfer command (-t)
The delete command marks a file to be deleted from the test version of the library file for a node.
To delete a file from the baseline version, use the transfer command. When the file is deleted from the test version, VCreate maintains an empty slot in place of the file. When the transfer command moves the test version files to baseline, the empty space moves over as well, this effectively deletes the file.
The second form of the command works like the first command except that the node and destination are read from the indicated Cmdfile at one entry per line. Refer to the "Adding Files" section for more information about the Cmdfile.
VCreate displays one of two messages when this command is entered. Once again, the message displayed will depend on the nature of the file.
For this example, VCreate responds with the following message:
Deleting soh.dll from SPDS-A.
This message tells you that it was able to successfully locate and mark the file for deletion
The first command marks the file (named soh.dll, in this case) as deleted from the designated node (SPDS-A) in the test version. To remove this file from the baseline version, use the transfer command. Refer to the description section for more information.
If the file is deleted from both the baseline and test versions, the next transfer command will completely remove all references to that file from the verification library.
The second command works the like first one with the exception that the node name and destination name are read from the Cmdfile with one entry per line. This command is more useful for working with multiple files.
Transfer Command (-t)
VCreate -l [Library]
This command lists each node and all files to be validated on that node referenced on the library archive, which resides in the current working directory. VCreate lists the sizes for the baseline and test versions and the file date. When you execute this command, VCreate displays the following information:
Node: NODENAME has X files Base:
MM/DD/YY HH:MM:SS SIZE
MM/DD/YY HH:MM:SS SIZE
... etcTest:
MM/DD/YY HH:MM:SS SIZE FILENAME
MM/DD/YY HH:MM:SS SIZE FILENAME
... etcNode: NODENAME has X files Base:
MM/DD/YY HH:MM:SS SIZE
MM/DD/YY HH:MM:SS SIZE
... etcTest:
MM/DD/YY HH:MM:SS SIZE FILENAME
MM/DD/YY HH:MM:SS SIZE FILENAME
... etc
where:
SIZE: Represents the filesize.
FILENAME: Represents the name of the file.
MM/DD/YY: Represents the date that the file was last modified.
HH:MM:SS: Represents the time that the file was last modified.
If the filename is too long to fit on the screen, VCreate strips the beginning and replaces it with "..\" to indicate that there is more information preceeding the filename. If there is any part of the information missing for a file, VCreate substitutes "___" for the missing information.
VCreate -l Verfile
In the above command, VCreate will list the files it has in the library file "Verfile".
The following is an example of the output:
Node: SPDS-A has 2 files Base:
11/27/95 10:52:46 14234
11/21/95 16:36:23 57865Test:
11/27/95 10:52:46 16324 c:\pics\sdb\sdb.exe
11/21/95/16:45:33 3213 c:\pics\rtdb\rtdb.exeNode: SPDS-B has 2 files Base:
11/16/95 08:45:11 14234
11/19/95 10:33:05 57865Test:
11/16/95 08:44:11 16324 c:\pics\sdb\sdb.exe
11/19/95 10:41:22 3213 C:\pics\rtdb\rtdb.exe
None
VCreate -t [Library]
This command moves all test version files in the verification library to the Baseline Version. This command is automatic and therefore will not display any messages indicating its status.
(Currently, the server only serves the Baseline Version to all nodes and nodes cannot be specified to be test version recipients. This will be added at a later date).
VCreate -t Verfile
In this example, the transfer command moves all files in the test version of the library file to the baseline version.
None
VCreate -c [Library]
This command compresses the verification library. As files are removed from the verification library, unused areas remain where the deleted file resided. As files are added, they are appended to the verification library. Periodically, the verification library should be compressed to minimize the disk space required by the library. Once again, this command does not iprovide the user with any form of status messages. The compress command simply compresses the library.
VCreate -c Verfile
In the example, the compress command removes the spaces from the library file named "Verfile".
None
VClient (Chapter 3), VServer (Chapter 4), Messages (Chapter 5)
None, this application automatically initiates from the Windows Startup group.
This program runs in the startup group of each node. It receives the current, up-to-date versions of all files stored in the VServer's current verification library. It has no command line parameters
The VClient application verifies that the correct software is present on the PICS computer. VClient verifies existing software by examining the software it has and comparing it to the version information on VServer. If it finds that it does not have the current versions, it requests that VClient send it the current files.
This application delays the PICS startup until the network is operational. This gives it time to verify that it has the most up to date versions of its files. Once it determines that it has current files, it initiates PICS by activating TASKMON and optionally, SYSMON as required.
The following is a diagram of the VClient window:

When VClient is initiated, you will see the window above. As you can see, it has standard windows controls as well as some indicators that are unique to itself. The following table will aid in understanding the new controls:
| Verify Files From | Indicates the network IP Address from which VCLIENT is receiving files. |
| Name | Name of the current file which VCLIENT is verifying |
| Size | Shows the size of the current file. |
| Time and Date | Indicates the date, and the time when the current file was last modified. |
| File Status | Condition of the file VClient is receiving. Can be Okay, CRC Bad, Mapping Failed, Filesize Failed, or Open. Any status message indicating trouble is printed in white on a red background |
VServer (Chapter 4), Messages (Chapter 5)
VServer [Library]
This program resides on the PICS verification server. It activates at system startup because it resides in the startup group This allows it to process requests from the VClient applications as part of the verification process. The VClient applications request version information from the server to determine if the software residing on their node is the correct version. VServer responds to these requests by accessing the verification file/library and transmitting the information to that specific VClient node. If the client discovers that it has an older version of a file, it will request the current version from VServer. VServer responds to this request by transmitting the file to the client.
When VServer is activated, you will see the following screen:

The 'Library' section provides information about the currently loaded VLB, including physical location, and when and where it was created and, if applicable, when, where and how many times it has been updated.
The 'System' section provides information about the computer where VServer is running. This may be useful when troubleshooting some types of verification problems.
The 'Server Message Log' section shows the state of VServer's log file (closed in the above example), and the most recent 15 messages. Clicking the mouse (left-button, single click) anywhere in the message region toggles the log file open/closed.
The final item, 'Active Connections' shows how many verification clients are currently connected to VServer. If this number remains larger than zero, then you probably have one or more computers that are terminating verification less than gracefully (e.g. being turned off, reset button pressed).
VClient (Chapter 3), Messages (Chapter 5)
| Message | Application | Description |
|---|---|---|
| Cannot move files on different drives. | VClient | The application could not move the files from one disk drive to the other. |
| Could not find a file set for NODENAME | VServer | The application could not find a file set for the specified node. |
| Could not keep track of files to move... Too many files | VClient | The application could not move the specified files because the number of files to be moved exceeds the capability of VClient. |
| Could not open COMMAND FILENAME for command input | VCreate | The application cannot open the specified command and filename. |
| Could not open LIBRARYNAME to update- File in Use | VCreate | VCreate cannot open the specified library because it is already open and or in use |
| Could not open temp file FILENAME | VClient | The application could not open the specified file. |
| CRC Bad | VClient | The CRC of the file VClient is attempting to receive has a bad CRC. |
| CRC Test failed on (test/base) file FILENAME for NODENAME. | VCreate | The specified file failed a CRC test. |
| Error on delete: FILENAME | VClient | VClient could not delete the file. |
| Error on Move/Mark | VClient | The application could not move or mark the current file. |
| Error opening LIBRARYNAME as a memory map. | VCreate | VCreate could not open the specified library as a memory map. |
| Error receiving replacement file | VClient | An error occurred that prevented the application from receiving the file. |
| ERROR: Command not completely successful | VCreate | The application did not completely execute the command. |
| ERROR: The following file could not be added to the library FILENAME | VCreate | The application could not add the specified file to the library file. |
| ERROR: The following list of files could not be added to the library FILENAME FILENAME FILENAME... |
VCreate | The application could not include the listed files to the library file. |
| ERROR: Too numerous to list all the files | VCreate | The application has too many files in the library to list them all. |
| Fail: Could not create the path PATHNAME | VClient | The application could not create the specified path. |
| File needs to be collapsed. X Bytes are wasted in the library. | VCreate | The Verification library needs to be maintained and compressed into a more acceptable file size. |
| Filesize Failed | VClient | VClient received a file which was either larger or smaller than it expected. |
| Mapping Failed | VClient | The application could not create a memory map for the current file. |
| No Default file set available. | VServer | The application could not find the default file set. |
| No Server Found | VClient | The application could not locate the server. |
| Open Failed | VClient | The application could not open the current file. |
| Unknown option OPTION_TEXT | VCreate | The application does not recognize the inputted option. |
| View Failed | VClient | The application view the current file for memory mapping. |
[Library] is the same as the parameter that specifies the library name in VCreate.