Showing results for 
Search instead for 
Did you mean: 

LMS Test.Lab licensing: Borrowing and tokens?


Want to borrow licenses to acquire data off of the network.  Also want to borrow some tokens for processing, etc.


How does borrowing work?


Have looked at Start | Programs  |  LMS Test.Lab  |  Tools  |  Licensing,  but is not totally clear.


Re: LMS Test.Lab licensing: Borrowing and tokens?

Siemens Phenom Siemens Phenom
Siemens Phenom



Let me define a few things first, explain some history and then I will have some  suggestions.  Prior to LMS Test.Lab 12A we used FlexLM for licensing.  In the FlexLM License file was a BORROW keyword which was set to 28 days.  This allowed a license to be be borrowed for up to 28 days.  This means that you could connect to the license server while on the network, borrow license features to your PC  and then disconnect from the network and then use them for up to 28 days off the network.


To Borrow the FlexLM licenses, you had to use the FlexLM GUI tool to borrow each feature one by one.  This was cumbersome because you needed to know the rather cryptic license feature name AND you had to borrow them one feature at a time.  To make this easier in revision 12A we came out with the LMS License Borrowing tool that wrapped a GUI around this making it much easier to borrow licenses.  You could borrow multiple features at once, and did not need to know their rather cryptic feature name.  This tool is available via Start, All Programs, LMS Test.Lab {revision}, Tools, Licensing, LMS License Borrowing.  You can also save the list of borrowed features to a text file so the next time you can import the text file to borrow the same features.


With 12A SL1 and later releases of LMS Test.Lab we started using RLM Licensing from Reprise License Management.  Their License files have a ROAM keyword (max_roam=32) that sets the length of time a license could ROAM.  This is the same as Borrowing, but they call it ROAMING instead.  Originally the ROAM keyword was equal to 28 days and last year we changed it to 32 days allowing people to setup license roaming once a month.  The same LMS License Borrowing tool can be used with the RLM licenses (we never changed it to the LMS License Roaming tool but could have).


So, how do I borrow features?  Watch the videos below as an example.  One video shows how to borrow the features and then save to a *.borrow text file.  The other video shows how to Return them early and also re-borrow using a saved *.borrow file.


To re-borrow using a saved *.borrow file, set the date first and then Load any *.borrow files.  Upon opening the files the features will be borrowed to the borrowed date.  This easily allows you to borrow the same features every Monday or once a month.

What if I don't want to use the borrowing tool once a month or once a week?  Or is there a way to borrow features using tokens?


Unfortunately, neither FlexLM or RLM would allow us to borrow (or roam) tokens.  With RLM we worked with them to modify  their license transfer process.  So if you install RLM on your local PC (client) and use it to point to the server you can Transfer a number of tokens from the server to your PC.  For example you can transfer 90 or 120 tokens from the server to your local PC.  You can then use different add-ins, turning them on and off as long as you stay below that token amount.

There is an FAQ on the GTAC support site that shows this process.  License Roaming (Borrowing) and License Transfers get more stable with each release of RLM with several improvements to RLM 12.2.    See the FAQ at:


I recently found another borrowing method that may be useful in a few cases.  Perhaps someone does not want to use the LMS License Borrowing tool or perhaps the License Borrowing tool is missing some new features (it may lag behind the release of new features).  It has not helped with the tokens though.  This  method uses a RLM_ROAM Environment variable.  For example set a User or System Environment variable by Right clicking on My Computer or the name of your computer or THIS PC to get its Properties.  Then click Advanced System Settings to get access to the Environment Variables...  create a new User or System Environement variable named RLM_ROAM and set its value to the number of days you wish to roam.  Here it is set to 7 days.




After saying OK the RLM_ROAM environment variable is set to 7 days.  It is always roaming to midnight on the last day.  What's interesting about this option is that every time you connect to the network server and start Test.Lab it would refresh for 7 more days - so provided your are on the work network at least once a week it will refresh for 7 more days every time you connect to the network and start the software.  If you set it to 30 days, it Roams those features for 30 days everytime you connect to the network server while starting Test.Lab.


From the RLM Manual:


Note: beginning in RLM v11.1, RLM_ROAM can be set to the special value “today”. If set to
“today”, the license will roam until the end of the day today. Please note that if you use a v11.1
client with an older (pre-11.1) server, the roam time will be one day longer than what you
specified. Pre-11.1 clients will roam as expected with 11.1 and later servers, however they will
not be able to take advantage of the “today” value of RLM_ROAM.

While your system is connected to the network  After the initial checkout of the roaming license, but during the time your system is connected to the network, the value of RLM_ROAM will affect the behavior of the roaming license. If RLM_ROAM remains set to the original value, the license will be "refreshed" each day to the total roam time. On the other hand, if RLM_ROAM is set to 0, the original roam end date will remain, and no subsequent checkouts of the license will alter the final roam day. What this means, for example, is that if you set RLM_ROAM to 14 days, the license will always be available to you 14 days after the last time you checked it out on the network. If, however, you first set RLM_ROAM to 14 days, check out the license, then set RLM_ROAM to 0, the license will be available on the disconnected system for 14 days from the date of the first checkout, no matter how many times you check it out while connected.


What about returning the roamed licenses early?

If your plans change and you would like to return the license before the roaming time has expired, reconnect the system to the network (so that it can contact the original license server), and set the environment variable RLM_ROAM to -1. Now run the program and let it check out the license.  Once the program exits (or does a checking), the roamed license will be returned to the license pool on the server. Please note that if you change the server node name or port number after you roam the license, you will not be able to return the license early.


OK, you mentioned roaming tokens, how does that work?

I'm still working on that.  If I can get that working I will post here as well.  For now, use the FAQ on how to transfer the tokens to your local PC (client) with a local RLM installation.


Drawbacks to using the RLM_ROAM environment variable ?

Be careful.  If I set RLM_ROAM = 30 I have those features for 30 days and no one else can use them.  If you start multiple instances of Test.Lab with add-in features in each instance then you will roam multiple instances of those feature for 30 days and noone else can use them.  If you use RLM_ROAM please start only one instance of Test.Lab running to avoid that.  If I start Modal Analysis, I have it for 30 days even after turning the add-in off.  So if you start features you don't use very often then you have them for 30 days.  So it is most useful for those people that use the same features on a daily basis and need to go off network.  Otherwise use the LMS License Borrowing tool for more control.

Re: LMS Test.Lab licensing: Borrowing and tokens?


Thanks for the very helpful and thorough reply!  I look forward to your next post as well.