White Paper
Past Solutions
One response to these challenges was equipping software with the means to identify virtual machines and
terminal servers. When such an unwanted environment was identified, the software would cease to work with an
error message to that effect.
Application
Virtual hardware
Virtual hardware
Connected local device
Virtualization software
Guest
Application
Guest
Guest
operating system
Guest
Guest
operating system
Connected local device
Host
Terminal Server Software
Host operating system
Real hardware
Operating system
Real hardware
Server
Application
Application
Guest
Image 4:
Outdated
approaches
This solution can be considered unsuitable for today’s world: it dries out an important revenue stream, as it cuts
your business off from the entire virtual world. Every computer with remote desktop access is, by its nature, a
terminal server and could therefore not operate your software. This is made worse by the effort required for
integrating and maintaining the identification functionalities.
The solution revolved around the question of “where is the software running?” However, the question should
instead be “where is the license?” This is the CodeMeter principle that offers you a generic, versatile, and
automatically usable solution.
A Modern Solution: CodeMeter
The core element of the CodeMeter architecture is the CodeMeter Runtime Service (CodeMeter.exe). The
CodeMeter Runtime Service is a service (Windows) or daemon (Linux and OS X) that you install on the user’s
machine alongside your software. The installation of the CodeMeter Runtime Service can happen as an invisible
part of your software installation process. The CodeMeter Runtime Service is available for Windows, Linux, and
OS X.
The CodeMeter Runtime Service organizes all connected CmDongles and all available CmActLicenses and provides
the licenses for your software.
Image 5:
CodeMeter
in a network
environment
Software
CodeMeter Runtime Service
Dongle
License file
Cloud license
Network license server
6
CodeMeter Runtime Service
Network client