I've had several responses to my original question regarding problems
with users tying up floating licenses for long periods of time. I'll
summarize them here and give a description of our solution to the problem.
First the summary:
----------------------------------------------------------------------
The last question is simple to answer: go to "/usr/local/flexlm/Bruker"
(or according your installion of flexlm-server), type as root
"./checklicenses". This is a script wich uses "lmstat".
First part, in my opinion is to answer with "no". Inspite of user's
inactivity: there is a "network talk" between XWINNMR/TopSpin and the
flexlm-server countinously (every 5 min some bytes), which checks, if
the client is still running - processing somewhat or not.
Only if this periodic check is negative (i.e. no answer of the client,
due to "death" or network interruption) the license will be given free
around 2 hours after that.
Is was told me, the any changes is this time would need a re-compiling
of the source code of flexlm.
-----------------------------------------------------------------
die flexlm tools have options where you can ask which licences and which
users are currently active. The path in my setup is:
/usr/local/flexlm/Bruker/lmstat -A
This is where all the flexlm tools are kept but may be in another place in
your setup.
The minus A option will give you the info you want:
usage: lmstat
[-a] (display everything)
[-A] (list all active licenses)
[-c license_file] (use "license_file" as license file)
[-f [license name]] (list users of license(s))
[-i [feature_name]] (list info about specified (or all)
feature(s))
[-S [DAEMON]] (list all users of DAEMONs licenses)
[-s [server_name]] (display status of server node(s))
[-t timeout_value] (set connection timeout to "timeout_value")
and you could programm a cron script that regularly runs lmstat, grep the
users and take some action.
----------------------------------------------------------------
I have not had to deal with Xwin but I do have PCs from which people
never seem to log out which consititutes a security problem. My plan
is to install software to automatically log people off after a certain
amount of idle time. There is software which is part of one of the
Microsoft Admin packages. If you look at the flexlm logs you may be
able to figure out who are the villians.
The other problem you will run into is the cries of protest from people
who have not saved their data. - always a problem. It will be
interesting to see what solutions other people have found.
------------------------------------------------------------
I don't know if flexlm can be set time out, but I have a preference for
node-locked licenses on SGI's. The SGI can easily handle up to a large
number of simultaneous users (as long as they don't all simultaneously
issue e.g. an 'xfb' command). In my current company, I installed a
node-locked XWIN on a separate, processing-only O2 (in order not to risk
interfering with on-going acquisitions), and my ~40-50 chemists log in
from their PCs using StarNet's X-Win32 (on a 20 user license) and process
all their spectra on the same O2 (granted, 99% 1D 1H, but still, I
sometimes see 10-2 users logged in simultaneously), and I think the shell
XWIN command 'uxproc' tells you at least what's going on at the station is
what issued. Hope it helps.
---------------------------------------------------------------------
Here is what we have done to try to alleviate the problem. It turns out
that the flex license manager is actually capable of setting a timeout for
the vendor's software. You can write this into an options file which then
gets included into the flex license file. We tried this with a test
timeout value of 30 seconds but it didn't work. A little more reading of
the flex manual indicated that the vendor has the option of disabling the
timeout function or putting in a minimum timeout into their software. I
presume that one of these is the case with Bruker's Xwin-nmr.
Our next avenue of attack was the license log file. It is possible to
read the file and tell who is currently using a license but there are so
many entries that it is a bit difficult to untangle by just looking at it.
The next thing to try was the 'lmstat -a' command. This didn't work
immediately for us until we decided to explicitly tell the command where
the license file is ... 'lmstat -a -c
/usr/local/flexlm/Bruker/licenses/license.dat'. This worked very well,
telling us exactly what machine was currently using a license. This is
what we decided to use. I put the lmstat command into the cron (the file
server is a SGI O2) and had its output redirected to a file in the flexlm
license directory. The directory is shared to the network via Samba and
mounted on my office machine. A bit of quick perl programming made a
cgi-script that will display the file on a web browser and now we can see
who is using up a license from just about anywhere.
If anyone is interested in the details of this solution feel free to
email me and I'll sent them along.
Cheers.
Keith Brown
University of Saskatchewan
Saskatoon, Saskatchewan
-----------------------------------------------------------------------
My karma ran over my dogma
-----------------------------------------------------------------------
Keith Brown
University of Saskatchewan
Saskatoon, Saskatchewan
-----------------------------------------------------------------------
My karma ran over my dogma
-----------------------------------------------------------------------
Received on Fri Apr 08 2005 - 12:16:12 MST