                 SoftSolutions(R) 4.1 NLM Update

                     DOCUMENTATION REVISIONS
                               for
SoftSolutions Server Enhancement Module for NetWare(R) Reference

        (C) 1995 Novell, Inc.  All Rights Reserved.  5/95
_________________________________________________________________

This file was created as an ASCII text file.  Any portion of this
file may be reproduced for use by licensed users of SoftSolutions
4.1 for DOS or Windows.
_________________________________________________________________

This document provides revisions to the SoftSolutions 4.0 Server
Enhancement Module (SEM) for NetWare Reference, dated 4-25-94,
for updating to the SoftSolutions 4.1 NLM.

>> Installation  pp. 7, 22

Add the following socket numbers to the list in the NOTE (which
makes a total of 20 socket numbers available to SoftSolutions):

     34572, 37017, 37018, 37019, 37020, 37021, 37022, 37023,
     37024, 37025 and 37026.

>> SEM Screen  p. 8

The SEM screen has been updated to include information on block
allocation:

     Maximum Blocks Allowed : 5
     Blocks Allocated       : 3
     Blocks In Use          : 0
     Peak Blocks In Use     : 2

>> NetWare Transaction Tracking System (TTS)  p. 13

Add (and above) to NetWare 3.11 in the NOTE.

>> Cautions About Using TTS:  Performance  p. 14

The second paragraph should be replaced with the following two
paragraphs:

     TTS can noticeably impact file server performance IF block
     allocation is not used (see Blocks & Max Blocks in the
     Operations section).  Block allocation permits the SEM to
     reserve up front the memory it needs when it is loaded,
     saving the time later lost when NetWare is requested to
     provide memory blocks on an as needed basis.

     If block allocation is NOT used, use of a dedicated, high-
     powered file server is advisable.  Such a file server should
     have ample memory (8mb, 16mb, 32mb or more), a high-
     performance disk, and a very fast CPU.  It should contain
     only the SoftSolutions datasets (the programs and documents
     should be stored on a different file server).  This file
     server should be located in a physically secured area,
     should run on conditioned power, and should be sustained by
     a dependable uninterruptible power supply (UPS).

>> New Section:  Memory Blocks  p. 23

Insert the following new section before the Pausing section:

     BLOCKS & MAX BLOCKS ________________________________________

     The SoftSolutions SEM NLM has been enhanced with memory
     block allocation capability.  Without allocating blocks
     ahead of time, the SEM requests memory blocks (64kb each)
     from NetWare when the SEM needs memory for running its
     processes.  This entails requesting a block and waiting for
     NetWare to provide the block.  In a busy network, this
     process can cause some performance degradation.

     The new block allocation commands permit administrators to
     allocate memory when the SEM is loaded, which can eliminate
     possible performance degradation from NetWare allocating
     them dynamically.  Administrators can also use these
     commands while the SEM is running to fine-tune its use of
     server memory.

     The SoftSolutions 4.1 SEM NLM uses 64kb blocks of memory
     from the file server's cache.  If the BLOCKS value is not
     high enough while the SEM is running, SoftSolutions requests
     NetWare to allocate the needed blocks (this is the normal
     method when block allocation is not in effect).

     It is strongly recommended that each dataset has its own SEM
     process running.  This is done by specifying a different
     configuration file for EACH dataset (see the Configuration
     File appendix).  This allows memory block allocation to be
     tailored to individual dataset requirements, which can
     reduce performance degradation on the network.

     BLOCK COMMANDS

     The memory allocation commands are given at the
     SoftSolutions 4.1 SEM: prompt on the SEM screen.  When a
     command is given, it applies to memory allocation only for
     the dataset indicated on the screen.

     The following commands create the block allocation
     parameters:

     MAX BLOCKS     This command sets the maximum number of
                    blocks that can be allocated for the SEM's
                    use with a given dataset.

                       * This value cannot be exceeded by the
                         BLOCKS command, but it can be exceeded
                         by a SoftSolutions request for NetWare
                         to allocate more memory.

                       * The purpose of having an upper limit is
                         to have control of maintaining a balance
                         between SEM degradation and file server
                         cache usage.  For example, if a file
                         server has a minimal RAM configuration,
                         allocating too many blocks for the SEM
                         can cause noticeable degradation in the
                         file server's performance.  It might be
                         less noticeable to users to have
                         performance degradation on the SEM than
                         on the file server.  If a file server's
                         memory is not large enough, a balance
                         may need to be struck between the SEM
                         and file server.

                       * After the SEM has been loaded, using
                         this command changes the number of
                         memory blocks that can be used when
                         SoftSolutions requests NetWare to
                         allocate more.  BUT, this will not take
                         effect immediately if the MAX BLOCKS
                         value is set to be less than the current
                         number of blocks in use.  It may take
                         several seconds for a memory block to be
                         released back to the file server so that
                         this command can be completed.

     BLOCKS         This command sets the number of blocks to be
                    allocated for the SEM's use with a given
                    dataset.

                       * When placed in the configuration file,
                         it sets the initial number of blocks to
                         be allocated from the file server upon
                         loading the SEM.

                       * After the SEM has been loaded, this
                         command changes the number of blocks
                         currently allocated.

                       * The BLOCKS command cannot be used to
                         surpass the MAX BLOCKS value.

     These commands can accept numerical values and the + and -
     signs.  For example:

          blocks=[+/-]n

     where blocks= is the BLOCKS command, "n" is the number of
     blocks to be allocated, and the +/- indicates
     incrementing/decrementing a current block allocation amount.

        * CHANGE the number of blocks by typing any number (the
          BLOCKS value must be less than or equal to the MAX
          BLOCKS value).

        * DECREMENT the number of blocks by typing a minus sign
          and a number (e.g., -1).  But, the requested number of
          blocks will not be returned to the file server until
          they are free if there are more blocks in use than the
          new allocation number created.

        * INCREMENT the number of blocks by typing a plus sign
          and a number (e.g., +3).  But, the MAX BLOCKS value
          cannot be exceeded.

     (When one of these commands is entered without any value,
     the SEM prompts for the value.)

     DETERMINING BLOCK VALUES

     Since an administrator will not know how much memory a new
     SEM will require, Novell, Inc. recommends experimenting for
     a week or so with EACH dataset.  Therefore, when initially
     setting up block values (such as in the configuration file),
     set BLOCKS = 0 and MAX BLOCKS = 20.  Then, as the SEM is
     used, NetWare will increment the BLOCKS value by one each
     time the SEM needs an additional block of memory.  But,
     allocation will not exceed the MAX BLOCKS value.

     As the SEM screen for a dataset is monitored during the
     week, the administrator can determine if the MAX BLOCKS
     value needs incremented or decremented (did the Blocks
     Allocated value come close to the MAX BLOCKS value?), and
     can determine what value to set for the BLOCKS command in
     the configuration file (the value shown in the "Blocks
     Allocated" field at the end of the week).

     Since memory block allocation takes 64kb of memory per block
     from the file server's cache, be frugal in allocating blocks
     for the dataset.  Also, in setting the MAX BLOCKS value,
     note where performance degradation has been affecting users
     the most---on the SEM or on the file server.  A balance may
     need to be determined if the file server's memory is
     insufficient to allow the SEM as many blocks as it
     requests---the MAX BLOCKS value controls that balance.

     ABNORMALLY HIGH BLOCK VALUES

     If mass operations (like importing) are performed during the
     first few weeks---or at any later time---the SEM's memory
     requirements will temporarily be higher than for normal day-
     to-day operations.  These times should be treated
     differently in allocating memory blocks.  Ignore these block
     value peaks when determining the values to be standardized
     for normal operations.

     NEW BLOCK FIELDS

     The following fields have been added to the SEM screen:

          Maximum Blocks Allowed : 5
          Blocks Allocated       : 3
          Blocks In Use          : 0
          Peak Blocks In Use     : 2

          Maximum Blocks Allowed
               This field indicates the maximum number of 64kb
               memory blocks as set by the MAX BLOCKS command. 
               This is an upper limit that will not be exceeded
               by block allocation.  It is used in determining a
               balance between the SEM and file server's sharing
               of memory.

          Blocks Allocated
               This value is set by the BLOCKS command, or is
               incremented when SoftSolutions must ask NetWare to
               allocate a block.  It is a way to manually control
               the number of blocks being allocated.

          Blocks In Use
               This display-only field shows the number of blocks
               currently in use.  Its value can vary from 0 to
               the MAX BLOCKS value.

          Peak Blocks In Use
               This display-only field indicates the highest
               number of memory blocks allocated since the SEM
               was loaded.  As its value surpasses the Blocks
               Allocated value, the "Blocks Allocated" field is
               incremented to match (which means SoftSolutions
               had to request NetWare to allocate blocks).

               This value, when compared with the "Blocks
               Allocated" field's value, can indicate whether the
               SEM is less active than it might have been at an
               earlier time.  For example, if "Blocks Allocated"
               shows 11 and "Peak Blocks In Use" has been
               consistently showing 5 or 6 each time the SEM is
               run, then the BLOCKS command should be issued and
               the block value set to 6.

>> New Section:  Stopping  p. 26

Insert the following new section before the Unpausing section:

     STOPPING ___________________________________________________

     If the SEM needs to be unloaded, but there are current
     connections (see Statistics - Appendix D), the STOP command
     can be issued, which unloads the SEM, irrespective of
     current connections.  Corruption to the SoftSolutions
     indices can occur when using the STOP command.

     To stop a SEM:

       1. Display the appropriate SOFTSOLUTIONS 4.1 SEM screen on
          the server console.

          NOTE
               At the server console, use Ctrl-Esc for accessing
               a menu of the available screens.  Alt-Esc is a
               toggle for moving among all of the available
               screens.

       2. Type STOP.

             * The screen for the SEM will disappear leaving you
               at the file server colon prompt.

          NOTE
               This method unloads only the one SEM whose screen
               was displayed, even if there are any users or
               Indexers connected to the system at the time the
               STOP command is issued.  A confirmation to stop
               the SEM will be prompted, warning that unloading
               with outstanding connections could corrupt the
               SoftSolutions indices.

>> New Section:  Users  p. 27

Insert the following new section after the Unpausing section:

     USERS ______________________________________________________

     The screen to view all users currently connected to the SEM
     is accessed by typing USERS on the SEM command line.

     Ŀ
                List of All Currently Connected Users          
     Ĵ
      1 UserName                    2                         
      3                             4                         
      5                             6                         
      7                             8                         
      9                            10                         
     11                            12                         
     13                            14                         
     15                            16                         
     17                            18                         
     19                            20                         
     21                            22                         
     23                            24                         
     25                            26                         
     27                            28                         
     29                            30                         
     31                            32                         
     33                            34                         
     35                            36                         
     37                            38                         
     39                            40                         
     41                            42                         
     

        * To return to the main SEM screen, press any key.

        * Users appear and disappear from this screen as they
          connect and disconnect from the SEM.

        * The number of user names displayed here are always
          equal to the number of Current Connections displayed
          on the main SEM screen.  But, these numbers may not
          always appear to be exactly the same, since the time
          lag in switching between screens can cause differences
          as users connect to and disconnect from the SEM.

        * If a user is not logged into the SEM's file server, the
          user's network address is displayed.

>> SEM Commands, Appendix A  p. A-1

Add the following new SEM commands:

     BLOCKS         Specifies memory (64kb per block) to be
                    allocated for use by the SEM.

     MAXBLOCKS      Specifies the maximum number of blocks that
                    may be reserved for the SEM.

     STOP           Pauses a SEM without closing SoftSolutions
                    data files.  THIS COMMAND SHOULD BE USED WITH
                    CAUTION, SINCE IT CAN CORRUPT THE
                    SOFTSOLUTIONS INDICES.

     USER           Displays the LIST OF ALL CURRENTLY CONNECTED
                    USERS screen.

>> Statistics, Appendix D  p. D-1

The SEM screen has been updated to include information on block
allocation:

     Maximum Blocks Allowed : 5
     Blocks Allocated       : 3
     Blocks In Use          : 0
     Peak Blocks In Use     : 2

>> Statistics, Appendix D  pp. D-1, D-2

Add the following field descriptions:

     Maximum Blocks Allowed        Indicates the maximum number
                                   of 64kb memory blocks as set
                                   by the MAX BLOCKS command. 
                                   This is an upper limit that
                                   will not be exceeded by block
                                   allocation.  It is used in
                                   determining a balance between
                                   the SEM and file server's
                                   sharing of memory.

     Blocks Allocated              This value is set by the
                                   BLOCKS command, or is
                                   incremented when SoftSolutions
                                   must ask NetWare to allocate a
                                   block.  It is a way to
                                   manually control the number of
                                   blocks being allocated.

     Blocks In Use                 This display-only field shows
                                   the number of blocks currently
                                   in use.  Its value can vary
                                   from 0 to the MAX BLOCKS
                                   value.

     Peak Blocks In Use            This display-only field
                                   indicates the highest number
                                   of memory blocks allocated
                                   since the SEM was loaded.  As
                                   its value surpasses the Blocks
                                   Allocated value, the "Blocks
                                   Allocated" field is
                                   incremented to match (which
                                   means SoftSolutions had to
                                   request NetWare to allocate
                                   blocks).

                                   This value, when compared with
                                   the "Blocks Allocated" field's
                                   value, can indicate whether
                                   the SEM is less active than it
                                   might have been at an earlier
                                   time.  For example, if "Blocks
                                   Allocated" shows 11 and "Peak
                                   Blocks In Use" has been
                                   consistently showing 5 or 6
                                   each time the SEM is run, then
                                   the BLOCKS command should be
                                   issued and the block value set
                                   to 6.

>> Configuration File, Appendix E  p. E-1

Add the following new appendix.

                       CONFIGURATION FILE
                           Appendix E

     The SoftSolutions SEM uses the EXAMPLE.CFG template to
     create the SSSERVER.CFG configuration file (see step 2 under
     Installation on page 6).  SSSERVER.CFG is the default
     configuration filename.  The configuration file can be any
     DOS filename.

     When the SEM is loaded, if a configuration file is not
     specified, the SEM uses the default (SSSERVER.CFG), which
     will likely be exactly like the EXAMPLE.CFG file shipped
     with the SEM software.  Otherwise, configuration files are
     identified when the SEM is loaded by using the /C= switch. 
     In this way, multiple executions of the SEM are possible.

     IMPORTANT
          Novell, Inc. recommends using one configuration file
          PER DATASET, since each dataset can require differing
          amounts of memory for the SEM's operation.

     To have multiple SEMs running, the dataset name can be used
     for each dataset in place of the SSSERVER part of the
     filename.

     The configuration file can contain the BLOCK command to set
     the initial number of blocks to be allocated for a dataset
     when the SEM is loaded.  It can also contain the MAX BLOCKS
     command to initially set an upper limit.

     The configuration file for a dataset is automatically
     updated any time the BLOCKS or MAX BLOCKS command is used
     while the SEM for that dataset is running, or any time
     NetWare must dynamically allocate a block.  This means the
     administrator does not need to update the configuration file
     if the values observed on the SEM's screen are acceptable.

     Following is an example of a configuration file that also
     uses the memory block allocation commands:

          Data=WORK:\41\DATA
          Socket=34464
          Max Blocks=5
          Blocks=3
