The Reprise License Manager product is capable of supporting many license types. Some are appropriate for standalone, single-user licensing models and others are used to support more complex network licensing and pricing scenarios. Determining when a license server must be installed is not always clear.
So, let’s spend a few minutes talking about the various jobs a license server performs, and when it is needed to support various license types.
Uncounted v. Counted Licenses
The biggest factor that determines whether a license server is required is whether licenses are counted or uncounted. Counted licenses require a license server because it must “count” concurrent licenses. Counted licenses are used whenever the ISV wants to limit or record concurrent license usage. Counted licenses can be identified by a positive integer in the “count” field of the license.
Uncounted licenses, on the other hand, do not require a license server because there is no need to count usage. Uncounted licenses can be identified by the word “uncounted” or or the number “0” in the license count field of the license. Each uncounted license must be node-locked to a hostid. For ease of administration at larger sites, uncounted licenses for multiple computers may reside in a license file that is managed by a central license server, but this is not required.
The other license type that does not require a license server is the “single” license type. This is also a node-locked license, but it can be used by only one user at a time (concurrent count of “1”). The enforcement of “single” licenses is done via file locking, not by license servers.
The RLM License Server
The basic job of the RLM License Server is to service license requests from RLM-enabled client applications over the network. Based on the needs of the application, the license server redirects license requests to the ISV-specific license server which actually grants or denies the request based on what is specified in the license and on the current usage conditions.
License servers also manage “roaming,” named-user, and token-based licenses. They manage held and shared licenses, and offer an admin interface, diagnostic tools, and are responsible for writing debug and report logs.
Using dongles with RLM
The Reprise License Manager (RLM) comes with built-in USB dongle support, meaning that using dongles with RLM could not be easier. Dongles purchased from Reprise can be used as a standard “hostid” to which licenses can be locked. The principal advantage of using dongles is to provide a convenient way for your customers to transfer licenses when machines are replaced or upgraded. Software applications, with a valid license, can be used on any machine as long as the dongle specified in the license is attached.
ISVs who prefer to support their own dongles with RLM can do so by way of an ISV-defined host ID. ISVs can choose a simple, low-cost dongle because RLM needs only the dongle’s serial number at runtime. ISVs then write a routine to retrieve the dongle’s ID and include that routine within the RLM libraries so whenever a license is tied to the dongle, RLM knows how to call the ISV’s routine to obtain the dongle serial number. Example code is provided with the standard RLM SDK to show how ISV-defined hostids can be integrated into RLM.
Ellexus chooses the Reprise License Manager
Ellexus LTD, a software start up from the UK, recently released a tool called Breeze for managing scripted flows such as those used in hardware design and software builds. They surveyed several licensing providers before choosing RLM from Reprise Software.
“Our business has been growing steadily since we purchased the RLM licensing package in January 2011 – you may have seen our article in EEtimes,” said Dr. Rosemary Francis of Ellexus. “We have been very happy with Reprise and so far it has been well received by our customers. It was really easy to integrate into our product and straightforward to cut new licenses. Our customers have large computing infrastructures that mean that they need a robust floating license model that gives their teams flexibility and cuts down on administration cost. The simplicity of the Reprise setup procedures has made their lives – and ours – easier. ”
Breeze is designed to help customers understand complex software flows such as scripted builds and compilation flows. Breeze traces the interactions between programs, scripts and data to help develop and debug mix-vendor and mixed-language builds. It helps to automatically document flows as a means to package up solutions for third parties and remote engineers or to understand a new flow from a customer or vendor. Breeze can be used to troubleshoot issues with compiled and scripted flows and is language independent. It works on your existing system and gives you an overview of the system as well as detailed information for debugging.
Reprise Software has expanded its product line to address license usage reporting and pay-per-use needs of current RLM and FLEXlm/FLEXnet ISVs.
Reprise Software has recently become a global reseller of LicenseTracker’s LT-Analyzer license usage analysis tool enabling your customers to understand their license usage and for you to implement usage based pricing models.
This new product supports both RLM and FLEXlm/FLEXnet. RLM’s report log format is supported as is, and FLEXlm ISVs can take advantage of this new product simply by integrating a small piece of open source enhanced reporting code into their existing FLEXlm/FLEXnet vendor daemon.
By delivering reporting tools, ISVs can let their customers produce license usage reports to support current pricing models. Reports can be used as hard evidence to support fact-based software pricing negotiations, especially at the largest customers.
Usage based pricing can complement current license models. Time or some other metric that fits your licensing strategy can be measured to ensure that customers pay for what they use.
This tool also allows end customers to assign costs to licenses and to monitor usage versus a set budget, and to assign costs across departments or business units who share common pools of floating licenses.
For those ISVs planning to host license servers for “in-the-cloud” customers, LT-Analyzer can be used in-house to collect license data to produce billing reports based on actual cloud-based usage.
The LT-Analyzer product imports RLM report logs and/or enhanced debug log records produced by modified FLEXlm license servers. Useful reports are produced by aggregating logged usage data during the billing cycle.
Global licenses for LT-Analyzer are based on a scaled-revenue tiers, much like RLM and FLEXlm/FLEXnet.
Please contact Reprise Software for more information about functionality or pricing, or to arrange a demonstration.
Summary: Tachyon Design Automation tells why they switched to RLM – to take advantage of its flexible licensing solutions to support multi-cores.
Previously Tachyon DA used an internal licensing system for our flagship product, CVC, a Verilog simulator with industry leading performance. Our in-house system only allowed node locked licenses and lacked the ability to support simultaneous simulations. As the industry moved to multi-core CPUs and we received more requests for floating licenses it became evident that our solution was in need of updating. We decided it was probably better to take a look at third party solutions than spend the time updating our own license manager.
The Switch to RLM
We found RLM to be a simple yet powerful licensing solution. RLM allowed us to immediately add support for multiple count (multi-core) and floating licenses with minimal effort. We were also able to maintain some of our original licensing mechanism on top of existing RLM features. It quickly became apparent that it was a good idea to go with RLM for CVC’s license manager instead of updating our own. This allowed us to concentrate our efforts on what we do best, while letting Reprise handle staying current with all the latest licensing models.
About Tachyon Design Automation
Tachyon Design Automation specializing in Electronic Design Automation (EDA) software. Our flagship product, CVC, is a Verilog simulator which provides industry leading performance and capacity.
Using RLM refresh-type activation to support short-term renewable licenses
Consider these licensing system requirements:
- The system must be able to generate a time limited and trial licenses.
- The trial version will automatically become a “full version” when the customer purchases a license.
- Full licenses are also “time limited”, i.e. customers can purchase packages of 30, 60, or 90 days.
- Each time the application starts, it must validate that its license has not yet expired.
- The application must be able to operate “off line” for a specified period of time: if the license cannot be reactivated at the expiration of the allowed off-line period, then the license is suspended and the application cannot start.
- Upon first reconnection, if the user still has a valid license (has not been terminated), the license is reactivated, the off-line allowed time is restored and the application can be run again.
Supporting the Concepts
Using the optional RLM add-on product, RLM Activation Pro, a refreshable license is one that is intended to be reactivated frequently and receive a license with a new expiration date with each reactivation. Refreshable licenses are typically of short duration (days). The ISV is assured that the maximum period during which the end user can run the licensed application is the duration of the refreshable license, say 30 days.
For example, if the ISV specifies a 30-day refreshable license, then the license will be good for 30-days after each activation. If the refresh operation fails for any reason, such as the lack of Internet connectivity, then the license is still good until the end of the 30 day period – enough time to resolve any connectivity issues. This allows the customer to operate off-line until the license needs to be refreshed.
Refreshable licenses also give the ISV a way to revoke a license should that user fail to meet contractual obligations, for example. The ISV can simply disable the user’s license on the activation server, and refresh attempts of that license will fail from that point forward, or until it is re-enabled by the ISV.
The client side of refreshing can be automated, so it can be performed without an undue burden on the end-user. Reprise supplies a “Refresh API” for license refreshing, which the ISV can use from within the application itself, or within a separate standalone utility. Reprise supplies a generic refresh utility that can be supplied to the end-user by the ISV. The generic utility, “refresh_util”, is meant to be set up to run daily as a scheduled task.
Defining new Hostids within RLM
RLM comes with a comprehensive set of integrated hostids, but there are times when ISVs need to lock their software licenses to something else. The three most common reasons for ISV-defined hostids are:
- Supporting non-Reprise dongles
- Tying licenses to peripheral hardware devices
- Combining various identifying elements of the computer.
RLM provides the ability to extend the native set of hostids by using your own routines to obtain host identification which is unique to you.
In order to do this, you use the rlm_add_isv_hostid() call in your application. If you want to support multiple instances of your hostid type on a single computer, you would use the rlm_add_isv_hostid_multiple() call.
For more information on ISV-defined hostids, please consult the latest RLM Reference Manual or contact Reprise Software.
RLM License Administration Bundle for License Administrators and End Users
The RLM License Administration Bundle is designed to give license administrators everything they need to maximize their use of RLM-licensed applications, the bundle contains the most-current RLM license server, and a tool, “rlmtests,” to help with license server and network capacity planning.
The RLM License Administration Bundle includes some testing tools that let License Administrators answer questions such as:
- How fast can my license server service license requests?
- How many licensed users can my server handle?
- What will my performance be if I double my current user population?
- When should I split my license inventory into multiple independent license servers?
‘rlmtests’ is totally self-contained, creating the required test licenses and then starting a license server before it runs the tests, finally reporting the results on the screen. The rlmtests utility performs two categories of tests: checkout performance tests and server capacity tests.
With this utility, license administrators and other end users can be proactive about their hardware requirements, matching available hardware to expected needs and developing a plan for hardware acquisition to match the growth in users of RLM-licensed software.
The RLM License Administration Bundle can be downloaded from the RLM License Admin support page: http://www.reprisesoftware.com/admin/software-licensing-downloads.php
Reprise Software is now Tweeting
Reprise Software is now using Twitter to communicate bug reports and product announcements. You can follow Reprise Software on Twitter at: