Question
How can a licensing publisher implement the time-zone-based licensing in their native licensing setup?
Answer
In the FlexNet Publisher Programming Reference for License File-Based Licensing guide, there is a dedicated chapter named Time Zone Licensing that explains the functionality.
Basic Architecture
The TZ keyword specifies the time zones in which the FlexEnabled feature is licensed to run. The time zones are specified either as values relative to Greenwich Mean Time (GMT) or as the time zone of the license server (SERVERTZ).
At run time, when a license checkout is requested, the time and time zone of the client machine is read and compared to the time zone specified in the license file. If the time zone read from the client machine matches the time zone in the license file, the checkout proceeds as usual. If, however, there is a mismatch between the time zone read from the client machine and the time zone specified in the license file, the checkout request is denied.
About the TZ Keyword
When using the TZ keyword, note the following:
- 15 minutes of clock drift is allowed when validating the time and time zone of the client with those of the license server.
- 60 minutes is allowed for Daylight Saving Time (DST) when validating the time and time zone of the client with those of the license server.
- If a license is borrowed with SERVERTZ, license rights are not bound to any time zone when the borrowed license is used.If SERVERTZ is specified for an unserved, node-locked license, license rights are not bound to any time zone.
IMPORTANT: Time zone licensing is intended for use with customers with whom you have a trusted relationship. There is no secure programmatic restriction with time zone licensing functionality: If an end user manually changes the time zone to match the time zone specified in the license certificate, a license can be consumed.
How to Implement Time Zone Based Licensing
- Add TZ keyword in the INCREMENT/FEATURE line, which tells the license server that licensing is time zone bound.
- With the TZ keyword, we can provide a particular timezone, or the range, or a set of different time zones in which we want to allow the clients to checkout the license. For ex:
FEATURE f1_single demo 1.0 permanent 4 TZ=‐08 SIGN=0
FEATURE f2_multiple demo 1.0 permanent 4 TZ="+05 +01" SIGN=0
The feature f1_single can be used only on clients that reside in the time zone GMT–08:00, while the feature f2_multiple can be used on clients that reside in time zone GMT+05:00 or on clients that reside in time zone GMT+01:00.
FEATURE f1_range demo 1.0 permanent 4 TZ="‐05:‐08" SIGN=0
FEATURE f2_range demo 1.0 permanent 4 TZ="–05:–00 +00:+01" SIGN=0
The feature f1_range can be used on clients that reside in time zones that fall in the range GMT–05:00 through GMT–08:00, inclusive. The feature f2_range can be used on clients that reside in time zones that fall in the range from GMT–05:00 through GMT+01:00, inclusive
FEATURE f1_range_multi demo 1.0 permanent 4 TZ="‐08 +00:+02 +05.30:+08.30" SIGN=0
FEATURE f1_half demo 1.0 permanent 4 TZ=+05.30 SIGN=0
FEATURE f2_quarter demo 1.0 permanent 4 TZ=+05.45 SIGN=0
The feature f1_range_multi can be used on clients that reside in time zones that fall in the ranges GMT+00:00 through GMT+02:00 and GMT+5:30 and GMT+08:30, inclusive, and on clients that reside in the time zone GMT–08:00.
The feature f1_half can be used on clients that reside in time zone GMT+05:30, which is India, while the feature f2_quarter can be used on clients that reside in time zone GMT+05:45, which is Nepal.
Post that crypt your license file again and it should be ready to serve the licensing based on particular timezone.
Further Information About the "TZ" Keyword
Enables you to enforce license usage for a feature relative to a time zone; where the time zone is specified and measured relative to Greenwich Mean Time (GMT). Use TZ on a FEATURE or INCREMENT line to specify that the computer system on which the FlexEnabled application is running must be within a specified time zone or range of time zones, or in the same time zone as the license server (using the value SERVERTZ). You can also specify half (.30) and quarter (.45) time zones, if applicable.
- Time zone values must be preceded by a + (plus) or – (minus) sign. Every + or – sign must be followed by two decimal digit hours h. The only cases in which you would specify values for minutes would be if specifying a half (.30) or quarter (.45) time zone.
- Valid range for the TZ keyword is –12 to +13. To specify GMT as the time zone value, use either TZ=+00 or TZ=–00.
- To specify multiple time zones, use a space as a delimiter and enclose the values in quotes. If TZ keyword has a single value, quotes are ignored when the license file is encrypted. For example, TZ="‐06 ‐08" identifies the GMT-06:00 and ;GMT-08:00 time zones.
- To specify a time zone range, use a colon between time zone values. The from and to values for the range must use the same + or – sign. For example, TZ=‐06:‐08 identifies a time zone range that includes all the time zones from GMT-06:00 to GMT-08:00.
- If the time zone range includes GMT, you must use two range specifications. For example, TZ=“–05:–00 +00:+01" specifies the range from GMT–05:00 to GMT+01:00, inclusive.
***The TZ keyword is not supported with decimal-format licenses. - SERVERTZ is a case-sensitive value that can be used with the TZ keyword to specify that the license server should serve licenses only if the time zone in which the client resides matches the time zone in which the license server resides.
For example: "FEATURE f1_server demo 1.0 permanent 4 TZ=SERVERTZ SIGN=0"
SERVERTZ is valid only for use with a served license model, and cannot be combined with any other values.
For Testing Environment Only
NOTE: Never use them in production.
- Flexible API attribute:
LM_A_TZ_OVERRIDEworks with the lc_set_attr function to override the client time zone or time zone and time settings. (See the C/C++ Function Reference for details about this attribute and related error codes.) - Vendor daemon variable: ls_allow_tz_override operates in your test environment to enable the vendor daemon to read values you set in the
LM_SET_SERVER_TIMEZONEandLM_SET_SERVER_TIMEenvironment variables. - Environment variables:
LM_SET_SERVER_TIMEZONEandLM_SET_SERVER_TIMEcarry the override values you set for the license server time zone and time, respectively. These variables are not used unless ls_allow_tz_override is set to 1. - LM_SET_SERVER_TIME environment variable can be used only in combination with
LM_SET_SERVER_TIMEZONE.
NOTE: The Flexible API attribute, LM_A_TZ_OVERRIDE, and the vendor variable, ls_allow_tz_override, are provided for use in testing time zone licensing. See the FlexNet Publisher’s C/C++ Function Reference for more information about these and other time zone–related attributes.
For more details on them, kindly refer to the FlexNet Publisher documentation.
Related Articles
How do You Determine the Current Version of the FlexNet Licensing Service (FNLS) Running on a Windows System? 8Number of Views SAML integration does not work when Federal Information Processing Standards (FIPS) compliant encryption settings are is e… 4Number of Views Elevated Privilege Issue with FlexNet Publisher Licensing Service on Windows 9Number of Views FlexNet Publisher Best Practices in Terms of Performance 10Number of Views Flexnet Licensing Service on Reboot doesn't Work in RHEL 7 + SUSE 12 SP4 and Above 8Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago