Specifying CPU cores for node-locked or floating licenses can be useful in cases such as high-tech computing and application virtualization. This license model enables you to base licensing on your customer's computing resource requirements, increasing the pricing depth for your software offerings. For example, since a 4-CPU machine is double the speed of a 2-CPU machine, licensing the 4-CPU machine would be double the cost of licensing the 2-CPU machine.
Detailed instructions for using CPU cores for both node-locked and floating licenses are described in the following sections.
To base node-locked licensing on CPU cores (example is for a Windows environment):
Using the OPTIONS setting, specify the number of processor cores that the license will be limited to. For example, "CPU=1" limits the license to one processor core, "CPU = 2" limits the license to two processor cores, etc. (We are using the syntax "CPU=x," but you may use different syntax if desired.)
An example XML template for a node-locked license looks like the following:
<?xml version="1.0" encoding="utf-8"?> <LICENSEFILE> <FEATURE NAME="F1"> <SETTING MAJOR_VERSION="1" /> <SETTING MINOR_VERSION="0" /> <SETTING END="2015-01-01" /> <SETTING OPTIONS="CPU=1" /> <CLIENT_HOSTID> <SETTING ETHERNET="D71D90A3763DD3BF" /> </CLIENT_HOSTID> </FEATURE> </LICENSEFILE> |
To take the number of cores into account in your code (based on the local.c example), change the checkout parameter using LMX_Checkout:
LMX_Checkout(LmxHandle, "F1", 1, 0, 1)
For processor-based licensing that sets the count to the number of logical CPUs, change the checkout parameter to:
LMX_Checkout(LmxHandle, "F1", 1, 0, LMX_LOGICAL_CPU_COUNT)
For processor-based licensing that sets the count to the number of physical CPUs, change the checkout parameter to:
LMX_Checkout(LmxHandle, "F1", 1, 0, LMX_PHYSICAL_CPU_COUNT)
To base floating licenses on CPU cores (example is for a Windows environment):
Generate a floating license file using xmllicgen, located in LM-X_installation_directory\platform-specific_directory; for example, C:\LM-X\Win32_x86.
An example XML template for a floating license looks like the following:
<?xml version="1.0" encoding="utf-8"?> <LICENSEFILE> <SETTING END="2015-01-01" /> <FEATURE NAME="F1" /> <SETTING MAJOR_VERSION="1" /> <SETTING MINOR_VERSION="0" /> <SETTING COUNT="5" /> <SERVER_HOSTID> <SETTING ETHERNET="C8A516AD01AFC9FA" /> </SERVER_HOSTID?> </FEATURE> </LICENSEFILE> |
To take the number of cores into account in your code (based on the local.c example), change the checkout parameter using LMX_Checkout:LMX_Checkout(LmxHandle, "F1", 1, 0, 1)
For processor-based licensing that sets the count to the number of logical CPUs, change the checkout parameter to:LMX_Checkout(LmxHandle, "F1", 1, 0, LMX_LOGICAL_CPU_COUNT)
For processor-based licensing that sets the count to the number of physical CPUs, change the checkout parameter to:LMX_Checkout(LmxHandle, "F1", 1, 0, LMX_PHYSICAL_CPU_COUNT)