From For Publishers

Various topics pertaining to the technology of license management, both internal to license managers and the use of license managers in software products.

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

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.

How to License Server-based Software

Consider your options
The usual licensing strategy for server software is to lock it to a physical host. This provides some degree of protection from installing and running on multiple hosts, but it does not necessarily represent the optimal approach in terms of maximizing your revenue or customer satisfaction.

What’s missing?
First, there’s the notion of scaling. Do you really want to charge the same price for every site? You need some way to charge more when your software is used more.  Perhaps you can sell multiple node locked servers to larger sites, or even charge relative to the number of cores on the machines, the rationale being that there is the potential to get more use from machines with more horsepower.

Float your server licenses

If you want your customers to have the flexibility of installing and using your server on many machines without having to license them separately, perhaps you should use a floating license manager that ensures that no more than a predetermined number of concurrent server copies can run at the same time. With floating licensing, you issue a license key with a count, and lock only the license server, not each user node.

Size matters
Another approach could be licensing by some other scaled metric: how many records can be maintained in the database, a count of named users, etc.  Each of these metrics can be encoded into a license key, allowing the server software to know when it starts what level of service to enforce based on the license key scaling parameters. A single version of your software could then enforce the appropriate size limits on a site by site basis.

Using a license manager, such as RLM, could also give you even more control of how your software behaves within a virtual machine.  You could even license by platform or by the site’s timezone.

In any case, using a license manager gives you the freedom to change with your license policies.

Why Experience Matters in Software your Software Vendor

We've been lucky enough to be around software licensing for 20 years; combined, we have over 70 years of software licensing experience under our roof. It's safe to say that in that time we've seen it all, and then some. Whether it's enterprise end users wanting the best tools to maximize the usage of their valuable software assets, or software vendors wanting that next creative approach to licensing and selling their software, we've been there and done that.

Read more

Licensing Strategies for an Economic Rebound

Thrive by making changes to your software licensing programs

Some pundits have said recently that the global economy is coming out of the recession. True or not, overall business activity is still comparatively slow. We think that a sluggish, yet growing economy presents an opportunity to exploit changes in how you license your software.

Of course many software vendors’ revenues were barely affected by the slump – good for them. But not all vendors are as fortunate.  Every software vendor eventually experiences a slowdown at some point. When overall capital expenditures are declining it’s almost inevitable that software vendors will feel the effects too. In addition to redoubling your efforts to improve your core products, the key to successfully riding out a recession is to support an adaptable and creative set of software licensing programs.

Regular readers of this newsletter will already know that the best way to stay flexible is to integrate a license manager within your software. Here are some ideas for your marketing/sales teams to create new programs to help you weather the storm.

Streamline your Licensing Operations
Perpare yourself for growth by setting up a more automated licensing system can help you save money on labor costs, while improving customer satisfaction and increasing sales. When a prospective customer requests an evaluation of your product, you can send out an “evaluation key” that can be redeemed for a temporary license over the Internet that will be valid during the evaluation period. The best part of this tactic is that you know exactly when that license will expire, and perhaps when to contact the user to see if your product fits his needs. You then can either extend the evaluation by issuing a new “evaluation key” or convert the trial into a sale. For paying customers, you can allow them to self-serve their license keys using the same activation infrastructure.

New Pricing/Payment ModelsMoney Key
Slow sales mean that it’s time to get creative with licensing. If you are now selling only permanent licenses, consider going to time-limited licenses, both to add recurring revenue and to avoid “giving away” value. Try selling annual licenses to reduce the upfront cost of your licenses.  Price the annual licenses at a level that will increase your revenue over time.  Also consider a pay-per-use scheme for those customers who prefer it.

Modularize your High-Value Components
Some software vendors use an economic slowdown to decouple some of their high-worth software modules from their basic product so that overall prices can be reduced while still capturing higher revenue from those customers who require the more expensive options. The lower cost of the basic version can open up new accounts and increase your market share as well.

“Productize” what you used to give away for free
We’ve talked to a lot of companies recently that are not, strictly speaking, software companies at all.  It turns out that many technology companies often “throw in” software as a kind of “enabler” or loss-leader, focusing instead on collecting revenue from hardware sales or consulting fees. Let me suggest that wherever there is perceived value in these software applications, there is also potentially untapped incremental revenue.

Increase your Maintenance Subscription Rate
License Managers are very useful tools to ensure that your customers use only the software versions for which they have paid support fees.  Try using the version number field in your licenses to encode a support-expiration date in the form yyyy.mmdd (2009.0531).  Let a license manager compare it to the “release date” of each version so that your customers must remain current with their maintenance payments in order to access new releases.

Expand your Sales into New RegionsGlobe
Use a license manager to restrict licenses by time zone or region to penetrate new markets at a much lower cost. Sales gains can be realized by charging a premium for licenses that allow use across wider geographies. Encourage additional license purchases from organizations whose software usage spans geographies.

Deepen Penetration within your Existing Customers
Often the best source of new license revenue is found within your existing customers. Not all users within a customer are the same. So try creating product classes that are specific to each different user type. A license manager makes it easy to build one binary that takes on different functional behaviors (“lite”, “basic”, “advanced” etc.), each one determined by the specific license key you issue. You can later sell upgrades by supplying an additional license key to turn on greater functionality. The pricing of these various classes of licenses should match the value that different user types ascribe to your software.  Examine software usage patterns to create a balanced set of licensing options that appeal to the widest audience within your best customers.

Find a lower-cost Licensing Vendor
While you are looking for new revenue sources, you might also consider making changes on the other side of the ledger. If you are tired of paying excessive fees for your third party license manager, maybe it’s time to consider a lower cost alternative. Reprise Software is in the sweet-spot in this regard – providing a world-class license management system at a much more affordable price.

License Server Deployment: Local or Web-Based?

Which is Better for Your Customers?

As license management technology has evolved, so has Internet-based networking and the ability to locate various clients and servers at physically distant locations.  But are “distant” and “remote” always best for a software vendor’s customers?

Let’s look at some of the thinking that could go into the decision on how and where to locate license servers, and what that means for a software vendor’s choice of license management technology.

First off, it’s best to look at the question of server location in the context of a specific type of end user.  Clearly, not all software is best managed with license servers, either local or across a WAN or the Internet from its intended users.

Software that is best deployed with license servers is typically low-volume and high-dollar-value software, such as is used in various engineering fields (mechanical CAD/CAM, chip design or “EDA”, oil and gas exploration, video production, etc.)  So, it goes without saying that the nature of these software products, and their value to the organizations buying licenses for them, demands near-instantaneous, secure availability of those licenses, as well as the ability to easily report on their usage.  In fact, this model is where the term “software asset management” is derived: non-tangible yet hugely valuable software licenses that are treated by end user organizations just like any other important, valuable physical asset.

Given that high-value software licenses must be always available, secure and reportable, where should the servers hosting those licenses be sited?  On the end user’s Intranet?  Across a WAN?  Across the Internet?

At Reprise, our experience going back over 20 years leads us to think that the physically closer you can site license servers to their intended users, the better.  Also, the fewer network devices you can put between the user and their license(s), the better.  While it can be argued that networking has only gotten better over the years, with more capable routers, higher-speed connections and better system and network management, as of yet no one has figured out how to remove Mr. Murphy, of Murphy’s Law fame.  And the last thing your poor, harried user needs is Murphy messing with license servers at the eleventh hour of a big project, when that important software license had better be available.

Besides availability, control is obviously important in deploying license servers.  Large enterprise organizations dedicate individuals or even teams to keeping software licenses watered, well-fed and ready for their users.  Inherent in that is the capability to tweak individual vendor servers, or the main server itself, so that license reservations for groups or projects and reporting are all set up to maximize the users’ benefit.  So while moving all of this infrastructure across the Internet may seem appealing to the software vendor, be sure to ask your users what they would think of this.  Would your users still have routine administrative access to stats about server and license availability?  What happens when Port 80 is saturated when the next “gotta watch” video is posted?

While there’s a trade-off between configuring firewalls to handle non-Port 80 traffic and the immediate availability of Port 80, it’s our observation that most end user organizations want to dedicate ports and server hardware to serving valuable licenses, so that their users can get them when they need them.  And now, with the concept of license “refreshing” and re-hosting, a good hybrid deployment model is available to end users of license managed software.  Imagine–having the flexibility to easily move licenses from one server to another with the good availability of licenses served from a machine directly under the end user’s control.  What could be better!