Token-based Licensing
Sentinel LDK Functionality | Provides access to a portfolio of applications or functions using a single license. Charge a different price for each application or function based on the value of the application or function. |
Software Distribution Method |
>Physical package >Electronic distribution |
Applicable Key Types |
>All Sentinel HL (Driverless configuration) keys except Sentinel HL Basic >Sentinel SL (including CL) |
Protection Method | API-based implementation |
What is Token-based Licensing?
Token-based licensing is a flexible, metered licensing model in which you license a portfolio of applications by providing a pool of "tokens" to the customer.
The tokens provide access for users in the customer organization to a number of applications in your portfolio. Tokens are similar to executions for the Execution Count license type. However, each application in the portfolio can be configured to consume a different number of tokens from the pool, depending on the value that you assign to the application.
You can also use token-based licensing to charge for the use of specific functions in your applications.
In either case, the customer organization requires only a single pool of tokens. The customer must purchase a number of tokens based on the applications that they expect to use and the number of end users that will work with each application.
What Are the Advantages of Token-based Licensing?
Token-based licensing provides advantages for both the customer and the vendor.
Advantages for the Customer
>If the customer requires different applications from the portfolio at different times or at different phases of a project, they can use their pool of tokens to access any of the various applications in the portfolio with no need to purchase different licenses.
>Token-based licensing significantly reduces the frequency of license renewals that are commonly required when dealing with a large number of products.
Advantages for the Vendor
>The use of tokens reduces sales friction. They eliminate bottlenecks, simplify order transactions, and enable you to conclude sales quickly.
>You can modify the number of tokens consumed by any application at any time. Thus, for example, you can offer discounted prices for a limited time for a special promotion or for the introduction of a new product.
Implementation
NOTE A number of different methods can be used with Sentinel LDK to implement token-based licensing. This section describes one possible method.
This section describes the steps to use to set up and work with token-based licensing.
1. Create a Price List and Token Pool for the Available Applications
Define a Product (referred to as the “Tokens Product”) as described below. This Product license will reside on a license server in each customer's network. The Tokens Product is used to:
•Store the price for each application or function that you want to include in your portfolio for the customer. The price list indicates how many tokens the customer is charged for the execution of each application or function.
•Store the central token pool for the customer. The tokens purchased by the customer are added to this pool. Each time that a customer executes an application or function from the portfolio, the appropriate number of tokens are consumed from this pool.
To create a price list for the available applications:
a.Define a Feature in the Sentinel LDK-EMS catalog for each application or function that you want to license using the token-based licensing model.
b.Define the Tokens Product (described above) to contain the price list and the central token pool for all the available applications and functions.
c.Add each of the Features defined in step a to the Tokens Product. Configure each Feature with the Execution Count licensing type. For each Feature, set the number of executions to the number of tokens that the customer should be charged for the use of the application or function.
NOTE Executions are not actually consumed from these Features when you execute any of the applications. The Features only serve as a repository for the prices. You must protect your applications with Sentinel LDK Envelope or Sentinel Licensing API using Feature ID 0 or other Features that are not included in the price list.
To create the token pool for the customer:
a.Define a Feature (to be referred to as the Token-Pool Feature) in the Sentinel LDK-EMS catalog.
b.Add the Token-Pool Feature to the Tokens Product. Configure this Feature with the Execution Count licensing type. When you deliver the Tokens license to the customer, you will increment the number of executions for this Feature by the number of tokens purchased by the customer.
c.Create an entitlement for the Tokens Product. In the entitlement, specify the number of tokens purchased by the customer as described in the previous step.
d.Deliver the entitlement to the customer. The customer can, for example, install the Tokens Product license on a license server machine in their network to allow multiple users to access it.
Example
The following table provides an example of the Features in the Tokens Product.
Feature ID | Description (Application) | Price in Tokens (Number of executions) |
---|---|---|
101 | Spreadsheet application | 6 |
102 | Word Processor application | 5 |
103 | Presentation Tool application | 4 |
104 | Text Editor application | 1 |
105 | Scheduler application | 3 |
201 | Print function | 1 |
202 | Save function | 1 |
9999 | Token-Pool (tokens repository) | Number of tokens purchased by the customer (specified in the entitlement) |
2. Consume Tokens from the Token Pool for Application Usage
Use Sentinel Licensing API to consume the required number of tokens from the token pool when a user executes an application as described below.
To consume tokens from the token pool:
a.Upon startup, each application should create a table in memory of the price list for that application, including any functions in the price list that are available in that application. Use the get_info function to load the price list into memory by retrieving the relevant price list Feature IDs and their corresponding prices (number of tokens). In the example above, upon startup, the Word Processor application should load Feature IDs 102, 201 and 202 and their corresponding prices in to the table in memory.
b.When the requirement for one of the Pricing Feature IDs is encountered in the licensed application, the application should look up the Feature ID in its internal price list table and then use the login_scope function in the Licensing API to consume the required number of tokens from the token pool. Set the <execution_count_to_consume> tag in the scope to the number of tokens to deduct from the pool.