|
Locking PC Software Licenses to
Machine Fingerprints
Software vendors have been
increasingly perplexed as to what
unique hardware identifier to choose
(see "Choosing
a HOSTID".)
Thwart Opportunistic Users
Perhaps a better alternative to
using a single hardware element of a
PC for identification is to use a
composite, or "fingerprint"
identification mechanism for PCs.
Rather than relying on a unique but
easily-changed parameter, such as
MAC address, fingerprint
identification is based on several
parameters, run through a
proprietary algorithm. Using a
fingerprint for hardware locking
makes it harder for rogue users to
intentionally manipulate elements of
a PC in an effort to gain extra
licenses.
"Change can Happen"
The advantages of such an approach
are clear. Since many parts of the
PC are examined to programmatically
calculate its "fingerprint," a
unique host identifier (used to lock
licenses) can be created for every
PC, regardless of the actual
hardware or software components that
are installed. Also, since the
fingerprinting algorithm is tolerant
of a modest amount of PC
reconfiguration, when a single
hardware component is replaced or
upgraded, the new machine
fingerprint may not disable the
license.
Reduce Administration Costs
Using this kind of host identifier
for PC-based licenses benefits
software vendors and their
customers; the end user need not
fret that some pending hardware
change will invalidate licenses for
critical software, necessitating an
interaction with their software
vendors' tech support. And the
ubiquity of a fingerprint will leave
end users at ease about having the
correct configuration to support
their vendors' choices for unique
hardware ID. Again, every PC has a
"fingerprint."
PC
Fingerprinting is new in RLM v6
As a leading vendor of licensing
technology, we've heard our
customers' and prospective
customers' requests for this kind of
fingerprinting technology. RLM v6,
currently in beta release, is to be
shipped around the end of calendar
year 2008. (see the
v6 new feature
list in the article below). It
will employ technology for uniquely
identifying PCs running either
Windows or Linux. Feel free to
contact us should you have any
questions about this forthcoming
technology addition to RLM. |
|
|
RLM Customer Story:

Kineo Computer Aided Motion "Kineo CAM"
is an independent software developer and
the leading provider of technology for
Automatic Motion and Path Planning,
KineoWorks (tm).
Kineo CAM's main market is PLM (Product
Lifecycle Management). Being focused on
the development of the most efficient
solutions, off the shelf software and
dedicated services, Kineo CAM addresses
a wide range of industries such as
automotive, aerospace, defense, medical
and handling equipments, nuclear power
plant construction and decommissioning,
etc.
Its portfolio of tools aims to serve the
most advanced uses of automatic path
planning for industrial needs such as
mounting and dismounting system
analysis, human tasks and robotic
feasibilities in constrained 3D
environments. Through its Motion and
Path Planning expertise, Kineo CAM
enables digital mock up users to save
money, shorten development time and
increase quality in Product Design
(validation of mechanical
mounting/dismounting) and Process
(simulation of operations in cluttered
3D environments) with off the shelf
software, commercial plug ins, standard
middleware libraries, customized
developments and customer consulting.
Licensing Challenges
One of the challenges Kineo CAM has been
facing is to have an efficient and safe
electronic license management solution
enabling the generation of node locked,
floating, perpetual, short term, trial,
demo and rental licenses.
Kineo CAM chose to migrate to the RLM
system because of the overall value that
Reprise Software was offering. RLM is
simple, stable, and it is priced
attractively. Reprise Software's support
and sales teams are very responsive.
Find
out more about Kineo CAM at
http://www.kineocam.com
|
Reprise License Manager v6 - Sneak Preview
Lots of cool new stuff in v6,
such as:
-
Detached Demo: n-day trial
license can be installed w/out internet
or activation, detached demo license
cannot be reinstalled on the same host.
Encourages users to share your product
trials with their friends. Users can
load-and-go without connection to the
Internet or calling in to your
support/sales staff to get a license.
Licenses expire n-days after install.
Does not expose your "private key" to
hacking. Follow the link to learn more
about
trial licensing best practices from
a previous newsletter.
-
Generic Server: Build RLM only on
the platforms on which you support your
products, but enjoy the freedom to
deploy the RLM license server on any
licensed RLM platform. Support RLM
license servers even on platforms that
you don't have in house. For example,
allow your customer to deploy the RLM
license server on Linux or Solaris, even
though you are a Windows-only shop.
-
UPGRADE: Upgrade all or a subset
of your customer's licenses to later
versions. Allows customers to pay for
upgrades on part or all of their license
inventory.
-
Minimum license checkout time:
Use for
short duration apps, encourages
customers to buy more licenses.
-
Java JNI: RLM Java support
expands to include Windows 64bit and
Linux.
Please feel free to
contact us should you have any questions
about this forthcoming technology addition
to RLM. RLM v6 was released into beta test
on November 26th, 2008. |
License Managers help to Maximize your
Recurring Revenue
Independent software companies are
increasingly relying on innovative
software licensing and pricing
strategies to create steadier revenue
streams. They are looking for smoother
and more predictable revenue growth to
make financial planning easier and to
increase business efficiency and to
maximize value to shareholders.
An essential tool to accomplish these
goals is a license manager. It can
enforce licensing policies that can
promote higher recurring revenue.
Recurring revenue comes from three main
sources:
- License subscription fees
- Annual support renewal fees
- Pay-per-use fees
Each of these can be addressed by a
license manager in several powerful
ways.
License
Subscriptions
Increasingly, software vendors are
offering both perpetual licenses and
license subscriptions. Usually an
annual term, subscription licenses
are priced so that they provide a
lower initial cost in order to
attract both new customers and those
customers who are trying to preserve
short term cash. Subscriptions often
seem less risky to customers too.
If the product doesn't live up to
expectations, then the customer has
only limited financial exposure.
Setting Prices
Prices for annual licenses, which
usually include support and update
services, are set at some fraction
of the perpetual license
alternative. Many companies aim for
a crossover point of 4 to 5 years
after which the costs for the annual
license begin to exceed the
perpetual license fee plus the
annual support costs.
The
License Manager's Role
Supporting the concept of term
licenses are license expiration
dates. These are hard-wired dates
encoded into the license that mark
the end of the term. Days before the
license expires, your software can
query the license to display a
reminder to the user that the
license is about to expire. This
technique improves customer
satisfaction because the user is
prepared for the renewal event. When
the customer signs up for another
term, new licenses specifying the
new expiration date can be sent to
replace the expiring license.
License managers check for customers
attempting to rollback the system
clock to gain extra time on the
license term.
Annual
Support Renewals
Software vendors who rely primarily
on perpetual licenses need to
maximize support renewal rates to
build their recurring revenue
stream. Support payments provide
your customers not only with access
to technical assistance from your
staff, but they also determine which
releases they are entitled to run.
Customers are encouraged to renew
their support agreements when
license managers restrict access to
desirable new releases. License
managers have two ways to enforce
access policy: version numbers and
release dates.
Version Numbers
All licenses encode a version number
into the key. The version number
specifies the highest version that
the license will support. So for
example, if the version number is
specified as "5.3" in the license,
then requests for version "5.3" and
lower will be granted. A request for
a version "5.4" or higher license
would denied. The denial event
presents an opportunity to remind
the customer that access to that
version requires a new license
obtained only via a support contract
extension.
Release Dates - "Born on Dating"
Perhaps a more flexible approach is
not to encode a version number in
the license at all, but instead to
encode a "maximum release date."
This date represents the maintenance
coverage period. In other words, it
specifies the latest software
release date that can be supported
by this license. Of course,
applications must be programmed to
request licenses consistent with the
"born on date" of its release.
Let's look at an example.
A
"Release Date" Scenario
Suppose a customer buys a product
license today (December 2008) for
the current release (previously
released June 2008) and signs up for
one year of support. You would
create a perpetual (permanent)
license for this customer, but you
would encode "2009.12" in the
version field of the license to
represent the maintenance contract
expiration date in the format "YYYY.MM".
This license would provide perpetual
access to the current release and
any future version that is released
before the end of December 2009.
License requests for releases after
that date would be denied, again
presenting an opportunity to remind
the customer that access to that
version requires a new license
obtained only via a support contract
extension.
Partial Version Upgrades
Regardless of whether you use
conventional version numbers or
version dates, you can
upgrade
licenses in the field using a
special license type for your
products - an UPGRADE license. This
allows you to upgrade some or all
installed licenses at a customer
site. So, when customers decide to
upgrade, they can do so on a few
licenses at a time, without
affecting the total number of
licenses available.
Pay Per
Use Pricing and Post-Use-Billing
Some software vendors are offering
yet another payment approach - pay
per use or post-use billing. What
better way to stabilize your revenue
stream than by charging based on
actual usage.
License managers produce detailed
report logs of license activity,
recording data such as: product
name, number of licenses granted,
user name, host name, and duration.
With this information, you can
periodically produce invoices that
reflect your customers actual use.
Popular license managers, like RLM,
write the log in plain text so that
it can examined directly. Also, the
log is authenticated to ensure data
integrity, and is "anonymized" to
address potential privacy concerns.
You can test out various scenarios
with this free report writer
available
here.
|
|
|