Artelys 10.1 License Manager

Artelys 10.1 License Manager
Artelys 10.1 License Manager
User’s Manual
Artelys License Manager User’s Manual
Version 10.1
Artelys S.A.
www.artelys.com
May 19, 2016
c
2006-2016
Artelys S.A.
Contents
1 Introduction
1
2 Stand-Alone Licenses
2.1 Obtain the machine ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Install licenses in the correct location . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Running your Artelys distributed products . . . . . . . . . . . . . . . . . . . . . . .
2
2
3
4
3 Floating Network Licenses
3.1 Choose the server machine . . . . . . . . . . . . .
3.2 Install the license server program . . . . . . . . .
3.3 Obtain the server machine ID . . . . . . . . . . .
3.4 Install licenses in the correct location . . . . . . .
3.5 Running the license server program . . . . . . . .
3.6 Configure user machines to find the license server
3.7 Running your Artelys distributed products . . .
3.8 High volume license use by Knitro . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
6
6
7
8
9
9
4 Trouble-Shooting
4.1 Enable debugging output . . . . . . . . . . . . . . . . . . . . .
4.2 Reading the network license server log . . . . . . . . . . . . . .
4.3 Machine ID problems . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Changing the network license server listening port . . . . . . .
4.5 Network license server issues . . . . . . . . . . . . . . . . . . .
4.6 Windows performance counters issues . . . . . . . . . . . . . .
4.6.1 Ensure that the counters are not disabled in the registry
4.6.2 Rebuild performance counters . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
12
14
15
16
17
17
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
Introduction
The Artelys license manager is used to authorize software distributed by Artelys. Currently, Artelys
and partners distribute Knitro, the premier solver for nonlinear optimization problems, and AMPL,
one the best modeling languages for optimization applications. The Artelys license manager is
embedded in distributed software and requires activation with an appropriate license before a product
can be used. The license manager supports stand-alone licenses and floating network licenses; both
are explained in this manual.
All licenses are granted for a particular product and release number, and are valid up to a fixed
expiration date. For example, Knitro 5.0 licenses are not valid for the Knitro 5.1 release. Customers
who purchase Annual License Maintenance Support will be given new licenses for new releases; other
customers must purchase a new license with a new release.
The Artelys license manager is fully supported on the following operating systems:
• Linux (64-bit, RedHat (glibc2.5+) compatible).
• Mac OS X (64-bit x86 64, Mac OS X 10.6 or later).
• Windows (32-bit and 64-bit for Windows XP, Windows Server 2003, Windows Server 2008,
Vista, Windows 7 and Windows 8). There are compatibility problems with Windows XP SP1
system libraries – users should upgrade to Windows XP SP2.
2
2
Stand-Alone Licenses
The stand-alone license manager is for Artelys distributed products that run on a single machine.
A unique machine ID number is generated, and a license created for your machine. Processes are
not authorized unless they run on the licensed machine.
The license is a short text string, encoded in a printable subset of ASCII characters. It is usually
stored in a text file, and can be conveniently cut and pasted using any text-based tool. Here is an
example license string in encoded form:
=l9tUgSvY-C1+JCi640a287DeVQQjw5p-SKYZQPGt2BJU9rnC0+=
The steps for installing a stand-alone license are:
1. Obtain the machine ID and email it to Artelys (or your local distributor).
2. Copy license files sent from Artelys (or your local distributor) to the correct location.
3. Begin using your Artelys distributed software product.
2.1
Obtain the machine ID
Locate your copy of the get machine ID program shipped with the Artelys distribution. If you cannot find a copy that runs on the server machine, then request a copy from Artelys (support-knitro@
artelys.com). Run the program on your license server machine.
On Windows, double-click on the get machine ID.bat batch file provided with the distribution.
Alternatively, open a DOS-like command window (click Start → Run, and then type cmd). Change
to the directory where you unzipped the distribution, and type get machine ID.exe. (Note, you
will not be able to see the program’s output by clicking on the get machine ID.exe file name in
Windows Explorer.) The screen shot below shows a command window with the machine ID for a
Knitro distribution that is unzipped to its default location:
3
On Unix, open a terminal window, change to the directory where you unzipped the distribution,
and type ./get machine ID. The output looks like this:
---- Your Artelys machine ID is b9-6d-7e-a9-cf ---Use this machine ID to obtain an Artelys license.
Refer to section 4.3 if you see the error message:
*** Could not determine a machine ID for Artelys license.
Please contact support-knitro@artelys.com about this problem.
Assuming this is not a student version, you email the line containing the hexadecimal machine
ID to your local distributor or support-knitro@artelys.com, if purchased directly from Artelys.
Artelys or your local distributor will email back one or more encrypted license files. Each license
file authorizes operation of an Artelys distributed product on your machine. The licenses will only
work on this machine.
2.2
Install licenses in the correct location
Artelys supports a variety of ways to install licenses. The simplest procedure is to copy each Artelys
license into a separate file located in the same directory as the product that requires the license.
Other options for more complex situations are described below. Note that any time the license is
placed in a file, the file must have a name that begins with the characters “artelys ” (lower-case
letters and the underscore are required).
Here is a list of possible ways to install the license. Choose the most appropriate for your system
configuration.
• Place all license files in the same directory as the products that require the license. This option
is most convenient if there is only one copy of the Artelys distributed product.
• Set an environment variable named ARTELYS LICENSE to the contents of the license. This
option executes fastest, but is limited to a single license.
If you run Windows, this can be done as follows:
Windows Vista and Windows 7
1. At the Windows desktop, right-click Computer.
2. Select Properties.
3. Click on Advanced System Settings in the left pane.
4. In the System Properties window select the Advanced tab.
5. Click Environment Variables.
6. Under System variables, click on New. Specify the Variable name as ARTELYS LICENSE
and the Variable value to be the contents of the license string.
Windows XP
1. At the Windows desktop, right-click My Computer.
2. Select Properties.
3. Click the Advanced tab.
4. Click Environment Variables.
5. Under System variables, click on New. Specify the Variable name as ARTELYS LICENSE
and the Variable value to be the contents of the license string.
4
For Unix systems (inlcuding Mac OS X):
If you run a bash shell, then type
> export ARTELYS LICENSE=license string
If you run a csh or tcsh shell, then type
> setenv ARTELYS LICENSE license string
• Set an environment variable named ARTELYS LICENSE to the name of the license file. Be sure
and provide the full pathname to the file.
• Set an environment variable named ARTELYS LICENSE to the parent directory of the license
file. Be sure and provide the full pathname to the directory. This option is useful if you have
more than one license.
• Place the license files in a special predefined directory. On Unix machines, the value of environment variable $HOME determines special directories at $HOME and $HOME/.artelys. On
Windows machines, the special folder is at %HOMEDRIVE%:\Program Files\Artelys (usually,
%HOMEDRIVE% equals C:).
The Artelys license manager will look in all of these locations for a valid license file. You can
see the list of places that the license manager looks by enabling debug messages (section 4.1). The
Artelys license manager will look for a valid license in the following order:
1. Check for a high volume network floating license (see Section 3.8);
2. Check for stand-alone license defined by the ARTELYS LICENSE environment variable;
3. Check for a standard network floating license by checking whether
ARTELYS LICENSE NETWORK ADDR environment variable is set (see Section 3);
the
4. Check all standard directory locations for a stand-alone license file.
If you have both a stand-alone license and a network license on the same machine, you can force
it to use the stand-alone license by setting the ARTELYS LICENSE environment variable in any of
the ways described above, as well as disabling any calls for high volume licenses (see Section 3.8).
Otherwise, if this environment variable is not set, the Artelys license manager will search for a
network floating license first. You can speed up the license check for a stand-alone license by setting
the ARTELYS LICENSE environment variable.
2.3
Running your Artelys distributed products
Now you can start applications on your machine. They should find an Artelys license silently and
execute.
If Knitro is called using the programming interface (C, C++, Fortran, or Java), then the license
manager looks for a license when KTR new is called. Resources associated with the license manager
(memory, file descriptors, etc.) are released when KTR free is called. Note that KTR restart does
not repeat the process of acquiring a license. Refer to the Knitro User’s Manual for more information
about the callable library interface.
5
3
Floating Network Licenses
Floating network licenses allow a product to be used on any machine that has network access to
the Artelys license server on the same Ethernet local access network (LAN). You install an Artelys
license server on your network and supply it with product licenses. Licenses are “checked out” when
a user starts the product, and “checked in” when the user finishes. You purchase a fixed number of
concurrent licenses that limits how many users can be running the product at the same time. The
steps for installing your floating network license manager are:
1. Choose a machine to host the Artelys license server.
2. Install the license server program.
3. Obtain the machine ID and email it to Artelys or your local distributor.
4. Copy license files sent from Artelys (or your local distributor) to the correct location.
5. Start the license server.
6. Configure each user machine to find the license server.
7. Begin using your Artelys distributed software product.
3.1
Choose the server machine
The Artelys license server is installed on a single machine in your computer network. We will refer
to this as the server machine. Your first step is to choose a suitable server machine to host the
license server. Artelys will create licenses keyed to this machine, so the license server cannot be
moved after installation.
Software that requires Artelys license authorization may be copied to any user machine; but
each copy must be able to establish and maintain a TCP network connection with the server machine.
The server machine and all user machines must be on the same LAN.
The Artelys license server listens for user machine requests on a specific network port. The
default port number is 8349. Typically, this port is available and does not conflict with other TCPenabled applications. If there is a conflict, then the port number can be changed, but it requires
reconfiguration of the Artelys license server. See section 4.4 for more information.
In some configurations the user machine must cross through a firewall to reach the server machine.
In this case, you must open the firewall for port 8349. For example, a Windows XP SP2 machine
running the Windows firewall will prompt with a question about “zLicServer” the first time the
license server is started. You should check “Unblock”, and then the firewall will allow user machine
requests to reach the license server. See section 4.5 for more details about firewalls and proxy
mechanisms.
6
3.2
Install the license server program
Unzip and unpack the Artelys license manager distribution into a directory on your server machine.
A clean directory is recommended. The directory can be anywhere on your machine; however,
on Windows the service install batch files expect the license manager to be in a directory named
C:\Program Files\Artelys\ZLMServer.
The license server is named “zLicServer” (or “zLicServer.exe” on Windows). Artelys will send
a version of the program that runs on the operating system of your server machine. Copy the
program to any directory on the server machine. Try running the program. On Windows, open
a DOS-like command window and type zLicServer.exe. On Unix, open a terminal window and
type ./zLicServer --nobg. Since you have no floating licenses yet, you should see the following
message:
*** No license files found -- exiting.
***
Floating licenses must be located in the same directory
***
as the zLicServer executable, must have a name beginning
***
with ’artelys_’, and must be created for this machine’s ID.
***
Please consult the Artelys license manager manual,
***
or contact support-knitro@artelys.com.
3.3
Obtain the server machine ID
Locate your copy of the get machine ID program shipped with the Artelys distribution. If you cannot find a copy that runs on the server machine, then request a copy from Artelys (support-knitro@
artelys.com). Run the program on your license server machine.
Section 2.1 provides details on running get machine ID. Briefly, on Windows, double-click on
the get machine ID.bat batch file provided with the distribution (or, alternatively, open a DOSlike command window and type get machine ID.exe). On Unix, open a terminal window and type
./get machine ID. The output looks like this:
---- Your Artelys machine ID is b9-6d-7e-a9-cf ---Use this machine ID to obtain an Artelys license.
Email the line containing the hexadecimal machine ID to your local distributor or support-knitro@
artelys.com, if purchased directly from Artelys. Artelys or your local distributor will email back
one or more encrypted license files. Each license file authorizes a certain number of concurrent users
for an Artelys distributed product. The licenses will only work on the server machine, and can only
be used as floating network licenses.
3.4
Install licenses in the correct location
Copy the licenses into separate files in the same directory where you placed the server program
“zLicServer”. Unlike stand-alone licenses, the floating licenses must be located in this directory.
Each file must have a name that begins with the characters “artelys ” (lower-case letters and the
underscore are required).
7
3.5
Running the license server program
Unix operating systems (Linux, Mac OS X, and Solaris)
Starting the license server. The command is
> ./zLicServer [--log] [--nobg]
By default the license server becomes a background process and remains running even after you log
out. The “--nobg” option tells the license server not to become a background process. The “--log”
option causes the license server to write activity to a file named log zlicserver.txt in the same
directory as the “zLicServer” program.
Stopping the license server. If you started it with the “--nobg” option, then type control-C to halt
it. If it is running in the background, then type ./stopLicServer.
Setting the listening interface. The license server opens a port for listening on one network interface
of the server machine. By default, it listens on (or “binds to”) the interface that maps to the
host name of the machine. Machines can have multiple network interfaces, each with a different IP
address.
Start the license server with the “--log” option and check the log to see the IP address that the
license server is listening on. Look in log zlicserver.txt for a line with something like:
17:10:40
4/25/2006
started listening on 127.0.0.1:8349.
If the default value (127.0.0.1 in this example) is not the IP address that user machines can
reach, then you must tell the license server the correct address. First, find the correct IP address
by “pinging” the server machine from a user machine. Then set an environment variable named
ARTELYS LICENSE NETWORK ADDR with this address and restart the license server.
If you run a bash shell, then type
> export ARTELYS LICENSE NETWORK ADDR=ip address
If you run a csh or tcsh shell, then type
> setenv ARTELYS LICENSE NETWORK ADDR ip address
The example above shows the license server listening on port 8349 of IP address 127.0.0.1. This
particular IP address is the standard “loopback” address assigned to all machines. It is used for
off-network operations and is not reachable by any other machine. Hence, in this example, you must
discover the IP address of the server machine with “ping”, set the environment variable, and restart
“zLicServer”.
Windows operating systems
Running the license server as a foreground process. Open a DOS-like command window and type
> zLicServer.exe [--log]
The “--log” option causes the license server to write activity to a file named log zlicserver.txt
in the same directory as the “zLicServer.exe” program.
The “zLicServer.exe” program runs in the foreground, and requires you to stay logged in and
keep the DOS-like window open. To stop the server, type control-C or run stopLicServer.exe.
8
Running the license server as a Windows service. You may choose to install the license server as a
Windows service. In this case the license server runs in the background, and keeps running even if
you log out. It is managed like any other Windows service, and can be configured to start manually,
or to start when your machine boots. To install, open a DOS-like command window and type
> installAsWindowsService.bat
[SC] CreateService SUCCESS
You should see the “SUCCESS” message. If you install the license server files to a directory
other than C:\Program Files\Artelys\ZLMServer, then edit installAsWindowsService.bat and
change the path name accordingly.
Installing the service does not start it. Use the standard Windows service manager GUI/applet
to start and stop the zLicServerWinSvc service. From the desktop, click Start → Control Panel →
Administrative Tools → Services (Classic Windows view), or Start → Control Panel → Performance
and Maintenance → Administrative Tools → Services (new Windows XP view), or open a DOSlike command windows and type services.msc. Then scroll down and find the service named
“zLicServerWinSvc”. Right-click on it to bring up options to start or stop the service, or modify
its properties. To enable logging, add “--log” to the service start parameters, as described in
section 4.1.
To uninstall the Windows service, first stop it, then run uninstallAsWindowsService.bat.
Setting the listening interface. The license server opens a port for listening on one network interface
of the server machine. Machines can have multiple network interfaces, each with a different IP
address.
Start the license server as a foreground process with the “--log” option and check the log to see
the IP address that the license server is listening on. Look in log zlicserver.txt for a line with
something like:
17:10:40
4/25/2006
started listening on 192.168.1.1:8349.
If the default value (192.168.1.1 in this example) is not the IP address that user machines can
reach, then you must tell the license server the correct address. First, find the correct IP address
by “pinging” the server machine from a user machine. Then set an environment variable named
ARTELYS LICENSE NETWORK ADDR with this address and restart the license server.
If running the license server as a foreground process, then before starting it type
> set ARTELYS LICENSE NETWORK ADDR=ip address
If running the license server as a Windows service, then define a new environment variable using
the system properties GUI (Start → My Computer/Properties → Advanced → Environment Variables).
Name the variable ARTELYS LICENSE NETWORK ADDR and set its value to the desired IP address. See
Section 2.2 for more details on how to use the system properties GUI in Windows to permanently
set an environment variable.
3.6
Configure user machines to find the license server
You may copy Artelys distributed software (Knitro or AMPL) that uses a floating network license to
any number of user machines on the same LAN. You must tell each user machine where the Artelys
license server is located by setting an environment variable named ARTELYS LICENSE NETWORK ADDR.
First, “ping” the server machine from the user machine to find its IP address. Then set the environment variable with the address that the license server is listening on. Include the port number
of the server if it differs from the default port number 8349.
9
• If you run a Unix bash shell, then type
> export ARTELYS LICENSE NETWORK ADDR=ip address:port
• If you run a Unix csh or tcsh shell, then type
> setenv ARTELYS LICENSE NETWORK ADDR ip address:port
• If you run on Windows, then open a DOS-like command window and type
> set ARTELYS LICENSE NETWORK ADDR=ip address:port
3.7
Running your Artelys distributed products
Now you can start applications on user machines. They should obtain an Artelys license silently and
execute. When an application starts, it “checks out” a license from the license server, and “checks
in” the license when it finishes. If all licenses are currently checked out, the application will halt
after printing a message
License found, but all copies are checked out
You must wait until a free license becomes available (or purchase more concurrent licenses). Check
the “zLicServer” log file to see which user machines have a license checked out. The rules below help
explain when licenses are checked out and checked in.
• For the AMPL product:
– An AMPL license is checked out when an AMPL session starts, and checked in when the
AMPL session ends.
• For the Knitro product:
– If Knitro is called within a modeling language (e.g., AMPL) to solve an optimization
problem, then a license is checked out until the solve command completes or is aborted.
Some modeling environments may differ in behavior.
– If Knitro is called using the programming interface (C, C++, Fortran, or Java), then a
license is checked out when KTR new is called and checked in when KTR free is called.
Knitro 5.1.2 and subsequent releases provide functions that can check out a license and
reuse it, as described in section 3.8 below. Refer to the Knitro User’s Manual for more
information about the callable library interface.
A license is “lost” by an application if the network connection between the user machine and
server machine is broken. In this case the license server immediately considers the license checked
in.
3.8
High volume license use by Knitro
Some applications solve a sequence of optimization problems using Knitro, creating a new instance
of the Knitro solver for each problem. An example is a web application server providing optimization
services. Each time the application creates (or destroys) a new Knitro solver, a license is checked
out (or checked in), which takes time, consumes network bandwidth, and loads the Artelys license
server. If the optimization problems are solved quickly, then license overhead becomes significant.
The Artelys license manager provides high volume license functions to greatly reduce this overhead.
10
The high volume functions are available beginning with Knitro 5.1.2, and must be run with an Artelys
license server built sometime after June 2007 (build date is displayed in the server log file).
Two special functions are provided with the Knitro callable library programmatic interface:
ZLM checkout license and ZLM release license. An application program may call these functions
(from C, C++, or Java) to obtain a single floating license and reuse it to start a sequence of Knitro
instances. If the application needs to run multiple concurrent Knitro instances, then it must check
out enough licenses to support the maximum number of concurrent instances.
Modifying an application to use a high volume license is easy. As an example, suppose the
application runs Knitro instances in a loop. Then simply check out a license before the loop, release
it at the end, and use KTR new zlm instead of KTR new to pass the license to Knitro. Here is a
fragment of C code that shows how to make the calls:
#include "knitro.h"
/*... Include other headers, define main() ...*/
KTR_context *kc;
ZLM_context *zlm;
/*... Declare other local variables ...*/
/* OBTAIN AN ARTELYS LICENSE FOR REUSE. */
zlm = ZLM_checkout_license();
if (zlm == NULL)
{
printf ("Failed to obtain an Artelys license.\n");
return( -1 );
}
/* LOOP, CREATING A NEW KNITRO SOLVER INSTANCE EACH TIME.
* REUSE THE SAME LICENSE TO AVOID OVERHEAD. */
while (...)
{
kc = KTR_new_zlm (NULL, NULL, zlm);
/*... define the optimization problem and solve it ...*/
KTR_free (kc);
}
/* RELEASE THE ARTELYS LICENSE. */
ZLM_release_license (zlm);
Any floating license for Knitro can be checked out as a reusable high volume license. The license
is “lost” if the network connection between the application and the license server is broken. The
license server will detect this condition and consider the license checked in. The Knitro instance will
detect the condition and terminate because it no longer has a license.
11
4
Trouble-Shooting
4.1
Enable debugging output
Useful debugging messages are produced by setting the environment variable ARTELYS LICENSE DEBUG
to any value.
• If you run a Unix bash shell, then type
> export ARTELYS LICENSE DEBUG=1
• If you run a Unix csh or tcsh shell, then type
> setenv ARTELYS LICENSE DEBUG 1
• If you run on Windows, then open a DOS-like command window and type
> set ARTELYS LICENSE DEBUG=1
The stand-alone license manager usually displays debugging output at the terminal. Typical
debug messages show where the license manager looks for license files.
The floating network license server displays debugging output in the log file, so logging should be
enabled with the “--log” option. Debug lines begin with the characters “--Z--”. Typical debugging
messages show which license files are used, the listening IP address and port, and any networking
errors (see section 4.2 for an example).
To turn off debug messages, unset the environment variable:
• If you run a Unix bash shell, then type
> unset ARTELYS LICENSE DEBUG
• If you run a Unix csh or tcsh shell, then type
> unsetenv ARTELYS LICENSE DEBUG
• If you run Windows, then type
> set ARTELYS LICENSE DEBUG=
To capture debug output from a network floating license manager running as a Windows service,
you must enable logging (but there is no need to set an environment variable). Do this using the
Windows services properties GUI. From the desktop, click Start → Control Panel → Administrative
Tools → Services (Classic Windows view), or Start → Control Panel → Performance and Maintenance
→ Administrative Tools → Services (new Windows XP view), or open a DOS-like command window
and type services.msc. Then scroll down and find the service named “zLicServerWinSvc”. Rightclick and select Properties. Stop the service if it is running. Then type “--log” in the Start parameters
box, as shown below. Start the service and it will log with debugging information.
12
4.2
Reading the network license server log
Start the “zLicServer” program with option “--log” to generate a log file of license server activity.
The log file is named log zlicserver.txt and is found in the same directory as the “zLicServer”
program. The license server always appends to the log file without erasing previous entries. Since
the file can become large over time, we recommend using the “--log” option only when troubleshooting, or deleting the log file at regular intervals. The file can be deleted or renamed at any time
without disturbing operation of the license server.
The example output below shows the contents of a log file if two applications try to check out
a single license. The first application succeeds, while the second is refused. Each request begins
with a new TCP connection initiated by the application; the IP address and port number seen
by the license server are shown in the log. Each new connection is also given an identification
number that counts up from 1. The ID appears at the beginning of each TCP-related log message.
The application request is processed, and a reply made as rapidly as possible. The numbers in
parentheses associated with “Replied to TCP request” are the number of data bytes sent from
the license server; this might be useful if correlating server activity with network monitoring tools.
13
16:52:51
16:52:51
16:52:51
16:52:51
16:52:51
16:52:51
16:52:51
16:52:51
16:53:06
16:53:06
16:53:06
16:53:06
16:53:17
16:53:17
16:53:17
16:53:17
16:53:17
16:53:33
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
-------------------------------------------------Artelys license server started. (Built Jul 10 2007)
ARTELYS_LICENSE_DEBUG is null.
ARTELYS_LICENSE_NETWORK_ADDR = ’172.22.1.55’.
Using these license files:
’./artelys_licTest.txt’.
Started listening on 172.22.1.55:8349.
[1] New connection accepted from 172.22.1.44:669.
[1] Processing TCP request.
[1] Available license found.
[1] Replied to TCP request (40).
[2] New connection accepted from 172.22.1.44:1437.
[2] Processing TCP request.
[2] No license found.
[2] Replied to TCP request (104).
[2] Closing connection.
[1] Closing connection.
The log file below shows the start of the log file when debugging is enabled. The additional lines
of output describe the steps that the license server goes through to identify license files and to open
a socket for listening (this example is for Linux).
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
.
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
16:54:12
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
-------------------------------------------------Artelys license server started. (Built Jul 10 2007)
ARTELYS_LICENSE_DEBUG = ’1’.
--Z-- Searching directory ’.’ for license files.
--Z-- Reading ’./artelys_net.txt’ as a possible license.
--Z-- Reading ’./artelys_standalone.txt’ as a possible license
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
7/10/2007
ARTELYS_LICENSE_NETWORK_ADDR = ’172.22.1.55’.
--Z-- querying DNS for address to ’172.22.1.55’...
--Z-DNS lookup returned successfully.
--Z-- binding socket to the address, at port 8349...
--Z-bind successful, socket maps to ’172.22.1.55:8349’
--Z-- Checking file ’./artelys_net.txt’.
--Z-- Checking file ’./artelys_standalone.txt’.
--Z-is not a floating license.
Using these license files:
’./artelys_net.txt’.
Started listening on 172.22.1.55:8349.
14
4.3
Machine ID problems
The Artelys machine ID is partly determined by the Ethernet physical address of your machine.
This section discusses common issues with Ethernet addresses that can cause problems for the
license manager.
If an Ethernet address cannot be found, then the machine ID cannot be determined. Your
machine must have a network interface card, installed with a valid software driver. On most operating
systems, the network interface must also be enabled, though not necessarily connected. On Windows,
failure to find a network interface causes the error message:
*** Error getting Windows adapters info: 232.
*** Could not determine a machine ID forArtelys license.
This message may appear when running get machine ID.exe, or it may appear in the network
license server log file.
On Windows, it is not unusual to have a network interface disabled for security purposes. The
license manager only requires that the interface be enabled; for instance, you can enable the interface
but leave the cable unplugged if you want to run an Artelys-licensed product but need to keep the
machine off-line. To enable a network interface, bring up the Windows network connections GUI,
right-click on an interface, and select “Enable”. The image below is a Windows Classic view (Start
→ Control Panel → Network Connections) that shows a disabled interface.
Machine ID problems can also occur if your machine has multiple network interfaces. A common example is a laptop with an Ethernet NIC (network interface card) and built-in wireless. If
both interfaces are enabled at the time get machine ID.exe is run, then the license manager will
arbitrarily chose one interface to be part of the machine ID. Suppose the ID chooses the wireless
interface address. You email that ID to Artelys and receive a product license for your machine.
Later, if the wireless interface becomes disabled and you try to run the product, then the license
15
manager will complain that there is no valid license. If you now run get machine ID.exe, it will
generate a different machine ID because it is using a different network interface.
The fix in this case is to make sure your machine ID uses a NIC that can be enabled at any time.
You can see which Ethernet address is used in the machine ID by adding the flag “-v” as follows
get_machine_ID.exe -v
The image below shows a new Windows XP view (Start → Control Panel → Network and Internet
Connections → Network Connections) of a laptop with an Ethernet NIC (“Local Area Connection”)
and a wireless card. In this example both interfaces are enabled, but disconnected; hence, both are
eligible to be part of the machine ID.
4.4
Changing the network license server listening port
By default, the Artelys network license server listens on port 8349. You may need to change the port
number; for example, if the port is already in use on your local network by some other application.
The port number is part of the licensing security system and is built into the license server
software. It cannot be changed after installation. To change the port you must contact Artelys and
get a new license server.
Before contacting Artelys you must determine a port number that will work. Ask your network
administrator for permission to use a port that is not used by any other application on the server
machine. Artelys will open the port for listening on the machine that hosts the license server.
The port must accept incoming TCP requests using a proprietary Artelys protocol. The port must
maintain a TCP connection for as long as the user checks out a license; depending on your needs,
this might be a few seconds or several days. Artelys products will not send keep-alive messages to
the license server.
If you are the network administrator, then your biggest problem is to figure out an available
port. Port numbers range between 1 and 65535, but keep in mind that many numbers below 1000
are reserved, and that Unix port numbers less than 1024 require root privileges (i.e., the Artelys
license server would have to be started by root).
Try executing “netstat -a” (same command for Windows or Linux) to see what ports are currently
in use. Search for entries with the words “LISTEN”. For example, if you see
tcp
0
0
mymachine:8349
*:*
LISTEN
16
then the port 8349 is already in use (the line above is from Linux and may look slightly different on
other operating systems). Be warned, however, that “netstat” only shows ports used by applications
that are currently running. It has no knowledge of applications that are not executing.
4.5
Network license server issues
User machines must be able to make a TCP connection with the Artelys floating license server and
be on the same LAN as the server machine. If there is a firewall between the two machines, then a
firewall rule must be added that allows inbound connections to the server on port 8349. Typically,
firewall rules designate a TCP connection for a specific application on a specific port. For example,
if the license server runs on a Windows XP SP2 machine with Windows firewall active, then the
first time the license server starts you will be prompted by the firewall, as shown below.
Check “Unblock”, and Windows will create a firewall rule that allows inbound connections to the
port and application shown. The firewall will still block external requests to other ports and applications. Security of the server machine is weakened only slightly; for instance, if the Artelys license
server is off then a rogue application could conceivably start using port 8349 on the server. A simple
defense is to leave the Artelys license server on, as Windows will not allow two different applications
to bind the same port for listening at the same time (i.e., the theoretical rogue application cannot
receive anything on the port).
More sophisticated systems may use a reverse proxy to front the server machine, a forward proxy
for user machines, or combination of proxy servers and firewalls. It should be possible to devise rules
or install gateway relay software to enable license server functionality. The server machine must be
able to accept incoming TCP requests using a proprietary Artelys protocol on the license server
port. The TCP connection must be maintained for as long as the user checks out a license (Artelys
products will not send keep-alive messages to the license server). User machines will send a request
17
with one IP data packet and receive a one packet response to check out and hold a license. Please
contact support-knitro@artelys.com with questions or problems.
4.6
Windows performance counters issues
Artelys license manager uses performance counters to work on Windows. For some reasons, performance counters are sometimes missing or disabled. This can be fixed by manually enabling or
rebuilding performance counters.
The following steps (from Microsoft Support KB2554336) will allow users to fix these issues.
4.6.1
Ensure that the counters are not disabled in the registry
The counters may be disabled via registry settings. Check the following registry locations to ensure
that the counters have not been disabled.
HKLM\System\CurrentControlSet\Services\%servicename%\Performance
Where %servicename% represents any service with a performance counter. For example: PerfDisk,
PerfOS, etc.
There may be registry keys for DisablePerformanceCounters in any of these locations. For
each of the existing keys, check that the value is 0 and otherwise, set it to 0 and restart computer.
4.6.2
Rebuild performance counters
If performance counters were not disabled, then they might need to be rebuilt.
To rebuild all Performance counters, type the following commands at an Administrative command
prompt. Press ENTER after each command:
cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising