Activation Use Cases

In the previous chapter we described what an activation system does and the architecture of RLM Activation Pro. This chapter will describe a number of use cases for activation.

The Simplest NodeLocked Activation Scenario

In it’s simplest usage, you give an activation key to a customer and they use this key to retrieve their license.

In ActPro:

  1. You create a product definition which defines the license to be created, specifying a nodelocked license.

  2. Then, you create an activation key for this product. In most cases, you use a “normal” activation key.

  3. When your customer purchases, you give them the activation key.

  4. Inside your software, if you cannot check out a license, you put up a “please enter activation key” dialog box and prompt for the activation key.

  5. Once you get the key from your user, call rlm_activate() to activate the license using the RLM ActPro server. rlm_activate() returns the license as a text string.

  6. Write the license to disk, then re-initialize RLM and check out the license.

  7. Subsequent invocations of the product check out the license without going through the activation sequence.


Creating DEMO Licenses Automatically

If you are using nodelocked licenses, you can create demo licenses automatically quite easily with Activation Pro. Assuming you are using the simple scenario above, proceed as follows.

In ActPro:

Create a demo product definition that specifies a limited duration, typically 30 or 60 days. Next, create an activation key with a fulfillment count of 0, which means unlimited fulfillments. This key would use the demo product definition you just created. Give the resulting activation key to all your prospects. When they activate with this key, they will get a license that runs for the number of days specified. If they attempt to reactivate with the same key on the same machine, the original license will be returned, i.e., they will not be able to extend the demo period by re-activating on the same machine.


Disabling Software for Customer Who Did Not Pay

Sometimes, you create an activation key and deliver your software to a customer, but that customer does not pay. In this case, you can turn your software off using the following technique. We will assume you are using the simple scenario described earlier.

In ActPro:

Once the customer has activated your software, and you decide that you no longer want them to be able to continue, take the following steps. This requires that you have saved the activation key somewhere that you can retrieve it, for example, in the product definition you could specify the “Include activation key in license?” checkbox.

  1. In RLC, disable the activation key in the RLM ActPro GUI (uncheck the “enabled” checkbox).

  2. In your application, after the call to rlm_checkout() succeeds, call rlm_license_akey() to retrieve the activation key. Then call rlm_act_info() passing the activation key. If rlm_act_info() returns RLM_ACT_KEY_DISABLED, then the license is no longer valid. If rlm_act_info() returns 0, all is OK.


Subscription Licensing

If you sell nodelocked software using a subscription model, you can use the Subscription activation key type to manage the license.

In ActPro:

With a subscription activation key, you set 2 parameters: the Subscription Interval and the Subscription Renewal Window.

  1. Your product definition should specify the “Include activation key in license?” checkbox, so that you can re-activate the license near the end of the subscription interval.

  2. When your customer activates the license, the license generator writes the expiration date into the Activation Key.

  3. At any time after the expiration date minus the Subscription Renewal Window, your customer can re-activate the license and the new license will have an expiration date equal to the current expiration plus the Subscription Interval. You can do this most conveniently in your code after calling rlm_checkout() by calling rlm_license_exp_days() to decide when to reactivate it and rlm_license_akey() to get the activation key.

  4. When your customer decides to cancel the subscription, in RLC, disable the activation key or delete it. If they cancel before the end of the period, set the subscription window to 0 at that time, then disable the key on the day prior to the period expiration.


Subscription Licensing – Alternate Approach

If you do not want to use the Subscription activation key type, you might want to issue a long-term license and have the capability to disable the license at some point in the future if the customer cancels the subscription. You can use the following technique to accomplish this.

Once you issue a permanent license to a machine, it will work forever. However, you can use the activation server to disable the license if the customer no longer wants to pay for the subscription.

  1. Your product definition can specify a long-term license (one year, two years, or as often as you are willing to give the customer a new activation key). In addition, the product definition should specify the “Include activation key in license?” checkbox.

  2. When your customer decides to cancel the subscription, in RLC, disable the activation key.

  3. In your software, after the call to rlm_checkout() succeeds, call rlm_license_akey() and rlm_license_hostid() on the checked-out license.

  4. Using the activation key and hostid from step (3), call rlm_act_keyvalid() passing the activation key and the hostid. If rlm_act_keyvalid() returns RLM_ACT_KEY_DISABLED, RLM_ACT_KEY_NOHOSTID, or RLM_ACT_KEY_HOSTID_REVOKED then the license is no longer valid. If rlm_act_keyvalid() returns 0, all is OK.


Dealing with Decommissioned Customer Machines

Let’s say that your customer activated a license then, sometime later, told you that the machine has been decommissioned. You allowed them to re-activate on a new machine. How do you ensure they aren’t using the original license?

In ActPro:

Once you issue a permanent license to a machine, it will work forever. However, you can use the activation server to detect that the customer continues to use the license on the old machine. This requires that you have saved the activation key somewhere that you can retrieve it.

  1. When your customer tells you that the machine has been decommissioned, in RLC, delete the fulfillment for their activation key. This will allow them to activate using that activation key on a new machine.

  2. In your software, after the call to rlm_checkout() succeeds, call rlm_license_hostid() on the checked-out license.

  3. Using the hostid from step (2), call rlm_act_keyvalid() passing the activation key and the hostid. If rlm_act_keyvalid() returns RLM_ACT_KEY_DISABLED, RLM_ACT_KEY_NOHOSTID, or RLM_ACT_KEY_HOSTID_REVOKED then the license is no longer valid. If rlm_act_keyvalid() returns 0, all is OK.