The property CheckInterval automatically is set by Licence Protector 5 and depends on the maximum number of licenses. You can read that value with the function CheckInterval and if you want to change it, you can use SetCheckInterval(). Do not set the value too small. If 1000 concurrent users have to do their heartbeat in a 30 second interval then you probably get a massive resource problem!
Stay near the automatic value which is
Number of licenses |
CheckInterval |
5 |
150 seconds |
10 |
300 seconds = 5 minutes |
20 |
600 seconds = 10 minutes |
50 |
25 minutes |
100 |
50 minutes |
500 |
250 minutes |
1000 |
about 8 hours |
There is another parameter that can be set to modify the recognition of non responding license: DiffPct. That parameter’s default value is 0. If you set it to e.g. 10 (percent) then a dead user entry is recognized at least CheckInterval (10 seconds) plus 10 percent = 11 seconds.
You can read the DiffPct value (in percent) by the function DiffPct and you can set it with SetDiffPct.
Note: A change of CheckInterval with SetCheckInterval and DiffPct with SetDiffPct affect the whole license environment so never let each of your users modify these values.
To check the local properties of the concurrent user mechanism there are the following functions:
•GetCUIsRunning – checks if the user for that module is running, that means that it was validated and so the concurrent using started
•GetCULastValidate – Get the time of the last automatic (not explicitly executed) validate (the last heartbeat!)
•GetCUNextValidate – Get the time of the next, planned automatic validate (the next heartbeat)
•GetCURunCounter – Gets the number of executed automatic validates
These functions only get values of the local instance of Licence Protector 5. If you are on Bert’s machine and he uses the concurrent user module D1006 then you can use the functions to extract the values. You can not get the values of Charlie which uses the module in another client and therefore access another Licence Protector 5 instance.
As explained before, the Quit() operation is essential for the concurrent user mechanism. Don’t forget to Quit()! This will free the license in the license file.
An alternative to Quit() is StopConcurrentUsage() which is performed only for a specified user and a specified module. So it typically is used in the middle of a running application in contrary to Quit() which normally is used at terminating the application.
We recommend usinging the above mentioned functions only if you do explicitly don’t want to use the in build default values.