User Tools

Site Tools


id_licencemanagement_dev

This is an old revision of the document!


Lizenzmanagementsystem

Wir verwenden ein System bestehend aus Lizenzschlüssel und einer serverbasierten Aktivierung/Deaktivierung der Software (Lizenzserver). Das System ist eine Eigenentwicklung. Auf Drittanbieter greifen wir nicht zurück.


Arten von Lizenzen

  • [Jr] Zeitraum in der das Tool genutzt werden kann (nach Erst-Anmeldung): Jahreslizenz (1)/ Mehrjahreslizenz (2,3,4,5,10, inf)
  • [PC] Anzahl nutzbarer PCs: Einzellizenzen (1 PC) / Clusterlizenzen [Volumenlizenz] (10,20,50,100 PC)

Beschreibung von Lizenz als 2-Tupel: L([Jr],[PC])

  • Beispiel L(1,1) .. 1 Jahr Nutzung für 1 PC
  • Beispiel L(5,100)..5 Jahre Nutzung für bis zu 100 PCs gleichzeitig
  • Beispiel L(inf,50)..unbefristete Nutzung für bis zu 50 PCs gleichzeitig

Weiterhin wäre es “nice to have” Abonnement-Lizenzen und Plug-In-Lizenzen anbieten zu können


Anforderungsmanagement für Lizenzen:

A) Keine Lizenzfähigen Kopien

Kopien von Installer oder der Software selbst dürfen auf neuen System nicht Lizenzfähigkein

B) Produktivität bei der Vertriebprodukteerstellung

Jede Software die Vetrieben werden soll, sollte nicht jedes mal extra kompiliert werden müssen

C) keine Crackbarkeit

austauschen von Komponenten (wie *.dlls) odr einzelnen Dateien sollte nicht dazuführen, dass eine Softwareversion auf anderen Systemen weitergenutzt werden kann.

D) Produktangebotspflege

Beides: Sowohl Einzelsoftware (Kontainer) Vertrieb als auch der liensierbare Vertrieb einzelner Software (KategorienVertrieb) sollte möglich sein

E) Multi OS Fähigkeit

Mehrere Betriebssystem sollten potentiell unterstützbar sein, min. aber Linux und Windows


Struktur der Lizenskeys:

Ein Lizenzkey/Lizenzschlüsel besteht aus einem 5 stelligen Produktkey und einem 25 stelligen Zufallskey: - entgegen dem Bild sind generell positive ganze arabische zahlen und latainische Großbuchstaben zur Verwendung im Key zugelassen.

Der Produkkeyanteil codiert um welches Produkt es sich hier handelt, wodurch wir pot. besser auf Anfragen im Service reagieren können, un auch besser Produktstatistiken aus unseren Lizenzdatenbanken zur Auswertung generieren können.


Aktuelle Productkeys:

1AJS2 = VSE 2.1 Lite for WINDOWS Lizenz: 1 Client, 1Jahr=12 Monaten

1AJS3 = VSE 2.1 Lite for WINDOWS Lizenz: 10 Clients, 1Jahr=12 Monaten

1AJS4 = VSE 2.1 Lite for WINDOWS Lizenz: 50 Clients, 1Jahr=12 Monaten

1BJS2 = VSE 2.1 Basic for WINDOWS Lizenz: 1 Client, 1Jahr=12 Monaten

1BJS3 = VSE 2.1 Basic for WINDOWS Lizenz: 10 Clients, 1Jahr=12 Monaten

1BJS4 = VSE 2.1 Basic for WINDOWS Lizenz: 50 Clients, 1Jahr=12 Monaten

1CJS2 = VSE 2.1 Pro for WINDOWS Lizenz: 1 Client, 1Jahr=12 Monaten

1CJS3 = VSE 2.1 Pro for WINDOWS Lizenz: 10 Clients, 1Jahr=12 Monaten

1CJS4 = VSE 2.1 Pro for WINDOWS Lizenz: 50 Clients, 1Jahr=12 Monaten


Lizenzprozess Ablauf

Hardware ID (HWID) HWID in “rlenit.ky”

→ Software + Lizenzschlüssel Verkaufen/Vetreiben = Erfüllt (E) und teilweise (D)

→ Aktivieren der Software:

  1. Frontend: Eingabe Lizenzschlüssel (Lizenzschlüssel nach erfolgreicher Aktivierung per Hilfe anzeigen lassen können)
  2. - Nach Eingabe wird getestet ob Internetverbindung besteht (Keine Internet besteht bei Anfrage an eine falsche LizenzserverIP, kein Internet besteht wenn kein Netzwerk beim Client vorhanden ist, Internet besteht wenn Netzwerk da ist UND eine korrekte IP von einem unserer Lizenzserver verwendet wird. Hinweis: hierbei ist bei reinen domain-web adrressen, wenn kein IPS verwednet werden, nur die Toplevel-Domain zur Prüfung relevant .. also www.test.de gäbe die selbe Netzverfügbarkeitsantwort wie www.aber.aber.test.de)
  3. – Besteht kein Internet wird ein entsprechender Hinweis Dialog ausgespielt und dr Aktivierungsprozess abgebrochen
  4. – Besteht Internet geht es weiter mit “Backend”
  1. Backend: Es wird eine Aktivierungsanfrage and den REST Web-Service gestellt, ist der Liznezkey korrekt trägt ihn der Web-Service in die Datenbank ein und sendet eine entsprechende Response im JSON format and die Software. Die Software wird aktiviert, der Lizenzschlüssel selbst wird ungültig/belegt. Insgesamt erfüllt dieser Prozss die Anforderungen (A),(B),(C)

→ Zur Laufzeit der Software:

  1. Sessionstart: Anfrage an Server

Datenbankschema “VSELicenseDB” :


MySQL Datenbank Scripte:

- Anlegen der Datenbank (10.4.2018):

SHOW DATABASES;

CREATE DATABASE IF NOT EXISTS `VSELicenseDB`;

USE `VSELicenseDB`;

CREATE TABLE IF NOT EXISTS `ValidProductKeys` ( `id` BIGINT(11) unsigned NOT NULL auto_increment, `allowedProductKeys` CHAR(30) , `allowedTimePeriod` BIGINT(11) unsigned NOT NULL default '2' , `numberofallowedClients` BIGINT(11) unsigned NOT NULL default '2' , `numberofusedClients` BIGINT(11) unsigned NOT NULL default '0' , `allowedProductKeys` CHAR(30), `Product` CHAR(200) NOT NULL, `Status` BIGINT(11) unsigned NOT NULL default '1', `TimeofFirstActivation` TIMESTAMP default NULL, PRIMARY KEY (`id`) );

CREATE TABLE IF NOT EXISTS `EvidenceofValidProductKeys` ( `id` BIGINT(11) unsigned NOT NULL auto_increment, `EvidenceofallowedProductKeys` CHAR(30) , `EvidenceofallowedTimePeriod` BIGINT(11) default '2' , PRIMARY KEY (`id`) );

CREATE TABLE IF NOT EXISTS `Productkeysbeingused` ( `id` BIGINT(20) unsigned NOT NULL auto_increment, `ProductKeyinuse` CHAR(30), `TimeofFirstActivation` TIMESTAMP, `TimeofLastActivation` TIMESTAMP, `numberofactivations` BIGINT(20), `HardwareCode` CHAR(100) default '0', `IP` CHAR(30) default '0', `SendMessage` BIGINT(20) default '0', PRIMARY KEY (`id`) );

CREATE TABLE IF NOT EXISTS `Messages` ( `id_message` int(20) unsigned NOT NULL auto_increment, `message_de` TEXT, `message_en` TEXT, `message_es` TEXT, `message_ru` TEXT, `message_he` TEXT, PRIMARY KEY (`id_message`) );

SHOW TABLES;

id_licencemanagement_dev.1526937371.txt.gz · Last modified: 2018/05/21 23:16 by 88.72.45.99