Specifying the License Terms for Features in a Product

When you include a Feature in a Product, the following default license terms are assigned:

>License type: Perpetual

>Number of concurrent instances: Unlimited

To specify the required license terms for the Feature, you can:

>Select a different license type:

Expiration Date

Execution Count

Time Period

>Assign a value for the selected license type, for example:

The expiration date

The number of executions

The number of days until the license expires, from the date of first use

If the Feature is intended to be used on a network, virtual machine, or remote desktop, you can specify the number of concurrent instances allowed, and you can select how concurrent instances are counted:

>Station: All login requests from the same machine are counted as a single instance (default).

>Process: All login requests from the same process are counted as a single instance.

>Login: Each login request is counted as a different instance.

If the Feature is in a Product that will be locked to a Sentinel SL key, and is defined to be used on a network, you can specify that the license is allowed to be temporarily detached from the network pool. This means that the license can be attached to a remote recipient machine that is not connected to the network, to enable a user to work offline.

If required, you can specify that a user working in Remote Desktop (terminal machine) mode can access the license. Similarly, you can specify that the license for a Feature in a Product that will be locked to a Sentinel SL key can be enabled to run on a virtual machine.

You can leave the value for the license type undefined at this stage, and specify that the exact value will be defined when each order for the Product is processed.

Similarly, you can specify that the number of concurrent instances will be defined when an order for the Product is processed.

If you choose to make a Feature excludable, you enable the decision about whether the Feature is to be included in a specific order to be made at the time the order is being produced.

NOTE   The above license term options do not apply to Unlocked Products. For additional information, see Defining Unlocked Products.

Defining Protection Key Memory Data

Memory data is used for storing strings in a Sentinel key. You might use memory data to migrate existing license data to Sentinel LDK-EMS, store login credentials for an application, or store homegrown license data, for example.

When you define a Product in Sentinel LDK, you can define the layout and contents of the memory data associated with the Product. At the customer site, memory data is stored in the protection key on the end user's computer or network.

NOTE   You can create a Product with no Features whose only purpose is to define protection key memory. For more information, see Specifying the License Terms for Features in a Product.

Sentinel LDK provides the following types of Protection Key memory:

>Default memory

Default memory is available in all Sentinel HL and SL keys, except for Sentinel HL Basic keys. The amount of memory available depends on the type of key.

Default memory is divided into two fixed partitions:

Read/Write memory: Data that can be updated when the deployed protected application is running, such as dynamic values for counters, or information retrieved during interaction with the user.

Read-Only memory: Data that can be read when the protected application is running but cannot be changed. For example: the Product version number, text to be used in a “Welcome” message, fixed threshold values for counters.

You can divide each partition into multiple segments and enter data into them as required. Each segment is defined by an offset from the start of the partition and a length. It is the developer's responsibility to keep track of the location and size of each segment. You can redefine the data and the layout of each partition as required. In Sentinel LDK-EMS, you can specify that data is entered in one or more of the memory segments at order time.

>Dynamic memory

Dynamic memory is available in:

All Sentinel SL keys except for SL Legacy keys.

All Sentinel HL (Driverless configuration) keys except for Sentinel HL Basic keys and Sentinel HL Pro keys. Dynamic memory is not available in Sentinel (HASP configuration) keys.

Dynamic memory is significantly larger than Default memory. However, dynamic memory space is shared between dynamic memory files (the space available to you for your applications, similar to default memory files) and license data (Features and Product). All space that is not utilized for license data can be used for dynamic memory files. For more information, see Maximum Number of Features in a Sentinel HL Key.

Dynamic memory can be divided into dynamic memory files. Each file is assigned an identifier, which is used by your application to refer to that file. You can assign a size to the file at the time you create it, or allow the file size to be assigned automatically based on the amount of data that is written to the file. The following types of dynamic memory files can be created:

Read/Write file: Data that can be updated when the deployed protected application is running, such as dynamic values for counters, or information retrieved during interaction with the user.

Read-Only file: Data that can be read when the protected application is running but cannot be changed. For example: the Product version number, text to be used in a “Welcome” message, fixed threshold values for counters.

Read/Write-Once file: Data that can be updated once when the deployed protected application is running. After a successful update, the memory becomes read-only memory.

You can set up Protection Key memory using either Sentinel LDK-EMS or Sentinel License Generation API.

You can use any of the different types of memory to store and control licenses from your own licensing schemes.

For information on the amount of memory available for each type of Sentinel HL key, see the Sentinel HL Data Sheet. Sentinel SL keys contain 2,048 bytes of read-only Default memory and 4,032 bytes of read/write Default memory.

NOTE   The memory in the protection key is shared by all Products in the key. When you allocate memory for a Product: Make sure that the memory space does not conflict with memory space for any other Product that may be protected with the same protection key.

The data defined in memory is written to the secure memory of the Sentinel protection keys together with the Features, license terms and other data defined for the Product.

For additional information on the use of memory files in Sentinel LDK-EMS, see Sentinel LDK–EMS User Guide.