================================================================================
Elan License Manager*
Version 3.0.5
Release Notes
Harris Computer Systems Corporation
1. Introduction
Elan License Manager(TM) is a software package that controls single-
or multi-user access to software applications in a single-user or
networked multi-user environment.1 The principal functions of Elan
License Manager include:
o User Based Licensing - To allow per-user floating licensing that
controls the number of concurrent users for an application.
Licenses are not provided to machines, but to users.
o Component Licensing - The ability to license features or
components of an application individually.
o Timed Software - The ability to establish an expiration date on
software for creating evaluation or trial copies.
o Copy Protection - A form of copy protection ensures that licensed
software applications will only operate on an authorized CPU or
network. Unlike MS-DOS copy protection, this copy protection
scheme still permits backup copies, changing disks,
reinstallation, etc.
Certain Harris applications are now released as licensed products
using the Elan License Manager. The elanlm product is required to
__________
* These release notes cover the following products: elanlm
1. Much of the text of this paper comes from the Elan License Manager
Technical Overview and the Elan License Manager Programmer's Guide
by the Elan Computer Group, Inc., and is used with their
permission.
- 1 -
Elan License Manager 3.0.5 Release Notes
manage the licenses required by those products.
The Elan License Manager is based on the client/server model with a
license manager running on one or more servers and the application
running on one or more clients. The server and client may be the same
machine or they may be different machines.
The license manager maintains a central database of licenses and
activity. The license manager verifies valid clients, grants licenses
to valid client applications, and collects the licenses when the
application terminates. The license manager runs as a daemon invoked
at system start-up.
The application may run on the server or on one or more clients on a
network. Applications communicate with the license manager via
sockets using datagram connections to request and return licenses.
Licenses are available to anyone on the network or CPU - the
applications need not be tied to any particular nodes (although they
can be). This scheme of flexible licensing has been coined dynamic
licensing or floating licensing. It is far more convenient than the
older "one copy on one CPU" license scheme, and it increases the
availability of the application within the site at no increase in
cost.
Elan License Manager licenses objects called features. Features can
be considered components or major functions of an application.
Applications can have one feature (i.e. the ability to invoke the
application) or many. Each feature may have its own license count and
expiration date.
Obtaining and administering licenses for application features is
described later in this document.
2. Documentation
The following table lists the documentation available with this
release of the Elan License Manager.
____________________________________________________
| Manual Name Pub. Number |
|___________________________________|_______________|
| Elan License Manager Release Notes| 0891055-3.0.5|
| | |
|___________________________________|_______________|
|___________________________________|_______________|
- 2 -
Release Notes 3.0.5 Elan License Manager
| | |
| | |
Copies of the Harris documentation can be ordered by contacting the
Harris Software Support Center. The toll-free number for calls within
the continental United States is 1-800-245-6453. For calls outside
the continental United States, the number is|1-954-971-6248.|
| | |
| | |
| | |
3. Prerequisites | |
| | |
Prerequisites for Elan License Manager Version 3.0.5 are described in
sections|3.1 and 3.2. | |
| | |
3.1 Software Prerequisites | |
| | |
o PowerUX operating system release 2.1 or|later. |
| | |
3.2 Hardware Prerequisites | |
| | |
o None. | |
| | |
| | |
| | |
4. Installation | |
| | |
The elanlm product is installed as a software package using the
Software|Packaging Tools. Please refer to the the chapter "Installing
Add-On Software" in the PowerUX System Administration Manual, Volume 1
(Pub. No. 0890429), applicable platform PowerUX Release Notes, and the
pkgadd(1M) command for instructions on software installation.
| | |
The elanlm product need be installed on a particular system only if:
| | |
o Licensed applications (e.g., any of the|NightStar tools) will be
used at this site, and | |
| | |
o This system will be used as one of the systems on the local
network that runs the license manager, or users on this|system
should be allowed to run the license manager reporting commands.
| | |
|
4.1 Installation Options
During installation, the installer is asked if the license manager
daemon, elmd, should be started at boot time on this system. If the
answer is "yes", then the script
- 3 -
Elan License Manager 3.0.5 Release Notes
/etc/init.d/Selmd
is linked into the directory of commands that are executed at each
system boot. You may use this command to start the daemon at times
other than system boot.
See elmd(1) and elm_resource(5) for more information about starting
the license manager daemon.
4.2 Obtaining Licenses
Licenses are granted by obtaining a key from Harris that is generated
specifically for your CPU or network and encodes the number of
licenses and their expiration date. You must obtain the appropriate
keys before you can run licensed products. Each Harris product that
requires a license will describe in its documentation what components
of the product are licensed.
The steps for obtaining and installing licenses are:
1. Read the release notes for the product that you wish to obtain
licenses for and find the feature alias (usually a derivative of
the name of the product).
2. Determine the number of license managers you wish to run at your
site and the machines where they will run (see below).
3. On one of the machines where you will run a license manager, run
the program elmadmin:
$ elmadmin -c -n -e /usr/lib/harris_licenses name
where name is the feature alias provided in the documentation for
the product that is to get a license. You will be asked for the
number of managers (servers) you wish to run and, if more than
one, the host names for each. When you have answered all
questions, elmadmin will display a server code for each server
where you will run a license manager. The program will then
prompt you for a key that you must now obtain from Harris.2
__________
2. If you cannot contact Harris immediately, it is safe to interrupt
the elmadmin program at any point. Rerunning it later after
contacting Harris and entering the same responses will generate
the same server codes.
- 4 -
Release Notes 3.0.5 Elan License Manager
4. Contact Harris Software Distribution at 1-800-666-5405
(continental United States only) or 1-954-973-5405 to obtain your
key. You will need to provide the feature alias and each server
code generated by elmadmin.
5. Enter your key for elmadmin. The licenses are now initialized
and you should be able to run the protected application.
Here is a sample dialogue with elmadmin.
$ elmadmin -c -n -e /usr/lib/harris_licenses NightView
On how many hosts will you run the license server? (default=1):
Code for server elan is: 0245 8672 9914 7243
Please enter your key: 0589 7713 2354 6209
The system administrator may need to interact with the license manager
using the feature name. The feature name is a five-digit number that
the feature alias is associated with. The feature name will be
provided in the application's documentation. When placing entries in
the resource file (see below), be sure to use the numeric feature name
and not the feature alias.
5. Cautions
All Harris applications use numeric license keys. This means that
license keys (provided by Harris) and server codes (generated by the
elmadmin program) all look similar to credit card numbers, for
example:
0145 3482 6579 1462
If you use elmadmin to generate a server code and it does not look
vaguely like a credit card number, then you probably did not use the
-n option flag. Re-run the command with the -n option.
- 5 -
Elan License Manager 3.0.5 Release Notes
6. Product Description
This section describes the administration of feature licenses using
Elan License Manager.
6.1 License Allocation
Elan License Manager implements two principal schemes of licensing:
floating and non-floating licenses. As a refinement, the features of
reserving and holding licenses are also available. These concepts
will be discussed in the following sections. See elm_resource(5) for
additional information.
6.1.1 Floating_Licenses
Licenses are generally available to anyone on a network who can reach
the server running the license manager daemon. As such, these
licenses are known as floating licenses - the licenses float on the
network and anyone on the network can use them. When 100 licenses,
for example, are encoded in the license key for a product, then any
100 users on the network can use the product concurrently.
When the concurrent usage reaches the licensed number, 100 in this
example, a subsequent request to use the product will be denied
because all licenses are currently in use.
6.1.2 Node-Locked_Licenses
It is occasionally desired that licenses not float on a network.
Usually the facilities of the resource file (see below) can be used to
restrict a license to a particular system. Alternatively, the site
can request that their licenses be node-locked on a per-CPU basis.
The licenses will only be available on the CPU that the license
manager daemon is running on.
Node-locked licenses must be specified when contacting Harris for the
license key.
If at a later time floating licenses are desired, the non-floating key
can be converted to a floating license key simply by requesting a new
key from Harris.
- 6 -
Release Notes 3.0.5 Elan License Manager
6.1.3 Reserved_Licenses
Whether licenses float on a network or not, sometimes you would like
to reserve licenses for particular people, groups, or even machines.
For example, let's say a company of 400 employees purchases 100
floating licenses for a product. However, the company would like
their simulation department of 20 to always have access to the
application. In the resource file, these 20 people can be named and
20 licenses reserved for them.
Similarly, a company may buy many floating licenses for a diagnostic
package, but they would like the lab machines to always have access to
the package. The resource file may list these machines, and reserve
some licenses for these particular machines. The remainder of the
licenses will float.
The resource file looks similar to the /etc/group file. Here's an
example portion of a resource file:
11000:development:jim,tom,bill,cindy,brad:10:0
11000:simulation:barbara,vince,todd:2:0
11000:proj-lead:eddy:1:0
11000:demo-room:@demosys.mycorp.com:1:0
In the example above, 10 licenses for NightView (the feature name for
NightView is "11000") have been reserved for the development
department, 2 licenses for a group of 3 in the simulation department,
1 license for the boss, eddy, and 1 license has been reserved for the
demonstration room machine named demosys.mycorp.com. The remaining
licenses, if any, will float as usual.
Notice that one may reserve fewer licenses than there are group
members. We have done this in our example above with the simulation
group. In such a case, any member of this group will acquire a
license from the reserved pool first, thus affording a high
probability to this group of obtaining a license. If the reserved
pool is already fully allocated, however, licenses are taken from the
remaining non-reserved pool.
The resource file may be used for floating or non-floating licenses
alike. The distinction is simply that the non-floating licenses stay
with a particular machine. Licenses may still be reserved for
individuals. It makes little sense, of course, to reserve to a
machine name in the resource file if the licenses are already non-
floating.
Please refer to elm_resource(5) and elmd(1) for more details on the
resource file.
- 7 -
Elan License Manager 3.0.5 Release Notes
6.1.4 Excluded_Users
Users and/or hosts may be excluded from using specified features by
listing them in the resource file with the word EXCLUDE in the license
count field. For example:
11000:mother-in-law:harriet,@wanda:EXCLUDE:0
would disallow harriet or anyone logged onto machine wanda from
checking out licenses for NightView. EXCLUDE-ed users must be listed
before any reserved licenses.
6.1.5 Domain_Licensing
It may be desirable to limit clients that may check out licenses by
network domain. For example, a system administrator may wish to limit
certain licenses only to the network domain servicing the department
that purchased the license.
For example, if a company owned a Class-A network but was also on the
Internet, the administrator might wish to limit license server
requests from only those on the Class-A network.
License requests may be limited to a domain of clients via the
resource file. The token %IPACCEPT followed by a mask, specified in
the resource file, limits client accesses to mask.
The mask appears in the resource file as a line of the form:
%IPACCEPT mask
where mask is a 4-tuple of expressions "e" separated by periods:
"e.e.e.e". Each e may be any one of the following, or a comma
separated list of any of the following:
N A decimal integer between 0 and 255.
N-M An integer range. N and M should be decimal integers
between 0 and 255, and N should be less than M.
* An asterisk matches all integers.
THIS The word "THIS" (or "this") means the server's IP octet
value in the designated position. For example, if the
server address were 192.100.42.16, then "THIS.*.*.*" would
be the same as "192.*.*.*" and "THIS.THIS.THIS.*" would be
the same as "192.100.42.*".
- 8 -
Release Notes 3.0.5 Elan License Manager
For example, a mask of:
THIS.*.*.*
would limit requests from only those on the same Class-A network as
the license server. Also,
THIS.100,200-224,226.*.*
would limit requests from only those on the same Class-A network and
from Class-B subnetworks 100, 200 through 224, and 226.
6.1.6 Held_Licenses
Held licenses are those licenses that are held or retained as checked
out by the license server after an application exits. These licenses
are each marked with the original owner's user and host name, and are
held for a specific duration, the hold period, for this person's
reuse. If before the expiration of the hold period, the same person
(the same user@host) requests a license that is held, the held license
will be transferred to him. When the hold period passes, however,
such licenses are freed to the free license pool for anyone's use.
Held licenses are useful for several different purposes.
1. A minimum license usage period may be established for short-lived
applications. For example, a compiler often runs for a brief
period. As such, a standard floating license per se may not be
an effective form of licensing since, by probabilities, it will
usually be checked in and, therefore, usually be granted to
anyone who asks for it. However, if the application has a
minimum usage period of, say, 10 minutes, a more equitable per-
license usage will be realized. The held license feature may be
used to implement such a scheme.
2. When a series of applications are used together, perhaps in a
series from a shell script, holding a common feature license for
as little as a minute will guarantee that each application in
series will still be able to obtain a license and the user will
not be stalled in the midst of a job.
3. A user or, more often, system administrator, may wish to allow
users to exit and shortly thereafter re-enter an application and
not have their license lost to another. That is, a license may
be held for, say, 5 minutes after the application exits, allowing
a user to re-enter without there being a chance of the license
not being available.
- 9 -
Elan License Manager 3.0.5 Release Notes
A minimum hold period may be defined by the application. A hold
period greater than the minimum hold period (if one) may be designated
by the user or system administrator via the resource file.
The final entry in each resource file line is the hold period for this
group in seconds. For example,
11000:proj-lead:eddy:1:900
11000:demo-room:@demosys.mycorp.com:0:600
11000:others::0:60
In this example, when eddy uses NightView, the license will be held
for him for 15 minutes (900 seconds) after exiting the application.
In the second example, if anyone uses NightView on the machine
demosys.mycorp.com, their license will be held for 10 minutes.
In the third example, everyone else (indicated by an empty member
list) will have their license for NightView held for 1 minute after
exiting the application.
If the value in the held field is less than the minimum hold period
defined by the application, the minimum is used.
6.2 Redundant License Servers
Many customers will install applications on a single system, usually a
file server, and run a single license server on the same system. Of
course, if this file server goes down they will no longer have access
to the application - or any other files on the server, for that
matter.
In some cases, however, it is desirable to maintain one or more backup
systems, such that if the main file server crashes work can be
continued on a backup file system. The application and all support
files must be installed on the backup file server, and the license
manager must also be installed on these systems to afford license
control from these backup servers.
Elan license manager supports redundant license servers with a
technique similar to other fault-tolerant systems such as the space
shuttle. The license server, elmd, may be run on multiple servers
with a special key called a redundant license key. The redundant key
is distinct from a standard key in that it encodes the system IDs for
all systems that are authorized to run the license server. This key
is shared among all redundant servers. A redundant key is generated
by supplying server codes for each of the systems where the license
manager is run.
- 10 -
Release Notes 3.0.5 Elan License Manager
The set of systems that the license manager runs on can be changed at
any time by requesting a new key from Harris with server codes for the
new machines (or possibly the one single machine) that the license
manager is to be run on.
When the redundant model is used, all license servers on a network
will communicate with each other and maintain status information on
each other. When a cluster of elmds are started on a network, one
automatically receives the status of master, and the remaining elmds
receive the status of shadow. Client communication is automatically
routed to the current master for license acquisition and
authentication.
For security, the license manager requires that a majority of license
servers remain running. The reason for this requirement is that if a
network were broken in two, then each section would have to decide who
can continue to issue licenses. If both continued, each would be
authorizing licenses - twice as many licenses as are valid. However,
since only one side can mathematically have a majority of the original
number of servers, the remaining majority only wins and takes over
license distribution. The minority side (or sides) will become
inactive.
In order for a majority side to exist, the original number of servers
must be an odd number.
When using elmadmin to generate server codes and install a license
key, a key file will be created on the machine where elmadmin is to
run. The key file must be made accessible to the other servers by one
of the following methods:
1. placing the key file in a file system shared by all machines, or
2. by copying it to a location on each machine.
For convenience it is preferable to place the key in the same
directory path on each system. If this is not practical, use the -e
option of elmd on each system to specify the key location.
The host name of each of the redundant servers should be mentioned in
the resource file. This may be done by placing lines of the form:
%SERVER hostname
into the resource file, where hostname is the name of one of the
hosts. There should be one line for each of the redundant servers.
- 11 -
Elan License Manager 3.0.5 Release Notes
6.3 Running License Managed Applications
When running an application whose usage is managed by the Elan license
manager, be prepared for the application to exit immediately upon
invocation if there are not enough licenses or if the license manager
is down (or if the application cannot connect to the master server).
The documentation for each application will state what happens when a
license is unavailable when you try to run it, or if the license is
lost during execution of the application.
Usually an application must send a broadcast request on the network to
locate the master license server. If you know the hostname that the
license server is running on, you may set the environment variable
"HARRIS_ELMHOST" to the hostname and avoid the network broadcast. The
variable may also contain a list of hostnames, separated by colons.
In this case, parallel connections are attempted to all the listed
hosts and the first to reply will handle the license management. For
example, to restrict the license manager handling your applications to
a manager on only one of the systems hoss, ben, or littlejoe, use
HARRIS_ELMHOST=hoss:ben:littlejoe
export HARRIS_ELMHOST
Usually, the application will broadcast to all the specified hosts in
parallel. To serialize the attempts, preface the host list by an "@"
sign. This will try each host until it times out and then try the
next, stopping with the first responsive host. When you have only one
host in your list, it is best to use the @ prefix.
By default, the Harris implementation of the Elan license manager uses
socket port 6461. If this port number conflicts with an application
at your site, you may change it by modifying the /etc/services file by
adding a line of the form:
harris_elmd 1234/udp harris-license-server
where the "1234" here is an otherwise unused port number of your own
choosing.
6.3.1 Error_Messages
The following messages can be produced during failed attempts to start
an application that must connect to the license manager.
License server initializing; please wait
or...
- 12 -
Release Notes 3.0.5 Elan License Manager
License server coming up in n seconds; please wait
or...
License server coming up in n minutes; please wait
The license server has just started and the application must wait
for the server to complete its initialization, this includes
waiting for a synchronization period specified with the -s option
to elmd.
License server is down
No operational license server could be found running on the
network. Check the value of the HARRIS_ELMHOST environment
variable if set.
Insufficient servers running
The client is running with redundant servers but there are not
enough servers active. For license validation purposes, a
majority of servers must remain active in the redundant mode.
License server host unknown
The hostname is not valid. Check that the HARRIS_ELMHOST
environment variable, if set, is set to the name of the proper
host for the license manager daemon and that that hostname
appears in the /etc/hosts file.
No licenses are currently available
There are no licenses available for the designated feature.
License authorization failure
Authorization failure. Client or daemon fraud or an attempt to
acquire a non-floating license from another host.
License has expired
The feature license has expired or there was a date validation
error.
Communications socket failure
A socket(2) connection failed, probable network failure.
Network error: unable to send message to license server
A sendto(2) system call failed when trying to send a message to
the license daemon, probable network failure.
License lost
A reconnect after a server crash failed to reestablish all the
client's prior licenses. That is, one or more licenses was
denied for some reason during a reconnect.
- 13 -
Elan License Manager 3.0.5 Release Notes
No license file found for feature
or...
No such feature
There is no license key file installed for the specified feature.
6.4 Administrative Commands
The Elan license manager product includes these administrative
commands:
elmd The license server controlling all licensing checkouts
and reclaims. This daemon program runs on the server
and issues and collects license requests. elmd is
initiated at boot time by the Selmd boot script.
elmadmin Creates license keys, performs daemon control
functions, and lists current license activity.
elmalert Provides an end-user or system administrator
information regarding when licenses are near expiration
or when a license for a particular feature becomes
available. Notification may be done via screen message
or by email.
elmrpt Provides a summary report on daily license activity,
indicating the number of license requests, the number
issued, and the number denied. It optionally gives a
day to day breakdown or total breakdown. When using
this command, it is necessary to specify the log file
name as a command line parameter, usually
"/usr/adm/elm.log".
elmusage Produces a snapshot report of current license activity,
updating every 10 seconds.
elmver A diagnostic tool that may be used to extract version
information from applications managed with the Elan
License Manager.
elmd is installed in the /usr/lib/harris_licenses/bin directory.
Other commands are installed in the /usr/bin directory.
Online reference manual pages for each of these commands are available
as part of this product. In addition, elm_resource(5) describes the
format of the resource file.
- 14 -
Release Notes 3.0.5 Elan License Manager
6.5 Operation on a Secure System
Certain privileges are required to run license-managed applications
and the license manager administrative commands on a PowerSX system
using the LPM (Least Privileged Mode) security model. Applications
and administrative commands initially have an appropriate set of
privileges to allow their use in this environment. However, the
system administrator of a secure system may wish to adjust these
privileges to meet special needs of the site's security policy. This
section provides background information to assist in that task.
Information about privileges and administration of secure systems can
be found in System Administration Volumes 1 and 2 (Pub. Numbers
0890429 and 0890430) and in intro(2). The following table shows the
initial assignment of privileges to commands.
__________________________________________________________________________
| Privilege | Program | Reason |
|___________________|____________________|________________________________|
|___________________|____________________|________________________________|
| P_DACREAD | elmrpt | Allows privileged users access|
| P_MACREAD | | to the server log file that |
| (both inherited)| | might not otherwise be |
| | | accessible |
|___________________|____________________|________________________________|
| P_DACREAD | elmd | Allows access to |
| P_MACREAD | | communications channels, |
| (both fixed) | | license files, and log file |
|___________________|____________________|________________________________|
| P_DACWRITE | elmadmin | Allows access to |
| P_MACWRITE | elmd | communications channels, |
| (both fixed) | | license files, and log file, |
| | | used by elmadmin when creating|
| | | a license file |
|___________________|____________________|________________________________|
| P_DEV | elmd | Allows connection between the |
| (fixed) | elmadmin | license manager server and the|
| | elmalert | administrative commands or |
| | elmusage | applications |
| | clients | |
|___________________|____________________|________________________________|
| P_FSYSRANGE | elmadmin | Allows installation of a key |
| (fixed) | | file in the system level key |
| | | file directory, used by |
| | | elmadmin when creating a |
| | | license file |
|___________________|____________________|________________________________|
|___________________|____________________|________________________________|
- 15 -
Elan License Manager 3.0.5 Release Notes
| | | |
| | | |
|7. Direct Software|Support | |
| | | |
|Software support is|available from a central source. If you need |
|assistance or information about your system, please contact the Harris |
|Software Support Center at our toll free|number (1-800-245-6453). Our |
|customers outside the continental United|States can contact us |
|directly at 1-305-971-6248. The Software Support Center operates |
|Monday through Friday from 8 a.m. to 7 p.m., Eastern Standard time. |
| | | |
|Calling the Software Support Center gives you immediate access to a |
|broad range of skilled personnel and guarantees you a prompt response |
|from the person most qualified to assist|you. If you have a question |
|requiring on-site assistance or consultation, the Software Support |
|Center staff will arrange for a field analyst to return your call and |
schedule a visit.
Harris provides a Software Action Request (SAR) form which our
customers can fill out and submit to their local field analyst or the
Software Support Center. This procedure ensures that your request is
entered into our SAR database for follow-up and action.
To obtain copies of SAR forms, call the Software Support Center and
request form number CSD1833B.
- 16 -
Contents
1. Introduction.................................................. 1
2. Documentation................................................. 2
3. Prerequisites................................................. 3
3.1 Software Prerequisites................................... 3
3.2 Hardware Prerequisites................................... 3
4. Installation.................................................. 3
4.1 Installation Options..................................... 3
4.2 Obtaining Licenses....................................... 4
5. Cautions...................................................... 5
6. Product Description........................................... 6
6.1 License Allocation....................................... 6
6.1.1 Floating Licenses................................. 6
6.1.2 Node-Locked Licenses.............................. 6
6.1.3 Reserved Licenses................................. 7
6.1.4 Excluded Users.................................... 8
6.1.5 Domain Licensing.................................. 8
6.1.6 Held Licenses..................................... 9
6.2 Redundant License Servers................................ 10
6.3 Running License Managed Applications..................... 12
6.3.1 Error Messages.................................... 12
6.4 Administrative Commands.................................. 14
6.5 Operation on a Secure System............................. 15
7. Direct Software Support....................................... 16
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
Elan License Manager
Version 3.0.5
Release Notes
0891055-3.0.5
June, 1996
_________________________________________________________________
Trademark Acknowledgments
Elan License Manager
is a trademark of Elan Computer Group, Inc.
NightStar is a trademark of Harris Computer Systems
Corporation.
NightView is a trademark of Harris Computer Systems
Corporation.
Night Hawk is a registered trademark of Harris Computer Systems
Corporation.
Power Hawk is a trademark of Harris Computer Systems
Corporation.
PowerUX is a trademark of Harris Computer Systems
Corporation.
PowerSX is a trademark of Harris Computer Systems
Corporation.
Real-Time/PowerUX
is a trademark of Harris Computer Systems
Corporation.
UNIX is a registered trademark licensed exclusively by
the X/Open Company Ltd.
.
return to index
================================================================================
================================================================================
Elan License Manager*
Version 4.1.3
Release Notes
Harris Computer Systems Corporation
1. Introduction
Elan License Manager(TM) is a software package that controls single-
or multi-user access to software applications in a single-user or
networked multi-user environment.1 The principal functions of the Elan
License Manager include:
o User Based Licensing - To allow per-user floating licensing that
controls the number of concurrent users for an application.
Licenses are provided to users, not machines.
o Component Licensing - The ability to license features or
components of an application individually.
o Timed Software - The ability to establish an expiration date on
software for creating evaluation or trial copies.
o Copy Protection - A form of copy protection ensures that licensed
software applications operate only on an authorized CPU or
network. Unlike MS-DOS copy protection, this copy protection
scheme still permits backup copies, changing disks,
reinstallation, etc.
Certain Concurrent applications are now released as licensed products
using the Elan License Manager. elanlm is required to manage the
__________
* These release notes cover the following products: elanlm
1. Much of the text of this paper comes from the Elan License Manager
Technical Overview and the Elan License Manager Programmer's Guide
by the Elan Computer Group, Inc., and is used with their
permission.
- 1 -
Elan License Manager 4.1.3 Release Notes
licenses required by those products.
The Elan License Manager is based on the client/server model with a
license manager running on one or more servers and the application
running on one or more clients. The server and client may be the same
machine or they may be different machines.
The license manager maintains a central database of licenses and
activity. The license manager verifies valid clients, grants licenses
to valid client applications, and collects the licenses when the
application terminates. The license manager runs as a daemon invoked
at system start-up.
The application may run on the server or on one or more clients on a
network. Applications communicate with the license manager via
sockets using datagram connections to request and return licenses.
Licenses are available to anyone on the network or CPU - the
applications need not be tied to any particular nodes (although they
can be). This scheme of flexible licensing has been coined dynamic
licensing or floating licensing. It is far more convenient than the
older "one copy on one CPU" license scheme, and it increases the
availability of the application within the site at no increase in
cost.
Elan License Manager licenses objects called features. Features are
considered components or major functions of an application.
Applications can have one feature (i.e. the ability to invoke the
application) or many. Each feature may have its own license count and
expiration date.
Obtaining and administering licenses for application features is
described later in this document.
2. Documentation
The following table lists the documentation available with this
release of the Elan License Manager.
____________________________________________________
| Manual Name Pub. Number |
|___________________________________|_______________|
| Elan License Manager Release Notes| 0891055-4.1.3|
| | |
|___________________________________|_______________|
|___________________________________|_______________|
- 2 -
Release Notes 4.1.3 Elan License Manager
| | |
| | |
You can order copies of the Concurrent documentation by contacting the
Concurrent Software Support Center. The toll-free number for calls
within the continental United States is 1-800-245-6453. For|calls
outside the continental United States, the number is 1-954-971-6248.
| | |
| | |
| | |
3. Prerequisites | |
| | |
The following describes the software and hardware prerequisites for
Elan License Manager Version 4.1.3. | |
| | |
3.1 Software Prerequisites | |
| | |
o PowerMAX OS release 4.1 or later. | |
| | |
3.2 Hardware Prerequisites | |
| | |
o Any|Series 6000, Power Hawk, or Power MAXION system. |
| | |
| | |
| | |
4. Installation | |
| | |
The elanlm product is installed as a software package by using the
Software|Packaging Tools. Please refer to the chapter "Installing
Add-On Software" in the PowerMAX OS System Administration Manual,
Volume 1|(Pub. No. 0890429), applicable platform PowerMAX OS|Release
Notes, and the pkgadd(1M) command for instructions on software
installation. | |
| | |
The elanlm product needs to be installed on a particular system only
if: | | |
| | |
o Licensed applications (e.g., any of the|NightStar tools) are used
at this site, and | |
| | |
o This system is used as one of the systems on the local network
that runs the license manager, or users|on this system should be
allowed to run the license manager reporting commands.
- 3 -
Elan License Manager 4.1.3 Release Notes
4.1 Installation Options
During installation, the installer is asked if the license manager
daemon, elmd, should be started at boot time on this system. If the
answer is "yes", then the script
/etc/init.d/Selmd
is linked into the directory of commands that are executed at each
system boot. You may use this command to start the daemon at times
other than system boot.
See elmd(1) and elm_resource(5) for more information about starting
the license manager daemon.
4.2 Obtaining Licenses
Licenses are granted by obtaining a key from Concurrent. This key is
generated specifically for your CPU or network and encodes the number
of licenses and their expiration date. You must obtain the
appropriate keys before you can run licensed products. Each
Concurrent product that requires a license describes in its
documentation which components of the product are licensed.
The steps for obtaining and installing licenses are:
1. Read the release notes for the product that you wish to obtain
licenses for and find the feature alias (usually a derivative of
the name of the product).
2. Determine the number of license managers you wish to run at your
site and the machines where they will run (see below).
3. On one of the machines where you run a license manager, run the
program elmadmin:
$ elmadmin -c -n -e /usr/lib/powerworks_licenses name
where name is the feature alias provided in the documentation for
the product that is to get a license. You will be asked for the
number of managers (servers) you wish to run and, if more than
one, the host names for each. When you have answered all
questions, elmadmin displays a server code for each server where
you run a license manager. The program then prompts you for a
key that you must now obtain from Concurrent.2
- 4 -
Release Notes 4.1.3 Elan License Manager
4. Contact Concurrent Software Distribution at 1-800-666-5405
(continental United States only) or 1-954-973-5405 to obtain your
key. You need to provide the feature alias and each server code
generated by elmadmin.
5. Enter your key for elmadmin. The licenses are now initialized
and you should be able to run the protected application.
Here is a sample dialogue with elmadmin.
$ elmadmin -c -n -e /usr/lib/powerworks_licenses NightView
On how many hosts will you run the license server? (default=1):
Code for server elan is: 164/4740 3372 7053 529
Please enter your key: 7904 5468 9191 3650 6599 9064 8
The system administrator may need to interact with the license manager
using the feature name. The feature name is a five-digit number that
the feature alias is associated with. The feature name is provided in
the application's documentation. When placing entries in the resource
file (see below), be sure to use the numeric feature name, not the
feature alias.
5. Cautions
All Concurrent applications use numeric license keys. This means that
license keys (provided by Concurrent) and server codes (generated by
the elmadmin program) all look similar to credit card numbers, for
example:
7904 5468 9191 3650 6599 9064 8
If you use elmadmin to generate a server code and it does not look
vaguely like a credit card number, then you probably did not use the
-n option flag. Re-run the command with the -n option.
__________
2. If you cannot contact Concurrent immediately, it is safe to
interrupt the elmadmin program at any time. Rerunning it later
after contacting Concurrent and entering the same responses
generates the same server codes.
- 5 -
Elan License Manager 4.1.3 Release Notes
6. Product Description
This section describes the administration of feature licenses using
Elan License Manager.
6.1 License Allocation
Elan License Manager implements two principal schemes of licensing:
floating and non-floating licenses. As a refinement, the features of
reserving and holding licenses are also available. These concepts are
discussed in the following sections. See elm_resource(5) for
additional information.
6.1.1 Floating_Licenses
These licenses are generally available to anyone on a network who can
reach the server running the license manager daemon. As such, these
licenses are known as floating licenses - the licenses float on the
network and anyone on the network can use them. When 100 licenses,
for example, are encoded in the license key for a product, then any
100 users on the network can use the product concurrently.
When the concurrent usage reaches the licensed limit, 100 in this
example, a subsequent request to use the product is denied because all
licenses are currently in use.
6.1.2 Node-Locked_Licenses
It is occasionally desired that licenses not float on a network.
Usually the facilities of the resource file (see below) can be used to
restrict a license to a particular system. Alternatively, the site
can request that their licenses be node-locked on a per-CPU basis.
The licenses are only available on the CPU that the license manager
daemon is running on.
Node-locked licenses must be specified when contacting Concurrent for
the license key.
If, at a later time, floating licenses are desired, the non-floating
key can be converted to a floating license key simply by requesting a
new key from Concurrent.
- 6 -
Release Notes 4.1.3 Elan License Manager
6.1.3 Reserved_Licenses
Whether licenses float on a network or not, sometimes you would like
to reserve licenses for particular people, groups, or even machines.
For example, let's say a company of 400 employees purchases 100
floating licenses for a product. However, the company would like
their simulation department of 20 always to have access to the
application. These 20 people can be named in the resource file, and
20 licenses are reserved for them.
Similarly, a company may buy many floating licenses for a diagnostic
package, but they would like the lab machines always to have access to
the package. The resource file may list these machines, and reserve
some licenses for these particular machines. The remainder of the
licenses float.
The resource file looks similar to the /etc/group file. Here's an
example portion of a resource file:
11000:development:jim,tom,bill,cindy,brad:10:0
11000:simulation:barbara,vince,todd:2:0
11000:proj-lead:eddy:1:0
11000:demo-room:@demosys.mycorp.com:1:0
In the example above, 10 licenses for NightView (the feature name for
NightView is "11000") have been reserved for the development
department, 2 licenses for a group of 3 in the simulation department,
1 license for the boss, eddy, and 1 license has been reserved for the
demonstration room machine named demosys.mycorp.com. The remaining
licenses, if any, float as usual.
Notice that one may reserve fewer licenses than there are group
members. We have done this in our example above with the simulation
group. In such a case, any member of this group acquires a license
from the reserved pool first, thus affording a high probability to
this group of obtaining a license. If the reserved pool is already
fully allocated, however, licenses are taken from the remaining non-
reserved pool.
The resource file is used for floating or non-floating licenses alike.
The distinction is simply that the non-floating licenses stay with a
particular machine. Licenses may still be reserved for individuals.
It makes little sense, of course, to reserve to a machine name in the
resource file if the licenses are already non-floating.
Please refer to elm_resource(5) and elmd(1) for more details on the
resource file.
- 7 -
Elan License Manager 4.1.3 Release Notes
6.1.4 Excluded_Users
Users and/or hosts may be excluded from using specified features by
listing them in the resource file with the word EXCLUDE in the license
count field. For example:
11000:user-group5:harriet,@wanda:EXCLUDE:0
would disallow harriet or anyone logged onto machine wanda from
checking out licenses for NightView. EXCLUDE-ed users must be listed
before any reserved licenses.
6.1.5 Domain_Licensing
It is desirable to limit clients that may check out licenses by
network domain. For example, a system administrator may wish to limit
certain licenses only to the network domain servicing the department
that purchased the license.
For example, if a company owned a Class-A network but was also on the
Internet, the administrator might wish to limit license server
requests from only those on the Class-A network.
License requests are limited to a domain of clients via the resource
file. The token %IPACCEPT followed by a mask, specified in the
resource file, limits client accesses to mask.
The mask appears in the resource file as a line of the form:
%IPACCEPT mask
where mask is a quadruple of expressions "e" separated by periods:
"e.e.e.e". Each e may be any one of the following, or a comma
separated list of any of the following:
N A decimal integer between 0 and 255.
N-M An integer range. N and M are decimal integers between 0
and 255, and N should be less than M.
* An asterisk matches all integers.
THIS The word "THIS" (or "this") means the server's IP octet
value in the designated position. For example, if the
server address were 192.100.42.16, then "THIS.*.*.*" is the
same as "192.*.*.*" and "THIS.THIS.THIS.*" would be the same
as "192.100.42.*".
- 8 -
Release Notes 4.1.3 Elan License Manager
For example, a mask of:
THIS.*.*.*
would limit requests from only those on the same Class-A network as
the license server. Also,
THIS.100,200-224,226.*.*
would limit requests from only those on the same Class-A network and
from Class-B subnetworks 100, 200 through 224, and 226.
6.1.6 Held_Licenses
Held licenses are those licenses that are held or retained as checked
out by the license server after an application exits. These licenses
are each marked with the original owner's user and host name, and are
held for a specific duration, the hold period, for this person's
reuse. If the hold period has not yet expired and the same person
(the same user@host) requests a license that is currently held, the
held license is transferred to him or her. When the hold period
passes, however, such licenses are freed to the free license pool for
anyone's use.
Held licenses are useful for several different purposes.
1. A minimum license usage period may be established for short-lived
applications. For example, a compiler often runs for a brief
period. As such, a standard floating license per se may not be
an effective form of licensing since, by probabilities, it is
usually checked in and, therefore, usually granted to anyone who
asks for it. However, if the application has a minimum usage
period of 10 minutes or so, a more equitable per-license usage is
realized. The held license feature may be used to implement such
a scheme.
2. When a series of applications are used together, perhaps in a
series from a shell script, holding a common feature license for
as little as a minute guarantees that each application in series
is still able to obtain a license and the user is not stalled
during a job.
3. A user or, more often, system administrator, may wish to allow a
user to exit and shortly thereafter re-enter an application
without losing his or her license to another. That is, a license
may be held for 5 minutes or so after the application exits,
allowing a user to re-enter with his or her license still
available.
- 9 -
Elan License Manager 4.1.3 Release Notes
A minimum hold period may be defined by the application. A hold
period greater than the minimum hold period (if one) may be designated
by the user or system administrator via the resource file.
The final entry in each resource file line is the hold period in
seconds for this group. For example,
11000:proj-lead:eddy:1:900
11000:demo-room:@demosys.mycorp.com:0:600
11000:others::0:60
In this example, when eddy uses NightView, the license is held for him
for 15 minutes (900 seconds) after exiting the application.
In the second example, if anyone uses NightView on the machine
demosys.mycorp.com, his or her license is held for 10 minutes.
In the third example, everyone else (indicated by an empty member
list) has his or her license for NightView held for 1 minute after
exiting the application.
If the value in the held field is less than the minimum hold period
defined by the application, the minimum is used.
6.2 Redundant License Servers
Many customers install applications on a single system, usually a file
server, and run a single license server on the same system. Of
course, if this file server goes down they no longer have access to
the application - or any other files on the server, for that matter.
In some cases, however, it is desirable to maintain one or more backup
systems: if the main file server crashes work can be continued on a
backup file system. The application and all support files must be
installed on the backup file server, and the license manager must also
be installed on these systems to afford license control from these
backup servers.
Elan license manager supports redundant license servers with a
technique similar to other fault-tolerant systems such as the space
shuttle. The license server, elmd, may be run on multiple servers
with a special key called a redundant license key. The redundant key
is distinct from a standard key in that it encodes the system IDs for
all systems that are authorized to run the license server. This key
is shared among all redundant servers. A redundant key is generated
by supplying server codes for each of the systems where the license
manager is run.
- 10 -
Release Notes 4.1.3 Elan License Manager
The set of systems that the license manager runs on can be changed at
any time by requesting a new key from Concurrent with server codes for
the new machines (or possibly the one single machine) that the license
manager is to be run on.
When the redundant model is used, all license servers on a network
communicate with each other and maintain status information on each
other. When a cluster of elmds are started on a network, one
automatically receives the status of master, and the remaining elmds
receive the status of shadow. Client communication is automatically
routed to the current master for license acquisition and
authentication.
For security, the license manager requires that a majority of license
servers remain running. The reason for this requirement is that if a
network were divided in two, then each section would have to decide
who can continue to issue licenses. If both continued, each would be
authorizing licenses - twice as many licenses as are valid. However,
because only one side can have a mathematical majority of the original
number of servers, the remaining majority only wins and takes over
license distribution. The minority side (or sides) become inactive.
For a majority side to exist, the original number of servers must be
an odd number.
When using elmadmin to generate server codes and install a license
key, a key file is created on the machine where elmadmin is to run.
The key file must be made accessible to the other servers by one of
the following methods:
1. placing the key file in a file system shared by all machines, or
2. by copying it to a location on each machine.
It is preferable to place the key in the same directory path on each
system. If this is not practical, use the -e option of elmd on each
system to specify the key location.
The host name of each of the redundant servers should be mentioned in
the resource file. This may be done by placing lines of the form:
%SERVER hostname
into the resource file, where hostname is the name of one of the
hosts. There should be one line for each of the redundant servers.
- 11 -
Elan License Manager 4.1.3 Release Notes
6.3 Running License Managed Applications
When running an application whose usage is managed by the Elan license
manager, be prepared for the application to exit immediately upon
invocation if there are not enough licenses or if the license manager
is down (or if the application cannot connect to the master server).
The documentation for each application states what happens when a
license is unavailable when you try to run it, or if the license is
lost during execution of the application.
Usually an application must send a broadcast request on the network to
locate the master license server. If you know the hostname that the
license server is running on, you may set the environment variable
"POWERWORKS_ELMHOST" to the hostname and avoid the network broadcast.
The variable may also contain a list of hostnames, separated by
colons. In this case, parallel connections are attempted to all the
listed hosts and the first to reply handles the license management.
For example, to restrict the license manager handling your
applications to a manager on only one of the systems hoss, ben, or
littlejoe, use
POWERWORKS_ELMHOST=hoss:ben:littlejoe
export POWERWORKS_ELMHOST
Usually, the application broadcasts to all the specified hosts in
parallel. To serialize the attempts, preface the host list by an "@"
sign. This tries each host until it times out and then tries the
next, stopping with the first responsive host. When you have only one
host in your list, it is best to use the @ prefix.
By default, the Concurrent implementation of the Elan license manager
uses socket port 6461. If this port number conflicts with an
application at your site, you may change it (the port used by the Elan
license manager) by modifying the /etc/services file by adding a line
of the form:
powerworks_elmd 1234/udp concurrent-license-server
where the "1234" here is an otherwise unused port number of your own
choosing.
6.3.1 Error_Messages
The following messages occur during failed attempts to start an
application that must connect to the license manager.
License server initializing; please wait
or...
- 12 -
Release Notes 4.1.3 Elan License Manager
License server coming up in n seconds; please wait
or...
License server coming up in n minutes; please wait
The license server has just started and the application must wait
for the server to complete its initialization, this includes
waiting for a synchronization period specified with the -s option
to elmd.
License server is down
No operational license server could be found running on the
network. Check the value of the POWERWORKS_ELMHOST environment
variable, if set.
Insufficient servers running
The client is running with redundant servers but there are not
enough servers active. For license validation purposes, a
majority of servers must remain active in the redundant mode.
License server host unknown
The hostname is not valid. Check that the POWERWORKS_ELMHOST
environment variable, if set, is set to the name of the proper
host for the license manager daemon and that that hostname
appears in the /etc/hosts file.
No licenses are currently available
There are no licenses available for the designated feature.
License authorization failure
Authorization failure. There was a client or daemon fraud or an
attempt to acquire a non-floating license from another host.
License has expired
The feature license has expired or there was a date validation
error.
Communications socket failure
A socket(2) connection failed, probable network failure.
Network error: unable to send message to license server
A sendto(2) system call failed when trying to send a message to
the license daemon, probable network failure.
License lost
A reconnect after a server crash failed to reestablish all the
client's prior licenses. That is, one or more licenses was
denied for some reason during a reconnect.
- 13 -
Elan License Manager 4.1.3 Release Notes
No license file found for feature
or...
No such feature
There is no license key file installed for the specified feature.
6.4 Administrative Commands
The Elan license manager product includes these administrative
commands:
elmd The license server controlling all licensing checkouts
and reclaims. This daemon program runs on the server
and issues and collects license requests. elmd is
initiated at boot time by the Selmd boot script.
elmadmin Creates license keys, performs daemon control
functions, and lists current license activity.
elmalert Provides an end-user or system administrator with
information regarding when licenses are near expiration
or when a license for a particular feature becomes
available. Notification may be done via screen message
or by email.
elmrpt Provides a summary report on daily license activity,
indicating the number of license requests, the number
issued, and the number denied. It optionally gives a
day to day breakdown or total breakdown. When using
this command, it is necessary to specify the log file
name as a command line parameter, usually
"/usr/adm/elm.log".
elmusage Produces a snapshot report of current license activity,
updating every 10 seconds.
elmver A diagnostic tool used to extract version information
from applications managed with the Elan License
Manager.
elmd is installed in the /usr/lib/powerworks_licenses/bin directory.
Other commands are installed in the /usr/bin directory.
Online reference manual pages for each of these commands are available
as part of this product. In addition, elm_resource(5) describes the
format of the resource file.
- 14 -
Release Notes 4.1.3 Elan License Manager
6.5 Compatibility with Previous Releases
The Elan license manager product version 4.1.3 will accept any
existing licenses if given the -e option is given to the elmd command.
Any 4.1.3 commands that communicate to other servers will only see the
servers that are running the 4.1.3 version of Elan.
Any application that is expecting to use the 4.1.3 license manager
will not be able to connect to an older version of Elan.
7. Direct Software Support
Software support is available from a central source. If you need
assistance or information about your system, please contact the Harris
Software Support Center at our toll free number (1-800-245-6453). Our
customers outside the continental United States can contact us
directly at 1-305-971-6248. The Software Support Center operates
Monday through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate access to a
broad range of skilled personnel and guarantees you a prompt response
from the person most qualified to assist you. If you have a question
requiring on-site assistance or consultation, the Software Support
Center staff will arrange for a field analyst to return your call and
schedule a visit.
Harris provides a Software Action Request (SAR) form which our
customers can fill out and submit to their local field analyst or the
Software Support Center. This procedure ensures that your request is
entered into our SAR database for follow-up and action.
To obtain copies of SAR forms, call the Software Support Center and
request form number CSD1833B.
- 15 -
Contents
1. Introduction.................................................. 1
2. Documentation................................................. 2
3. Prerequisites................................................. 3
3.1 Software Prerequisites................................... 3
3.2 Hardware Prerequisites................................... 3
4. Installation.................................................. 3
4.1 Installation Options..................................... 4
4.2 Obtaining Licenses....................................... 4
5. Cautions...................................................... 5
6. Product Description........................................... 6
6.1 License Allocation....................................... 6
6.1.1 Floating Licenses................................. 6
6.1.2 Node-Locked Licenses.............................. 6
6.1.3 Reserved Licenses................................. 7
6.1.4 Excluded Users.................................... 8
6.1.5 Domain Licensing.................................. 8
6.1.6 Held Licenses..................................... 9
6.2 Redundant License Servers................................ 10
6.3 Running License Managed Applications..................... 12
6.3.1 Error Messages.................................... 12
6.4 Administrative Commands.................................. 14
6.5 Compatibility with Previous Releases..................... 15
7. Direct Software Support....................................... 15
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
Elan License Manager
Version 4.1.3
Release Notes
0891055-4.1.3
February, 1997
_________________________________________________________________
Trademark Acknowledgments
Elan License Manager
is a trademark of Elan Computer Group, Inc.
NightStar is a trademark of Concurrent Computer Corporation.
NightView is a trademark of Concurrent Computer Corporation.
Power Hawk is a trademark of Concurrent Computer Corporation.
PowerMAX is a trademark of Concurrent Computer Corporation.
PowerMAXION is a trademark of Concurrent Computer Corporation.
.
return to index
================================================================================