Kategorien: Software-Lizenzierung
Push Updates für einfache Lizenzauslieferung
CodeMeter kann für Universal Firm Codes ab Version 6.70 modifizierte Context-Dateien (*.WibuCmRaM) erzeugen und Update-Dateien (*.WibuCmRaU) zusammenfassen. Dies klingt recht unspektakulär, gehört aber zu den Top-Features, wenn es um den einfachen Einsatz von CodeMeter in der Praxis geht. Mittels dieser unscheinbaren Funktion wurden in CodeMeter License Central zwei Anwendungsfälle abgebildet: Die Auslieferung von Lizenzen ohne eine erneute Context-Datei (*.WibuCmRaC) vom Anwender und das Ausliefern von Lizenzen im Falle einer alten Context-Datei.
Grundprinzip des Lizenzupdates
Vor wenigen Wochen saß ich bei einem Medizingeräte-Hersteller, der noch kein CodeMeter einsetzt. Die aktuelle Lösung sieht dort so aus, dass der Anwender, also der Kunde des Herstellers, beim Kauf von neuen Funktionen jeweils einen extra USB-Dongle zugeschickt bekommt. Kauft ein Anwender zwei Funktionen, dann erhält er zwei Dongles. Für jede weitere Funktion erhält er einen weiteren Dongle, auch wenn er mehrere Funktionen auf einmal kauft.
Dies ist natürlich einfach für die SAP-Abwicklung, da man die vorprogrammierten Dongles einfach liefern kann; es lässt sich aber nicht auf viele Funktionen skalieren, hat eine lange Lieferzeit und fühlt sich nicht modern an. Allerdings sind die Geräte des Herstellers nicht alle im Internet, so dass eine Cloud-Lizenzierung eigentlich nicht in Frage kommt.
CodeMeter bietet schon von Anfang an eine Fernprogrammierfunktion, die auf den Austausch von Dateien basiert. Die eigentlichen Lizenzen befinden sich im CmDongle oder in einer softwarebasierten CmActLicense beim Anwender und können ohne Verbindung zum Internet verwendet werden. Für eine Änderung von Lizenzen wird eine Context-Datei vom Anwender zu Ihnen als Hersteller übertragen. Sie erzeugen eine Update-Datei und schicken diese zurück. Diese Datei kann auch offline übertragen werden. Sie ändert oder entfernt bestehende Lizenzen oder fügt neue Lizenzen hinzu – genauso, wie Sie es definiert haben.
Aber immer nur einmal
Update-Dateien sind differenzielle Updates, d.h. sie bauen aufeinander auf. Somit ist erforderlich, dass alle Updates lückenlos und in der richtigen Reihenfolge angewendet werden. Zwei Sicherheitsfeatures sind noch besonders zu erwähnen: Eine Update-Datei kann nur auf dem PC oder in den CmDongle eingespielt werden, von dem die Anfrage kam. Und eine Update-Datei kann immer nur einmal eingespielt werden. Dies ist vor allem für additive Updates unerlässlich. Sonst könnte der Anwender ja das gleiche Update mehrfach anwenden und so Zähler unautorisiert hochsetzen. Aus diesen beiden Sicherheitsfeatures folgt die Notwendigkeit, jeweils auf einer aktuellen Context-Datei aufzusetzen, die der Anwender an Sie als Hersteller schickt; zumindest vor CodeMeter 6.70.
Online – Offline im Mix
Mit CodeMeter License Central steht Ihnen ein cloudbasiertes System zur Verfügung, mit dem Sie Ihre Lizenzen einfach erstellen, ausliefern und verwalten. Ihr Anwender erhält von Ihnen ein Ticket. Dieses gibt er entweder in Ihrer Software oder einem Lizenzportal, zum Beispiel WebDepot, ein. Wenn der Anwender online ist, wird die Context-Datei automatisch erzeugt und an CodeMeter License Central geschickt. CodeMeter License Central erstellt die Update-Datei mit den Lizenzen, die Sie bei der Erstellung des Tickets definiert haben und sendet diese an die Software oder das Lizenzportal zurück. Dort wird das Update importiert und noch eine neue Context-Datei als Quittung an CodeMeter License Central geschickt.
Zurück zu dem Hersteller, der CodeMeter noch nicht auf seinen Geräten einsetzt. Das Online-Verfahren über die cloudbasierte CodeMeter License Central würde eine einfache Übertragung von Lizenzen für Online-Geräte ermöglichen. Doch was ist mit den Geräten, die offline sind? Hier bietet WebDepot die Möglichkeit, die Context-Datei hochzuladen und die korrespondierende Update-Datei herunterzuladen. Die Quittung als dritter und optionaler Schritt kann in den meisten Fällen entfallen. Allerdings erschien dem Hersteller dieser Weg immer noch zu umständlich für seine Anwender. Schauen wir uns in den nächsten Abschnitten an, wie man dies noch weiter vereinfachen kann.
Vor dem ersten Update
Am Anfang steht immer eine Lieferung von Ihnen als Software- oder Hardwarehersteller an Ihren Anwender. In der Regel ist dies mit dem Kauf einer Hardware oder einer Lizenz verbunden, aber auch Lieferungen als Teststellungen sind möglich. Hier sind prinzipiell drei Szenarien geläufig:
- Sie liefern eine eigene Hardware aus. Auf der Hardware ist bereits eine Initialkonfiguration von Lizenzen vorhanden. Dies können Evaluationslizenzen sein, eine Basisversion oder einfach nur ein leerer Lizenzcontainer in Form einer rein softwarebasierten CmActLicense oder eines hardwarebasierten CmDongles.
- Sie liefern einen CmDongle mit bereits programmierten Lizenzen an Ihren Anwender aus.
- Sie liefern ein Ticket über CodeMeter License Central und der Anwender kann dieses auf einen von ihm gewünschten Rechner als CmActLicense oder in einen bereits vorhandenen CmDongle (Multi-Hersteller-Funktion) übertragen.
In den ersten beiden Fällen haben Sie als Hersteller den CmContainer in der Hand, bevor Sie diesen ausliefern. Somit wäre es ein leichtes, die passende Context-Datei dieses CmContainers zu speichern.
Für den dritten Fall, die Aktivierung auf einen neuen Rechners des Anwenders bzw. in einen bereits vorhandenen CmDongle, ist es akzeptierte Praxis, dass der Anwender eine Art Fingerabdruck von PC oder Dongle an Sie als Hersteller schicken muss, um die Lizenz zu erhalten.
Das erste Update
Nach der ersten Erstellung der initialen Lizenzen haben Sie sich die Context-Datei gespeichert. Diese können Sie nun für das erste Update verwenden. In diesem Fall entfällt das Schicken der neuen Datei durch den Anwender und Sie liefern das erste Update im Push-Verfahren aus. Der Anwender oder Sie als Hersteller wählen lediglich die Seriennummer des CmContainers aus, in den die Lizenzen übertragen werden sollen.
CodeMeter License Central übernimmt diesen Job übrigens ganz automatisch für Sie. Sie speichert Context-Dateien sowie Update-Dateien und verwaltet, welcher Anwender welchen CmContainer besitzt.
Das zweite und alle folgenden Updates
Und hier sind wir bei des Pudels Kern angelangt. Für das folgende Update benötigen wir eine neue Context-Datei, die wir aber nicht haben. Jetzt betritt die modifizierte Context-Datei als edler Retter die Bühne. Bereits im vorherigen Schritt, beim Erstellen des ersten Updates, hat CodeMeter neben der Update-Datei auch eine modifizierte Context-Datei erzeugt. Diese entspricht der nächsten Context-Datei, die der Anwender Ihnen schicken würde. Diese können wir nun verwenden und erstellen ein Push Update für den Anwender, ohne dass er uns etwas schicken musste. Dabei wird wieder eine neue modifizierte Context-Datei erzeugt, die wir dann für das nächste Update verwenden.
CodeMeter License Central ab Version 3.21 erledigt dies automatisch für Sie. Unter „Push Update“ wählen Sie die Seriennummer des CmContainers des gewünschten Kunden und laden die Update-Datei herunter. Auf Wunsch kann diese Funktion auch in Ihr Lizenzportal integriert werden, so dass dies der Anwender selber durchführen kann.
Update vergessen?
Doch halt! Was passiert, wenn der Anwender vergisst, ein Update einzuspielen oder dieses bei ihm gar nicht ankommt? Dafür gibt es das Zusammenfügen der Update-Dateien. CodeMeter License Central weiß, welche Updates durch eine Context-Datei bestätigt wurden. Dabei kann die Bestätigung als separate Quittung erfolgt sein oder automatisch bei einer neuen Anfrage. Alle nicht bestätigten Updates für diesen CmContainer werden dann automatisch in die letzte Update-Datei integriert. Und jetzt kommt das Beste: CodeMeter Runtime erkennt automatisch, welche Updates schon eingespielt sind und überspringt diese. Nach dem letzten Update ist der Anwender immer wieder auf dem aktuellen Stand, egal was vorher passiert oder eben nicht passiert ist.
Alles automatisch
Damit ist die Auslieferung für den oben genannten Medizingeräte-Hersteller nun genauso einfach wie früher mit dem einfachen Dongle. Er liefert die Update-Datei aus, die auf dem Gerät des Kunden alles zusammenführt. Aber der Anwender benötigt nun nur noch einen Dongle oder bei einer CmActLicense sogar keinen Dongle mehr. Und die Auslieferung erfolgt sofort.
Aber eine Frage war noch offen: „Wenn wir auch den Standardweg verwenden und ein Anwender mit einer Context-Datei kommt, er aber aus Versehen eine alte Datei gewählt hat. Was passiert dann?“ Meine Antwort war einfach: „Automatisch das, was Sie erwarten.“ Und die ausführliche Antwort ist: „CodeMeter License Central erkennt an einem Zustandszähler, dem Firm Update Counter, dass eine alte Datei verwendet wurde. Alle älteren Updates werden, falls noch nicht geschehen, automatisch quittiert. Dann wird die aktuelle modifizierte Context-Datei verwendet und das Update erstellt. Alle offenen, nicht quittierten Updates werden dann zu der Update-Datei hinzugefügt.“
Lizenzen zurückgeben
In bester Columbo-Art kam dann die allerletzte Frage: „Kann man per Push Update auch Lizenzen zurückgeben?“ Ich konterte mit der Gegenfrage: „Sie als Hersteller oder Ihre Kunden?“ Natürlich sind beide Anwendungsfälle möglich.
Der Anwender kann eine Lizenz zurückgeben, weil er diese in der Regel auf ein anderes Gerät umziehen möchte. Die Rückgabe funktioniert per Push Update. Danach wird einmal eine neue Context-Datei benötigt, um die Rückgabe zu bestätigen. Die nächste Aktivierung auf einem neuen Gerät erfolgt wieder per Push Update.
Als Hersteller können Sie Lizenzen zurückrufen. Ein Rückruf kann ebenfalls als Push Update ausgeliefert werden. Um sicher zu sein, dass der Rückruf erfolgte, können Sie sich eine Context-Datei als Quittung schicken lassen. Selbst wenn Sie diese nicht erhalten, kann der Anwender diesen Rückruf nicht einfach überspringen. Beim nächsten Lizenzupdate im gleichen CmContainer wird der Rückruf automatisch auch ausgeführt. Gerade bei Abo-Modellen und Verbrauchslizenzen ist es für den Anwender dann praktisch unmöglich, den Rückruf nicht einzuspielen.
Fazit
Push Updates vereinfachen die Auslieferung von Lizenzen vor allem im Offline-Fall. Und CodeMeter License Central sorgt dafür, dass der Anwender immer den aktuellen Zustand erhält, auch wenn er zwischendurch Updates nicht eingespielt hat. Als Hersteller können Sie sich so wie der Medizingeräte-Hersteller entspannt zurücklehnen und auf die Automatismen von CodeMeter verlassen.
KEYnote 36 – Herbstausgabe 2018