Count unique users of your application with the Shared Floating License.
We’ve discussed the floating license in a previous blog post. A floating license allows a specified number of independent instances of your application to run anywhere on your customer’s network so long as that number does not exceed the predefined limit specified in the license. But what if you want to allow each user to run multiple instances of your product, while still limiting the number of users who can access the product at the same time? The Shared Floating License works well in this situation.
With a shared floating license, separate program invocations from the same user (or the same user on the same host) consume only a single license.
To implement a shared floating license in RLM, specify a license server with the SERVER line, and set the count field of the license to a positive integer. The license itself has no associated hostid, meaning that it will run anywhere. The license should also have a “share=” attribute, and the value is any combination of the letters “u”, “h”, and “i”.
With a shared floating license, you have a good bit of control over the actual sharing of the license. You can share the license across invocations of your product that have the same:
- isv-defined string
or any combination of those 3 parameters. So, for example, you can share a license requests from the same user on the same host by specifying the share= parameter of the license as “share=uh“.
In addition, you can limit the amount of sharing that is allowed. For example, if you want to allow up to 5 invocations from the same user to share one license, but the 6th invocation to consume an additional license, specify “share=u:5“.
Shared Floating Licenses work well for interactive applications where the user will naturally bring up multiple copies to get a job done. In this case, consuming a single license for multiple invocations seems like a natural and fair way to license your product.