This document describes the Kusari Licence Management System for the user of products which it controls.
Kusari looks for licence information based on the NAG_KUSARI_FILE environment variable. This variable should contain a file name (path), a licence server specification, or a comma-separated list of file names and licence servers. It can also specify that the licence is in the registry (#@R) or on a USB key (#@U).
A file name can contain any printing character except comma (,), semi-colon (;) or at-sign (@). A colon (:) is permitted only following a single drive letter at the beginning of the filename. For example, c:\somedir\somefile.something.
A licence server specification consists of a server name (or IP number) followed by a colon, and optionally by a port number. For example, some-machine.some-company.com:.
When a product requests a licence, Kusari will visit each file, or ask each server, in turn, until it finds one with a potential licence. It will then attempt to check out a licence from that source; if this fails the failure will be reported and no further sources will be checked.
If the environment variable NAG_KUSARI_FILE is not set, or if no potential licence has been found, Kusari will then look in the default locations for a licence; these are
The environment variable may be set as follows:
If Kusari searches the registry, it will look for product AASYSVVPC using the registry key SOFTWARE\Numerical Algorithms Group\AASYSVVPC under first HKEY_CURRENT_USER and then HKEY_LOCAL_MACHINE. If found, it will either use a licence (stored as Licence) or access a server specification (stored as Server). The klreg program can be used to store or display a licence key or server specification.
A single machine licence is provided in a licence file; this may be stored in the registry using klreg (see later section) or accessed directly by the software as determined by the NAG_KUSARI_FILE environment variable (see above).
A licence file may contain blank lines, comment lines (beginning with a '#' or '!' character, and licence key lines. Here is a sample licence file:
! Licence file for Fred Nurke's Machine. ! A full licence for the NAGWare f95 compiler, Release 4.1 NPW3241NA FULL "qfrdwhyMoQFkfpm5e6ESprJmtE" ! A trial licence for the NAGWare f95 compiler, Release 5.0 NPW3250NA TRIAL 2004/10/05 "EMnxidA3oeojOFlYvi5ibxPjB7" ! An annual licence for the NAG C Library, Mark 7: CLW3270NA NODE 2005/01/01 "xhhhTkzEiUPgdIpwIbCHgrBjjv" ! That's all folks.
Depending on the specific hardware features of a machine, a licence key line may contain multiple key specifications, e.g.
NPW3242NA FULL "xhhhTkzEiUPgdIpwIbCHgrBjjv" "EMnxidA3oeojOFlYvi5ibxPjB7"The purpose of the additional key(s) is to ensure that the licence software functions correctly even for machines with unusual hardware, and has no significance for the user. On some machines the key specifications take up more than one line, in which case each line except the last will end with an ampersand (&), and each line but the first will start with an ampersand; for example,
NPW3250NB FULL "GiioUjNInkfkuBl8HgbLgunh5y" "iBdlgdsxn9vl1Qggfc4NaPDkpK" & & "BVe3We9slESmL=glKl8fiXReQY"
When the evaluation is finished, it is recommended that the trial licence key lines be deleted from the licence file.
A node licence is indicated by the "NODE" or "NODEG" keyword, and contains an expiry date and a licence key.
When a licence is renewed, the old licence key line must be deleted and the new licence key line inserted.
A perpetual licence is indicated by the "FULL" keyword, and contains a licence key but no expiry date.
NPW3251NA SERVER some-machine.some-company.com: SERVER another-machine.some-company.com:The first line redirects Kusari to the named server for the product NPW3251NA only. The second line redirects Kusari to the named server for all products.
Site licences are provided by licence servers; the licences provided by a particular server are contained in its control file.
All site licences provide access to the software to anyone at a site who can communicate with the licence server (over the local network).
Thus successful use of a site licence from a user program requires the following:
The installation process for a licence server is described in the Kusari Installation Guide.
One licence is required for each combination of user id and machine for which concurrent use is required; for example, two different users on the same machine will require two licences, as will the same user on two different machines. However, only one licence is required for multiple uses by the same user on a single machine.
If the licence server cannot grant a licence request for a product because all of its floating licences have already been checked out, the product will either queue for a licence to become available or terminate with an error message. The default action is to queue for a licence, unless a product-specific option has been used (e.g. for the f95 compiler the -noqueue option) or the NAG_FLOATING_NOQUEUE environment variable is set.
When a program has to wait for a floating licence, it may (depending on the software product) display an informative message indicating that it is queued. This message also indicates the position in the queue. When a licence is finally received, an informative message may be produced; the program will then continue its normal execution.
The klreg program is provided for handling Kusari licences in the Windows Registry. Note that Administrator privilege is required for modifications that affect all users (and that is their default), non-administrator users can only affect the settings for themselves.
This program is a command-line program that must be executed from a command prompt.
Also, if several licences are in the file licence.dat, they may all be
loaded with the single command
klreg -load licence.dat
To display the information in the registry about all NAG products:
If the application reports ``Error: Licence file not found'', check