By staff

Hold on to that License

Using RLM keywords “HOLD=” and “MIN_CHECKOUT=”

Many valuable software tools that require floating licensing run for only a short time.  These include various solvers, development and design tools, and other specialty software products that are designed to perform very specific tasks very quickly.  Unlike typical interactive or desktop applications, these short-burst applications typically do not have a GUI of there own, and are often launched by other applications within a product suite.

The “Short Duration” Licensing Challenge
The licensing challenge for these applications is based on the fact that a floating license is a shared license.  When a floating license is used it is unavailable until it is returned.  But, short duration tools consume licenses for only a short time, so a single license could potentially be shared by a large number of users.

The “Short Duration” Pricing Challenge
The licensing challenge is really a pricing challenge.  In other words, how do you set a price for a single floating license that is low enough for small sites to afford while at the same time scaling your pricing so that larger sites that use more of your software pay you more for that use?  How do you prevent large sites from satisfying their requirements by licensing only a single floating copy of your software?

Extra Hold Time: HOLD=
One way to handle this problem is to implement an extra “hold time” on the floating license.  This instructs the license servers to hold the license for an extra number of seconds after it is released by the client, regardless of how long the license was actually used.  So, for example, if the application uses the license for 20 seconds, upon termination of the program the license is “held” for an additional 300 seconds, say, for a total of 320 seconds.  The effect is that the floating license can be shared by fewer users because it is “held” this extra amount of  time each time it is used.  This encourages customers to order more licenses to satisfy their user population.  But, some customers may object to the license being unavailable for such a long time.

Minimum Checkout Time: MIN_CHECKOUT=
Another similar method is to enforce a “minimum” license checkout duration.  Instead of extra time being added to the end of a licensing session as in the above example, a license would be held for at least a specified minimum amount of time.  So, a license with the minimum checkout time set to 300 seconds would add 280 extra seconds to a license that was in use for only 20 seconds.  Licenses used for more than 300 seconds would not be affected.

Both “extra hold time” (HOLD=) and “minimum checkout time” (MIN_CHECKOUT=) keywords are specified in the license file, external to the application, so that the same executable can use either method without modification to the source code.

Queuing for Licenses

Adding support for license queuing promotes more efficient use of a user’s inventory of licenses

The RLM license server has the ability to manage a queue of requests for a license when all licenses are in use. If queued for a license, the application is notified by the license server when a license has become available. Queuing occurs in the course of a normal checkout if the application’s environment specifies a value for the variable RLM_QUEUE.

Applications must be made aware of Queuing

The licensed application needs to support queuing, in that it has to react appropriately to the RLM_EL_INQUEUE error status after a checkout attempt, instead of treating it as a hard error. The application should keep checking the license status periodically as long as the user wishes to remain queued for the license. Not all RLM-licensed applications do this, but most do.

Queuing to Multiple Servers is Transparent

The licensed application side of RLM manages queuing in a multiple license server environment transparently. If all licenses are in use on all of the license servers that the licensed application is aware of, RLM will queue for a license on all of the license servers. As soon as a license becomes available on one of the servers, it is granted to the queued application, the application dequeues on the other servers. This is handled transparently to the application, in the RLM library. [ Don’t you wish supermarket check-out lines worked this way? You’d be waiting in all of the lines at once. ]

All Aboard the Express

RLM has the concept of “express” license pools for the purposes of queuing. An express license pool is one where queuing is not on a strictly first-in first-out basis. This is best illustrated by example. Consider a pool of 10 licenses: 8 are currently in use, and 2 are available. Application A requests a checkout of 3 licenses, and specifies that it wants to queue if the request can’t be granted immediately. Its request is queued because only 2 licenses are available. Application B then requests 2 licenses. If the pool is an express pool, Application B’s request is granted immediately. In a non-express pool, Application B’s request would be queued behind Application A’s request. By default, all pools are express pools. This can be changed by the end user on a pool by pool basis, or globally, via the EXPRESS directive in the ISV options file.

SketchList Selects the Reprise License Manager (RLM)

Summary: Here at SketchList Inc. we use RLM for four primary reasons. First, it protects our investment in our software by assuring us that only paying users can use our software. Second, it provides us with flexibility in our pricing plans by allowing us to time limit keys we sell to our customers. Third, the RLM software and services are high quality and professional in nature. And finally the RLM pricing and scheme provide fair value to our company.

Licensing Challenge: To develop a scheme that allows us to sell online, offer trials, provide many pricing options, and address both the PC and MAC computer users with a minimum of operational burden.

Why RLM: While the consultants charged with recommending the solution had originally selected another package, the pricing for that package / service was too high and inflexible. After RLM was introduced to the consultants they tested it, incorporated it into the SketchList product, and have since recommended it to other clients of theirs. We were able to introduce RLM to our environment and test it to our satisfaction within the trial period. We are currently using it to provide keys for a new release that is in beta, and have seen no problems.

About SketchList Inc: SketchList 3D is a software product that helps professional woodworkers prepare winning bids for new projects and customers. It allows woodworkers to use virtual 3D objects – boards, doors, drawer and hardware – to quickly and easily design and demonstrate their proposed work to prospects. Photo-like quality images in 3D help their prospects see what they are buying. In addition, all drawings and reports necessary for building the project are being created as designs are developed.

Infochem Computer Services Ltd. Licenses the Reprise License Manager (RLM)

Infochem converted their robust FORTRAN application from dongle-based licensing to a file-based system using RLM, reducing support costs while increasing customer satisfaction.  According to Dr. Richard Szczepanski, Director, “We have always regarded a licensing system as an essential part of our software. We started using a dongle-based system in the early 1990s and this has developed over the years stand-alone installations to network licenses. Dongles are not always popular with customers but they do an effective job of controlling licenses.”

“We chose RLM to enable a complete electronic delivery of the software product and license. In the past we have considered a number of license-file based systems but poor experiences as users of these systems and high costs prevented us from adopting them for our own software.”

“It is simple to sum up our experience with Reprise and RLM: we are happy and our customers are happy.”

About InfoChem:

Infochem is a specialist engineering company that provides thermodynamic modeling software and consultancy services to the oil & gas, process and chemical industries. We have been established for over twenty years. Our principal software product, Multiflash, is a powerful and versatile program for modeling physical properties and phase equilibria involving any number of fluid and solid phases. It is used by engineers worldwide, either as a stand-alone program or in conjunction with other software. Typical applications include flow assurance and life-of-field studies for the oil industry, pipeline network modeling and process design and optimisation. A complementary product, FloWax, simulates the deposition of wax from oils and condensates in multiphase pipelines.

We have always regarded a licensing system as an essential part of our software. We started using a dongle-based system in the early 1990s and this has developed over the years from parallel port dongles to USB dongles and from stand-alone installations to network licenses. Dongles are not always popular with customers but they do an effective job of controlling licenses.

It is a common complaint among software suppliers that the licensing system consumes an uncomfortably-high proportion of support effort. It has certainly been our experience over many years. This was one of the main reasons for investigating alternative license control systems. Another was to enable a complete electronic delivery of the software product and license. In the past we have considered a number of license-file based systems but poor experiences as users of these systems and high costs decided us against adopting them for our own software. We were aware of RLM for some time before we decided to try an evaluation. We talked to other users and their positive comments convinced us to go ahead.

Our software is written in Fortran so we needed some help to get to grips with the API. Reprise put us in touch with another Fortran user and that made the task simpler. Overall our experience was good. The product performed well and met our requirements. Our software comes as a basic product plus a number of optional modules; we provide node-locked and floating licenses and we issue short-term evaluation licenses. All this is well-supported by RLM. In particular, the cost and effort of providing evaluation licenses has decreased dramatically because there is no hardware device to deal with. The process is smoother, faster and simpler for prospective customers.

The transition to RLM has been transparent to our customers because we are using the dongle system and RLM in parallel. We have a single program that incorporates both licensing libraries. New licenses are RLM-based and, although it is still early-days, the support effort has indeed decreased. Most importantly, we have not been faced with any of the long trouble-shooting investigations that were sometimes necessary in the past. We are still learning but the effort has been worthwhile.

RLM – A Light Shines

RLM end-users remind me of why software license management is so important to them.

by Cody Crider, Reprise Software, Inc.

We have written many articles about the benefits of software licensing to Independent Software Vendors (ISVs) and how to implement various features within RLM. Of course this is the target audience for Reprise Software’s product, right? That might be where we make our living, but there is a whole other world of software licensing that ISVs should examine more closely, from their customers’ perspective.

I recently had the opportunity to make a presentation to a number of end-users of enterprise-class software products that utilize software licensing including the Reprise License Manager (RLM). These end-users represent some of the largest companies in the world. It was very enlightening to hear about software licensing from the perspective of the folks involved in the day-to-day management of hundreds of applications, and thousands of licenses. The special value of software licensing to this end-user community is one that needs to be continually addressed.

There were the discussions about what end-users commonly want, such as the following:

  • Better control over when/where/which users can access software assets
  • Unfettered access to usage data and tools to track and allocate costs
  • Improved license administration tools
  • More predictable and consistent licensing models across vendors
  • Transparent policy spelled out in the license key
  • Auto-maximized license utilization
  • Better control over license queuing
  • Better performance measurement tools to plan for and deploy new licensed applications
  • Better diagnostic tools
  • Simpler Internet-based activation and license installation

We had an opportunity to discuss how RLM address many of the needs outlined above and that the majority of the innovations in RLM are in support of better value for end users while simplifying implementation and deployment for ISVs.

The discussion then shifted a bit when the question was asked, “Does RLM do a good job at ensuring software compliance?” Sure, we talk about a benefit of RLM is to ensure that ‘honest users stay honest’, but this is from the perspective of the ISV who wants to maximize revenues by eliminating unlicensed usage. A light came on to remind me that this is also a critical issue for our end-user community. From their perspective, it is one of the benefits they value most from software licensing. Let’s face it. There are a lot of things that end-users don’t like about software licensing, but it is one of the ‘inconveniences’ that they can tolerate for all the extra benefits derived from it.

The software end-user has a management mandate to stay compliant with their software licensing agreements and to have the information they need to prove this during audits. Software compliance can be less costly for these customers if the software they license includes the proper built in license compliance tools, like RLM.

RLM provides the flexible licensing models and features that can match what is being sold to software end-users. ISVs who support license models matching those described in their software licensing agreement can go a long way to help ensure compliance.

RLM provides the administration tools to monitor and support license compliance reporting. The tools are built into RLM so that the end-user can easily control how the software is utilized in their organization and determine who has the rights to use it. RLM provides detailed license usage report logs that can be used to track and monitor usage across the organization. The RLM Reportlog uses an open and authenticated format that can easily be read for reporting purposes. Reprise works closely with 3rd party vendors such as License Tracker, OpeniT, and RunTime Design Automation that provide tools to help maximize the usage and monitoring of software assets.

All of these features and efforts can help assist the end-user community to ensure that they are in compliance with their license agreements.

Advanced End User Reprise License Manager (RLM) Administration Tutorial Series

Advanced End User RLM Administration Tutorial Series

Reprise Software continues its series of regular on-line tutorials designed to help users maximize the value of the Reprise License Manager (RLM). These sessions are designed for system administrators and ISV tech support people.

This third session will be conducted by Reprise Software’s lead software developer, Bob Mearns, who has over 15 years experience developing and supporting license manager software.

The 40-minute session is scheduled for Tuesday October 12th at 8AM PDT (GMT-08). This session will focus on RLM license server administration and optimization in a multi-server environment. It will specifically address:

  • License server administration of multi-server sites
  • Connecting to multiple license servers
  • Connection and Idle Timeouts
  • Server to Server License Transfers
  • License Queuing
  • RLM’s environment variable settings

For more information about the tutorial series, please contact Mr. Cody Crider at [email protected]

Time to Talk about Timeouts in the Reprise License Manager (RLM)

Technical article on timeouts in the Reprise License Manager

There are two types of timeout events in RLM: connection timeouts, and idle timeouts. Let’s dig into each of them a little bit deeper.

Connection Timeouts Time's Up

Connection timeouts occur when a client application takes too long to connect to one or more RLM license servers. Users can change the default connection timeout value from 10 seconds to as low as 5 seconds by setting an environment variable. If set to a negative value, the connect timeout will be its absolute value, and if any particular server connection times out, no further attempts will be made to that server. If set to a positive value, a connection will be attempted to the server even if it timed out on the last attempt. The latter example is the default behavior in RLM.

Skipping over License Servers

RLM also keeps track of which license servers in its license path list have an ISV’s server running on them. If either there is no ISV line for that ISV in a local license file, or an attempt is made to check out a license from a server and the RLM server returns a status indicating that this ISV is not present, then the server is flagged as not having that ISV server.

In a multi-server environment, it doesn’t make sense for an application to repeatedly attempt checkouts from servers that are known not to be serving its licenses. So, application developers may choose to “skip” these license servers. Note that by default, RLM will attempt all operations on all servers.

Idle Timeouts and Heartbeats

Most users want the license server to reclaim licenses from applications that become idle for too long. This ensures maximum utilization of floating (shared) license pools.

The RLM license server expects to hear from client applications periodically as a way for applications to tell the server that they are still active. Normally, this is done by sending “heartbeats” from clients to the server either automatically or under the direct control of the application itself.

Some software vendors may decide to inform the server that an interactive application is idle while waiting for user input. This allows the application’s license to be reclaimed by the server when the application waits too long for user input. When the user eventually “wakes up” the formerly idle application, it will attempt to reclaim any lost licenses from the server.

When licenses are timed out by the server, they are essentially checked back into the pool for use by others.  This event can be recorded in a server report log, if desired.

User Control of Idle Timeouts

An end-user can specify a TIMEOUT value for any idle license. If the license remains idle for this amount of time, the license server performs an automatic check-in of the license and informs the application (if it is still running).

Software vendors can set a MIN_TIMEOUT keyword in a license that specifies the lowest value that an end-user can set for the timeout value of a license. If not specified in the license, the RLM default minimum of 3600 seconds (1 hour) is used.