QEF home page

Appendix B: QEF Licences and Associated Procedures

The Guide's Table of Contents Previous Chapter Bottom Of Page Next Chapter

How QEF is licenced and how new licences are acquired and installed.


The QEF system uses licences to restrict legal use of the qef program to a limited number of users. As part of its initialization, the qef program will request a licence from the QEF server qdsrv. A licence is granted to a user on a host for five minutes. A licence can be renewed for another five minutes as many times as necessary. If a qef process requests a licence and none are available, qef issues a warning, sleeps for two seconds -- a mild slap on the wrist -- and then continues execution.

B.1) Types of QEF Licences

The QEF licence system use four different types of licences:
System Unlimited Use of the named system is unlimited. All requesting users on the system will be granted a licence.
System Limited The system is licenced and requesting users on such a system will share the pool of regular and demo licences. If the system type for the requesting user does not have a limited or unlimited system licence, a licence will not be granted even if regular or demo licences are available.
Regular Licences Regular licences are issued when requested for five minutes. The user/host requesting the licence may refresh if for another five minutes. Such a request is made by any nested invocation of qef as part of its initialization. If five minutes has elapsed since the licence was issued or the last refresh request, the licence may have been released to another user. If another licence is available it will be issued. Otherwise the user is warned, qef pauses as a mild rebuke, and then continues.
Demo Licences Demo licences are handled and managed just like regular licences. The only difference is that demo licences have an expiry date after which the licence will no longer be available. A single demo licence for 60 days is created at system installation time, provided there weren't already licences in place.

B.2) Licence Management Tools

There are four tools provided for licence information and management.
qdsrv The licences are kept in the file <qtree>/data/licences.db. This file is read by qdsrv on initialization or whenever it is sent the licread message (usually via qdmgt). qdsrv supports the following licence management requests and queries:

MessageInterpretation
licadd keys ...add new licences
licchk sysreturn type and number of licences for system sys (see below)
licencessame as liclist
licget sysreserve a licence for 5 minutes for user/host on sys
lickeyoutputs header key used to get new licences
liclistlist the current licences and their statuses (see below)
licreadreread the licence database
licrefresh sysrefresh a licence for another 5 minutes for user/host on sys

The output for most of the above is fairly simple, however, two merit illustration and explanation:

    % qdmgt liclist
    Header: ab2000118.6
    Systems with unlimited licences:
	    linux2
    Supported systems:
	    sun5
    bb0000001: assigned to dt@matt (expires in 273 seconds)
    bb0000002: unassigned
    bb0000003: unassigned
    Demo(1) 2000/06/27: unassigned
The Header entry in the above is the key used to request new licences. The "ab" indicates the number of times the database has been updated in two alpha-digit theatre numbering. The "2000118" is the date of the initial creation in yyyyjjj form and the ".6" is the number of licence nodes in the database.
    % qdmgt licchk linux2
    ab2000118.6 1 3 1
The first field is the database header key. The three numbers are
  1. the type of licencing for the requested system (1 for unlimited, 2 for limited, and 0 for none)
  2. the number of regular licences, irrespective of system
  3. the number of demo licences, irrespective of system.
qdmgt As illustrated above, qdmgt is used to interface to the qdsrv to manage licence management requests. Requests for licences are usually restricted to qef
qlicedmp qlicedmp may be used to retrieve information about the current licence database. For the most part, qlicedmp just duplicates functionality provided by qdsrv but can be used when the latter is not running or the version or its database is suspect.
Note:qlicedmp will normally examine the <qtree>/data/licences.db database which might not be the database being used by qdsrv as it is being run on a remote host with a different <qtree>/data directory.
qliceadd qliceadd is used to add new licences to the licence database. This is done directly by modifying the licence database or by using the qdsrv licadd support.
Note: As is the case with qlicedmp, qliceadd may modify a database that is not the same as that being managed by qdsrv as the latter has a different <qtree>/data directory.
Note: If qdsrv is running, it should be used to add new licences. However, if qliceadd to update the file itself, then:
    % qdmgt licread
must be run to update the copy of the database internally stored in the running qdsrv process.

B.3) Acquiring and Installing New Licences

To acquire new licences:

  • Run:
        % qdmgt lickey
    or if qdsrv is not being run:
        % qlicedmp -k
    and record output header key.

  • If requesting licences for a new system or an unlimited licence for a system, run:
        % system -v
    and record the name.

  • Mail your request, along with the header key, system name to support@qef.com.

  • Once financial agreement has been reached, one of more keys each consisting of 28 characters, such as:
            6Oy4GK+HOvXEfzsSGk@Lw6zvxyQG
    will be mailed to you.

  • Run:
        % qdmgt licadd keys ... # must specify all keys at once
    or
        % qliceadd keys ...
The latter command updates the <qtree>/data/licences.db file. The latter file should be the one that will be read by qdsrv.
Note:To facilitate saving and using the keys:
    % ct
    # use mouse to select and paste keys
    ^D
then use pa to paste keys as arguments, as in:
    % qdmgt licadd `pa`

x020.qh - 8.8 - 00/05/30 QEF Home The Guide's Table of Contents Previous Chapter Top Of Page Next Chapter