Before the First Update
It all begins with your delivery of software or
hardware to your user. This normally goes with
the purchase of a device or a license, but it
could also be done for trial purchases. We can
imagine three common scenarios:
1. You deliver your own hardware with an ini-
tial configuration of the required licenses,
either a demo license, a basic version, or
even just an empty container. The contain-
er can come in the form of a CmActLicense
or a CmDongle.
2. You deliver a CmDongle with a preconfig-
ured license for your user.
3. You send your user a ticket via CodeMeter
License Central, which he can use for a
CmActLicense or existing CmDongle (with
multi-vendor capabilities) on his target
device.
In the first two cases, you have the CmContain-
er with you before its delivery. This is an ideal
opportunity to save a matching Context File
for each container.
In the last case – the activation on a new
device or in an already active CmDongle – the
established process would have the user send
a fingerprint of this device or dongle to you to
get the license in return.
From version 3.21, CodeMeter License Central
does all of this automatically for you. You
select the serial number of the CmContainer
under ‘Push Update’ and download the
Update File, or you integrate the same func-
tion in your license portal for your users to do
this themselves.
Missed an Update?
But wait! What happens if a user forgets to
install an update, or if the update never arrived
in the first place? No need to worry: Update
Files are made to join up. CodeMeter License
Central knows exactly which updates were
initiated with a Context File by being notified
either by a separate receipt or automatically
with the new update. Any update that was
not confirmed yet is automatically integrated
into the newest Update File for the CmCon-
tainer in question. And now for the best part:
CodeMeter Runtime will automatically detect
which updates have already been installed
and skips them. After the new update, the user
will be up to speed with whatever happened
or did not happen before.
Everything Automatic
This makes the entire process just as easy for
our medical device maker as it used to be with
Returning Licenses
Our medical device ISV had one last question
in store: “Can you return licenses via push
update as well?” I had to ask a counter-ques-
tion, even though I already knew the answer:
“You mean if your users are returning, or you
are withdrawing the license?” Of course, both
works just as well.
The user will typically return licenses e.g. in
order to move to another device. This can then
also be done by push update. A new Context
File is needed once to confirm the returned
license, and the next activation on the next
device can again work by push update.
As an ISV, you can also withdraw licenses,
which can again be done by push update. If
you want to make sure that the recall worked,
you can request a receipt in the form of a
Context File, but even if you never received
the receipt, the user could not skip the push
update with the license withdrawal: It will be
enforced automatically with the next license
update for the CmContainer in question. It is
virtually impossible for users to go into hiding
and avoid withdrawals, which is helpful
for subscription or pay-per-use licenses, in
particular.
The Very First Update
After the initial license has been created, you
kept a Context File, which you can now use for
the first update. In this case, the user does not
have to send in the new file, and you deliver
the first update by push update instead. Either
you or your user simply selects the serial
number of the CmContainer that the licenses
should go into.
CodeMeter License Central automates this job
for you, saving Context Files and Update Files
and managing which user goes with which
CmContainer.
The Second and All Other
Updates
This is the crux of the matter: We would need
a new Context File for the next update, which
we don’t have. Enter the Modified Context
File as the hero of our story: CodeMeter
creates a Modified Context File alongside the
Update File in the last step. This is the stand-
in for the Context File that the user would
normally send you, and you can use it now
to create push updates for your users without
needing anything in return from them. With
each update, a new Modified Context File is
created for the next update.
simple dongles. The manufacturer only needs
to distribute the Update File that gets every-
thing in order on the client’s machine by itself.
All the user needs is a dongle or, in the case
of CmActLicenses, not even that. Everything is
delivered instantly.
One question remains: “What happens if we
use the standard path, and a user picks an
old Context File by mistake?” Short answer:
“It doesn‘t matter, the update will be handled
properly.” Longer answer: “CodeMeter License
Central has a state counter, the so-called Firm
Update Counter, that recognizes that an old
file was selected. If it has not happened yet,
the process automatically checks off all older
updates. The current Modified Context File is
then selected, and the update created, with all
remaining updates included in the Update File.”
Conclusions
With push updates, distributing licenses is
easy work, especially for offline scenarios.
CodeMeter License Central makes sure that
the user will always be up to date, even if he
skipped some updates in between. Just like
our medical device maker, you – the ISV – can
sit back and rely on the automatic features of
CodeMeter to do the heavy work for you.
7