Viking Software Solutions

LifeWorks: “Pseudo” NODE Feature

The $NODE option of $COPY and MSFP now may optionally refer to “pseudo nodes”, which are actually other MultiWorks partitions on the same computer. This feature can be used to combine formerly separate systems, which used $NODE to exchange information, onto a single system without changing any application code.

Overview

When LAN Communications is configured in LifeWorks Data Entry, batches, formats, etc., on other systems can be accessed. The $NODE option of the $COPY and the $FTYPE command are used to specify the other system. The names of acceptable nodes are shown in the SHOW N display or by executing the UNIX command arp -a.

The other system can be either the target (destination) or source of the files. $NODE can be used on both the source and target sides of the $COPY command to copy files between two other systems. The “socket” mechanism of the TCP/IP communications is used to communicate between systems. The LifeWorks Data Entry process “LWlant” is started by TCP/IP on the other system to access its LifeWorks Data Entry database. LWlant will in turn start the background processes on the other system. Only the primary MultiWorks partition on the other system can be accessed remotely.

Normally if a system has secondary MultiWorks partitions, the databases are completely independent. Users running with one value for $W cannot access the data for a different value of $W. However, with the “pseudo node” feature, $NODE can be used to access batches and formats on partitions on the same system.

Implementation

The program LWmulti is used to create additional partitions on a system. When they are created the file $W/text/multi.dir/multi contains the value of the $W for each of the partitions. The first record in the file has the value for $W for the first of the secondary partitions. If there is only one secondary partition, the file $W/text/multi.dir/multi will have one record. The records in the file $W/text/multi.dir/multi are maintained by the programs LWmulti and LWunmulti. The file “multi” should not be edited by hand. See section 5.6.5 of the Software Release Guide (SRG) for more detail on MultiWorks.

“Pseudo” $NODEs are specified by adding PSNODE records to the $W/text/lwoptions file. The following comments are in the lwoptions file:

            [ NETWORK (pseudo nodes) feature ]

            # Create "PSNODE=<alpha> : <index>" lines if you want $NODE to refer to a
            # secondary partition on this system. <alpha> is the name of the node you
            # want to assign to the secondary partition. There must be no space on either
            # side of the '='. <index> is the record number of the partition in the
            # $W/text/multi.dir/multi file. 1 refers to the first secondary partition.
            # <index> has a value from 0-9, where 0 means the primary partition.
            # PSNODE=alpha : 1

To use the pseudo node feature uncomment the PSNODE record in $W/text/lwoptions. To give the pseudo node the name “payroll” to the first secondary partition, the record in $W/text/lwoptions would look like:

PSNODE=payroll : 1

where “payroll” is the name of the partition that will be use with $NODE and “1” means the partition is the first one in the $W/text/multi.dir/multi file. Then the supervisory command:

$COPY MASTER,1 to MASTER $NODE payroll

will copy batch 1 of job MASTER from your database into the database of the secondary partition.

“pseudo” and remote nodes can both be accessed at the same time by LifeWorks Data Entry.

Notes

  1. If errors occur, messages may be logged in the $W/text/log file for either or both partitions.
  2. LAN communications must be configured in the partitions executing the $COPY or format referring to the $FTYPE command, but LAN need not be configured in the other referenced partition.
  3. The program LWlant is used to copy records between partitions.
  4. One LWlant process is used for each $NODE referenced for each terminal using this feature. Therefore it is possible to have many LWlant processes running. LWlant is a child process of the works2 process initiating the operation. If the works2 process logs off, the LWlant processes associated with it will terminate. A works2 process could have as many as 9 LWlant child processes running.
  5. The node name cannot exceed 20 characters, pseudo or remote.
  6. The maximum number of concurrent pseudo and remote nodes a process can reference is 20.

Known problems

  1. Care should be taken when running LWmaint for any partition. Normally these are completely independent for each $W value. Since LWlant will start the background processes for the target partition, if they are not running, LWlant then assumes they stay running. The following sequence will cause an internal error:
    • Do a $COPY from the primary partition to a secondary and don’t log off.
    • Run LWmaint in the secondary partition to take down the background.
    • Do $COPY again to that secondary.
  2. The performance of copying records is, in some cases, slower than a TCP/IP copy.