UFT checks in with the license server every 15 minutes to validate that the license is still available. Licenses are freed up as soon as UFT is closed ''gracefully.'' Meaning, if UFT crashes or the UFT process is killed, UFT will not get to the exit code that frees up the license; in this case, the license server should have a timeout of 15 minutes (whereby that license will then be released after 15 minutes of no communication from the client machine).
Turn on license usage logging on your license server. This will show exactly when licenses are issued, rejected, and released.
Create a system environment variable called LSERVOPTS on your license server machine, and make the value -l c:log.txt (or any file/location you want). You will then need to reboot the license server machine.
Your license server will now log license usage. Once it captures some usage, you can open the log and it will look something like this:
# Startup Sentinel RMS License Manager v8.4.0.900 Tue Mar 10 16:33:50 2015 1426019630 SUPPCLIENT1150 0 1108
2 1 MTcyMzY= Tue Mar 10 16:38:11 2015 1426019891 UnifiedFunctionalTesting v1.0 0 1 0 userone WIN7_1 8.4.0.900 1 - - - - - - 0 - - - MA== 136857 MTQyNjE1Njc0OA==
2 1 MTcyMzY= Tue Mar 10 16:38:43 2015 1426019923 UnifiedFunctionalTesting v1.0 1 1 0 usertwo WIN8_1 8.4.0.900 1 - - - - - - 0 - - - MQ== 432264 NTY5MTIx
2 1 MTcyMzY= Tue Mar 10 16:38:59 2015 1426019939 UnifiedFunctionalTesting v1.0 2 0 48 userone WIN7_1 8.4.0.900 1 - - - - - - 0 - - - Mg== 2010584 MjQ0Mjg0OA==
2 1 MTcyMzY= Tue Mar 10 16:39:12 2015 1426019952 UnifiedFunctionalTesting v1.0 0 1 0 usertwo WIN8_1 8.4.0.900 1 - - - - - - 0 - - - Mw== 948101 Mjk1ODY4NQ==
2 1 MTcyMzY= Tue Mar 10 16:39:38 2015 1426019978 UnifiedFunctionalTesting v1.0 1 1 0 userone WIN7_1 8.4.0.900 1 - - - - - - 0 - - - NA== 1368317 MjMxNjQxOA==
2 1 MTcyMzY= Tue Mar 10 16:39:54 2015 1426019994 UnifiedFunctionalTesting v1.0 2 0 42 usertwo WIN8_1 8.4.0.900 1 - - - - - - 0 - - - NQ== 344954 MTcxMzI3MQ==
2 1 MTcyMzY= Tue Mar 10 16:40:07 2015 1426020007 UnifiedFunctionalTesting v1.0 0 1 0 usertwo WIN8_1 8.4.0.900 1 - - - - - - 0 - - - Ng== 356508 NzAxNDYy
2 1 MTcyMzY= Tue Mar 10 16:55:07 2015 1426020907 UnifiedFunctionalTesting v1.0 2 0 900 usertwo WIN8_1 8.4.0.900 1 - - - - - - 0 - - - Nw== 1495817 MTg1MjMyNQ==
Notice there are 3 numbers between the ''UnifiedFunctionalTesting v1.0'' and username columns.
The *first* number shows whether a license was issued, denied, or released (Trans = transaction type).
0 means a license was issued.
1 means a license was denied.
2 means a license was released.
The *second* number shows the number of licenses in use after the current request/release (Numkeys).
The *third* number shows how long, in seconds, the license was issued [only applicable after a license release] (Keylife).
So, in the above usage example (using a concurrent license with only one user available in the pool):
1. A license was issued to userone on machine WIN7, and now one license is in use.
2. A license was denied to usertwo on machine WIN8, and one license is still in use.
3. A license was released by userone on machine WIN7, now no licenses are in use, and the released license was used for 48 seconds (after closing UFT on WIN7).
4. A license was issued to usertwo on machine WIN8, and now one license is in use.
5. A license was denied to userone on machine WIN7, and one license is still in use.
6. A license was released by userone on machine WIN8, now no licenses are in use, and the released license was used for 42 seconds (after closing UFT on WIN8).
7. A license was issued to usertwo on machine WIN8, and now one license is in use.
8. A license was released by userone on machine WIN8, now no licenses are in use, and the released license was used for 900 seconds (after killing the UFT process on WIN8; license release after 15min).
It's possible the reboot of the server (after enabling logging) can help wi